رفتن به محتوای اصلی
هوش مصنوعی

شبکه‌های عصبی چگونه یاد می‌گیرند؟

سفری به درون ریاضیات پس‌انتشار خطا و چگونگی یادگیری میلیون‌ها پارامتر از داده.

کیان مرادی2 دقیقه زمان مطالعه۲۴٬۳۱۰ بازدید۳۰ خرداد ۱۴۰۵
اندازه فونت

هر بار که یک مدل زبانی متنی تولید می‌کند یا یک شبکه بینایی ماشین تصویری را طبقه‌بندی می‌کند، میلیون‌ها ضرب و جمع ساده در حال انجام است. راز یادگیری این سیستم‌ها در یک الگوریتم نسبتاً ساده به نام پس‌انتشار خطا نهفته است.

یک نورون مصنوعی#

ساده‌ترین واحد یک شبکه عصبی، خروجی وزن‌دار ورودی‌ها به‌علاوه یک تابع فعال‌سازی است:

y=σ(∑i=1nwixi+b)y = \sigma\left(\sum_{i=1}^{n} w_i x_i + b\right)

که در آن σ\sigma تابع فعال‌سازی (مانند ReLU یا سیگموئید) است.

تابع هزینه و گرادیان کاهشی#

هدف آموزش، کمینه‌کردن تابع هزینه LL نسبت به وزن‌هاست:

wi←wi−η∂L∂wiw_i \leftarrow w_i - \eta \frac{\partial L}{\partial w_i}

η\eta در اینجا نرخ یادگیری است که سرعت به‌روزرسانی پارامترها را کنترل می‌کند.

جریان اطلاعات در شبکه#

چرا لایه‌های بیشتر کمک می‌کند؟#

هر لایه یک نگاشت غیرخطی از فضای ویژگی می‌سازد. با انباشتن این نگاشت‌ها، شبکه می‌تواند مرزهای تصمیم بسیار پیچیده‌ای یاد بگیرد که با یک لایه ساده امکان‌پذیر نیست.

چالش‌های عملی#

  • بیش‌برازش: شبکه داده‌های آموزشی را حفظ می‌کند نه الگوی کلی را.
  • گرادیان محوشونده: در شبکه‌های عمیق، گرادیان‌ها می‌توانند بسیار کوچک شوند.
  • هزینه محاسباتی: آموزش مدل‌های بزرگ به خوشه‌های GPU نیاز دارد.

جمع‌بندی#

پس‌انتشار خطا، با وجود سادگی ریاضی نسبی‌اش، پایه تقریباً تمام پیشرفت‌های اخیر هوش مصنوعی از تشخیص تصویر تا مدل‌های زبانی بزرگ است.

منابع#

  1. Rumelhart, Hinton & Williams, Nature, 1986.
  2. Goodfellow, Bengio & Courville, Deep Learning, MIT Press, 2016.