شبکههای عصبی چگونه یاد میگیرند؟
سفری به درون ریاضیات پسانتشار خطا و چگونگی یادگیری میلیونها پارامتر از داده.
هر بار که یک مدل زبانی متنی تولید میکند یا یک شبکه بینایی ماشین تصویری را طبقهبندی میکند، میلیونها ضرب و جمع ساده در حال انجام است. راز یادگیری این سیستمها در یک الگوریتم نسبتاً ساده به نام پسانتشار خطا نهفته است.
یک نورون مصنوعی#
سادهترین واحد یک شبکه عصبی، خروجی وزندار ورودیها بهعلاوه یک تابع فعالسازی است:
که در آن تابع فعالسازی (مانند ReLU یا سیگموئید) است.
تابع هزینه و گرادیان کاهشی#
هدف آموزش، کمینهکردن تابع هزینه نسبت به وزنهاست:
در اینجا نرخ یادگیری است که سرعت بهروزرسانی پارامترها را کنترل میکند.
جریان اطلاعات در شبکه#
چرا لایههای بیشتر کمک میکند؟#
هر لایه یک نگاشت غیرخطی از فضای ویژگی میسازد. با انباشتن این نگاشتها، شبکه میتواند مرزهای تصمیم بسیار پیچیدهای یاد بگیرد که با یک لایه ساده امکانپذیر نیست.
چالشهای عملی#
- بیشبرازش: شبکه دادههای آموزشی را حفظ میکند نه الگوی کلی را.
- گرادیان محوشونده: در شبکههای عمیق، گرادیانها میتوانند بسیار کوچک شوند.
- هزینه محاسباتی: آموزش مدلهای بزرگ به خوشههای GPU نیاز دارد.
جمعبندی#
پسانتشار خطا، با وجود سادگی ریاضی نسبیاش، پایه تقریباً تمام پیشرفتهای اخیر هوش مصنوعی از تشخیص تصویر تا مدلهای زبانی بزرگ است.
منابع#
- Rumelhart, Hinton & Williams, Nature, 1986.
- Goodfellow, Bengio & Courville, Deep Learning, MIT Press, 2016.