محمدرضا رضائی
محمدرضا رضائی
خواندن ۴ دقیقه·۱ سال پیش

پدیده‌ی صفحه‌ی شطرنجی در شبکه‌های مبتنی بر کانوولوشن

پدیده‌ی صفحه‌ی شطرنجی در شبکه‌های کانوولوشنی
پدیده‌ی صفحه‌ی شطرنجی در شبکه‌های کانوولوشنی


عملگر دیکانوولوشن (DeConvolution) یا به اصطلاح صحیح‌تر، کانوولوشن ترانهادهTransposed) (Convolution، در بسیاری از شبکه‌های عصبی استفاده می‌شود. به عنوان مثال، در بخش Up-sampling در برخی از معماری‌های U-Net، در بسیاری از Generator های مربوط به شبکه‌های GAN، در بخش Decoder در Auto-Encoder های تماما کانوولوشنی و همچنین در مدل‌های Diffusion.

نامگذاری این عملگر، به علت رفتاری مشابه با عملگر‌های Convolution، اما اتصال‌های برعکس نسبت به آن‌ها انجام شده است. یعنی اگر لایه‌ی کانوولوشنی C1 با کرنل‌های 3x3 و اندازه گام 2، اندازه‌ی تصویر ورودی را از 100x100 به 49x49 تغییر می‌دهد، پس لایه‌ی دیکانوولوشنی D1 با همان مشخصات (کرنل‌های 3x3 و اندازه گام 2) می‌تواند اندازه‌ی یک تصویر 49x49 را به 100x100 پیکسل افزایش دهد.

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

اما اگر این محققین با پدیده‌ی صفحه‌ی شطرنجی (Checkerboard Artifact) آشنا باشند، می‌توانند تنها با مشاهده‌ی یکی از تصاویر حاصل از مدل، آن را تشخیص دهند. تصاویری که توسط یک مدل دیکانوولوشنی تولید شده‌اند، در صورت بروز پدیده‌ی صفحه‌ی شطرنجی، دارای الگو‌های چهارخانه و تکراری خواهند بود. این الگو‌های چهارخانه، ممکن است در تمام تصویر و یا تنها در بخشی از آن ظاهر شوند. در شکل 1 چند مثال از بروز پدیده‌ی صفحه‌ی شطرنجی مشاهده می‌کنید.

شکل 1- چند مثال از بروز پدیده‌ی صفحه شطرنجی
شکل 1- چند مثال از بروز پدیده‌ی صفحه شطرنجی


اما بروز پدیده‌ی صفحه‌ی شطرنجی، تنها محدود به تصاویر دامنه‌ی طبیعی نبوده و می‌توانند در خروجی‌های احتمالاتی مدل‌ها نیز رخ دهند. به عنوان مثال، زمانی که از شبکه‌ی U-Net برای قطعه بندی معنایی (Semantic Segmentation) استفاده شود، مدل به جای تولید یک تصویر واقعی، قصد تولید یک Segmentation Mask دارد. پدیده‌ی صفحه‌ی شطرنجی باعث می‌شود نقشه‌ی معنایی خروجی دارای همان الگوی تکراری و شطرنجی باشد. لکن غالبا این پدیده تنها در بخش‌های غیر از پس‌زمینه رخ می‌دهد. (محل‌هایی که خروجی مدل غیر صفر است) در شکل 2 یک مثال از پدیده‌ی صفحه‌ی شطرنجی در خروجی شبکه‌ی U-Net را مشاهده می‌کنید.

شکل 2- مثالی از بروز پدیده‌ی صفحه‌ی شطرنجی در خروجی شبکه‌ی U-Net که برای قطعه‌بندی معنایی استفاده می‌شود.
شکل 2- مثالی از بروز پدیده‌ی صفحه‌ی شطرنجی در خروجی شبکه‌ی U-Net که برای قطعه‌بندی معنایی استفاده می‌شود.


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

شکل 3- پدیده‌ی صفحه‌ی شطرنجی در داده‌های یک بعدی. (لایه‌ی دیکانوولوشن با اندازه‌ی کرنل 3 و اندازه‌ی گام 1)
شکل 3- پدیده‌ی صفحه‌ی شطرنجی در داده‌های یک بعدی. (لایه‌ی دیکانوولوشن با اندازه‌ی کرنل 3 و اندازه‌ی گام 1)


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

شکل 4- محاسبه‌ی تعداد پیکسل‌هایی که بر هر پیکسل از خروجی تاثیر می‌گذارند. (لایه دیکانوولوشن با اندازه‌ی کرنل 3x3 و اندازه‌گام 2 پیکسلی)
شکل 4- محاسبه‌ی تعداد پیکسل‌هایی که بر هر پیکسل از خروجی تاثیر می‌گذارند. (لایه دیکانوولوشن با اندازه‌ی کرنل 3x3 و اندازه‌گام 2 پیکسلی)


پدیده‌ی صفحه‌ی شطرنجی، قابل پیش‌گیری است و می‌توان با بررسی چند نکته هنگام طراحی مدل‌های کانوولوشنی، از بروز آن‌ها اجتناب کرد:

  • اندازه‌ی فیلتر‌ها باید بر اندازه‌ی گام‌ها بخش‌پذیر باشد. یکی از پر‌کاربرد‌ترین حالت‌ها استفاده از فیلتر‌های 4x4 به همراه اندازه‌ی گام 2 در لایه‌های دیکانوولوشن و استفاده از اندازه‌ی گام 1 در لایه‌های کانوولوشنی است.
  • در لایه‌هایی که هدف، افزایش ابعاد مکانی تصویر است، از Upsampling با یکی از روش‌هایNearest Neighbor یا Interpolation استفاده می‌شود. (شامل Linear/Bi-Linear/Tri-Linear Interpolation)
  • بررسی کردن خروجی مدل در همه‌ی لایه‌ها در مراحل اولیه‌ی آموزش. (پدیده‌ی صفحه‌ی شطرنجی در همه‌ی مراحل آموزش شبکه‌های کانوولوشنی وجود دارد.)


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

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