هوش مصنوعی یا Artificial Intelligent گرایش نسبتا جدیدی در علوم است که میخواهد تحولات اساسی در زندگی مردم ایجاد کند. میتوانیم بگوییم هوش مصنوعی ترکیبی از علوم مختلف برای هوشمند کردن ماشینها است. از زیرشاخههای معروف هوش مصنوعی یادگیری ماشین یا Machine Learning میباشد که این روزها به شدت مورد بحث قرار میگیرد. در این مقاله قصد داریم در مورد ماشین لرنینگ (Machine Learning) صحبت کنیم.پس اگر شما هم به هوش مصنوعی و ماشین لرنینگ علاقه دارید با ما تا انتهای این مقاله همراه باشید.
ماشین لرنینگ (Machine Learning)
آرتور ساموئل (Arthur Samuel) امریکایی، از پیشروهای حوزه بازی های کامپیوتری و هوش مصنوعی، عبارت “یادگیری ماشینی” را در سال 1959 که در IBM کار می کرد، به ثبت رساند. یادگیری ماشین، که از اُلگوشناسی و نظریه یادگیری محاسباتی الهام گرفته شده است.
ماشین لرنینگ مطالعه و ساخت الگوریتم هایی را که می توانند بر اساس داده ها یادگیری و پیش بینی انجام دهند بررسی می کند . یادگیری ماشین در کارهای محاسباتی که طراحی و برنامه نویسی الگوریتم های صریح با عملکرد مناسب در آن ها سخت یا نشدنی است، استفاده می شود؛
برخی کاربردهای آن عبارت اند از : فیلترینگ ایمیل ، شناسایی مزاحم های اینترنتی یا بدافزارهای داخلی که قصد ایجاد رخنه اطلاعاتی دارند، یادگیری رتبه بندی، و ……
یادگیری ماشین ارتباط نزدیکی با آمار محاسباتی دارد (و اغلب با آن هم پوشانی دارد)، تمرکز این شاخه نیز پیش بینی کردن توسط رایانه است و پیوند محکمی با بهینه سازی ریاضی دارد، که آن هم روش ها، تئوری ها و کاربردهایی را وارد میدان می کند. یادگیری ماشین گاهی اوقات با داده کاوی ادغام می شود؛ تمرکز این زیرشاخه بر تحلیل اکتشافی داده ها است و با عنوان یادگیری بی نظارت شناخته می شود. یادگیری ماشین نیز می تواند بی نظارت باشد و برای یادگیری و شناخت فرم ابتدایی رفتار موجودات مختلف و سپس پیدا کردن ناهنجاری های معنادار استفاده شود.
روشهای ماشین لرنینگ
ماشین لرنینگ روشهای گوناگونی دارد که در چهار دسته اصلی قرار میگیرند :
- «یادگیری نظارت شده» (Supervised Learning | یادگیری با ناظر)
- «یادگیری نظارت نشده» (Unsupervised Learning | یادگیری بدون ناظر | یادگیری غیر نظارت شده)
- «یادگیری نیمهنظارت شده» (Semi-Supervised Learning)
- «یادگیری تقویتی» (Reinforcement Learning)
روشهای نظارت شده
در روش یادگیری نظارت شده، ورودی و خروجی الگوریتم از ابتدا مشخص است. در واقع، الگوریتم یادگیری ماشین نظارت شده، شروع به تجزیه و تحلیل روی مجموعه دادههای ورودی (دادههای آموزش | Train Data | Train Set) میکند. در نهایت، الگوریتم یادگیری نظارت شده پس از آموزش دیدن روی مجموعه داده دارای خروجیهای مشخص، یک الگو و یا به بیان بهتر، مدلی را استنباط میکند که دادههای ورودی بر اساس آن به دادههای خروجی مبدل میشوند.
ماشین آموزش دیده قادر خواهد بود با استفاده از مدل استنباط شده، خروجی را برای نمونه دادههای جدید با یک ضریب خطای مشخص، پیشبینی کند. این الگوریتم میتواند خروجی خود را با خروجی صحیح و از قبل تعیین شده مقایسه کند و خطاهای موجود را بیابد تا بر اساس آن مدل را اصلاح کند.
روشهای نظارت نشده
الگوریتمهای یادگیری ماشین نظارت نشده هنگامی استفاده میشوند که در دادههای مورد استفاده جهت آموزش ماشین، ورودی و خروجی سیستم از ابتدا مشخص نباشند. در واقع، در این نوع مسائل یادگیری ماشین، هدف ارتباط ورودی و خروجی نیست؛ بلکه الگوریتم یادگیری ماشین به دنبال تابعی برای توصیف ساختار پنهان و خاص موجود در دادهها است (منظور دادههای ورودی است که خروجی آنها مشخص نیست).
در روشهای یادگیری ماشین نظارت نشده، الگوریتم با بررسی شباهتها و تفاوتهای میان دادهها، به یک الگو برای خوشهبندی کردن دادهها دست پیدا میکند و بر اساس این الگو، میتواند خروجی را برای نمونه دادههای جدید پیشبینی کند.
اگر به این رشته علاقه مند هستید دوره آشنایی و پیاده سازی الگوریتم های یادگیری ماشین را از دست ندهید
روشهای نیمهنظارت شده
الگوریتمهای یادگیری ماشین نیمهنظارت شده، از جمله روشهای یادگیری ماشین هستند که میتوان گفت بین یادگیری باناظر و یادگیری بدون ناظر قرار میگیرند. در یادگیری نیمهنظارتی، از هر دو نوع داده، یعنی دادههایی با خروجی مشخص (برچسبدار | Labeled Data) و دادههایی فاقد خروجی مشخص (فاقد برچسب | Unlabeled Data) برای مرحله آموزش مدل استفاده میشود. به طور معمول در زمان آموزش یک مدل یادگیری نیمهنظارت شده، از مقدار کمی از دادههای دارای برچسب و مقدار زیادی از داده های بدون برچسب بهره برده میشود. سیستمهایی که از این روش استفاده میکنند، به میزان قابل توجهی دقت یادگیری را بهبود میبخشند.
البته، چنانکه پیش از این نیز بیان شد، پیرامون وجود دستهای از روشها با عنوان روشهای یادگیری ماشین نیمهنظارت شده، بین پژوهشگران اختلاف نظر وجود دارد و در واقع، گروهی برای این باور هستند که روشهای نیمهنظارت شده در واقع همان روشهای بدون ناظر هستند.
روشهای یادگیری تقویتی
در یادگیری تقویتی، «عامل هوشمند» (Intelligent Agent) با انجام اقداماتی در محیط و دیدن نتایج آنها، با محیط خود ارتباط برقرار میکند. نتیجه ارتباط عامل با محیط میتواند یک خطا یا یک پاداش باشد. هدف در روشهای یادگیری تقویتی، بیشینه کردن پاداش است. در واقع، عامل در مسیر بیشینه کردن پاداش (امتیاز) اقدام میکند و در غیر این صورت، خطا (مجازات | تنبیه) دریافت میکند. در یادگیری تقویتی، عامل هوشمند برای انجام تصمیمگیریهای متوالی آموزش میبیند یا به بیان دیگر، عامل میآموزد که در یک محیط نامعلوم و پیچیده به هدف یعنی همان بیشینه کردن پاداش برسد.
برای فراگیری روشهای یادگیری ماشین، نیاز به تخصیص زمان و استفاده از آموزشهای کامل، جامع و به زبان ساده است. در بخش بعدی این مطلب، منبع به زبان فارسی و جامع یادگیری ماشین، معرفی شده است.
کاربردهای یادگیری ماشین
برخی کاربردهای ماشین لرنینگ (Machine Learning) شامل موارد زیر است:
- اثبات قضیه بطور خودکار
- وبسایت های تطبیقی
- هوش مصنوعی احساسی
- بیوانفوماتیک
- واسط مغز و رایانه
- شیمی انفورماتیک
- طبقه بندی رشته های DNA
- آناتومی محاسباتی
- بینایی ماشین، از جمله شناسایی اشیاء
- شناسایی کارت اعتباری جعلی
- بازی عمومی (general game playing)
- بازیابی اطلاعات
- شناسایی کلاه برداری های اینترنتی
- زبان شناسی
- بازاریابی
- کنترل یادگیری ماشین
- ادراک ماشین
- تشخیص پژشکی
- اقتصاد
- بیمه
- پردازش زبان طبیعی
- استنباط زبان طبیعی
- بهینه سازی و الگوریتم های فرا ابتکاری
- تبلیغات آنلاین
- سیستم های توصیه گر
- حرکت ربات
- موتورهای جستجو
- تحلیل احساسات (یا نظر کاوی)
- مهندسی نرم افزار
- شناسایی گفتار و دست نوشته
- تحلیل بازارهای مالی
- نظارت بر درستی ساحتار
- الگوشناسی ترکیبی
- پیش بینی سری های زمانی
- تحلیل رفتار کاربر
- ترجمه
یادگیری ماشین در کدام بخشهای زندگی ما دیده میشود؟
احتمالا به این فکر میکنید که یادگیری ماشین کجای زندگی ما حضور دارد و اصلا به چه دردی میخورد. آیا واقعا این علم توانسته راهش را به زندگی روزمره ما باز کند؟ جواب مثبت است
نگاهی به سرویسهای زیر بیندازید تا تاثیر ماشین لرنینگ در زندگی روزمره را حس کنید:
- گوشی هوشمند شما به طور خودکار چهره شما را تشخیص میدهد یا زمان عکس گرفتن چهره افراد را میتواند بشناسد.
- اینستاگرام، فیس بوک و سایر شبکههای اجتماعی با توجه به علایق و سلیقه شما تبلیغات و افراد مختلف را به شما نشان میدهند.
- آمازون، دیجی کالا و سایر فروشگاههای آنلاین با توجه تاریخچه جستجو شما محصولات جالبی را پیشنهاد میدهند.
- بانکها برای تشخیص تقلبی بودن بعضی از معاملات به صورت بلادرنگ از یادگیری ماشین استفاده میکنند.
مثالهای بالا تنها اشاره کوتاهی به کاربردهای یادگیری ماشین داشتند و این حوزه بسیار گستردهتر است.
تفاوت ماشین لرنینگ و دیپ لرنینگ
در حالی که بسیاری از افراد تصور میکنند دو کلمه «ماشین لرنینگ» و «دیپ لرنینگ» را میتوان به جای هم به کار برد، اما در حقیقت این دو رشته کاملا از یکدیگر متفاوت هستند. به صورت کلی، Deep Learning یا یادگیری عمیق زیرمجموعهای از ماشین لرنینگ به شمار میآید، چرا که مفهوم فنی و کاربردهای عملی آن چیزی به جز یکی از انواع یادگیری ماشین نیست. به همین دلیل است که بسیاری از افراد این دو را با هم اشتباه میگیرند و به یک معنا به کار میبرند.
کاری که یادگیری عمیق یا دیپ لرنینگ انجام میدهد ساختار بخشیدن به الگوریتمها به شکلی است که بتوانند یک شبکه عصبی مصنوعی (artificial neural network) ایجاد کنند، و این امکانی را فراهم میکند که الگوریتمها از طریق آن میتوانند هم یاد بگیرند و هم به شکل خودمختار تصمیمگیری کنند. این درست همان جایی است که تفاوت اصلی میان این دو تکنولوژی مطرح میشود.
تفاوت خودکارسازی یا اتوماسیون با ماشین لرنینگ
اگر فکر میکنید یادگیری ماشین اسم جدید و جذابی برای خودکارسازی یا اتوماسیون است سخت در اشتباه هستید ، این دو شاخه با هم تفاوت دارند.
بیشتر اتوماسیونهایی که اتفاق میافتند مبتنی بر قانون هستند. یعنی یک سری کارها با الگو از قبل تعریف شده انجام شوند. اما در ماشین لرنینگ ماشینها از کارهای قبلی خود چیزهای جدید یاد میگیرند. یعنی ماشینها میتوانند تصمیمات جدید بگیرند یا عملکرد خود را تغییر دهند.
یک مثال عالی برای درک تفاوت اتوماسیون و یادگیری ماشین سرویس ایمیل است. زمانی که ایمیلها به طور خودکار ارسال میشوند ما از اتوماسیون استفاده کردهایم و زمانی که یک فیلتر تشخیص اسپم روی آن قرار میدهیم، یعنی یادگیری ماشین را درگیر کردهایم.
3 مفهوم هوش مصنوعی (AI)، یادگیری ماشین (ML) و یادگیری عمیق (DL) معمولا در کنار هم قرار میگیرند و گاهی با هم اشتباه گرفته میشوند. Deep Learning شامل مفاهیم و الگوریتمهایی است که از شبکههای عصبی مصنوعی که ساختار مغز انسان را تشکیل میدهند الهام گرفته شده است.
به عبارتی دیپ لرنینگ زیرمجموعه یادگیری ماشین است و خودِ یادگیری ماشین هم به عنوان زیرمجموعه هوش مصنوعی در نظر گرفته میشود. تصویر زیر به خوبی رابطه این 3 مفهوم را نمایش میدهد.
ماشین لرنینگ یا یادگیری ماشین دانشی است که کمک میکند رایانهها بدون برنامهریزی مشخص و با الگو گرفتن از رفتار خودشان کارهای جدید انجام دهند. گفتیم که یادگیری ماشین به عنوان زیرمجموعهای از هوش مصنوعی به 3 دستهی کلی با نظارت، بدون نظارت و تقویتی تقسیم میشود. ماشین لرنینگ در بخشهای مختلف زندگی مردم حضور دارد و سرویسهای مختلفی به کمک این دانش ساخته میشوند.