مدار عصبی: تفاوت میان نسخه‌ها

محتوای حذف‌شده محتوای افزوده‌شده
بدون خلاصۀ ویرایش
تمیزکاری شدید
خط ۶۹:
 
برای مدت‌ها باور بر این بود که سلول‌های Glial تأثیری در سیستم neuroTransmission " انتقال عصبی " ندارند ولی یافته‌های neuroscience در قرن ۲۱ تشخیص دادند که این سلول‌ها در بخش‌هایی از فرایندهای فیزیولوژیکی خاصی شبیه تنفس تأثیر گذارند و همچنین به نورون‌ها در ایجاد ارتباطات سیناپس بین یکدیگر کمک می‌کنند.
 
== معرفی شبکه عصبی مصنوعی ==
شبکه عصبی مصنوعی یک سامانه پردازشی داده‌ها است که از مغز انسان ایده گرفته و [[پردازش داده‌ها]] را به عهدهٔ پردازنده‌های کوچک و بسیار زیادی سپرده که به صورت شبکه‌ای به هم پیوسته و موازی با یکدیگر رفتار می‌کنند تا یک مسئله را حل نمایند.
در این شبکه‌ها به کمک دانش [[برنامه‌نویسی]]، [[ساختار داده‌ای]] طراحی می‌شود که می‌تواند همانند نورون عمل کند؛ که به این ساختارداده نورون گفته می‌شود. بعد باایجاد شبکه‌ای بین این نورونها و اعمال یک الگوریتم آموزشی به آن، شبکه را آموزش می‌دهند.
[[پرونده:Colored neural network.svg|thumb|346x346px|یک شبکه عصبی مصنوعی گروهی به هم پیوسته از گره‌ها هستند شبیه به شبکه‌های گسترده نرون‌های درون مغز. در اینجا هر دایره نشان دهنده یک سلول عصبی نورون هست و پیکان‌ها نشان دهنده ارتباط خروجی یک نورون به ورودی نورون دیگه هست]]
در این حافظه یا شبکهٔ عصبی نورونها دارای دو حالت فعال (روشن یا ۱) و غیرفعال (خاموش یا ۰) اند و هر یال (سیناپس یا ارتباط بین گره‌ها) دارای یک وزن می‌باشد. یال‌های با وزن مثبت، موجب تحریک یا فعال کردن گره غیرفعال بعدی می‌شوند و یال‌های با وزن منفی، گره متصل بعدی را غیرفعال یا مهار (در صورتی که فعال بوده باشد) می‌کنند.
 
=== تحقیقات اخیر ===
'''در تاریخ Dec 17, 2009''' ابرکامپیوتر شرکت IBM در آمریکا توانست در حدود billion 1 (میلیارد) نورون را با حدود 10 trillion سیناپس مصنوعی شبیه‌سازی کند که نشان دهنده این واقعیت هست که نورون‌های مصنوعی به سیستم‌های قدرتمندی برای اجرا نیاز دارند و برای شبیه‌سازی مغز انسان احتمالاً به [[رایانه کوانتومی|کامپیوتر کوانتومی]] نیاز خواهد بود. همچنین با دانستن این موضوع که مورچه ۲۵۰٬۰۰۰ نورون و زنبور در حدود ۹۶۰٬۰۰۰ و گربه ۷۶۰٬۰۰۰٬۰۰۰ نورون و در حدود 10<sup>13</sup> سیناپس دارد می‌شود نتیجه گرفت که با ابرکاپیوترهای کنونی تا حدودی بتوان این موجودات را شبیه‌سازی کرد. ([[:en:List of animals by number of neurons|لیست موجودات مختلف بر اساس تعداد نورون‌ها و سیناپس‌ها]]) [http://www.popularmechanics.com/technology/engineering/extreme-machines/4337190 <nowiki>[5.1]</nowiki>]
 
'''در تاریخ Dec 9, 2014''' شرکت IBM از تراشه SyNAPSE خود رونمایی کرد. این چیپ که با سرمایه‌گذاری DARPA (سازمان پروژه‌های تحقیقاتی پیشرفتهٔ دفاعی ایالت متحده) به بهره‌برداری رسیده، به گونه‌ای طراحی شده که فعالیت‌های مغز انسان را شبیه‌سازی کند و به طور کلی از چارچوب منطق بولین و باینری خارج شود. این تراشه متشکل از ۱ میلیون نورون مجازی است که با استفاده از ۲۵۶ میلیون سیناپس مجازی به یکدیگر متصل شده‌اند. سیناپس بزرگ‌ترین تراشه‌ای است که شرکت IBM تاکنون تولید کرده است، چراکه در آن ۵٫۴ میلیارد ترانزیستور استفاده شده است. همچنین مجموعهٔ ترانزیستورهای مورد استفاده متشکل از ۴٫۰۹۶ هستهٔ neuroSynaptic است که روی تراشه قرار گرفته‌اند. مصرف این تراشه تنها ۷۰ میلی‌وات mW است که در مقایسه با تراشه‌های کنونی بسیار کمتر است. [[:en:List of CPU power dissipation figures|List of CPU power dissipation figures]] از نظر مقیاس، تراشهٔ سیناپس برابر با مغز یک زنبور عسل است و تعداد نئورون‌ها و سیناپس‌های مورد استفاده با آن برابری می‌کند، با این وجود این تراشه بسیار ضعیف‌تر از مغز انسان‌ها است. مغز هر انسان از حدود ۸۶ میلیارد نورون و ۱۰۰ تریلیوین سیناپس تشکیل شده است. البته تیم توسعهٔ SyNAPSE نشان داده که می‌توان با اتصال تراشه‌های سیناپس به یکدیگر، تراشهٔ بزرگ‌تر و قوی‌تری ساخت.
 
در حال حاضر IBM موفق شده یک بورد قابل برنامه‌ریزی و کارآمد با استفاده از ۱۶ عدد چیپ SyNAPSE ایجاد نماید که همگی در هماهنگی کامل با یکدیگر فعالیت می‌کنند. این بورد نمایانگر قدرت ۱۶ میلیون نورون است که بنا بر گفتهٔ محققان این پروژه، در پردازش سنتی با استفاده از تعداد زیادی رک (مکان قرارگیری چندین کامپیوتر پر قدرت بزرگ) و مجموعه‌های عظیم کامپیوتری قابل دستیابی بود؛ و با وجود مجتمع نمودن ۱۶ چیپ در یک سیستم، باز هم با مصرف نیروی به شدت پایینی روبرو هستیم که در نتیجهٔ آن حرارت بسیار پایین‌تری نیز تولید می‌شود. در حقیقت چیپ SyNAPSE جدید آنچنان انقلابی بوده و دنیای پردازش را از نگرش دیگری نمایان می‌سازد که IBM مجبور شده برای همراهی با توسعهٔ آن به ایجاد یک زبان برنامه‌نویسی جدید بپردازد و یک برنامهٔ آموزشی گستردهٔ اطلاع‌رسانی تحت نام دانشگاه SyNAPSE راه‌اندازی کند.[http://www.zoomit.ir/2014/8/10/13168/ibm-synapse-supercomputing-chip/][https://www.theguardian.com/technology/2014/dec/09/synapse-ibm-neural-computing-chip]
 
'''در تاریخ March 16, 2016''' شرکت Google بخش [[:en:Google DeepMind|DeepMind]] توانست توسط هوش مصنوعی خود قهرمان جهان را در بازی GO (شطرنج چینی با قدمتی بیش از ۲۵۰۰ سال) با نتیجه ۴ به ۱ شکست دهند که این دستاورد بزرگی برای هوش مصنوعی بود. گوگل در این هوش مصنوعی از تکنولوژی [[یادگیری عمیق|Deep Learning]] و [[حافظه کوتاه‌مدت|short-term memory]] بهره برده است و این سیستم به نوعی مشابه [[:en:Turing Machine|Turing Machine]] هست اما به صورت end-to-end دارای تفاوت‌های قابل تشخیص می‌باشد و این تکنولوژی‌ها به اون اجازه داده است که با [[:en:Gradient descent|gradient descent]] به صورت مؤثری قابل تعلیم باشد. در DeepMind محققان گوگل مجموعه‌ای از حرکت‌های بهترین بازکنان گو را که شامل بیش از ۳۰ میلیون حرکت است، جمع‌آوری کرده و سیستم هوش مصنوعی مبتنی بر یادگیری عمیق خود را با استفاده از این حرکات آموزش داده‌اند تا از این طریق آلفاگو قادر باشد به تنهایی و براساس تصمیمات خود به بازی بپردازد. همچنین دانشمندان برای بهبود هر چه بیشتر این سیستم راه‌حل تقابل هوش مصنوعی توسعه یافته با خودش را در پیش گرفتند؛ با استفاده از این روش، دانشمندان موفق شدند تا حرکات جدیدی را نیز ثبت کنند و با استفاده از این حرکات آموزش هوش مصنوعی را وارد مرحلهٔ جدیدتری نمایند. چنین سیستمی قادر شده تا بهترین بازیکن اروپا و جهان را شکست دهد. بزرگ‌ترین نتیجهٔ توسعهٔ آلفاگو، عدم توسعهٔ این سیستم با قوانین از پیش تعیین شده است. در عوض این سیستم از روش‌های مبتنی بر یادگیری ماشین و شبکه عصبی توسعه یافته و تکنیک‌های برد در بازی گو را به خوبی یادگرفته و حتی می‌تواند تکنیک‌های جدیدی را ایجاد و در بازی اعمال کند. کریس نیکولسون، مؤسس استارت آپ Skymind که در زمینهٔ تکنولوژی‌های یادگیری عمیق فعالیت می‌کند، در این خصوص این چنین اظهار نظر کرده است: " از سیستم‌های مبتنی بر شبکهٔ عصبی نظیر آلفاگو می‌توان در هر مشکل و مسئله‌ای که تعیین استراتژی برای رسیدن به موفقیت اهمیت دارد، استفاده کرد. کاربردهای این فناوری می‌تواند از اقتصاد، علم یا جنگ گسترده باشد. "
 
اهمیت برد آلفاگو :در ابتدای سال ۲۰۱۴ میلادی، برنامهٔ هوش مصنوعی Coulom که Crazystone نام داشت موفق شد در برابر نوریموتو یودا، بازیکن قهار این رشتهٔ ورزشی پیروز شود؛ اما موضوعی که باید در این پیروزی اشاره کرد، انجام ۴ حرکت پی در پی ابتدایی در این رقابت توسط برنامهٔ هوش مصنوعی توسعه یافته بود که برتری بزرگی در بازی گو به شمار می‌رود. در آن زمان Coulom پیش‌بینی کرده بود که برای غلبه بر انسان، نیاز به ''یک بازهٔ زمانی یک دهه‌ای'' است تا ماشین‌ها بتوانند پیروز رقابت با انسان‌ها در بازی GO باشند. چالش اصلی در رقابت با بهترین بازیکن‌های گو، در طبیعت این بازی نهفته است. حتی بهترین ابررایانه‌های توسعه یافته نیز برای آنالیز و پیش‌بینی نتیجهٔ حرکت‌های قابل انجام از نظر قدرت پردازشی دچار تزلرل شده و نمی‌توانند قدرت پردازشی مورد نیاز را تأمین کنند. در واقع نیروی پردازشی این رایانه‌ها مناسب نبوده و در نتیجه زمان درازی را برای ارائهٔ نتیجهٔ قابل قبول مورد نیاز است. زمانی که ابررایانهٔ موسوم به Deep Blue که توسط IBM توسعه یافته بود، موفق شد تا در سال ۱۹۹۷، گری کاسپاروف، قهرمان شطرنج جهان را شکست دهد، بسیاری به قدرت این ابررایانه پی بردند؛ چراکه این ابررایانه با قدرت زیادی کاسپاروف را شکست داد. علت پیروزی قاطع این Deep Blue، قدرت بالای این ابررایانه در کنار قدرت تحلیل و نتیجه‌گیری از هر حرکت احتمالی ممکن در بازی بود که تقریباً هیچ انسانی توانایی انجام آن را ندارد. اما چنین پیش‌بینی‌هایی در بازی GO ممکن نیست. براساس اطلاعات ارائه شده در بازی شطرنج که در صفحه‌ای ۸ در ۸ انجام می‌شود، در هر دور، بصورت میانگین می‌توان ۳۵ حرکت را انجام داد، اما در بازی گو که بین دو نفر در تخته‌ای به بزرگی ۱۹ در ۱۹ خانه انجام می‌شود، در هر دور بصورت میانگین می‌توان بیش از ۲۵۰ حرکت انجام داد. هر یک از این ۲۵۰ حرکت احتمالی نیز در ادامه ۲۵۰ احتمال دیگر را در پی دارند؛ که می شه نتیجه گرفت که در بازی گو، به اندازه‌ای احتمال حرکات گسترده است که تعداد آن از اتم‌های موجود در جهان هستی نیز بیشتر است.
 
تلاش‌های پیشین: در سال ۲۰۱۴ محققان در DeepMind، دانشگاه ادینبورگ و facebook امیدوار بودند تا با استفاده از شبکه‌های عصبی، سیستم‌هایی مبتنی بر شبکه‌های عصبی توسعه دهند که قادر باشد تا با نگاه کردن به تختهٔ بازی، همچون انسان‌ها به بازی بپردازند. محققان در فیس‌بوک موفق شده‌اند تا با کنار هم قراردادن تکنیک درخت مونت کارلو و یادگیری عمیق، شماری از بازیکنان را در بازی گو شکست دهد. البته سیستم فیس‌بوک قادر به برد در برابر CrazyStone و سایر بازیکنان شناخته شدهٔ این رشتهٔ ورزشی نشد.
 
سخت‌افزار مورد نیاز سیستم یادگیری عمیق دیپ مایند: براساس اطلاعات ارائه شده، سیستم DeepMind قادر است روی رایانه‌ای با چند پردازندهٔ گرافیکی نیز به خوبی کار کند؛ اما در مسابقه‌ای که آلفاگو در برابر فان هوی برگزار کرد، این سیستم مبتنی بر شبکهٔ عصبی از وجود شبکه‌های از رایانه‌ها بهره می‌برد که شامل بیش از ۱۷۰ پردازندهٔ گرافیکی [[انویدیا|Nvidia]] و ۱٬۲۰۰ پردازنده بود. [http://www.zoomit.ir/2016/2/11/126687/huge-breakthrough-googles-ai-beats-a-top-player/]
 
'''در تاریخ October 4, 2016''' شرکت Google از نوعی رباتیک ابری رونمایی کرد که در ان شبکه‌های عصبی روبات‌ها قادر به به اشتراک گذاشتن یادگیری هایشان با یکدیگر بودند؛ که این عمل باعث کاهش زمان مورد نیاز برای یادگیری مهارت‌ها توسط ربات‌ها می‌شود و به جای اینکه هر ربات به شکل جداگانه عمل کند، ربات‌ها تجربه‌های خود را به صورت جمعی در اختیار یکدیگر قرار می‌دهند. برای مثال یک ربات به ربات دیگر آموزش می‌دهد که چطور کار ساده‌ای مانند در باز کردن را انجام دهد یا جسمی را جابه‌جا کند و در فواصل زمانی معین، ربات‌ها آنچه را که یادگرفته‌اند به سرور آپلود می‌کنند. ضمن این که آخرین نسخه از یادگیری آن موضوع را هم دانلود می‌کنند تا به این وسیله هر ربات به تصویر جامع‌تری از تجربه‌های فردی خود دست پیدا کند.
 
در شروع یادگیری رفتار هر ربات از منظر ناظر خارجی کاملاً تصادفی است. اما پس امتحان کردن راه حل‌های مختلف توسط ربات، هر ربات یاد خواهند گرفت که چطور راه حل نزدیک‌تر به هدف را انتخاب کند و به این ترتیب، توانایی‌های ربات به طور مستمر بهبود پیدا خواهد کرد. حال آنکه در روش رباتیک ابری، ربات‌ها بهتر می‌توانند به شکل هم‌زمان یاد بگیرند و یادگیری خود را با یکدیگر به اشتراک بگذارند. از این رو ربات‌های جمعی می‌توانند عملکرد سریع تر و بهتری نسبت به یک ربات تنها نشان دهند و افزایش سرعت این روند، می‌تواند عملکرد ربات‌ها را در انجام کارهای پیچیده بهود بخشد. [http://www.zoomit.ir/2016/10/10/147041/robot-neural-network-cloud/]
 
== تاریخچه شبکه‌های عصبی مصنوعی ==
از [[قرن نوزدهم]] به طور همزمان اما جداگانه از سویی نروفیزیولوزیست‌ها سعی کردند سامانه یادگیری و تجزیه و تحلیل مغز را کشف کنند و از سوی دیگر ریاضیدانان تلاش کردند تا [[مدل ریاضی]] بسازند که قابلیت فراگیری و تجزیه و تحلیل عمومی مسائل را دارا باشد. اولین کوشش‌ها در شبیه‌سازی با استفاده از یک مدل منطقی توسط مک کلوک و والتر پیتز انجام شد که امروزه بلوک اصلی سازنده اکثر شبکه‌های عصبی مصنوعی است. این مدل فرضیه‌هایی در مورد عملکرد نورون‌ها ارائه می‌کند. عملکرد این مدل مبتنی بر جمع ورودی‌ها و ایجاد خروجی است. چنانچه حاصل جمع ورودی‌ها از مقدار آستانه بیشتر باشد اصطلاحاً نورون برانگیخته می‌شود. نتیجه این مدل اجرای توابع ساده مثل AND و OR بود.
 
نه تنها نروفیزیولوژیست‌ها بلکه روان شناسان و مهندسان نیز در پیشرفت شبیه‌سازی شبکه‌های عصبی تأثیر داشتند. در سال ۱۹۵۸ شبکه پرسپترون توسط روزنبلات معرفی گردید. این شبکه نظیر واحدهای مدل شده قبلی بود. پرسپترون دارای سه لایه به همراه یک لایه وسط که به عنوان [[لایه پیوند]] شناخته شده می‌باشد، است. این سامانه می‌تواند یاد بگیرد که به ورودی داده شده خروجی تصادفی متناظر را اعمال کند.
 
سامانه دیگر '''مدل خطی تطبیقی نورون''' می‌باشد که در سال ۱۹۶۰ توسط ویدرو و هاف (دانشگاه استنفورد) به وجود آمد که اولین شبکه‌های عصبی به کار گرفته شده در مسائل واقعی بودند. Adalaline یک دستگاه الکترونیکی بود که از اجزای ساده‌ای تشکیل شده بود، روشی که برای آموزش استفاده می‌شد با پرسپترون فرق داشت.
 
در سال ۱۹۶۹ میسکی و پاپرت کتابی نوشتند که محدودیت‌های سامانه‌های تک لایه و چند لایه پرسپترون را تشریح کردند. نتیجه این کتاب پیش داوری و قطع [[سرمایه‌گذاری]] برای تحقیقات در زمینه شبیه‌سازی شبکه‌های عصبی بود. آنها با طرح اینکه طرح پرسپترون قادر به حل هیچ مسئله جالبی نمی‌باشد، تحقیقات در این زمینه را برای مدت چندین سال متوقف کردند.
 
با وجود اینکه اشتیاق عمومی و سرمایه‌گذاری‌های موجود به حداقل خود رسیده بود، برخی محققان تحقیقات خود را برای ساخت ماشین‌هایی که توانایی حل مسائلی از قبیل [[تشخیص الگو]] را داشته باشند، ادامه دادند. از جمله گراسبگ که شبکه‌ای تحت عنوان Avalanch را برای تشخیص صحبت پیوسته و کنترل دست ربات مطرح کرد. همچنین او با همکاری کارپنتر شبکه‌های ART را بنانهادند که با مدل‌های طبیعی تفاوت داشت. اندرسون و کوهونن نیز از اشخاصی بودند که تکنیک‌هایی برای یادگیری ایجاد کردند. ورباس در سال ۱۹۷۴ شیوه آموزش پس انتشار (Back Propagation) خطا را ایجاد کرد که یک شبکه پرسپترون چندلایه البته با قوانین نیرومندتر آموزشی بود.
 
پیشرفت‌هایی که در سال ۱۹۷۰ تا ۱۹۸۰ بدست آمد برای جلب توجه به شبکه‌های عصبی بسیار مهم بود. برخی فاکتورها نیز در تشدید این مسئله دخالت داشتند، از جمله کتاب‌ها و کنفرانس‌های وسیعی که برای مردم در رشته‌های متنوع ارائه شد. امروز نیز تحولات زیادی در تکنولوژی ANN ایجاد شده‌است.
 
== چرا از شبکه‌های عصبی استفاده می‌کنیم ==
{{multiple image|width=190|image1=Aurelia-aurita-3 (cropped).jpg|alt1=تصویری از عروس دریایی در رؤیای عمیق گوگل|image2=Aurelia-aurita-3-0009.jpg|footer=تصویری از عروس دریایی در شبکه عصبی convolutional رؤیای عمیق گوگل}}شبکه‌های عصبی با توانایی قابل توجه خود در استنتاج نتایج از داده‌های پیچیده می‌توانند در استخراج الگوها و شناسایی گرایش‌های مختلفی که برای انسان‌ها و کامپیوتر شناسایی آنها بسیار دشوار است استفاده شوند. از مزایای شبکه‌های عصبی می‌توان موارد زیر را نام برد:
# یادگیری تطبیقی: توانایی یادگیری اینکه چگونه وظایف خود را بر اساس اطلاعات داده شده به آن یا تجارب اولیه انجام دهد در واقع اصلاح شبکه را گویند.
# خود سازماندهی: یک شبکه عصبی مصنوعی به صورت خودکار سازماندهی و ارائه داده‌هایی که در طول آموزش دریافت کرده را انجام دهد. نورون‌ها با قاعدهٔ یادگیری سازگار شده و پاسخ به ورودی تغییر می‌یابد.
# عملگرهای بی‌درنگ: محاسبات در شبکه عصبی مصنوعی می‌تواند به صورت موازی و به وسیله سخت‌افزارهای مخصوصی که طراحی و ساخت آن برای دریافت نتایج بهینه قابلیت‌های شبکه عصبی مصنوعی است انجام شود.
# تحمل خطا: با ایجاد خرابی در شبکه مقداری از کارایی کاهش می‌یابد ولی برخی امکانات آن با وجود مشکلات بزرگ همچنان حفظ می‌شود.
# دسته‌بندی: شبکه‌های عصبی قادر به دسته‌بندی ورودی‌ها بر ای دریافت خروجی مناسب می‌باشند.
# تعمیم دهی: این خاصیت شبکه را قادر می‌سازد تا تنها با برخورد با تعداد محدودی نمونه، یک قانون کلی از آن را به دست آورده، نتایج این آموخته‌ها را به موارد مشاهده از قبل نیز تعمیم دهد. توانایی که در صورت نبود آن سامانه باید [[بی‌نهایت (ریاضی)|بی‌نهایت]] واقعیت‌ها و روابط را به خاطر بسپارد.
# پایداری-انعطاف‌پذیری: یک شبکه عصبی هم به حد کافی پایدار است تا اطلاعات فراگرفته خود را حفظ کند و هم قابلیت انعطاف و تطبیق را دارد و بدون از دست دادن اطلاعات قبلی می‌تواند موارد جدید را بپذیرد.
 
== شبکه‌های عصبی در مقایسه با کامپیوترهای سنتی ==
[[پرونده:C.elegans-brain-network.jpg|thumb|329x329px|شبکه مغز کرم الگانس [[:en:Caenorhabditis elegans|Caenorhabditis elegans]] _ شبکه نورونی این کرم از [[:de:Datei:C.elegans-brain-network.jpg|302]] نورون و حدود ۷۰۰۰ اتصال سیناپس تشکیل شده است.]]
یک شبکه عصبی به طور کلی با یک کامپیوتر سنتی در موارد زیر تفاوت دارد:
# شبکه‌های عصبی دستورات را به صورت سری اجرا نکرده، شامل حافظه‌ای برای نگهداری داده و دستورالعمل نیستند.
# به مجموعه‌ای از ورودی‌ها به صورت موازی پاسخ می‌دهند.
# بیشتر با تبدیلات و نگاشت‌ها سروکار دارند تا الگوریتم‌ها و روش‌ها.
# شامل ابزار محاسباتی پیچیده نبوده، از تعداد زیادی ابزارساده که اغلب کمی بیشتر از یک جمع وزن دار را انجام می‌دهند تشکیل شده‌اند.
 
شبکه‌های عصبی شیوه‌ای متفاوت برای حل مسئله دارند.
کامپیوترهای سنتی از شیوه الگوریتمی برای حل مسئله استفاده می‌کنند که برای حل مسئله مجموعه‌ای از دستورالعمل‌های بدون ابهام دنبال می‌شود.
این دستورات به زبان سطح بالا و سپس به [[زبان ماشین]] که سامانه قادر به تشخیص آن می‌باشد تبدیل می‌شوند.
اگر مراحلی که کامپیوتر برای حل مسئله باید طی کند از قبل شناخته شده نباشند و الگوریتم مشخصی وجود نداشته باشد،
سامانه توانایی حل مسئله را ندارد. کامپیوترها می‌توانند خیلی سودمندتر باشند اگر بتوانند کارهایی را که ما هیچ پیش زمینه‌ای از آنها نداریم انجام دهند.
شبکه‌های عصبی و کامپیوترها نه تنها رقیب هم نیستند بلکه می‌توانند مکمل هم باشند.
کارهایی وجود دارند که بهتر است از روش الگوریتمی حل شوند و همین‌طور کارهایی وجود دارند که جز از طریق شبکه عصبی مصنوعی قابل حل نمی‌باشند و البته تعداد زیادی نیز برای بدست آوردن بازده حداکثر،
از ترکیبی از روش‌های فوق استفاده می‌کنند. به طور معمول یک کامپیوتر سنتی برای نظارت بر شبکه عصبی استفاده می‌شود.
شبکه‌های عصبی معجزه نمی‌کنند، اگر به طور محسوس استفاده شوند کارهای عجیبی انجام می‌دهند.
 
== نورون مصنوعی ==
یک نورون مصنوعی سامانه‌ای است با تعداد زیادی ورودی و تنها یک خروجی. نورون دارای دو حالت می‌باشد، حالت آموزش و حالت عملکرد. در حالت آموزش نورون یادمی‌گیرد که در مقابل الگوهای ورودی خاص برانگیخته شود یا در اصطلاح آتش کند. در حالت عملکرد وقتی یک الگوی ورودی شناسایی شده وارد شود، خروجی متناظر با آن ارائه می‌شود. اگر ورودی جزء ورودی‌های از پیش شناسایی شده نباشد، قوانین آتش برای بر انگیختگی یا عدم آن [[تصمیم‌گیری]] می‌کند.
 
== از نورون‌های انسان تا نورون مصنوعی ==
[[پرونده:Action potential.svg|بندانگشتی|349x349پیکسل|[[پتانسیل عمل|اکشن پتانسیل نورون زیستی]]: پتانسیل الکتریکی نورون در حالت استراحت در -70 mV قرار دارد. با اعمال محرک بر غشای نورون، پتانسیل غشا به -۵۵ میلی ولت می‌رسد پس از آن در صورتی که محرک اعمال شود پتانسیل غشا به سرعت در نقطه +40 mV به اوج خود می‌رسد و با همان سرعت، پتانسیل غشا به -90 mV کاهش و overshoots پیدا می‌کند و در نهایت دوباره به resting potential (پتانسیل حالت استراحت) در -70 mV بازمی‌گردد]]
با کنار گذاشتن برخی از خواص حیاتی نورون‌ها و ارتباطات درونی آنها می‌توان یک مدل ابتدایی از نورون را به وسیله کامپیوتر شبیه‌سازی کرد.
 
== ساختار شبکه‌های عصبی ==
یک شبکه عصبی شامل اجزای سازنده لایه‌ها و وزن‌ها می‌باشد. رفتار شبکه نیز وابسته به ارتباط بین اعضا است. در حالت کلی در شبکه‌های عصبی سه نوع لایه نورونی وجود دارد:
* لایه ورودی: دریافت اطلاعات خامی که به شبکه تغذیه شده‌است.
* لایه‌های پنهان: عملکرد این لایه‌ها به وسیله ورودی‌ها و وزن ارتباط بین آنها و لایه‌های پنهان تعیین می‌شود. وزن‌های بین واحدهای ورودی و پنهان تعیین می‌کند که چه وقت یک واحد پنهان باید فعال شود.
* لایه خروجی: عملکرد واحد خروجی بسته به فعالیت واحد پنهان و وزن ارتباط بین واحد پنهان و خروجی می‌باشد.
 
شبکه‌های تک لایه و چند لایه‌ای نیز وجود دارند که سازماندهی تک لایه که در آن تمام واحدها به یک لایه اتصال دارند بیشترین مورد استفاده را دارد و پتانسیل محاسباتی بیشتری نسبت به سازماندهی‌های چند لایه دارد. در شبکه‌های چند لایه واحدها به وسیله لایه‌ها شماره گذاری می‌شوند (به جای دنبال کردن شماره گذاری سراسری).
 
هر دو لایه از یک شبکه به وسیله وزن‌ها و در واقع اتصالات با هم ارتباط می‌یابند. در شبکه‌های عصبی چند نوع اتصال یا پیوند وزنی وجود دارد:
پیشرو: بیشترین پیوندها از این نوع است که در آن سیگنال‌ها تنها در یک جهت حرکت می‌کنند. از ورودی به خروجی هیچ بازخوردی (حلقه) وجود ندارد. خروجی هر لایه بر همان لایه تأثیری ندارد.
* پسرو: داده‌ها از گره‌های لایه بالا به گره‌های لایه پایین بازخورانده می‌شوند.
* جانبی: خروجی گره‌های هر لایه به عنوان ورودی گره‌های همان لایه استفاده می‌شوند.
 
== تقسیم‌بندی شبکه‌های عصبی ==
بر مبنای روش آموزش به چهار دسته تقسیم می‌شوند:
# وزن ثابت: آموزشی در کار نیست و مقادیر وزن‌ها به هنگام نمی‌شود. کاربرد: [[بهینه‌سازی]] اطلاعات (کاهش حجم، [[تفکیک‌پذیری]] و فشرده سازی) و حافظه‌های تناظری
# آموزش بدون سرپرست: وزن‌ها فقط بر اساس ورودی‌ها اصلاح می‌شوند و خروجی مطلوب وجود ندارد تا با مقایسه خروجی شبکه با آن و تعیین مقدار خطا وزن‌ها اصلاح شود. وزن‌ها فقط بر اساس اطلاعات الگوهای ورودی به هنگام می‌شوند. هدف استخراج مشخصه‌های الگوهای ورودی بر اساس راهبرد خوشه یابی یا دسته‌بندی و تشخیص شباهت‌ها (تشکیل گروه‌هایی با الگوی مشابه) می‌باشد، بدون اینکه خروجی یا کلاس‌های متناظر با الگوهای ورودی از قبل مشخص باشد. این یادگیری معمولاً بر پایه شیوه برترین هم خوانی انجام می‌گیرد. شبکه بدون سرپرست وزن‌های خود را بر پایه خروجی حاصل شده از ورودی تغییر می‌دهد تا در برخورد بعدی پاسخ مناسبی را برای این ورودی داشته باشد. در نتیجه شبکه یادمی‌گیرد چگونه به ورودی پاسخ بدهد. اصولاً هدف این است که با تکنیک نورون غالب نورونی که بیشترین تحریک آغازین را دارد برگزیده شود. بنابر این در شبکه‌های بدون سرپرست یافتن نورون غالب یکی از مهمترین کارها است.
# آموزش با سرپرست: به ازای هر دسته از الگوهای ورودی خروجی‌های متناظر نیز به شبکه نشان داده می‌شود و تغییر وزن‌ها تا موقعی صورت می‌گیرد که اختلاف خروجی شبکه به ازای الگوهای آموزشی از خروجی‌های مطلوب در حد خطای قابل قبولی باشد. در این روش‌ها یا از خروجی‌ها به وزن‌ها ارتباط وجود دارد یا خطا به صورت پس انتشار از لایه خروجی به ورودی توزیع شده‌است و وزن‌ها اصلاح می‌شوند. هدف طرح شبکه‌ای است که ابتدا با استفاده از داده‌های آموزشی موجود، آموزش ببیند و سپس با ارائه بردار ورودی به شبکه که ممکن است شبکه آن را قبلاً فراگرفته یا نگرفته باشد کلاس آن را تشخیص دهد. چنین شبکه‌ای به طور گسترده برای کارهای تشخیص الگو به کار گرفته می‌شود.
# آموزش تقویتی: کیفیت عملکرد سامانه به صورت گام به گام نسبت به زمان بهبود می‌یابد. الگوهای آموزشی وجود ندارد اما با استفاده از سیگنالی به نام نقاد بیانی از خوب یا بد بودن رفتار سامانه بدست می‌آید (حالتی بین یادگیری با سرپرست و بدون سرپرست).
 
== کاربرد شبکه‌های عصبی ==
شبکه‌های عصبی مصنوعی دارای دامنه کاربرد وسیعی می‌باشند از جمله سامانه‌های آنالیز ریسک، کنترل هواپیما بدون خلبان، آنالیز کیفیت جوشکاری، آنالیز کیفیت کامپیوتر، آزمایش اتاق اورژانس، [[اکتشاف نفت]] و گاز، سامانه‌های تشخیص ترمز کامیون، تخمین ریسک وام، شناسایی طیفی، تشخیص دارو، فرایندهای کنترل صنعتی، مدیریت خطا، [[تشخیص صدا]]، تشخیص هپاتیت، [[بازیابی اطلاعات]] راه دور، شناسایی مین‌های زیردریایی، تشخیص اشیاء سه بعدی و دست نوشته‌ها و چهره و…
در کل می‌توان کاربردهای شبکه‌های عصبی را به صورت زیر دسته‌بندی کرد:
تناظر (شبکه الگوهای مغشوش وبه هم ریختهرا بازشناسی می‌کند)، خوشه یابی، دسته‌بندی، شناسایی، بازسازی الگو، تعمیم دهی (به دست آوردن یک پاسخ صحیح برای محرک ورودی که قبلاً به [[شبکه آموزش]] داده نشده)، بهینه‌سازی.
امروزه شبکه‌های عصبی در کاربردهای مختلفی نظیر مسائل تشخیص الگو که خود شامل مسائلی مانند تشخیص خط، شناسایی گفتار، [[پردازش تصویر]] و مسائلی از این دست می‌شود و نیز مسائل دسته‌بندی مانند دسته‌بندی متون یا تصاویر، به کار می‌روند. در کنترل یا مدل سازی سامانه‌هایی که ساختار داخلی ناشناخته یا بسیار پیچیده‌ای دارند نیز به صورت روزافزون از شبکه‌های عصبی مصنوعی استفاده می‌شود. به عنوان مثال می‌توان در کنترل ورودی یک موتور([[کنترل‌کننده موتور]]) از یک شبکه عصبی استفاده نمود که در این صورت شبکه عصبی خود تابع کنترل را یاد خواهد گرفت.
کاربرد مناسب تر شبکه عصبی (در مقایسه با روش‌هایی از قبیل PID)برای کنترل یک سیستم دور موتور در برابر تغییرات ناگهانی بار و زمان پاسخ دهی نیز مطرح شده است،<ref>http://www.c-science.orq.ir</ref><ref>http://www.nsl.hcmuns.edu.vn/greenstone/collect/hnkhbk/archives/HASH0188.dir/doc.pdf</ref><ref>http://ethesis.nitrkl.ac.in/245/1/10502014.pdf</ref>
 
== معایب شبکه‌های عصبی ==
با وجود برتری‌هایی که شبکه‌های عصبی نسبت به سامانه‌های مرسوم دارند، معایبی نیز دارند که پژوهشگران این رشته تلاش دارند که آنها را به حداقل برسانند، از جمله:
* قواعد یا دستورات مشخصی برای طراحی شبکه جهت یک کاربرد اختیاری وجود ندارد.
* در مورد مسائل مدل سازی، صرفاً نمی‌توان با استفاده از شبکه عصبی به فیزیک مسئله پی برد. به عبارت دیگر مرتبط ساختن پارامترها یا ساختار شبکه به پارامترهای فرایند معمولاً غیرممکن است.
* دقت نتایج بستگی زیادی به اندازه مجموعه آموزش دارد.
* آموزش شبکه ممکن است مشکل ویا حتی غیرممکن باشد.
* پیش بینی عملکرد آینده شبکه (عمومیت یافتن) آن به سادگی امکان‌پذیر نیست.
[[پرونده:Elman srnn.png|thumb|345x345px|تصویری از شبکه عصبی RNN]]
 
== انواع شبکه‌های عصبی مصنوعی ==
* Dynamic Neural Network
** [[:en:Feedforward neural network|Feedforward neural network FNN]]
** [[:en:Recurrent neural network|Recurrent neural network RNN]]
*** RNN تکنولوژی [[:en:Speech recognition|speech recognition]] و [[:en:Handwriting recognition|handwriting recognition]] را ممکن کرد.
**** [[:en:Hopfield network|Hopfield network]]
**** [[:en:Boltzmann machine|Boltzmann machine]]
**** Simple recurrent networks
**** [[:en:Echo state network|Echo state network]]
**** [[:en:Long short term memory|Long short term memory network]]
**** Bi-directional RNN
**** Hierarchical RNN
**** [[:en:Stochastic neural network|Stochastic neural networks]]
** [[:en:Self-organizing map|Kohonen Self-Organizing Maps]]
** [[:en:Autoencoder|Autoencoder]]
** [[:en:Backpropagation|Backpropagation]]
** [[:en:Probabilistic neural network|probabilistic neural network PNN]]
** [[:en:Time delay neural network|Time delay neural network TDNN]]
* Static Neural Network
** [[:en:Neocognitron|Neocognitron]]
** [[:en:Radial basis function network|Radial basis function network RBF]]
** [[:en:Learning vector quantization|Learning vector quantization]]
** [[:en:Perceptron|Perceptron]]
*** [[:en:ADALINE|Adaline model]]
*** [[:en:Convolutional neural network|Convolutional neural network CNN]]
**** [[:en:DeepDream|Deep Dream Google]]
** [[:en:Modular neural network|Modular neural networks]]
*** [[:en:Committee machine|Committee of machines COM]]
*** [[:en:Autoassociative memory|Associative neural network ASNN]]
* <span lang="en" dir="ltr">Memory Network</span>
** [[:en:Google DeepMind|Google / Deep Mind]]
** <span lang="en" dir="ltr">[https://github.com/facebook/MemNN facebook / MemNN]</span>
** [[:en:Holographic associative memory|Holographic associative memory]]
** One-shot associative memory
** Neural Turing Machine
** [[:en:Adaptive resonance theory|Adaptive resonance theory]]
** [[:en:Hierarchical temporal memory|Hierarchical temporal memory]]
* Other types of Networks
** [[:en:Instantaneously trained neural networks|Instantaneously trained networks ITNN]]
** [[:en:Spiking neural network|Spiking neural networks SNN]]
*** Pulse Coded Neural Networks PCNN
** Cascading neural networks
** Neuro-fuzzy networks
** [[:de:Growing Neural Gas|Growing Neural Gas GNG]]
** Compositional pattern-producing networks
** [[:en:Counterpropagation network|Counterpropagation network]]
** [[:de:Oszillierendes neuronales Netzwerk|Oscillating neural network]]
** Hybridization neural network
** [[:en:Physical neural network|Physical neural network]]
*** [[:en:Optical neural network|Optical neural network]]
*** [[:en:Neuromorphic engineering|neuromorphic hardware]]
''[[پرونده:Neurons uni bi multi pseudouni.svg|thumb|351x351px|تمایز Morphologische سلول‌های عصبی 1_[[:en:Unipolar neuron|Unipolar neuron]] (نورون تک قطبی) 2_ [[:en:Bipolar neuron|Bipolar neuron]] (نورون دو قطبی) ۳_ نورون‌های چند قطبی (سیستم مغز) 4_ [[:en:Pseudounipolar neuron|Pseudounipolar neuron]] ([[دستگاه عصبی پیرامونی|سیستم عصبی محیطی]])]]لیست کامل انواع شبکه‌های عصبی در [[:en:Types of artificial neural networks|Types of artificial neural networks]]''
 
== جستارهای وابسته ==
* [[علوم شناختی]]
* [[نرم‌افزارهای شبکه عصبی]]
* [[انعطاف‌پذیری عصبی]]
* [[یاخته عصبی|نورون]] ([[:en:Neuron|Neuron]])
* [[خودآگاهی]]
* [[پروژه بلو برین|پروژه Blue Brain]]
* [[علوم شناختی]] ([[:en:Cognitive science|Cognitive science]])
* بیولوژی شناختی ([[:en:Cognitive biology|Cognitive biology]])
* [[کدینگ عصبی|رمز گذاری نورون]] ([[:en:Neural coding|Neural coding]])
* [[بینایی رایانه‌ای|بینایی کامپیوتر]] (computer vision)
* [[یادگیری ماشینی|یادگیری ماشین]] (machine learning)
* شبکه عصبی کوانتومی ([[:en:Quantum neural network|Quantum neural network]])
* مدل زیستی نورون ([[:en:Biological neuron model|Biological neuron model]])
* [[انعطاف‌پذیری عصبی|نورو پلاستیکی]] ([[:en:Neuroplasticity|Neuroplasticity]])
* فیزیولوژی اعصاب ([[:en:Summation (neurophysiology)|Summation neurophysiology]])
* [[واسط مغز و رایانه|رابط نورونی مستقیم]] ([[:en:Brain–computer interface|Direct Neural Interface]])
* [[:en:List of animals by number of neurons|تعداد نورون‌ها در موجودات مختلف]]
* [[دی‌ان‌ای رایانه|DNA محاسباتی]]
* [[علوم اعصاب محاسباتی]]
* آ[[بارگذاری ذهن|پلود مغز]] ([[:en:Mind uploading|Mind uploading]])
* [[خودآگاهی|خود آگاهی]]
 
== منابع ==
سطر ۲۵۶ ⟵ ۷۹:
 
== نگارخانه ==
[[پرونده:Gjl-t(x).svg|thumb|384x384px|[[:en:Sigmoid function|تابع Sigmoid]] که عموماً به عنوان activation function داخل نورون مصنوعی برخی از شبکه‌های عصبی ازش استفاده می شه]]
[[پرونده:Visible Human head slice.jpg|thumb|192x192px|در این تصویر [[:en:Cerebral cortex|cerebral cortex]] و [[:en:White matter|white matter]] را می تونید مشاهده کنید (۱۹٪ از نورون‌های شبکه عصبی در غشای مغزی یا همون cerebral cortex قرار گرفته]]
[[پرونده:Complete neuron cell diagram en.svg|thumb|638x638px|ساختار نورون در شبکه عصبی مغز|هیچ]]
سطر ۲۶۴ ⟵ ۸۶:
 
== منابع ==
{{پانویس}}
* [[:en:List of machine learning concepts|List of machine learning concepts]]
* [[:en:Google DeepMind|Google/Deep Mind]] ([[گوگل دیپ مایند]] ←شبکه‌های عصبی [[یادگیری عمیق|deep learning]] با [[حافظه کوتاه‌مدت|حافظه کوتاه مدت]])[https://deepmind.com/index.html]
* Artificial Intelligence - A Modern Approach
* Rolf Pfeifer & Christian Scheier Understanding Intelligence
* Static And Dynamic Neural Networks - From Fundamental to Advanced Theory
{{علوم اعصاب}}