شبکه عصبی کانولوشن از دیدگاه بیولوژی

زمان تقریبی مطالعه 11 دقیقه

دلیل اصلی بوجود آمدن شبکه های عصبی کانولوشن به سال های 1950 و 1960 میلادی بر میگردد .دو محقق دانشگاه هاروارد به نام های Hubel و Wiesel با تحقیق بر روی ویژوال کورتکس مغز گربه و با نشان دادن الگوهای خاص به گربه به نتایج جالبی رسیدند. این دو محقق متوجه شدند که در لایه های اولیه مغز نورن ها به لبه ها حساسیت نشان میدهند و در لایه های بعد به ویژگی های پیچیده تر . هنگام حرکت دادن یک خط روشن در عرض یک صفحه نمایش آنها متوجه نکات جالبی شدند :

نرون ها هنگامی فعال میشوند که خط در ناحیه بخصوصی بر روی شبکیه قرار میگیرد.

فعالیت این نرون ها با چرخش خط تغییر میکند.

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

_config.yml

آزمایش این دو محقق درک ما را از چگونگی کارکرد سیستم بینایی در تشخیص اشیا و سنگ بنای شبکه های عصبی کانولوشن را به وجود آورد . در سال 1981 جایزه نوبل پزشکی و فیزیولوژی به این دو محقق داده شد. شبکه های عصبی کانولوشن شاید بزرگترین داستان موفقیت شبکه های عصبی الهام گرفته بیولوژیکی باشند ، هر چند شبکه های عصبی کانولوشن توسط رشته های متفاوتی شکل گرفته اند اما مهم ترین قوانین طراحی آنها از علوم اعصاب نشات گرفته شده اند .کشف بزرگ آنها این بود که نرون ها در ابتدای سیستم بینایی به الگو های خاصی از نور پاسخ میدهند . تحقیق آنها پنجره جدیدی به روی کارکرد مغز انسان باز کرد که توضیح آنها از محدوده این پست خارج است .

از دیدگاه یادگیری عمیق ما می‌توانیم بر روی یک بخش (شکل ساده شده ) مغز به نام v1 تمرکز کنیم این بخش همچنین قشر اصلی بینایی نام دارد . این بخش از مغز اولین محلی است که عملیات پیشرفته پردازش تصویر بر روی رودی انجام میشود . عکس ها با ورود نور به چشم و تحریک شبکیه چشم و بافت های حساس به نور در قسمت پشت چشم شکل میگیرند. نرون هایش موجود در شبکیه عملیات ساده پردازش تصویر را انجام میدهند اما تغییرات قابل ملاحظه ای در آن انجام نمی‌دهند . تصویر سپس از میان عصب های نوری و ناحیه ای از مغز به نام هسته ی پری اپتیک جانبی عبور میکند . نقش اصلی این دو نواحی در درجه اول تا آنجایی که ما در پردازش تصویر با آنها سروکار داریم فقط انتقال سیگنال از چشم به v1 است ، که در قسمت پشت سر قرار گرفته است . یک لایه شبکه کانولوشن طراحی شده تا سه ویژگی از خصوصیات v1 را شبیه سازی کند : (در شکل زیر قشر اصلی بینایی مغز نمایش داده شده است)

_config.yml

V1 به صورت یک نگاشت فضایی ، چیده شده است . در واقع یک ساختار دو بعدی دارد و تصویر دریافتی از شبکیه را در این ناحیه می‌تاباند به عنوان مثال نور دریافت شده از نیم شبکیه فقط همان ناحیه متناظر در v1 را تحت تاثیر قرار می‌دهد شبکه های کانولوشن این ویژگی را با داشتن فضای ویژگی با نگاشت دو بعدی میگیرد.

v1 شامل تعداد زیادی سلول ساده است عملکرد یک سلول ساده تا حدی می‌تواند با عملیات خطی یک بخشی از تصویر با ناحیه تاثیر کوچک مشخص شود واحد های آشکار ساز (فیلترها ) در شبکه های کانولوشن برای شبیه سازی عملکرد این سلول ها طراحی شده اند.(در شکل زیر نمایی از عملکرد سلول های ساده و پیچیده نمایش داده شده است)

_config.yml

v1 همچنین شامل تعداد زیادی سلول پیچیده است .این سلول ها به ویژگیهایی که توسط سلول های ساده تشخیص داده شده‌اند واکنش نشان می‌دهند، این سلول ها به تغییرات کوچک در محل ویژگی ها مقاوم هستند . این ویژگی الهام بخش واحد های pooling شبکه های کانولوشن است . سلول های پیچیده همچنین به بعضی از تغییرات در سطح نور که نمی‌تواند توسط واحد های pooling گرفته شوند نیز نامتغیر هستند .این غیر متنوع بودن (ثبات )الهام بخش ایجاد تعدادی استراتژی cross-channel pooling در شبکه های عصبی کانولوشن از قبیل واحد maxout شد . هر چند بیشتر اطلاعات ما فقط در باره v1 است اعتقاد عموم بر این است قوانین پایه‌ای مشابهی در سایر نواحی سیستم بینایی وجود دارد ، در دید کارتونی ما از سیستم بینایی استراتژی پایه ای آشکار ساز و به دنبال آن pooling با رفتن به عمق بیشتر در مغز تکرار می‌شود با عبور از لایه‌هایی آناتومی چندگانه به سلول هایی می‌رسیم که به مفاهیم خاصی پاسخ می‌دهند و به طیف وسیعی از تغییرات ورودی نامتغیر هستند . این سلول ها سلولهای مادر بزرگ نامیده شده اند .ایده نامگذاری این سلول ها بدین شرح است که یک شخص می‌تواند یک نورون داشته باشد که در هنگام دیدن یک عکس از مادر بزرگش بدون درنظر گرفتن اینکه او در سمت راست یا چپ تصویر باشد ، یک تصویر بسته از چهره او باشد یا یک تصویر از کل بدن او و یا در سایه باشد یا در نور باشد فعال میشود .تحقیقات نشان داده که این سلول ها در واقع در ناحیه ای به نام لوب گیجگاهیوجود دارند .(در شکل زیر نمایی از موقعیت لوب گیجگاهی نمایش داده شده است)

_config.yml

محققین همچنین دریافتند نرون های خاصی وجود دارند که به عکس اشخاص معروف واکنش نشان میدهند ، به عنوان مثال نرونی وجود دارد که به عکس Halle Berry واکنش نشان میدهد این نرون همچنین به نقاشی ، یا حتی متنی که این کلمه در آن آورده واکنش نشان میدهد . نرون‌های واقع در لوب گیجگاهی از شبکه های کانولوشن جامع‌تر هستند و نمی‌توانند به صورت خودکار به این مفهوم “شناسایی شخص هنگام خواندن اسم آنها” عمومیت ببخشند . نزدیک‌ترین شباهت به آخرین لایه شبکه کانولوشن یک ناحیه از مغز به نام قدامی قطعه گیجگاهیاست . هنگام دیدن یک شیی ، اطلاعات از سمت شبکیه چشم از میان هسته پری اپتیک جانبی به V1 سپس v2 ، v3 و قدامی قطعه گیجگاهی انتقال داده می‌شوند ، تمامی این عملیات در 100 میلی ثانیه نگاه اول به شیی اتفاق میافتد ، اگر یک شخص به مدت زمان بیشتری به آن شیی خیره شود اطلاعات شروع به حرکت به صورت برعکس میکنند که این عملیات باعث بروز رسانی فعال سازها در سطح پایینی میشود . با این حال ، اگر ما نگاه یک شخص را قطع کنیم و فقط نرخ فعال شدن نرون ها که در نتیجه ۱۰۰ میلی ثانیه ابتدایی است را در نظر بگیریم ، مشاهده می‌کنیم که کارکرد قدامی قطعه گیجگاهی مشابه شبکه های کانولوشن است . این شبکه ها می‌توانند نرخ فعال سازی قدامی قطعه گیجگاهی را پیش بینی کنند و همچنین عملیاتی بسیار مشابه عملیات باز تشخیص اشیاد در انسان ها را انجام دهند (محدود به زمان) . گفته میشود ، که تفاوت بسیار زیادی بین شبکه های عصبی کانولوشن و و سیستم بینایی پستانداران است ، برخی از این تفاوت ها برای دانشمندان محاسبات علوم اعصاب شناخته شده هستند اما این موارد خارج از بحث این پست هستند .برخی از این تفاوت ها هنوز بصورت ناشناخته باقی مانده اند زیرا هنوز به سوالات زیادی در باره سیستم بینایی پستانداران پاسخ داده نشده است . به عنوان یک لیست مختصر :

چشم انسان در بیشتر بخش ها دارای وضوح کم است بجز بخشی از چشم بنام fovea . این بخش فقط قسمت کوچکی به اندازه ناخن شصت ما در فاصله دور قرار گرفته مشاهده میکنید. هرچند ما احساس می‌کنیم که یک تصوری از یک منظره را به صورت وضوح بالا می‌بینیم این در واقع یک توهم است که توسط ضمیر ناخودآگاه مغز شکل می‌گیرد . بیشتر شبکه‌هایی کانولوشن در واقع تصاویر بزرگ با رزولوشن بالا را به عنوان ورودی دریافت میکنند .

مغز انسان در هنگام مشاهده یک صحنه چندین پرش چشم (هر یک از جهش های غیر ارادی و تند چشم از یک نقطه به نقطه ی دیگر مثلا هنگام خواندن)ایجاد میکند .ترکیب مکانیسم توجه در یادگیری عمیق یک زمینه تحقیقاتی باز است و بیشتر در شبکه های عصبی بازگشتی موفقیت داشته اند .

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

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

در حالی که انشار روبه جلو در IT اطلاعات مشابه به شبکه های کانولوشن را اخذ می‌کنند اما کاملاً واضح نیست که عملیات میانی چگونه انجام میشوند . مغر احتمالا از توابع کاملاً متفاوت فعال ساز و pooling استفاده میکند .

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

این روش به ما نشان میدهد که بیشتر سلول های v1 وزن هایی دارند که توسط توابع گابور قابل توصیف هستند . تابع گابور وزن در یک نقطه دو بعدی از عکس را توصیف میکند . اگر عکس را به عنوان یک تابع از مختصات دو بعدی در نظر بگیریم ، آنگاه تابع آن به این صورت است l(x,y) . به همین ترتیب ما میتوانیم یک سلول ساده را به عنوان یک مجموعه از مکانهای نمونه برداری شده که توسط یک مجموعه ازx مختصات X و یک مجموعه از y مختصات Y اعمال وزن ها که آنها را نیز یک تابع از مختصات w(x,y) در نظر بگیریم. از این دید واکنش یک سلول ساده به یک عکس به صورت زیر انجام میشود:

_config.yml

به صور مشخص w(x,y) به فرم یک تابع گابور است

_config.yml

بطوریکه x

_config.yml

و y

_config.yml

اینجا α,βx,βy ,f,φ,x_0 ,y_0, τ پارامتر هایی برای کنترل خصوصیات تابع گابور است. در شکل زیر تعدادی از توابع گابور نمایش داده شده است . رنگ سفید نشان دهنده وزن مثبت و رنگ مشکی نشان دهنده وزن منفی و پس زمینه خاکستری به وزنها با مقدار صفر مطابق است.

_config.yml

برخی از ارتباطات قابل توجه بین علوم اعصاب و یادگیری ماشینی از مقایسه بین ویژگی های یادگرفته شده توسط مدل های کامپیوتری و ویژگی های بکار گرفته در v1 میآید .بیشتر الگوریتم های یادگیری ماشینی ویژگی ها عکسها را توسط توابع شبه گابور استخراج میکنند مانند بیشتر الگوریتم های یادگیری عمیق که این ویژگی ها را در لایه اول یاد میگیرد. در شکل زیر تعدادی از این ویژگی های یاد گرفته شده نشان داده شده است . با توجه به اینکه تعداد زیادی الگوریتم وجود دارد که لبه را آشکار میکنند انتخاب الگوریتم “صحیح” مشکل است . این ویژگی ها بخش مهمی از ساختار آماری عکس ها هستند.

_config.yml

Written on August 24, 2017