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

با تشکر

دسته بندی ها

0 امتیاز

سلام و عرض ادب
من زمانی که دیتا بیس خودم رو با vgg16 فاین تیون کردم به مشکل overfiting برخورد کردم. با توجه به اینکه من فقط دو لایه را تغییر دادم.لایه تمام متصل اخر و softmax
با توجه به روش هایی که برای جلوگییری از این مشکل وجود دارند مثل drop out ، آیا باید قبل از لایه تمام متصل آخر باید یک لایه drop out بگذارم؟ آیا این کار در فاین تیون منطقی است؟
یک ایده دیگه هم دارم و اون کم کردن نرخ یاد گیری هست. همچنین تغییر و کاهش مقدار ممنتم میتونه کمک کنه؟
تصویر خروجی هم ضمیمه کردم
http://up.upinja.com/gzdue.png
ممنون

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

2 پاسخ

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

سلام
لایه دراپ اوت معمولا بعد از توابع فعالسازی قرار میگیره و هیچ الزامی به استفاده از اون تنها در لایه های تماما متصل نیست .
میتونید از اون بر روی لایه های کانولوشن هم استفاده کنید اما دقت کنید که قرار نیست روی همه لایه ها مثل مثالهایی که بیرون هست از احتمال 0.5 استفاده کنید که تقریبا اکثر اوقات اینکار باعث اندرفیت شبکه میشه.
در فاین تون مشکلی در استفاده از دراپ اوت ندارید.
در فاین تون همیشه پیشنهاد میشه از نرخ یادگیری پایینتر استفاده کنید تا دایورج نکنید. مقدارمومنتوم هم باید بر همین اساس انتخاب کنید . در فاین تون حواستون به مقدار رگیولایزر باشه . سعی کنید بسته به میزان داده تون (اگر کمه و معماری هم تعداد پارامتر زیادی داره) رگیولایزر قوی تر انتخاب کنید و کم کم ، کم و زیادش کنید (اول 10 برابر کم و زیاد کنید مثلا بار اون 0.05 دفعه بعد 0.005 و به همین شکل تا بهترین این انتخاب بشه بعد در رنج انتخاب شده شروع میکنید به تست مقادیر دیگه تا نهایتا به مقدار مناسب برسید )
و سعی هم کنید شبکه برای مدت مناسبی ترین بشه . سعی کنید در طول اموزش نرخ یادگیری رفته رفته کاهش پیدا کنه
در این باره هم اجازه بدید شبکه کمی ترین بشه و چند بار هم یک پیکربندی رو تست کنید تا تاثیر تنظیمات و مقداردهی اولیه رو اشتباه نگیرید.

توسط (4.3k امتیاز)
انتخاب شده توسط
بسیار ممنون
تاثییر initilize کردن روی وزن های لایه ها چگونه است؟ وزن های قبلی شبکه رو پاک و با مقادیر جدید  مقدار دهی می کند؟
منظورتون از مقدار رگولاریزیشن رو متوجه نشد!؟
ممنون
شما چون از مدل از پیش اموزش دیده استفاد همیکنید وزنها بهترین وضعیت رو دارن . اگر پاک کنید و مقداردهی رندوم کنید یعنی هیچ فرقی با اموزش از ابتدا نداره کارتون.
منظور مقدار weight decay هست در سالور شما .
ما در مورد فاین تونینگ سوالات مختلفی داشتیم لطفا اونا رو مطالعه کنید. نمیشه همه مطالب و نکات رو هربار در هر سوال جدید گفت. حتما از سوالات قبلی استفاده کنید
سلام و وقت بخیر
شما فرمودید که دراپ اوت رو می شه بعد از لایه کانولوشن زد . سوال من اینه که
1-آیا دراپ کانکت رو هم می تونیم بر روی لایه کانولوشن اعمال کنیم ؟
2- آیا قبلا این کار انجام شده؟
3-آیا می توان از هر دوی این ها به صورت همزمان استفاده کرد یا احتمالا اندر فیت می کنیم .

البته می دونم که در کل دراپ کانکت خودش رو بهتر از دراپ اوت نشون نداده
+1 امتیاز

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

توسط (830 امتیاز)
ممنون از پاسختون
یعنی نیاز به استفاده از لایه drop out به هنگام فاین تیون نیست؟
دوست عزیز دقیق نمیدونم ولی احتمال زیاد لازم بشه لایه dropout استفاده کنید.
البته با توجه به اطلاعاتی که دارم معمولان Dropout را برای لایه های اولیه کمتر و برای لایه های بالاتر بیشتر میگیرند. چون لایه های پایین تر سریعتر یاد بگیرند و لایه های بالاتر که بیشتر در معرض overfitting هستند به دام overfitting لعنتی نیفتند.
موفق باشید
...