نکات و ترفندهای یادگیری عمیق

  • 2022-03-13

افزایش داده ها مدل های یادگیری عمیق معمولاً به داده های زیادی نیاز دارند تا به درستی آموزش ببینند. دریافت داده های بیشتر از موارد موجود با استفاده از تکنیک های تقویت داده ها اغلب مفید است. موارد اصلی در جدول زیر خلاصه شده است. به طور دقیق تر ، با توجه به تصویر ورودی زیر ، در اینجا تکنیک هایی که می توانیم اعمال کنیم وجود دارد:

اصلی تلنگر چرخش محصول تصادفی
• تصویر بدون هیچ گونه اصلاح • با توجه به محوری که معنای تصویر برای آن حفظ شده است • چرخش با یک زاویه جزئی • کالیبراسیون افق نادرست را شبیه سازی می کند • تمرکز تصادفی روی یک قسمت از تصویر • چندین محصول تصادفی را می توان در یک ردیف انجام داد
تغییر رنگ علاوه بر سر و صدا از دست دادن اطلاعات تغییر کنتراست
• تفاوت های ظریف RGB کمی تغییر کرده است • سر و صدایی را که ممکن است با قرار گرفتن در معرض نور رخ دهد ، ضبط می کند • افزودن سر و صدا • تحمل بیشتر به تنوع کیفیت ورودی ها • بخش هایی از تصویر نادیده گرفته شده است • از دست دادن احتمالی بخش هایی از تصویر تقلید می کند • تغییرات درخشندگی • تفاوت در نمایشگاه را به دلیل زمان روز کنترل می کند

نکته: داده ها معمولاً در هنگام آموزش در پرواز افزوده می شوند.

عادی سازی دسته ای این مرحله از Hyperparameter $ \ Gamma ، \ Beta $ است که دسته $ \ $ را عادی می کند. با توجه به $ \ mu_b ، \ sigma_b^2 $ میانگین و واریانس که می خواهیم به دسته اصلاح کنیم ، به شرح زیر انجام می شود:

این کار معمولاً پس از یک لایه کاملاً متصل/حلقوی و قبل از یک لایه غیر خطی انجام می شود و هدف آن اجازه دادن به نرخ یادگیری بالاتر و کاهش وابستگی شدید به اولیه سازی است.

آموزش یک شبکه عصبی

تعاریف

Epoch در زمینه آموزش یک مدل ، Epoch اصطلاحی است که برای اشاره به یک تکرار استفاده می شود که در آن مدل کل مجموعه آموزش را برای به روزرسانی وزن خود می بیند.

نزول شیب مینی دسته ای در مرحله تمرین ، به روزرسانی وزنه ها معمولاً بر اساس کل آموزش به یکباره به دلیل پیچیدگی های محاسباتی یا یک نقطه داده به دلیل مشکلات نویز انجام نمی شود. در عوض ، مرحله بروزرسانی در مینی دسته ها انجام می شود ، جایی که تعداد نقاط داده در یک دسته ، یکپرپارامتر است که می توانیم آن را تنظیم کنیم.

عملکرد ضرر به منظور تعیین میزان عملکرد یک مدل معین ، از عملکرد ضرر $ L $ استفاده می شود تا ارزیابی کند تا چه میزان خروجی واقعی $ y $ به درستی توسط خروجی مدل $ Z $ پیش بینی شده است.

از دست دادن آنتروپی متقاطع در زمینه طبقه بندی باینری در شبکه های عصبی ، ضرر متقابل آنتروپی $ L (z ، y) $ معمولاً مورد استفاده قرار می گیرد و به شرح زیر تعریف می شود:

پیدا کردن وزن بهینه

پس انتشار روشی برای به روز رسانی وزن ها در شبکه عصبی با در نظر گرفتن خروجی واقعی و خروجی مورد نظر است. مشتق با توجه به هر وزن $w$ با استفاده از قانون زنجیره محاسبه می شود.

با استفاده از این روش، هر وزن با قانون به روز می شود:

به روز رسانی وزن ها در یک شبکه عصبی، وزن ها به صورت زیر به روز می شوند:

• مرحله 1: یک دسته از داده های آموزشی بردارید و برای محاسبه ضرر، انتشار رو به جلو را انجام دهید.• مرحله 2: افت را به عقب انتشار دهید تا گرادیان افت را با توجه به هر وزن بدست آورید.• مرحله 3: از گرادیان ها برای به روز رسانی وزن های شبکه استفاده کنید.

تنظیم پارامتر

مقداردهی اولیه وزن ها

مقداردهی اولیه Xavier به جای مقداردهی اولیه وزنها به روشی کاملاً تصادفی، مقداردهی اولیه Xavier امکان داشتن وزنهای اولیه را فراهم می کند که ویژگی های منحصر به فرد معماری را در نظر می گیرند.

آموزش انتقالی آموزش یک مدل یادگیری عمیق به داده های زیادی و مهمتر از آن زمان زیادی نیاز دارد. اغلب مفید است که از وزن‌های از پیش آموزش‌دیده شده در مجموعه داده‌های عظیمی که آموزش آن‌ها روزها/هفته‌ها طول می‌کشید، استفاده کنیم و از آن برای استفاده خود استفاده کنیم. بسته به میزان داده ای که در دست داریم، در اینجا روش های مختلفی برای استفاده از این اهرم وجود دارد:

اندازه تمرین تصویر توضیح
کم اهمیت تمام لایه ها را منجمد می کند، وزنه ها را روی سافت مکس تمرین می دهد
متوسط اکثر لایه‌ها را منجمد می‌کند، وزن‌ها را روی لایه‌های آخر و softmax تمرین می‌دهد
بزرگ وزن ها را روی لایه ها و softmax را با مقداردهی اولیه وزن ها روی لایه های از پیش آموزش دیده آموزش می دهد

بهینه سازی همگرایی

نرخ یادگیری نرخ یادگیری که اغلب به $\alpha$ یا گاهی اوقات $\eta$ اشاره می شود، نشان می دهد که وزن ها با چه سرعتی به روز می شوند. می توان آن را ثابت یا تطبیقی تغییر داد. رایج ترین روش فعلی Adam نام دارد که روشی است که نرخ یادگیری را تطبیق می دهد.

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

روش توضیح به روز رسانی $w$ به روز رسانی $b$
تکانه • نوسانات را کاهش می دهد • بهبود SGD • 2 پارامتر برای تنظیم $\displaystyle w-\alpha v_$ $\displaystyle b-\alpha v_$
RMSprop • انتشار میانگین مربع ریشه • با کنترل نوسانات، الگوریتم یادگیری را سرعت می بخشد $\displaystyle w-\alpha\frac<\sqrt>$ $\displaystyle b\longlefttarrow b-\alpha\frac<\sqrt>$
آدم • تخمین لحظه تطبیقی • محبوب ترین روش • 4 پارامتر برای تنظیم $\displaystyle w-\alpha\frac<\sqrt+\epsilon>$ $\displaystyle b\longlefttarrow b-\alpha\frac<\sqrt+\epsilon>$

نکته: روشهای دیگر شامل آدلتا ، آداگراد و SGD است.

منظم سازی

Dropout Dropout is a technique used in neural networks to prevent overfitting the training data by dropping out neurons with probability $p >0 $این مدل را مجبور می کند تا از تکیه بیش از حد به مجموعه های خاص از ویژگی ها جلوگیری کند.

نکته: بیشتر چارچوبهای یادگیری عمیق از طریق پارامتر "نگهدارنده" 1-p $ پارامتر می شوند.

تنظیم وزن به منظور اطمینان از اینکه وزنه ها خیلی زیاد نیستند و این مدل بیش از حد در مجموعه تمرین قرار نمی گیرد ، تکنیک های منظم معمولاً روی وزن مدل انجام می شود. موارد اصلی در جدول زیر خلاصه شده است:

کمند خط الراس شبکه الاستیک
• ضرایب را به 0 کاهش می دهد • برای انتخاب متغیر خوب است ضرایب را کوچکتر می کند تجارت بین انتخاب متغیر و ضرایب کوچک
Elastic Net
$+\ lambda || \ theta || _1 $ $ \ lambda \ in \ mathbb $ $+\ lambda || \ theta || _2^2 $ $ \ lambda \ in \ mathbb $ $+\ lambda \ big [(1- \ alpha) || \ theta || _1+\ alpha || \ theta || _2^2 \ big] $ \ lambda \ in \ mathbb ، \ alpha \ in [0،1] $

متوقف کردن زود هنگام این تکنیک منظم ، به محض رسیدن ضرر اعتبار سنجی به یک فلات یا شروع به افزایش ، روند آموزش را متوقف می کند.

روشهای خوب

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

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

ثبت دیدگاه

مجموع دیدگاهها : 0در انتظار بررسی : 0انتشار یافته : ۰
قوانین ارسال دیدگاه
  • دیدگاه های ارسال شده توسط شما، پس از تایید توسط تیم مدیریت در وب منتشر خواهد شد.
  • پیام هایی که حاوی تهمت یا افترا باشد منتشر نخواهد شد.
  • پیام هایی که به غیر از زبان فارسی یا غیر مرتبط باشد منتشر نخواهد شد.