در ابتدا پیشنهاد میکنم فصل هفتم کتاب یادگیری عمیق آقای گود فلو رو مطالعه کنید نکات جالبی در مورد پیچیدگی مدل ، تعداد پارامتر های آزاد بیان شده که به صورت یک سری قوانین عمومی در اومده اند. ( انتخاب معماری مناسب یک امر گسسته هست نه متوالی ، شبیه تیوری no free lunch دیوید ولپرت «در جستجو و بهینهسازی از ناهار مجانی خبری نیست»)
قانون خاص سر انگشتی برای انتخاب تعداد پارامتر ها و لایه ها وجود نداره ، انتخاب پارامترهای مطلوب برای معماری شبکه عصبی اغلب می تونه تفاوت بین state of the art و یک کار با نتایج تصادفی شه.
در مقالات کمی به این مقوله پرداخته شده ، بطوریکه انتخاب hyperparameter درست اغلب بیشتر شبیه black art
(یا کیمیاگری ) هست که معمولا از طریق تجربه بدست میاد.
ابتدا بایستی بگم ، در بیشتر مدل های که به عنوان state of the art منتشر میشن ، معمولا تعداد زیادی مدل با ابر پارامتر مختلف آموزش داده میشه )
Brute-force)تا به یک معماری بهینه دست پیدا کنند ، اما فقط در صورت داشتن یک سخت افزار خوب این امر امکان پذیر هست .
به صورت کلی همیشه از یک baseline شروع کنید (یا کارهای قبلی که نتایج خوبی بدست آوردند) به تدریج پس از بررسی نتیجه تعداد پارامترها رو افزایش بدید ، این پروسه به
Babysitting the learning process معروف هستش . تعداد زیاد و یا کم پارامتر ها میتونه تاثیر مستقیم بر روی overfit یا underfit شدن مدل داره .
اگه به تاریخچه کارهای مختلف یادگیری عمیق نگاه کنید میبینید که در طول سالهای مختلف با افزایش عمق و معماری دقت افزایش پیدا کرد. محققین معمولا با تعداد پارامتر زیاد شروع میکنند و در ادامه توسط متد های مختلف regularization تعداد پارامتر ها رو کنترل میکنند ، با استفاده از این تکنیک اهمیت انتخاب ساختار مدل کاهش پیدا میکنه اما در عوض بایستی مقداری وقت صرف انتخاب پارامتر های مناسب regularization کنید . اما این امر میتونه در مورد شبکه های بازگشتی مثل lstm متفاوت باشه ، به صورتی که با افزایش عمق در این شبکه ها محاسبات به شدت افزایش پیدا میکنه .
در مورد lstm انتخاب درست word embeddings میتونه تاثیر زیادی بر روی نتیجه کار داشته باشه در حالی که تعداد لایه ها و بلاک های lstm میتونه تاثیرات جزیی داشته باشه.
پیشنهاد میکنم مقاله
Optimal Hyperparameters for Deep LSTM-Networks for Sequence Labeling Tasksرو مطالعه کنید . این مقاله نکات جالبی در مورد انتخاب صحیح پارامتر ها ارایه شده ( بیش از ۵۰۰۰۰ شبکه آموزش داده شده) که میتونه به شما در انتخاب صحیح پارامتر ها کمک کنه