بازگشت به عقب

از ویکی‌پدیا، دانشنامهٔ آزاد
پرش به ناوبری پرش به جستجو

بازگشت به عقب (انگلیسی: Backpropagation) یا انتشار معکوس، روشی در یادگیری عمیق شبکه‌های عصبی مصنوعی، با بیش از یک لایه پنهان است، که برای محاسبه دقیق تر گرادیان وزن مورد استفاده قرار می‌گیرد. این روش اغلب با بهینه‌سازی الگوریتم یادگیری و تثبیت وزن نورون‌ها با محاسبه گرادیان کاهشی تابع هزینه انجام می‌گیرد. این الگوریتم همچنین برای شبکه عصبی پیشخور که نیاز به یادگیری با نظارت دارند، نیز استفاده می‌شود.[۱]

ساختار ریاضی الگوریتم[ویرایش]

برای سلول عصبی ورودیی که از سلول عصبی به این سلول وارد می شود را با نشان می دهیم. وزن این ورودی است و مجموع ضرب ورودیها با وزنهایشان را با نمایش می‌دهیم، یعنی . حال باید بر روی یک تابع غیر خطی اعمال کنیم، این تابع را می نامیم و خروجی آنرا با نمایش می دهیم به این معنی که . به همین شکل خروجی‌هایی که از سلول عصبی خارج شده و به سلول وارد می شوند را با نمایش می‌دهیم و وزن آنرا با .اگر تمام وزنهای این شبکه عصبی را در مجموعه‌ای به اسم بگنجانیم، هدف در واقع یادگیری این وزنهاست.[۲] اگر ورودی ما باشد و خروجی و خروجی شبکه عصبی ما ، هدف ما پیدا کردن است به قسمی که برای همه داده‌ها و به هم خیلی نزدیک شوند. به عبارت دیگر هدف کوچک کردن یک تابع ضرر بر روی تمام داده هاست، اگر داده‌ها را با و تابع ضرر را با نشان دهیم هدف کمینه کردن تابع پایین است بر حسب است [۳]:

به عنوان مثال اگر مسئله رگرسیون است برای می‌توانیم خطای مربعات را در نظر بگیریم و اگر مسئله دسته‌بندی است برای می‌شود منفی لگاریتم بازنمایی را استفاده کرد.

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

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

با استفاده از این قاعده زنجیری روش بازگشت به عقب را به این شکل دنبال می کنیم:‌

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

روش بازگشتی برای بدست آوردن ها به این شکل کار میکند که ابتدا را برای سلولهای لایه خروجی حساب می کنیم، وبعد لایه‌ها را به نوبت پایین می روم و برای هر سلول آنرا با ترکیت های لایه های بالایی آن طبق فرمول حساب میکنیم. محاسبه کردن برای لایه خروجی آسان است و مستقیما با مشتق گرفتن از بدست می آید.[۴]

جستارهای وابسته[ویرایش]

منابع[ویرایش]

  1. «Build with AI | DeepAI». DeepAI. بازبینی‌شده در 2018-10-24. 
  2. A., Nielsen, Michael (2015). "Neural Networks and Deep Learning" (in انگلیسی). [[Category:]]
  3. A., Nielsen, Michael (2015). "Neural Networks and Deep Learning" (in انگلیسی). [[Category:]]
  4. Russell, Stuart و search results. Artificial Intelligence: A Modern Approach. ویرایش 3. Boston Columbus Indianapolis New York San Francisco Upper Saddle River Amsterdam, Cape Town Dubai London Madrid Milan Munich Paris Montreal Toronto Delhi Mexico City Sao Paulo Sydney Hong Kong Seoul Singapore Taipei Tokyo: Pearson, 2009-12-11. 578. ISBN ‎9780136042594.