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

استاد اومد کنار که بچه‌ها بتونند بنویسند. من که هیچ وقت، جزوه نمی‌نوشتم (و تازه الان با خوندن درس‌های متمم می‌فهمم چقدر در یادگیری‌ام تأثیر منفی داشته)، فرصت داشتم باهاش صحبت کنم، بهش گفتم که «اینهایی که می‌گید به چه درد من دانشجو می‌خوره». گفت رشته‌ات چیه؟ گفتم کامپیوتر. گفت هیچی.

هیچی؟ پس چرا داریم می‌خونیم؟ «نمی‌دونم».

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

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

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

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

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

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

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

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

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

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

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

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

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

شاید بگید که چی این مسئله شگفت‌آوره. الگوریتم Gradient Descent یا Backpropagation که پایه‌های یادگیری عمیق هستند رو مگر نفهمیدی؟ اگر این‌ها رو فهمیده بودی، اینم بدیهی بود.

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

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

تا اینجا هستم تبلیغ یه کتاب رو هم بکنم. مدت‌ها پیش تو نمایشگاه کتاب تهران یه کتاب زیبا از انتشارات نص دیدم: لذت ایکس از Steven Strogatz. این اقا کتاب‌های زیبایی دیگه‌ای هم داره و کلاً قلم خوبی داره.

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

همین.

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

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

من ریاضیات رو به عنوان زبان می‌بینم. زبانی که از اول تا آخرش رو خودمون «تعریف» کردیم و هیچ نمود خارجی‌ای لازم نبوده داشته باشه. برای همین به شدت مفاهیم انتزاعی زیبایی داخلش هست. چیزهایی که از تک‌تک‌شون میشه ساعت‌ها لذت برد.

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

یکی کتاب All the math you missed هست از انتشارات کمبریج. و دیگری هم Mathematics of Machine Learning. یه کتاب هم به نام Mathematics for Machine Learning دارم که اون رو راستش خیلی دوست ندارم؛ چون خیلی برام شهودی نیست.

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

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

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