چقدر استراتژی های پیشرفته تر حرکت می تواند یادگیری عمیق را دردناکتر کند.
معرفی
حرکت یک استراتژی گسترده برای تسریع در همگرایی تکنیک های بهینه سازی مبتنی بر گرادیان است. حرکت برای سرعت بخشیدن به یادگیری در جهت های انحنای کم ، بدون اینکه در جهت انحنای بالا ناپایدار شود ، طراحی شده است. در یادگیری عمیق ، بیشتر پزشکان بدون تلاش برای تنظیم بیشتر این هاپرپارامتر ، ارزش حرکت را به 0. 9 تعیین می کنند (یعنی این مقدار پیش فرض برای حرکت در بسیاری از بسته های یادگیری عمیق محبوب است). با این حال ، هیچ نشانه ای مبنی بر اینکه این انتخاب برای ارزش حرکت به خوبی رفتار می شود وجود ندارد.
در این پست ، ما تحقیقات اخیر را نشان می دهیم که نشان می دهد پوسیدگی ارزش حرکت در طول آموزش می تواند به فرایند بهینه سازی کمک کند. به طور خاص ، ما یک استراتژی شیطان جدید را برای پوسیدگی حرکت توصیه می کنیم. برای پشتیبانی از این توصیه ، ما در مقایسه با سایر استراتژی های بهینه سازی مردمی ، تجزیه و تحلیل گسترده ای از استراتژی های مختلف برای پوسیدگی حرکت انجام می دهیم ، و اثبات می کنیم که پوسیدگی حرکت با دیو عملاً مفید است.
بررسی اجمالی
این پست با خلاصه ای از دانش پیش زمینه مربوطه برای بهینه سازی در یادگیری عمیق آغاز می شود ، و تکنیک های فعلی را برای آموزش مدلهای عمیق برجسته می کند. پس از این مقدمه ، استراتژی پوسیدگی Demon Momentum معرفی و انگیزه خواهد شد. سرانجام ، ما با تجزیه و تحلیل تجربی گسترده ای از دیو در مقایسه با دامنه وسیعی از استراتژی های بهینه سازی مردمی نتیجه خواهیم گرفت. به طور کلی ، هدف ما این است که از طریق این پست نشان دهیم که می توان با تدوین استراتژی های بهتر برای رسیدگی به پارامتر حرکت در یادگیری عمیق ، سود قابل توجهی بدست آورد.
زمینه
برای هر پزشک عمیق یادگیری ، جای تعجب نیست که آموزش یک مدل می تواند از نظر محاسباتی گران باشد. هنگامی که فرآیند تنظیم HyperParameter در نظر گرفته می شود ، هزینه محاسباتی آموزش مدل حتی بیشتر تشدید می شود. به عنوان مثال ، برخی از مدل های زبان پیشرفته می توانند میلیون ها دلار هزینه کنند تا در صورت در نظر گرفتن تنظیمات Hyperparameter ، منابع ابری عمومی را آموزش دهند (برای جزئیات بیشتر به اینجا مراجعه کنید). برای جلوگیری از چنین هزینه های گسترده آموزشی ، جامعه یادگیری عمیق باید استراتژی های بهینه سازی را کشف کند که (i) همگرایی سریع را تسهیل می کند ، (ب) به خوبی تعمیم می یابد ، و (iii) (نسبتاً) نسبت به تنظیم هایپرپارامتر قوی هستند.
نزول شیب تصادفی با حرکت (SGDM) ابزاری گسترده برای بهینه سازی یادگیری عمیق است. در دامنه دید رایانه (CV) ، از SGDM برای دستیابی به عملکرد پیشرفته در چندین معیار مشهور استفاده می شود. با این حال ، هایپرپارامترهای SGDM در مجموعه داده های شناخته شده بسیار تنظیم شده اند (به عنوان مثال ، Imagenet) و در نتیجه ، عملکرد مدل های آموزش داده شده با SGDM اغلب به تنظیمات هایپرپارامتر حساس است.
برای کاهش نقاط ضعف SGDM ، ابزارهای بهینه سازی مبتنی بر گرادیان تطبیقی تهیه شده اند ، که نرخ یادگیری متفاوتی را برای هر پارامتر در مدل اتخاذ می کنند (یعنی بر اساس تاریخچه اطلاعات شیب مرتبه اول). اگرچه بسیاری از این تکنیک های تطبیقی ارائه شده است ، آدم محبوب ترین است ، در حالی که انواع مختلفی مانند ADAMW در دامنه هایی مانند پردازش زبان طبیعی (NLP) رایج است. با وجود سرعت همگرایی بهبود یافته ، روشهای تطبیقی از لحاظ تاریخی تلاش کرده اند تا عملکرد کلی سازی قابل مقایسه با SGDM را بدست آورند و هنوز هم نسبت به تنظیم هایپرپارامتر نسبتاً حساس هستند. بنابراین ، حتی بهترین رویکردها برای بهینه سازی یادگیری عمیق ناقص است - هیچ رویکردی برای آموزش مدلهای عمیق همیشه بهینه نیست.
در اینباره چکاری می توانیم بکنیم؟
اگرچه هیچ استراتژی بهینه سازی واحد همیشه بهترین نیست ، ما نشان می دهیم که استراتژی های پوسیدگی حرکت ، که تا حد زیادی در جامعه یادگیری عمیق ناشناخته است ، عملکرد مدل بهبود یافته و استحکام هایپرپارامتر را ارائه می دهد. در حقیقت ، استراتژی پوسیدگی شیاطین در مقایسه با استراتژی های نرخ یادگیری مردمی (به عنوان مثال ، چرخه نرخ یادگیری کسین) در حوزه های بی شماری عملکرد قابل توجهی بیشتر به دست می آورد. اگرچه برخی از تحقیقات اخیر ، تنظیمات تنظیم فراتر از تنظیم ساده لوحانه 0. 9 را مورد بررسی قرار داده است ، اما هیچ تجزیه و تحلیل تجربی در مقیاس بزرگ هنوز برای تعیین بهترین شیوه ها برای پارامتر حرکت در طول آموزش انجام نشده است. از طریق این پست ، ما امیدواریم که این مسئله را حل کرده و حرکت را به یک گزینه شناخته شده برای بهینه سازی عمیق یادگیری تبدیل کنیم.
پوسیدگی بهینه با دیو
اگرچه چندین گزینه برای پوسیدگی حرکت وجود دارد ، ما استراتژی دیو را که در این مقاله پیشنهاد شده است توصیه می کنیم. دیو به طور گسترده ای در عمل ارزیابی می شود و نشان می دهد که از سایر برنامه های پوسیدگی حرکت فراتر می رود. در اینجا ، ما برای توصیف این استراتژی پوسیدگی حرکت ، انگیزه آن و نحوه اجرای آن در عمل وقت می گیریم.
دیو چیست؟
بسیاری از استراتژی های پوسیدگی شناخته شده ، از جمله استراتژی دیو ، در شکل بالا به تصویر کشیده شده است ، جایی که محور X نشان دهنده پیشرفت آموزش از ابتدا تا انتها است. بیشتر این استراتژی ها در ابتدا به عنوان برنامه های پوسیدگی نرخ یادگیری محبوب شدند. در این پست ، با این حال ، ما همچنین اثربخشی هر یک برای پوسیدگی حرکت را ارزیابی می کنیم. در مقایسه با سایر برنامه های پوسیدگی ، دیو منتظر می ماند تا مراحل بعدی آموزش به میزان قابل توجهی ارزش حرکت را کاهش دهد. بنابراین ، برای اکثر آموزش ها ، دیو ارزش حرکت را در نزدیکی 0. 9 نگه می دارد ، و در مراحل بعدی آموزش به سرعت به صفر می رسد. استراتژی دیو با ایده پوسیدگی سهم کل یک شیب در کلیه به روزرسانی های آموزش آینده ایجاد می شود. برای توصیف دقیق تر از انگیزه برای دیو ، می توان به مقاله مرتبط اشاره کرد ، که یک تحلیل نظری و شهودی گسترده تری ارائه می دهد. شکل دقیق برنامه پوسیدگی دیو توسط معادله زیر آورده شده است.
در اینجا ، T نشان دهنده شاخص تکرار فعلی ، T تعداد کل تکرارها در طول آموزش است ، و بتا نشان دهنده پارامتر حرکت است. بنابراین ، معادله فوق مقدار پارامتر حرکت را در تکرار T آموزش برای برنامه پوسیدگی دیو ارائه می دهد. مقدار اولیه برای بتا مقدار شروع پارامتر حرکت را نشان می دهد. به طور کلی ، بتا را می توان با استفاده از مقدار 0. 9 آغاز کرد ، اما در عمل مشاهده می شود که ارزش کمی بالاتر عملکرد را بهبود می بخشد (به عنوان مثال ، 0. 95 به جای 0. 9). در همه موارد ، از دیو برای پوسیدگی پارامتر حرکت از مقدار اولیه در ابتدای آموزش به صفر در پایان آموزش استفاده می شود.
اضافه کردن دیو به بهینه سازهای موجود
اگرچه برنامه پوسیدگی برای دیو پیچیده نیست ، اما تعیین چگونگی ترکیب این برنامه در یک بهینه ساز عمیق یادگیری موجود بلافاصله آشکار نیست. برای کمک به درک چگونگی استفاده از دیو با بهینهای محبوب مانند SGDM و ADAM ، ما توضیحات شبه کد از انواع دیو را برای این بهینه سازان در زیر ارائه می دهیم.
همانطور که در توضیحات الگوریتم بالا مشاهده می شود، بهینه سازهای SGDM و Adam با افزودن Demon به طور قابل توجهی تغییر نمی کنند. به طور خاص، Demon فقط برای اصلاح ضریب فروپاشی برای تخمین لحظه اول (یعنی میانگین لغزشی بر روی گرادیان تصادفی در طول تمرین) در SGDM و Adam استفاده می شود. هیچ چیز دیگری در مورد بهینه سازها تغییر نکرده است، بنابراین نشان می دهد که استفاده از Demon در عمل بسیار ساده است.
شیطان در کد
کد اجرای برنامه Demon نیز بسیار ساده است. ما آن را در زیر در نحو پایتون ارائه می دهیم.
تجزیه و تحلیل تجربی شیطان
ما Demon را در عمل به طور گسترده ارزیابی می کنیم. آزمایش ها بر روی چندین مجموعه داده مانند MNIST، CIFAR-10/100، FMNIST، STL-10، Tiny ImageNet، PTB و GLUE ارائه می شوند. علاوه بر این، Demon با چندین معماری مدل محبوب، از جمله ResNets و Wide ResNets، معماری های CNN غیر باقیمانده (به عنوان مثال، VGG)، LSTMs، ترانسفورماتورها (به عنوان مثال، تنظیم دقیق BERT)، VAE، شبکه های امتیاز شرطی نویز، و شبکه های کپسولی آزمایش شده است.. ما آزمایش های پایه را با استفاده از SGDM و Adam با 10 نوع مختلف از نرخ یادگیری و کاهش حرکت انجام می دهیم. علاوه بر این، آزمایش های پایه برای دامنه وسیعی از استراتژی های بهینه سازی اخیر مانند YellowFin، AMSGrad، AdamW، QHAdam، تکانه شبه هذلولی، و تکانه تجمعی ارائه شده اند. هدف ما این است که همه این آزمایش ها را در بخش زیر خلاصه کنیم و مزایای حاصل از فروپاشی حرکت با Demon را نشان دهیم.
تصویر بزرگ
در تمام آزمایش هایی که انجام شده اند (یعنی همه مجموعه های داده، مدل ها و ترکیب های استراتژی بهینه سازی)، تعداد دفعاتی را ثبت می کنیم که هر استراتژی بهینه سازی در مقایسه با سایر استراتژی های بهینه سازی، عملکرد اول یا سه را به همراه دارد. به طور شهودی، چنین معیاری منعکس کننده ثبات عملکرد یک استراتژی بهینه سازی در بین مدل ها و دامنه ها است. این آمار عملکرد در زیر برای بهترین عملکرد استراتژی های بهینه سازی آورده شده است.
As can be seen above, Demon yields extremely consistent performance across domains. In particular, it yields the best performance of any optimization strategy in nearly 40% of all experiments — a>20٪ بهبود مطلق نسبت به بهترین زمان بندی نرخ یادگیری کسینوس بعدی. علاوه بر این، Demon در بیش از 85 درصد آزمایش ها در مقایسه با سایر بهینه سازها، رتبه 3 را به دست می آورد، که نشان می دهد Demon حتی زمانی که بهترین نیست، همچنان عملکرد خوبی دارد.
جالب اینجاست که علاوه بر عملکرد مداوم تر در مقایسه با بسیاری از استراتژی های بهینه سازی بسیار مورد استفاده ، دیو به طور قابل توجهی از سایر برنامه ها برای پوسیدگی حرکت استفاده می کند. در حقیقت ، عملکرد برتر 1 هرگز با هیچ استراتژی پوسیدگی حرکت دیگر در تمام تنظیمات آزمایشی حاصل نمی شود. چنین یافته ای این واقعیت را برجسته می کند که هنگام انتخاب استراتژی پوسیدگی مناسب ، پوسیدگی حرکت مؤثر است. بر اساس این نتایج ، دیو به وضوح بهترین استراتژی پوسیدگی حرکت برای مواردی است که در نظر گرفته شده است.
نتایج تجربی دقیق
شیطان روی چندین مدل و مجموعه داده ها در چندین حوزه مختلف آزمایش شده است. در اینجا ، ما نتایج مفصلی را برای تمام آزمایشاتی که با دیو اجرا شده است ارائه می دهیم. برای هر یک از این آزمایشات ، شیطان با روشهای بهینه سازی پایه بیشمار مقایسه می شود (یعنی ، در ابتدای این بخش بیان شده است). لازم به ذکر است که نتایج حاصل از آزمایشات نشان داده شده در زیر برای تولید آمار خلاصه ذکر شده در بالا استفاده شده است ، بنابراین نشان می دهد که دیو تا حد زیادی عملکرد هر روش بهینه سازی را که در نظر گرفته شده است ، دارد.
استحناء بیش از حد پارامتری
علاوه بر تسریع در آموزش و تعمیم چاه ، استراتژی های بهینه سازی که باعث کاهش حساسیت هایپرپارامتر می شوند مطلوب هستند زیرا می توانند نیاز به تنظیم هایپرپارامتر را کاهش دهند ، که در عمل از نظر محاسباتی گران است. ما استحکام شیطان را به تنظیمات مختلف هایپرپارامتر در مقایسه با هر دو بهینه سازان SGDM و ADAM (یعنی احتمالاً بیشترین استفاده در یادگیری عمیق) با ضبط عملکرد مدل (یعنی دقت آزمایش) در طیف گسترده ای از هایپرپارامترهای احتمالی ارزیابی می کنیم.
از چپ به راست ، آزمایشات به تصویر کشیده شده در بالا ، Resnet گسترده در STL-10 با SGDM ، VGG در CIFAR-100 با SGDM و Resnet-20 در Cifar10 با آدم است. عملکرد دیو در ردیف بالا به تصویر کشیده شده است ، در حالی که عملکرد همتایان بهینه ساز وانیل (یعنی SGDM و آدم) در ردیف پایین به تصویر کشیده شده است. رنگ سبک تر نشان دهنده عملکرد بالاتر است و یک مدل جداگانه برای تولید اندازه گیری در هر یک از کاشی های فوق آموزش داده شده است. برای کلیه تنظیمات آزمایشی که مورد آزمایش قرار گرفتند ، می توان دریافت که استفاده از دیو در طول آموزش ، باند قابل ملاحظه ای از رنگ نور را در تنظیمات مختلف هایپرپارامتر مختلف به دست می آورد. به عنوان مثال ، در مجموعه داده STL-10 ، Demon ، علاوه بر دستیابی به عملکرد برتر بهتر در مقایسه با SGDM ، به طور متوسط 5-6 کاشی به رنگ روشن در هر ستون دارد ، در حالی که وانیل SGDM تنها 1-3 (تقریباً) دارد. واداین نتایج نشان می دهد که شیطان عملکرد معقول را در دامنه گسترده ای از هایپرپارامترها به همراه دارد ، و این بدان معنی است که برای تنظیم هایپرپارامتر قوی تر است.
سایر نتایج قابل توجه تجربی
پشتیبانی آزمایشی برای دیو بسیار گسترده است ، و ما به هر کسی که علاقه مند به معیارهای تجربی خاص و نتایج برای مراجعه به مقاله است ، توصیه می کنیم. با این حال ، چند نتیجه آزمایشی اضافی برای دیو وجود دارد که به ویژه قابل ذکر است.
تنظیم دقیق با دیو روی چسب
مدل های ترانسفورماتور یکی از مدل های گران قیمت ترین برای آموزش در یادگیری عمیق است. برای آزمایش اینکه آیا می توان عملکرد ترانسفورماتور بهبود یافته را با Demon بدست آورد ، ما BERT را با استفاده از Demon و Adam در چندین کار چسب تنظیم می کنیم. نتایج در زیر نشان داده شده اند.
همانطور که مشاهده می شود ، Demon از آدم برای تنظیم دقیق Bert در مجموعه داده چسب استفاده می کند. علاوه بر این ، برای دستیابی به این نتایج ، هیچ تنظیم خوبی برای دیو لازم نبود. ما به سادگی از همان هاپرپارامترهای مورد استفاده برای آزمایش های دیگر استفاده می کنیم و با حداقل تلاش به عملکرد بهتر می رسیم. این نتیجه جالب است ، به خصوص به این دلیل که آدم ، که یکی از بهینه سازی ها در دامنه NLP است ، به طور گسترده در مجموعه داده چسب تنظیم شده است.
نتایج کیفی بهتر برای NCSN
ما می دانیم که Demon از نظر کمی از آدم برای شبکه های نمره مشروط سر و صدا (NCSN) که در CIFAR-10 آموزش دیده است ، همانطور که در جدول بالا نشان داده شده است ، بهتر عمل می کند. با این حال ، هنگامی که نتایج مدل های آموزش داده شده با آدم و دیو از نظر کیفی مورد بررسی قرار می گیرند ، ما متوجه الگوی جالبی می شویم.
همانطور که در بالا مشاهده می شود ، NCSN که با آدم آموزش دیده است ، با وجود دستیابی به نمره اندکی بهبود یافته ، تصاویر به ظاهر غیر طبیعی تولید می کند (یعنی به نظر می رسد همه تصاویر دارای زمینه های سبز هستند). در مقایسه ، تصاویر تولید شده توسط NCSN که با دیو آموزش دیده است ، واقع بینانه تر به نظر می رسد.
نتیجه
بیشتر پزشکان در جامعه یادگیری عمیق ، Hyperparameter حرکت را به 0. 9 تبدیل کرده و آن را فراموش می کنند. ما استدلال می کنیم که این بهینه نیست و با اتخاذ استراتژی های پیشرفته تر حرکت می تواند از مزایای قابل توجهی استفاده کند. به طور خاص ، ما برنامه پوسیدگی شیاطین را معرفی می کنیم و نشان می دهیم که عملکرد تجربی به طور قابل توجهی در مقایسه با بسیاری از بهینهای دیگر به طور گسترده استفاده می شود. استفاده از دیو بسیار آسان است و ما جامعه یادگیری عمیق را برای امتحان کردن آن تشویق می کنیم. برای اطلاعات بیشتر در این پست گنجانده نشده است ، در صورت تمایل مقاله ای را که برای دیو نوشته شده است ، بخوانید.
از خواندن این پست بسیار سپاسگزارم ، از هرگونه بازخورد بسیار استقبال می شود. برای هر کسی که علاقه مند به یادگیری بیشتر در مورد تحقیقات مشابه است ، پروژه ارائه شده در این پست توسط آزمایشگاه بهینه سازی در دانشگاه رایس ، Deparment of Computer Computer انجام شده است. برای اطلاعات بیشتر در مورد آزمایشگاه ، که توسط دکتر Anastasios Kyrillidis هدایت می شود ، اینجا را ببینید.
فارکس وکسب درامد...
ما را در سایت فارکس وکسب درامد دنبال می کنید
برچسب :
نویسنده : احمد قانع پور
بازدید : 36
تاريخ : شنبه
9 ارديبهشت
1402 ساعت: :