در اینجا میخواهیم با جزئیات در مورد شروع کار در حوزه هوش مصنوعی صحبت کنیم. لازم است این پست را چند بار مطالعه کنید.
فرقی نمیکند، میخواهید در چه شاخهای از هوش مصنوعی کار کنید؛ بینایی کامپیوتر، پردازش صوت، پردازش زبان طبیعی و … همه این شاخهها زیرمجموعهای از حوزه بزرگ هوش مصنوعی هستند. در چنین شرایطی شما یکسری دروس پیشنیاز، عمومی و تخصصی را باید پشت سر بگذارید. منظور از دروس پیشنیاز، عمومی و تخصصی چیست؟
• دروس پیشنیاز: مجموعه دروسی که انتظار میرود مخاطب دانش لازم را در آنها داشته باشد.
• دروس عمومی: مجموعه دروسی که در اکثر شاخههای هوش مصنوعی وجود دارد.
• دروس تخصصی: مجموعه دروسی که فقط در یک یا چند شاخه خاص وجود دارد.
به عنوان مثال، شخصی که میخواهد در حوزه بینایی کامپیوتر فعالیت کند، باید درس یادگیری ماشین را بخواند. کسی که در حوزه پردازش زبان طبیعی هم کار میکند، باید این درس را بخواند. در ادامه، در قالب یک نقشه راه درباره اینکه از کجا شروع کنید صحبت کردهایم.
دروس پیشنیاز برای هوش مصنوعی
شما باید از پیشنیازها شروع کنید. به صورت کلی، دو پیش نیاز مهم برای ورود به هوش مصنوعی نیاز است. اول، برنامه نویسی و دوم، ریاضیات.
مقدمات برنامهنویسی
ممکن است بسیاری از شما برنامه نویسی پایتون را بلد نباشید. اما، انتظار میرود که با ساختار زبان برنامهنویسی آشنا باشید. منظورمان از ساختار زبان برنامهنویسی این است که بدانید:
• برنامهنویسی یعنی چه؟
• برنامهنویسی چه اهمیتی دارد؟
• الگوریتم و فلوچارت یعنی چه؟
اگر از خاطرتان رفته، اگر اصلا چنین درسی نداشتید، اگر رشته غیرمهندسی بودهاید، اشکالی ندارد. با یک زمان اندک میتوانید به راحتی این مطالب را یاد بگیرید. نترسید! امروزه آنقدر یادگیری برنامهنویسی آسان شده که حتی کودکان هم این زبانها را یاد میگیرند.
شما میتوانید با مراجعه به کتابهای دبیرستان، به یک آشنایی جزئی با برنامهنویسی برسید. کتابهای دبیرستان بسیار خلاصه و ساده مطالب را تشریح کردهاند و معمولا برای شروع مناسب هستند. چند مورد کتاب برای آشنایی با برنامهنویسی در ادامه معرفی شده است:
• کتاب تولید محتوای الکترونیک و برنامه سازی (پودمان چهارم به بعد)
• کتاب «مبانی کامپیوتر و الگوریتمها، نوشته جعفرنژاد قمی»
با کتابهای بالا یک آشنایی کلی با برنامهنویسی خواهید داشت. اگر با برنامهنویسی آشنا هستید و قبلا با یک زبان برنامهنویسی مانند C یا متلب یا موارد دیگر کار کردهاید، خوب هست. نیازی به مطالعه مطالب بالا نیست. هدف از مطالعه کتابهای بالا، دستیابی به دو شاخصه است:
1- آشنایی با اصل برنامه نویسی و پی بردن به اهمیت آن
2- آشنایی با تفکر الگوریتمی و فلوچارتی
اگر این مهارتها را دارید، دیگر میتوانید وارد مرحله اصلی یعنی آموزش پایتون شوید.
برنامه نویسی پایتون
پایتون یک زبان برنامهنویسی مفسری است که یادگیری آن بسیار آسان است. پایتون همانند متلب بسیار آسان هست و سختیهای زبانهای برنامهنویسی مانند C را ندارد. امروزه پایتون به صورت گسترده در بسیاری از حوزهها مانند وب، بازیسازی، هوشمصنوعی و غیره استفاده میشود.
بنابراین، نمیتوان این زبان برنامهنویسی بزرگ را کامل آموخت. بلکه، باید پایتون را متناسب با اهدافتان بیاموزید. در پایتون دو بخش عمومی و تخصصی وجود دارد؛ بخش عمومی شامل اصل زبان برنامهنویسی پایتون است. بخش تخصصی هم شامل مجموعه فریمورکهای تخصصی میشود که برای حوزههای مختلف متفاوت است. پس از اینکه پایتون عمومی را فرا گرفتید، باید یادگیری فریمورکهای تخصصی را شروع کنید. برای شروع سه فریمورک پایه وجود دارد که در هر شاخه از هوشمصنوعی مورد استفاده قرار میگیرند. این سه عبارتنداز:
• NumPy
• Matplotlib
• Pandas
اینطور برداشت نکنید که با این سه میتوانیم کار هوشمصنوعی انجام دهیم. اینها تنها فریمورکهای شروع کار هستند. مثلا با Numpy صرفا میتوانیم کارهای ریاضیاتی و ماتریسی انجام دهیم. با Matplotlib میتوانیم انواع نمودارها را در پایتون رسم کنیم. Pandas هم مجموعه ابزارهای مدیریت داده را برای ما فراهم میکند.
برای یادگیری پایتون و فریمورکهای پایه، ما دو پکیج را به شما پیشنهاد میدهیم:
ریاضیات
کار به ریاضیات که میرسد خیلیها لرزه به اندامشان میافتد. واقعیت این است که برای شروع کار، ریاضیات چندان عمیقی نیاز نیست. آنچه که باید بدانید این است که ریاضیات در هوشمصنوعی وجود دارد و نمیتوان منکر آن شد. اما این ریاضیات سنگین نیست.
شما به چهار شاخه از ریاضیات نیاز دارید:
• حساب دیفرانسیل
• جبرخطی
• احتمال
• آمار
آیا نیازی هست که برای این دروس دوره جداگانهای گذرانده شود. مثلا ریاضی برای هوشمصنوعی؟ بد نیست! اما در شروع کار آنقدرها هم به ریاضی پُرملات نیاز ندارید!
اگر ریاضی شما ضعیف است یا اصلا از ریاضی سر رشتهای ندارید، از کتابهای متوسطه دوم رشته ریاضی فیزیک شروع کنید. ما کتابهای مورد نیاز شما را در ادامه لیست کرده ایم:
- ریاضی 1
- حسابان 1 و 2
- آمار و احتمال
- ریاضیات گسسته (فصل سوم: ترکیبیات)
اگر ریاضیات در سطح دبیرستان را به خوبی بلد هستید و حتی در دانشگاه ریاضیات را در سطح بالاتر دیدهاید، بسیار خب اوضاع مطلوب است. میتوانید یک دوره تخصصی با عنوان “ریاضی برای هوش مصنوعی” را سپری کنید و یا اینکه وارد مرحله عمومی شوید. ما دوره تخصصی برای ریاضی نداریم. اما در دوره یادگیری ماشین حدود 30 ساعت درمورد ریاضیات مورد نیاز صحبت کردهایم. بنابراین، میتوانید وارد مرحله بعدی شوید.
دروس عمومی برای هوش مصنوعی
دروس عمومی در حوزه هوش مصنوعی، شامل درسهایی است که در اکثر شاخههای هوش مصنوعی یکسان است. حتی سیلابس آنها نیز بسیار شبیه است. از جمله این درسها میتوان به دو درس یادگیری ماشین و یادگیری عمیق اشاره کرد.
یادگیری ماشین
فرقی نمیکند در چه حوزهای میخواهید کار کنید، حتما حتما یادگیری ماشین را در عمیقترین حالت ممکن بیاموزید. اصلا این را از ما داشته باشید که:
قلب تپنده هوش مصنوعی، یادگیری ماشین است.
به قول آن کشاورز معروف، حالا خودتان میدانید و یادگیری ماشینتان. شما به دو شکل میتوانید با یادگیری ماشین آشنا شوید:
آموزش یادگیری ماشین رایگان، برای آشنایی با یادگیری ماشین است. در اینجا مطالب در سادهترین شکل ممکن گفته شده تا مخاطب اندکی از یادگیری ماشین بیاموزد و خود را محک بزند که آیا به این زمینه علاقه دارد یا خیر. پیشنیازهای لازم را دارد یا نه. با ساختار آموزشهای هوسم ارتباط برقرار میکند یا نه.
بعد از مطالعه جلسات این آموزش رایگان، پیشنهاد میکنیم که دوره جامع یادگیری ماشین 2022 را تهیه نمایید. در این دوره مباحث یادگیری ماشین در سطح عمیقی تشریح شده است. شامل دو بخش تئوری و کدنویسی است. پیشنهاد ما این است که این دوره را چند بار مشاهده کنید و به صورت دقیق نکتهبرداری و تمرین کنید.
یادگیری عمیق
یادگیری عمیق یکی از زیرشاخههای یادگیری ماشین هست. اما آنقدر این زیرشاخه بزرگ شده که دیگر برای خودش یک دوره/درس مجزا شده است. جدیدترین پیشرفتهای هوشمصنوعی (همانهایی که شما را متحیر میکند) زیر سر همین یادگیری عمیق است. برای فراگیری یادگیری عمیق ما دو محصول آماده کرده ایم:
برای آموزش یادگیری عمیق رایگان در حد یک کتاب آموزش آماده کردهایم. مهمترین شبکهها را با جزئیات تشریح کردهایم که البته مورد توجه بسیاری از افراد قرار گرفته است. کافی است کامنتهای زیر هر آموزش را بخوانید. میتوانید از این آموزشها شروع کنید و کمی با فضای شبکه عصبی و یادگیری عمیق آشنا شوید. البته که این آموزش برای تسلط بر یادگیری عمیق آماده نشده است. پس برای تسلط بر دیپ لرنینگ پیشنهاد میکنیم به دوره ویدئویی هوسم مراجعه کنید.
دوره ویدئویی یادگیری عمیق، شامل 81 ساعت آموزش ویدئویی در دو بخش تئوری و کدنویسی است. مهمترین شبکههای حوزه یادگیری عمیق تشریح شده و کدنویسی آنها با فریمورک پایتورچ انجام شده است. دوره یادگیری عمیق شامل سه زیربخش اصلی است:
• مباحث پایه شبکه عصبی و یادگیری عمیق
• شبکههای پیشرفته یادگیری عمیق
• کاربردهای یادگیری عمیق
در بخش کاربردهای یادگیری عمیق، نگاهی به سه حوزه تصویر، متن و صوت داشتهایم. این بخش با هدف آشنایی افراد با سه شاخه پرطرفدار هوشمصنوعی (بینایی کامپیوتر، پردازش زبان طبیعی و پردازش صوت) آماده شده است.
حالا میتوانید وارد بخش تخصصی هوشمصنوعی شوید.
دروس تخصصی برای هوشمصنوعی
هوشمصنوعی زیرشاخههای متنوعی دارد. نیازی نیست شما به همه زیرشاخههای آن مسلط باشید. سعی کنید به یک شاخه مسلط باشید و اگر دوست داشتید کمی هم با سایر شاخهها آشنا باشید. از جمله شاخههای معروف هوشمصنوعی عبارت است از:
• بینایی کامپیوتر
• پردازش زبان طبیعی
• پردازش صوت
• دیتاساینس
برای همه اینها شما دروس عمومی یکسانی را مشاهده کردید. این نشان از نزدیک بودن این شاخهها به هم هست. در واقع عمده تفاوت این شاخهها باهم، در بخش داده است. در بینایی کامپیوتر، داده از جنس تصویر و ویدئو است. در پردازش زبان طبیعی، داده از جنس متن است. در پردازش صوت هم که واضح است داده از جنس صوت است. معمولا در دیتاساینس، شکل دیگری از دادهها که به دادههای جدولی (Tabular Data) شناخته میشوند، مطرح هستند. البته، کار با دیتابیسها، دادههای سری زمانی هم معمولا در دیتاساینس قرار میگیرند. احتمالا الان به این فکر میکنید که به همه اینها علاقه دارید! بله، واقعا همه جذاب هستند.
بر پایه اینکه چه شاخهای را انتخاب کردهاید، باید یکسری درس تخصصی برای آن شاخه بگذرانید. در ادامه، به دروس تخصصی هریک از شاخهها اشاره شده است.
بینایی کامپیوتر
بینایی کامپیوتر با تصویر و ویدئو سروکار دارد. البته، باید گفت امروزه متن هم جایگاه مهمی در بینایی کامپیوتر دارد و در بعضی از کاربردها از متن هم استفاده میشود. برای بینایی کامپیوتر دو درس پیشنهاد میشود:
پردازش تصویر دیجیتال، دریچه ورود به دنیای تصویر است. بسیاری از مباحث پایه در تصویر و پردازش تصویر را در همین درس یاد میگیرید. یکی از معروفترین کتابهای پردازش تصویر، کتاب Digital Image Processing توسط پروفسور گونزالز است. ما هم بر پایه این کتاب، دوره پردازش تصویر را آماده کردهایم. این دوره چند سال پیش ضبط شده و کیفیت صدا و تصویر مطلوبی ندارد، اما از لحاظ محتوا بسیار مفید است.
برای درس بینایی کامپیوتر هم کتابهای متعددی وجود دارد. در هوسم، یک دوره با نام بینایی کامپیوتر حرفهای آماده کردهایم. در این دوره مطالب بینایی کامپیوتر در سطح بالایی گفته شده و برای کسانی که یادگیری ماشین و یادگیری عمیق را در سطح خوبی مسلط هستند، بسیار توصیه میشود.
پردازش زبان طبیعی
در پردازش زبان طبیعی، با داده متنی سروکار داریم. مثلا، همین متنی که اینجا میخوانید را قرار است به هوش مصنوعی بدهیم و اطلاعاتی در اختیار ما قرار دهد. بازهم سازوکار شبیه بینایی کامپیوتر است. یک درس تخصصی برای پردازش زبان طبیعی باید بخوانید. برای پردازش زبان طبیعی دورههای متنوعی وجود دارد که از جمله میتوانید به دوره
Natural Language Processing Specialization مراجعه کنید. آکادمی هوسم در حال حاضر دوره ای برای NLP ندارد. اما یکی از برنامههای ما، برگزاری دوره جامع NLP در سال 1402 هست. انشالله…
پردازش صوت
در پردازش صوت، با دادههای صوت سروکار داریم. مثلا، همین ویس که من و شما در تلگرام و سایر شبکههای اجتماعی ردوبدل میکنیم. اگرچه صوت بسیار مهم هست، اما محبوبیت آن نسبت به دو شاخه بالایی کمتر است. محبوبیت از چه نظر؟ از این نظر که دورهها و محتواهای کمتری در حوزه صوت میتوان یافت. برای اینکه تعاریف و مباحث پایه در صوت را بیاموزید، به شما دوره کوتاه Audio Signal Processing for Machine Learning را پیشنهاد میکنیم. بسیار شسته و رفته درباره صوت توضیح داده است.
درحال حاضر، آکادمی هوسم دورهای برای پردازش صوت ندارد. اما در حد آشنایی و مقدمات، در فصل 12 یادگیری عمیق درباره صوت صحبت شده است.