شبکه های مصنوعی نیز مانند انسانها با مثال یاد میگیرند و یک شبکه عصبی برای انجام وظیفههای مشخص مانند شناسایی الگوها و دسته بندی اطلاعات، در طول یک پروسه یادگیری تنظیم میشود.
سیستم محاسباتی است که با الهام از شبکه های عصبی(Artificial Neural Networks) شبکه عصبی مصنوعی و مغز موجودات زنده طراحی شده است.
کابل۲۴: این شبکه ها مجموعهای بسیار عظیم از پردازشگرهایی موازی به نام نیورون اند که به صورت هماهنگ برای حل مسئله عمل میکنند و توسط سیناپس ها(ارتباط های الکترومغناطیسی)اطلاعات را منتقل میکنند.
شبکههای عصبی مصنوعی، روشهای محاسباتی نوین برای یادگیری ماشینی، نمایش دانش و در انتها اعمال دانش به دست آمده در جهت پیشبینی سیسنم های پیچیده هستند.
ایده اصلی این نوع شبکهها تا حدودی الهام گرفته از شیوه کارکرد سیستم عصبی زیستی است.
از این روش برای تحلیل و پردازش دیتا و اطلاعات به منظور یادگیری و ایجاد دانش به کار گرفته میشود، شبکههای مصنوعی یکی از کارکردهای الگوریتم ژنتیک است.
شبکه های مصنوعی نیز مانند انسانها با مثال یاد میگیرند و یک شبکه عصبی برای انجام وظیفههای مشخص مانند شناسایی الگوها و دسته بندی اطلاعات، در طول یک پروسه یادگیری تنظیم میشود.
در سیستم های زیستی، یادگیری با تنظیماتی در اتصالات ساینپسی که بین اعصاب قرار دارد همراه است. از این روش در شبکه های عصبی نیز استفاده میشود.
شبکه عصبی مصنوعی
در روشهای محاسباتی سنتی، از یک سری عبارات منظقی برای اجرای یک عمل استفاده میشود. شبکههای مصنوعی از مجموعه نودها به عنوان نیورون در نقش ساینپس برای پردازش اطلاعات بهره میگیرند.
در این سیستم ورودی ها در شبکه به جریان افتاده و خروجی تولید می گردد و سپس خروجی ها با دادههای معتبر مقایسه میگردد.
برای مثال فرض کنید می خواهید کامپیوتر خود را به گونهای آموزش دهید که تصویر یک پرنده را تشخیص دهد برای این کار میلیونها تصویر از پرنده های مختلف را وارد شبکه کرده و آنهایی که از طرف سیستم به عنوان عنوان خروجی انتخاب می شوند را دریافت میکنند.
کاربرد شبکههای مصنوعی در تصمیم گیریها
مهمترین عنصر تصمیم گیری، اطلاعات مناسب است که در مدیریت مهم است. اطلاعاتی که بتواند آینده و رویکرد کاری منجر به تصامیم بهتری شود، ابزارهای کمی و کیفی وجود دارد و یکی از روش های کیفی شاخه های هوش مصنوعی مطرح است.
شبکه های عصبی برای حل مسائل متنوعی، مانند: دسته بندی الگو، تخمین تابع، پیشبینی، بهینه سازی و کنترل در مدیریت به کار میرود.
گوگل و مایکروسافت از شبکه های عصبی برای تقویت اپلیکیشنهای ترجمه خود بهره گرفتهاند و به نتایج بسیار خوبی دست یافتهاند زیرا عمل ترجمه از جمله فرایندهای پیچیده محسوب میگردد.
با استفاده از قابلیت یادگیری شبکه های عصبی سیستم ترجمه میتواند ترجمه های صحیح را برای یادگیری به کار گرفته و به مرور زمان به دقت بیشتری دست یابند.
شبکه های عصبی مصنوعی (ANN)که به این طریق شبیهسازی و برنامهنویسی میشوند تا نسبت به شبکه های عصبی حقیقی (مجموعه سلولهای مغزی) که داخل مغز ما هستند متمایز شوند.
معرفی ANN ها
یک سیستم پردازشی داده ها که از مغز انسان ایده گرفته و پردازش داده ها را به عهده ی پردازنده های کوچک و بسیار زیادی سپرده که به صورت شبکه ای به هم پیوسته و موازی با یکدیگر رفتار می کنند تا یک مسئله را حل کنند.
در این شبکه ها به کمک د انش برنامه نویسی ، ساختا ر داده ای طراحی می شود که میتواند هما نند نورون عمل کند.که به این ساختارداده node یا گره نیزگفته می شود.
بعد باایجاد شبکه ای بین این node ها و اعمال یک الگوریتم آموزشی به آ ن، شبکه را آموزش میدهند .
در این حافظه یا شبکه ی عصبی node ها دارای دو حالت فعال(on یا 1) وغیرفعال( off یا 0) اند و هر یال (سیناپس یا ارتباط بین node ها)دارای یک وزن میباشد.
یالهای با وزن مثبت ،موجب تحریک یا فعال کردن node غیر فعال بعدی می شوند و یالهای با وزن منفی node متصل بعدی را غیر فعال یا مهار(در صورتی که فعال بوده باشد) میکنند.
ANN ها در واقع مثلثی هستند با سه ضلع مفهومی:
سیستم تجزیه و تحلیل داده ها
نورون یا سلول عصبی
قانون کار گروهی نورونها (شبکه)
ANN ها دست کم از دو جهت شبیه مغز انسا ن اند:
مرحله ای موسوم به یاد گیری دارند.
وزن های سیناپسی جهت ذخیره ی دانش به کار می روند.
هوش مصنوعی و مدل سازی شناختی سعی بر این دارند که بعضی خصوصیات شبکه های عصبی را شبیه سازی کنند.
گرچه این دو روشهای شان شبیه همدیگر است، اما هدف هوش مصنوعی از این کار حل مسائل شخصی و هدف مدل سازی شناختی، ساخت مدلهای ریاضی سیستم های نورونی زیستی میباشد.
به طور خلاصه یک شبکه عصبی باید خصوصیات زیر را داشته باشد:
بتواند الگوها را طبقه بندی کند.
به اندازه کافی کوچک باشد تا از نظر فیزیکی واقع گرایانه باشد.
با به کار گیری آموزش، قابل برنامه ریزی باشد و قدرت یادگیری داشته باشد.
یعنی توانایی تنظیم پارامترهای شبکه ( اوزان سیناپتیکی )، در مسیر زمان که محیط شبکه تغییر میکند و شبکه وارد شرایط جدیدی میشود.
هدف از این کار این است که اگر شبکه برای یک وضعیت خاص آموزش دید و تغییر کوچکی در شرایط محیطی شبکه رخ داد، شبکه بتواند با آموزش مختصر، برای شرایط جدید نیز کارآمد باشد.
دیگر این که اطلاعات در شبکه های عصبی در سیناپس ها ذخیره و هر نرون در شبکه به صورت بالقوه از کل فعالیت سایر نرون ها تأثیر می پذیرد. در نتیجه اطلاعات از نوع مجزا از هم نبوده و متأثر از کل شبکه میباشد.
توانایی تعمیم را با استفاده از مثال های ارائه شده در فرآیند آموزش، داشته باشد.
به طور خلاصه یک شبکه عصبی باید خصوصیات زیر را داشته باشد:
بتواند الگوها را طبقه بندی کند.
به اندازه کافی کوچک باشد تا از نظر فزیکی واقع گرایانه باشد.
با به کار گیری آموزش، قابل برنامه ریزی باشد و قدرت یادگیری داشته باشد.
یعنی توانایی تنظیم پارامترهای شبکه ( اوزان سیناپتیکی )، در مسیر زمان که محیط شبکه تغییر میکند و شبکه وارد شرایط جدیدی می شود.
هدف از این کار این است که اگر شبکه برای یک وضعیت خاص آموزش دید و تغییر کوچکی در شرایط محیطی شبکه رخ داد، شبکه بتواند با آموزش مختصر، برای شرایط جدید نیز کارآمد باشد.
دیگر این که اطلاعات در شبکه های عصبی در سیناپس ها ذخیره و هر نرون در شبکه به صورت بالقوه از کل فعالیت سایر نرون ها تأثیر می پذیرد. در نتیجه اطلاعات از نوع مجزا از هم نبوده و متأثر از کل شبکه می باشد.
توانایی تعمیم را با استفاده از مثال های ارائه شده در فرآیند آموزش، داشته باشد
نرم افزارهای شبکه های زیستی
نرم افزارهایی برای شبیه سازی ،مطالعه و تحقیق سیستمهای عصبی زیستی و گسترش شبکه های عصبی مصنوعی وAdaptive system ها .
شبیه سازها: نرم افزارهایی برای شبیه سازی رفتار شبکه های عصبی زیستی و مصنوعی که به صورت مستقل عمل می کنند و قادرند فرآیند آموزش شبکه ی عصبی را به شکل تصویری نمایش دهند.
شبیه سازهای تحقیقاتی :برای مطالعه ی الگوریتم ها و ساختارهای شبکه ی عصبی که به فهم بهتر رفتارها و خصوصیات شبکه ی عصبی کمک می کنند.(مطالعه ی ویژگی های شیمیایی و زیستی بافتهای عصبی و پالس های الکترومغناطیسی بین نورونها).
رایجترین شبیه سازهای ANN ها :
SNNS (Stuttgart neural network simulator), PDP++ (parallel distribution processing), JavaNNS
رایجترین شبیه سازهای شبکه های زیستی:
XNBC, BNN Toolbox
شبیه سازهای آنالیز داده :علی رغم دسته ی اول ،کاربردهای عملی شبکه های عصبی را مطالعه می کنند.استفا ده از آنها نسبتا ساده است در عوض تواناییهاشان محدود است . بر روی Data miningوپیش بینی ها کار می کنند.
بعضی از آنها عبارتند از:
Microsoft Excel, MATL
Development Environment ها: برای گسترش و آرایش شبکه های عصبی به کار میروند.
رایج ترین نرم افزارهای این دسته عبارتند از:
MathWorks NN Toolbox, GBlearn2
ایدهی اصلی عملکرد شبکه های عصبی مصنوعی
هر گره دارای دو وضعيت فعال و غيرفعال است(صفر يا يك) و هر يال نيز دارای يك وزن میباشد (شكل 2). يالهای با وزن مثبت بين دو گره تا گره فعال ديگری را تحريك میكنند و يالهای با وزن منفی بين دو گره، گره فعال ديگری را غير فعال میسازند.
حوه عملكرد شبكه بدين صورت است كه ابتدا يك گره به تصادف انتخاب میشود. اگر يك يا بيشتر از همسايههای آن گره فعال بودند جمع وزندار يالهای منتهی به آن گرهها حساب میشود.
اگر اين جمع مثبت بود گره فعال میشود و در غير اين صورت گره مذكور غيرفعال باقی خواهد ماند. سپس مجددا يك گره ديگر به تصادف انتخاب شده و همين عمليات آنقدر تكرار میشود تا شبكه به يك حالت پايدار برسد.
تز اصلی هاپفيلد : از هر حالت ابتدايی و با هر وزنی از يالها كه شروع كنيم، شبكه در نهايت به حالت پايدار خواهد رسيد.
مهم ترین تفاوت حافظه ی انسان و حافظه ی کامپیوتر
يكی از مهمترين تفاوتهای حافظه انسان با حافظه كامپيوتر در نوع آدرس دهی اين دو نوع حافظه میباشد.
در حافظه كامپيوتر اساس كار بر پايه آدرس خانههای حافظه يا آدرس اطلاعات بر روی حافظه دائم میباشد.
به عنوان مثال برای دستيابی به يك تصوير يا متن خاص، بايد آدرس حافظه يا فايل مربوط به آن تصوير يا متن را داشته باشيد.
اما با داشتن خود تصوير يا متن نمیتوانيد به سادگی آدرس حافظه مربوطه را بيابيد (البته به اين معنی كه اين كار با يك قدم قابل انجام نيست، وگرنه میتوانيد تصوير يا متن مورد نظر را با تمام موارد موجود در حافظه مقايسه كرده و در صورت تطبيق آدرس را بيابيد.
ناگفته پيداست كه انجام چنين كاری بسيار زمان بر و پر هزينه میباشد).
اما به سازوكار همين عمل در ذهن انسان دقت كنيد. با ديدن يك تصوير ناقص اغلب بلافاصله كامل آنرا به خاطر میآوريد يا با ديدن تصوير يك شخص سريعا نام او را میگوييد، يا با خواندن يك متن سريعا تمامی مطالب مربوط به آن را به ذهن میآوريد.
در واقع ذهن انسان يك نوع حافظه آدرسدهی شده بر اساس محتواست (Content Addressable Memory). همانگونه كه از اين نام مشخص است در اين نوع حافظه، با دادن محتوای يك خانه حافظه، بلافاصله آدرس آن به عنوان خروجی داده میشود.
شبکه های عصبی در مقابل کامپیوترهای معمولی
شبکه های عصبی نسبت به کامپیوتر های معمولی مسیر متفاوتی را برای حل مسئله طی می کنند . کامپیوتر های معمولی یک مسیر الگو ریتمی را استفاده می کنند به این معنی که کامپیوتر یک مجموعه از دستورالعمل ها را به قصد حل مسئله پی میگیرد.
بدون اینکه، قدم های مخصوصی که کامپیوتر نیاز به طی کردن دارد، شناخته شده باشند کامپیوتر قادر به حل مسئله نیست.
این حقیقت قابلیت حل مسئله ی کامپیوتر های معمولی را به مسائلی ،محدود می کند که ما قادر به درک آنها هستیم و می دانیم چگونه حل میشوند.
اما اگر کامپیوتر ها میتوانستند کار هایی را انجام دهند که ما دقیقا نمیدانیم چگونه انجام دهیم، خیلی پر فایده تر بودند.
شبکه های عصبی اطلاعات را به روشی مشابه با کاری که مغز انسان انجام میدهد پردازش میکنند.
آنها از تعداد زیادی از عناصر پرداز شی(سلول عصبی) که فوق العاده بهم پیوسته اند تشکیل شده است که این عناصر به صورت موازی باهم برای حل یک مسئله مشخص کار می کنند .شبکه های عصبی با مثال کار می کنند و نمیتوان آنها را برای انجام یک وظیفه خاص برنامه ریزی کرد مثال ها می بایست با دقت انتخاب شوند در غیر این صورت زمان سودمند، تلف میشود و یا حتی بدتر از این شبکه ممکن است نا درست کار کند.
امتیاز شبکه عصبی این است که خودش کشف می کند که چگونه مسئله را حل کند ، عملکرد آن غیر قابل پیش گویی است.
از طرف دیگر ، کامپیوتر های معمولی از یک مسیر مشخص برای حل یک مسئله استفاده میکنند.
راه حلی که مسئله از آن طریق حل می شود باید از قبل شناخته شود و به صورت دستورات کوتاه و غیر مبهمی شرح داده شود. این دستورات سپس به زبان های برنامه نویسی سطح بالا برگردانده می.شود و بعد از آن به کدهایی که کامپیوتر قادر به درک آنها است تبدیل می شود.
به طور کلی این ماشین ها قابل پیش گویی هستند و اگر چیزی به خطا انجام شود به یک اشتباه سخت افزاری یا نرم افزاری بر می گردد.
شبکه های عصبی و کامپیوتر های معمولی با هم در حال رقابت نیستند بلکه کامل کننده یکدیگرند.
وظایفی وجود دارد که بیشتر مناسب روش های الگو ریتمی هستند نظیر عملیات محاسباتی و وظایفی نیز وجود دارد که بیشتر مناسب شبکه های عصبی هستند.
حتی فراتر از این، مسائلی وجود دارد که نیازمند به سیستمی است که از تر کیب هر دو روش بدست می آید (بطور معمول کامپیوتر های معمولی برای نظارت بر شبکه های عصبی به کار گرفته می شوند ) به این قصد که بیشترین کارایی بدست آید.
شبکه های عصبی معجزه نمی کنند اما اگر خردمندانه به کار گرفته شوند نتایج شگفت آوری را خلق میکنند.
نواقص و عیب های ANNها
با وجود برتری هایی که شبکه های عصبی نسبت به سیستم های مرسوم دارند، معایبی نیز دارند که پژوهشگران این رشته تلاش دارند که آن ها را به حداقل برسانند، از جمله:
قواعد یا دستورات مشخصی برای طراحی شبكه جهت یك كاربرد اختیاری وجود ندارد.
در مورد مسایل مدلسازی، نمیتوان صرفاً با استفاده از شبكه عصبی به فیزیك مسأله پی برد. به عبارت دیگر مرتبط ساختن پارامترها یا ساختار شبكه به پارامترهای فرآیند معمولاً غیرممكن است.
دقت نتایج بستگی زیادی به اندازه مجموعه آموزش دارد.
آموزش شبكه ممكن است مشكل یا حتی غیرممكن باشد.
پیشبینی عملكرد آینده شبكه ( عمومیت یافتن ) آن به سادگی امكانپذیر نیست.
کاربردهای شبکه های عصبی مصنوعی
امروزه شبكههای عصبی در كاربردهای مختلفی نظير مسائل تشخيص الگو(Pattern Recognition) كه خود شامل مسائلی مانند تشخيص خط(Character Recognition)، شناسايی گفتار(Speech Recognition)، پردازش تصوير(Image Processing) و مسائلی ازاين دست میشود و نيز مسائل دستهبندي(Classification) مانند دستهبندی (Classification Problems)متون و يا تصاوير،به كار میروند.
دركنترل يا مدلسازی سيستمهايی كه ساختار داخلی ناشناخته يا بسيار پيچيدهای دارند نيز به صورت روز افزون از شبكههای عصبی مصنوعی استفاده میشود. به عنوان مثال میتوان در كنترل ورودی يك موتور از يك ANN استفاده نمود كه در اين صورت شبكه عصبی خود تابع كنترل را ياد خواهد گرفت.