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

با تشکر

دسته بندی ها

0 امتیاز

سلام عرض ادب
دوستان مزایا و معایب کانالوشن a trous نسبت به pooling چیست ؟
مزایایی که بنظرم دارد :
۱- دقت کار میره بالا بخصوص برای باکس ها در دتکشن
عیب:
۱- تعداد پارامترها زیاد میشود
۲- سرعت کار کاهش میباید

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

1 پاسخ

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

سلام و درود
تا جایی که بنده اطلاع دارم atrous_conv و pooling دو موضوع جدا هستند.
atrous_convolution‌ همون عمل convolution هستش که بین هر دو تا وزن در فیلتر یک (یا چند تا) صفر گذاشته شده است. در واقع تعداد پارامتر ها در convolution‌ و atrous_convolution با کرنل سایز یکسان (مثلا 3x3) با هم برابر هستش ولی چون receptive_field گسترده تری داره میتونه اطلاعات global و یا context رو بیشتر جمع کنه. و اینجوریه که دقت کار بالاتر میره.
pooling نمتونه کار و هدف اصلی طراحی atrous_conv‌ که جمع کردن اطلاعات global هستش رو انجام بده و فقط ابعاد spatial لایه رو کاهش میده.

توسط (830 امتیاز)
انتخاب شده توسط
ممنون
حالا سوالم اینکه وقتی تعداد پارامترها اون دوتا کانالوشن یکی هستند و اینکه اتراوس receptive_field  گسترده تری دارد چرا همه جا از این کانالوشن استفاده نمیکنند ؟
اشتباه می کنند استفاده نمی کنند :ی
ممکنه تو یکسری تسک ها اطلاعات context مهم نباشه.
معمولا تو تسک هایی که ورودی شامل چندین شی هستش که به هم از لحاظ محتوایی مربوطند استفاده میشه. بطور واضح تر مثل تسک قطعه بندی تصویر. حالتی رو در نظر بگیرید که شی ای در تصویر هستش وشما اون شی رو از بقیه تصویر جدا کنید نمیتونید دقیقا بگید چه شی ای هستش (ممکنه بین دو یا سه شی شک کنید که چی هستش) ولی وقتی کل تصویر رو که می بیندی میتونید دقیق تر بگید اون شی چی هستش. در این مثال شما از اطلاعات context‌ برای کلاس بندی شی مورد نظر استفاده کردید.
در واقع برای سگمنتیشن و دیتکشن استفاده میشه
و یه سوال : اینکه در این تسک ها ابتدا فیچر اکسترکتور داریم و سپس دتکتور حالا این لایه رو برای قسمت دتکتور اضافی میکنند یا اینکه با بعضی از لایه های کانالوشن معمولی فیچراکسترکتور جایگزین میکنند ؟
معمولا از لایه های atrous-convolution بعد از چند لایه vanila-convolution استفاده میکنند. شاید دلیلش این باشه که با استفاده از چند لایه  vanila-convolution‌ اجزای تصویر بیرون کشیده شدن و استفاده از atrous-convolution  برای بیرون کشیدن ارتباط بین این اجزا مفید خواهد بود.
...