فرق بین هوش مصنوعی، یادگیری ماشین و یادگیری عمیق
در این بخش میخواهیم فرق بین هوش مصنوعی ، یادگیری ماشین و یادگیری عمیق را توضیح بدهیم تا متوجه بشویم که این مفاهیم چه ارتباطی با حوزه علوم داده کاوی دارند. خیلی از ما درک درستی از این سه عبارت نداریم و در بعضی جاها به درستی از این کلمات استفاده نمیکنیم. اگر بخواهیم در یک جمله توضیح بدیم هوش مصنوعی به طور ساده به هر کد، تکنیک یا الگوریتمی که ماشینها رو قادر میسازند تا رفتاری شبیه انسان داشته باشند. حال ممکن است این کد ما از یه شرطها تشکیل شده باشد که برنامهنویس نوشته است و یا یک رابطه ریاضیاتی هست که مقدار ثابتی به ازای یک ورودی خاصی تولید می کند. در این موارد ما یک ماشین را هوشمند کرده ایم ولی نمیتوان به الگوریتم استفاده شده یادگیری ماشین گفت. به طور کلی هر الگوریتم یادگیری ماشین جزء زیرمجموعه هوش مصنوعی است ولی هر الگوریتم هوش مصنوعی، الگوریتم یادگیری ماشین حساب نمیشود. به همین ترتیب هر الگوریتم یادگیری عمیق جزء الگوریتمهای یادگیری ماشین است ولی هر الگوریتم یادگیری ماشین، الگوریتم یادگیری عمیق حساب نمیشود. در ادامه بیشتر توضیح داده ایم.
هوش مصنوعی(Artificial intelligence )
جان مک کارتی که به عنوان پدر هوش مصنوعی شناخته میشود، هوش مصنوعی را چنین تعریف میکند:
” دانش مهندسی که ماشینها را هوشمند میکند “
در اینجا چند تعریف دیگه را آورده ایم:
- شاخه ای از علوم کامپیوتر است که با هوشندسازی کامپیوترها سر و کار دارد.
- قابلیت یک ماشین برای تقلید رفتار انسان است.
- کامپیوتری است که قادر به انجام کارهایی مانند درک بصری، تشخیص گفتار، تصمیم گیری و ترجمه بین زبانها است.
- به طور ساده کد، تکنیک یا الگوریتمی است که ماشینها رو قادر میسازند تا رفتاری شبیه انسان داشته باشند.
روشهای زیادی برای شبیه سازی رفتار انسان وجود دارد. اما برخی از الگوریتم نسبت به سایر الگوریتمها هوشمندتر هستند.
هوش مصنوعی میتواند مجموعه از دستورات شرطی if-then یا یک مدل آماری پیچیده باشد، که داده خام را با پردازش به چندین دسته در خروجی دسته بندی میکند. یعنی یک داده خام وارد مدل شود و یک عدد در خروجی ایجاد کند که شماره کلاس داده را مشخص میکند. به این دستورات شرطی if-then گاها Rules engines, expert systems, knowledge graphs or symbolic AI نیز میگویند.
دستورات شرطی if-then یک سری قوانین ساده ای هستند که توسط یک شخص مشخص میشود که به این نوع هوش مصنوعی در واقع GOOD Old-Fashion AI یا به اختصار (GOFAI) گفته میشود. زمانی که یک برنامه کامپیوتری توسط محققین نوشته شد و موفقیتهای زیادی مثل برنده شدن در مسابقه شطرنج، کسب کرد خیلی از افراد گفتند که این یک هوش واقعی نیست، زیرا که توسط یک شخص این دستورات نوشته شده است که کاملا درک شده است.
یادگیری ماشین(machine learning): برنامههایی که خودشان را تغییر میدهند
یادگیری ماشین یک زیر مجموعه ای از هوش مصنوعی است، به این معنی که تمام الگوریتمهای یادگیری ماشین، هوش مصنوعی به حساب میآیند ولی تمام الگوریتمهای هوش مصنوعی یادگیری ماشین به حساب نمیآیند. برای مثال Rules engines, expert systems, knowledge graphs or symbolic AI همگی زیر مجموعه هوشمصنوعی هستند ولی زیر مجموعه یادگیری ماشین نیستند.
یکی از تفاوتهایی که یادگیری ماشین را با سایر الگوریمتهای if-then جدا میکند این است که الگوریتمهای یادگیری ماشین میتوانند ساختار خودشان زمانی که اطلاعات جدید میآید تغییر بدهند. یادگیری ماشین پویا است و برای تغییرات خاصی نیاز به مداخله انسان ندارند و این باعث میشود که این الگوریتمها کمتر به شخص متکی باشند و البته robust تر باشند.
آرتور ساموئل(Arthur Samuel) یکی از پیشگامان یادگیری ماشین در سال 1959 یادگیری ماشین چنین تعریف کردند:
یادگیری ماشین یک حوزه مطالعاتی است که به کامپیوترها توانایی یادگیری میدهد بدون اینکه یک برنامه مشخص برای آنها نوشته شود.
منظور آقای ساموئل از برنامه صریح همان دستورات شرطی if- then است. در دستورات شرطی برنامهنویس خودش یک سری شرطها تعیین میکند و طبق اون سیستم یک کاری را انجام میدهد و اگر دادهی جدید یک مقدار تغییرات داشته باشد کامپیوتر نمیتواند مسئله را حل کند. ولی در یادگیری ماشین کاربر به مدل دادههای مختلف ارائه میدهد و طبق اون دادهها مدل ساختار خودش را تنظیم میکند و در نهایت کامپیوتر میتواند روی داده جدیدی که تغییراتی هم کرده باز درست کار کند.
آقای ساموئل به برنامه کامپیوتری یاد داد که چکرز( Checkers) بازی کند. هدف آقای ساموئل این بود که به کامپیوتر یاد بدهد که بهتر از او چکرز بازی کند، که در اینصورت نمیتوانست خودش به صورت صریح یک کد بنویسد. بالاخره او موفق شد. برنامه او در سال 1962 توانست قهرمان چکرز را شکست دهد!
مفهوم دقیق یادگیری ماشین
عبارت “یادگیری” در یادگیری ماشین به این معناست که الگوریتمهای یادگیری ماشین سعی دارند در بعد محدودی خود را بهینه کنند.
الگورتیمهای یادگیری ماشین معمولا سعی بر حداقل کردن یک خطا دارند. این خطا سه تا اسم دارد: تابع هزینه، تابع خطا، تابع هدف.
خب شاید سوال الان این باشد که چطور تابع هزینه رو حداقل میکنند؟ یک راه این است که الگوریتم ساختارش را طوری تعیین کند که پیشبینیهای خود را با خروجی واقعی داده یکسان شود. الگورتیمهای یادگیری ماشین زیادی وجود دارد که در مورد این مباحث در دوره پیادهسازی شبکههای عصبی، شناسایی آماری الگو، و یادگیری ماشین مفصل توضیح میدهیم.
به طور کلی اگه بخواهیم در یک شکل فرایند یادگیری ماشین رو توضیح بدیم بهتر است به شکل زیر نگاه کنید:
یادگیری ماشین از چند بخش تشکیل شده است؛ در ابتدا داده وارد سیستم میشود، سپس داده پیش پردازش شده و اگر نویزی و یا آرتیفکتی داشته باشده در ابتدا حذف میشوند و سپس از داده خام یک سری ویژگی استخراج میشود، این ویژگیها نماینده داده خام خواهند بود، (بعد در مورد روشهای استخراج ویژگی به طور مفصل صحبت خواهیم کرد)، سپس این دادهها به الگوریتم کلاسبند یا خوشهبند داده میشود که نقش تصمیم گیرنده دارند.
یادگیری عمیق(Deep learning)
یادگیری عمیق زیر مجموعه یادگیری ماشین است. بسیاری از ما وقتی عبارت یادگیری عمیق را استفاده میکنیم منظورمان شبکههای عصبی مصنوعی عمیق است. شبکههای عصبی مصنوعی عمیق مجموعه از الگوریتمهایی هستند که رکوردهای جدیدی در بسیاری از مسائل مهم مثل تشخیص تصویر، تشخیص صدا، سیستمهای پیشنهاده، پردازش زبان طبیعی و غیره ثبت کرده اند.
در یادگیری عمیق ما بخش استخراج ویژگی و کلاسبندی به صورت جدا نداریم و داده به صورت مستقیم به الگوریتم اعمال میشود و در خروجی لیبل داده بدست میآید، در واقع بخش کلاسبندی و بخش استخراج ویژگی باهم ادغام میشوند.
عبارت عمیق به این خاطر استفاده میشود که به جای اینکه یک لایه پنهان در ساختار شبکه عصبی عصبی باشد، چندین لایه پنهان در ساختار لایه وجود دارد. لایههای پنهان به شبکهها این قابلیت را میدهند که یاد بگیرند و ویژگیهای داده خام را استخراج کنند.
در ویدیو زیر بیشتر توضیح داده ایم:
سلام
آیا این دوره تا پایان رایگان هست؟
و اینکه هم ویدویی و هم متنی در سایت ارسال می کنید
سلام
در این دوره یه سری مطالب و کلیپ کوتاه در مورد یادگیری ماشین قرار داده میشود که یک دید کلی در این حوزه ارائه میدهند.
جهت یادگیری تخصصی مطالب، دوره زیر رو بررسی کنید. 75 ساعت ویدیوی تخصصی در این حوزه آموزش داده شده است و کلی پروژه عملی انجام شده است.
https://onlinebme.com/product/season-1-4-packages-pattern-recognition/
موفق باشید
سلام. آیا در این دوره یادگیری عمیق هم آموزش داده می شود؟
سلام بله سال جدید دوره های یادگیری عمیق به اموزش ها اضافه خواهد شد.
قبل این دوره ها بهتر است دوره ی شبکه عصبی رو سپری کنید.
https://onlinebme.com/product/neural-networks-package/
موفق باشید