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

Persia1

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


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


پیدایش شبکه‌های عصبی مصنوعی​

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

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


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

لپ تاپ با شبکه ای مشابه شبکه‌های عصبی در اطراف آن


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

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

از چند دهه گذشته که رایانه‌ها امکان پیاده‌سازی الگوریتم‌های محاسباتی را فراهم ساخته‌اند، در راستای شبیه‌سازی رفتار محاسباتی مغز انسان، کارهای پژوهشی بسیاری از سوی متخصصین علوم رایانه، مهندسین و همچنین ریاضی‌دان‌ها شروع شده است، که نتایج کار آن‌ها، در شاخه‌ای از علم هوش مصنوعی و در زیر‌شاخه هوش محاسباتی تحت عنوان موضوع «شبکه‌های عصبی مصنوعی» یا Artificial Neural Networks (به اختصار: ANNs) طبقه‌بندی شده است. در مبحث شبکه‌های عصبی مصنوعی، مدل‌های ریاضی و نرم‌افزاری متعددی با الهام گرفتن از مغز انسان پیشنهاد شده‌اند، که برای حل گستره وسیعی از مسائل علمی، مهندسی و کاربردی، در حوزه های مختلف کاربرد دارند.

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


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

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


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

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

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


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

آموزش شبکه های عصبی در متلب – مرور و حل مساله


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

نگاهی به فرایند یادگیری در مغز انسان نیز نشان می‌دهد که در واقع ما نیز در مغزمان فرایندی مشابه را تجربه می‌کنیم و همه مهارت‌ها، دانسته‌ها و خاطرات ما، در اثر تضعیف یا تقویت ارتباط میان سلول‌های عصبی مغز شکل می‌گیرند. این تقویت و تضعیف در زبان ریاضی، خود را به صورت تنظیم یک پارامتر (موسوم به وزن یا Weight) مدل‌سازی و توصیف می‌کند.



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

 

Persia1

مدیر تالار زبان انگلیسی
مدیر تالار

پرسپترون چند‌لایه یا MLP​


یکی از پایه‌ای‌ترین مدل‌های عصبی موجود، مدل پرسپترون چند لایه یا Multi-Layer Perceptron (به اختصار MLP) است که عملکرد انتقالی مغز انسان را شبیه‌سازی می‌کند. در این نوع شبکه عصبی، بیشتر رفتار شبکه‌ای مغز انسان و انتشار سیگنال در آن مد نظر بوده است و از این رو، گهگاه با نام شبکه‌های پیش‌خورد (Feedforward Networks) نیز خوانده می‌شوند.

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


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


شبکه‌های عصبی شعاعی یا RBF​

مشابه الگوی شبکه‌های عصبی MLP، نوع دیگری از شبکه‌های عصبی وجود دارند که در آن‌ها، واحدهای پردازنده، از نظر پردازشی بر موقعیت خاصی متمرکز هستند. این تمرکز، از طریق توابع شعاعی یا Radial Basis Functions (به اختصار RBF) مدل‌سازی می‌شود.


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


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


ماشین‌های بردار پشتیبان یا SVM​

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

نگاشت‌های خود‌سازمان‌ده یا SOM​

شبکه عصبی کوهونن (Kohonen) یا نگاشت خود‌سازمان‌ده و یا Self-Organizing Map (به اختصار SOM) نوع خاصی از شبکه عصبی است که از نظر شیوه عملکرد، ساختار و کاربرد، کاملاً با انواع شبکه عصبی که پیش از این مورد بررسی قرار گرفتند، متفاوت است. ایده اصلی نگاشت خود‌سازمان‌ده، از تقسیم عملکردی ناحیه قشری مغز، الهام گرفته شده است و کاربرد اصلی آن در حل مسائلی است که به مسائل «یادگیری غیر نظارت شده» معروف هستند. در واقع کارکرد اصلی یک SOM، در پیدا کردن شباهت‌ها و دسته‌های مشابه در میان انبوهی از داده‌هایی است که در اختیار آن قرار گرفته است. این وضعیت مشابه کاری است که قشر مغز انسان انجام می‌دهد و انبوهی از ورودی‌های حسی و حرکتی به مغز را در گروه‌های مشابهی طبقه‌بندی (یا بهتر است بگوییم خوشه‌بندی) کرده است.


یادگیرنده رقمی‌ساز بردار یا LVQ​

این نوع خاص شبکه عصبی، تعمیم ایده شبکه‌های عصبی SOM برای حل مسائل یادگیری نظارت شده است. از طرفی شبکه عصبی LVQ (یا Learning Vector Quantization)، می‌تواند به این صورت تعبیر شود که گویا شبکه عصبی MLP با یک رویکرد متفاوت، کاری را که باید انجام بدهد یاد می‌گیرد.

اصلی‌ترین کاربرد این نوع شبکه عصبی در حل مسائل طبقه‌بندی است که گستره وسیعی از کاربردهای سیستم‌های هوشمند را پوشش می‌دهد.

آموزش طبقه بندی و بازشناسی الگو با شبکه های عصبی LVQ در متلب MATLAB

شبکه عصبی هاپفیلد یا Hopfield​

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

مراجع مطالعاتی و منابع آموزشی مهم​

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

مجموعه آموزش شبکه‌ های عصبی مصنوعی – مقدماتی تا پیشرفته

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

کتاب‌های خارجی​


Neural Networks and Learning Machines
عنوان: Neural Networks and Learning Machines
ترجمه عنوان: شبکه‌های عصبی و ماشین‌های یادگیر
مولف: Simon S. Haykin
سال چاپ: 2009
انتشارات: Prentice Hall
Neural Networks and Statistical Learning
عنوان: Neural Networks and Statistical Learning
ترجمه عنوان: شبکه‌های عصبی و یادگیری آماری
مولفین: Ke-Lin Du, M. N. S. Swamy
سال چاپ: 2013
انتشارات: Springer Science & Business Media
Machine Learning: A Probabilistic Perspective
عنوان: Machine Learning: A Probabilistic Perspective
ترجمه عنوان: یادگیری ماشین از دیدگاه احتمالاتی
مولف: Kevin P. Murphy
سال چاپ: 2012
انتشارات: MIT Press
Machine Learning: The Art and Science of Algorithms that Make Sense of Data
عنوان: Machine Learning: The Art and Science of Algorithms that Make Sense of Data
ترجمه عنوان: یادگیری ماشین: علم و هنر الگوریتم‌هایی که داده‌ها را ملموس می‌کنند
مولف: Peter Flach
سال چاپ: 2012
انتشارات: Cambridge University Press
Pattern Recognition and Machine Learning
عنوان: Pattern Recognition and Machine Learning
ترجمه عنوان: بازشناسی الگو و یادگیری ماشین
مولف: Christopher M. Bishop
سال چاپ: 2006
انتشارات: Springer

کتاب‌های فارسی​

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