شبکه عصبی مصنوعی: تفاوت میان نسخه‌ها

محتوای حذف‌شده محتوای افزوده‌شده
بدون خلاصۀ ویرایش
برچسب‌ها: متن دارای ویکی‌متن نامتناظر ویرایشگر دیداری
برچسب‌ها: متن دارای ویکی‌متن نامتناظر ویرایشگر دیداری
خط ۲۷:
[[پرونده:شبکه سلولی چهار لایه‌ای .png|بندانگشتی|جایگزین=|640x640پیکسل]]
 
برای سلول عصبی <math>c</math> ورودیی که از سلول عصبی <math>p</math> به این سلول وارد می شود را با <math>b_{pc}</math> نشان می دهیم. وزن این ورودی <math>w_{pc}</math> است و مجموع ضرب ورودیها با وزنهایشان را با <math>a_c</math> نمایش می‌دهیم، به این معنی که <math>a_c = \sum_p w_{pc}\times b_{pc}</math>. حال باید بر روی <math>a_c</math> تابعی غیر خطی اعمال کنیم این تابع را <math>\theta_c</math> می نامیم و خروجی آنرا با <math>b_c</math> نمایش می دهیم به این معنی کهیعنی <math>b_c = \theta_c(a_c)</math>. به همین شکل خروجdیخروجیی که از سلول عصبی <math>c</math> خارج شده و به سلول <math>n</math> وارد می شود را با <math>b_{cn}</math> نمایش می‌دهیم و وزن آنرا <math>w_{cn}</math> می‌نامیم. حال تمام وزنهای این شبکه عصبی را در مجموعه‌ای به اسم <math>W</math> می‌گنجانیم، هدف یادگیری این وزنهاست.<ref>{{یادکرد وب|وب‌گاه=DeepAI|نشانی=https://deepai.org/machine-learning-glossary-and-terms/backpropagation|عنوان=Build with AI {{!}} DeepAI|بازبینی=2018-10-24}}</ref> اگر ورودی ما <math>x</math> باشد و خروجی <math>y</math> و خروجی شبکه عصبی ما <math>h_W(x)</math>، هدف پیدا کردن انتخاب <math>W</math> است به قسمی که برای تمام داده‌ها <math>y</math>و <math>h_W(x)</math> به هم خیلی نزدیک شوند. به عبارت دیگر هدف کوچک کردن یک تابع ضرر بر روی تمام داده هاست، اگر داده‌ها را با <math>(x_1, y_1), \cdots, (x_n, y_n)</math> و تابع ضرر را با <math>l</math> نشان دهیم هدف کمینه کردن تابع پایین است <ref>{{Cite journal|last=A.|first=Nielsen, Michael|date=2015|title=Neural Networks and Deep Learning|url=http://neuralnetworksanddeeplearning.com/chap6.html|language=en}}</ref>:
 
<math>Q(W) = \sum_{i=1}^n l\left(h_W(x_i),\,\,y_i\right)</math>
خط ۳۳:
به عنوان مثال اگر مسئله رگرسیون است برای <math>l</math> می‌توانیم خطای مربعات را در نظر بگیریم و اگر مسئله دسته‌بندی است برای <math>l</math> می‌شود منفی لگاریتم بازنمایی را استفاده کرد.
 
برای بدست آوردن کمینه <math>Q(W)</math> باید از روش [[گرادیان کاهشی]] استفاده کرد، به این معنی که گرادیان تابع را حساب کرده، کمی در خلاف جهت آن حرکت کرده و این کار را آنقدر ادامه داد تا تابع ضرر خیلی کوچک شود. روش بازگشت به عقب در واقع روشی برای پیدا کردن گرادیان تابع <math>Q(W)</math> است.
 
حال فرض کنیم می خواهیم گرادیان تابع <math>Q(W)</math> را نسبت به وزن <math>w_{pc}</math>بدست بیاوریم. برای این کار نیاز به [[قاعده زنجیری]] در مشتق گیری داریم. قاعده زنجیری به این شکل کار می کند: اگر تابعی داشته باشیم به اسم <math>f</math> که وابسته به سه ورودی <math>u</math>، <math>v</math> و <math>w</math> باشد و هرکدام از این سه ورودی به نوبه خود وابسته به <math>t</math> باشند، مشتق <math>f</math> به <math>t</math> به این شکل محاسبه می شود: