انتخاب مسیر علمی همراه با تجربه

یکی از دانشجویان علوم کامپیوتر شریف نوشته:

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

الان اینجوریم که یه روز ۴ تا کنفرانس [نامرتبط] می‌بینم می‌رم سمت اینکه تصمیم بگیرم آن رشته را بخونم ممکنه یه هفته بعد چند تا مساله زیست و یادگیری ماشین ببینم تصمیم خوندن چیزی مثل بیوانفورماتیک یا هوش مصنوعی تو ذهنم برجسته می‌شه و چند هفته بعد با چند نفر آدم تئوری کار صحبت می‌کنم و این تو ذهنم شکل میگیره نکنه اگر درس‌های ریاضی محض بیشتری پاس می‌کردم الان اون مسیر اصلی علاقم بود!

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

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

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

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

۱) بالاخره باید یک کاری کرد. در نتیجه بالاخره یکی از این موارد را انتخاب کنید.

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

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

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

زیربناهای یادگیری ژرف

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

برنامه و فیلم‌های آن را می‌توانید در اینجا بیابید.

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

Sample-Optimal Low-Rank Approximation of Distance Matrices

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

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

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

۲) کارهای باکیفیت چگونه ساخته می‌شوند. مثلا همین مقاله را اگر نگاه کنیم، کار اصلی نویسندگان از سرهم کردن چند روش بسیار پیچیده، تغییرات اندکی در استفاده از آن‌ها تهیه شده به اضافه مقدار فراوانی کار پرمغز برای به هم وصل کردن این تکنیک‌ها! یعنی کار اول این است که بدانیم چه روش‌های روز به روز در حال ارائه شده هستند. چیزی که شدیدا در آن ضعیف هستیم. از پیشنهادهایی که برای رفع این ضعف می‌توان داشت، شرکت در کنفرانس‌های خارجی است، که البته خیلی سخت است. راه دیگر دیدن فیلم‌ها و دنبال کردن کنفرانس‌ها یا کارگاه‌های علوم کامپیوتر روز دنیا است که خدا را شکر به راحتی در دسترس همه هست.

علم حساب

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

الگوریتم تقریبی تطابق وزن‌دار در گراف کلی با زمان اجرای تقریبا خطی

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

مقاله‌ای که از طریق این مقاله وب‌گاهشان را پیدا کردم:

Linear Time Approximation for Maximum Weight Matching
Ran Duan and Seth Pettie
J. ACM 61(1), Article 1, 2014.
PDFBibTex

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

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

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

هوش مصنوعی، پیش‌رانه اصلی فن‌آوری آینده

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

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

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

Science of Deep Learning: Bridging Theory and Practice

درس در ترم بهار ۲۰۱۸ ارائه شده. مدرسین درس آقایان Konstantinos Daskalakis و
Aleksander Mądry هستند.

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

ببینیم آیا این اساتید می‌توانند با کمک یکدیگر فعالیتی نظری از دل هوش مصنوعی در بیاورند؟

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