رفتن به نوشته‌ها

همه چیز در یادگیری عمیق هایپر-پارامتر است

یک چیز خوب درباره شبکه‌های عصبی یا به طور خاص یادگیری عمیق (دیپ لرنینگ) این است که این مدل‌ها بسیار قوی هستند و نتایج بسیار خوبی میدهند و یک نکته بدی که دارند این است که تقریبا در یادگیری عمیق همه چیز هایپر-پارامتر است و دقت الگوریتم شما خیلی به هایپر-پارامترها وابسته است یا به قول معروف:

Everything is a hyperparameter

(اگر فرق بین پارامتر و هایپرپارامتر رو نمی‌دونید اینجا را بخونید)

بنابراین برای اینکه نتیجه‌ی خوبی بگیرید باید هایپر-پارامترهای شبکه‌اتون رو به درستی تنظیم (Tuning) کنید. برخی هایپر-پارامترهایی که ارزش دارند تنظیم‌اشون کنید میتواند موارد زیر باشند:

یک مقاله خوب که اوایل سال میلادی ۲۰۱۷ آمد مقاله زیر بود که توسط گوگل منتشر شد و هایپر-پارامترهای مهمی که در ترجمه ماشین دخیل هستند را روی دو دادگان (دیتاست) مختلف مقایسه کرده بود (برای بقیه تسک‌ها هم تقریبا نتیجه مشابهی دارد) و بنا به گفته‌ مقاله بیش از ۲۵۰ هزار ساعت روی جی‌پی‌یو تست‌های مختلف انجام دادند تا به این نتایج برسند.

مقاله مرجع Massive Exploration of Neural Machine Translation Architectures

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

  • سلول‌های LSTM در تمام آزمایش‌ها از سلول‌های GRU بهترند. راستش نمیدونم این مورد درست است یا خیر و در مقاله راجع به اینکه significant test انجام شده یا خیر بخاطر همین بهش شک دارم 🙂
  • بردار کلمات (word embedding) با اندازه ۲۰۴۸ بهترین نتایج را میدهند ولی بردارهای کلمات (word embedding) با اندازه ۱۲۸ هم به خوبی جواب میدهد و تفاوت آنها تنها کمتر از ۰.۵ درصد است. در حال حاضر استاندارد ۳۰۰ است ولی در کارهای اخیر بردارهای کلمات ۵۰۰ در نظر گرفته شده است (مقاله ELMO مثلا).
  • انکدرهای دوجهته (Bi-directional encoder) با تعداد ۲ تا ۴ لایه بهترین عملکرد را دارند و لایه‌های بیشتر در اکثر موارد پایدار نیستند. علاوه بر ناپایداری مدل تعداد لایه‌های بیشتر به شدت overfit میشود و حتی در یک مقاله خوندم که اصن stack کردن شبکه‌ها با روش‌های فعلی کار درستی نیست!
  • از بین دو مکانیزم اتنشن (attention) افزودنی (additive) مقاله آقای Bengio و ضربی (multiplicative) مقاله آقای Manning، مکانیزم افزودنی بهتر عمل میکند (این قسمت از مقاله را حتما بخوانید چون یک نقش دیگر برای مکانیزم اتنشن در مطرح کرده است که در نوع خود بسیار جالب است).
  • اندازه Beam-Search یک هایپر-پارامتر ضروری است و اندازه ۵-۱۰ با میزان جریمه ۱.۰ در اکثر موارد بهترین نتیجه را میدهد. هنگام inference مدل بخصوص در ترجمه ماشین، اندازه بیم‌سرچ زمان رو افزایش میدهد ولی به شدت روی کیفیت مدل تاثیر می‌گذارد بخصوص وقتی که با مدل زبانی آن را ترکیب کنید.

در جدول زیر خلاصه بهترین هایپر-پارامترها رو میتونید ملاحضه بفرمایید:

پارامترهای مهم و میزان آنها

شما هم اگر مقاله‌ای رو میشناسید که به توضیح هایپرپارامتر‌ها پرداخته است و فکر می‌کنید جالب است خوشحال میشم در کامنت با من در اشتراک بزارید.

منتشر شده در پردازش زبان طبیعییادگیری عمیقیادگیری ماشین

نظر

  1. mrmrn mrmrn

    عالی بود.
    امیدوارم ادامه داشته باشه.

    • هادیفر هادیفر

      متشکرم 🙂

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *