پرسپترون چندلایه
پرسپترون چند لایه، (به انگلیسی: Multilayer perceptron) دسته ای از شبکههای عصبی مصنوعی پیشخور است. یک MLP شامل حداقل سه لایه گره است: یک لایه ورودی، یک لایه پنهان و یک لایه خروجی. به جز گرههای ورودی، هر گره یک نورون است که از یک تابع فعالسازی غیر خطی استفاده میکند.MLP از تکنیک یادگیری نظارت شده به نام بازپرداخت برای آموزش استفاده میکند. لایههای متعدد آن و فعالسازی غیر خطی آن MLP را از یک پرسپترون خطی متمایز میکند. در واقع میتواند دادههایی را متمایز کند که به صورت خطی قابلتفکیک نیستند.
نظریه
تابع فعالسازی
اگر یک پرسپترون چند لایه، تابع فعالسازی خطی در تمام نورونها داشته باشد، در واقع با این تابع خطی ورودیهای وزن دار هر نورون را ترسیم میکند. سپس با استفاده از جبر خطی نشان میدهد که هر عددی مربوط به لایهها را میتوان به یک مدل ورودی - خروجی دو لایه کاهش داد. در MLP، برخی از نورونها از یک تابع فعال غیرخطی استفاده میکنند که برای مدلسازی فرکانس پتانسیلهای عمل یا شلیک نورونهای بیولوژیکی توسعه داده شدهاست.
دو تابع فعال، که هردو تابع سیگمویید هستند، توسط عبارت زیر توصیف میشوند:
اولین جمله، تابع تانژانت هایپربولیک است که بین منفی یک تا یک تغییر میکند و بقیه تابع لجستیک هستند که متغیر بین ۰ تا یک است.
لایهها
MLP شامل سه یا تعداد بیشتری از لایهها است که از گرههای غیرخطی فعال کننده هستند. از آنجا که MLPها بهطور کامل متصل شدهاند، هر گره در یک لایه با وزن مشخص
یادگیری
یادگیری در شبکه عصبی با تغییر وزن اتصال پس از پردازش هر قطعه از دادهها، براساس میزان خطا در خروجی در مقایسه با نتیجه مورد انتظار رخ میدهد. این نمونه که از یادگیری با نظارت و از طریق بازگشت به عقب و تعمیم الگوریتم حداقل مربعات در پرسپترون خطی انجام میشود. خطای موجود در گره خروجی
با استفاده از گرادیان، تغییر در وزن به صورت زیر است:
که در آن
که در آن
این بستگی به تغییر در وزن گرههای k دارد که لایه خروجی را نشان میدهند؛ بنابراین برای تغییر وزنهای لایه پنهان، لایه خروجی با توجه به مشتق تابع فعالسازی تغییر میکند، و بنابراین این الگوریتم تابعی از تابع فعالسازی را نشان میدهد.
اصطلاحات
دقت کنید که عبارت «پرسپترون چند لایه» به یک پرسپترون منفرد اشاره نمیکند که دارای چندین لایه میباشد. بلکه شامل بسیاری از پرسپترونها است که در چند لایه سازمان دهی شدهاند. یک جایگزین در واقع «شبکه پرسپترون چند لایه» است. پروپسترونها یک مورد خاص از نورونهای مصنوعی هستند که از تابع فعالسازی آستانه مانندتابع پلهای هویساید استفاده میکنند. پروپسترونهای MLP میتواند توابع فعالسازی دلخواه را بکار گیرد. یک پروپسترون حقیقی طبقهبندی باینری را انجام میدهد (یا این یا آن)، یک نورون MLP آزاد است که طبق تابع فعال سازی، یا طبقهبندی یا رگرسیون، آن را انجام دهد. واژه «پرسپترون چند لایه» بعداً بدون توجه به ماهیت گرهها و لایهها بکار گرفته شد که میتواند متشکل از نورونهای مصنوعی تعریفشده باشد. این تفسیر از سست شدن تعریف «پرسپترون» در حالت کلی جلوگیری میکند.
برنامهها
MLPها در پژوهش برای توانایی در حل مسائل مفید هستند، که اغلب اجازه راهحلهای تقریبی برای مشکلات بسیار پیچیده مانند تخمین تناسب اندام را میدهد.MLPها توابع جهانی هستند که توسط قضیه سایبنکو نشان داده میشود، بنابراین میتوان از آنها برای ایجاد مدلهای ریاضی از طریق تحلیل رگرسیون استفاده کرد. از آنجا که طبقهبندی نمونه خاصی از رگرسیون است، هنگامی که متغیر پاسخ، قطعی است،MLP الگوریتم طبقهبندی کننده خوبی را ایجاد میکند.MLP یک راهحل یادگیری ماشین عمومی در دهه ۱۹۸۰ بود، که کار آن پیدا کردن کاربرد در زمینههای مختلف مانند بازشناسی گفتار، بینایی رایانه ای، و نرمافزار ترجمه ماشینی بود اما از آن پس ازآن با رقابت قوی تری از ماشینهای بردار پشتیبان بسیار سادهتر (و مرتبط) روبرو شدند.