نقشه راه برای یادگیری ماشین، یادگیری عمیق و پردازش سیگنال مغزی
همه ما وقتی وارد حوزه ای میخواهیم بشویم اولین سوالی که میپرسیم اینه که از کجا شروع کنم، و چیا یاد بگیرم تا بتونم در حوزه مورد علاقه و حرفه ام پیشرفت کنم. در این پست سعی کرده ام نقشه راه برای یادگیری ماشین، یادگیری عمیق و پردازش سیگنال مغزی ارائه بدهم تا یک دید کلی از مسیر هر حوزه بدست بیارید و اگه خواستید با دوره های ما این مباحث رو یاد بگیرید بدونید که چه دوره هایی و با چه ترتیبی ببینید.
نقشه راه یادگیری ماشین
یادگیری ماشین پایه و اساس همه پروژه های مرتبط با هوش مصنوعی است و همه حرفه ها یجواریی راهشون از یادگیری ماشین میگذره و اعتقاد دارم فردی که دید تخصصی به الگوریتمهای یادگیری ماشین داشته باشه در هر حوزه ای وارد بشه هم سریعتر و هم عمیق تر مباحث رو یاد میگیره و راحت میتونه در اون حوزه پیشرفت کنه و حرفی برای گفتن داشته باشه.
درسته امروزه همه به سمت یادگیری عمیق میرن، اما باید توجه کرد که کسی که میخواد در یادگیری عمیق خوب کار کنه اول باید مباحث یادگیری ماشین رو بلد باشه.
واقعیت اینه که ما برای اینکه بتونیم الگوریتمهای یادگیری عمیق رو خوب یاد بگیریم و با ریاضیاتشون کنار بیاییم اول باید یک دانش پایه و اوصولی داشته باشیم، و یادگیری ماشین این درک رو به ما میدهد.
در شکل زیر نقشه راه یادگیری ماشین رو رسم کرده ام تا یک دید کافی به این حوزه داشته باشید و بدونید چه مباحثی رو باید یاد بگیرید.
بارو من این است که با ظهور مدلهای های هوش مصنوعی مثل ChatGPT، DeepSeek و … خیلی زود بخش کدنویسی رو این ابزارهای انجام خواهند داد. هرچند الان هم نشون دادند که خیلی خوب از پس این کار برمیان ولی همچنان یک سری ایرادهایی دارند که در آینده برطرف خواهد شد. فکر میکنم چیزی که ما نیاز داریم اینه که بدونیم چطوری از این ابزار استفاده کنیم که همان prompt engineering هست، اما توجه کنیم که نداشتن دانش کافی در یک حوزه، عملا مارو از استفاده بهینه از این ابزار منع میکنه.
کار کدنویسی که با این مدلها انجام میشه، پس چه دلیلی داره ما به خودمون زحمت بدهیم و کلی ریاضیات و کدنویسی یاد بگیریم؟؟! فکر میکنم چیزی که هوش مصنوعی فعلا در اون کاری نمیتونه بکنه بحث خلاقیت و ایده سازی است یا به عبارتی تولید دانش! چیزی که ما، انسانها، در اون میتونیم حرفی برای گفتن داشته باشیم. اما واقعیت اینه که خلاقیت به خودی خود هم رخ نمیده! لازمه دانش اساسی و عمیق و البته تجربه در یک حوزه خاص است.
مسئله بعدی اینه که مدلهای هوش مصنوعی همیشه کدهای درستی ارائه نمیدهند، اگر دانش کافی نداشته باشیم نمیتونیم کدهای تولید شده رو بهینه یا دیباگ بکنیم. به شخصه خودم از این ابزار کمک میگیرم، در کارهای تخصصی تر دیدم که کدهای اشتباه ارائه داده! حتی ایرادش رو چندین بار گفتم و ازش روابط ریاضیاتی مرتبط رو خواستم دیدم یک سری ایرادات بسیار جزئی هست و همین باعث شده که کد اشتباهی تولید کنه. برای همین باور دارم که ما باید درک دقیق و عمیقی از ریاضیات روشها داشته باشیم تا بتونیم هم ایده سازی بکنیم و هم از ابزار هوش مصنوعی به صورت هدفمند کمک بگیریم.
توصیه من به دوستانم اینه که تا جایی که میتونید روی ریاضیات الگوریتمهای یادگیری ماشین و یادگیری عمیق زوم بکنید. هرچقدر درک عمیقی از این الگوریتمها داشته باشید هم بهتر میتونید از ابزار هوش مصنوعی در کارهای پژوهشی خود کمک بگیرید و هم میتونید ایده های خیلی خوب ارائه بدهید. چیزی که هوش مصنوعی فعلی نمیتونه انجام بده! تولید دانش!
به شخصه خودم در همه دوره ها تمرکز اصلیم روی مباحث ریاضیاتی و پیاده سازی گام به گام روش ها هست. البته ابزار آماده رو هم معرفی میکنم، منتهی قبلش سعی میکنم تمامی جزئیات مرتبط با ریاضیات الگوریتمها رو توضیح بدم تا درک درست و عمیق تری از هر روش داشته باشیم.
دوره های یادگیری ماشین در Onlinebme
برای یادگیری ماشین توصیه میکنم دوره های زیر رو به ترتیب نگاه کنید. چهار فصل اول هم به صورت یکجا هست و هم جداگانه، توصیه میکنم همون یکجا رو تهیه کنید که هزینه کمتری برای شما داشته باشه. محتوا یکی هست که هم به صورت جدا و هم یکجا قرار داده ایم، تا افرادی که صرفا یک فصل مدنظرشون هست بتونند تهیه کنند.
دوره یادگیری ماشین یک دوره تخصصی 140 ساعته که شامل 8 فصل است. در ابتدا تمامی مباحث ریاضیاتی روشها آموزش داده شده و سپس گام به گام الگوریتم ها پیاده سازی شده اند، سپس چندین مثال و پروژه عملی انجام شده تا با کاربر روشها در عمل آشنا شویم.
نکته: دوره در متلب پیاده سازی شده، اما از آنجا که الگوریتمها صفر تا صد به صورت دستی پیاده سازی شده اند، وابسته به یک محیط خاص نیست و به راحتی میتوان به هر محیط برنامه نویسی دیگری منتقل کرد.
فصل 1 تا 4: از بیزین تا SVM
️مدت دوره: 75 ساعت
https://onlinebme.com/product/season-1-4-packages-pattern-recognition/
فصل 5: یادگیری جمعی
️مدت دوره: 18 ساعت
https://onlinebme.com/product/ensemble-learning/
فصل 6: الگوریتمهای کاهش بعد
️مدت دوره: 11 ساعت
https://onlinebme.com/product/dimension-reduction-using-lda-pca/
فصل 7: الگوریتمهای انتخاب ویژگی
️مدت دوره: 16 ساعت
https://onlinebme.com/product/season07-featrue-selection/
فصل 8: الگوریتمهای خوشهبندی
️مدت دوره: 13 ساعت
https://onlinebme.com/product/pattern-season08-clustering/
نقشه راه یادگیری عمیق
یادگیری عمیق دیگه شده بخش جدایی ناپذیر همه رشته ها و حرفه ها، و برای همین افراد نیاز دارند که دید بهتری از این حوزه داشته باشند تا بتونند از ابزار و الگوریتهای این حوزه در کارهای پژوهشی و کاری به خوبی استفاده کنند.
باور دارم که هر فردی که وارد این حوزه میشه باید به چندتا نکته زیر باید توجه بیشتری بکنه:
- ساختار هر شبکه عصبی
- ریاضیات هر شبکه عصبی
- هدف از ارائه شبکه عصبی
- کاربرد اصلی هر شبکه عصبی
- ایرادها و محدودیت های شبکه عصبی مدنظر
همچنان معتقدم که برای استفاده بهینه از ابزارهای آماده و ایده سازی لازم است هر فردی ریاضیات شبکه هارو به خوبی بدونه تا هم بتونه الگوریتمهارو بهتر توسعه بده و هم درجای مناسب ازشون استفاده کند.
دوره های یادگیری عمیق در Onlinebme
به نظر من بهتر است یادگیری عمیق رو در پایتون پیش ببریم، هرچند متلب هم ابزاری برای این ارائه داده است، اما جامعه ی کمی ازش استفاده میکنه و از طرفی ابزارهای قدرتمندی مثل پایتورچ نداره! برای یادگیری عمیق چندین دوره آماده کرده ایم که در زیر لیست شده اند:
پیاده سازی شبکه های عصبی در پایتورچ (MLP, CNNs)
️مدت دوره: 70 ساعت
https://onlinebme.com/product/implementing-neural-networks-with-pytorch/
پیاده سازی گام به گام شبکه های عصبی (متلب)
️مدت دوره: 25 ساعت
https://onlinebme.com/product/neural-networks-package/
شبکه های عصبی کانولوشنیCNNs (TensorFlow)
️مدت دوره: 11 ساعت
https://onlinebme.com/product/convolutional-neural-network/
شبکه های عصبی بازگشتی-RNNs (TensorFlow)
️مدت دوره: 13 ساعت
https://onlinebme.com/product/recurrent-neural-network/
پیاده سازی شبکه های عصبی RNNsدر پایتورچ(به زودی)
کار با ترنسفورمرها (به زودی)
نقشه راه پردازش سیگنال مغزی
گروههای مختلفی از جمله مهندسی پزشکی، علوم اعصاب محاسباتی و شناختی، نورفیدبک، روانشناسی، و رشته های علوم کامپیوتر با سیگنالهای مغزی سر و کار دارند و هر کدام بسته به نیاز خودشون مهارتهایی رو کسب میکنند تا بتونند تحقیقات خود رو به خوبی پیش ببرند.
سعی کرده ام یک نقشه راه جامع آماده کنم که همه گروههایی که در این حوزه کار میکنند رو پوشش بده و تا به همه گروه یک دید کلی بدهد که چه مباحثی لازمه براساس نیازشون یاد بگیرند.
گروه اول: تحلیل گر سیگنال مغزی
این افراد باید با سیگنال مغزی، نحوه ثبت آن، پیش پردازش آن، استخراج ویژگی از ریتمهای EEG در حوزه های مختلف و تحلیل آماری آشنا باشند تا بتونند تحقیقات خود رو پیش ببرند. این مهارت بیشتر برای افرادی هست که صرفا میخوان یک سری تحلیلهایی رو روی سیگنال انجام دهند و تاثیر یک مولفه رو در سیگنالهای مغزی فرد بررسی کنند.
برای مثال روانشناسها یا روانپزشکها میتونند با این مهارت تاثیر یک مقدار دُز دارو برای بیمارن افسرده یا مضطرب رو بررسی کنند.یا یک محققی میخواد بیماری خاصی رو در افراد بررسی کنه. یا تاثیر یک سری روشهای درمانی در افراد…
گروه دوم: تحلیلگر سیگنال مغزی با یادگیری ماشین
این گروه نه تنها پردازش های کلینیکی میتوانند انجام دهند، بلکه میتوانند از ابزار یادگیری ماشین در تشخیص بیماریها استفاده کنند. برای مثال افراد میتونند از یادگیری ماشین برای تحلیل بیماری های مرتبط با خواب، صرع و کلی موارد دیگه استفاده کنند.
البته با همین مهارت افراد میتونند از یادگیری ماشین و دانش پردازش سیگنال خود در واسط مغز کامپیوتر هم استفاده کنند. ولی اگر افراد میخوان به صورت تخصصی وارد حوزه BCI وارد بشوند بهتر است روشهای پردازش سیگنال EEG مرتبط با هر پارادیم رو یاد بگیرند.
گروه سوم: تحلیل گر سیگنال مغزی و توسعه دهنده BCI
در حوزه BCI در کارهای تحقیقاتی از سیگنال EEG به خاطر داشتن رزولوشن زمانی خوب، ارزان بودن، و غیرتهاجمی بودن بیشتر استفاده کنند. و به طوری کلی بسته سه نوع پارادیم در واسط مغز-کامپیوتر وجود دارد (تصور حرکتی، SSVEP و P300). روشهای جنرال که افراد رد مرحله دوم بدست میارند در هر سه پاردایم میشه استفاده کرد، اما این روشها خیلی موثر نیستند و لازم هست روشهای مرتبط با هر پارادایم رو یاد بگیریم. برای مثال روشهای مبتنی بر CSP در پردازش سیگنال EEG مرتبط با تصور حرکتی عملکرد خیلی خوبی از خود ارائه میدهند. یا در SSVEP روشهای مبتنی بر CCA. پس لازم هست افراد برای هر پارادایم BCI روشهای پردازش مختص خودش رو یاد بگیرند.
گروه چهارم: دانشمند داده EEG
گروه آخر، افرادی هستند که علاوه بر دانش پایه برای پردازش سیگنال EEG که معمولا به روشهای Traditional معروف هستند، با الگوریتمهای یادگیری عمیق هم آشنا هستند. این افراد به خوبی میتونند از دانش هر دو حوزه در طراحی سیستمهای تشخیص بیماری، طراحی سیستمهای BCI به خوبی بهره ببرند و سیستمهای بسیار بهینه و کارامد طراحی کنند.
دوره های پردازش سیگنال مغزی (EEG) در Onlinebme
✅ما در Onlinebme چندین دوره تخصصی برای پردازش سیگنال مغزی آماده کرده ایم. دوره ها تخصصی و کاملا پروژه محور هستند. در هر دوره، از مباحث پایه و مقدماتی شروع میکنیم و سپس وارد پروژه های عملی میشیم و چندین پروژه به صورت مرحله به مرحله پیاده سازی میکنیم.
💡در هر دوره، از داده های benchmark برای پیاده سازی پروژه ها و مقالات استفاده کرده ایم.
⚪️ دوره جامع پردازش سیگنال مغزی(EEG)
◽️مدت دوره: 50 ساعت
🔘 https://lnkd.in/eApNf5P
⚪️ واسط مغز-کامپیوتر مبتنی بر P300
◽️مدت دوره: 28 ساعت
🔘 https://lnkd.in/ev3zebzS
⚪️ واسط مغز-کامپیوتر مبتنی بر SSVEP
◽️ مدت دوره: 33 ساعت
🔘 https://lnkd.in/eYuhfcu
⚪️ واسط مغز-کامپیوتر مبتنی بر تصور حرکتی
◽️مدت دوره: 21 ساعت
🔘 https://lnkd.in/ekHcQiZ
⚪️ پیادهسازی مقاله CSSP (BCI مبتنی بر MI)
◽️مدت دوره: 7 ساعت و 30 دقیقه
🔘 https://lnkd.in/d3rjuGyT
⚪️پیادهسازی مقاله RCSP (BCI مبتنی بر MI)
◽️مدت دوره: 5 ساعت
🔘 https://lnkd.in/dhe4mPzf
⚪️دوره تبدیل فوریه زمان کوتاه در پردازش سیگنال مغزی
◽️مدت دوره: 8 ساعت
🔘 https://lnkd.in/eN5FqB_B
⚪️دوره پردازش سیگنال مغزی با کتابخانه MNE پایتون
◽️مدت دوره: 33 ساعت
🔘 https://lnkd.in/dGdhu7iM
برنامه نویسی پایتون
برای برنامه نویسی در پایتون یک دوره 4 فصله آماده کرده ایم. در فصل اول، با اصول برنامهنویسی در پایتون (از دستورات تا انواع ساختارهای داده) آشنا میشویم. در فصل دوم کار کتابخانه NumPy جهت کار با دادهها و در فصل سوم، کار با کتابخانه Matplotlib برای تصویرسازی داده ها را یاد میگیریم. در فصل 4 هم با برنامهنویسی شئی گرا آشنا می شویم.
توصیه من به دوستانم اینه که حتما برنامه نویسی به سبک شیء گرا در پایتون رو یاد بگیرید. چرا که همه کتابخانه ها در پایتون به این شکل نوشته شده اند و آشنایی با این سبک برنامه نویسی به ما کمک میکند به راحتی از این ابزار در پروژه های خود استفاده کنیم.
فصل 1: اصول برنامهنویسی پایتون
️مدت دوره: 32 ساعت
https://onlinebme.com/product/python-programming/
فصل 2-3: کتابخانه NumPy و Matplotlib
️مدت دوره: 18 ساعت
https://onlinebme.com/product/python-programming-numpy-and-matplotlinb/
فصل 4: برنامه نویسی شیء گرا در پایتون
️مدت دوره: 14 ساعت 30 دقیقه
https://onlinebme.com/product/object-oriented-programming-in-python/
برنامه نویسی متلب
در دوره MATLAB در 18 جلسه اصول برنامهنویسی در متلب رو آموزش میدهیم. با گذارندن این دوره، با محیط متلب و اصول برنامه نویسی در آن آشنا میشویم.
پیشنهاد من برای دوستانم اینه که خیلی وارد بخشهای مختلف نشوید، هر مبحثی رو براساس نیازتون یاد بگیرید. کلا دوره هایی که نوشته برنامه نویسی متلب مقدماتی، یا بعدش پیشرفته، اصلا سمتش نرید! شما اصلا نیازی ندارید همه چیز رو در متلب بدونید، تنهایی چیزایی که لازم هست، و فکر میکنم همه اونها در این دوره 18 جلسه آماده شده است. شما بقیه موارد رو براساس نیاز در ادامه یاد میگیرید. الکی وقت خودتون رو برای یادگیری همه بخشهای متلب نکنید. اگر با دوره های ما پیش میرید، شما موارد دیگه رو در دوره های مختلف که ارائه داده ایم خود به خود یاد میگیرد.
اصول برنامهنویسی در متلب (رایگان)
مدت دوره: 11 ساعت
https://onlinebme.com/course/matlab/
دیدگاه ها