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

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

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

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

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

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

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

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

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

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

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

 

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Neural Networks and Learning Machines عنوان: Neural Networks and Learning Machines
ترجمه عنوان: شبکه های عصبی و ماشین های یادگیر
مولف: Simon S. Haykin
سال چاپ: ۲۰۰۹
انتشارات: Prentice Hall
لینک دسترسی: لینک
Neural Networks and Learning Machines عنوان: Neural Networks and Statistical Learning
ترجمه عنوان: شبکه های عصبی و یادگیری آماری
مولفین: Ke-Lin Du, M. N. S. Swamy
سال چاپ: ۲۰۱۳
انتشارات: Springer Science & Business Media
لینک دسترسی: لینک
Machine Learning: A Probabilistic Perspectiv عنوان: Machine Learning: A Probabilistic Perspective
ترجمه عنوان: یادگیری ماشین از دیدگاه احتمالاتی
مولف: Kevin P. Murphy
سال چاپ: ۲۰۱۲
انتشارات: 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
سال چاپ: ۲۰۱۲
انتشارات: Cambridge University Press
لینک دسترسی: لینک
 Pattern Recognition and Machine Learning عنوان: Pattern Recognition and Machine Learning
ترجمه عنوان: بازشناسی الگو و یادگیری ماشین
مولف: Christopher M. Bishop
سال چاپ: ۲۰۰۶
انتشارات: Springer
لینک دسترسی: لینک

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

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

 

منابع آموزشی آنلاین

 مجموعه فرادرس های شبکه های عصبی مصنوعی در متلب عنوان: مجموعه فرادرس های شبکه های عصبی مصنوعی در متلب
مدرس: دکتر سیدمصطفی کلامی هریس
مدت زمان: ۲۷ ساعت
نحوه استفاده: دریافت به صورت لینک دانلود و بر روی DVD
زبان: فارسی
نحوه آموزش: تئوری و عملی
ارائه دهنده: سازمان علمی-آموزشی فرادرس
لینک دسترسی: لینک
مجموعه فرادرس های کاربردی شبکه های عصبی مصنوعی عنوان: مجموعه فرادرس های کاربردی شبکه های عصبی مصنوعی
مدرس: دکتر اسماعیل آتشپز گرگری
مدت زمان: ۸ ساعت
نحوه استفاده: دریافت به صورت لینک دانلود و بر روی DVD
زبان: فارسی
نحوه آموزش: تئوری و عملی
ارائه دهنده: سازمان علمی-آموزشی فرادرس
لینک دسترسی: لینک
Machine Learning عنوان: Machine Learning
ترجمه عنوان: یادگیری ماشین
مدرس: Andrew Ng
دانشگاه: استنفورد
مدت زمان: ۲۱ ساعت
نحوه استفاده: شرکت به صورت آنلاین
زبان: انگلیسی
نحوه آموزش: تئوری
ارائه دهنده: Coursera
لینک دسترسی: لینک
Neural Networks for Machine Learning عنوان: Neural Networks for Machine Learning
ترجمه عنوان: شبکه های عصبی برای یادگیری ماشین
مدرس: Geoffrey Hinton
دانشگاه: تورنتو
مدت زمان: ۲۵ ساعت
نحوه استفاده: شرکت به صورت آنلاین
زبان: انگلیسی
نحوه آموزش: تئوری
ارائه دهنده: Coursera
لینک دسترسی: لینک
Intro to Machine Learning عنوان: Intro to Machine Learning
ترجمه عنوان: مقدمه ای بر یادگیری ماشین
مدرس: Sebastian Thrun
مدت زمان: ۳۰ ساعت
نحوه استفاده: شرکت به صورت آنلاین
زبان: انگلیسی
نحوه آموزش: تئوری
ارائه دهنده: Udacity
لینک دسترسی: لینک

 

3 پاسخ
  1. بازدید کننده
    بازدید کننده says:

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

    پاسخ دادن

ارسال یک پاسخ

در گفتگو ها شرکت کنید.

پاسخ دهید

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