جستجوی معماری عصبی وعده می دهد که روند یافتن معماری شبکه های عصبی را تسریع می بخشد که مدل های خوبی برای یک مجموعه داده مشخص به دست می دهد.
جستجوی معماری عصبی وظیفه یافتن خودکار یک یا چند معماری برای یک شبکه عصبی است که مدلهایی با نتایج خوب (تلفات کم)، نسبتاً سریع، برای یک مجموعه داده معین به دست میدهد. جستجوی معماری عصبی در حال حاضر یک منطقه نوظهور است. تحقیقات زیادی در حال انجام است، رویکردهای مختلفی برای کار وجود دارد، و به طور کلی بهترین روش واحد وجود ندارد – یا حتی بهترین روش واحد برای یک نوع تخصصی از مشکل مانند شناسایی اشیا در تصاویر. p>
جستجوی معماری عصبی جنبه ای از AutoML، همراه با مهندسی ویژگی، یادگیری انتقال، و بهینه سازی هایپرپارامتر است. این احتمالاً سخت ترین مشکل یادگیری ماشینی است که در حال حاضر تحت تحقیقات فعال است. حتی ارزیابی روش های جستجوی معماری عصبی سخت است. تحقیقات جستجوی معماری عصبی نیز می تواند پرهزینه و وقت گیر باشد. معیار زمان جستجو و آموزش اغلب بر حسب GPU-روز، گاهی اوقات هزاران GPU-روز داده می شود.
انگیزه بهبود جستجوی معماری عصبی کاملاً واضح است. بسیاری از پیشرفتها در مدلهای شبکه عصبی، به عنوان مثال در طبقهبندی تصویر و ترجمه زبان، نیاز به تنظیم دستی قابلتوجهی در معماری شبکه عصبی دارد که زمانبر و مستعد خطا است. حتی در مقایسه با هزینه پردازندههای گرافیکی پیشرفته در ابرهای عمومی، هزینه دانشمندان داده بسیار بالا است و در دسترس بودن آنها کم است.
ارزیابی جستجوی معماری عصبی
به عنوان چندین نویسنده (برای مثال Lindauer و هاتر، یانگ و همکاران، و لی و تالوالکار) مشاهده کرده اند، بسیاری از مطالعات جستجوی معماری عصبی (NAS) برای هر یک از آنها غیر قابل تکرار هستند. دلایل متعدد. علاوه بر این، بسیاری از الگوریتمهای جستجوی معماری عصبی یا از جستجوی تصادفی بهتر عمل نمیکنند (با معیارهای پایان زودهنگام اعمال شده) یا هرگز با یک خط پایه مفید مقایسه نشدند.
یانگ و همکاران نشان داد که بسیاری از تکنیکهای جستجوی معماری عصبی در تلاش برای شکست قابلتوجهی از میانگین نمونهبرداری تصادفی پایه معماری هستند. (آنها مقاله خود را “ارزیابی NAS به طرز ناامیدکننده ای سخت است” نامیدند.) آنها همچنین یک مخزن ارائه کردند که شامل کد مورد استفاده برای ارزیابی روشهای جستجوی معماری عصبی در چندین مجموعه داده مختلف و همچنین کد مورد استفاده برای تقویت معماریها با پروتکلهای مختلف.
Lindauer و Hutter یک برترین چک لیست اقدامات NAS پیشنهاد کردهاند. بر اساس مقاله آنها (همچنین اشاره شده در بالا):
برای همه آزمایشهایی که گزارش میکنید، بررسی کنید که آیا منتشر کردهاید:
_ کد خط لوله آموزشی که برای ارزیابی معماریهای نهایی استفاده میشود
_ کد فضای جستجو
_ هایپرپارامترهای مورد استفاده برای خط لوله ارزیابی نهایی، و همچنین دانه های تصادفی
_ کد برای روش NAS شما
_ هایپرپارامترهای روش NAS شما، و همچنین دانه های تصادفی
توجه داشته باشید که ساده ترین راه برای ارضای سه مورد اول، استفاده از معیارهای NAS موجود به جای تغییر آنها یا معرفی موارد جدید است.
_ برای همه روشهای NAS که مقایسه میکنید، آیا دقیقاً از معیار NAS یکسانی استفاده کردهاید، از جمله مجموعه دادههای مشابه (با همان تقسیم آموزشی-آزمون)، فضای جستجو و کد برای آموزش معماریها و فراپارامترهای آن کد؟
_ آیا عوامل مخدوش کننده (سخت افزارهای مختلف، نسخه های کتابخانه های DL، زمان های مختلف اجرا برای روش های مختلف) را کنترل کردید؟
_ آیا مطالعات فرسایشی را اجرا کردید؟
_ آیا از پروتکل ارزیابی یکسانی برای روشهای مقایسه شده؟
_ آیا عملکرد را در طول زمان مقایسه کردید؟
_ آیا با جستجوی تصادفی مقایسه کردید؟ _ آیا از معیارهای جدولی یا جایگزین برای ارزیابی های عمیق استفاده کردید؟
_ آیا نحوه تنظیم هایپرپارامترها را گزارش کردید، و چه زمان و منابعی برای این کار لازم است؟
_ آیا زمان کل روش NAS سرتاسری را گزارش کردید (بهعنوان مثال، فقط برای جستجو). فاز)؟
_ آیا تمام جزئیات راه اندازی آزمایشی خود را گزارش کردید؟
ارزش بحث در مورد اصطلاح “مطالعات فرسایشی” ذکر شده در معیارهای گروه دوم را دارد. مطالعات فرسایشی در ابتدا به برداشتن بافت بدن با جراحی اشاره داشت. هنگامی که بر روی مغز اعمال می شود، مطالعات فرسایش (که معمولاً به دلیل یک بیماری جدی پزشکی انجام می شود، با تحقیقات انجام شده پس از جراحی) به تعیین عملکرد بخش هایی از مغز کمک می کند.
در تحقیقات شبکه های عصبی، فرسایش به معنای حذف ویژگی ها از شبکه های عصبی برای تعیین اهمیت آنهاست. در تحقیقات NAS، به حذف مجدد ویژگیها از خط لوله جستجو و تکنیکهای آموزشی، از جمله اجزای پنهان، برای تعیین اهمیت آنها اشاره دارد.
روش های جستجوی معماری عصبی
Elsken et al. (۲۰۱۸) بررسی روشهای جستجوی معماری عصبی را انجام داد و آنها را در دسته بندی کرد. شرایط فضای جستجو، استراتژی جستجو، و استراتژی برآورد عملکرد. فضاهای جستجو می توانند برای کل معماری ها، لایه به لایه (جستجوی ماکرو)، یا می توانند به مونتاژ سلول های از پیش تعریف شده (جستجوی سلولی) محدود شوند. معماریهایی که از سلولها ساخته شدهاند، از فضای جستجو به شدت کاهش یافته استفاده میکنند. زوف و همکاران (۲۰۱۸) افزایش سرعت ۷ برابری را تخمین زده است.
استراتژیهای جستجو برای معماریهای عصبی شامل جستجوی تصادفی، بهینهسازی بیزی، روشهای تکاملی، یادگیری تقویتی و روشهای مبتنی بر گرادیان است. نشانه هایی از موفقیت برای همه این رویکردها وجود داشته است، اما هیچ کدام واقعاً برجسته نبوده اند.
سادهترین راه برای تخمین عملکرد شبکههای عصبی، آموزش و اعتبارسنجی شبکهها بر روی داده است. متأسفانه، این میتواند به درخواستهای محاسباتی به ترتیب هزاران روز GPU برای جستجوی معماری عصبی منجر شود. راههای کاهش محاسبات شامل برآوردهای وفاداری کمتر (دوران آموزش کمتر، دادههای کمتر و مدلهای کوچکتر) است. برون یابی منحنی یادگیری (بر اساس تنها چند دوره)؛ تمرینات با شروع گرم (وزن ها را با کپی کردن آنها از یک مدل والدین شروع کنید). و مدل های تک شات با تقسیم وزن (در زیرگراف ها از وزن های مدل تک شات استفاده شده است). همه این روش ها می توانند زمان آموزش را به چند روز GPU به جای چند هزار روز GPU کاهش دهند. با این حال، سوگیری های معرفی شده توسط این تقریب ها هنوز به خوبی درک نشده اند.
پروژه مایکروسافت Petridish
Microsoft Research ادعا می کند که رویکرد جدید برای جستجوی معماری عصبی که اتصالات میانبر را به لایه های شبکه موجود اضافه می کند و از اشتراک وزن استفاده می کند. اتصالات میانبر اضافه شده به طور موثر افزایش گرادیان را در لایههای تقویتشده انجام میدهد. آنها این پروژه را Petridish می نامند.
این روش ظاهراً زمان آموزش را به چند روز GPU به جای چند هزار روز GPU کاهش می دهد و از آموزش با شروع گرم پشتیبانی می کند. به گفته محققان، این روش هم در جستجوی سلولی و هم در جستجوی ماکرو به خوبی کار می کند.
نتایج تجربی نقلشده برای مجموعه داده تصویری CIFAR-10 بسیار خوب بود، اما برای مجموعه داده زبان Penn Treebank چیز خاصی نداشت. در حالی که پروژه Petridish به صورت مجزا و بدون مقایسه دقیق با سایر روشهای مورد بحث جالب به نظر میرسد، مشخص نیست که آیا این یک پیشرفت عمده برای جستجوی معماری عصبی در مقایسه با سایر روشهای افزایش سرعت مورد بحث ما است یا فقط راه دیگری برای رسیدن به همان روش است. مکان.
پست های مرتبط
جستجوی معماری عصبی چیست؟ AutoML برای یادگیری عمیق
جستجوی معماری عصبی چیست؟ AutoML برای یادگیری عمیق
جستجوی معماری عصبی چیست؟ AutoML برای یادگیری عمیق