چگونه فیلترهای کانولوشنی و لایههای پولینگ ویژگیهای سلسلهمراتبی را در بینایی ماشین استخراج میکنند
شبکههای عصبی کانولوشنی تصاویر را با لغزاندن فیلترهای ریاضی روی پیکسلها برای تشخیص لبهها و شکلها پردازش میکنند. با ترکیب این فیلترها و لایههای پولینگ که دادهها را بهشدت فشرده میکنند، این معماری ویژگیهای ضروری را جدا کرده و نویزهای فضایی نامربوط را دور میریزد.
به قلم ساناز امامی
این خبر را به اشتراک بگذارید
بهطور خلاصه
- فیلترهای کانولوشنی با لغزاندن یک ماتریس ریاضی روی یک تصویر، الگوهای بصری را تشخیص میدهند.
- لایههای اولیه شبکه لبههای ساده را تشخیص میدهند، درحالیکه لایههای عمیقتر آنها را به اشیاء پیچیده ترکیب میکنند.
- لایههای پولینگ دادهها را در هر عملیات ۷۵٪ فشرده میکنند و گلوگاههای بحرانی حافظه را حل مینمایند.
یک مدل استاندارد بینایی ماشین، تصویری با ابعاد ۲۲۴ در ۲۲۴ پیکسل (شبکهای شامل ۵۰,۱۷۶ نقطه داده مجزا در هر کانال رنگی) را پردازش کرده و در کسری از ثانیه آن را به یک برچسب طبقهبندی واحد تقلیل میدهد. برای دستیابی به این هدف، معماری مدل تلاش نمیکند کل تصویر را بهطور همزمان تحلیل کند. در عوض، از یک عملیات ریاضی به نام کانولوشن (Convolution) بهره میبرد که تصویر را به قطعات همپوشان تجزیه میکند تا الگوهای معنادار را استخراج نماید.[3][6]
موتور اصلی این فرآیند، فیلتر کانولوشنی است که اغلب به آن کرنل (Kernel) میگویند. این ماتریس کوچک از وزنها که معمولاً فقط ۳ در ۳ پیکسل ابعاد دارد، بهطور سیستماتیک روی تصویر ورودی میلغزد. در هر موقعیت، این فیلتر حاصلضرب نقطهای بین وزنهای خود و مقادیر پیکسلهای زیرین را محاسبه میکند و یک عدد واحد تولید میکند که نشاندهنده حضور یا عدم حضور یک ویژگی بصری خاص است.[2]
در لایههای اولیه یک شبکه، این فیلترها بهعنوان تشخیصدهندههای ساده لبه عمل میکنند. آنها با مقایسه شدت پیکسلهای مجاور، تغییرات تند در کنتراست را شناسایی میکنند؛ مانند یک خط عمودی، یک مرز افقی یا یک گرادیان مورب. یک لایه کانولوشنی منفرد ممکن است ۶۴ فیلتر متمایز را اعمال کند و ۶۴ نقشه ویژگی (Feature Map) جداگانه بسازد که ساختارهای سطح پایین متفاوتی را در دادههای خام تصویر برجسته میکنند.[1]
هرچه دادهها به عمق بیشتری از شبکه نفوذ میکنند، بازنمایی آنها انتزاعیتر میشود. لایه دوم به پیکسلهای خام نگاه نمیکند؛ بلکه نقشههای ویژگی تولیدشده توسط لایه اول را بررسی میکند. در نتیجه، لبههای ساده را با هم ترکیب کرده و به گوشهها و منحنیها تبدیل میکند تا درک هندسی پیچیدهتری بسازد.[3]
در لایههای سوم و چهارم، فیلترها این گوشهها و منحنیها را ترکیب کرده و به بافتها و بخشهای قابلتشخیص از اشیاء تبدیل میکنند؛ مانند یک چرخ، پوزه یک سگ یا قاب یک پنجره. این استخراج سلسلهمراتبی ویژگیها، بازتابی از قشر بینایی بیولوژیکی در مغز است که درک پیچیده را از بلوکهای سازنده هندسی بنیادین بنا میکند.[5]
استخراج این ویژگیها بار محاسباتی عظیمی ایجاد میکند. اگر یک شبکه ۶۴ فیلتر را روی یک تصویر ۲۲۴ در ۲۲۴ بدون هیچگونه فشردهسازی اعمال کند، خروجی حاصل شامل بیش از ۳.۲ میلیون مقدار مجزا در هر لایه خواهد بود. عبور دادن این حجم از داده از میان دهها لایه بعدی، حتی مدرنترین واحدهای پردازش گرافیکی (GPU) را نیز از کار میاندازد.[2][6]
برای حل این گلوگاه حافظه، شبکههای عصبی کانولوشنی از لایههای پولینگ (Pooling) استفاده میکنند. این لایهها که بین عملیاتهای کانولوشنی قرار میگیرند، ابعاد فضایی نقشههای ویژگی را بهشدت کاهش میدهند و در عین حفظ قویترین سیگنالها، اطلاعات اضافی را دور میریزند.[2]
رایجترین تکنیک یعنی مکس پولینگ (Max Pooling)، یک پنجره ۲ در ۲ را با گام (Stride) ۲ پیکسل روی نقشه ویژگی میلغزاند. در هر مرحله، این لایه صرفاً بیشترین مقدار درون آن پنجره را بهعنوان خروجی میدهد و سه مقدار دیگر را حذف میکند. همانطور که در مستندات دوره CS231n دانشگاه استنفورد بهصراحت آمده است: «لایههای پولینگ بهطور مستقل روی هر برش عمقی از ورودی عمل کرده و اندازه فضایی آن را تغییر میدهند.»[5]
این عملیات ابعاد فضایی دادهها را دقیقاً ۷۵ درصد کاهش میدهد. یک نقشه ویژگی ۲۲۴ در ۲۲۴ به ۱۱۲ در ۱۱۲ کوچک میشود و تعداد کل نقاط داده را در یک مرحله از ۵۰,۱۷۶ به ۱۲,۵۴۴ کاهش میدهد.[5][6]
فراتر از فشردهسازی صرف دادهها، پولینگ ویژگی حیاتی دیگری به نام «تغییرناپذیری فضایی» (Spatial Invariance) را معرفی میکند. با نگهداشتن تنها قویترین فعالسازی در یک ناحیه محلی، شبکه نسبت به موقعیت دقیق یک ویژگی حساسیت کمتری پیدا میکند. اگر شیء هدف یک یا دو پیکسل در تصویر ورودی جابهجا شود، لایه مکس پولینگ همچنان دقیقاً همان فعالسازی حداکثری را ثبت میکند و تضمین میکند که شبکه بدون توجه به جابهجاییهای جزئی، شیء را تشخیص دهد.[4]
پژوهشگران بهطور مداوم با نسخههای مختلفی از این معماری آزمایش میکنند تا کارایی را بهبود بخشند. درحالیکه مکس پولینگ غالب است، گاهی اوقات از پولینگ میانگین (Average Pooling) - که بهجای مقدار حداکثر، میانگین پنجره را محاسبه میکند - در لایههای نهایی یک شبکه استفاده میشود تا ویژگیهای استخراجشده را پیش از طبقهبندی هموار کند و از بیشبرازش (Overfitting) روی ناهنجاریهای محلی و تیز جلوگیری نماید.[4]
با وجود موفقیت چشمگیر، این مکانیسمها بینقص نیستند. کاهش ابعاد شدید در لایههای پولینگ، روابط فضایی دقیق را از بین میبرد. یک شبکه ممکن است وجود دو چشم، یک بینی و یک دهان را تشخیص دهد، اما در تأیید اینکه آیا آنها در ترتیب آناتومیک صحیحی قرار گرفتهاند یا خیر، دچار مشکل شود؛ این همان نقطهضعفی است که معماریهای جایگزین تلاش کردهاند آن را برطرف کنند.[1][6]
وزنهای دقیق ریاضی درون فیلترهای کانولوشنی بهصورت دستی توسط مهندسان انسانی برنامهنویسی نمیشوند. آنها بهطور خودکار از طریق پسانتشار (Backpropagation) در طول فاز آموزش یاد گرفته میشوند. شبکه میلیونها پارامتر را بهصورت تکرارشونده تنظیم میکند و خودش کشف میکند که کدام الگوهای بصری برای به حداقل رساندن خطاهای طبقهبندی مفیدتر هستند.[2]
این فرآیند یادگیری خودکار به این معناست که اگرچه ما میتوانیم نقشههای ویژگی را مصورسازی کنیم تا ببینیم شبکه چه چیزی را تشخیص میدهد، اما منطق زیربنایی آن تا حدودی مبهم باقی میماند. پژوهشگران حوزه تفسیرپذیری میتوانند تأیید کنند که یک فیلتر خاص در حضور یک چرخ فعال میشود، اما همیشه نمیتوانند توضیح دهند که چرا شبکه تصمیم گرفته است آن بافت خاص را بر یک گزینه معتبر ریاضی دیگر ترجیح دهد.[3]
ترکیب فیلترهای کانولوشنی محلی و پولینگ فضایی شدید همچنان پارادایم غالب در بینایی ماشین است. حتی با وجود اینکه معماریهای جدیدتری مانند ترانسفورمرهای بینایی (Vision Transformers) با پردازش تصاویر بهعنوان دنبالهای از قطعات در حال محبوب شدن هستند، منطق بنیادین استخراج سلسلهمراتبی ویژگیها همچنان نحوه تجزیهوتحلیل دنیای بصری توسط سیستمهای مصنوعی را تعریف میکند.[6]
اصطلاحات کلیدی
- فیلتر کانولوشنی
- یک ماتریس کوچک از اعداد که روی یک تصویر میلغزد تا الگوهای بصری خاصی مانند لبهها یا بافتها را تشخیص دهد.
- مکس پولینگ
- یک عملیات کاهش ابعاد که با نگهداشتن تنها بالاترین مقدار در هر ناحیه محلی، اندازه یک نقشه ویژگی را کاهش میدهد.
- نقشه ویژگی
- شبکه خروجی تولیدشده پس از پردازش یک تصویر ورودی توسط فیلتر کانولوشنی، که نشان میدهد یک الگوی خاص در کجا پیدا شده است.
- گام (Stride)
- تعداد پیکسلهایی که یک فیلتر یا پنجره پولینگ در هر مرحله هنگام لغزش روی دادههای ورودی جابهجا میشود.
بررسی عمیق دیدگاهها
طراحان معماری
تمرکز بر بهینهسازی تعادل بین عمق استخراج ویژگیها و کارایی محاسباتی.
پژوهشگرانی که معماریهای جدید شبکههای عصبی را طراحی میکنند، فیلترهای کانولوشنی و لایههای پولینگ را بهعنوان بلوکهای سازنده ماژولاری میبینند که باید بهدقت متعادل شوند. هدف اصلی آنها استخراج غنیترین ویژگیهای سلسلهمراتبی ممکن بدون فراتر رفتن از محدودیتهای حافظه GPUهای مدرن است. این گروه اغلب با اندازههای مختلف فیلتر، کانولوشنهای متسع (Dilated Convolutions) و مکانیسمهای جایگزین پولینگ آزمایش میکنند تا زمینه فضایی گستردهتری را ثبت کرده و در عین حال تعداد کل پارامترها را به حداقل برسانند.
بهینهسازان سختافزار
اولویتدهی به کاهش پهنای باند حافظه و تعداد پارامترها برای استقرار مدلها روی دستگاههای لبه (Edge Devices).
برای مهندسانی که وظیفه اجرای مدلهای هوش مصنوعی روی گوشیهای هوشمند، پهپادها یا دستگاههای اینترنت اشیاء (IoT) را بر عهده دارند، ظرافت تئوریک استخراج ویژگیها در درجه دوم اهمیت نسبت به هزینه محاسباتی قرار دارد. این دیدگاه بهشدت طرفدار پولینگ شدید و کانولوشنهای تفکیکپذیر (Separable Convolutions) است، زیرا جابهجایی میلیونها فعالسازی نقشه ویژگی به داخل و خارج از حافظه، انرژی قابلتوجهی مصرف میکند. آنها کاهش ۷۵ درصدی دادهها توسط مکس پولینگ را نه فقط یک راحتی ریاضی، بلکه یک ضرورت فیزیکی قطعی برای استقرار در دنیای واقعی میدانند.
پژوهشگران تفسیرپذیری
تلاش برای درک دقیق اینکه فیلترهای منفرد در حال یادگیری تشخیص چه الگوهای هندسیای هستند.
تحلیلگرانی که بر ایمنی و تفسیرپذیری هوش مصنوعی تمرکز دارند، لایههای کانولوشنی را بهعنوان سوژههایی برای مهندسی معکوس در نظر میگیرند. آنها با مصورسازی نقشههای ویژگی خاص تولیدشده توسط لایههای عمیق، تلاش میکنند ثابت کنند که یک مدل بر اساس شواهد بصری معتبر تصمیمگیری میکند، نه همبستگیهای جعلی پسزمینه. این گروه مکرراً آسیبپذیری لایههای پولینگ را برجسته میکنند و خاطرنشان میسازند که چون این لایهها روابط فضایی دقیق را دور میریزند، شبکهها گاهی اوقات میتوانند توسط تصاویر خصمانهای که در آنها اجزای شیء در هم ریخته شدهاند، فریب بخورند.
- طراحان معماری
- تمرکز بر بهینهسازی تعادل بین عمق استخراج ویژگیها و کارایی محاسباتی.
- بهینهسازان سختافزار
- اولویتدهی به کاهش پهنای باند حافظه و تعداد پارامترها برای استقرار مدلها روی دستگاههای لبه (Edge Devices).
- پژوهشگران تفسیرپذیری
- تلاش برای درک دقیق اینکه فیلترهای منفرد در حال یادگیری تشخیص چه الگوهای هندسیای هستند.
دیدگاههایی که این گزارش پوشش نداده
- پژوهشگران دفاع در برابر حملات خصمانه
- عصبشناسان بینایی بیولوژیکی
منابع
[1]MathWorksپژوهشگران تفسیرپذیریVisualize Features of a Convolutional Neural Network
مطالعه در MathWorks →
[2]Machine Learning Masteryطراحان معماریHow Do Convolutional Layers Work in Deep Learning Neural Networks?
مطالعه در Machine Learning Mastery →
[3]The Keras Blogپژوهشگران تفسیرپذیریHow convolutional neural networks see the world
مطالعه در The Keras Blog →
[4]PMC - NIHطراحان معماریA improved pooling method for convolutional neural networks
مطالعه در PMC - NIH →
[5]Stanford University CS231nبهینهسازان سختافزارVisualizing what ConvNets learn
مطالعه در Stanford University CS231n →
[6]تیم سردبیری کوهستانتحلیل تیم سردبیری کوهستان
مطالعه در تیم سردبیری کوهستان →
بیشتر در هوش مصنوعی
مشاهده همه →اخلاق فناوری
هشدار پاپ لئو چهاردهم درباره «بهشت ماشینی» و خطرات هوش مصنوعی در سفر به فرانسه
6 منبع
ریاضیات و هوش مصنوعی
تشکیل گروه مشورتی مستقل ریاضیات توسط OpenAI پس از ادعای حل بیش از ۱۰۰ مسئله حلنشده با هوش مصنوعی
4 منبع
یادگیری ماشین
چگونه ترفند کرنل دادهها را بهطور ضمنی به فضایی با ابعاد بالاتر میبرد تا تفکیکپذیری خطی ممکن شود
7 منبع
خودتوجهی
چگونه مکانیزم «خودتوجهی» موازی بر گلوگاه پردازش ترتیبی در شبکههای عصبی بازگشتی غلبه کرد
7 منبع
نظرات
هر زاویه. هر روز.
اخبار هوش مصنوعی با پوشش کامل منابع و تحلیل دیدگاهها، هر روز و رایگان.





