شاید مهمترین سوال این باشد که اصلا در ساخت هوش مصنوعی با چه چیزهایی سر و کار داریم؟
البته این سوال، سوال خوبی است ولی از نظر من تا حدودی اشتباه. پرسیدن این سوال به مانند این است که شما بگویید، در علم ریاضی با چه فرمولهایی باید سر و کله بزنیم! من کلمه هوش مصنوعی را به یک کتابخانه تشبیه میکنم، زمانی که وارد بر دنیای آن شوید میبینید که چه تعداد کتابهای مختلفی درون این کتابخانه جای گرفته است.
اگر به یادگیری هوش مصنوعی علاقهمند هستید، ولی همیشه از ریاضیات و فرمولها فراری بودید، پیشنهاد میکنم سلیقه خود را بازنگری کنید!!
برخلاف تصور اکثریت مردم، هوش مصنوعی تنها وابسته به برنامه نویسی نیست. اگر بخواهید سیستمی را پیادهسازی کنید باید زبانهای برنامه نویسی از جمله Python, Matlab و ..، یا کار با ابزارهایی از قبیل Weka,RapidMiner و .. را بلد باشید، ولی این تنها بخشی از کار است. بخش دیگر ساخت فرمولهای ریاضی و حل کردن معادلات سخت و نفسگیر آنها است. پس بهتر است برای یادگیری هوش مصنوعی ابتدا با ریاضیات آشتی کنید.
متاسفانه به دلیل آموزشهای ضعیفی که در کشور ما برای این رشته صورت گرفته است، شاید ذهنیت درستی از موضوع هوش مصنوعی نداشته باشید و من به شما پیشنهاد میکنم ابتدا حتما کتاب هوش مصنوعی راسل و نورویگ را مطالعه کنید. بعد از مطالعه این کتاب جواب خیلی از سوالات خود را میتوانید پیدا کنید، و تازه در این مرحله این قدرت را دارید که از خود بپرسید "حالا من به چه بخشی از آن علاقه مندم؟"
بهتر است از این به بعد دو دسته برای خودمان درست کنیم.
دسته اول: پیش نیازهای هوش مصنوعی.
دسته دوم: علوم تخصصی مربوط به شاخه انتخابی شما از هوش مصنوعی.
پیش نیازهای هوش مصنوعی
یادگیری ماشین (Machine learning):
یادگیری ماشین به تنظیم و اکتشاف شیوهها و الگوریتمهایی میپردازد که بر اساس آنها رایانهها و سامانهها توانایی تعلٌم و یادگیری پیدا میکنند. دیگر این شما نیستید که به سیستم یاد میدهید چگونه باید تصمیم بگیرد! ماهیت اصلی سیستمهای هوش مصنوعی قابلیت خود یادگیری است. یادگیری ماشین میتواند با تکنیکهای مختلفی اجرا شود که مهم ترین بخشهای آن شامل موارد زیر است:
-
شبکههای عصبی مصنوعی:
برای آشنایی با شبکههای عصبی به ساختار شبکههای عصبی مصنوعی به زبان ساده (Artificial Neural Network) مراجعه کنید.
-
داده کاوی
-
الگوریتمهای تکاملی
-
تصور مصنوعی
-
یادگیری عمیق
برای آشنایی با یادگیری عمیق به یادگیری عمیق، جذابیت دنیای اتوماسیون مراجعه کنید.
همانطور که گفته شد یادگیری ماشین به شیوههایی برای تعلم مربوط میشود. ولی فراموش نکنید که یادگیری باید بر روی دادهها انجام گیرد. بخش مهم بعدی داده کاوی است.
داده کاوی (Data Mining):
دادهها میتوانند در ابعاد کوچک (چند کیلوبایتی) یا بزرگ - Big Data (چند ترابایتی) باشند. شیوههای مختلفی برای استخراج دادهها ساخته شده است که برخی از آنها را خدمت شما معرفی میکنم:
-
توصیفی
-
خوشه بندی
-
رگرسیون
-
دسته بندی
-
سری های زمانی
-
......
بهتر است صحبتهایم را جمع بندی کنم، اگر شخصی از من بپرسد که از کجا هوش مصنوعی را شروع کنم، من این ترتیب را به او پیشنهاد میکنم.
1- با ریاضیات آشتی کن.
2- کتاب هوش مصنوعی راسل و نورویگ را بخوان.
3- یادگیری ماشین را بشناس.
4- شبکههای عصبی را یاد بگیر.
5- حتما حتما حتما یادگیری عمیق را بشناس. (به زودی دنیا را دگرگون میکند!)
6- در مرحله آخر تکنیکهای داده کاوی را فرا بگیر.