Global average pooling چیست؟ - هفت خط کد انجمن پرسش و پاسخ برنامه نویسی

وبـــلاگ هــفت خــط کــد


آموزش های برنامه نویسی
۲۹۱ نفر آنلاین
۱۰۴ عضو و ۱۸۷ مهمان در سایت حاضرند

Global average pooling چیست؟

0 امتیاز
سلام.تو برخی از شبکه ها از جمله googlenet اومدن از Global average pooling استفاده کردن دلیلش چیه؟
سوال شده مهر 2, 1402  بوسیله ی Lori3 (امتیاز 857)   11 36 105

1 پاسخ

0 امتیاز

Global average pooling (GAP) روشی است که در شبکه های عصبی کانولوشنال (CNN) برای کاهش ابعاد فضاییfeature maps با حفظ اطلاعات مهم استفاده می شود.

در اینجا جنبه های کلیدی GAP آورده شده است:

  • بر روی feature map خروجی توسط آخرین لایه کانولوشنال یک CNN عمل می کند. این feature maps معمولاً ابعاد فضایی کاهش یافته ای نسبت به تصویر ورودی اصلی دارند، اما همچنان حاوی اطلاعات فضایی هستند.
  • GAP میانگین هر feature map را می گیرد. این تنسور خروجی h x w x d را به یک تنسور 1 x 1 x d با گرفتن میانگین فضایی هر نقشه ویژگی d-بعدی تبدیل می کند.
  • این کار کل تعداد پارامترها در مدل را کاهش می دهد و به جلوگیری از overfitting  کمک می کند. همچنین یک خروجی با اندازه ثابت ارائه می دهد که مستقل از ابعاد فضایی ورودی است.
  • با میانگین گیری در ابعاد فضایی، برجسته ترین ویژگی هایی را که در سراسر feature map مشترک هستند، استخراج می کند. این امر CNN را تشویق می‌کند که نقشه‌های ویژگی داشته باشد که به صورت کلی حاوی اطلاعات هستند  و نه فقط در یک مناطق خاص.
  • تفسیر feature maps و خروجی classification را ساده می کند. از آنجایی که یک خروجی با طول ثابت داریم، هر مقدار نشان دهنده قدرت یک ویژگی خاص است.

بنابراین به طور خلاصه، GAP به CNN ها اجازه می دهد تا روی ورودی های با اندازه های مختلف کار کنند و با خروجی یک بردار با اندازه ثابت که مهم ترین ویژگی ها را در feature map خلاصه می کند، کار کنند. این امر overfitting را کاهش می دهد در حالی که خروجی ساده و قابل تفسیر را ارائه می دهد.

پاسخ داده شده مهر 2, 1402 بوسیله ی haniye sarbazi (امتیاز 983)   2 6 15
ویرایش شده مهر 2, 1402 بوسیله ی haniye sarbazi
...