شبکه عصبی CNN
شبکه عصبی CNN چیست؟ این سوالی که ممکن است برای اولین بار شما که با این موضوع بر می خورید به ذهن شما برسد. در این مقاله ما این موضوع را به طور قابل توجهی بررسی می کنیم. برای یادگیری برنامه نویسی می توانید به سایت آموزش برنامه نویسی در کرج مشاوره بگیرید.
شبکه عصبی کانولوشن (Convolutional Neural Network) اولین بار درسال 1980 توسط Yann Lecun معرفی شد. این ساختار شبکه از کورتکس بینایی مغز الهام گرفته است. طی آزمایشهای انجام شده در بینایی در مغز، ابتدا ویژگی های ساده و اولیه شناسایی میشود و سپس پیشرفته تر میشود.فرض اولیه در این شبکه این است که ورودی تصویر است.
-
لایه های تشکیل دهنده CNN
CNN از لایههای:Fully connected layer،Non-linear activation function،Pooling layer،Convolutional layer تشکیل شده است.
-کانوالو نوعی عملیات ریاضی است، در این لایه یک فیلتر با عکس کانوالو میشود که خروجی این کانولوشن صفر است مگر در نواحی که تمپلیت خاصی که در فیلتر وجود داشته در تصویر هم وجود داشته باشد.
-ماتریس عددی به دست آمده از لایه قبل به یک لایه غیر خطی ارسال میشود،که این لایه شامل تابع فعالسازی (یکسوساز)است که باعث میشود شبکه روابط غیرخطی میان ویژگیها را تشخیص بدهد.
-در لایه poolingویژگیهای استخراج شده را فشرده میکند تا اگر مقیاس و جهت تصویر عوض شد، شبکه بتواند همچنان ویژگیهای موردنظر را استخراج کند.
-ماتریس های ویژگی استخراج شده در انتها به صورت آرایه از صف پشت سرهم چیده میشوند و به عنوان ورودی به این لایه (Fully connected) داده میشوند.
-
تفاوت شبکه عصبی MLP و کانولوشن
معمولا تصاویر به شکل ماتریسهای دوبعدی از اعداد نمایش داده میشوند که هر درایه آن معادل یک پیکسل است.فرض میکنیم یک تصویر 100*100 داشته باشیم یعنی 10000 پیکسل که به صورت دو بعدی نشان داده میشود. حال اگر بخواهیم یک لایه ورودی برای این عکس بسازیم باید 10000 نورون برای لایه ورودیMLP در نظر بگیریم، که باعث میشود محاسباتش شامل حجم بزرگی از پارامترها شود و بسیار هزینه بر باشد.
شبکه CNN برای ورودی ها با ساختار ماتریسی به خوبی کار میکند و برخلاف MLP که ساختار داده را عوض میکند، CNN این کارا نمیکند و به ارتباط بین پیکسل های همسایه اهمیت میدهد.
-
پردازش تصویر
همانطور که قبلا گفتیم، تصاویر یک آرایه یا ماتریس دوبعدی از اعداد است که شامل مقادیر 0 تا 255 هستند. مقدار صفر معادل رنگ سیاه و مقدار 255 معادل رنگ سفید است.نواحی تیره مقدار کمتری دارند و بلعکس نواحی روشن مقادیر بیشتری دارند.
معمولا ورودی های این شبکه دو نوع تصویر هستند:
- تصاویر سطح خاکستری
تصاویر سطح خاکستری ساده ترین نوع تصاویر هستند که درواقع یک ماتریس دو بعدی است.
- تصاویر رنگی
ساختار تصاویر رنگی متفاوت تر است و از سه صفحه تشکیل شده است.این صفحات عبارت اند از صفحه قرمز، صفحه سبز و صفحه آبی.این صفحات مانند تصویر سطح خاکستری مقادیری از 0 تا 255 را شامل میشوند که از ترکیب این اعداد،رنگ نهایی حاصل میشود.به همین خاطر به تصاویر رنگی RGB گفته میشود.
-
جمع بندی
شبکه عصبی CNN ،یکی از معروف ترین شبکه های عصبی است که از مسیر بینایی انسان برای طراحی آن الهام گرفته شده که در حوزه های مختلف مورد استفاده قرار میگیرد.