سازوکار بهینهسازی در یادگیری عمیق: مدلهای هوش مصنوعی چگونه واقعاً یاد میگیرند؟
پشت هر مدل پیشگام هوش مصنوعی، یک موتور ریاضیاتی قرار دارد که به دنبال کمترین خطای ممکن میگردد. درک توابع زیان، گرادیان کاهشی و بهینهسازهای تطبیقی نشان میدهد که شبکههای عصبی چگونه در فضاهای پیچیده حرکت میکنند تا به هوشمندی دست یابند.
به قلم ندا وزیری
این خبر را به اشتراک بگذارید
- متخصصان کاربردی
- اولویت دادن به همگرایی سریع و عملکرد آماده، و ترجیح شدید آدام به دلیل توانایی آن در آموزش سریع مدلهای پیچیده با حداقل تنظیمات.
- نظریهپردازان محض
- استدلال میکنند که با وجود کندتر بودن، گرادیان کاهشی تصادفی سنتی (SGD) همراه با تکانه اغلب مدلهایی را به دست میدهد که به دادههای دیده نشده بهتر تعمیم مییابند.
- حامیان کارایی سختافزاری
- تمرکز بر میزان مصرف حافظه بهینهسازها، با اشاره به اینکه الگوریتمهایی مانند آدام نیاز به ذخیره چندین وضعیت تاریخی برای هر پارامتر دارند، که باعث ایجاد گلوگاه در مدلهای عظیم میشود.
هر بار که از یک هوش مصنوعی سؤالی میپرسید، در واقع از یک سفر ریاضیاتی بهره میبرید که ماهها قبل انجام شده است. پیش از آنکه یک مدل زبان بزرگ بتواند شعر بسراید یا یک سیستم بینایی توموری را تشخیص دهد، زندگی خود را به عنوان یک لوح سفید از اعداد تصادفی آغاز میکند. فرآیند تبدیل این تصادفی بودن به هوش ساختاریافته، جادو نیست؛ بلکه یک فرآیند تکراری و بسیار مکانیکی بهینهسازی است. در هسته خود، آموزش یک هوش مصنوعی صرفاً جستجویی برای یافتن کمترین خطای ممکن در یک فضای گسترده و چندبعدی است.[6]
برای درک این فرآیند، تصور کنید که در یک رشته کوه ناهموار و ناشناخته چشمبند زدهاید و وظیفه دارید پایینترین دره ممکن را پیدا کنید. شما نمیتوانید چشمانداز را ببینید؛ فقط میتوانید شیب زمینی را که بلافاصله زیر پایتان است، حس کنید. یادگیری یک شبکه عصبی دقیقاً به همین صورت است. الگوریتمهایی که این فرود را هدایت میکنند، تعیین میکنند که آیا آموزش مدل روزها طول میکشد یا قرنها، و اینکه آیا یک راهحل واقعی پیدا میکند یا به طور ناامیدکنندهای در یک گودال کمعمق گیر میکند.[2]
قطبنمای این سفر، «تابع زیان» (Loss Function) است. تابع زیان یک فرمول ریاضیاتی است که تفاوت دقیق بین آنچه هوش مصنوعی پیشبینی میکند و حقیقت واقعی را محاسبه میکند. اگر یک طبقهبندیکننده تصویر به عکس گربهای نگاه کند و «سگ» پیشبینی کند، تابع زیان یک امتیاز جریمه بالا میدهد. اگر «گربه» پیشبینی کند، امتیاز تقریباً به صفر میرسد. هدف کلی آموزش یک مدل یادگیری عمیق، به حداقل رساندن این عدد واحد در میان میلیاردها نمونه است.[6][10]
برای به حداقل رساندن زیان، شبکه از تکنیکی به نام گرادیان کاهشی (Gradient Descent) استفاده میکند. مدل با محاسبه مشتق—یا گرادیان—تابع زیان نسبت به تک تک پارامترهای شبکه، تعیین میکند که کدام جهت از نظر ریاضی «پایین» است. سپس یک گام کوچک در آن جهت برمیدارد و وزنهای داخلی خود را بهروزرسانی میکند تا برای پیشبینی بعدی کمی دقیقتر باشد. این فرآیند میلیونها بار تکرار میشود.[2]
اندازه این گام توسط یک تنظیم حیاتی به نام «نرخ یادگیری» (Learning Rate) کنترل میشود. اگر نرخ یادگیری بیش از حد بزرگ باشد، ممکن است مدل به طور کامل از روی پایینترین نقطه دره بپرد و به طور نامنظم به سمت دیگر پرتاب شود، پدیدهای که به عنوان واگرایی (Divergence) شناخته میشود. اگر نرخ یادگیری خیلی کوچک باشد، فرود به طرز دردناکی کند میشود و ممکن است مدل در یک حداقل محلی (Local Minimum) گیر کند—یک فرورفتگی کوچک در دامنه کوه که بسیار بالاتر از کف دره واقعی است.[9]
برای دههها، محققان مجبور بودند این نرخ یادگیری را به صورت دستی تنظیم کنند، فرآیندی خستهکننده از آزمون و خطا که اغلب نیاز به تنظیم مداوم با پیشرفت آموزش داشت. نقطه عطف و پیشرفتی که رونق هوش مصنوعی مدرن را ممکن ساخت، توسعه الگوریتمهای نرخ یادگیری تطبیقی بود. این الگوریتمها به جای استفاده از یک اندازه گام ثابت و واحد برای هر پارامتر، نرخ یادگیری را برای هر وزن مجزا در شبکه بر اساس گرادیانهای تاریخی آن به طور خودکار تنظیم میکنند.[6]
برای دههها، محققان مجبور بودند این نرخ یادگیری را به صورت دستی تنظیم کنند، فرآیندی خستهکننده از آزمون و خطا که اغلب نیاز به تنظیم مداوم با پیشرفت آموزش داشت.
پیشگام در این حوزه، الگوریتم آداگراد (Adagrad) بود که در سال ۲۰۱۱ معرفی شد. آداگراد با نگهداری یک مجموع در حال اجرا از تمام گرادیانهای مجذور گذشته برای هر پارامتر کار میکند. سپس نرخ یادگیری را برای پارامترهایی که بهروزرسانیهای مکرر دریافت میکنند، کاهش میدهد، در حالی که نرخ یادگیری را برای ویژگیهای نادر و آموزنده بالا نگه میدارد. این امر برای پردازش دادههای پراکنده، مانند متن که در آن برخی کلمات به طور مداوم ظاهر میشوند و برخی دیگر تقریباً هرگز، انقلابی بود.[5]
با این حال، آداگراد هنگام اعمال در شبکههای عصبی عمیق یک نقص مهلک داشت: مجموع تاریخی آن همیشه بزرگتر میشد. از آنجا که این الگوریتم هر گرادیان گذشته را از ابتدای آموزش انباشته میکرد، مخرج در محاسبه نرخ یادگیری آن به طور مداوم افزایش مییافت. در نهایت، نرخ یادگیری تقریباً به صفر میرسید و باعث میشد مدل قبل از رسیدن به راهحل بهینه، به طور کامل یادگیری را متوقف کند.[2]
راهحل این مشکل نرخ یادگیری محوشونده از یک منبع غیرمنتظره آمد: یک اسلاید در یک سخنرانی آنلاین توسط جفری هینتون، پیشگام هوش مصنوعی. هینتون الگوریتم آر.ام.اس.پراپ (RMSprop) را پیشنهاد کرد، الگوریتمی که آداگراد را با تغییر نحوه به خاطر سپردن گذشته اصلاح میکند. RMSprop به جای انباشت تمام گرادیانهای تاریخی، از یک میانگین کاهشی نمایی استفاده میکند. این الگوریتم گرادیانهای قدیمیتر را «فراموش میکند» و اجازه میدهد نرخ یادگیری شناور باقی بماند و مدل بتواند به طور نامحدود به یادگیری ادامه دهد.[4][7]
تقریباً در همان زمان، الگوریتم دیگری به نام آدادِلتا (Adadelta) به طور مستقل برای حل دقیقاً همین مشکل توسعه یافت. آدادِلتا نیز پنجره گرادیانهای گذشته انباشته شده را محدود میکند تا از افت نرخ یادگیری به صفر جلوگیری کند. این الگوریتم یک گام فراتر میرود و تلاش میکند نیاز به تنظیم نرخ یادگیری پیشفرض را به طور کامل از بین ببرد، و از واحدهای خود پارامترها برای هدایت اندازه گام استفاده میکند، اگرچه بر همان مکانیسم کاهشی بنیادی RMSprop متکی است.[3][8]
امروزه، پادشاه بلامنازع بهینهسازی یادگیری عمیق، آدام (Adam - Adaptive Moment Estimation) است که در سال ۲۰۱۴ معرفی شد. آدام بهترین ایدههای پیشینیان خود را ترکیب میکند. این الگوریتم از میانگین کاهشی نمایی گرادیانهای مجذور گذشته (مانند RMSprop) برای مقیاسبندی نرخ یادگیری استفاده میکند، اما همچنین «تکانه» (Momentum) را اضافه میکند—جهت گامهای اخیر را پیگیری میکند تا مانند یک توپ سنگین که از تپهای پایین میغلتد، از مناطق مسطح چشمانداز زیان عبور کند.[1]
تسلط آدام در این حوزه را به سختی میتوان نادیده گرفت. این بهینهساز پیشفرض در تقریباً تمام چارچوبهای اصلی یادگیری عمیق است و آموزش همه چیز، از سیستمهای بینایی کامپیوتر گرفته تا مدلهای زبان بزرگ عظیم، را تقویت میکند. توانایی آن در دستیابی به همگرایی سریع با حداقل تنظیم دستی، آن را به سنگ بنای رونق یادگیری عمیق تبدیل کرد و به محققان اجازه داد تا به جای ریاضیات بهینهسازی، بر معماری تمرکز کنند.[9]
با این حال، سازوکار بهینهسازی همچنان یک میدان نبرد فعال باقی مانده است. در حالی که آدام فوقالعاده سریع است، محققان دریافتهاند که روشهای قدیمیتر و سادهتر مانند گرادیان کاهشی تصادفی (SGD) همراه با تکانه، اغلب حداقلهای «مسطحتر» را در چشمانداز زیان پیدا میکنند. این حداقلهای مسطحتر تمایل دارند که به دادههای جدید و دیده نشده بهتر تعمیم یابند، به این معنی که مدل در دنیای واقعی عملکرد بهتری دارد، حتی اگر آموزش آن در محیط آزمایشگاهی زمان بیشتری برده باشد.[2][9]
بنابراین، انتخاب بهینهساز یک بدهبستان ظریف بین سرعت همگرایی و کیفیت نهایی مدل حاصل است. با افزایش مقیاس شبکههای عصبی به تریلیونها پارامتر، هندسه چشماندازهای زیان آنها به طرز غیرقابل تصوری پیچیده میشود. درک و پالایش الگوریتمهایی که در این فضاها حرکت میکنند، یکی از حیاتیترین مرزهای هوش مصنوعی باقی میماند و سرعت باز شدن قابلیتهای جدید را تعیین میکند.[6][10]
نکات کلیدی
- آموزش یک مدل هوش مصنوعی اساساً یک جستجوی ریاضیاتی برای به حداقل رساندن «تابع زیان» است که خطای پیشبینی را اندازهگیری میکند.
- گرادیان کاهشی با محاسبه شیب چشمانداز زیان و برداشتن گامهایی به سمت پایین، کمترین خطا را پیدا میکند.
- الگوریتمهای اولیه نیاز به تنظیم دستی «نرخ یادگیری» داشتند، که اندازه گامهایی را که مدل برمیدارد، تعیین میکند.
- بهینهسازهای تطبیقی مانند RMSprop و Adadelta نرخ یادگیری را برای هر پارامتر به طور خودکار تنظیم میکنند تا از توقف آموزش جلوگیری شود.
- بهینهساز آدام با ترکیب نرخهای یادگیری تطبیقی با تکانه، به استاندارد صنعتی تبدیل شد تا به همگرایی سریع دست یابد.
- در حالی که آدام سریعتر است، روشهای قدیمیتر مانند SGD گاهی اوقات مدلهایی تولید میکنند که به دادههای دیده نشده بهتر تعمیم مییابند.
چرا مهم است
قابلیتهای هوش مصنوعی مدرن نه تنها توسط سختافزار، بلکه توسط کارایی ریاضیاتی الگوریتمهای آموزش محدود میشوند. درک این بهینهسازها ابهامزدایی میکند که چگونه مجموعهای تصادفی از اعداد به سیستمی تبدیل میشود که میتواند کد بنویسد، بیماریها را تشخیص دهد یا هنر خلق کند.
اصطلاحات کلیدی
- گرادیان کاهشی
- یک الگوریتم بهینهسازی که برای به حداقل رساندن یک تابع با حرکت تکراری در جهت تندترین شیب نزولی، که توسط منفی گرادیان تعریف میشود، استفاده میشود.
- چشمانداز زیان
- یک فضای هندسی مفهومی و چندبعدی که در آن مختصات نشاندهنده پارامترهای مدل و ارتفاع نشاندهنده خطا (زیان) است.
- نرخ یادگیری
- یک فراپارامتر که کنترل میکند هر بار که وزنهای مدل بهروزرسانی میشوند، مدل در پاسخ به خطای تخمین زده شده چقدر تغییر کند.
- تکانه
- یک تکنیک در بهینهسازی که با افزودن کسری از بردار بهروزرسانی قبلی به بردار فعلی، گرادیان کاهشی را تسریع میکند و به عبور از حداقلهای محلی کمعمق کمک میکند.
- همگرایی
- نقطهای در طول آموزش که در آن زیان به طور قابل توجهی کاهش نمییابد، که نشان میدهد مدل مجموعهای بهینه یا نزدیک به بهینه از پارامترها را پیدا کرده است.
منابع
[1]arXivنظریهپردازان محضAdam: A Method for Stochastic Optimization
مطالعه در arXiv →
[2]arXivنظریهپردازان محضAn overview of gradient descent optimization algorithms
مطالعه در arXiv →
[3]arXivنظریهپردازان محضADADELTA: An Adaptive Learning Rate Method
مطالعه در arXiv →
[4]University of TorontoNeural Networks for Machine Learning (RMSprop lecture notes)
مطالعه در University of Toronto →
[5]Journal of Machine Learning Researchحامیان کارایی سختافزاریAdaptive Subgradient Methods for Online Learning and Stochastic Optimization
مطالعه در Journal of Machine Learning Research →
[6]deeplearningbook.orgمتخصصان کاربردیOptimization for Training Deep Models
مطالعه در deeplearningbook.org →
[7]Dive into Deep Learningحامیان کارایی سختافزاری12.8. RMSProp
مطالعه در Dive into Deep Learning →
[8]Dive into Deep Learningحامیان کارایی سختافزاری12.9. Adadelta
مطالعه در Dive into Deep Learning →
[9]arXivنظریهپردازان محضA Comparison of Optimization Algorithms for Deep Learning
مطالعه در arXiv →
[10]arXivنظریهپردازان محضLoss Functions in Deep Learning: A Comprehensive Review
مطالعه در arXiv →
[11]تیم سردبیری کوهستانتحلیل تیم سردبیری کوهستان
مطالعه در تیم سردبیری کوهستان →
نظرات
هر زاویه. هر روز.
دریافت هوش مصنوعی اخبار همراه با پوشش کامل منابع و تحلیل دیدگاهها، مستقیم در صندوق ورودی شما.

