آیا تا به حال فکر کردهاید که ما چگونه مطلبی را میآموزیم؟ چقدر و با چه سرعتی یاد میگیریم؟ مغز ما چگونه میتواند یک مسأله را حل کند؟ آیا تا به حال به نحوهی عملکرد مغز فکر کردهاید؟
عملکرد دقیق مغز هنوز کشف نشده است و برخی جنبههای آن برای انسان شناخته شده نیستند. ولی برای ما روشن شده است که بافتهای عصبی از تعداد زیادی سلول به نام نرون تشکیل شدهاند، که به یکدیگر متصل هستند. زمانی که این نرونها به یکدیگر وصل میشوند، تشکیل شبکهی عصبی مغز را میدهند. شبکه یعنی واحدی که تمام اجزای آن با هم در ارتباط باشند.(مثل شبکههای کامپیوتری).
آیا میدانیدکه میتوانیم با توجه به نحوهی عملکرد شبکهی مغز، شبکههای مصنوعی مغز را در دنیای واقعی طراحی کنیم و با استفاده از آن بسیاری از مسائل را حل کنیم؟
برایتان عجیب نیست که در این شبکههای مصنوعی از ریاضی هم استفاده میشود؟!
شاید بپرسید ساختن شبکههای مصنوعی از روی شبکهی واقعی مغز چه کمکی به ما میکند؟ و چه کاربردهایی در زندگی انسانها دارد؟
برای روشن شدن اهمیت شبکههای عصبی در این جا به چند نمونه از کاربردهای شبکههای مصنوعی در زندگی انسان میپردازیم: ردیابی سرطان، تجزیهی بنزین، پیشبینی صاعقه، تشخیص تقلب در کارت اعتباری، تشخیص تصاویر واقعی، پردازش مکالمات تلفنی، کنترل ترافیک،تشخیص بیماری، تعیین اعتبار امضای اشخاص، سیستمهای رادار، مینگذاری و ... .
حالا که با اهمیت شبکههای مصنوعی،بیش تر آشنا شدید، شما را با اصولی که به وسیلهی آنها بتوان شبکههای عصبی را با روابط ریاضی تشریح کرد، آشنا میکنیم.این اصول از طبیعت واقعی و زیستی مغز و نرونها گرفته شده است.
ابتدا ساختار نرون را بررسی میکنیم. یک نرون دارای چندین قسمت است که هر قسمت وظیفهی خاصی را بر عهده دارد. به طور مثال یک قسمت کار ورود اطلاعات، قسمت دیگر کار ترکیب اطلاعات و یک قسمت همکار خروج اطلاعات و انتقال آن به نرون دیگر را انجام میدهد.
یک نرون n ورودی دارد که آنها را با ها نشان می دهیم. (j بین 1 تا n تغییر می کند) در ساختار واقعی نرون در مغز، قبل از ورود اطلاعات به نرون، قسمتی از نرون به نام سیناپس روی اطلاعات تأثیر میگذارد که برای معادل سازی آن در ریاضی، قبل از ورود اطلاعات به نرون، ورودی ها:ها را در توابع وزن: ها ضرب میکنیم . بعد از ورود اطلاعات به نرون و ترکیب نتایج(برای ترکیب نتایج ،معمولا" از عملگر جمع معمولی استفاده می شود.)،نرون برای تعیین خروجی خود، از یک تابع f کمک میگیرد و خروجی را با O نشان می دهیم:.
این تابع f میتواند انواع گوناگون داشته باشد و بر اساس نوع خروجی و خواستهی ما تغییر کند. در هر حال می بایست تابع f بین دو مقدار محدود باشد. به طور مثال در استفاده از شبکههای عصبی برای کنترل حرکت بازوی یک روبات اگر f محدود نباشد، ممکن است بازوی روبات در اثر یک حرکت سریع به خود و یا محیط اطراف آسیب بزند. در چنین مواقعی از توابعی مانند توابع زیر استفاده میشود:
پس اگر ورودی ما بسیار بزرگ و یا بسیار کوچک باشد، خروجی از حد معین ##### نمیکند و البته این در ساختار نرون طبیعی هم موجود است. مدل تقریبی یک نرون در شکل زیر آمده است:
حال اگر تعدادی از این نرونها را به یکدیگر وصل کنیم و تشکیل یک شبکه بدهیم، یعنی اگر به جای یک نرون، m تا نرون داشته باشیم که به یکدیگر وصل شدهاند و ورودی ها را با ، توابع وزن را با ، خروجیها را با و تابعها را با نشان دهیم آن گاه خروجی های این شبکهی عصبی با استفاده از رابطه های زیر بیان می شوند: . (i بین 1 تا m و j بین 1 تا n تغییر می کنند.)
اما یک نکته باقی میماند ، این که در مغز، وقتی که یک نرون بالاتر از یک حد معین (آستانهی آن نرون:) تحریک شود، نرون برانگیخته میشود به طوری که میتواند یک سیگنال الکتریکی را در طول یک مسیر هدایت کند تا بتواند آن را به نرونهای دیگر انتقال دهد. در این موقع اصطلاحاً میگوییم که نرون آتش می گیرد. بنابراین در یک شبکه برای این که یک نرون بتواند اطلاعات را به نرونهای دیگر منتقل کند، باید آتش بگیرد. برای لحاظ کردن این شرط در مدل ریاضی، رابطهی زیر را می آوریم: .
بنابراین فرمولبندی ریاضی شبکهی عصبی فوق به صورت زیر نوشته میشود:
به شرطی که: .(در این شبکه، آستانه ی نرون ها را باها نشان میدهیم.)