پرسپترون‌های چندلایه در یادگیری ماشین

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

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

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

آنچه خواهید آموخت

در این پست وبلاگ، شما با مفاهیم کلیدی زیر آشنا خواهید شد:

·       اصول اولیه شبکه‌های عصبی و چگونگی ساختار آن‌ها.

·       تفاوت بین شبکه‌های عصبی مصنوعی و شبکه‌های عصبی زیستی.

·       اهمیت شبکه‌های عصبی در یادگیری ماشین.

·       مروری بر انواع مختلف شبکه‌های عصبی، از جمله شبکه‌های عصبی پیش‌خور، شبکه‌های عصبی بازگشتی، شبکه‌های عصبی پیچشی و موارد دیگر.

·       بررسی جزئیات پرسیپترون‌های چندلایه (MLP) و نحوه عملکرد آن‌ها.

 

نورون زیستی در مقابل شبکه عصبی مصنوعی منبع  ResearchGate
نورون زیستی در مقابل شبکه عصبی مصنوعی منبع ResearchGate

مبانی شبکه‌های عصبی (مبانی شبکه‌های عصبی)

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

 این شبکه معمولاً به سه نوع لایه تقسیم می‌شود:

لایه ورودی (لایه ورودی):

 لایه‌ای که در آن داده‌ها به شبکه وارد می‌شوند. هر نورون در این لایه نشان‌دهنده یک ویژگی یا بُعد از داده‌های ورودی است.

لایه‌های مخفی (لایه‌های مخفی):

لایه‌ای در یک شبکه عصبی که بین لایه ورودی (ویژگی‌ها) و لایه خروجی (پیش‌بینی) قرار دارد. هر لایه مخفی شامل یک یا چند نورون است. به عنوان مثال، شبکه عصبی زیر شامل دو لایه مخفی است؛ اولین لایه دارای سه نورون و دومین لایه دارای دو نورون است:

یک شبکه عصبی عمیق شامل بیش از یک لایه مخفی است. به عنوان مثال، تصویر قبلی یک شبکه عصبی عمیق را نشان می‌دهد زیرا مدل دارای دو لایه مخفی است.1
یک شبکه عصبی عمیق شامل بیش از یک لایه مخفی است. به عنوان مثال، تصویر قبلی یک شبکه عصبی عمیق را نشان می‌دهد زیرا مدل دارای دو لایه مخفی است. 1

لایه خروجی (لایه خروجی):

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

یک شبکه عصبی عمیق شامل بیش از یک لایه مخفی است. به عنوان مثال، تصویر قبلی یک شبکه عصبی عمیق را نشان می‌دهد زیرا مدل دارای دو لایه مخفی است.2
یک شبکه عصبی عمیق شامل بیش از یک لایه مخفی است. به عنوان مثال، تصویر قبلی یک شبکه عصبی عمیق را نشان می‌دهد زیرا مدل دارای دو لایه مخفی است.2

نورون

در یادگیری ماشین، یک واحد مجزا در یک لایه مخفی از شبکه عصبی است. هر نورون دو مرحله زیر را انجام می‌دهد:

محاسبه مجموع وزنی مقادیر ورودی که در وزن‌های مربوطه‌شان ضرب شده‌اند.

انتقال مجموع وزنی به عنوان ورودی به یک تابع فعال‌سازی.

یک نورون در اولین لایه مخفی ورودی‌ها را از مقادیر ویژگی‌ها در لایه ورودی دریافت می‌کند. یک نورون در هر لایه مخفی بعدی ورودی‌ها را از نورون‌های لایه مخفی قبلی دریافت می‌کند. به عنوان مثال، یک نورون در لایه مخفی دوم ورودی‌ها را از نورون‌های لایه مخفی اول دریافت می‌کند.

تصویر زیر دو نورون و ورودی‌های آن‌ها را برجسته می‌کند.

دو نورون و ورودی‌های آن‌ها
دو نورون و ورودی‌های آن‌ه

اما اگر یک لایه دیگر به شبکه اضافه کنیم، بین لایه ورودی و لایه خروجی؟ در اصطلاح شبکه‌های عصبی، لایه‌های اضافی بین لایه ورودی و لایه خروجی را لایه‌های مخفی می‌نامند و گره‌های این لایه‌ها نورون نامیده می‌شوند.

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

انواع شبکه‌های عصبی (انواع شبکه‌های عصبی)

شبکه‌های عصبی مصنوعی (ANN) به اشکال مختلفی وجود دارند که هر یک برای انجام وظایف خاص و نیازهای معماری متفاوت طراحی شده‌اند. در زیر برخی از رایج‌ترین انواع شبکه‌های عصبی آورده شده است:

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

Feedforward Neural Networks (FNN)

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

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

شبکه‌های عصبی بازگشتی

Recurrent Neural Networks (RNN)

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

RNN vs FNN
RNN vs FNN

شبکه‌های عصبی پیچشی

Convolutional Neural Networks (CNN)

شبکه‌های عصبی پیچشی از داده‌های سه‌بعدی برای وظایف طبقه‌بندی تصاویر و تشخیص اشیاء استفاده می‌کنند.

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

Convolutional Neural Networks (CNN)
Convolutional Neural Networks (CNN)
تشخیص اشیاء از کاربردهای شبکه‌های عصبی پیچشی
تشخیص اشیاء از کاربردهای شبکه‌های عصبی پیچشی

شبکه‌های حافظه بلند مدت کوتاه‌مدت و واحدهای بازگشتی محدود

Long Short-Term Memory Networks (LSTM) and Gated Recurrent Units (GRU)

LSTM‌ها و GRU‌ها انواع خاصی از شبکه‌های بازگشتی هستند که به مشکل گرادیان ناپدید شونده رسیدگی می‌کنند. آن‌ها مکانیسم‌های گیتینگ را در خود جای داده‌اند تا بهتر بتوانند وابستگی‌های بلندمدت در داده‌های توالی‌دار را به دست آورند، که آن‌ها را برای وظایفی مانند تشخیص گفتار، ترجمه ماشینی و تحلیل احساسات به‌خصوص مؤثر می‌سازد.

LSTM و GRU به عنوان راه‌حلی برای مشکل حافظه کوتاه‌مدت ایجاد شدند. آن‌ها دارای مکانیزم‌های داخلی به نام گیت‌ها هستند که می‌توانند جریان اطلاعات را تنظیم کنند.
LSTM و GRU به عنوان راه‌حلی برای مشکل حافظه کوتاه‌مدت ایجاد شدند. آن‌ها دارای مکانیزم‌های داخلی به نام گیت‌ها هستند که می‌توانند جریان اطلاعات را تنظیم کنند.
LSTM و GRU به عنوان راه‌حلی برای مشکل حافظه کوتاه‌مدت ایجاد شدند. آن‌ها دارای مکانیزم‌های داخلی به نام گیت‌ها هستند که می‌توانند جریان اطلاعات را تنظیم کنند.2
LSTM و GRU به عنوان راه‌حلی برای مشکل حافظه کوتاه‌مدت ایجاد شدند. آن‌ها دارای مکانیزم‌های داخلی به نام گیت‌ها هستند که می‌توانند جریان اطلاعات را تنظیم کنند. 2

LSTM و GRU به عنوان راه‌حلی برای مشکل حافظه کوتاه‌مدت ایجاد شدند. آن‌ها دارای مکانیزم‌های داخلی به نام گیت‌ها هستند که می‌توانند جریان اطلاعات را تنظیم کنند.

اتواینکودرها

Autoencoders

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

اتواینکودرها
اتواینکودره

شبکه‌های مولد رقابتی

Generative Adversarial Networks (GAN):

GAN‌ها شامل دو شبکه عصبی هستند - یک تولیدکننده و یک تفکیک‌کننده - که به طور همزمان در یک چارچوب رقابتی آموزش می‌بینند. تولیدکننده یاد می‌گیرد نمونه‌های داده مصنوعی ایجاد کند، در حالی که تفکیک‌کننده یاد می‌گیرد که بین نمونه‌های واقعی و جعلی تمایز قائل شود. GAN‌ها به طور گسترده برای تولید تصاویر، ویدئوها و انواع دیگر داده‌های مصنوعی واقع‌گرایانه استفاده شده‌اند.

Generative Adversarial Networks (GAN):
Generative Adversarial Networks (GAN):

شبکه‌های عصبی ترانسفورمر

Transformer Neural Networks

حقیقت این است که شبکه‌های عصبی بازگشتی (RNN) کند هستند و زمان زیادی برای آموزش نیاز دارند.

آن‌ها در برخورد با داده‌های دنباله‌ای بزرگ چندان خوب عمل نمی‌کنند و منجر به مشکل ناپدید شدن گرادیان‌ها می‌شوند. LSTM‌ها که برای ایجاد حافظه در RNN معرفی شدند، حتی کندتر نیز آموزش می‌بینند.

برای هر دو مدل RNN و LSTM، نیاز داریم داده‌ها را به صورت دنباله‌ای یا سریالی تغذیه کنیم. این کار استفاده از GPU‌ها را بهینه نمی‌کند.

چگونه می‌توان آموزش روی داده‌های دنباله‌ای را موازی‌سازی کرد؟

پاسخ ترانسفورمرها است.

این شبکه‌ها از ساختار کدگذار-رمزگشا استفاده می‌کنند با این تفاوت که داده‌های ورودی می‌توانند به صورت موازی منتقل شوند.

در ساختار RNN، یک کلمه در هر لحظه از طریق لایه ورودی عبور داده می‌شد. اما در ترانسفورمرها، مفهومی از زمان‌بندی برای عبور دادن ورودی وجود ندارد. ما کل جمله را به طور کامل تغذیه می‌کنیم و جاسازی‌ها (embeddings) برای همه کلمات به صورت همزمان دریافت می‌شود.

در مورد شبکه‌های عصبی ترانسفورمر در بلاگ های بعدی بیشتر میخوانیم.

تبدیل توالی: ورودی با رنگ سبز نشان داده شده است، مدل با رنگ آبی نشان داده شده است، و خروجی با رنگ بنفش نمایش داده شده است.
تبدیل توالی: ورودی با رنگ سبز نشان داده شده است، مدل با رنگ آبی نشان داده شده است، و خروجی با رنگ بنفش نمایش داده شده است.

  پرسیپترون چندلایه (MLP)

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

 Example of an MLP with two hidden layers.
 Example of an MLP with two hidden layers.

لایه ورودی: لایه ورودی شامل گره‌هایی است که داده‌های اولیه ورودی را دریافت می‌کنند. هر گره نمایانگر یک ویژگی یا بُعد از داده‌های ورودی است.

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

لایه خروجی: لایه نهایی که خروجی شبکه را تولید می‌کند. تعداد نورون‌ها در این لایه بستگی به وظیفه خاص دارد، مانند طبقه‌بندی دودویی، طبقه‌بندی چندگانه یا رگرسیون.

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

خلاصه

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

پینوشت

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

 

راه‌های ارتباط:

ایمیل   b.farahmand@binaexperts.com 

لینکدین : https://www.linkedin.com/in/bita-farahmand-58363a232/

توییتر:      BitaBloom@

 

مرکز داده‌ها (ویترین)

مرکز داده‌ها

با کاوش در مجموعه‌ای گسترده از داده‌ها، پروژه‌ها و تحقیقات خود را ارتقاء دهید.

پلتفرم بینایی ماشین بینااکسپرتز

ورود به برنامه ثبت نام در برنامه