امروزه با شکسته شدن پی در پی استقلال ، شاخه های مختلف علوم و بهره وری شاخه ای از شاخه ی دیگر و پیشبرد مسائل پیچیده خود، پیوستگی و لاینفک بودن تمامی شاخه های علوم را نمایان تر می سازد که سرمنشأ تمامی آنها از یک حقیقت نشأت گرفته و آن ذات باری تعالی است.اولین تلاش ها به منظور ارائه ی یک مدل ریاضی برای سیستم عصبی انسان در دهه 40 توسط Mcculloch , pitts انجام شد ، که حاصل آن یک نورون ساده ی تک لایه ویک روش برای آموزش آن بود . در ادامه ی این کار Hebb نتایج آزمایشات پاولف را در مورد شرطی شدن ،گسترش داد و یک روش برای یادگیری ارائه کرد . در سال 1958 ،Rossonblatt شبکه ی پرسپترون را ارائه کرد . بعد از مدتی اثبات شد شبکه ی عصبی پرسپترون تک لایه نمی تواند تابع ساده ای مانند EX-OR را بیاموزد .بنابراین تقریباً تا دهه ی 80 تلا ش ها برای گسترش شبکه ی عصبی بسیار کم بود. سپس در طی یک مقاله اثبات شد که شبکه ی عصبی پرسپترون چند لایه می تواند به عنوان یک تخمین گر جهانی مطرح شود . بدین معنی که این شبکه قابلیت دارد هر تابع غیرخطی را با دقت دلخواه مدل سازی کند . از آن به بعد شبکه های عصبی مصنوعی گسترش یافتند و در زمینه های بسیاری از آنها استفاده شد .
سیستم شبکه ی عصبی مصنوعی از مغز وسیستم عصبی انسان الهام گرفته شده و مانند مغز انسان از تعداد زیادی نورون تشکیل شده است . این شبکه ها مانند مغز انسان دارای قابلیت یادگیری هستندکه از مزیت های عمده ی این سیستم هاست در مواردی که نتوانیم یک الگوریتم حل به صورت فرمولی بیابیم یا تعداد زیادی مثال از ورودی و خروجی سیستم موردنظرمان در اختیار داشته باشیم و بخواهیم برای آن سیستم ، مدل ارائه کنیم یا اینکه یک ساختار از اطلاعات موجود بدست آوریم ، استفاده از شبکه های عصبی مصنوعی سودمند است . تاکنون برای شبکه های عصبی توپولوژی های مختلف همراه با کاربردهای متنوع ارائه شده است که طیف وسیعی از موضوعات را پوشش می دهد .
الهام از نورون واقعی :
سیستم عصبی انسان و مغز وی متشکل از ترکیب و به هم پیوستن تعداد زیادی سلول به نام نورون می باشد . تعداد نورون های مغز انسان به طور متوسط حدود 100 تریلیون می باشد . یک نورون دارای تعداد زیادی ورودی و یک خروجی است . خروجی می تواند دو حالت فعال یا غیرفعال را اختیار کند . در یک نورون ورودی ها تعیین می کنند که خروجی نرون فعال یا غیرفعال باشد . یک نرون از یک حجم سلولی ، تعداد زیادی « دنوریت » به عنوان ورودی و یک « اکسون » به عنوان خروجی تشکیل شده است.
به محل اتصال اکسون یک سلول به دنوریت های یک سلول دیگر نیز «سیناپس » می گویند که نقش بسزایی در سیستم عصبی ایفا می کند . سیناپس می تواند در طول دوره ی یادگیری نسبت به سیگنال های ورودی تغییر کند .در این قسمت به قانون یادگیری «هبی» اشاره می کنیم . این قانون به طور ساده به این صورت می باشد که اگر ورودی های یک نرون به طور مکرر منجر به فعال شدن خروجی شود ، یک تغییر متابولیک در سیناپس اتفاق می افتد که در طی آن مقاومت سیناپس نسبت به آن ورودی خاص کاهش می یابد.
مدل ریاضی نرون :
یک نرون مجموع وزن های ورودی را حساب کرده و براساس یک تابع فعالیت ( که در حالت ساده می تواند یک Threshold باشد ) خروجی را تعیین می کند . اگر این مجموع از ترشلد بیشتر باشد خروجی نرون « یک » می شود در غیر این صورت خروجی نرون منفی یک ( 1- ) خواهد شد .
به عنوان مثال یک شبکه عصبی ساده به نام perceptron را در نظر می گیریم این شبکه در شکل زیر نشان داده شده است در این شبکه چند ورودی وجود دارد که یکی از آنها مربوط به بایاس است . تابع فعالیت نورون نیز به صورت یک ترشلد خطی می باشد و شبکه دارای یک خروجی است . در این شبکه سیناپس ها به صورت وزن های اتصالات در نظر گرفته شده است . به عنوان مثال فرض کنید که می خواهیم یک OR منطقی را به وسیله ی این شبکه مدل کنیم. هدف از الگوریتم یادگیری ، بدست آوردن وزن های مناسب برای حل مسئله ی مورد نظر ما می باشد .
قانون یادگیری شبکه به صورت زیر است که بیان کننده ی تغییرات وزن ، نرخ سرعت یادگیری و یک عدد ثابت می باشد .D بیان کننده ی خروجی مطلوب است که در الگوهای آموزشی وجود دارد Y بیان کننده ی خروجی به دست آمده از شبکه است و بیان کننده ورودی است .یادگیری همان طور که قبلاً اشاره شد ، از شبکه های عصبی مصنوعی برای مدل کردن سیستم هایی که غیرخطی یا جعبه سیاه هستند و ما از دینامیک داخلی سیستم خبری نداریم و فقط یک سری (ورودی – خروجی ) از سیستم داریم ، می توان استفاده کرد . بدین ترتیب که ابتدا یک توپولوژی مناسب از شبکه در نظر می گیریم، تعداد و نحوه ی اتصالات نورون ها را مشخص می کنیم و یک سری وزن های ابتدایی برای اتصالات در نظر می گیریم . در مرحله ی آموزش، هدف این است که با اعمال مجموعه «ورودی – خروجی » های سیستم مورد نظر وزن های اتصالات را طوری تنظیم کنیم که بتوانیم با دادن ورودی هایی غیر از ورودی های مجموعه ی آموزشی مان خروجی متناسب با سیستم مورد نظر بدست بیاوریم . به بیان دیگر بتوانیم سیستم رامدل کنیم.