فصل دهم: شبکه‌های کانولوشنی

black-swan-theory

مقدمه

شبکه‌های عصبی کانولوشنی (CNN) یکی از مؤثرترین معماری‌ها برای پردازش داده‌های ساختاریافته مانند تصاویر هستند. این شبکه‌ها با بهره‌گیری از ویژگی‌های منحصربه‌فردی مانند اشتراک وزن‌ها و حفظ ساختار فضایی داده‌ها، توانسته‌اند در کاربردهای بینایی ماشین به موفقیت‌های چشمگیری دست یابند. این فصل به بررسی مفاهیم پایه‌ای، معماری، و کاربردهای CNN می‌پردازد.

 

1. عدم تغییر و هم‌ارزی در CNN

یکی از چالش‌های اصلی در پردازش تصاویر، تغییرناپذیری مدل نسبت به تبدیل‌های هندسی مانند جابه‌جایی، چرخش، یا مقیاس‌بندی است. CNNها با استفاده از لایه‌های کانولوشنی و ادغام، این ویژگی‌ها را به صورت ذاتی در خود جای داده‌اند:

  • عدم تغییر (Invariance): خروجی مدل نسبت به تغییرات ورودی ثابت می‌ماند (مثلاً در طبقه‌بندی تصاویر).

  • هم‌ارزی (Equivariance): خروجی مدل به همان نسبتی تغییر می‌کند که ورودی تغییر کرده است (مثلاً در تقسیم‌بندی معنایی).

 

2. معماری شبکه‌های کانولوشنی

2.1. لایه کانولوشنی

هر لایه کانولوشنی از یک هسته (فیلتر) تشکیل شده است که روی ورودی، ویژگی‌های محلی را استخراج می‌کند. برای یک تصویر دو بعدی، خروجی به صورت زیر محاسبه می‌شود:

hij=a(β+m=1Kn=1Kωmnxi+m1,j+n1),h_{ij} = a\left( \beta + \sum_{m=1}^{K} \sum_{n=1}^{K} \omega_{mn} \cdot x_{i+m-1,\, j+n-1} \right),

که در آن:

  • ωmn\omega_{mn}: وزن‌های هسته

  • β\beta: بایاس

  • a()a(\cdot): تابع فعال‌سازی (معمولاً ReLU\mathrm{ReLU})

2.2. پارامترهای کلیدی

  • اندازه هسته (Kernel Size): تعیین‌کننده محدوده محلی برای استخراج ویژگی.

  • گام (Stride): فاصله بین موقعیت‌های اعمال هسته.

  • اتساع (Dilation): افزایش فاصله بین وزن‌های هسته برای پوشش مناطق بزرگتر.

  • پدینگ (Padding): اضافه کردن مقادیر صفر به لبه‌های ورودی برای حفظ ابعاد.

2.3. کانال‌ها و نقشه‌های ویژگی

هر لایه کانولوشنی می‌تواند چندین کانال خروجی تولید کند، که هر کدام به یک ویژگی خاص حساس هستند. این کانال‌ها با افزایش عمق شبکه، ویژگی‌های انتزاعی‌تری را نمایندگی می‌کنند.

۱۰.۲.۴ میدان پذیرنده (Receptive Field)

میدان پذیرنده هر نورون در لایه‌های عمیق‌تر، ناحیه بزرگتری از ورودی را پوشش می‌دهد. این ویژگی به مدل اجازه می‌دهد تا اطلاعات را از سطوح مختلف انتزاع ترکیب کند.

 

3. کاهش و افزایش ابعاد

3.1. نمونه‌برداری پایین (Downsampling)

  • ادغام حداکثر (Max Pooling): انتخاب بیشترین مقدار در یک ناحیه.

  • ادغام میانگین (Average Pooling): محاسبه میانگین مقادیر ناحیه.

3.2. نمونه‌برداری بالا (Upsampling)

  • تکرار مقادیر (Nearest Neighbor).

  • درونیابی دوخطی (Bilinear Interpolation).

  • کانولوشن جابجا شده (Transposed Convolution).

 

4. کاربردهای CNN در بینایی ماشین

4.1. طبقه‌بندی تصویر

مدل‌هایی مانند AlexNet و VGG با استفاده از چندین لایه کانولوشنی و ادغام، تصاویر را به کلاس‌های از پیش تعریف شده نسبت می‌دهند. این مدل‌ها با افزایش عمق، دقت را بهبود بخشیده‌اند.

4.2. تشخیص اشیا

سیستم‌هایی مانند YOLO با تقسیم تصویر به شبکه‌های محلی و پیش‌بینی جعبه‌های مرزی و کلاس‌ها، امکان شناسایی همزمان چندین شی را فراهم می‌کنند.

4.3. تقسیم‌بندی معنایی

مدل‌های رمزگذار-رمزگشا (Encoder-Decoder) مانند U-Net با ترکیب ویژگی‌های چندمقیاسی، هر پیکسل را به یک کلاس اختصاص می‌دهند.

 

5. مزایا و چالش‌های CNN

مزایا

  • کاهش پارامترها با اشتراک وزن‌ها.

  • حفظ ساختار فضایی داده‌ها.

  • توانایی یادگیری ویژگی‌های سلسله‌مراتبی.

چالش‌ها

  • نیاز به داده‌های آموزشی زیاد.

  • حساسیت به تغییرات مقیاس و چرخش (در برخی موارد).

  • پیچیدگی محاسباتی در مدل‌های بسیار عمیق.

 

6. نتیجه‌گیری

شبکه‌های کانولوشنی با ترکیب لایه‌های هوشمند و بهینه‌سازی ساختار، انقلابی در پردازش تصاویر ایجاد کرده‌اند. معماری‌های مدرن مانند ResNet و EfficientNet با معرفی مفاهیمی مانند اتصالات باقیمانده، این حوزه را به پیشرفت‌های بیشتری سوق داده‌اند. درک عمیق این مفاهیم، پایه‌ای قوی برای طراحی مدل‌های کارآمد در کاربردهای واقعی فراهم می‌کند.