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

با تشکر

دسته بندی ها

+1 امتیاز

سلام
دوستانی که با معماری CNN اطلاعات عمیق تری دارند لطفا به سوال زیر جواب دهند:
1- فرق بین Feature map های یک لایه کانالوشن در چیست ؟ فرضا لایه اول رو در نظر بگیریم که edge , blob های تصویر ورودی رو میگیرد حالا میچر مپ های همون لایه همشون به edge , blob حساس هستند ؟ اگر همشون تقریبا یکی هستند شاید بشه گفت که یکی به horizontal edge و دیگری vertical edge و ... حساس هستند از کجا میشه گفت که تعداد این هیچرمپ ها رو چند بگذاریم ؟ با سعی و خطا ؟
2- فرضا دو سناریو در نظر بگیریم اینکه یکی این باشه که سایز اطلاعات مکانی بزرگ باشه ولی عمق کمتر و سناریو دیگر سایز اطلاعات مکانی کوچک ولی عمیق بیشتر ، کدام یک بهتر جواب میده ؟ و اینکه در سناریوی دومی چون سایز اطلاعات مکانی کوچک هست بنظرم باید در این حالت اططلاعات زیادی از لایه قبل دور ریخته شود درسته ؟
3- دلیل استفاده از pooling بخاطر downsampling هست در واقع میخواهیم یک خورده اطلاعات زائد دور ریخته شود تا حجم محاسباتی سبکتر شود حالا دلیل استفاده از max-pooling چیه ؟ چرا average نه ؟ و اینکه وقتی سایز پنجره این لایه 3*3 در نظر گرفته شود و از نوع max هم انتخاب کنیم چرا حالا از بین اون 9 تا داده مقدار بزرگتر رو انتخاب میکنیم ؟
ممنون میشم به سوالاتم جواب دهید

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

1 پاسخ

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

سلام
1. بله با سعی و خطا یک تعداد مشخص میشه . نه باید کم باشه تا اطلاعات مورد نیاز برای لایه های بالادستی کم بیاد نه انقدر زیاد که تکرار داشته باشیم

  1. اندازه فیلتر کوچکتر پیشنهاد میشه اندازه های بزرگتر از نظر پردازشی بهینه نیستن و اونها رو میشه با فیلترهای کوچکتر هم پیاده کرد که nonlinearity بیشتر و همینطور سربار کمتر رو باعث میشن. اون بحث عمق رو هم متوجه نشدم منظور تعداد فیچرمپهاست؟ هر فیچرمپ خروجی یه فیلتره و در لایه های میانی و بالایی چون مفاهیم مختلفی بدست میان هرچقدر تعداد فیلتر بیشتری ارائه کنید شانس پیدا کردن پترن مفید و یا لازم برای کاری افزایش پیدا میکنه. دقیقا مثل ظرفیت پردازشی بهش نگاه کنید. ضمنا اگه از اندازه فیلتر بزرگتر استفاده کنید اطلاعات مکانی خیلی بیشتری از بین میره نسبت به فیلتر کوچکتر.

  2. تنها دلیل پولینگ این نیست هرچند این یکی از اولین دلایلی بود که در مقاله یان لیکون مطرح شد. به پولینگ به دید یه منبع از ویژگی های با ارزشتر نگاه کنید که ویژگی های غیرمرغوب رو در نظر نمیگیرید با استفاده از اون .
    از average هم استفاده میشه اما مکس پولینگ بهتر جواب میده معمولا و البته مکان استفاده اونها هم میتونه بیان کننده تفاوت دید ساختاری باشه . مثلا در میانه شبکه استفاده بشن یا انتهای شبکه . یکی میاد از global average pooling در انتهای شبکه استفاده میکنه و براش هم دلیل داره میگه من هر فیچرمپ رو میبرم در قالب یک دسته و برای همین میانگین میگیرم .
    یکی میگه من مکس پولینگ استفاده میکنم و دنبال با اهمیت ترین ویژگی ها از مرحله قبل هستم .

توسط (4.3k امتیاز)
انتخاب شده توسط
ممنون از توضیحات خوبتون
در پاسخ 1 اینکه اگر به جای اندازه بزرگتر از اندازه کوچیکتر استفاده بشه باعث غیر خطی شدن شبکه میشه ولی اینکه چرا سرباز کمتری داره رو متوجه نمیشم
شما مقاله GoogleNet v3 rethinking inception یا Googlenetv4 ( Inception-ResNet ) رو فکر میکنم بخونید اونجا در این رابطه توضیح به تفصیل داده شده
...