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

با تشکر

دسته بندی ها

+1 امتیاز

من شبکه resnet رو فاین تیون کردم. کرنل لایه تمام متصل اخر به صورت[تعداد کلاسها 2048 1 1] است.حالا اگر بخوام به جای 2048 عدد کمتری مثلا 1024 یا احتمالا عدد بیشتری مثل 4096 داشته باشم ایا چنین کاری امکان پذیر هست؟ اگر هست تحت چه شرایطی؟
ممنون

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

1 پاسخ

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

سلام
از نظر امکان انجامش که شدنیه، اما چه نیاز باشه کاهش بدید چه افزایش، برای هر کدوم باید به چندتا مورد حواستون باشه
برای افزایش، مثلا اگه تعداد اولیه feature map ها 1000 بوده و شما بخواید این عدد بشه 2000 تا، برای لایه فعلی، باید وزن نورون هایی که این feature map های جدید رو حساب می کنن به صورت رندوم انتخاب بشن (مگه اینکه ایده داشته باشید که وزنها جوره دیگه ای ست بشه) و این feature map ها باید از اول آموزش داده بشن. حالا خوده این feature map ها یا نورون هایی که جدید اضافه کردید در کنار چیزایی هستن که قبلا آموزش داده شدن (توی همون لایه) پس برای آموزش جدید باید learning rate های مختلفی هم انتخاب کنید که هم از نظر سرعت آموزش، هم از نظر دقت به نتیجه مطلوب برسید
و نکته بعدی اینه که در لایه بعدی هم اگه فیلترها به تعداد عمق حساسن(که معمولا هستن)، باید تغییر داده بشه
یعنی مثلا قبلا فیلترهای لایه بعد 3x3x1000 بودن، اما الان باید 3x3x2000 باشن. این تنها راه ممکنش نیست، مثلا می تونید بگید من نمی خوام دست به لایه بعد بزنم و شبکه رو 2 تا مسیر می کنم تا تعداد فیلترها لایه تغییر نکنه که کار خیلی سر راستی هم نیست و ممکنه تغییرات تا آخر شبکه کشیده بشه

در مورد کاهش تعداد feature map ها هم مشکلات خودش وجود داره، مثلا شما می خواید 1000 تا بشه 500 تا، خب سوال اینه که چه طوری این 500 تا انتخاب بشن از بین 1000 تا؟ می تونید از روشهای تحلیل لایه ها استفاده کنید که مثلا کدوم لایه تاثیر کمتری داره روی خروجی و حذفش کنیم (شبیه عملیات pruning) یا کارهای دیگه

این چیزایی که گفتم کلی بود. اما اگه منظورتون از کرنل لایه آخر، لایه logit هست، معمولا اینطوری عمل میشه که این لایه حذف میشه و یه لایه کاملا جدید با تعداد جدید (مثلا 4096) گذاشته میشه که به تعداد کلاسها باشه و حداقل الان یادم نیست کسی اومده باشه بگه خب الان ما 2048 تا داریم، همشو پاک نکنیم، اینا به درد می خوره، اینا رو نگه داریم، این جدیدا رو هم بهش اضافه کنیم بشه 4096 یا برعکس. به نظر ایده جالبی برای آزمایش میاد

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