شما در حال خواندن سومین و آخرین قسمت از سری پست هایی هستید که مدتی درگیر نوشتن آن ها بودم.
می توانید قسمت های اول و دوم را (که توسط علیرضا زارع و سینا مرادی عزیز ترجمه شده اند)از طریق لینک های ذیل پیدا کنید.
در این قسمت من قصد دارم برخی از بهترین منابعی را که به شما در تمرین کردن و به روز ماندن در مورد مهم ترین اخبار این حیطه کمک می کند را معرفی کنم.
هر هفته من از اکثر این منابع(اگر همه اش نباشد) به طریقی در پروژه هایم یا پژوهش استفاده میکردم. مطمئن هستم که شما هم از آن ها بسیار استفاده خواهید کرد.
کتاب ها و دوره ها دو منبع اصلی هستند که من از آنها برای اینکه به جایی که اکنون قرار دارم برسم استفاده کرده ام. اگرچه منابع شگفت انگیز و گاها کم ارزشی بوده اند که من از آن ها در یادگیری خودم استفاده کرده ام.
در میان تمام منابع این قسمت Kaggle یکی از بهترین پلتفرم های اینترنت برای تمرین و یادگیری machine learning است. Kaggle هر ساله برگزار کننده مسابقات زیادی در حوزه علوم داده و یادگیری عمیق است که از تمام نقاط دنیا در آن شرکت می کنند. همچنین دیتاست های رایگان و ارزشمندی دارد که شما می توانید با استفاده از آن ها مدل خود را آموزش دهید. ماجرا به همین جا ختم نمی شود!
قسمت جذاب دیگر این پلتفرم جایی است که افراد می توانند کدها و راه حل های خود برای مسابقات را در قالب یک jupyter notebook ساده به اشتراک بگذارند که تجربه با کد را خیلی ساده می سازد. شما هم چنین به راحتی می توانید از یکی از نوت بوک ها (که همچنین به عنوان کرنل نیز شناخته می شوند) شاخه بگیرید و شروع به خواندن آن کنید و با اجرای کدهای هر قسمت، عملکرد آن ها را ببینید.
به نظر من توانایی خواندن و درک کد هایی که دیگران نوشته اند یکی از مهارت های اساسی است که شما برای بقا در این حوزه به آن نیاز دارید. یکی از منابع فوق العاده برای تمرین این مهارت، کرنل های Kaggle ، و تلاش برای فهمیدن کد ها با اجرای خط به خط آن ها و دیدن خروجی شان می باشد.
به علاوه Kaggle یک جامعه عالی دارد که می توانید بسیار از آن ها یاد بگیرید. در کنار این نوت بوک ها و دیتاست ها، قسمتی تحت عنوان دیسکاشن(بحث و گفت و گو) در هر مسابقه وجود دارد که شرکت کنندگان افکار و ایده های خود را پیرامون مسابقه به اشتراک می گذارند. عده ای مقالات تحقیقاتی مرتبط و عده ای دیگر تجربه خود را از نتایجشان به اشتراک می گذارند که قطعا کمک کننده خواهد بود.
2.Twitter
زمانی که با توییتر آکادمیک آشنا شدم شوکه شدم!! توییتر بهترین رسانه برای به روز ماندن در آخرین پژوهش های این حوزه و فهمیدن اینکه دیگران روی چه پروژه ای کار میکنند می باشد. به علاوه شما مکررا میبینید که عده ای، دوره های خوب یادگیری ماشین و یادگیری عمیق را که برای آن ها مفید بوده به اشتراک میگذارند در حالی که شما هیچ گاه از وجود این دوره ها اطلاعی نداشته اید (من با بسیاری از منابعی که این جا معرفی میکنم از طریق توییتر آشنا شده ام).
بسیار مهم است که افراد درستی را در آنجا دنبال کنید یا اینکه لیستی اختصاصی درست کنید و تمام اکانت های مرتبط با هوش مصنوعی/ یادگیری ماشین/ یادگیری عمیق (AI/ML/DL) را در آنجا قرار دهید، اینگونه محتوای آن ها با توییت های دیگر از دوستانتان قاطی نمی شود! همچنین میتوانید با چک کردن قسمت following های اکانت من در توییتر با آی دی MoeinShariatnia@ این اکانت ها را پیدا کنید. من نیز لیستی با عنوان AI/ML/DLدرست کرده ام که تمام اکانت ها و افراد مرتبط را در آن قرار داده ام.
3.Linkedin
مانند توییتر، محتواهای مفید زیادی در اینجا به اشتراک گذاشته می شوند. محیطی کامل برای نمایش پروژه های شخصی شما که روی آن ها کار کرده اید می باشد. به راحتی می توانید پیشنهادهای شغلی دریافت کنید البته به شرط آنکه در لینکدین فعال باشید و تعداد افراد کافی شما را بشناسند. شغل کنونی من و پیشنهاد های شغلی دیگری که در آن زمان درباره ی آن ها فکر میکنم از طریق لینکدین به من پیشنهاد شده اند(البته برخی هم از طریق توییتر!). این اکانت من در لینکدین است اگر نمی دانید که چه شخصی را باید دنبال کنید، می توانید قسمت connection ها و following های من را چک کنید.
4.YouTube
همیشه به دوستانم گفته ام که ما باید بسیار سپاس گزار باشیم که در دنیایی زندگی میکنیم که ابزار هایی مانند یوتیوب در آن وجود دارند! محتواهای آموزشی بسیار زیادی در این پلتفرم وجود دارند، در هر حوزه ای که فکرش را بکنید! بسیاری از دوره ها و پادکست های عالی در حوزه یادگیری ماشین و یادگیری عمیق در یوتیوب به اشتراک گذاشته می شوند. در اینجا تعدادی از کانال هایی که دنبال میکنم و از آن ها چیزهای زیادی یاد گرفتم را معرفی می کنم:
یانیک ویدیو های عالی می سازد که در آن مقالات مهم حوزه یادگیری ماشین و یادگیری عیمق را توضیح می دهد و به تازگی به سمت پوشش دادن اخبار حوزه یادگیری ماشین در ویدیو هایی تحت عنوان ” ML news” رفته است. من از ویدیو های او چیزهای زیادی در مورد اینکه چگونه مقالات را بخوانم و نقد کنم یاد گرفته ام. او مفاهیم دشوار موجود در جدیدترین مقالات پژوهشی را به زبانی ساده توضیح می دهد که بسیار کمک کننده است.
وی میزبان پادکست artificial intelligence می باشد، یک پادکست عالی با مهمانان شگفت انگیز از حوزه هوش مصنوعی و فراتر از آن. در ابتدا تمرکز اصلی این پادکست روی هوش مصنوعی بود اما اخیرا موضوعات متنوعی از فلسفه تا تاریخ و غیره را پوشش می دهند که هنوز هم ارزش شنیدن را دارند. از تمام اپیزود های آن میشود درس زندگی گرفت به علاوه اینکه دید علمی خوبی در مورد این حوزه پیدا خواهید کرد.
یک کانال آموزشی ریاضی با یک تفاوت بزرگ: مانند هیچ منبع آموزش ریاضی دیگر که شما در زندگی خود دیده اید نمی باشد! ریاضی به تنهایی بسیار جذاب است اما این کانال با تصویر سازی فوق العاده آن را جذاب تر کرده است. این کانال که ساخته Grant Sanderson می باشد به شما دید خوبی از موضوعات اصلی جبر خطی و حسابان میدهد که فهم آنها برای درک کردن مفاهیم ساختاری یادگیری عمیق بهتر است. قطعا باید این کانال را چک کنید!
این تقریبا شروع ورود من به یوتیوب با تمرکز بر دوره های آموزشی برنامه نویسی بود. Harrison Kinsley ،شخصی که این ویدیو ها را می سازد، یک معلم خوب است و دوره های آموزشی ارزشمند و کاربردی می سازد که به من در شروع برنامه نویسی با tensorflow و keras کمک کرد. به وضوح روز هایی را به یاد می آورم که دوره های آموزشی معرفی شده در قسمت های قبل را گذرانده بودم اما هنوز تمرین کافی برای شروع پروژه خودم نداشتم. در واقع حتی نمی دانستم حتی چگونه تصاویر یا هر نوع داده دیگر را از دیسک به jupyter notebook خودم بارگذاری کنم و هر نوع مدلی را خودم آموزش(train) دهم. مجموعه ویدیو های او در مورد یادگیری عمیق و کراس کمک بزرگی برای شخصی مثل من بود که تجربه بسیار کمی داشتم.
یک کانال عالی برای افرادی که علاقه مند به پیاده سازی مقالات پژوهشی و نوشتن کد هر چیزی از پایه هستند. پیاده سازی مقالات مهم در یادگیری عمیق مانند ResNet, Transformers and multi head attention, YOLO,… به شما دید عمقی خوبی از نحوه کار کردن این مدل ها می دهد. شما فقط با دوره های آموزشی در یادگیری عمیق و یادگیری ماشین ماهر نخواهید شد! شما باید دست به کار شوید و پروژه شخصی خودتان را انجام دهید یا اینکه مقالات پژوهشی و مفاهیم ریاضی آن ها را با کد پیاده سازی کنید.
همانطور که از نام آن پیداست شما می توانید در این وبسایت پیاده سازی مقالات پژوهشی در قالب کدهای برنامه نویسی و مطالب دیگری مانند دیتاست ها، مقالات مشابه و.... را پیدا کنید. همانطور که در قسمت قبل اشاره کرده بودم پیاده سازی مقالات پژوهشی گام مهمی در فرایند یادگیری من بود. من از علائم ریاضی موجود در این مقالات می ترسیدم و گمان می کردم هیچ گاه آن ها را نخواهم فهمید:) اما از مقالات ساده تر شروع کردم و خودم را وادار کردم با کمترین برداشت ممکن از سایر کد های موجود در منابع آزاد، آن ها را از پایه، خودم پیاده سازی کنم. در ابتدا مشکلاتی داشتم اما به تدریج الگوهایی را برای نحوه تبدیل ریاضیات به کد پیدا کردم، اینکه چگونه می شود آن شاخص های و علائم جمع ترسناک ریاضی را با استفاده از پایتورچ و numpy به سادگی به کد تبدیل کنم. تجربه ی بسیار جالبی بود و از شما هم می خواهم آن را تجربه کنید.
این وبسایت و کدهای پیاده سازی شده آن از مقالات منبع بسیار خوبی هستند برای اینکه کدهای خود را با آن مقایسه کنید. برخی اوقات شما تمام تلاش خود را میکنید اما نمیدانید چگونه ادامه کد خود را بنویسید یا اینکه از همان ابتدا در فهم ایده اصلی یک مقاله به مشکل می خورید. در این اوقات من کمی از کد های این وبسایت استفاده می کردم و سپس ادامه کد ها را خودم می نوشتم. این وبسایت مانند جواهری ارزشمند در مسیر یادگیری شما در machine learning می باشد.
زمانی که شما می خواهید در مورد موضوعی بیشتر بدانید مثلا در مورد چگونگی پیدا کردن اشیا در تصاویر یا ترنسفورمر ها این وبسایت با ارائه مقالات مشابه پیرامون آن موضوع خاص به کمک شما می آید. برای مثال شما عبارت “attention is all you need”را سرچ می کنید و به شما مقالات مرتبطی را که به شما در فهم بهتر مفاهیم پایه ای آن موضوع کمک می کند ارائه میدهد. همچنین جدیدترین مقالات آن حوزه را به شما نشان خواهد داد.
7.پست های وبلاگی رندوم و medium
پست های وبلاگ تقریبا به اندازه ی مقالات پژوهشی در جامعه یادگیری ماشین اهمیت دارند! شما می توانید ایده های خلاقانه و جذابی را در پست های وبلاگ در اینترنت پیدا کنید که به شما در پروژه فعلی تان با موضوعی که می خواهید بیش تر در مورد آن بیاموزید کمک خواهد کرد. من به خوبی به خاطر می آورم که موضوعات زیادی را مانند attention و transformers عمدتا از پست های وبلاگ و سپس از مقالات اصلی آن ها یاد گرفتم. جامعه یادگیری ماشین و یادگیری عمیق شگفت انگیز است و همه می خواهند آنچه را که آموخته اند برای کمک به دیگران به اشتراک بگذارند، من هرگز چنین فضای شگفت انگیزی را در سایر جنبه های زندگی خود ندیده ام. در صحنه باشید، روی پست ها کامنت بگذارید، پیشنهاد کمک بدهید، در پروژه های منبع آزاد شرکت کنید و... مطمئن باشید از این طریق بیش تر پیشرفت خواهید کرد تا اینکه بخواهید به تنهایی و به دور از جامعه کار کنید.
کلمات پایانی
شما به انتهای آخرین قسمت رسیدید! ممنون از شما برای خواندن این پست ها و اینکه تا انتها با من بودید.
اگر برای شما مفید بود لطفا فراموش نکنید که با سایر افرادی که می دانید از آن استفاده خواهند کرد به اشتراک بگذارید.
در مسیر خودتان پیروز باشید و سربلند.
Twitter: @MoeinShariatnia
LinkedIn: https://www.linkedin.com/in/moein-shariatnia/
Email: moein.shariatnia@gmail.com
GitHub: https://github.com/moein-shariatnia
LinkedIn: /https://www.linkedin.com/in/mahdi-mohammadian-50058b201
Email: mahdimohammadian97@gmail.com
GitHub: https://github.com/mahdi-mhm-gh
پ.ن: این پست ترجمه شده سومین قسمت از سری پست های آموزشی دوست عزیز "معین شریعت نیا" هستش که هم دانشجوی پزشکی هست و هم به صورت حرفه ای برنامه نویسی machine learning و deep learning انجام میده. زبان اصلی این مطالب رو می تونید از طریق لینک های زیر پیدا کنید.