ANN

شبکه‌های عصبی مصنوعی (Artificial Neural Network – ANN) یا به زبان ساده‌تر شبکه‌های عصبی سیستم‌ها و روش‌های محاسباتی نوینی برای یادگیری ماشینی، نمایش دانش، و در انتها اعمال دانش به دست آمده در جهت پیش‌بینی پاسخ‌های خروجی ازسامانه‌های پیچیده هستند. ایدهٔ اصلی این گونه شبکه‌ها (تا حدودی) الهام‌گرفته از شیوهٔ کارکرد سیستم عصبی زیستی، برای پردازش داده‌ها و اطلاعات برای یادگیری و ایجاد دانش است. عنصر کلیدی این ایده، ایجاد ساختارهایی جدید برای سامانهٔ پردازش اطلاعات است. این سیستم از شمار زیادی عناصر پردازشی فوق‌العاده به‌هم‌پیوسته با نام نورون تشکیل شده که برای حل یک مسئله با هم هماهنگ عمل می‌کنند و توسط سیناپس‎ها (ارتباطات الکترومغناطیسی) اطلاعات را منتقل می‎کنند. در این شبکه‌ها اگر یک سلول آسیب ببیند بقیه سلول‎ها می‌توانند نبود آنرا جبران کرده، و نیز در بازسازی آن سهیم باشند. این شبکه‌ها قادر به یادگیری‎اند. مثلاً با اعمال سوزش به سلول‎های عصبی لامسه، سلول‎ها یاد می‌گیرند که به طرف جسم داغ نروند و با این الگوریتم سیستم می‌آموزد که خطای خود را اصلاح کند. یادگیری در این سیستم‎ها به صورت تطبیقی صورت می‌گیرد، یعنی با استفاده از مثال‎ها وزن سیناپس‎ها به گونه‌ای تغییر می‌کند که در صورت دادن ورودی‎های جدید، سیستم پاسخ درستی تولید کند.

توافق دقیقی بر تعریف شبکه عصبی در میان محققان وجود ندارد؛ اما اغلب آنها موافقند که شبکه عصبی شامل شبکه‎ای از عناصر پردازش ساده (نورون‌ها) است که می‌تواند رفتار پیچیده کلی تعیین شده‎ای از ارتباط بین عناصر پردازش و پارامترهای عنصر را نمایش دهد. منبع اصلی و الهام بخش برای این تکنیک، از آزمایش سیستم مرکزی عصبی و نورونها (آکسون‎ها، شاخه‌های متعدد سلولهای عصبی و محلهای تماس دو عصب) نشأت گرفته‌است که یکی از قابل توجه‎ترین عناصر پردازش اطلاعات سیستم عصبی را تشکیل می‎دهد. در یک مدل شبکه عصبی، گره‎های ساده (بطور گسترده «نورون»)، «نورون‌ها»، «PEها» (عناصر پردازش) یا واحدها برای تشکیل شبکه‎ای از گره‎ها، به هم متصل شده‌اند. به همین دلیل به آن «شبکه‎های عصبی» اطلاق می‎شود. در حالی که یک شبکه عصبی نباید به خودی خود سازگاری‌پذیر باشد، استفاده عملی از آن بواسطه الگوریتم‌هایی امکان‌پذیر است، که جهت تغییر وزن ارتباطات در شبکه (به منظور تولید سیگنال موردنظر) طراحی شده باشد.

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

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

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

 

تاریخچه شبکه‌های عصبی مصنوعی

از قرن نوزدهم به طور همزمان اما جداگانه از سویی نوروفیزیولوژیست‌ها سعی کردند سیستم یادگیری و تجزیه و تحلیل مغز را کشف کنند، و از سوی دیگر ریاضیدانان تلاش کردند تا مدل ریاضی بسازند، که قابلیت فراگیری و تجزیه و تحلیل عمومی مسائل را دارا باشد. اولین کوشش‎ها در شبیه‎سازی با استفاده از یک مدل منطقی توسط مک کلوک و والتر پیتز انجام شد که امروزه بلوک اصلی سازنده اکثر شبکه‌های عصبی مصنوعی است. این مدل فرضیه‌هایی در مورد عملکرد نورون‎ها ارائه می‌کند. عملکرد این مدل مبتنی بر جمع ورودی‎ها و ایجاد خروجی است. چنانچه حاصل جمع ورودی‎ها از مقدار آستانه بیشتر باشد اصطلاحاً نورون برانگیخته می‌شود. نتیجه این مدل اجرای توابع ساده مثل AND و OR بود.

نه تنها نوروفیزیولوژیست‌ها بلکه روان‎شناسان و مهندسان نیز در پیشرفت شبیه‎سازی شبکه‌های عصبی تأثیر داشتند. در سال ۱۹۵۸ شبکه پرسپترون توسط روزنبلات معرفی گردید. این شبکه نظیر واحدهای مدل شده قبلی بود. پرسپترون دارای سه لایه می‌باشد، به همراه یک لایه وسط که به عنوان لایه پیوند شناخته شده‌است. این سیستم می‌تواند یاد بگیرد که به ورودی داده شده خروجی تصادفی متناظر را اعمال کند. سیستم دیگر مدل خطی تطبیقی نورون می‌باشد که در سال ۱۹۶۰ توسط ویدرو و هاف (دانشگاه استنفورد) به وجود آمد که اولین شبکه‌های عصبی به کار گرفته شده در مسائل واقعی بودند. Adalaline یک دستگاه الکترونیکی بود که از اجزای ساده‌ای تشکیل شده بود، روشی که برای آموزش استفاده می‌شد با پرسپترون فرق داشت.

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

با وجود اینکه اشتیاق عمومی و سرمایه‎گذاری‎های موجود به حداقل خود رسیده بود، برخی محققان تحقیقات خود را برای ساخت ماشین‎هایی که توانایی حل مسائلی از قبیل تشخیص الگو را داشته باشند، ادامه دادند. از جمله گراسبگ که شبکه‌ای تحت عنوان Avalanch را برای تشخیص صحبت پیوسته و کنترل دست ربات مطرح کرد. همچنین او با همکاری کارپنتر شبکه‌های ART را بنا نهادند که با مدل‎های طبیعی تفاوت داشت. اندرسون و کوهونن نیز از اشخاصی بودند که تکنیک‎هایی برای یادگیری ایجاد کردند. ورباس در سال ۱۹۷۴ شیوه آموزش پس انتشار خطا را ایجاد کرد که یک شبکه پرسپترون چندلایه البته با قوانین نیرومندتر آموزشی بود.

پیشرفت‎هایی که در سال ۱۹۷۰ تا ۱۹۸۰ بدست آمد برای جلب توجه به شبکه‌های عصبی بسیار مهم بود. برخی فاکتورها نیز در تشدید این مسئله دخالت داشتند، از جمله کتاب‎ها و کنفرانس‎های وسیعی که برای مردم در رشته‌های متنوع ارائه شد. امروز نیز تحولات زیادی در تکنولوژی ANN ایجاد شده‌است.

 

زمینه

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

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

تعریف

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

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

دکمه بازگشت به بالا
Open chat
چطور می تونم کمکتون کنم ؟
چطور می تونم کمکتون کنم ؟