جستجوی معماری عصبی

**جستجوی معماری عصبی** (به انگلیسی: **[https://https://en.wikipedia.org/wiki/Neural_architecture_search Neural architecture search]** و مخفف **NAS** ) روشی برای اتوماتیک کردن طراحی شبکه عصبی مصنوعی (ANN) است و یک مدل کاربردی در زمینه یادگیری ماشین است. NAS برای طراحی شبکه‌هایی همتراز یا بهتر از طراحی‌ دستی معماری استفاده شده است. روش‌های NAS را می‌توان بر اساس فضای جستجو، استراتژی جستجو و استراتژی تخمین عملکرد مورد استفاده طبقه‌بندی کرد:

·        **فضای جستجو:** انواع شبکه های عصبی مصنوعی با امکان طراحی و قابلیت بهینه سازی را مشخص می کند.

·        **استراتژی جستجو:** رویکرد مورد استفاده برای کشف فضای جستجو را تعریف می کند.

·        **استراتژی تخمین عملکرد:** عملکردِ یک شبکه عصبی مصنوعی ممکن را از روی طراحی آن (بدون ساخت و آموزش آن) ارزیابی می کند.

NAS، با بهینه سازی هایپرپارامتر ( Hyper parameter ) و فرا یادگیری ارتباط نزدیکی دارد و یکی از زیر شاخه های یادگیری ماشین خودکار (Auto-ML) است.

## یادگیری تقویتی
یادگیری تقویتی (RL) می تواند زیربنای استراتژی جستجوی NAS باشد. زوف و همکاران، NAS را با هدف قرار دادن مجموعه داده CIFAR-10 از طریق RL اعمال کردند و به معماری شبکه ای دست یافتند که با نرخ خطای **3.65** ، به عبارتی **0.09 درصد بهتر** و **1.05 برابر سریعتر** از یک مدل طراحی شده دستی با بهترین معماری رقابت می کند. در مدل ارائه شده، مجموعه داده Penn Treebank، یک سلول تکراری را تشکیل می‌دهد که عملکرد بهتری نسبت به LSTM دارد. در مدل‌سازی زبان کاراکتر PTB، به ازای هر کاراکتر 1.214 بیت به دست آمد.

معمولا یادگیری یک معماری مدل روی یک مجموعه داده بزرگ بصورت مستقیم فرآیندی زمانبر است. NASNet با انتقال یک بلوک طراحی شده برای یک مجموعه داده کوچک به یک مجموعه داده بزرگتر به این مسئله پرداخت. به منظور بازگرداندن نگاشت‌های ویژگی هنگام پیچش یک نگاشت ویژگی ورودی دو عملکرد اصلی انجام می‌دهند، این طراحی محدود به استفاده از دو نوع سلول پیچشی است: سلول‌های عادی که نگاشت هایی با وسعت (ارتفاع و عرض) یکسان را برمی‌گردانند و سلول‌های کاهشی که در آن ارتفاع و عرض نگاشت ویژگی بازگشتی به میزان دو برابر کاهش می یابد. برای سلول کاهشی، عملیات اولیه اعمال شده بر روی ورودی های سلول از گام دو (برای کاهش ارتفاع و عرض) استفاده می کند. جنبه یادگیری طراحی شامل عناصری از قبیل لایه(های) پایینی هر لایه بالاتر به عنوان ورودی، تغییرات اعمال شده در آن لایه و ادغام چندین خروجی در هر لایه بود. در مثال مورد مطالعه، بهترین لایه (یا "سلول") پیچشی برای مجموعه داده CIFAR-10 طراحی شد و سپس با روی هم قرار دادن نسخه هایی از این سلول، هر کدام با پارامترهای خاص خود، روی مجموعه داده ImageNet اعمال شد. این رویکرد دقت 82.7% top-1 و 96.2% top-5 را به همراه داشت. این امر با هزینه 9 میلیارد FLOPS کمتر -کاهش 28 درصدی- از بهترین معماری های اختراع شده توسط انسان انجام شد. سیستم همچنان در سطوح مختلف محاسباتی از جایگزین طراحی شده دستی بهتر بود. ویژگی‌های تصویری که از طبقه‌بندی تصویر به دست می‌آیند را می‌توان به سایر مسائل بینایی رایانه منتقل کرد، به عنوان مثال، برای تشخیص اشیا، سلول های آموخته شده با چارچوب Faster-RCNN ادغام شده اند و عملکرد را تا 4.0٪ در مجموعه داده COCO ارتقا می دهند. 

در اصطلاح جستجوی معماری عصبی کارآمد (ENAS)، یک کنترل کننده با یادگیری جستجوی زیرگراف بهینه در یک گراف بزرگ است که معماری ها را کشف می کند. به کنترل کننده با شیب خط مشی، آموزش داده می شود تا زیرگرافی را انتخاب کند که نتیجه مورد انتظار مجموعه اعتبار سنجی را به حداکثر برساند. مدل مربوط به زیرگراف نیز برای به حداقل رساندن افت آنتروپی متقاطع استاندارد، آموزش داده شده است. چندین مدل‌ فرزند پارامترها را به اشتراک می‌گذارند، ENAS به ساعت‌های GPU کمتری نسبت به سایر رویکردها و 1000 برابر کمتر از NAS «استاندارد» نیاز دارد. در CIFAR-10، طراحی ENAS به خطای آزمون 2.89% رسید که قابل مقایسه با NASNet است و در Penn Treebank، طرح ENAS به پیچیدگی آزمایشی 55.8 رسید.

## تکامل
چندین گروه، از الگوریتم‌های تکاملی برای NAS استفاده می‌کنند. جهش‌ در زمینه ANNهای در حال تکامل، عملیاتهاشی مانند افزودن یک لایه، حذف یک لایه یا تغییر نوع یک لایه (به عنوان مثال، از کانولوشن به ادغام) هستند. در CIFAR-10، تکامل و RL عملکرد مشابهی داشتند، در حالی که هر دو روش از جستجوی تصادفی بهتر عمل کردند.

## تپه نوردی
گروهی دیگر، از روش تپه‌نوردی ( به انگلیسی: Hill climbing ) استفاده کردند که مورفیسم‌های شبکه را به کار گرفتند. این رویکرد نتایج رقابتی به همراه داشته و به منابعی با مرتبه بزرگی مشابهی به عنوان آموزش یک شبکه واحد نیاز داشت. به عنوان مثال، در CIFAR-10، این روش، شبکه ای با نرخ خطای کمتر از 5% را در 12 ساعت روی یک GPU واحد، طراحی و آموزش داد.

## جستجوی چند هدفه
در حالی که بیشتر رویکردها صرفا بر یافتن معماری با حداکثر عملکرد پیش‌بینی تمرکز می‌کنند، اما اهداف دیگری مانند مصرف حافظه، اندازه مدل یا زمان استنتاج (یعنی زمان لازم برای به دست آوردن یک پیش‌بینی) برای اکثر برنامه‌های کاربردی، مد نظر هستند. به همین دلیل، محققان یک جستجوی چند هدفه ایجاد کردند.

LEMONADE یک الگوریتم تکاملی است که از لامارکیسم برای بهینه سازی کارآمد اهداف چندگانه استفاده کرده است. در هر نسل، شبکه‌های فرزند برای بهبود جبهه پارتو با توجه به جمعیت فعلی شبکه‌های عصبی مصنوعی ایجاد می‌شوند. 

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

## مدل های تک شات
همانطور که در مقالات NASNet، mNASNet و MobileNetV3 توضیح داده شده است،  RL یا NAS مبتنی بر تکامل به هزاران روز جستجو/آموزش GPU برای دستیابی به نتایج پیشرفته بینایی کامپیوتری نیاز دارد.

برای کاهش هزینه محاسباتی، بسیاری از روش های اخیر NAS بر ایده اشتراک وزن تکیه دارند. در این رویکرد از یک ابرشبکه واحد (همچنین به عنوان مدل تک شات شناخته می شود) به عنوان فضای جستجو استفاده می شود که در آن وزن ها بین تعداد زیادی از زیرمعماری های مختلف که دارای لبه های مشترک هستند، به اشتراک گذاشته می شود، که هر کدام به عنوان یک مسیر در سوپرنت در نظر گرفته می شوند. ایده اصلی این است که یک ابرشبکه را آموزش دهیم که به جای تولید و آموزش مستقل هزاران شبکه، گزینه های زیادی را برای طراحی نهایی در بر می گیرد. علاوه بر پارامترهای آموخته شده، مجموعهای از پارامترهای معماری یاد می گیرند که یک ماژول را بر دیگری ترجیح دهند. چنین روش هایی، منابع محاسباتی مورد نیاز را تنها به چند روز GPU کاهش می دهند. 

کارهای اخیر بیشتر این پارادایم تقسیم وزن را با حذف مداوم فضای جستجو ترکیب می کند که استفاده از روش های بهینه سازی مبتنی بر شیب خط را امکان پذیر می کند. به طور کلی این رویکردها به عنوان NAS قابل تمایز شناخته می شوند و در کاوش فضای جستجوی معماری های عصبی بسیار کارآمد هستند. 

بدیهی است که NAS متمایز با استفاده از بخشی از زمان جستجوی مورد نیاز روش‌های جستجوی مبتنی بر RL، نتایج رقابتی را تولید می‌کند. برای مثال، FBNet (که مخفف شبکه برکلی فیس‌بوک است) نشان داد که جستجوی مبتنی بر ابرشبکه، شبکه‌هایی را تولید می‌کند که از منحنی تبادل سرعت-دقت mNASNet و MobileNetV2 در مجموعه داده‌های طبقه‌بندی تصویر ImageNet بهتر عمل می‌کنند. FBNet این کار را با بیش از 400 برابر زمان جستجوی کمتری نسبت به mNASNet انجام می دهد. علاوه بر این، SqueezeNAS نشان داد که NAS مبتنی بر ابرشبکه، شبکه‌های عصبی را تولید می‌کند که از منحنی تبادل سرعت-دقت MobileNetV3 در مجموعه داده‌های تقسیم‌بندی معنایی Cityscapes بهتر عمل می‌کند، و SqueezeNAS بیش از 100 برابر زمان جستجوی کمتری را نسبت به جستجوی مبتنی بر RL نویسندگان MobileNetV3 استفاده می‌کند.
رده:هوش مصنوعی
رده:شبکه عصبی