شبکه های عصبی پرسپترون چند لایه (MLP) چیست؟
شبکه عصبی MLP) Multi-Layer Perceptron) یکی از مدلهای پرکاربرد در حوزه یادگیری عمیق است. این شبکه از تعدادی لایه پنهان (hidden layer) تشکیل شده که هر لایه دارای تعدادی نورون (neuron) می باشد. هر نورون در لایههای پنهان، ورودیها را با وزن دهی متفاوت دریافت کرده و خروجی خود را با استفاده از تابع فعال سازی محاسبه میکند.
تابع فعالساز برای هر نورون، خروجی آن را به صورت غیر خطی تغییر می دهد. برخلاف شبکههای عصبی ساده که فقط چندین نورون دارند، این شبکه قادر به حل مسائل پیچیدهتر است، برخلاف شبکه عصبی MLP، در شبکه عصبی CNN Convolutional Neural Network و LSTM) Long Short-Term Memory)، ساختار وابستگی بین ورودیها حفظ میشود.
این دو شبکه به خصوص برای پردازش تصویر و دادگان زمان-سری مناسب هستند. همچنین این شبکه عصبی چند لایه به صورت دسته ای از شبکه های عصبی مصنوعی پیشخور است و از فرایند یادگیری تحت نظارت یا نام بازپرداخت برای یادگیری خود استفاده میکند.
قرار گرفتن لایه ها در این شبکه به صورتی است که لایه هایی که به لایه ورودی نزدیک تر باشند لایه های پایین نامیده می شوند و آن هایی که به لایه خروجی نزدیکترند لایه های بالا میگویند. اصطلاح "پرسپترون چند لایه " با "پرسپترون" تفاوت دارد چرا که در پرسپترون یک لایه منفرد است.
تاریخچه شبکه های عصبی پرسپترون چند لایه (MLP)
شبکه های پرسپترون چند لایه یکی از انواع شبکه های عصبی مصنوعی است که در دهه ۱۹۸۰ معرفی شد. تاریخچه این شبکه به سال ۱۹۵۸ بازمی گردد، زمانی که فرانک روزن بلات (Frank Rosenblatt) مدل "پرسپترون" را ارائه داد.
پرسپترون یک مدل ساده از نورون های بینایی حشرات بود که قابلیت تشخیص الگو را داشت. اما پس از آن، تحقیقات در زمینه شبکه های عصبی به دلایل فنی و تجربی محدود شده بود. اما در دست آوردهای جدید در زمینه روش های آمار و الگوريتم های بهينه سازی با توجه به بهینه سازی شبکه، قابلیت شکست الگوریتم (Backpropagation) كشف شد.
الگوريتم (Backpropagation)، يك الگوريتم آماری است كه بر اساس خطای بین خروجی تولید شده توسط مدل و خروجی مورد انتظار، وزن ها بروزرسانی میشود و به این صورت مدل یاد میگیرد.
پس از کشف الگوریتم (Backpropagation)، شبکه MLP به عنوان یک شبکه عصبی با قابلیت چند لایه و آموزش با استفاده از این الگوریتم شناخته شد.
نحوه عملکرد شبکه های عصبی پرسپترون چند لایه (MLP)
1.ورودی: اطلاعات ورودی به شبکه داده می شود، این اطلاعات ممکن است برداری از ویژگیها یا سطح خاصی از تصویر باشد.
2.پخش: در این مرحله، وزن دهی به ورودی ها صورت میگیرد. هر نورون در لایه پخش، وزن خاص خود را بر روی هر ورودی دارد، سپس، جمع وزن دهی شده بین تمام نورونها در لایه پخش محاسبه ميشود.
3.تابع فعال ساز (activation function): جمع وزن دهی شده به تابع فعال ساز منتقل می شود، توابع فعال ساز عمل کننده ای است که خروجی نورون را تولید می کند. بستگی به نوع تابع فعال ساز، خروجي ممکن است در بازه خاص قرار بگيرد.
4.پیشخور (Feedforward): در این مرحله، ورودی ها از لایه ورودی به طور مستقیم به لایه های پنهان (hidden) منتقل می شوند و سپس خروجی ها از لایه های پنهان به لایه خروجی منتقل می شوند. در این فرآیند، وزن ها و بایاس ها بین نورون ها تغییر نمی کنند و تابع فعال سازی در هر نورون بر روی خروجی آن تاثیر دارد.
5.پس انتشار خطا (Backpropagation): در این مرحله، خطا بین خروجی حقیقی شبکه و خروجی مورد انتظار محاسبه می شود. سپس، با استفاده از الگوریتم پسانتشار خطا (backpropagation algorithm)، خطا به عقب در شبکه منتشر می شود و وزن ها و بایاس ها بین نورون ها به طور مستقل تغییر داده می شوند. این فرآیند تکثیر خطا را در شبکه عصبی پس انتشار خطا گفته می شود.
6.خروجی (Output): پس از تغییرات در وزن ها و بایاس ها در فرآیند پس انتشار خطا، داده های جدید به صورت منطقی در لایه ی خروجی تولید میشود.
7.یادگیری: پس از بروز خطا یادگیری شبکه شروع میشود که با استفاده از الگوریتم پس انتشار خطا انجام میشود. این الگوریتم میتواند مقدار خطا نسبت به هر پارامتر موجود در شبکه که شامل وزن یا بایاس است را محاسبه کند، سپس تعیین میکند که مقدار هر وزن در این شبکه باید چه مقدار باشد.
کاربرد شبکه های عصبی پرسپترون چند لایه (MLP)
این شبکه یکی از مدلهای پرکاربرد در حوزه شبکههای عصبی مصنوعی است و در بسیاری از حوزهها کاربردهای متنوعی دارد. در زیر به برخی از کاربردهای این شبکه عصبی را در حوزههای مختلف اشاره خواهیم کرد:
- تشخیص الگو: شبکه MLP به خاطر قابلیت تشخیص الگو، در حوزه تشخیص الگو و پردازش سیگنالها استفاده میشود. به عنوان مثال، در تشخیص چهره، تشخیص خطا در سامانههای صنعتی و همچنین تحلیل سرمایۀ و بازار سرمایۀ.
- پردازش زبان طبیعی: این شبکه در حوزه پردازش زبان طبیعی نقش مؤثر و قابل توجه دارد. این شبکه علاوه بر استفاده خود از داده لغات، قادر به گسترش دامنه لغات است.
خلاصه مقاله
شبکه های عصبی پرسپترون چند لایه یکی از بهترین مدل ها برای یادگیری عمیق است. این شبکه از سه بخش لایه ورودی، لایه پنهان و لایه خروجی تشکیل شده است و علاوه بر این با یادگیری تحت نظارت خود آموزی را ایجاد میکند.