شبکه های عصبی مصنوعی در یادگیری ماشین – هر آنچه که باید در مورد آن بدانید

آیا تا به حال به این فکر کرده اید که مغز ما چگونه کار می‌کند؟ ممکن است در دوران مدرسه درباره آن مطالعه کرده باشید. شبکه های عصبی مصنوعی ( Artificial Neural Network ) دقیقاً شبیه به سلول های عصبی در سیستم عصبی ماست. اگر به خاطر نمی آورید، نگران نباشید، در ادامه به آموزش شبکه های عصبی مصنوعی همراه با مثال و کاربرد های بلادرنگ آن ها می پردازیم. پس بیایید آموزش شبکه های عصبی مصنوعی را شروع کنیم.

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

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

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

پیش از ادامه ، توصیه می‌کنیم که مفاهیم یادگیری ماشین خود را یادآوری کنید.

شبکه عصبی مصنوعی چیست؟

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

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

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

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

همانطور که اشاره شد، عملکرد شبکه های عصبی مصنوعی مشابه نحوه عملکرد سلول های عصبی در سیستم عصبی ماست. شبکه های عصبی به اوایل دهه ۱۹۷۰ که Warren S McCulloch  و Walter Pitts  این عبارت را ابداع کردند، برمی گردند. برای درک کارآیی های شبکه های عصبی ، اجازه دهید ابتدا نحوه ساختار بندی آن را درک کنیم. در یک شبکه عصبی ، سه لایه اساسی وجود دارد :

۱- لایه ورودی

لایه ورودی ، اولین لایه ANN است که اطلاعات ورودی را در قالب متن های مختلف ، اعداد ، فایل های صوتی ، پیکسل های تصویر و غیره دریافت می کند.

۲- لایه مخفی

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

۳- لایه خروجی

در لایه خروجی نتیجه ی حاصل از محاسبات دقیق لایه میانی را بدست می آوریم.

در یک شبکه عصبی ، چندین پارامتر و ابرپارامتر وجود دارند که بر عملکرد مدل تاثیر می گذارد. خروجی ANN ها عمدتاً وابسته به این پارامترهاست. برخی از این پارامترها شامل وزن ها ، بایاس ها ، نرخ یادگیری ، اندازه دسته (batch size) و غیره هستند. هر گره در ANN دارای وزن خاصی است.

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

تابع انتقال شبکه های عصبی مصنوعی

بعد از اینکه تابع انتقال ، مجموع را محاسبه کرد ، تابع فعالساز نتیجه را بدست می آورد. براساس خروجی دریافتی ، توابع فعالساز نتیجه مناسب را بیرون می دهند. به عنوان مثال ، اگر خروجی دریافت شده بالاتر از ۰٫۵ باشد ، تابع فعالساز ۱ می دهد در غیر این صورت ۰ باقی می ماند.

برخی از توابع فعالساز مورد استفاده در شبکه های عصبی مصنوعی عبارتند از:  Sigmoid ،  RELU ،  Softmax ، tanh و غیره.

تابع فعال سازی شبکه های عصبی مصنوعی

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

ANN ها بخشی از یک حوزه نوظهور در یادگیری ماشین به نام یادگیری عمیق هستند.

افراد زیادی یادگیری عمیق را با یادگیری ماشین اشتباه می گیرند. آیا شما هم یکی از آن ها هستید؟

تفاوت یادگیری عمیق و یادگیری ماشین

پس انتشار در شبکه های عصبی مصنوعی

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

انواع شبکه های عصبی مصنوعی

دو نوع مهم از شبکه های عصبی مصنوعی وجود دارد :

  • شبکه عصبی پیشخور ( feedforward )
  • شبکه عصبی پسخور ( feedback )

۱- شبکه عصبی مصنوعی پیشخور ( FeedForward )

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

شبکه های عصبی پیش خور

۲- شبکه عصبی مصنوعی پسخور ( Feedback )

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

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

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

شبکه های بیزی

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

تنها شرطی که این شبکه ها باید رعایت کنند این است که نمی توانند از طریق مسیر های جهت دار به گره بازگردند. بنابراین، شبکه های بیزی ” گراف جهت دار غیرمدور ” ( Graphs Acyclic Directed ) نامیده می شوند.

شبکه های بیزی می توانند متغیرهای چندمقداری را کنترل کنند و از دو بُعد تشکیل شده اند :

  • نوع گزاره ها
  • احتمالی که به هر گزاره اختصاص داده شده است

فرض کنید یک مجموعه متناهی از متغیرهای تصادفی وجود دارد به گونه ای که هر متغیر از این مجموعه متناهی با X={x1 , x2 … xn} مشخص می شود که در آن هر متغیر X از مقادیر موجود در مجموعه متناهی مانند {x1} استفاده می کند. اگر یک پیوند مستقیم از متغیر Xi به متغیر Xj وجود داشته باشد ، آنگاه Xi والد Xj خواهد بود که وابستگی های مستقیم بین این متغیرها را نشان می دهد.

به کمک شبکه های بیزی ، می توان دانش پیشین و همچنین داده های مشاهده شده را ترکیب کرد. شبکه های بیزی عمدتاً برای یادگیری روابط علت و معلولی و همچنین درک دانش محیط کاربرد ( domain knowledge ) برای پیش بینی رویداد آینده بکار می روند. این قضیه حتی در مورد داده ‌های از دست رفته نیز صادق است.

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

در زیر کاربرد های مهم شبکه عصبی مصنوعی آورده شده است :

۱- تشخیص کاراکتر دست نویس

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

تشخیص کارکتر دست نویس با شبکه های عصبی مصنوعی

۲- شناسایی گفتار

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

تشخیص گفتار با شبکه های عصبی مصنوعی

۳- طبقه بندی امضا

به منظور تشخیص امضاء ها و دسته بندی آن ها بر اساس افراد ، از شبکه های عصبی مصنوعی برای ساخت این سیستم ها و اعتبارسنجی استفاده می کنیم. علاوه بر این ، شبکه های عصبی همچنین می توانند امضای جعلی و واقعی را دسته بندی کنند.

تشخیص امضا با شبکه های عصبی مصنوعی

۴- تشخیص چهره

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

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

خلاصه

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

امیدوارم از خواندن این مقاله لذت برده باشید. لطفا نظرات خود را به اشتراک بگذارید.

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

منبع Data Flair

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

فناوری تشخیص چهره و کاربردهای آن، تاریخچه تکنولوژی تشخیص چهره

فناوری تشخیص چهره و کاربردهای آن + تاریخچه

فناوری تشخیص چهره یک فناوری بیومتریک است که با استفاده از تجزیه و تحلیل الگوهایی …

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

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