یادگیری ماشین (Machine Learning) شاید در ابتدا که نام آن را میشنوید، موضوعی مبهم و گنگ باشد. یادگیری ماشین، هوش مصنوعی (Artificial Intelligence)، یادگیری عمیق (Deep Learning) کلماتی هستند که امروز در برنامههای تلویزیونی، محل کار، گردهماییها و دورهمیها احتمالاً زیاد میشنوید. اگر در این حوزه فعالیت نداشته باشید، احتمالاً از خودتان میپرسید یادگیری ماشین چیست؟ چه تفاوتی با هوش مصنوعی دارد؟ اصلاً ماشین لرنینگ به چه کاری میآید و کاربرد آن چیست؟اگر تازه با این عبارت آشنا شدهاید و در یادگیری ماشین تازه کار هستید، این مقاله برای شما مناسب است. پس تا انتهای مقاله همراه ما باشید.
یادگیری ماشین چیست؟
یادگیری ماشین یا ماشین لرنینگ زیرمجموعهای از هوش مصنوعی (AI) است. این تکنولوژی در مورد نوشتن کدهای نرمافزاری است که کامپیوترها (یا به طور کلی ماشینها) را قادر میسازد تا بدون دخالت انسان در یک کار خاص بهتر شوند و بهینه عمل کنند.
برخی افراد معتقدند که یادگیری ماشین روشی جذاب برای بیان “تحلیل آماری” است؛ تحلیل آماری در واقع علم جمعآوری دادهها و کشف الگوها و روندها است.
به طور کلی، ماشین لرنینگ به تمام دادههایی اطلاق میشود که روزانه تولید میشوند و مردم سعی میکنند آنها را برای بهتر کردن زندگیشان معنا کنند.
به عنوان مثال، اگر شخصی کارت اعتباری شما را بدزدد و تراکنش آنلاین انجام دهد، احتمالاً از بانک خود ایمیل یا پیامکی دریافت خواهید کرد که از شما میخواهد این تراکنش را تأیید کنید، در غیر این صورت بانک آن را تقلب و جعل تلقی می کند. الگوریتم (ماشین) بانک شما، الگوی خرید کارت اعتباری شما را از طریق سابقه خرید شما آموخته و وقتی تراکنش خارج از حد معمول تشخیص داده شود، بانک مشکوک میشود و تشخیص میدهد که ممکن است کلاهبرداری در حال اتفاق افتادن باشد. این یک شکل از یادگیری ماشین است و در طبقهبندی درخت تصمیم قرار میگیرد.
مثال دیگر یک شرکت خودروسازی است که تلاش میکند فروش سال آینده را بر اساس اعداد و دادههای گذشته و سوابق امسال پیشبینی کند، این نیز نوعی یادگیری ماشین است و میتواند در دسته رگرسیون خطی قرار بگیرد.
همچنین، برخی مواقع بر اساس اعتبار شما، یک بانک یا یک فروشگاه پیشنهادی برای درخواست وام یا کارت اعتباری و یا خرید اقساطی کم بهره ارسال میکند، اما همان پیشنهاد را برای دوست شما که اعتبار خوبی ندارد، ارسال نمیکند. این نیز نوعی از یادگیری ماشین است که میتواند در دسته خوشهبندی قرار بگیرد.
در نهایت، ماشینهای خودران بدون راننده در جادههایی که قبلاً هرگز ندیدهاند در اطراف شهر پرسه میزنند، این نیز نوعی ماشین لرنینگ است که یادگیری تقویتی نامیده میشود.
نمونههای بسیار بیشتری از یادگیری ماشین در زندگی روزمره ما وجود دارد، اما ما معمولاً به آنها توجه نمیکنیم چرا که در زندگی ما عادی و روتین شدهاند.
شرکت آویر یک شرکت فعال در حوزه هوش مصنوعی است که محصولات خود را بر اساس یادگیری ماشین و AI طراحی کرده است. تشخیص چهره، مانیتورینگ ویدیو، احراز هویت بایومتریک و تبدیل متن به صوت از جمله محصولات آویر هستند که از ماشین لرنینگ بهره میبرند.
جدول زمانی و تاریخچه یادگیری ماشین و تکامل ماشینها
لوازم خانگی و دستگاههای الکترونیکی دارای دستیار صوتی فعال، خودروهای خودران و کمپینهای بازاریابی آنلاین برخی از کاربردهای یادگیری ماشین هستند که ما در زندگی روزمره تجربه میکنیم و از مزایای آن لذت میبریم. با این حال، توسعه چنین اختراعات شگفتانگیزی به دههها قبل برمیگردد. بسیاری از ریاضیدانان بزرگ و متفکران آیندهنگر در پایهگذاری و توسعه یادگیری ماشین نقش داشتند.
نگاهی اجمالی به جدول زمانی یادگیری ماشینی بسیاری از حقایق پنهان و تلاشهای ریاضیدانان و دانشمندان بزرگ را نشان میدهد که تمامی نتایج امروز را که از آن لذت میبریم، مدیون آنها هستیم.
1812-1913: قرنی که شالوده یادگیری ماشین را بنا نهاد
این عصر پایه ریاضی را برای توسعه یادگیری ماشین بنا نهاد. قضیه بیز (Bayes’ theorem) و زنجیره مارکوف (Markovs Chains) در این دوره متولد شدند.
اواخر دهه 1940: تولد اولین کامپیوترها
کامپیوترها به عنوان ماشینهایی شناخته شدند که می توانند دادهها را ذخیره کنند. ماشین آزمایشی معروف منچستر در مقیاس کوچک (با نام مستعار “کودک منچستر”) متعلق به این دوران است.
1950: تولد رسمی یادگیری ماشین
علیرغم بسیاری از تحقیقات و مطالعات نظری انجام شده قبل از این سال، سال 1950 همواره به عنوان پایه یادگیری ماشین در معنای امروزی خود شناخته میشود. آلن تورینگ (Alan Turing)، محقق، ریاضیدان، نابغه کامپیوتر و متفکر، مقالهای را ارائه کرد که در آن چیزی به نام «بازی تقلید» را ذکر کرد و با پرسش این سوال که «آیا ماشینها میتوانند فکر کنند؟» جهان را شگفت زده کرد. تحقیقات او توجه شبکه خبری بی بی سی را – که مصاحبه ای اختصاصی با آلن داشت – را به خود جلب کرد.
1951: تولد اولین شبکه عصبی
اولین شبکه عصبی مصنوعی توسط ماروین مینسکی (Marvin Minsky) و دین ادموندز (an Edmonds) در سال 1951 ساخته شد. امروزه، همه ما میدانیم که شبکههای عصبی مصنوعی نقش کلیدی در فرآیند تفکر کامپیوترها و ماشینها دارند. فرآیند تفکر ماشینها را باید به اختراع این دو دانشمند نسبت داد.
1974: ابداع اصطلاح “یادگیری ماشین”
اگرچه تا آن زمان هیچ اصطلاح خاصی برای کارهایی که ماشینها به تنهایی انجام میدادند وجود نداشت، در سال 1974 بود که اصطلاح «یادگیری ماشین» به وجود آمد. کلمات دیگری مانند هوش مصنوعی، انفورماتیک و هوش محاسباتی نیز در همان سال پیشنهاد شدند.
1996: شکست بازیکن مرد شطرنجباز از یک ماشین
IBM کامپیوتر خود را به نام Deep Blue توسعه داد که میتواند فکر کند. این ماشین قهرمان معروف جهان در شطرنج، گری کاسپاروف را شکست داد. سپس به دنیا ثابت شد که ماشینها واقعاً میتوانند مانند انسان فکر کنند.
2006-2017: انتشار معکوس ، دسترسی به حافظه خارجی و AlphaGo
انتشار معکوس تکنیک مهمی است که ماشینها برای تشخیص تصویر از آن استفاده میکنند. این تکنیک در این دوره از زمان توسعه یافت.
علاوه بر این، در سال 2014، یک شبکه عصبی توسعه یافته توسط DeepMind، شرکت مستقر در بریتانیا، یک شبکه عصبی ایجاد کرد که میتواند به حافظه خارجی دسترسی داشته باشد و کارها را انجام دهد.
در سال 2016، AlphaGo توسط محققان DeepMind طراحی شد. این بازی لی سدول و کی جی بازیکنان معروف Go را شکست داد و ثابت کرد که ماشینها راه طولانی را پیمودهاند
اگر ماشین لرنینگ زیرمجموعهای از هوش مصنوعی است، پس هوش مصنوعی چیست؟
هوش مصنوعی یا AI علمی است که باعث میشود کامپیوترها از نظر تصمیمگیری، پردازش متن، ترجمه و غیره مانند انسانها رفتار کنند. هوش مصنوعی یک چتر بزرگ است که یادگیری ماشین و یادگیری عمیق را در برمیگیرد. هر الگوریتم یادگیری ماشین به عنوان AI در نظر گرفته میشود، اما هر الگوریتم هوش مصنوعی به عنوان یادگیری ماشین در نظر گرفته نمی شود.
مقایسه هوش مصنوعی، ماشین لرنینگ و دیپ لرنینگ
به عنوان مثال، ترجمه گوگل بر اساس هوش مصنوعی به نام پردازش زبان طبیعی (NTP) شناخته میشود. الکسای آمازون مبتنی بر چندین سرویس هوش مصنوعی است که ابتدا شما را درک میکند، تجزیه و تحلیل احساسات را اعمال می کند و آنچه را که گفتهاید میفهمد، سپس برای یافتن پاسخ جستجو میکند و با یک پاسخ صوتی جواب شما را میدهد.
تشخیص چهره در گوشی هوشمند شما نیز یک هوش مصنوعی با استفاده از شبکه عصبی پیچیشی یا CNN (Convolution Neural Network) است.
یادگیری عمیق زیرمجموعهای از یادگیری ماشین است که سعی میکند مغز انسان را از نظر استفاده آن از نورونها و لایهها برای یادگیری تقلید کند. در یادگیری ماشین باید به الگوریتم خود بگویید که چه ویژگیهایی را یاد بگیرد اما در یادگیری عمیق یا دیپ لرنینگ، ویژگیها به طور خودکار توسط الگوریتم استخراج میشوند.
یادگیری ماشین چگونه کار میکند؟
فرآیند یادگیری ماشین در پنج مرحله انجام می شود. مراحل به زبان ساده در زیر توضیح داده شده است:
- جمع آوری دادهها: شامل جمع آوری دادهها از محتوای متنوع، غنی و متراکم در قالبها و انواع مختلف است. این موضوع در زمان واقعی، شامل تغذیه دادهها از منابع مختلف مانند فایل های متنی، اسناد word یا برگههای اکسل است.
- آمادهسازی داده: شامل استخراج دادههای واقعی از کل محتوای تغذیهشده است. فقط دادههایی که واقعاً برای ماشین منطقی هستند، برای پردازش استفاده میشوند. این مرحله همچنین شامل بررسی دادههای از دست رفته، دادههای ناخواسته و تصحیح موارد بیربط است.
- آموزش: شامل استفاده از یک الگوریتم مناسب و مدلسازی دادهها است. دادههای فیلتر شده در مرحله دوم به دو قسمت تقسیم میشوند و بخشی از آنها به عنوان داده آموزشی و قسمت دوم به عنوان داده مرجع استفاده میشود. از دادههای آموزشی برای ایجاد مدل استفاده میشود.
- ارزیابی مدل: شامل آزمایش دقت آن است. برای تأیید صحت کامل آن، مدل توسعهیافته روی چنین دادههایی آزمایش میشود که در مرحله دوم در دادهها وجود ندارد.
- مرحله نهایی: در نهایت، عملکرد دستگاه با انتخاب مدل متفاوتی که با انواع مختلف دادههای موجود در کل مناسب است، بهبود مییابد. این مرحله ای است که در آن ماشین فکر میکند و در انتخاب مدل مناسب برای انواع مختلف داده ها تجدید نظر می کند.
انواع مختلف یادگیری ماشین چیست؟
یادگیری ماشین را می توان به 3 دسته تقسیم کرد:
یادگیری تحت نظارت (Supervised Learning): شما دادههای برچسبگذاری شده را به الگوریتم میدهید و الگوریتم باید از آن یاد بگیرد و چگونگی حل مسائل مشابه در آینده را بیابد. این مدل را این گونه در نظر بگیرید که اگر به الگوریتم مسائل و راه حل آن را میدهید، الگوریتم باید یاد بگیرد که چگونه این مسائل حل شدهاند تا مسائل آینده را به روشی مشابه حل کند. این موضوع مانند مثال بالا است که در آن بانک از الگوی رفتاری شما میآموزد که کدام تراکنشهای کارت اعتباری قانونی و کدامها تقلبی هستند.
یادگیری بدون نظارت (Unsupervised Learning ): شما بدون هیچ داده برچسبگذاری شده یا دانش قبلی در مورد اینکه پاسخ میتواند چه باشد، به الگوریتم مسائل را میدهید. این نوع ماشین لرنینگ را این گونه در نظر بگیرید که انگار مشکلات الگوریتم را بدون هیچ پاسخی میدهید، الگوریتم باید با ایجاد بینش از دادهها بهترین پاسخ را پیدا کند. این مدل شبیه به مثال خوشهبندی یا دستهبندی مشتریان بانک بر اساس پارامترهای مختلف است؛ بانک با این الگوریتم تصمیم میگیرد که برخی واجد شرایط پیشنهاد دریافت وام هستند یا خیر. این کار معمولاً با استفاده از روش یادگیری ماشین به نام K-Means انجام میشود.
یادگیری تقویتی (Reinforcement Learning ): این یادگیری زمانی است که الگوریتم از تجربه خود با استفاده از پاداش و تنبیه یاد میگیرد. سادهترین مثال برای این نوع ماشین لرنینگ، خودروهای خودران است.
چرا یادگیری ماشین ناگهان ترند شد؟
ماشین لرنینگ از دهه 50 میلادی یا شاید قبل از آن وجود داشته است. تاکید اخیر بر یادگیری ماشین به دلیل افزایش قدرت پردازش کامپیوتر و کاهش قیمت چیپستها است. به گوشی هوشمند موجود در جیب خود و تمام قدرت پردازشی موجود در آن فکر کنید، این امکانات در دهه 90 یا اوایل سال 2000 وجود نداشت.
همه این چیپستهای قدرتمند و مقرونبهصرفه CPU و GPU، یادگیری ماشین را مقرونبهصرفه کردهاند و آن را برای همه در دسترس قرار دادهاند. با چیپستهای ارزان، گسترش اینترنت و منابع باز، همه میتوانند از قدرت ماشین لرنینگ برای حل مشکلات روزمره استفاده کنند.
چگونه شرکت های بزرگ از یادگیری ماشین و هوش مصنوعی برای ارائه خدمات بهتر به مشتریان خود استفاده می کنند؟
بهترین مثال، پالایش گروهی یا Collaborative Filtering است که تقریباً توسط همه شرکتهای بزرگ استفاده میشود و اساساً موضوع بررسی این است که «از زمانی که مشتری این را خرید، به آن علاقهمند است یا خیر؟».
بیایید برای مثال نتفلیکس را در نظر بگیرید که چگونه بنرهایی را نشان میدهند که به شما پیشنهاد تماشای یک فیلم یا خرید یک محصول را میدهند. این همان پالایش گروهی است که توسط سیستمهای توصیهگر استفاده میشود و الگوریتمهای زیادی وجود دارد که آن را تقویت میکند، الگوریتم Apriori یکی از معروفترین آنها است.
ابزارهای موجود برای ساخت مدلهای ماشین لرنینگ چیست؟
یادگیری ماشین شامل ساخت الگوریتمهایی است که میتوانید آنها را با هر زبان برنامهنویسی که راحت هستید ایجاد کنید. دو زبان رایج یادگیری ماشین Python و R هستند. کتابخانههای یادگیری ماشین زیادی در این دو زبان وجود دارد، یکی از معروف ترین آنها Scikit-learn است.
اما همچنان میتوانید از ابزارهای هوش مصنوعی مبتنی بر فضای ابری هم استفاده کنید یا اگر کمی دانش برنامهنویسی دارید، میتوانید مدلهای آماده را همراه با دستورالعملهایی از منابع باز مانند GitHub دانلود کنید.
چگونه عملکرد یک مدل یادگیری ماشین را ارزیابی کنیم؟
این موضوع بسیار مهم است و به نوع یادگیری ماشین بستگی. به عنوان مثال، در الگوریتمهای رگرسیون و طبقهبندی یادگیری نظارت شده، از ماتریس در هم ریختگی (Confusion Matrix) استفاده می کنیم. ماتریس در هم ریختگی همراه با پارامترهایی مانند Recall و Precision می تواند به ما بگوید که مدل با مقایسه مقادیر واقعی برای مقادیر پیشبینیشده چگونه عمل کرده است.
خطای نوع 1 و خطای نوع 2 در ماشین لرنینگ چیست؟
خطای نوع 1 زمانی است که الگوریتم شما یک پیشینی مثبت انجام میدهد اما منفی است. به عنوان مثال، الگوریتم شما پیشبینی میکرد که بیمار مبتلا به سرطان است، اما در واقع اینطور نیست. این یک خطای نوع 1 محسوب میشود.
خطای نوع 2 زمانی است که الگوریتم شما یک پیشبینی منفی انجام میدهد اما مثبت است. به عنوان مثال، الگوریتم شما پیشبینی میکند که یک بیمار سرطان ندارد، اما در واقع او سرطان دارد. این یک خطای نوع 2 است.
الگوریتمهای ماشین لرنینگ
یادگیری ماشین الگوریتمهای بسیار زیادی دارد و به برنامهنویسان اجازه میدهد یکی را انتخاب کنند که به بهترین وجه با زمینه کار آنها سازگاری دارد. برخی از الگوریتمهای یادگیری ماشین عبارتند از:
- شبکههای عصبی
- درختهای تصمیمگیری
- جنگلهای تصادفی
- ماشین بردار پشتیبانی
- نقشهبرداری نزدیکترین همسایه
- خوشهبندی کی-میانگین
- نقشههای خودسازماندهنده
- الگوریتم امید ریاضی-بیشینهسازی
- شبکه بیزی
- تخمین چگالی هسته
- تجزیه و تحلیل مؤلفههای اصلی
- تجزیه مقدار منفرد
کدام صنایع از یادگیری ماشینی استفاده می کنند؟
یادگیری ماشین در بسیاری از صنایع به دلیل مزایای بالقوهای که ارائه میدهد، مورد استفاده قرار میگیرد. ماشین لرنینگ را میتوان برای هر صنعتی که با حجم عظیمی از دادهها سروکار دارد و چالشهای زیادی برای پاسخگویی دارد، اعمال کرد. به عنوان مثال، یادگیری ماشین برای سازمانهایی در حوزههای زیر که بهترین استفاده را از فناوری میکنند بسیار مفید است:
1. داروسازی
صنعت داروسازی سالانه میلیاردها دلار برای طراحی و آزمایش دارو در سراسر جهان هزینه میکند. یادگیری ماشین تنها با وارد کردن کل دادههای داروها و ترکیبات شیمیایی آنها و مقایسه با پارامترهای مختلف به کاهش چنین هزینهها و به دست آوردن نتایج با دقت کمک میکند.
2. بانکها و خدمات مالی
این صنعت دو نیاز اساسی دارد: جلب توجه سرمایهگذاران و افزایش سرمایهگذاری و هوشیاری و جلوگیری از تقلبهای مالی و تهدیدات سایبری. یادگیری ماشین این دو وظیفه اصلی را با سهولت و دقت انجام میدهد.
3. مراقبت های بهداشتی و درمان
یادگیری ماشین با پیشبینی بیماریهای احتمالی که میتواند روی بیمار تأثیر بگذارد، بر اساس دادههای پزشکی، ژنتیکی و شیوه زندگی، به بیماران کمک میکند تا نسبت به تهدیدات احتمالی سلامتی که ممکن است با آنها مواجه شوند، هوشیار بمانند. دستگاههای هوشمند پوشیدنی نمونهای از کاربردهای یادگیری ماشینی در مراقبت های بهداشتی هستند.
4. فروش آنلاین
شرکتها، الگوهایی را مطالعه میکنند که خریداران آنلاین از طریق یادگیری ماشینی اتخاذ میکنند و از نتایج آن برای نمایش تبلیغات، پیشنهادات و تخفیفهای مرتبط استفاده میکنند. شخصیسازی تجربه خرید اینترنتی، بررسی عرضه کالا و کمپینهای بازاریابی همگی بر اساس نتایج یادگیری ماشین هستند.
5. معدن، نفت و گاز
یادگیری ماشین به پیشبینی دقیق بهترین مکان در دسترس بودن مواد معدنی، گاز، نفت و سایر منابع طبیعی کمک میکند، که در غیر این صورت به سرمایه بیشتر، نیروی انسانی و زمان زیاد نیاز دارند.
6. طرحها و پروژههای دولتی
بسیاری از دولتها برای مطالعه علایق و نیازهای مردم خود از یادگیری ماشین کمک میگیرند. آنها بر این اساس از نتایج در طرحها و پروژهها، هم برای بهبود زندگی مردم و استفاده بهینه از منابع مالی استفاده میکنند.
7. اکتشافات فضایی و مطالعات علمی
یادگیری ماشینی به مطالعه ستارگان، سیارات و کشف اسرار سایر اجرام آسمانی با سرمایهگذاری و نیروی انسانی بسیار کمتر کمک زیادی میکند. دانشمندان همچنین در حال به حداکثر رساندن استفاده از یادگیری ماشین برای کشف حقایق مختلف شگفتانگیز در مورد زمین و اجزای آن هستند.
آینده دنیا با یادگیری ماشین
ماشین لرنینگ آرامآرام پا به تمامی حوزههای زندگی انسان گذاشته است. انتظار میرود که در آینده، این فناوری:
- تقریباً در تمام جنبههای زندگی انسان ورود پیدا کند؛
- در تجارت و صنایع، صرف نظر از اندازه آنها، همه جا حضور داشته باشد؛
- خدمات مبتنی بر فضای ابری را در خود ادغام کند؛
- با در نظر گرفتن نیاز به کارایی محاسباتی، تغییرات شدیدی را در طراحی CPU ایجاد کند؛
- به طور کلی شکل دادهها، پردازش و استفاده از آنها را تغییر دهد؛
- با توجه به افزایش روزافزون دادهها در اینترنت، نحوه عملکرد سیستمهای متصل را تغییر دهد.
و در پایان این که…
یادگیری ماشین در نوع خود کاملاً متفاوت است. در حالی که بسیاری از کارشناسان نگرانیهای خود را در مورد وابستگی و حضور روزافزون ماشین لرنینگ در زندگی روزمره ما مطرح میکنند، اگر بخواهیم مثبت نگاه کنیم، یادگیری ماشین میتواند معجزه کند. جهان در حال حاضر شاهد جادوی این فناوری است – در مراقبت های بهداشتی، صنعت مالی، صنعت خودرو، پردازش تصویر و تشخیص صدا و بسیاری از زمینههای دیگر. در حالی که بسیاری از ما نگران این هستیم که ماشینها ممکن است جهان را تسخیر کنند، این کاملاً به ما بستگی دارد که چگونه ماشینهای موثر و در عین حال ایمن و قابل کنترل طراحی کنیم. شکی نیست که یادگیری ماشین روش انجام بسیاری از کارها از جمله آموزش، کسب و کار و خدمات بهداشتی را تغییر میدهد و جهان را به مکانی امنتر و بهتر تبدیل میکند.