آموزش ریاضیات (Mathematics)
۴۰۸۰ آموزش
نمایش دسته بندی ها (۴۰۸۰ آموزش)

شبکه کانولوشنی با گروه بندی (Grouped Convolutional Network)، در ریاضیات (Mathematics)

انواع شبکه های عصبی (Neural Networks) را در آموزش زیر شرح دادیم :

شبکه کانولوشنی با گروه بندی (Grouped Convolutional Network) :

کانولوشن گروهی (grouped convolution) توسط الکساندر کری ژفسکی در AlexNet معرفی شد (به دلیل محدودیت حافظه GPU) و بعدها در معماری هایی مانند ResNeXt و Xception به عنوان یک روش کارآمد برای افزایش کارایی و دقت به کار رفت. در کانولوشن گروهی، کانال های ورودی به چندین گروه تقسیم می شوند و هر گروه به صورت جداگانه با فیلترهای خود کانولوشن می شود. سپس خروجی گروه ها در بعد کانال با هم ترکیب می شوند.

اگر تعداد گروه ها

\[ g \]

باشد، هر گروه دارای

\[ C_{in}/g \]

کانال ورودی و

\[ C_{out}/g \]

کانال خروجی است (به شرطی که

\[ C_{in} \]

و

\[ C_{out} \]

بر

\[ g \]

بخش پذیر باشند). تعداد پارامترها:

\[ D_K^2 \cdot (C_{in}/g) \cdot (C_{out}/g) \cdot g = \frac{D_K^2 \cdot C_{in} \cdot C_{out}}{g} \]

یعنی به نسبت

\[ 1/g \]

کاهش می یابد. عملیات محاسباتی نیز به همین نسبت کاهش می یابد.

از نظر ریاضی، اگر ورودی

\[ X \]

را به گروه های

\[ X_1, ..., X_g \]

تقسیم کنیم، خروجی:

\[ Y = [X_1 * K_1, X_2 * K_2, ..., X_g * K_g] \]

که

\[ K_i \]

فیلترهای مختص گروه

\[ i \]

هستند.

مزایا: کاهش پارامترها و محاسبات، امکان افزایش عرض شبکه بدون افزایش هزینه، و در برخی موارد بهبود دقت به دلیل regularization ضمنی. معایب: اگر گروه بندی زیاد باشد، ارتباط بین کانال های گروه های مختلف کاهش می یابد که با تکنیک هایی مانند channel shuffle قابل جبران است.

نویسنده علیرضا گلمکانی
شماره کلید 14294
گزینه ها
به اشتراک گذاری (Share) در شبکه های اجتماعی
نظرات 0 0 0

ارسال نظر جدید (بدون نیاز به عضو بودن در وب سایت)