به بخش پرسش و پاسخ یادگیری عمیق خوش آمدید,
این نسخه آزمایشی سایت است.
لطفا به نکات زیر توجه کنید:
  • برای ارتباط با مدیران میتوانید از صفحه مدیران اقدام کنید.
  • سوال و جواب ها باید به زبان فارسی باشند. استفاده از زبان انگلیسی یا فینگلیش برای پاسخ دادن مجاز نیست.
  • لطفا بعد از پرسش سوال لینک سوال خود را در گرو تلگرام (Iran Deep Learning Group) معرفی کنید تا سریعتر به جواب برسید. برای دسترسی به آخرین لینک از منابع یادگیری استفاده کنید
  • لطفا بجای عکس از متن استفاده کنید. اگر متون طولانی هستند از سایت pastebin.com برای اپلود استفاده کرده و لینک حاصل را در سوال خود قرار دهید. برای قرار دادن تصویر ، از بخش ارسال تصویر ادیتور سایت استفاده کنید.
  • بعد از دریافت پاسخ، بهترین پاسخ را از طریق کلیک بر روی علامت تیک انتخاب کنید
  • اگر با خطا و یا مشکلی مواجه شدید از بخش تماس با ما در انتهای صفحه و یا ایمیل Coderx7@gmail.com موضوع را اطلاع دهید.

با تشکر

دسته بندی ها

0 امتیاز

سلام دوستان

عکس فوق متعلق به شبکه های Residual می باشد. لطفا اگه کسی روی این شبکه ها مطالعه ای کرده میشه توضیحی در موردش بده که فرایندش چیه و چرا این نوع معماری رو مطرح کرده؟

سوال دیگه هم اینکه چرا با افزایش عمق شبکه روش گرادیان نزولی نمی تونه مقدار وزن های روی یال ها رو بصورت درست تنظیم کنه؟

توسط (107 امتیاز)

2 پاسخ

+5 امتیاز
 
بهترین پاسخ

سلام
اصل ایده از اینجا میاد که گفتن اگه ما یه شبکه داشته باشیم مثلا 10 لایه و دقتش 80% باشه روی test set ، پس اگه چند تا لایه دیگه به شبکه اضافه کنیم، مثلا 5 تا لایه دیگه اضافه کنیم به جاهای مختلف شبکه، دقت نباید از این کمتر بشه، چرا؟ چون اگه یه الگوریتم خوب برای یادگیری داشته باشیم، و این لایه هایی که اضافه کردیم به کار نیاد، خوده فرایند بهینه سازی باید بفهمه که این لایه های باید نقشی نداشته باشن و تابع همانی بشن یعنی f(x) = x
اما مقاله رو هم ببینید گفتن که این اتفاقی نیست که می افته و نمودارهایی هم که گذاشتن خیلی جالبه و نکات قشنگی داره حتما توصیه می کنم مقاله رو دقیق بخونید
خلاصه دیدن که لایه اضافه میکنیم سخت برا شبکه بفهمه اگه نیاز نداره تابع همانی رو یاد بگیره و دقت افت می کنه. اومدن گفتن که ما این اتصالات رو بین چند تا لایه اضافه می کنیم تا اون لایه ها وسط فقط لازم باشه تفاضل بین ورودی و خروجی مد نظر رو یاد بگیرن یعنی اگه قرار بوده اون لایه های وسط، x رو بگیرن و H رو تحویل بدن، با اضافه کردن این اتصال، فقط لازمه که H(x) - x رو یاد بگیرن
خب حالا اگه شبکه بفهمه اون لایه های وسط به کار نمیان، به جای اینکه تابع همانی یاد بگیره، تابع صفر یعنی f(x) = 0 رو یاد میگیره که خیلی ساده تر از یاد گرفتن تابع همانیه، چون فقط کافیه همه وزن ها به سمت صفر میل کنن توی اون لایه ها(با فرض تابع اکتیوشن relu ). یعنی ورودی با اتصالات که اضافه کردیم بدون هیچ تغییری میره لایه بعد
ایده ایده کلی بوده که بر اساسش residual connection ها معرفی شدن، اما ایده جدیدی هم نبوده و مثل اینکه هینتون می گفت من این ایده رو همون حدودای سال 2006 2007 داشتم، حیف که بیشتر پیگیریش نکردم :)))

از طرف backprob هم بهش نگاه کنید، این residual connection ها باعث میشه که گرادیان از لایه های بالاتر خیلی بهتر به لایه های پایین تر انتقال پیدا کنه.

همین ایده پایه که توی ResNet مطرح شده، بعدا توی مقالاتی مثل stochastic depth یا DenseNet خیلی بیشتر هم استفاده شده و نتایج خوبی به دست اومده

توسط (1.6k امتیاز)
انتخاب شده توسط
+4 امتیاز

با سلام
بعد از مدتی که شبکه های دیپ باب شده بود همه سعی داشتند با افزایش لایه ها دقت کاری شبکه رو افزایش بدن ولی مشکلی که وجود داشت این بود که وقتی در لایه آخر خطا محاسبه می شود و این خطا با الگوریتم back-propagation به لایه های اولیه پس انتشار داده میشد تا وزن ها آپدیت بشن مقدار این خطای برگشت داده شده تقریبا صفر می شد (به اصطلاح میگویند vanishing-gradient اتفاق افتاده است.) و آموزش لایه های اولیه خیلی مشکل می شد. برای این کار اومدن از بلوک های residual‌ استفاده کردند تا در عمل back-propagation‌ خطای قابل توجهی به لایه های اولیه برسه. و با این روش تونستند شبکه های با تعداد لایه های بیش از 1000 لایه هم آموزش بدن.
از دیگر مواردی که به موضوع vanishing-gradient دامن میزد تابع sigmoid (که مقدار آن بین صفر و یک است) بود. بطوری که وقتی خطا در لایه آخر محاسبه می شد در عمل back-propagation‌ این مقدار خطا در مقادیر تابع sigmoid هر لایه ضرب می شد. و این ضرب های متوالی خطا در عدد های بین صفر و یک باعث میشد که خطا به سمت صفر میل کند و وزن ها آپدیت نشوند و شبکه خوب آموزش نبیند. این موضوع با جایگزینی تابع sigmoid با تابع relu برطرف شد.

توسط (830 امتیاز)
...