یادگیری ماشین چیست؟ #
“یادگیری ماشین” نوعی از هوش مصنوعی است که با هدف دقیقتر شدنِ نرمافزارها در پیشبینی نتایج ایجاد شده است. یادگیری ماشین برای این است که سیستم هوش مصنوعی بدون اینکه مشخصاً برای آن برنامهنویسی شده باشد؛ یاد بگیرد. الگوریتمهای یادگیری ماشین از دادههای قدیمی به عنوان ورودی استفاده میکند تا مقادیر خروجی جدید را پیشبینی کند.
موتورهای پیشنهادکننده یا توصیهگر یکی از استفادههای رایج یادگیری ماشین است. از دیگر استفادههای رایج یادگیری ماشین میتوان به تشخیص تقلب، فیلتر کردن هرزنامه یا اسپم(Spam)، تشخیص تهدید بدافزار، اتوماسیون فرایندهای کسبوکار(BPA) و تعمیرات پیشگویانه اشاره کرد.
چرا یادگیری ماشین اهمیت دارد؟ #
یادگیری ماشین به شرکتها و کسب و کارها تصویری از روند رفتار مشتری و الگوهای عملیاتی کسبوکار و توسعه محصولات جدید ارائه میکند و دارای اهمیت بالایی بوده است. بسیاری از شرکتهای پیشرو امروزی مثل گوگل، متا و اوبر، یادگیری ماشین را به عنوان هسته مرکزی عملیاتها و پردازشهای خود قرار دادهاند. یادگیری ماشین در میان بسیاری از شرکتها نقش رقابتی قابل توجهی را به عهده گرفته است.
یادگیری ماشین در روش سنتی، معمولاً براساس اینکه یک الگوریتم چگونه برای بهبود دقت پیشبینی آموزش میبیند؛ طبقهبندی میشود. بر این اساس چهار رویه وجود دارد:
- یادگیری تحت نظارت
- یادگیری نظارت نشده
- یادگیری نیمه نظارت شده
- یادگیری تقویتی
متخصصین داده براساس اینکه چه نوع دادهای راه میخواهند پیشبینی کنند، نوع الگوریتم را انتخاب میکنند.
یادگیری تحت نظارت:
در این نوع از یادگیری ماشین، متخصصین داده، دادههای تمرینیِ علامتگذاری شده را به الگوریتمها عرضه میکنند و این الگوریتم متغیرها را ارزیابی میکند و مقادیر ورودی و خروجی الگوریتم مشخص میشود.
یادگیری نظارت نشده:
این نوع یادگیری ماشین شامل الگوریتمهایی میشود که از دادههای علامتگذاری نشده برای آموزش استفاده میکنند. الگوریتم با جستجو در میان دستههای داده به دنبال هر ارتباط معناداری میگردد.
یادگیری نیمه نظارت شده:
این شیوه، ترکیبی از دو شیوه قبلی که عنوان شد است. ممکن است متخصصین داده، اکثراً دادههای طبقهبندی شده را در اختیار الگوریتم قرار دهند؛ اما الگوریتم برای جستجوی داده و توسعه درک خود از مجموعه دادهها آزاد است.
یادگیری تقویتی:
متخصصین داده از یادگیری تقویتی برای آموزش یک ماشین براساس فرایندی چند مرحلهای و با قوانین مشخص استفاده میکنند. این متخصصان الگوریتم را برای به اتمام رساندن وظیفهای برنامهریزی میکنند و براساس اینکه چگونه آن را انجام داده است به آن علامت مثبت یا منفی میدهند. اما در بیشتر مراحل، خودِ الگوریتم تصمیم میگیرد که چه قدمی برای انجام مراحل بردارد.
یادگیری ماشین نظارت شده چگونه کار میکند؟
یادگیری ماشین نظارت شده نیازمند این است که متخصصین داده الگوریتم را هم با ورودیهای علامتگذاری شده و هم خروجیهای دلخواه، آموزش دهند. الگوریتمهای یادگیری نظارت شده برای انجام وظایف زیر مناسب هستند:
- طبقهبندی دودویی (باینری): طبقه بندی کردن دادهها به دو دسته.
- طبقهبندی چند دستهای: انتخاب کردن بین بیش از 2 نوع از پاسخها.
- مدلسازی رگرسیون: پیشبینی مقادیر پیوسته.
- گروهبندی: ترکیب کردن پیشبینیهای مدلهای مختلف یادگیری ماشین برای دستیابی به یک پیشبینی دقیق.
یادگیری ماشین نظارت نشده چگونه کار میکند؟
الگوریتمهای یادگیری ماشین نظارت نشده نیازی به دادهها علامتگذاری شده؛ ندارند. آنها با غربال کردن دادههای علامتگذاری نشده، به دنبال الگوهایی میگردند تا بتوانند آنها را در گروهها و زیرمجموعههایی تقسیمبندی کنند. اکثر انواع یادگیری ماشین، از جمله شبکههای عصبی، الگوریتمهای نظارت نشده هستند. الگوریتمهای نظارت نشده برای انجام وظایف زیر مناسب هستند:
- خوشهبندی: تقسیم کردن مجموعه داده به گروههایی براساس تشابه.
- تشخیص ناهنجاری: تشخیص دادههای نامعمول در مجموعه دادهها.
- کاوش همبستگی: مشخص کردن دستهای از موارد در مجموعه داده که معمولاً همراه باهم حضور دارند.
- کاهش ابعاد: کاهش دادن تعداد متغیرها در یک مجموعه داده.
یادگیری نیمه نظارت شده چگونه کار میکند؟
در یادگیری نیمه نظارت شده، متخصصین داده مقادیر کمی دادههای آموزشی و علامتگذاری شده را به الگوریتم میدهند. با این کار، الگوریتم با ابعاد مجموعه داده آشنا میشود و میتواند با دادههای علامتگذاری نشده نیز تعامل کند. معمولاً کارایی الگوریتمها با آموزش دیدن توسط مجموعه دادههای علامتگذاری شده افزایش مییابد. اما علامتگذاری دادهها میتواند زمانبر و پرهزینه باشد. یادگیری نیمه نظارت شده سعی میکند بین کارایی یادگیری تحت نظارت و بهرهوری یادگیری نظارت نشده، حد وسطی را بیابد. برخی حوزهها که یادگیری نیمه نظارت شده در آنها کاربرد دارد:
- ترجمه ماشینی: یاد دادن ترجمه زبان به الگوریتمها براساس دادههایی کمتر از یک فرهنگ لغت کامل کلمات.
- تشخیص تقلب: تشخیص دادن موارد تقلب، زمانی که تنها موارد کمی و به عنوان مثال از آن در اختیار دارید.
- علامتگذاری داده: الگوریتمهایی که با مجموعههای داده کوچک آموزش دیدهاند،
میتوانند علامتگذاری داده را به صورت خودکار بر مجموعههای بزرگتر اعمال کنند.
یادگیری تقویتی چگونه کار میکند؟
در یادگیری تقویتی، الگوریتمها با هدف واضح و مشخصی برنامهنویسی شده و مجموعهای از قوانین برای این هدف و نحوه انجام آن پیشنهاد میشود. همچنین متخصصین داده الگوریتم را طوری برنامهنویسی میکنند که به دنبال جایزه باشد و سیستم آن را در ازای عملی برای رسیدن به هدف نهایی دریافت خواهد کرد. همچنین سیستم از تنبیه اجتناب میکند و در صورتی رخ میدهد که عملِ الگوریتم، خلاف جهت هدف نهایی باشد. یادگیری تقویتی اغلب در حوزههای زیر به کار میرود:
- رباتیک: رباتهای میتوانند با استفاده از این تکنیک، انجام وظایف در جهان فیزیکی را آموزش ببینند.
- گیمپلی ویدیویی: یادگیری تقویتی برای آموزش باتها در انجام برخی بازیهای ویدیویی به کار رفته است.
- مدیریت منابع: با در اختیار قرار دادن منابع محدود و هدفی تعریف شده، یادگیری تقویتی میتواند به شرکتها در طرحریزی برنامه منابعشان کمک کند.
چرا یادگیری ماشین اهمیت دارد؟چه کسانی از یادگیری ماشین استفاده میکنند و به چه منظور؟ #
امروزه یادگیری ماشین در کاربریهای گستردهای مورد استفاده قرار میگیرد. شاید یکی از شناختهشدهترین مثالهای یادگیری ماشین در عمل، موتورهای پیشنهادکننده باشند که به توئیتر قدرت میبخشند.
توئیتر از یادگیری ماشین برای شخصیسازیِ اخبارِ دریافتیِ هر شخص استفاده میکند. اگر کاربری مکرراً برای مطالعه پستهای گروه خاصی توقف کند، موتور پیشنهادی به تدریج اخبار بیشتری از فعالیت این گروه را نشان خواهد داد.
در پشت صحنه، موتور در حال تقویتِ شناختش از الگوهای رفتاریِ آنلاینِ کاربر است. اگر کاربر الگو را تغییر دهد و نتواند در هفتههای بعدی اخبار آن گروه را مطالعه کند، اخبار متناسب با این تغییر تنظیم میشود.
علاوه بر موتورهای پیشنهادکننده، دیگر استفادههای یادگیری ماشین عبارتند از:
- مدیریت ارتباط با مشتری(CRM): نرم افزار مدیریت ارتباط با مشتری میتواند با استفاده از مدلهای یادگیری ماشین، ایمیلها را تجزیه وتحلیل کند و اعضای تیم فروش را مطلع سازد که اول به مهمترین پیامها پاسخ دهند. سیستمهای پیشرفتهتر حتی میتوانند پاسخهای مفید بالقوه را پیشنهاد دهند.
- هوش تجاری: فروشندگان هوش تجاری و تجزیه وتحلیل داده، از یادگیری ماشین در نرمافزارشان و برای تشخیص دادههای مهم بالقوه، الگوهای دادهها و ناهنجاریها استفاده میکنند.
- سیستمهای اطلاعات منابع انسانی(HRIS): سیستمهای اطلاعات منابع انسانی با استفاده از مدلهای یادگیری ماشین قادرند برای یک موقعیت خالی، درخواستها را فیلتر کرده و بهترین نامزدها را برای آن مشخص کنند.
- ماشینهای خودران: الگوریتمهای یادگیری ماشین حتی قادرند به ماشینهای نیمه خودران در شناسایی اشیایی که بخشی از آنها قابل رویت است، کمک کنند و به راننده هشدار دهند.
- دستیارهای مجازی: معمولاً دستیارهای مجازی مدلهای یادگیری ماشین تحت نظارت و نظارت نشده را برای تفسیر گفتار طبیعی و دریافت محتوا ترکیب میکنند.
چگونه مدل یادگیری ماشین مناسب انتخاب میشود؟ #
فرایند انتخاب مدل مناسب یادگیری ماشین برای حل یک مسئله اگر به شکل استراتژیک بررسی نشود میتواند زمانبر باشد.
قدم اول: ابتدا باید مسئله را با دادههای ورودی بالقوه که میتوانند برای دستیابی به راه حل مدنظر قرار بگیرند، تنظیم کرد. این مرحله نیازمند کمک گرفتن از متخصصین داده و کارشناسانی است که درک عمیقی از مسئله داشته باشند.
قدم دوم: دادهها جمعآوری، قالببندی و در صورت لزوم علامتگذاری میشوند. این مرحله معمولاً توسط متخصصین داده با کمک آمادهسازهای داده انجام میشود.
قدم سوم: الگوریتم مناسب انتخاب میشود و برای بررسی عملکردش تست میشود. این مرحله معمولاً توسط متخصصین داده انجام میشود.
قدم چهارم: تنظیم کردن خروجیها ادامه مییابد تا به دقت قابل قبولی دست پیدا کنند. این مرحله معمولاً همراه با بازخوردهایی از کارشناسانی که درک عمیقی از مسئله دارند، انجام میشود.
اهمیت قابل تفسیر بودن یادگیری ماشین برای انسان #
توضیح اینکه یک مدل مشخص یادگیری ماشین چگونه کار میکند درمورد مدلهای پیچیده میتواند کار مشکلی باشد. در برخی صنایع متخصصین داده مجبورند از مدلهای ساده یادگیری ماشین استفاده کنند چرا که برای کسبوکار توضیح اینکه هر تصمیم چگونه گرفته میشود؛ مهم است. این مسئله به ویژه در صنایعی مثل بانکداری و بیمه که مسئولیتهای سنگین دارند؛ اهمیت دارد.
مدلهای پیچیده میتوانند پیشبینیهای دقیقی فراهم کنند اما توضیح اینکه این نتایج چگونه به دست آمده برای یک فرد غیرمتخصص میتواند سخت باشد.
آینده یادگیری ماشین #
با اینکه الگوریتمهای یادگیری ماشین دهههاست وجود دارند، اما با پیشرفتِ هوش مصنوعی، اخیراً محبوبیت زیادی کسب کردهاند. امروزه مدلهای یادگیری ماشین به اغلب برنامههای هوش مصنوعی قدرت میبخشد.
پلتفرمهای یادگیری ماشین در میان شرکتهای بزرگی مثل آمازون، گوگل، مایکروسافت، IBM و… وجود دارد که برای فراهم کردن سرویسهایی که فعالیتهای یادگیری ماشین را پشتیبانی میکند، با یکدیگر رقابت میکنند. فعالیتهایی شامل جمعآوری داده، آمادهسازی داده، طبقهبندی داده، ساخت مدل، آموزش و توسعه برنامه و…
با افزایش اهمیت یادگیری ماشین در کسبوکارها و کاربردیتر شدن هوش مصنوعی در ساختار شرکتها، جنگ پلتفرمهای یادگیری ماشین شدت خواهد گرفت.
امروزه مدلهای هوش مصنوعی نیازمند آموزش گستردهای هستند تا بتوانند یک الگوریتم بهینهشده برای انجام یک وظیفه تولید کنند. اما برخی پژوهشگران درحال جستجوی شیوههایی برای منعطفتر کردن مدلها هستند و به دنبال تکنیکهایی میگردند که به ماشینها اجازه میدهد محتوای یادگیری از یک وظیفه را بر وظایف متفاوت دیگر در آینده اعمال کند.