![شروع یادگیری هوش مصنوعی؛ راهنمایی برای تازهکاران](https://hooshio.com/wp-content/uploads/2021/02/TS-SAAI.jpg)
شروع یادگیری هوش مصنوعی؛ راهنمایی برای تازهکاران
مسئلهی یادگیری هوش مصنوعی به «تب هوش مصنوعی» این روزها بیارتباط نیست. هر روزی که میگذرد دامنهی کاربردهای هوش مصنوعی در زندگی روزمرهی ما گستردهتر میشود. وقتی که از گوگل میخواهیم رستورانهای نزدیک به خانهی ما را برایمان لیست کند، تا پیجهایی که فیسبوک و اینستاگرام و توئیتر برای دنبال کردن به ما پیشنهاد میدهند، همگی بر اساس هوش مصنوعی کار میکنند.
همین کاربردهای روبهگسترش هوش مصنوعی بسیاری از غیرمتخصصان را نیز جذب این حوزه کرده است. احتمالاً برای شروع یادگیری هوش مصنوعی شما هم سوالات زیادی دارید. واقعاً آموزش هوش مصنوعی را از کجا باید شروع کرد؟ پیشنیازهای یادگیری هوش مصنوعی چیست؟
چگونگی شروع هوش مصنوعی
با توجه به اینکه هوش مصنوعی از طیف وسیعی از دانشهای گوناگون تشکیل شده است، برای شروع کردن آن، این سوال ممکن است برای خیلی از افراد به وجود آید که از کجا باید یادگیری هوش مصنوعی را شروع کنیم؟
پاسخگویی به این سؤال به خصوص برای افرادی که رشته تحصیلی آن هوش مصنوعی نیست باز به مراتب دشوارتر است. متأسفانه اکثر افراد برای یادگیری هوش مصنوعی به سراغ کلاسهای آموزش برنامهنویسی میروند. هر چند یادگیری زبانهای برنامهنویسی یکی از مراحل اصلی پیادهسازی هوش مصنوعی در کاربردهای مختلف است با این حال تنها گام لازم برای این فرایند نیست. پیش از برنامهنویسی، فهم و درک مفاهیم هوش مصنوعی نظیر حساب دیفرانسیل و جبر خطی، محاسبات عددی، آمار و احتمالات و یادگیری ماشین از اهمیت بالایی برخوردار است.
مباحثی نظیر محاسبه درجه پیچیدگی به منظور مقایسه الگوریتمها از منظر سرعت اجرا و مقدار حافظه موردنیاز، آشنایی با بردارها، ماتریسها و عملیات مربوط به آنها، مفاهیم پایه احتمال و توزیعهای احتمالی، امید ریاضی و سنجههای آماری، شبکههای عصبی و انواع الگوریتمهای یادگیری ماشین از جمله مواردی است که لازم است یک کارشناس هوش مصنوعی با آنها آشنا باشد. بنابراین در کنار قابلیت برنامهنویسی، ریاضیات و آشنایی با یادگیری ماشین نیز برای شروع هوش مصنوعی ضروری است.
پیشنیازهای یادگیری هوش مصنوعی
علاقه؛ گام اول شروع یادگیری و آموزش هوش مصنوعی
بیایید همین ابتدا تکلیف خودمان را روشن کنیم. اگر مطمئنید به مباحث هوش مصنوعی علاقه ندارید بهتر است همین الان به سراغ علایقتان بروید. فرصتها در زندگی کم است و منطقی است برای چیزی که علاقهای به آن ندارید وقت نگذارید. اما اگر بهتازگی با این حوزه آشنا شدهاید و دوست دارید اول اطلاعاتتان را بالا ببرید و بعد دربارهاش تصمیم بگیرید، میتوانید به سراغ منابعی بروید که در ادامهی مقاله معرفی میکنیم.
اگر انگلیسی بلد باشید که خوش به حالتان. منابع بسیار زیادی از مباحث مقدماتی تا پیشرفته بهصورت رایگان در اختیار خواهید داشت که در مسیر یادگیری هوش مصنوعی کمکتان خواهد کرد. ما در بخش رویدادهای هوش مصنوعی در سایت هوشیو برخی از دورههای رایگان دانشگاههای برتر جهان را معرفی کردهایم. اما حتی اگر زبان انگلیسیتان لنگ میزند هم نگران نباشید. سعی میکنیم در ادامه ترکیبی از منابع فارسی و انگلیسی را معرفی کنیم تا به کار طیفهای مختلف علاقهمندان هوش مصنوعی بیاید.
صبور باشید
یادگیری هر موضوعی طبیعتاً سختیهای خودش را دارد. همین که میتوانید این متن را بخوانید نتیجهی صبر و تحملی است که زمان یادگیری حروف الفبا داشتید. شروع یادگیری هوش مصنوعی هم سختیهای خودش را دارد. جا نزنید. فراموش نکنید که حداقل هفتاد سال زمان برده تا هوش مصنوعی به اینجا برسد، بنابراین نمیتوانید چندماهه پروندهی یادگیریاش را ببندید. هوش مصنوعی حوزهای روبهگسترش است. روزی نیست که اخبار یافتههای جدیدی در این حوزه منتشر نشود. حتی کسانی که سالهاست وارد این حوزه شدهاند مجبورند خود را بهروز نگهدارند. شروع یادگیری هوش مصنوعی تازه آغاز ماجراست. یادگیری در این شاخه از علم هیچگاه به پایان نمیرسد.
ریاضیات
راستش را بخواهید راه میانبُری وجود ندارد. اینجا دیگر جایی است که باید به سراغ ریاضیات و آمار بروید. بدون داشتن پشتوانهی ریاضی درک مباحث هوش مصنوعی برایتان دشوار خواهد بود. بهتر است مستقیم به سراغ مباحثی از ریاضیات و آمار بروید که در هوش مصنوعی به کارتان میآید. میتوانید سری به سایت خان آکادمی بزنید. دورههای جبرخطی و آمار و احتمالات این سایت به کارتان خواهد آمد. اگر دنبال منابع فارسی میگردید میتوانید از دورهی آموزشی آمار و احتمالات سایت فرادرس نیز استفاده کنید.
زبان برنامهنویسی
زبانهای برنامهنویسی به عنوان ابزارهایی هستند که میتوان آنچه را که در ذهن درباره سیستمهای هوشمند طراحی کردهایم را به واقعیات تبدیل کنیم. بنابراین بدون شک یکی از پیشنیازهای مهم و اساسی یادگیری هوش مصنوعی، یادگیری زبانهای برنامهنویسی است. اما نباید این را فراموش کنیم که یادگیری زبانهای برنامهنویسی به معنای یادگیری هوش مصنوعی نیست. بلکه این زبانها تنها وسیلهای برای پیادهسازی هوش مصنوعی هستند. در ادامه، بخشی جداگانه به این موضوع اختصاص داده ایم. نگران نباشید!
داشتن تصویر کلی
اگر چند وقتی است که خیلی جدی دارید دنبال نقشهی راهی برای شروع یادگیری هوش مصنوعی میگردید، احتمالاً این مقاله اولین مطلبی نیست که در این مورد میخوانید. بیشتر مطالبی که در این مورد نوشته شده این مرحلهی مهم را از قلم انداختهاند. شاید با اصطلاح bird’s-eye view آشنا باشید. داشتن تصویر کلی از آن چیزی که در انتظارتان است، از موضوع درک بهتری به شما میدهد. شاید شما فقط به یکی از شاخههای هوش مصنوعی علاقه داشته باشید. پس از آموختن مباحث مقدماتی به سراغ بخشی بروید که دوست دارید. فراموش نکنید که آرمان اولین کوشندگان حوزهی هوش مصنوعی ساختن فناوریهایی بود که بتوانند کارهایی شبیه به انسانها انجام دهند. بخشهای مختلف هوش مصنوعی که بهصورت خلاصه در ادامه برایتان میآوریم تلاشهایی است برای تحقق، یا حتی فراتر رفتن از این رویا.
پردازش زبان طبیعی (Natural language processing)
احتمالاً بارها و بارها از سرویس ترجمهی گوگل استفاده کردهاید. بد نیست بدانید که گوگل ترنسلیت یکی از فناوریهایی است که در آن از پردازش زبان طبیعی استفاده شده است. زبان طبیعی همین زبانی است که ما برای برقراری ارتباط با هم از آن استفاده میکنیم؛ زبانی که در کودکی میآموزیم و برای برقراری ارتباط با محیط اطرافمان از آن بهره میبریم. معمولاً زبان طبیعی را در برابر زبان مصنوعی Artificial language قرار میدهند. ما زبان مصنوعی را برای ارتباط با ماشینها ساختهایم، مثل زبانهای برنامهنویسی. در واقع زبانهای مصنوعی بهصورت آگاهانه ساخته میشوند، اما زبانی که خودمان با آن حرف میزنیم را ما نساختهایم؛ زبانی است که بهصورت طبیعی و از کودکی آموختهایم.
نرمافزارهایی مثل گرامرلی (Grammarly) که متن انگلیسی را برای ما ویرایش میکند نیز از همین نوع تکنولوژی استفاده کرده است. اگر کنجکاوید بدانید در زمینهی زبان فارسی در این حوزه چه کارهایی انجام شده میتوانید برای مثال به سایت شرکت ترگمان سری بزنید. البته کارهای بزرگ دیگری نیز در حال انجام است که در مقالات دیگرمان به آنها خواهیم پرداخت.
دادهکاوی (Date Mining)
فرض کنید شرکتی میخواهد از مصرفکنندگان محصولاتش بازخورد بگیرد و تصویری از انتظارات مشتریان داشته باشد، تا بتواند از طریق آن بهصورت واقعبینانهای برای آینده برنامهریزی کند. این شرکت در قدم اول نیاز دارد دادههای خوبی از نظر کمی و کیفی جمعآوری کند. مرحلهی دوم تحلیل این دادههاست. در تحلیل دادههاست که اطلاعات مفید از میان حجم بالایی از اطلاعات بیرون کشیده میشود و الگوهایی برای برنامههای آتی ترسیم میشود. حال شرکتی را تصور کنید در حدواندازههای گوگل، با انبوهی داده که نیاز به تحلیل دارد. در اینجاست که داده کاوی به کار میآید. در دادهکاوی تحلیل دادهها از خلال الگوریتمهایی انجام میشود که کارشان بیرون کشیدن الگوها و همبستگی از دل مجموعهدادههاست. شاید بتوان دادهکاوی را نقطه تلاقی آمار، یادگیری ماشین (Machine Learning) و هوش مصنوعی دانست. در ایران نیز داریم شرکتهایی که کارشان جمعآوری و تحلیل دادههاست. در مطلب شرکتهای داده کاوی در ایران میتوانید با آنها آشنا شوید.
اگر میخواهید اطلاعات بیشتری در این حوزه به دست آورید میتوانید سری به فیلمهای آموزش علوم داده سایت نیز بزنید.
بینایی ماشین (Machine Vision)
بینایی ماشین فناوری است که به ماشین امکان دیدن میدهد. سیستمهای بازشناسی چهره Facial Recognition systems شاید مثال خوبی از کاربردهای عملی این فناوری باشند. این سیستمها از طریق تحلیل ویژگیهای فیزیولوژیک چهره میتوانند هویت فرد را تشخیص دهند. میتوانید در مطلب شرکتهای فعال در حوزه بینایی ماشین در ایران با آنها آشنا شوید.
پردازش گفتار (Speech Processing)
اگر شما هم از کسانی هستید که تایپ کردن برایشان کاری سخت و طاقتفرساست، حتماً پیشرفتهای حوزهی پردازش گفتار را پیگیری کنید. یکی از مهمترین کار سیستمهای پردازش گفتار تبدیل صوت به متن است. میتوانید در مطلب شرکتهای فعال در حوزه پردازش گفتار در ایران با آنها آشنا شوید.
برای ورود به حوزهی هوش مصنوعی باید چه رشتهای بخوانیم؟
برای ورود به بازار کار هوش مصنوعی لزومی ندارد که حتماً در این حوزه تحصیلات دانشگاهی داشته باشید. این مهارتها و تواناییهای شماست که کارفرمایان را مجاب میکند با شما همکاری کنند، نه مدرک دانشگاهی. اما طبیعتاً تحصیل در این رشته میتواند به شما در درک بهتر موضوعات این حوزه کمک کند. هوش مصنوعی یکی از گرایشهای رشتهی مهندسی کامپیوتر در مقطع ارشد است. برای اینکه وارد این رشته شوید، لزومی ندارد که حتماً در مقطع کارشناسی هم کامپیوتر خوانده باشید. هوش مصنوعی امروز ماهیت بینرشتهای پیدا کرده است و وارد حوزههای مختلفی شده است، از علوم پایه بگیرید تا انواع رشتههای مهندسی. براساس مصوبه جلسه شورای برنامهریزی آموزشی عالی وزارت علوم، تحقیقات و فناوری، دانشجویان کلیه گرایشهای رشتههای مهندسی کامپیوتر، ریاضی، مهندسی پزشکی و مهندسی برق مجاز به ورود در رشته هوش مصنوعی و رباتیکز در مقاطع ارشد و دکتری هستند.
دروس آموزشی هوش مصنوعی
در مقطع کارشناسی رشته مهندسی کامپیوتر، درس هوش مصنوعی با عناوین مختلفی نظیر «مبانی و کاربردهای هوش مصنوعی» و یا «هوش مصنوعی و سیستمهای خبره» در دانشگاهها ارائه میشود که معمولا دانشجویان کامپیوتر در سالهای دوم و یا سوم مقطع کارشناسی آنرا میگذارند. پیشنیازهای این درس ریاضیات عمومی 1 و 2، ریاضیات گسسته، مبانی برنامهنویسی و برنامهنویسی پیشرفته است. از اینجا میتوان وابستگی هوش مصنوعی رو به ریاضیات و برنامهنویسی کاملا حس کرد!
درسهای تحصیلات تکمیلی هوش مصنوعی و رباتیکز به سه دسته درسهای گروه 1، گروه 2 و گروه 3 تقسیمبندی میشوند. درسهاس گروه 1 روشهای حل مسأله در هوش مصنوعی را پوشش میدهند، در حالیکه درسهای گروه 2 بر روی زمینههای کاربردی متنوع این روشها متمرکز میشوند. هر دانشجوی کارشناسی ارشد باید حداقل چهار درس از درسهای گروه 1 را بگذراند و چهار درس دیگر باید براساس نظر استاد راهنما و در زمینه تخصصی از درسهای گروه 2 و 3 و یا درسهای اخد نشده گروه 1 انتخاب نماید. در این بخش به دروس اصلی هوش مصنوعی و رباتیکز در گروههای مختلف اشاره میشود.
دروس جبرانی: در صورت عدم گذراندن درس در دوره کارشناسی و یا به تشخیص دانشکده، تا دو درس جبرانی به دانشجو اختصاص مییابد.
- مبانی هوش محاسباتی
- اصول رباتیکز
- سیگنالها و سیستمها
- مبانی بینایی کامپیوتر
- هوش مصنوعی و سیستمهای خبره
- مبانی پردازش زبان و گفتار
- طراحی الگوریتمها
دروس گروه 1: گذراندن حداقل 4 درس از درسهای گروه 1 برای دانشجویان کارشناسی ارشد الزامی است.
- شناسایی الگو
- رایانش تکاملی
- رباتهای متحرک خودگردان
- یادگیری ماشین
- هوش مصنوعی پیشرفته
- فرایندهای تصادفی
- شبکههای عصبی
- سیستمهای چند عاملی
دروس گروه 2: در این گروه چندین درس ارائه میشود که دانشجو میتواند براساس راهنمایی استاد راهنما و انتخاب مناسب درسها، فعالیت علمی خود را به صورتهای مختلفی شکل دهد. به عنوان نمونه او میتواند بر روی زمینههای تخصصی زیر تمرکز کند:
- هوش مصنوعی و رایانشی
- ادراک ماشین
- هوش بازیها
- رباتیکز
- علوم زیستی رایانشی
- هوش مصنوعی و رایانشی + علوم زیستی
- رباتیکز+ ادراک ماشین
- رباتیکز + هوش بازیها
- هوش بازیها + ادراک ماشین
لازم به ذکر است هر کدام از موارد اشاره شده در بالا میتواند مجموعه دروس مختلفی را در بر بگیرد. به عنوان نمونه، افرادی که در زمینه رباتیکز فعالیت مینماید، بهتر است دروسی با عناوین سیستمهای چند رباتی، یادگیری تقویتی و کنترل ربات، رباتیکز شناختی و ریاضیات برای رباتیکز را بگذرانند.
دروس گروه 3: اخذ حداکثر 2 درس از درسهای گروه 3 برای دانشجویان کارشناسی ارشد مجاز است. درسهای اختصاصی دوره دکترا در قالب مفاهیم پیشرفته با تأیید دانشکده ارائه میشوند.
- مباحث ویژه 1 در هوش مصنوعی
- مباحث ویژه 2 در هوش مصنوعی
- مباحث ویژه 3 در هوش مصنوعی
- مفاهیم پیشرفته 1 در هوش مصنوعی
- مفاهیم پیشرفته 2 در هوش مصنوعی
- مفاهیم پیشرفته 3 در هوش مصنوعی
- یک درس از سایر گرایشها یا دانشکدهها با تأیید دانشکده
مبانی آموزشی هوش مصنوعی
هوش مصنوعی که در تلاش ساخت سیستمهای هوشمند مشابه با انسان است، میتواند در 4 مرحله اصلی پردازش اطلاعات که شامل دریافت اطلاعات، پردازش آن، تصمیمگیری و اجرا است، وارد عمل شود. در مرحله پردازش اطلاعات که مرتبط با تکنیکهای پردازش سیگنال است، سیستمهای هوشمند، اطلاعات محیط اطراف را آنگونه که برای ماشین قابل فهم است را دریافت کرده و آنرا برای پردازش آماده میکنند. در مرحله پردازش اطلاعات و تصمیمگیری با توجه به نوع داده ورودی، الگوریتمها و مدلهای هر یک از چهار فناوری اصلی هوش مصنوعی؛ بینایی ماشین، پردازش زبان طبیعی، پردازش گفتار و دادهکاوی ممکن است مورد استفاده قرار گیرد.
البته هدف از طراحی سیستم هوشمند هم در این قسمت حائز اهمیت است. برخی از سیستمهای هوشمند به منظور پیشبینی اتفاقات آینده طراحی میشوند برخی دیگر با هدف تعامل با انسان و انجام پرسش و پاسخ با او. یادگیری ماشین، یادگیری عمیق و یا شبکههای عصبی به هرچه هوشمندانه رفتار کردن سیستمهای مبتنی بر هوش مصنوعی کمک میکنند. بنابراین دغدغه متخصصان غالبا طراحی و توسعه الگوریتمها به نحوی است که بتوان بهترین عملکرد را در محیط بیرون از سیستم هوشمند نشان داد. بخش اجرا هم غالبا مرتبط با بحثهای رباتیک است که میتواند طیف وسیعی از انواع حرکت، سطح اتوماسیون و موارد مشابه را پوشش دهد.
بنابراین جهت آموزش مبانی هوش مصنوعی پس از داشتن یک تصویر کلی از محیط و مسأله مورد نظر، بهتر است تمرکز خود را بر روی یکی از مراحل پردازش اطلاعات معطوف کرده و سعی در توسعه و یا بهبود آن کنیم، وگرنه هوش مصنوعی اقیانوسی از اطلاعات است که اگر ندانیم به چه قسمتی از آن میخواهیم تسلط پیدا نماییم، قطعا در آن گم خواهیم شد.
مفاهیم هوش مصنوعی برای دانشجویان
با توجه به اینکه کتاب Artificial Intelligence: A Modern Approach از راسل و نورویک به عنوان منبع شناخته شده برای تدریس درس هوش مصنوعی مورد استفاده قرار میگیرد، بنابراین مفاهیم هوش مصنوعی برای دانشجویان را براساس این کتاب انتخاب میکنیم. جالبه بدونین که این کتاب تا به حال توسط افراد و ناشرین مختلفی ترجمه شده که یکی از رایجترین ترجمهها، ترجمه جعفرنژاد قمی است. از دیگر منابع فارسی در این زمینه میتوان به کتاب «هوش مصنوعی همراه با بازنگری کامل» نوشته دکتر هشام فیلی از انتشارات نصیر اشاره کرد که براساس نظرات افراد، یکی از بهترین و رایجترین کتابهای فارسی در این زمینه است. به طور کلی مفاهیم اصلی هوش مصنوعی را میتوان در گروههای زیر دستهبندی کرد:
آشنایی با هوش مصنوعی
تعریف هوش مصنوعی، تاریخچه آن، مزایا و معایبی که میتواند در بر داشته باشد و مطالعه بر روی عامل هوشمند به عنوان عضو اصلی مسائل مبتنی بر هوش مصنوعی در این بخش جای میگیرد.
حل مسائل در هوش مصنوعی
در این بخش به روشهای حل مسائل از طریق انواع جستجو نظیر جستجوی ابتکاری، جستجو با اعمال غیرقطعی، جستجوی خصمانه و جستجو با نگرش نسبی اشاره میشود. همچنین مسائل ارضای محدودیت و انواع تصمیمگیریها در بازیها در این قسمت توضیح داده میشود.
دانش، استدلال و برنامهریزی در هوش مصنوعی
در این بخش به بررسی مفاهیمی مربوط به عاملهای منطقی، نحوه نمایش دانش و چگونگی برنامهریزی خودکار در هوش مصنوعی اشاره میشود. همچنین نحوه استدلال و تصمیمگیری در عدم قطعیت و مفاهیم مربوطه در این بخش جای میگیرد.
یادگیری ماشین
مفاهیم اصلی و ساز و کار یادگیری ماشین به عنوان یکی از عناصر اصلی هوش مصنوعی در این قسمت گنجانده میشود. علاوه بر این، این قسمت به انواع یادگیری ماشین از قبیل یادگیری عمیق و یادگیری تقویتی نیز میپردازد.
برقراری ارتباط، درک و عمل کردن در هوش مصنوعی
در این قسمت مفاهیم مربوط به حوزههای اصلی هوش مصنوعی نظیر بینایی ماشین، پردازش زبان طبیعی و رباتیک بررسی و مرور میشود.
دورههای آنلاین بین المللی هوش مصنوعی
همانطور که قبلا هم گفتیم، اگر به زبان انگلیسی مسلط هستید، منابع فراوان و بسیار متنوع برای یادگیری هوش مصنوعی وجود دارد که یکی از انواع این منابع، فیلمهای آموزشی و دورههای آنلاین بینالمللی است. به عنوان نمونه، سایت کورسرا (Coursera) به تنهایی بالغ بر 1400 دوره آموزشی در مورد هوش مصنوعی دارد که 10 تا از برترینهای آن در لینک زیر قرار دارد. یکی از پرطرفدارترین دورههای آموزشی در این بخش مربوط به دوره یادگیری ماشین از دانشگاه استنفورد با تدریس Andrew Ng، بنیانگذار واحد تحقیقات یادگیری عمیق گوگل، Google Brain و رئیس هوش مصنوعی بایدو، است. که حتما توصیه میشود این دوره را مشاهده کنید.
علاوه بر این، دورههایی که شرکت گوگل جهت یادگیری هوش مصنوعی به ویژه یادگیری ماشین میگذارد از دورههای آنلاین رایج در این زمینه است که میتوان به مورد زیر اشاره کرد. این منبع تازه راهاندازی شده بخشی از برنامه گوگل برای گسترش درک هوش مصنوعی در بین عموم مردم است. این دورهها به گونهای طراحی شده است که افرادی که هیچ دانش قبلی از یادگیری ماشینی ندارند، می توانند در همان ابتدا وارد عمل شوند، کسانی که تجربه کمی دارند میتوانند ماژول هایی را انتخاب کنند که به آنها علاقه دارد و متخصصان یادگیری ماشین میتوانند از آن به عنوان مقدمهای به ویژه برای TensorFlow (کتابخانه یادگیری ماشین گوگل) استفاده کنند. به بیانی دیگر این مجموعه، از مقدمات مربوط به یادگیری ماشین، تا شروع کار با TensorFlow و طراحی و آموزش شبکه های عصبی را پوشش میدهد.
همچنین در قسمت رویدادهای هوش مصنوعی در سایت هوشیو برخی از دورههای آموزش رایگان هوش مصنوعی در دانشگاههای برتر جهان را معرفی کردهایم و خواهیم کرد. بنابراین توصیه میکنیم دائما سایت هوشیو را چک کنید.
کارآموزی هوش مصنوعی
بدون شک اجرا و پیادهسازی آنچه که از هوش مصنوعی یاد گرفتهایم در عمل و در یک محیط کاری واقعی تأثیر بسزایی در یادگیری این تکنولوژی به روز خواهد گذاشت. همچنین کار کردن در کنار متخصصان هوش مصنوعی و آشنایی با فراز و نشیبهای مختلفی که آنها جهت توسعه یک سیستم هوشمند با آن مواجه میشوند و راهکارهای مربوط به رفع آن همگی به پیشرفت شما در مسیر کسب تخصص در هوش مصنوعی کمک مینماید. بنابراین به علاقهمندانی که تمایل دارند به طور حرفهای در این زمینه فعالیت نمایند، توصیه میشود که پیگیر درخواست کارآموزی در شرکتهای فعال هوش مصنوعی باشند تا بتوانند دانش خود را به کمک تجربه بهبود ببخشند.
مهارتهایی که باید در هوش مصنوعی بدانید
اگر پیشنهادهای کاری شرکتهای بزرگ را یک نگاهی بیاندازید، متوجه میشوید که معمولا این شرکتها چه مهارتهایی را از متخصصین هوش مصنوعی انتظار دارند. ما در این بخش سعی کردهایم تا مهارتهای اصلی را سرجمع کرده و توضیح دهیم. لازم است این نکته را خاطرنشان کنیم که مهارتهای اصلی کارشناس/ متخصص هوش مصنوعی به دو دسته مهارتهای فنی و مهارتهای نرم تقسیمبندی میشوند. منظور از مهارتهای نرم، توانایی ارتباطات و انجام کار تیمی، خلاقیت، فکر تحلیلی و قابلیت تصمیمگیری است که بسیار میتواند حائز اهمیت باشد. با این وجود، در این بخش تمرکز ما بیشتر بر روی مهارتهای فنی یک کارشناس/ متخصص هوش مصنوعی است که در زیر به برخی از مهمترین آنها اشاره میگردد:
تلسط بر زبان برنامهنویسی
دانش و مهارت در زبانهای برنامه نویسی مانند پایتون، R،C++، جاوا، جاوا اسکریپت و غیره برای هر متخصص هوش مصنوعی بسیار مهم است. شما باید بتوانید بر اساس نیازها و موارد استفاده خود کد بنویسید. بدون شک با فراگیری بیش از یک زبان برنامهنویسی میتوانید مشارکت بیشتری داشته باشید. علاوه بر این، اگر درک عمیقی از معماری کامپیوتر، ساختارهای داده، الگوریتمهای بهینهسازی و مواردی از این دسته داشته باشید، به شما در این زمینه کمک زیادی خواهد شد.
در کنار زبانهای برنامه نویسی، لازم است با فریمورکها و کتابخانههای مختلف در این زمینه نیز آشنا باشید. این امر به شما کمک می کند کدهای با کیفیت را با سرعت بیشتری بنویسید. برخی از موارد بسیار مفید در هوش مصنوعی عبارتند از TensorFlow، SciPy، NumPy، Scikit-learn، Apache Spark، PyTorch و غیره.
دانش ریاضی
همانطور که قبلا هم گفتیم یادگیری هوش مصنوعی بدون دانش ریاضی مثل یک ساختمان بدون پیریزی مناسب است که هر لحظه ممکن است فروکش کند. به طور کلی، متخصصان هوش مصنوعی به طور گسترده روی الگوریتمها و ریاضیات کاربردی کار میکنند. به همین دلیل است که شما باید مهارتهای تحلیلی و حل مسئله قوی همراه با دانش ریاضی داشته باشید تا بتوانید به طور موثر مسائل هوش مصنوعی را حل کنید. مهارتهایی نظیر جبر خطی، آمار و احتمال، گراف و تکنیکهای بهینهسازی برای حل مسائل و ایجاد الگوریتمها بسیار به کارتان میآید.
یادگیری ماشین و یادگیری عمیق
یادگیری ماشین که یکی از زیر مجموعههای هوش مصنوعی است به سیستمها این قابلیت را میدهد تا با استفاده از دادهها و تجربیات، عملکرد خود را بهبود ببخشند. بنابراین یادگیری ماشین برای شرکتهای هوش مصنوعی اهمیت فراوان دارد زیرا میتوان به کمک آن، سیستمها را هوشمندانهتر کنیم. همچنین یادگیری ماشین به کمک آمار محاسباتی به پیشبینی دقیق امور مختلف میپردازد. از سوی دیگر، یادگیری عمیق که یکی از شاخههای یادگیری ماشین و علم داده است، از لایههای مختلف برای بدست آوردن ویژگیهای عمیقتر از صدا، تصویر و یا یک متن استفاده میکند. این فناوری توانسته هوشمندی سیستمها را به میزان قابل توجهی بهبود بخشد.
معماری شبکههای عصبی
شبکههای عصبی بخشی از یادگیری عمیق هستند و از ساختار مغز انسان الهام گرفته شدهاند. آنها شبکهای از نورونهای مصنوعی هستند که برای پردازش چندین ورودی برای تولید یک خروجی پیچیده و توسعه یافته اند. به طور کلی شبکههای عصبی برای کنترل تطبیقی، مدلسازی پیشبینی، تحلیل رگرسیون، تشخیص الگو، پردازش دادهها و برنامههای قابل آموزش استفاده میشوند.
کلان داده و محاسبات توزیع شده
پیشبینی و تجزیه و تحلیل دادهها در هوش مصنوعی شامل تعداد زیادی مجموعه داده است که به منابع محاسباتی بالاتری نیاز دارند. استفاده از یک سیستم واحد برای دستیابی به این نوع محاسبات ممکن است کافی نباشد. بنابراین، مفاهیمی مانند کلانداده و محاسبات توزیع شده مفید هستند. بنابراین، اگر می خواهید یک حرفه درخشان در هوش مصنوعی داشته باشید، توصیه میکنیم که خودتان را با این فناوریها ارتقا دهید. کلانداده و محاسبات توزیع شده میتوانند به شما در توسعه محصولات و خدمات پیشرفته مبتنی بر هوش مصنوعی کمک کنند. همچنین میتوانید از فریم ورک هایی مانند Hadoop، Apache Storm، Spark و Flink در این زمینه استفاده کنید.
آموزش زبانهای برنامه نویسی و هوش مصنوعی
زبانهای برنامهنویسی راه ارتباطی شما با کامپیوترها و ماشینها هستند. بدون آشنایی با این زبانها نمیتوانید با سیستمها ارتباط برقرار کنید. خوشبختانه در چند سال اخیر محتوای آموزشی بسیار زیادی در حوزهی آموزش زبانهای برنامهنویسی تولید شده است. با جستوجوی ساده در گوگل دورههای برنامهنویسی فارسی بسیاری را خواهید یافت. در ادامه به زبانهای برنامهنویسی رایج جهت توسعه و طراحی سیستمهای مبتنی بر هوش مصنوعی اشاره می کنیم:
پایتون (Python)
پایتون به دلیل سادگی، قابلیت اطمینان بالای کد و اجرای سریعتر، به طور گسترده در هوش مصنوعی و یادگیری ماشینی استفاده می شود. این زبان برنامهنویسی به شما کمک میکند تا بتوانید با حداقل کد، الگوریتمهای پیچیده بنویسید. همچنین با استفاده از کتابخانههای از پیش ساخته شده آن، محاسبات پیشرفته و علمی را به راحتی انجام دهید. به دلیل اهمیت این زبان برنامهنویسی در یادگیری هوش مصنوعی در بخش آتی مفصلتر در این زمینه صحبت خواهیم کرد.
جاوا (Java)
جاوا نیز به طور گسترده در هوش مصنوعی برای اجرای پیادهسازی نگاشت کاهش، برنامهنویسی هوشمند، برنامهنویسی ژنتیک، الگوریتمهای جستجو، شبکههای عصبی، راهحلهای مبتنی بر یادگیری ماشین و موارد دیگر استفاده میشود. با این حال برای یادگیری برای برنامهنویسان مبتدی بیشتر پایتون توصیه میشود.
جاوا اسکریپت (JavaScript)
جاوا اسکریپ بسیار شبیه جاوا است با این تفاوت که جاوا اسکریپت بیشتر برای وبسایتهای پویا و امن استفاده میشود. این زبان برنامهنویسی غالبا به صورت تعاملی با سایر سورس کدها نظیر Css و HTML کار میکند و عملکردهای مختلفی را از توابع مربوط به دکمهها و چندرسانهایها گرفته تا ذخیرهسازی دادهها را مدیریت میکند.
C++
زبان برنامهنویسی قدیمی و خوب C++ در هوش مصنوعی غالبا برای فعال کردن برنامهنویسی رویهای و دستکاری منابع سختافزاری استفاده میشود. میتوانید از این زبان برنامهنویسی، برای توسعه سیستم عاملها، مرورگرها و بازیهای ویدیویی استفاده کنید. انعطافپذیری و عملکردهای شیگرای آن تاکنون در هوش مصنوعی بسیار مفید واقع شده است.
R
برای محاسبات آماری، تحلیل عددی، یادگیری ماشین، شبکههای عصبی و موارد دیگر به R نیاز دارید. R به شما این امکان را میدهد که مجموعههای داده را جمع آوری و سازماندهی کنید، یادگیری ماشین و توابع آماری را اعمال کنید و از تبدیلهای ماتریسی و جبر خطی برای پردازش داده ها استفاده کنید.
آموزش هوش مصنوعی در پایتون
زبانهای برنامهنویسی را میتوانید با یادگیری پایتون (Python) شروع کنید. پایتون یکی از آسانترین زبانهای برنامهنویسی برای یادگیری است. از طرف دیگر، پایتون به نوعی استاندارد تبدیل شده است که اغلب شرکتها و کارفرمایان از شما انتظار دارند به این زبان برنامهنویسی مسلط باشید. نکتهی دیگر کتابخانههای پایتون است که بسیار قدرتمند و غنیاند. انتخاب دورههای آموزشی پایتون از میان این همه دوره کار سختی است. اینجا ما برای نمونه به دو دورهی آموزشی پایتون اشاره میکنیم. با یک جستوجوی ساده در گوگل میتوانید به این دورهها برسید:
- آموزش پایتون مقدماتی مکتبخونه
- مبانی برنامهنویسی و تفکر الگوریتمی کوئرا
آموزش هوش مصنوعی در دستگاههای اندروید
یادگیری ماشین را میتوان یک رویکرد برنامهنویسی دانست که به برنامههای اندرویدی شما این قابلیت را میدهد که به طور خودکار از تجربه یاد بگیرند و بدون اینکه به طور واضح برای این کار برنامهریزی شده باشند، پیشرفت کنند. علاوه بر این، استفاده از دادههای بدون ساختار مانند تصاویر و یا متونی که از منابع مختلف بدست میآیند و یا حل مسائل با تعداد پارامترهای زیاد مانند پیشبینی تیم ورزشی برنده از جمله مزایای استفاده از هوش مصنوعی در برنامههای اندرویدی است. در حال حاضر طیف گستردهای از ابزارها برای استفاده از الگوریتمهای یادگیری ماشین در اندروید ارائه شده که برخی از مهمترین آنها به شرح زیر است:
- راهنمای طراحی الگوریتمهای یادگیری ماشین (راهنمای People+AI): این کتاب راهنما که توسط شرکت گوگل منتشر شده از 6 بخش کلی با هدف یکپارچه سازی خواستههای مدیران محصول و طراحان تشکیل شده است. به طور کلی این کتاب، بهترین شیوهها را برای کمک به تیم شما در توسعه محصول هوش مصنوعی ارائه میکند.
- ابزار توسعه ML KIT توسط شرکت گوگل: هدف از ایجاد این ابزار توسعه (SDK) کمک به توسعه دهندگان اندروید در سراسر جهان است تا بتوانند به کمک ان آن نرمافزارهای هوش مصنوعی را برای پلتفرم اندروید ایجاد کنند. این ابزار توسعه از دو دسته API برای تجزیه و تحلیل تصویر و ویدئو (برچسب زدن تصاویر و تشخیص بارکد، متن، چهره و اشیاء) و پردازش زبان طبیعی (شناسایی و ترجمه 58 زبان و ارائه پیشنهادات پاسخ) تشکیل شده است.
آموزش هوش مصنوعی برای کودکان
دنیای هیجان انگیز هوش مصنوعی و یادگیری ماشینی فقط مختص دانشمندان کامپیوتر نیست بلکه بچههای ما نیز میتوانند همین الان شروع به کشف آن کنند. امری است که امروزه بر روی آن بسیار تمرکز شده است زیرا این فناوری آینده را شکل خواهد داد که بدون شک فرزندان ما بیشترین تأثیر را از این تغییرات خواهند گرفت. زندگی و شغل آنها مستلزم فراگیری مجموعهای متفاوت از مهارتهایی است که امروزه از آنها استفاده میکنیم. از طرف دیگر با آموزش هوش مصنوعی در پایه میتوان با افزایش آگاهی کودکان، ترسشان را از محیط و تجهیزات هوشمند پیرامونشان کاهش داد، به تقویت خلاقیت و تواناییهایی نظیر مهارت حل مسأله و استدلال ریاضی کمک کرد و به طور کلی آنها را در ساخت آینده، تواناتر ساخت.
همچنین شرکت ایرانی AI4Kids به طور تخصصی در این زمینه فعالیت مینماید و خدماتی نظیر ساخت اسباببازیهای هوشمند در راستای افزایش خلاقیت و ایجاد انگیزه یادگیری در کودک و نوجوان، توسعه اپلیکیشن آموزشی و درمانی بر پایهی هوش مصنوعی برای کودک و نوجوان، تولید و ساخت گجتهای سلامتی و نظارتی هوش مصنوعی کودک و نوجوان و برگزاری دورههای آموزشی به علاقمندان و معلمان جهت ایجاد آمادگی و مهارت به منظور تدریس هوش مصنوعی به کودک و نوجوان ارائه میدهد.
آموزش هوش مصنوعی در بورس
سرمایهگذاری در بورس یکی از روشهای سرمایهگذاری در کشور عزیزمان ایران است. اما این نوع سرمایهگذاری یک مشکلی داره که پر از عدم قطعیت است. یعنی اگر ما بتوانیم پیشبینی کنیم چه اتفاقی در آینده برای قیمت سهام میافته و یا چه نوساناتی از بازار در انتظارمونه مسلما خیلی بهتر میتونیم سبد سهام خودمون را مدیریت کنیم. این امر به کمک هوش مصنوعی خیلی خیلی آسون و راحت انجام می شه. نه تنها هوش مصنوعی پیشگوی خوبیست برای اتفاقات پیشرو در بازار بورس، بلکه با شناسایی الگوها و قابلیت تجزیه و تحلیل دادههای فراوان و از همه مهمتر بدون هیچگونه احساسات و خستگی میتواند به ما توی سرمایهگذاری مشورت بدهد و کمک کند!
استفاده از هوش مصنوعی در بورس شامل مراحل کلی زیر است:
- جمعآوری دادهها از سایتهای مختلفی نظیر بانک مرکزی، مرکز آمار ایران، Alpha Vantage و غیره
- پیشپردازش دادهها
- تعریف مدلها و الگوریتمهای مختلف هوش مصنوعی با توجه به اهداف تعریف شده که این امر میتواند موارد مختلفی را پوشش دهد از قبیل:
– پیشبینی قیمت سهام و یا نوسانات بورسی
– الگوشناسی
– تحلیل احساسات
– شبیهسازی معاملات بورسی با استفاده از دادهها
4. تحلیل نتایج مدلهای طراحی شده و اصلاح آنها در صورت لزوم
جمعبندی
در این مقاله، سعی کردیم تصویری کلی و بسیار خلاصه از بخشهای مختلف هوش مصنوعی برایتان ترسیم کنیم تا در شروع یادگیری هوش مصنوعی نقشهی راهی داشته باشید. واقعیت این است که دیگر نمیتوان هوش مصنوعی را نادیده گرفت. دور نیست روزی که آگاهی از حوزهی هوش مصنوعی از ملزومات بدیهی همهی شغلها تلقی شود. فردای جهان از آن هوش مصنوعی است. یادگیری هوش مصنوعی را پشتگوش نیندازید. راستش را بخواهید شاید فردا برای شروع یادگیری هوش مصنوعی دیر باشد. حالا که قصدش را کردهاید که یادگیری را شروع کنید همین مقاله میتواند نقطهی آغازی برای فرایند یادگیریتان باشد. پیشنیازهایی را که در مقاله آوردیم یاد بگیرید. یادگیری هوش مصنوعی را هم از بخشی آغاز کنید که بیشتر علاقه دارید. برای آموزشها و مطالب بیشتر از لینکهای داخل مقاله استفاده کنید.