دانشجویان زیادی از من مراحل یادگیری #هوش_مصنوعی را پرسیدهاند. در این رشتهتوییت سعی میکنم ایدههایم را برای این موضوع توضیح دهم:
هوش مصنوعی را مانند هر دانش دیگری میتوان در سطوح مختلفی فراگرفت. در سطحیترین حالت صرفا یک کاربر و استفادهکنندهی هوش مصنوعی هستید.
در حالت دوم، میتوانید یک توسعهدهندهی ساده باشید، یعنی مثل کسی که قطعات LEGO را به یکدیگر متصل میکند تا یک اسباببازی بسازد، اجزای مختلف یک شبکهی عصبی ژرف را به هم متصل کنید تا یک شبکهی جدید بسازید، بی آنکه بدانید با چه منطقی دارید این کار را میکنید یا درون هر قطعه چیست.
در حالت سوم، شما دانش و بینش عمیقی نسبت به یکایک اجزای یک الگوریتم یادگیری ماشین یا شبکهی عصبی ژرف دارید، با ریاضیات و پایههای الگوریتمی آن به خوبی آشنا هستید، و علاوه بر «چیست» میتوانید به سوال «چرا» پاسخ دهید:
مثلا چرا یک لایهی Convolutional برای تصویر بهتر از یک لایهی Fully Connected کار میکند، چرا Transformer ها نسبت به RNN عملکرد بهتری در پردازش زبانهای طبیعی دارند، یا چرا در یک Transformer از اتصال Residual استفاده میشود؟
در ادامه فرض میکنم قصد شما، حالت سوم است یعنی میخواهید دانش و بینش عمیقی نسبت به هوش مصنوعی داشتهباشید و بتوانید آن را توسعه دهید. برای این مسیر شما به یک «هرم یادگیری» نیاز دارید. به «حداقل» درسهای لازم در این هرم اشاره میکنم؛ میتوان برای فهم گستردهتر درسهای دیگری افزود.
در قاعدهی هرم، درسهای پیشنیاز قرار میگیرند که رسیدن به سطوح بالاتر هرم نیاز به یادگیری آنها دارید. «زبان برنامهنویسی پایتون»، «ریاضیات عمومی» رشتههای فنی دانشگاه در حدی که مشتق، انتگرال و گرادیان را به خوبی بشناسید، «جبرخطی» و «احتمال و آمار»، اصلیترین پایهها هستند.
تسلط به هنر برنامهنویسی ممکن نیست مگر با فهم عمیقی از دادهساختارها و الگوریتمها. برای این موضوع میتوانید از درسهای رایگان «دادهساختارها و الگوریتمها» و «طراحی و تحلیل الگوریتمها» استفاده کنید. اما برای تسلط به الگوریتمها ضروری است تمرین نظری و عملی فراوانی داشته باشید.
پس از تسلط به درسهای قبل، آمادهی گذراندن درسهای «یادگیری ماشین Machine Learning» و «یادگیری ژرف Deep Learning» خواهید بود. محتوای این درسها بسته به ارائهکننده و سال ارائه متفاوت است. به طور کلی، الگوریتمهای یادگیری ماشین در طول زمان تحول چشمگیری داشتهاند:
روشهای کلاسیک نظیر SVM و PCA از چند دهه پیش مورد استفاده قرار میگرفتند؛ ولی در یک دههی اخیر معماری شبکههای عصبی ژرف (Deep Neural Networks) رشد حیرتانگیزی کرد و در اکثر مسائل، به خصوص زمانی که دادهی کافی وجود دارد، جایگزین روشهای کلاسیک شد.
پیشنهاد من آن است هر دو گروه الگوریتمها را به خوبی فرابگیرید چرا که فهم عمیق روشهای کلاسیک، در هنگام یادگیری و توسعهی شبکههای عصبی ژرف، به شما کمک شایانی خواهد کرد. در بعضی از دورههای درسی، تمرکز اصلی روی روشهای کلاسیک است ولی دورههای جدیدتر روشهای ژرف را هم پوشش میدهند.
پس از آن، میتوانید به طور تخصصی وارد یکی از حوزههای هوش مصنوعی شوید و آن زمینه را ادامه دهید، مثلا ممکن است بخواهید برای تولید تصویر و ویدئو دورههای Stable Diffusion را بگذرانید، یا برای پردازش متن به GPT مسلط شوید، یا برای طراحی دارو از Graph Neural Networks استفاده کنید.
برای هریک از موارد بالا، منابع آموزشی فراوانی در اینترنت موجود است. برای انتخاب یک دورهی آموزشی پیشنهاد میکنم یکی دو جلسه ابتدایی دورههای مختلف را ببینید و بعد خودتان تصمیم بگیرید که با کدام دوره بهتر ارتباط برقرار میکنید و مطالب موردنظر را بیشتر و بهتر از آن فرامیگیرید.
اگر به زبان انگلیسی مسلط هستید میتوانید از دورههای درسی سایتهایی نظیر Coursera ،edX ،DeepLearning.ai و fast.ai استفاده کنید. ویدئوهای YouTube را پیشنهاد نمیکنم چون اکثرا سطحی و پراشکال هستند، مگر آنکه یک استاد برجسته از دانشگاه معتبر را انتخاب کنید.
اگر ترجیح شما فارسی است، علاوه بر دورههای آموزشی غیررایگانی که در سایتهایی نظیر مکتبخونه (مکتبپلاس)، کوئرا (کوئراکالج) یا فرادرس وجود دارد، دورههای رایگان متعدد و بعضا باکیفیتی وجود دارد.
مثلا برای آمار و احتمال، دادهساختارها و الگوریتمها، طراحی و تحلیل الگوریتمها و یادگیری ماشین میتوانید دورههای رایگان من یا سایر همکارانم در دانشگاه صنعتی شریف را در سایت مکتبخونه ببینید.
اگر برای یادگیری شنا به دیدن ویدئوهای آموزشی اکتفا کنید مطمئن باشید غرق میشوید. برای یادگیری ریاضیات، برنامهنویسی، الگوریتم، و هوش مصنوعی نیز شرط اساسی تمرین و تمرین و تمرین است. یکی از بهترین منابع رایگان تمرین برنامهنویسی و الگوریتم، سایت کوئرا Quera.ir است.
در سایت کوئرا به قسمت بانک سوالات بروید، سوالها را به ترتیب نزولی تعداد حل مرتب کنید، از مسالههای سادهتر شروع کنید. اگر برنامهی خود را ارسال کنید؛ برنامهی شما بلافاصله به صورت خودکار بر روی تستهای مختلفی که توسط طراح سوال بارگذاری شده ارزیابی میشود و نمره میگیرید.
بدین ترتیب متوجه میشوید که آیا سوال را به درستی حل کردهاید یا لازم است آن را اصلاح و مجددا ارسال کنید. برای تمرین یادگیری ماشین ضروری است به یک سرور دسترسی داشته باشید، یا از Google Colab استفاده کنید.
اگر منابع باکیفیت دیگری برای یادگیری میشناسید، پیشنهاد میکنم زیر همین رشتهتوییت معرفی کنید.
امیدوارم با اشتیاق و علاقه، انگیزه، اراده و وقت کافی برای یادگیری و تمرین و تمرین و تمرین، تجربهی هیجانانگیز و بسیار موفقی در این مسیر داشته باشید :-)
• • •
Missing some Tweet in this thread? You can try to
force a refresh
«آقای دکتر، من خودِ محمدم»
۳۸ روز از زمان بازداشت محمد نژاد، دانشجوی #دانشگاه_شریف میگذشت. خانوادهاش هرروز مسیر طولانی را طی میکردند و ساعتها پشت در اوین منتظر آزادیش بودند. چند بار صحبت از آزادیاش شده بود، اما در عمل اتفاقی نیفتاده بود. شنبه ۷ آبان بود. /۱
از دانشجویان دانشگاه شریف، فقط علیرضا آزاد و محمد کماکان بازداشت موقت بودند. از صبح شدیداً مشغول بودم و فرصت نکرده بودم خبرها را چک کنم. بعدازظهر یکی از همکاران گفت پیرامون دانشگاه تهران قدری ملتهب بود اما درگیری نبود. عصر در منزل مطلع شدم علیرضا با قید وثیقه آزاد شده. /۲
با زحمت همیشگی به توییتر وصل شدم، خبر آزادی علیرضا با قید وثیقه را ارسال کردم و قطع شدم. با خانواده از منزل بیرون رفتیم. ساعت ۲۲:۲۳ بود که تلفنم زنگ خورد. ابتدا فکر کردم یکی از اعضای خانواده محمد نژاد است و خبر آزادیاش را میدهد. تبریک گفتم ولی گفت: «آقای دکتر، من خودِ محمدم» /۳
۱) عجیب نیست چرا طول ماههای میلادی اینقدر بینظم است؟ بعد ژانویه ۳۱ روز، فوریه ۲۸ روز دارد، ژولای و آگوست متوالی ۳۱ روز دارند، اکتبر با واژه Oct (عدد ۸) همخانواده است ولی ماه دهم است، و...؟
در این #رشتو پیشینه جالب این موضوع را تقدیم میکنم:
۲) بیش از ۲۰۰۰ سال قبل تقویم رومی ۱۰ ماه داشت:
شروع تقویم ماه March همنام Mars، خدایگان جنگ در فرهنگ روم باستان بود. جالب اینکه هماکنون March با نوروز منطبق است.
ماه دوم April به معنی عدد ۲ بود.
ماه سوم May همنام Maia، الهه رشد گیاهان بود، درست هنگامی که درختان شکوفه میکنند.
۳) ماه چهارم June از نام Juno ملکه خدایان روم بود.
اما نام اصلی ژولای Quintilis به معنی عدد ۵ بود.
ماه ششم هم به جای آگوست Sixtillia (عدد ۶) نام داشت.
نام ماههای بعد هم صرفا شماره آن ماه بود:
September=Seventh
October=Oct=Eighth
November=Ninth
December=Tenth
۱) بیست سال قبل به اتفاق گروهی از دوستانم در شرکت #هاتف شروع به ساخت نخستین خودپرداز داخلی کردیم. داستان آن بماند برای بعد. اما در یک نمایشگاه، مدیرعامل بانکی که در حال خصوصی شدن بود وقتی سابقهام در المپیاد را شنید دعوت کرد در امور انفورماتیک به او مشاوره دهم.
۲) همه چیز بسیار خوب پیش میرفت. برخی مدیران و کارشناسان فنی بانک واقعاً دیدگاههای عالی داشتند ولی بعضا صدایشان شنیده نمیشد. سعی کردم با حذف فاصله کارشناس تا مدیرعامل، در تغییراتی هرچند کوچک سهیم باشم. مدتی بعد مدیرعامل ۲ بار عوض شد ولی همکاریم ادامه داشت. اما متوجه چیزی شدم:
۳) یکی از پیمانکاران بانک هزاران دستگاه اتصال به شبکه را با آرم خودش به بانک فروخته بود. کنجکاو شدم و یکی از دستگاهها را باز کردم و روی یک تراشه، اسم Cisco را دیدم. با قدری جستجو متوجه شدم روترهای Cisco 1841 را باز کردهاند، برد اصلی آن را به همراه یک برد کوچکتر ساخت آن پیمانکار
۱) چرا از پیام رسان داخلی استفاده نمیکنم؟
سال ۸۸ در حال تدریس در دوره تابستانی المپیاد کامپیوتر بودم، در کلاس را زدند، یکی از همکارانم با ناراحتی گفت موبایل و لپتاپت را بردار بیا بیرون. همراهش مضطربانه رفتم، یک ماشین با چند نفر لباس شخصی که خود را ضابط قضایی
۲) معرفی کردند بیرون باشگاه دانش پژوهان منتظرم بود. یکی از دوستان المپیادیام در ستاد میرحسین دستگیر شده بود (که البته بعداً تبرئه شد) به من هم مظنون شده بودند، گفتند موبایل، لپتاپ و رمز ایمیلهایت را بده. از ترس آنکه دستگیر نشوم مجبور شدم همه را تحویلشان دهم.
۳) بلافاصله به یکی از دوستانم در گوگل اطلاع دادم و ایمیلم را غیرفعال کردند. بعد از چند هفته موبایل و بعد از یکی دو ماه لپتاپم را تحویل دادند. ویندوز، فایلهایی که اخیراً مورد دسترسی قرار گرفته بودند را نشان میداد، و بین آنها «چند» تا از عکسهای خانوادگی ام بود.
۱) سال ۲۰۱۹ یک ایمیل دعوت به کار از یکی از مدیران مهندسی Facebook دریافت کردم. عنوانش «موقعیتهای راهبری Facebook» بود. خیلی ساده گفتم دارم ایران کار میکنم و قصد مهاجرت به آمریکا ندارم. فکر میکردم قضیه تمام میشه، ولی نشد! (ادامه رو ببینید)
۲) سری بعد باز یک دعوتنامه اومد که گفته بود سوابقم برای رهبری یکی از تیمها یا ادارات Facebook مناسب به نظر میرسه. منم در جواب گفتم این پیشنهاد کار خیلی هیجان انگیزه، ولی من تصمیم گرفتم زندگیم رو صرف کشورم ایران، مردمش و دانشجوهاش بکنم. تشکر کرد. گفتم تمام میشه، ولی بازم نشد!
۳) سری بعد از «تیم جذب راهبری» ایمیل زدند و گفتند میشه ۱۵ دقیقه صحبت کنیم؟ منم گفتم عاشق کار کردن توی ایران و برای مردمش هستم و نمیتونم این پیشنهاد رو قبول کنم. تشکر کرد. ولی بازم ادامه داشت!