خودآموز شبکه های عصبی کانولوشنی – ماشین ها چگونه تصاویر را تفسیر می کنند

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

” رایانه ها قادر به دیدن ، شنیدن و یادگیری هستند. به آینده خوش آمدید. ” – دیو واترز

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

CNN چیست؟

شبکه های عصبی کانولوشنی ، نوعی از الگوریتم یادگیری عمیق هستند که تصویر را به عنوان ورودی گرفته و ویژگی های مختلف تصویر را از طریق فیلتر ها یاد می گیرند. این روش به آن ها امکان شناسایی اشیاء مهم موجود در تصویر را می دهد و می توانند یک تصویر را از دیگری تمایز دهند. به عنوان مثال ، شبکه کانولوشنی ، ویژگی های خاص گربه ها را که با سگ ها متفاوت اند ، یاد می گیرند ، به طوری که وقتی ما ورودی گربه ها و سگ ها را می دهیم، می تواند به راحتی بین این دو تفاوت قائل شود. یکی از ویژگی های مهم شبکه عصبی کانولوشنی که آن را از دیگر الگوریتم های یادگیری ماشین متمایز می کند، این است که خودش قادر به پیش پردازش داده ها است. بنابراین، احتمالاً شما منابع زیادی را در پیش پردازش داده ها صرف نخواهید کرد. در هنگام شروع سرد (راه اندازی اولیه) ، فیلتر ها ممکن است نیاز به تنظیمات دستی داشته باشند، اما با پیشرفت در آموزش دهی ، آن ها قادر به سازگاری با ویژگی های آموخته شده و توسعه فیلتر های مورد نظر خود هستند. بنابراین ، CNN با افزایش داده ها، دائماً در حال تغییر است.

معرفی شبکه های عصبی کانولوشنی

اگر مفهومی از یادگیری ماشین وجود دارد که آن را نمی دانید، پس بهتر است مجموعه خودآموز یادگیری ماشین ما را دنبال کنید. آن را Bookmark کنید تا در آینده مطالب جدید تر را مطالعه کنید.

حالا، بعد از دانستن اینکه شبکه کانولوشنی چیست، بیایید به نحوه کار CNN بپردازیم.

شبکه های عصبی کانولوشنی چگونه کار می کنند؟

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

نحوه کار شبکه های عصبی کانولوشنی

این فرض به معماری کمک می کند تا به شیوه ای کاربردی تر تعریف شود. مثلاً برخلاف ترتیب خطی نورون ها در یک شبکه عصبی ساده. این نورون ها یک ساختار کلی از سه بُعد – طول ، عرض و ارتفاع دارند. برای مثال، تصاویر موجود در مجموعه داده CIFAR 10 حاوی تصاویری با ابعاد ۳۲*۳۲*۳ و خروجی نهائی یک بردار منفرد از تصاویر با ابعاد ۱*۱*۱۰ خواهند داشت. معماری شبکه عصبی کانولوشنی به شرح زیر است:

  • ورودی – همانطور که در بالا توضیح داده شد، یک تصویر معمولی در داده های CIFAR-10 که دارای ابعاد ۳۲*۳۲*۳ باشد که در آن عمق، نشان دهنده تعداد کانال های تصویر (RGB) است.
  • لایه CONV مسئول محاسبه ضرب نقطه ای بین وزن های نورون و ناحیه تصویر ورودی است تا مورد اتصال قرار گیرد. در اینجا، ابعاد ۳۲*۳۲*۱۲ می شوند که نشانگر ۱۲ فیلتری هستند که شبکه عصبی از آن ها استفاده می کند.
  • لایه سوم شامل RELU است که برای کاربرد تابع فعالساز روی نتیجه حاصل از ضرب نقطه ای، استفاده می شود. در اینجا ابعاد نتیجه تغییری نمی کند.
  • لایه چهارم POOL از ابعاد مکانی تصویر یعنی عرض و ارتفاع را نمونه کاهی ( Downsampling ) می کند. این کار ابعاد را به ۱۶*۱۶*۱۲ کاهش می دهد.
  • لایه تماما متصل ، مسئول محاسبه امتیاز کلاس است که منجر به ابعاد نهائی ۱*۱*۱۰ خواهد شد. در اینجا ۱۰ نشانگر دسته های CIFAR-10 است.

مهم ترین لایه در معماری CNN، لایه کانولوشنی است. مؤلفه اصلی لایه CONV شامل یک فیلتر قابل یادگیری است. هر فیلتر روی شاخه های CONV دارای اندازه ۵*۵*۳ است. هنگامی که انتشار به جلو انجام می شود، ما روی هر فیلتر را در عرض و همچنین عمق ابعاد ورودی حرکت می دهیم و در آخر، ضرب نقطه ای را محاسبه می کنیم. این ضرب نقطه ای در نهایت منجر به یک نگاشت فعالساز ۲ بعدی خواهد شد که پاسخ فیلتر را در هر موقعیت مکانی به ما می دهد.

آنگاه شبکه ، فیلترهای مختلفی که همراه با ویژگی های بصری مانند لبه یا غیرواضح بودن برخی رنگ ها در لایه اول ظاهر می شوند را یاد می گیرد و در لایه بالاتر شبکه، یک الگو لانه زنبوری مانند تولید می کند. هر یک از ۱۲ فیلتر موجود در ConvNet ، یک نگاشت فعالساز ۲ بعدی ایجاد می کند که برای تولید ابعاد خروجی از آن استفاده می کنیم.

کاربرد های شبکه های عصبی کانولوشنی

  • شبکه های عصبی کانولوشنی یا CNN ها ، برای شناسایی تصویر توسعه داده شده اند و در نتیجه بیشتر در حوزه بینایی رایانه ای کاربرد دارند که برای کلاسه بندی تصاویر، ناحیه بندی آن ها و همچنین انجام مکان یابی ( Localization ) روی تصاویر مورد استفاده قرار می گیرند.
تشخیص چهره در تصویر با شبکه های عصبی کانولوشنی
  • ویدئو ها با تصاویر تفاوت دارند چون دارای یک بُعد زمانی هستند. با اینکه پیچیده تر از تصاویر هستند ، اما می توانیم CNN ها را برای استفاده در این نوع ورودی های بصری نمایشی، اصلاح کنیم. در اغلب موارد ، استفاده از شبکه های کانولوشنی در کنار دیگر الگوریتم ها مانند LSTM و ماشین بولتزمن برای بهبود عملکرد شان در کنترل ورودی ویدئویی ، بسیار پرطرفدار است.
  • CNN ها، علاوه بر ورودی های بصری، همچنین در زمینه پردازش زبان طبیعی برای تجزیه معنایی ، مدل سازی جمله ، پیش بینی و همچنین کلاسه بندی مورد استفاده قرار می گیرند.
کاربرد الگوریتم cnn در مدل سازی جملات
  • اخیراً شرکت هایی مانند گوگل ، از CNN ها در کنار شبکه های عصبی بازگشتی و LSTM ها برای تشخیص گفتار استفاده کرده اند.
تشخیص گفتار با شبکه های عصبی کانولوشنی
  • CNN ها همچنین در دارو پژوهی مورد استفاده قرار می گیرند که اثبات می شود ابزاری موثر برای شناسایی برهم کنش بین مولکول ها و پروتئین های بیولوژیکی برای تشخیص درمان های بالقوه هستند.

خلاصه

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

بیشتر بخوانید :

منبع Data Flair

درباره‌ی امیر اقتدائی

همچنین ببینید

آیا می خواهید در زمینه یادگیری ماشین استخدام شوید؟

آیا می خواهید در زمینه یادگیری ماشین استخدام شوید؟

مسیر های شغلی زیادی در حوزه یادگیری ماشین وجود دارد، اما از کجا بفهمیم که …

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *