یکی از اساسی ترین مباحث در شبکه های عصبی، فرآیند آموزش شبکه است. آموزش شبکه به معنی یافتن وزن های نورون ها است که در شبکه های عصبی عمیق به معنای تعیین عناصر کرنل ها یا همان بانک فیلتری است.
مقاله مرتبط :
-
- پیاده سازی شبکه عمیق در متلب: ساختن شبکه یادگیری عمیق ساده برای کلاسه بندی
- پیاده سازی شبکه عصبی عمیق در متلب – قسمت اول : کانولوشن
- پیاده سازی شبکه عصبی عمیق در متلب – قسمت دوم : پولینگ
- پیاده سازی شبکه عصبی عمیق در متلب – قسمت سوم : تماماً متصل
- پیاده سازی شبکه عصبی عمیق در متلب – قسمت چهارم : الگوریتم پس انتشار
الگوریتم پس انتشار ( Back propagation ) :
فرآیند یادگیری روش های زیادی دارد که یکی از آن ها الگوریتم پس انتشار است. برای پس انتشار، دو به روز رسانی مد نظر است: به روز رسانی وزن ها و به روز رسانی دلتا ها. ابتدا به روز رسانی وزن ها را بررسی می کنیم. برای تحقق این هدف، باید رابطه ی

را محاسبه کنیم. این رابطه نشانگر میزان تغییر پذیری تابع تلفات E توسط تک عنصر ( m’, n’ ) از کرنل وزنی است.

در طول انتشار رو به جلو ( Forward propagation ) عملیات کانولوشن تضمین می کند که پیکسل زرد در شکل فوق ( که متعلق به کرنل وزنی می باشد ) سهمی در همه ی ضرب ها ( بین هرکدام از عناصر کرنل وزنی و عنصر نقشه ویژگی ورودی ) دارد که به این معنی است که پیکسل زرد، تمام عناصر نقشه ویژگی خروجی را تحت تاثیر قرار می دهد.
اجرای عملیات کانولوشن بین نقشه ویژگی ورودی با ابعاد H*Wh*W و کرنل وزنی با ابعاد k1*k2 یک نقشه ویژگی با ابعاد (H−k1+1) * (W−k2+1) تولید می کند. عنصر گرادیان برای هر کدام از تک وزن ها را می توان با عملیات نشان داده شده ی زیر محاسبه کرد:

که می توان آن را بصورت زیر خلاصه و محاسبه کرد.

در درسنامه های بعد، پس از تکمیل این بحث، کد متلب این طبقه را هم ارائه خواهیم کرد.
بیشتر بخوانید :
- یادگیری عمیق و استفاده آن در پایتون
- Dream Studio – ابزار برنامه وب هوش مصنوعی Stable Diffusion
- ۱۰ الگوریتم برتر یادگیری عمیق در سال ۲۰۲۲
- تبدیل متن به تصویر با ابزار Stable Diffusion
- کاربرد های پیشگامانه هوش مصنوعی در حوزه مراقبت های بهداشتی و پزشکی
سلام کد های قسمت BP قرار داده نشده؟