این ماه نسبتاً تنش کمتری تجربه کردم و در کل بهتر از ماه قبل بود. البته به شخصه زیاد راضی نبودم؛ چون نتونستم چندان متمرکز باشم.

ماه پیش چند نفر از دوستانی که اینجا رو خونده بودند، در خصوصی و عمومی بهم پیشنهاد دادند که من رو ریفر (Refer) کنند. راستش پتانسیل‌های وبلاگ رو دسته‌کم گرفته بودم.

اینجا لازمه از دوستانی که به من لطف داشتند و دارند، تشکر کنم. من فعلا با یک شرکتی هماهنگ کردم و قراره از چند روز دیگه مشغول به کار بشم.

دفاع

ماه پیش امیدوار بودم که تا آخر این ماه دفاع کنم و خوشبختانه در تاریخ ۲۵ خرداد دفاع ارشد رو (بصورت مجازی) انجام دادم.

برای پایان‌نامه یک کامنت رو مکرراً از افراد مختلف گرفتم که برام جالب بود. گفتند که محاوره‌ای پایان‌نامه رو نوشتی.

بعد فهمیدم منظورشون این بوده که افعال پایان‌نامه نباید معلوم باشند. همه افعال باید مجهول باشند. اینه که کل متن رو بازنویسی کردم ولی باز گفتند که متن‌ات خیلی رسمی نیست.

یک راه‌حل این بود که متن رو بیش‌ازحد پیچیده کنم یا پاراگراف‌ها رو بسیار طولانی کنم، که نفهمند چی نوشتم و حوصله‌شون سر بره. ولی این کار رو نکردم. کاری که به نظر من بعضی مقالات انجام میدن. طرف هیچ‌کاری نکرده و برای این که معلوم نشه هیچ‌کاری نکرده، لقمه رو ده دور، اطراف سر می‌چرخونه و آخرش هم نمیشه فهمید دقیقاً کارش چی بوده.

راستش خوشحالم که از دانشگاه و دنیای دانشگاهی خلاص شدم.

یک چیزی که بعد از دفاع ارشد برام پیش اومد و جالب بود، این بود که من پنج‌شنبه ساعت ۱۳:۳۰ دفاع کردم. شب وارد سامانه Dining شدم که غذا برای هفته بعد رزرو کنم. سامانه گفت که «دانشجویی با این مشخصات در سامانه وجود ندارد». گفتم دست شما درد نکنه.

جالبه. تو سیستمی که برای فارغ‌التحصیلی ماه‌ها طول می‌کشه تا یک کارمند دانشگاه فلان فرم رو تأیید کنه، دسترسی به سامانه تغذیه به سرعت قطع می‌شه. کاش بقیه سامانه‌های کشور (یا حداقل دانشگاه‌) هم مثل سامانه تغذیه سریع بود.

در کل مطالب زیادی راجع به ساختار سیستم دانشگاهی و نکات بقا (!) در اون یاد گرفتم. تصمیم دارم در آینده نزدیک در چند پست مجزا راجع به این تجربیات بنویسم. این تجربیات برای «امیر گذشته» هست. یک عالمه تصورات اشتباه از دنیای دانشگاهی داشتم که شاید بهتر باشه مکتوب‌شون کنم. یک سری نکته هم در مورد اپلای تحصیلی هست که گفتن‌اش کمک می‌کنه.

ولی نمی‌خوام تم اصلی وبلاگم این‌ها باشه. بعد نوشتن اون پست‌ها احتمالا دیگه هرگز راجع به این مسائل نخواهم نوشت و سعی می‌کنم بیشتر راجع به هوش مصنوعی و دغدغه‌های شخصیم بنویسم.

فیدبک (Feedback)

یاد گرفتم که آدمیزاد از فیدبک‌گرفتن خوشش نمیاد. اگر هم سوالی می‌پرسه برای این هست که تأیید بشه، نه این که فیدبک واقعی بگیره.

مثلا یک جا مصاحبه رفتم و بعداً به دلایلی گفتم که باهاشون نمی‌تونم ادامه بدم. گفتند چرا؟‌ من هم رک و پوست‌کنده علت رو بهشون گفتم. بعداً فهمیدم که از حرفم ناراحت شدند.

البته منم کلی‌گویی بلدم. خیلی هم خوب بلدم. ولی فکر می‌کردم وقتی سؤال می‌پرسند، می‌خوان واقعا فیدبک بگیرند. نه که الکی یه چیزی بپرونم. یا این‌که کلی‌گویی بی‌خود و بی‌جهت بکنم.

کلا اگر بخوام خودم رو توصیف کنم یکی از بارزترین ویژگی‌هام همین «رک‌بودن» هست.

یخ‌شکن‌ها

اهلیت (قومیت)

این ماه برای تعمیرات خانه‌ای که جدیداً داخلش مستقر شدم، با افراد متعددی سروکله زدم. از کابینت‌ساز و لوله‌کش تا برق‌کش و صاحب‌خونه.

بالاخره محیط این‌طوری بود که ببینم آیا می‌تونم با بقیه افراد - که هیچ درک و شناختی از هم نداریم - سر صحبت رو باز کنم یا نه؟

حداقل خودم این‌طوری هستم که هیچ‌ مشکلی با این ندارم که در مورد مسائل فنی مربوط به کارم ساعت‌ها صحبت کنم؛ ولی مگر با چند نفر میشه در مورد Deep Learning صحبت کرد؟

این‌جا برام مسئله بود که چطوری سر صحبت رو باز کنم. ساده‌ترین جواب به این مسئله آب‌وهوا هست که برای من جواب نداده. بحث‌های در مورد آب‌وهوا نهایتا تو دو یا سه جمله تموم میشن.

فهمیدم یکی از بهترین یخ‌شکن‌ها برای این‌طور مواقع صحبت در مورد اهلیت هست. مخصوصا تو تهران که جمعیت متنوعی داره و خیلی‌ها - مثل من - از شهرهای دیگه اومدند.

راستش من همیشه نگاهم به بحث اهلیت یا قومیت این بود که این‌ استریوتایپ هست. الان هم همچین فکری می‌کنم. این‌ نوع تعمیم‌ها - اگر هم درست باشه - بیشتر برای نسل قدیمی درسته که اکثر ارتباطات‌شون عمودی بود.

تو اون شرایط محیط اطراف فرزند رو پدر و مادر و شاید دوستان مدرسه شکل می‌دادند. احتمالاً تو این شرایط ارزش‌های مردم یک شهر یا محله، اشتراکات مهمی داشتند؛ مثلا احتمالاً اشتباه نبود اگر می‌گفتیم که یزدی‌ها مردم قانع یا صرفه‌جو یا مذهبی‌ای هستند.

ولی نسل الان ارتباطات افقی داره. نسل الان بیشتر از این که با پدر و مادرش ارتباط داشته باشه، با ایسنتاگرام و یوتیوب ارتباط داره. نسل الآن از افرادی ارزش‌های زندگیش رو یاد می‌گیره که هزاران فرسنگ باهاش فاصله دارن.

ولی هیچ‌کدوم از این‌ها مهم نیست! اصلاً مهم‌ نیست که این بحث هیچ‌ پایه علمی‌ای نداره. اصلاً مهم‌ نیست که شیرازی یا یزدی‌بودن لزوماً هیچ اطلاعاتی به من نمیده.

مهم اینه که آدم بتونه با بقیه ارتباط برقرار کنه و حرف بزنه. شاید اصلاً موضوع حرف به چیزهای جالب‌تری هم رسید. وقتی یخ آدم شکست، بعدا میشه در مورد مسائل علمی‌تر و مهم‌تر هم حرف‌ زد.

حتی قبلاً این موضوع برام عجیب بود که چرا وقتی داخل یزد تو تاکسی می‌شینم، ازم می‌پرسند که «بچه چه محله‌ای هستی؟». الان می‌فهمم اون هم تلاشی - شاید ناخودآگاه - برای ارتباط گرفتن هست.

وگرنه آدم‌ها خودشون هم می‌دونند که همچین تعمیم‌هایی اکثرا نادرست هست و تهش هم اگر دیدند اوضاع داره بد پیش میره، میگن «ولی همه‌جا خوب و بد داره.» و قضیه رو جمع‌اش می‌کنند.

بازی

از سوء‌استفاده از استریوتایپ‌های موجود که بگذریم، فهمیدم بازی روش خیلی خوبی برای شناخت بقیه است. تو بازی انگار درونی‌ترین خواسته‌های افراد - که ممکنه حتی خودشون ندونند - هم مشخص میشه.

برای بازی من فقط یک محدودیت دارم. بازی باید ترکیبی از شانس و تلاش باشه (ترجیحا بصورت مساوی).

مثلا بازی منچ رو دوست ندارم و هیچ وقت بازی نمی‌کنم چون به نظرم هیچ‌ کنترلی روی بازی ندارم. از طرفی بازی‌های کاملاً الگوریتمی رو هم دوست ندارم. حتی قبلاً زمانی سودوکو حل می‌کردم ولی دیدم خیلی الگوریتمی دارم فکر می‌کنم. این بود که یک بار یک الگوریتم backtrack رو براش نوشتم و گذاشتم داخل گیت‌هاب. از اون زمان دیگه سودوکو حل نکردم؛ چون می‌دونم کدی که نوشتم می‌تونه هر سودوکویی رو حل کنه.

بهتر سؤال‌پرسدن

دیگه این که فهمیدم باید بهتر سؤال بپرسم و ترجیحاً جایی که اپلیکیشن وجود داره، به افراد و شرکت‌ها اعتماد نکنم.

مشکلی که برام پیش اومد این بود که با یک شرکتی صحبت کردیم بابت هزینه جا‌به‌جایی اسباب منزل. گفت هزینه خاور تا سه ساعت A ریال میشه. اسباب سنگین هم B ریال. نفری هم C ریال. یه حساب سرانگشتی کردم و گفتم چه خوب. ماشین بفرستید بیاد.

بعد که خواستیم حساب کنیم گفت: «مگر عرف بازار رو نمی‌دونی؟ منظورم این بوده که هزینه خاور به ازای هر ساعت A ریال میشه. طبقه سنگین هم منظورم این بوده که هر نفری به ازای هر طبقه B ریال میگیره و هزینه فرد هم ساعتی C ریال». آخرش هم تقریباً ۶ برابر مبلغی که در ابتدا توافق کرده‌بودیم، پرداخت کردم. این‌طور که فهمیدم مبلغی که پرداخت کردم، تقریباً دو برابر مبلغ عرف برای اسباب‌کشی بود.

این‌جا دو تا اشکال هست. اولاً اشکال از منه که بد سؤال پرسیدم و البته چند جا بصورت مستقل تحقیق نکردم. دوم اشکال از اون‌هاست که بلد نیستند (یا نمی‌خوان) پیش‌فرض‌های ذهنی‌شون رو روی کاغذ بیارن تا ما هم بدونیم.

کم‌کم دارم می‌فهمم که این روی کاغذآوردن و داکیومنت‌کردن، یک هنره که هر کسی بلد نیست. تو این زمینه دیگه به آدم‌ها یا حتی شرکت‌ها (بصورت منفرد) اعتماد نمی‌کنم و حتماً سعی می‌کنم که از اپلیکیشن‌هایی مثل «آچاره» یا «خدمت‌ از ما» یا امثالهم استفاده کنم؛ چون داخل اپلیکیشن همه‌چیز مستند میشه و حتی اگر گرون‌تر از حالت عادی باشه - که نیست - حداقل از ابتدا مشخصه.

مهارت مذاکره

تو چند باری که با صاحب‌خانه یا املاکی صحبت کردم، متوجه شدم که مهارت مذاکره رو بلد نیستم. بدتر از اون، بعضی وقت‌ها حرف‌هایی که می‌زنم به نحوی که نمی‌خوام و منظورم نبوده، برداشت میشه.

من تو حالت مکتوب معمولا نظرم رو درست می‌رسونم ولی تو گفتار نه. تو این زمینه مصمم‌تر شدم که درس‌های متمم رو بهتر و جدی‌تر دنبال کنم. البته هنوز ترم مقدماتی رو به اتمام نرسوندم و سعی‌ام بر اینه که تو ساختاری که متمم پیشنهاد کرده پیش برم.

کتاب‌ و فیلم‌ آموزشی

این ماه فصل دوم کتاب Charu Aggrawal: Neural Networks and Deep Learning رو مطالعه کردم. نمی‌دونم چرا این کتاب موردتوجه قرار نگرفته.

واقعا لذت بردم. برام جالب هست که میگه خیلی از الگوریتم‌های قدیمی همون حالت‌های ساده شبکه‌های عصبی هستند یا به عبارتی شبکه‌های عصبی حالت کلی‌تر و Generalتر بسیاری از روش‌های یادگیری ماشین کلاسیک هستند.

این رو بصورت محاوره‌ای نمی‌گه و ازش رد بشه؛ بلکه تک‌به‌تک روش‌های قدیمی (مثلLogistic Regression یا حتی SVM) رو میاره و بصورت ریاضی نشون میده که معادل دقیق‌شون تو شبکه‌های عصبی چی میشه.

این خیلی دید جدید و عجیبی هست برام. کتاب انگلیسی‌ است و قبلا چاپش کردم که بخونم. تنها حسرتم اینه که چرا تو قطع «وزیری» چاپ کردم و رقعی یا رحلی چاپ نکردم. اینطوری خیلی ریزه و خوندنش مشکل. احتمالاً کتاب‌های بعدی رو با جلد سخت (گالینگور) و تو قطع رقعی یا رحلی چاپ بگیرم.

تو بخش دوم فصل دوم جناب Aggrawal با SVD رو‌به‌رو شدم و دیدم که هیچ‌وقت مثل آدمیزاد ننشسته بودم که ببینم اینها چی هستند. این شد که دست با دامن یوتیوب شدم.

دیدم که یک پلی‌لیست خیلی عالی برای فهم SVD و در کل Matrixها وجود داره.

Visualize Different Matrices part1 | SEE Matrix, Chapter 1 - YouTube

خیلی جالب بود. با اختلاف بهترین ویدئویی بود که درباره Singular Value Decomposition دیدم. این مبحث رو بارها خونده بودم و هیچ وقت نفهمیده بودم، «خب که چی؟» و الآن جواب سوالم رو گرفتم.

همچین ویدئوهایی خیلی جالبن و واقعا این‌ها به درد یادگیری می‌خورند. نه چیزهایی که تو مدرسه و دانشگاه حفظ می‌کنیم. حفظ کردن فرمول ماتریس ژاکوبین نه به درد این دنیا می‌خوره نه اون دنیا؛ اما دونستن شهود و منطق پشتش باعث میشه در موقع نیاز بتونیم ازش استفاده کنیم.

تو طول ویدئو، بارها به ویدئوهای 3Blue1Brown ارجاع داده شد. این بود که گفتم ببینمGrant Sanderson چی می‌گه. قبلاً یکی دو تا از ویدئوهاش رو دیده بودم؛ اما زیاد جذب نشده بودم.

این‌جا دو تا پلی‌لیست خیلی خوب ازش پیدا کردم و همه ویدئوهاش رو تک‌به‌تک دیدم. واقعا هم لذت بردم.

دو تا پلی‌لیست The essence of calculus - YouTube و Differential equations - YouTube رو کامل دیدم و بعد سال‌ها دید گرفتم که معادلات دیفرانسیل و حسابان چی هست.

میگن معادلات دیفرانسیل زبانی هست که خدا با اون صحبت می‌کنه و انگار خدا، معادلات طبیعت رو با اون نوشته.

اگر به این مباحث علاقه‌مند هستید، توصیه می‌کنم ویدئوهاش رو ببینید. پشیمون نمی‌شید. نکته مثبت در مورد این ویدئوها اینه که بر خلاف خیلی دوره‌های آموزشی دیگه نمی‌گه چطوری معادله دیفرانسیل حل کنیم یا چطوری انتگرال دوگانه رو با فلان تکنیک حل کنیم. چیزهایی که به نظر من چندان فایده‌ای ندارند.

بلکه با Visualizationهای بسیار چشم‌نواز نشون میده که این‌ فرمول‌ها چطوری کار می‌کنند. انگار آدم رو می‌بره تو مغز طراحان این ابزارها و میگه درست کننده این ابزار داشته به چه چیزی فکر می‌کرده؟

نیوتون چه فکری داشته که حساب دیفرانسیل و انتگرال رو درست کرده. یا مثلا تیلور هنگام فکر کردن به سری تیلور چه هدفی رو دنبال می‌کرده. این سری تیلور از سری‌هایی هست که بارها خونده بودم ولی هرگز نفهمیده بودمش.

این‌طور که فهمیدم فیلد هوش‌مصنوعی این‌جوری هست که هر چی ریاضی یاد بگیرم، باز هم کمه. زمانی که پیپر Diffusion Model اومد، از یکی از اساتید هوش که بسیار باسواد هست، پرسیدیم این معادلات چی میگن و یعنی چی. بنده خدا هر چی فکر کرد گفت فعلا من نمی‌فهمم!

انگار ریاضی‌دان‌های محض قدیمی، تازه بهشون ابزارهایی داده شده که ایده‌هاشون رو به ورطه آزمایش بگذارند. فکر می‌کنم قدیم مثلا وقتی خوارزمی داشته تو عوالم خودش سر می‌کرده، هیچ‌کی نمی‌فهمیده چی می‌گه تا سال‌ها بعدش یه سری آدم مثل خودش بشینن کتاب‌هاش رو بخونند.

A totally different way to do math - YouTube

مثلا تو این ویدئو Vertasium میاد، مفهوم p-adicsها رو مطرح می‌کنه. این یک چیزی مثل اعداد مختلط ریاضی هست. چیزی که مابه‌ازای خارجی تو دنیای واقعی نداره.

اما می‌شه - مثل اعداد مختلط - خیلی از مسائل رو به اون دنیا برد و تو اون دنیای خیالی حل‌شون کرد و برگشت به دنیای واقعی. مسائلی مثل $x^n+y^n=z^n$؛ ولی واقعیت اینه که این مسائل خیلی نمی‌تونند وارد زندگی واقعی مردم بشن.

اما الان یکی با ترکیب ابزارهای موجود چیزی می‌سازه که با این که هیچ‌کی نمی‌فهمه چیه اما به لطف هوش‌مصنوعی همه می‌تونن ستایش‌اش کنند.

بگذریم.

قبل دفاع برای آخرین بار به کتابخانه شریف هم رفتم و دیدم که هنوز کتاب‌های مهم و مرجع هوش مصنوعی رو ندارند. خیلی وقته تو ذهنم بود که چرا ندارند و باید بهشون بگم و بالاخره جسارت‌اش رو پیدا کردم و رفتم با معاون کتابخانه صحبت کردم. پنج تا کتاب معرفی کردم که به کتابخانه اضافه کنند و خیلی هم استقبال کردند و گفتند نسخه فیزیکی همش رو تهیه می‌کنند.

کتاب‌هایی که معرفی کردم، این پنج تا هستند (اینجا هم می‌گذارم شاید به درد کسی بخوره):

  • Deep Learning
  • The Elements of Statistical Learning
  • Pattern Recognition and Machine Learning
  • Learning From Data
  • Deep Learning and Neural Networks

واقعیتش (جز Learning From Data) هیچ کدوم رو کامل نخوندم و فقط قسمت‌های کوچیکی از هر کدوم رو بسته به نیاز خوندم. ولی تصمیم گرفتم که اولی و آخری رو بخونم. برای این که واقع گرایانه باشه وقت تعیین نمی‌کنم. بذارم یه کم بخونم ببینم سرعت خوندنم چطوری هست.

فعلا فکر می‌کنم که هیچی بهتر از این نیست که آدم بشینه زیر باد کولر و تو آرامش کتاب بخونه. به قول محمدرضا غرق کتاب بشه و همراه نویسنده به یک سفر بره. تو سرزمینی که نویسنده توصیف می‌کنه، راه بره و ببینه حرف حسابش چیه.

دنیایی که تو کتاب‌ها توصیف میشه از دنیای ما آدم‌ها بهتره.

این ماه جسته گریخته از کتاب‌های مختلف خوندم که اسم‌شون رو می‌گذارم و امیدوارم که تا آخر سال بتونم تموم‌شون کنم.

  • یادگیری عمیق و شبکه‌های عصبی
  • هنر خوب زندگی‌کردن
  • واقع‌بینی

موانع و مشکلات

  • درگیری کارهای خونه، وقت و تمرکز زیادی برام باقی نگذاشت. در کل همون‌طور که از گزارش هم مشخصه این ماه بیشتر درگیر کارهایی بودم که دوست نداشتم.
  • مشکل سوسک هم همچنان وجود داره و با این که بطور میانگین روزانه یک سوسک می‌کشم (اعم از معمولی، پرشی و بال‌دار) ولی نمی‌دونم از کجا میان داخل!
  • هنوز ورزش‌کردن و درست غذاخوردن برام روتین نشده.
  • ساعت بیدارشدن و خوابیدنم دوباره به هم ریخته.

امیدوارم که تو ماه‌های بعدی بتونم بیشتر روی کارم متمرکز بشم و در نتیجه گزارش‌های مسنجم‌تری بدم.