انواع یادگیری ماشین: نظارتشده، بدون نظارت، خودنظارتی و تقویتی
الگوریتمهای یادگیری ماشین را، فارغ از اینکه با آمار، بهینهسازی یا شبکهی عصبی کار کنند، میشود بر اساس نوع دادهای که برای یادگیری میگیرند دستهبندی کرد. سه دستهی اصلی نظارتشده، بدون نظارت و تقویتی هستند؛ در سالهای اخیر دو دستهی خودنظارتی و نیمهنظارتی هم اهمیت زیادی پیدا کردهاند.
روند کلی کار
Section titled “روند کلی کار”در بیشتر روشها مسیر کلی یکی است:
- داده جمع میکنیم؛ مثلاً تصویرها و (اگر داشته باشیم) برچسب هر کدام: «این گربه است»، «این فنجان است».
- الگوریتم با آموزش (train) روی این دادهها یک مدل میسازد.
- از مدل برای دادهی جدید پیشبینی (predict) میگیریم.
- ارزیابی میکنیم که مدل روی دادههایی که در آموزش ندیده چقدر درست کار میکند.
به ورودیهایی که مدل بر اساسشان تصمیم میگیرد ویژگی (feature) میگوییم؛ مثل قد و وزن یک نفر یا پیکسلهای یک تصویر. خروجی درستی که انتظارش را داریم برچسب (label) است.
یادگیری نظارتشده (Supervised)
Section titled “یادگیری نظارتشده (Supervised)”مثل بچهای که به او میگوییم «این پیشی است، این جوجه است» و آنقدر تکرار میکنیم تا یاد بگیرد. ما بهعنوان «ناظر» که جواب را میدانیم، برای هر نمونه برچسب درست را هم میدهیم. یادگیری نظارتشده دو نوع اصلی دارد:
طبقهبندی (Classification)
Section titled “طبقهبندی (Classification)”خروجی یکی از چند دسته است: سگ، گربه یا خرس؛ اسپم یا عادی. برای کار ریاضی مجبوریم به هر دسته یک عدد بدهیم (مثلاً سگ = ۱، لیوان = ۲، بطری = ۳)، ولی این عددها فقط قرارداد هستند. نمیشود گفت سگ به لیوان «نزدیکتر» است تا به بطری.
رگرسیون (Regression)
Section titled “رگرسیون (Regression)”خروجی یک عدد پیوسته است و نزدیک و دور بودن عددها معنی دارد: قیمت یک خانه، سن یک نفر، تعداد روزهایی که تا خراب شدن یک دستگاه مانده. اگر قیمت واقعی ۲ میلیارد تومان باشد و مدل بگوید «۲ میلیارد و ۳ هزار تومان»، اشتباه کوچکی کرده؛ ولی اگر بگوید ۵ میلیارد، اشتباهش بزرگ است.
| مسئله | نوع |
|---|---|
| این ایمیل اسپم است یا نه؟ | طبقهبندی |
| مشتری پشت تلفن عصبانی بود، عادی بود یا خوشحال؟ | طبقهبندی |
| این عکس گربه است، سگ است یا کبوتر؟ | طبقهبندی |
| قیمت این خودرو با این سال ساخت و کارکرد چقدر است؟ | رگرسیون |
| سن این فرد از روی عکس چند سال است؟ | رگرسیون |
| این دستگاه چند روز دیگر خراب میشود؟ | رگرسیون |
یادگیری بدون نظارت (Unsupervised)
Section titled “یادگیری بدون نظارت (Unsupervised)”داده داریم، ولی برچسب نداریم. الگوریتم باید خودش ساختاری در داده پیدا کند:
- خوشهبندی (clustering): همهی مشترکهای یک اپراتور تلفن را به الگوریتم میدهیم و میگوییم آنها را بر اساس شباهت، مثلاً در پنج گروه، دستهبندی کن. اسم گروهها را بعداً خودمان میگذاریم: «وفادار و پرخرج»، «کممصرف»، و غیره.
- تشخیص ناهنجاری (anomaly detection): تراکنشهای بانکی را میدهیم و الگوریتم آنهایی را که با بقیه فرق دارند نشان میدهد؛ مثلاً حسابهایی که پول را دور یک حلقه بین هم جابهجا میکنند. ارزشش در این است که معمولاً برچسبی برای کلاهبرداری نداریم.
- کاهش ابعاد (dimensionality reduction): دادهای با هزاران ویژگی را طوری در دو یا سه بعد خلاصه میکنیم که بشود آن را دید.
یادگیری خودنظارتی (Self-supervised)
Section titled “یادگیری خودنظارتی (Self-supervised)”برچسب انسانی نمیدهیم، ولی داده را هم رها نمیکنیم؛ از خود داده برچسب میسازیم. مثلاً:
- تکهای از یک عکس را برمیداریم و از مدل میخواهیم جای خالی را پر کند، یا از بین چند تکه بگوید کدام مال همین عکس بوده.
- روی یک عکس فیلتر یا تغییری اعمال میکنیم و میپرسیم «این همان عکس قبلی است یا عکس دیگری؟»
مدل با حل این معماها یاد میگیرد کدام دادهها شبیه هم هستند؛ آن هم روی میلیاردها نمونه، چون برای ساختن این برچسبها به انسان نیازی نیست.
یادگیری نیمهنظارتی (Semi-supervised)
Section titled “یادگیری نیمهنظارتی (Semi-supervised)”گاهی فقط بخش کوچکی از داده برچسب دارد؛ مثلاً از دو میلیون تصویر، ده هزار تا. اگر فقط همان ده هزار تا را استفاده کنیم دقت پایین است، و اگر هیچ برچسبی ندهیم هم همینطور. روشهای نیمهنظارتی از هر دو استفاده میکنند و معمولاً دقت را خیلی بالا میبرند. هشتگهای اینستاگرام هم نمونهای از برچسبهای ناقص و پرنویز هستند: بعضی به محتوای عکس ربط دارند و بعضی نه، ولی باز هم برای آموزش مفیدند.
ترکیب این روشها قدرت زیادی دارد. مدلی که با دادهی بدون برچسب مفهوم تصویر را فهمیده، فقط با چند نمونهی برچسبدار یک کار جدید را یاد میگیرد؛ مثل بچهای که گربه را بارها دیده و فقط یک بار لازم است اسمش را بشنود.
یادگیری تقویتی (Reinforcement Learning)
Section titled “یادگیری تقویتی (Reinforcement Learning)”نزدیکترین نوع یادگیری به یادگیری انسان. بچه دستش را به بخاری میزند، میسوزد و دیگر دست نمیزند. کاری میکند و دیگران میخندند، پس تکرارش میکند. کسی مستقیم به او چیزی یاد نداده؛ از محیط بازخورد گرفته است.
در یادگیری تقویتی سه جزء داریم:
- عامل (agent): کسی که تصمیم میگیرد و عمل میکند؛
- محیط (environment): جایی که عامل در آن عمل میکند؛
- پاداش (reward): بازخورد مثبت یا منفی محیط.
مثال: ربات معاملهگر. اگر مسئله را نظارتشده تعریف کنیم («ده روز دیگر بخرم یا بفروشم؟»)، ممکن است مدل ۹۰ درصد درست بگوید ولی همان یک اشتباه، ضرری بزرگتر از سود آن نُه تصمیم درست بزند. در یادگیری تقویتی یک محیط شبیهسازی میسازیم و پاداش را «پولی که آخر کار در حساب مانده» تعریف میکنیم. یا برای یاد دادن راه رفتن به ربات، پاداش را مسافت طیشده با انرژی کم و بدون زمین خوردن تعریف میکنیم.
یادگیری تقویتی معمولاً به شبیهسازی و آزمایشهای بسیار زیاد نیاز دارد و در این دوره به آن نمیپردازیم.
مدلهای زبانی بزرگ با کدام روش آموزش میبینند؟
Section titled “مدلهای زبانی بزرگ با کدام روش آموزش میبینند؟”مدلهایی مثل ChatGPT ترکیبی از همین روشها هستند:
- پیشآموزش روی حجم عظیمی از متن اینترنت، بدون برچسب انسانی (مدل یاد میگیرد کلمهی بعدی را حدس بزند)؛
- آموزش نظارتشده با نمونههای پرسش و پاسخ که انسانها نوشتهاند؛
- یادگیری تقویتی از بازخورد انسانی (RLHF) تا مدل پاسخهای مفید بدهد و از پاسخهای نامناسب دوری کند.
بعد از این سه مرحله، آموزش تمام میشود. وقتی با چنین مدلی گفتوگو میکنید، مدل هیچ چیز تازهای یاد نمیگیرد. اینکه «به خاطر میآورد» دیروز چه گفتید به این دلیل است که برنامهی دور مدل، تاریخچهی گفتوگو یا یادداشتهایی از جلسههای قبل را همراه پیام شما به مدل میفرستد. طراحی این بخش را مهندسی زمینه (context engineering) میگویند و یادگیری ماشین به معنای آموزش مدل نیست.
| نوع | داده | مثال |
|---|---|---|
| نظارتشده | داده + برچسب | تشخیص اسپم، قیمت خانه |
| بدون نظارت | فقط داده | خوشهبندی مشتریها، تشخیص تقلب |
| خودنظارتی | داده؛ برچسب از خود داده ساخته میشود | پر کردن تکهی حذفشدهی عکس |
| نیمهنظارتی | کمی دادهی برچسبدار + دادهی زیاد بدون برچسب | دو میلیون عکس که ده هزارتایش برچسب دارد |
| تقویتی | بازخورد (پاداش) از محیط | ربات معاملهگر، راه رفتن ربات |
ادامه: الگوریتم k نزدیکترین همسایه، اولین الگوریتم طبقهبندی که پیاده میکنیم.
مقدمهای بر یادگیری عمیق، آموزش رایگان و فارسی یادگیری عمیق.