مقدمه
الگوريتم ها در كامپيوتر ها اعمال مشخص و واضحي هستند كه بصورت پي در پي و در جهت رسيدن به هدف خاصي انجام مي شوند.حتي در تعريف الگوريتم اين گونه آمده است كه الگوريتم عبارت است از مجموعه اي ازاعمال واضح كه دنبال اي از عمليات را براي رسيدن به هدف خاصي دنبال مي كنند.آنچه در اين تعريف خود نمايي مي كند كلمه دنباله مي باشد كه به معناي انجام كار ها بصورت گام به گام مي باشد. اين امر مشخص مي كند كه همه چيز در الگوريتم هاي سنتي بايد قدم به قدم براي كامپيوتر مشخص و قابل فهم و درك باشد.حتي در اولين الگوريتمهاي هوش مصنوعي نيز بر همين پايه و كار قدم به قدم بنا نهاده شده اند.

در اواخرقرن بيستم رويكرد به الگوريتم هاي جديد صورت گرفت كه علتهاي مختلفي داشت مثل حجيم بودن ميزان محاسبات برخي مسايل و بالا بودن مرتبه زماني الگوريتم هاي سنتي در مورد اين مسايل باعث شد نياز به الگوريتمهاي جديد احساس شود.همچنين برخي كارهاي انسان كه هنوز قابل انجام توسط كامپيوتر نبودندو يا به بخوبي توسط كامپيوتر انجام نمي شدند باعث اين رويكرد شد.
مهمترين الگوريتمهاي جديد عبارتند از :۱- شبكه هاي عصبي ۲- منطق فازي ۳- محاسبات تكاملي

شبكه عصبي چيست ؟
اين سوال كه آيا انسان توانا تر است يا كامپيوتر موضوعي است كه ذهن بشر را به خود مشغول كرده است.
اگر جواب اين سوال انسان است چرا كامپيوتر اعمالي مانند جمع و ضرب و محاسبات پيچيده را در كسري از ثانيه انجام مي دهد، حال آنكه انسان براي انجام آن به زمان زيادي نيازمند است. واگر جواب آن كامپيوتر است چرا كامپيوتر از اعمالي مانند ديدن و شنيدن كه انسان به راحتي آنها را انجام مي دهدعاجزاست.جواب اين مسئله را بايد در ذات اعمال جستجو كرد . اعمال محاسباتي اعمالي هستند سريالي و پي در پي به همين دليل توسط كامپيوتر به خوبي انجام مي شوند.حال آنكه اعمالي مانند ديدن وشنيدن كارهاي هستند موازي كه مجمو عه اي از داده هاي متفاوت و متضاد در آنها تفكيك و پردازش مي شوندو به همين دليل توسط انسان به خوبي انجام مي شوند. در واقع مغز انسان اعمال موازي را به خوبي درك و آنها

را انجام مي دهدو كامپيوتر اعمال سريالي را بهتر انجام مي د هد.حال بايد ديدآيا مي توان اين اعمال موازي و در واقع ساختار مغز انسان را به نوعي در كامپيوتر شبيه سازي كرد و آيا مي توان امكان يادگيري كه از جمله توانايي هاي انسان است به نوعي در كامپيوتر مدل سازي نمود.اين كار به نوعي در انسان هم انجام مي شود و زمان انجام آن عمدتا در كودكي است.به عنوان مثال يك كودك ممكن است يك شي مانند چكش را نشناسد اما هنگامي كه آن را مي بيند واسم آن را ياد مي گيرد و سپس چند چكش متفاوت را مي بينداين شي را بخوبي مي شناسدو اگر بعد از مدتي چكشي را كه تا كنون آن را نديده است ببيند به راحتي تشخيص مي دهد كه شي مورد نظر يك چكش است و تنها از نظر جزئيات با چكش هاي مشابه كه قبلا ديده است تفاوت دارد.

لازم به ذكر است كه شبكه هاي عصبي تنها در يادگيري كاربرد ندارند، بلكه تمام مسائل جديد وكلاسيك توسط آنها قابل حل مي باشد.اما آنچه شبكه هاي عصبي بدان نيازمند است مثالها و نمونه هاي مفيد وكافي است كه بتواند به خوبي فضاي مسئله را پوشش دهند.حال بايد ديدچگونه مي توان شبكه عصبي انسان را به نوعي شبيه سازي نمود، براي اين كار نخست به ساختار مغز و سيستم عصبي انسان نگاهي گذرا مي اندازيم.

مغز انسان يكي از پيچيده ترين اعضاي بدن است كه تا كنون نيز به درستي شناخته نشده است و شايد اگر روزي به درستي شناخته شودبتوان شبيه سازي بهتري از آن انجام داد و به نتايج بهتري درباره هوش مصنوعي رسيد.تحقيقات در مورد شبكه هاي عصبي نيز از زماني آغاز شد كه رامون سگال درباره ساختار مغز و اجزاي تشكيل دهنده آن اطلاعات و نظراتي ارائه كرد. او در اوايل قرن بيستم مغز را به عنوان اجتماعي از اجزاي كوچك محاسباتي دانست و آنها را نرون ناميد.امروزه ما مي دانيم كه بيشتر فعاليتهاي انسان را نرونها انجام مي

دهندو در كوچكترين فعاليتهاي حياتي انسان مانند پلك زدن نيز نقش حياتي و اساسي دارند.اين نكته هم بسيار جالب است بدانيد كه در بدن ما حدود نرون وجود دارد كه هر كدام از اين نرونها با نرون ديگر در ارتباط هستند.نرونها شكلها و انواع مختلفي دارند، اما به طور عمده در سه دسته تقسيم بندي مي شوند. اما نرون ها از نظري ديگر به دو دسته تقسيم مي شوند:۱- نرونهاي داخلي مغز كه در فاصله هاي حدود ۱۰۰ميكرون به يكديگر متصلند ونرونهاي خارجي كه قسمتهاي مختلف مغز را به يكديگر و مغز را به ماهيچه ها و اعضاي حسي را به مغز متصل مي كنند.اما همانطور كه گفتيم نرونها از نظري ديگر به سه دسته تقسيم مي شوند كه عبارتند از:

۱- نرونهاي حسي : كاري كه اين نرونها انجام مي دهند اين است كه اطلاعات را از اندام هاي حسي بدن به مغز و نخاع مي رسانند.
۲- نرونهاي محرك :اين نرونهافرمانهاي مغز و نخاع را به ماهيچه ها و غدد و ساير اندام هاي حسي و تحت فرمان مغز مي رسانند.
۳- نرونهاي ارتباطي : اين نرونها ماننديك ايستگاه ارتباطي بين نرونهاي حسي ونرونهاي محرك عمل مي كنند .
گفتني است كه نرون ها در همه جاي بدن هستند وبه عنوان عنصر اصلي مغز محسوب مي شوندوبه تنهايي مانند يك واحد پردازش منطقي عمل مي كنند نحوه عمليات نرون بسيار پيچيده است و هنوز در سطح ميكروسكوپي چندان شناخته شده نيست ، هر چند قوانين پايه آن نسبتا روشن است. هر نرون ورودي هاي متعددي را پذيرا است كه با يكديگر به طريقي جمع مي شوند. اگر در يك لحظه تعداد ورودي هاي فعال
نرون به حد كفايت برسدنرون نيز فعال شده و آتش مي كند. در غير اين صورت نرون به صورت غير فعال و آرام باقي مي ماند.حال به بررسي اجزاءخود نرون مي پردازيم:
نرون از يك بدنه اصلي تشكبل شده است كه به آن سوما گفته مي شود. به سوما رشته هاي نا منظم طولاني متصل است كه به آنها دندريت مي گويند. قطر اين رشته ها اغلب از يك ميكرون نازكتر است و اشكال شاخه اي پيچيده اي دارند.شكل ظريف آنها شبيه شاخه هاي درخت بدون برگ است كه هر شاخه بارها وبارها به شاخه هاي نازكتري منشعب مي شود.دندريت ها نقش اتصالاتي را دارندكه ورودي هارا به نرون ها مي رساند.اين سلولها مي توانندعملياتي پيچيده تر از ععمليات جمع ساده را بر ورودي هاي خود انجام دهند، از اين رو عمل جمع ساده را مي توان به عنوان تقريب قابل قبولي از عمليات واقعي نرون به حساب آورد.
يكي از عناصر عصبي متصل به هسته نرون آكسون ناميده مي شود.اين عنصر بر خلاف دندريت از نظر الكتريكي فعال است و به عنوان خروجي نرون عمل مي كند. آكسون هميشه در روي خروجي سلولها مشاهده مي شوند ليكن اغلب در ار تباط هاي بين نروني غايب اند.در اين مواقع خروجي ها و ورودي ها هر دو بر روي دندريت هاواقع مي شوند. آكسون وسيله اي غير خطي است كه در هنگام تجاوز پتانسيل ساكن داخل هسته از حد معيني پالس ولتاژي را به ميزان يك هزارم ثانيه ، به نام پتانسيل فعاليت ، توليد مي كند. اين پتانسيل فعاليت در واقع يك سري از پرش هاي سريع ولتاژ است.رشته آكسون در نقطه تماس معيني به نام سيناپس قطع مي شود ودر اين مكان به دندريت سلول ديگر وصل مي گردد. در واقع اين تماس به صورت اتصال مستقيم نيست بلكه از طريق ماده شيميايي موقتي صورت مي گيرد.سيناپس پس از آنكه پتانسيل آن از طريق پتانسيل هاي فعاليت در يافتي از طريق آكسون به اندازه كافي افزايش يافته از خود ماده شيميايي منتقل كننده عصبي ترشح مي كند.براي اين ترشح ممكن است به دريافت بيش از يك پتانسيل فعاليت نياز باشد. منتقل كننده عصبي ترشح شده در شكاف بين آكسون ودندريت پخش مي شودو باعث مي گرددمي گردد كه دروازه هاي موجود در دندريت ها فعال شده و باز شود و بدين صورت يون هاي شارژ شده وارد دندريت مي شوند. اين جريان يون است كه باعث مي شود پتانسيل دندريت افزايش يافته و باعث يك پالس ولتاژ در دندريت شودكه پس از آن منتقل شده و وارد بدن نرون ديگر مي گردد. هر دندريت ممكن است تحت تأثيرتعداد زيادي سيناپس باشد وبدين صورت اتصالات داخلي زيادي را ممكن مي سازد. در اتصالات سيناپسي تعداد دروازه هاي باز شده بستگي به مقدار

منتقل كننده عصبي آزاد شده داردو همچنين به نظر مي رسدكه پاره اي سيناپس ها باعث تحريك دندريت ها مي شوند در صورتي كه پاره اي سيناپس ها دندريت ها را از تحريك باز مي دارند. اين به معناي تغيير پتانسيل محلي دندريت ها در جهت مثبت يا منفي مي باشد.يك نرون خود به تنهايي مي تواند داراي ورودي هاي سيناپسي متعددي در روي دندريت هاي خود باشد و ممكن است با خروجي هاي سيناپسي متعددي به دندريت هاي نرون ديگر وصل شود.

يادگيري در سيستم هاي بيولوژيك
تصور مي شود يادگيري هنگامي صورت مي گيرد كه شدت اتصال يك سلول و سلول ديگر در محل سيناپس ها اصلاح مي گردد.به نظر مي رسد كه اين مقصود از طريق ايجاد سهولت بيشتر در ميزان آزاد شدن

ناقل شيميايي حاصل مي گردد. اين حالت باعث مي شود كه دروازه هاي بيشتري روي دندريت هاي سمت مقابل باز شود و به اين صورت باعث افزايش ميزان اتصال دو سلول شود. تغيير ميزان اتصال نرون ها به صورتي كه باعث تقويت تماس هاي مطلوب شود از مشخصه هاي مهم در مدل هاي شبكه هاي عصبي است.

سازمان مغز
مغز از قسمتهاي مختلفي تشكيل شده و هر كدام از اين قسمت ها مسئوليت انجام وظايف متفاوتي را به عهده دارد. در اانسان اين سازماندهي كاملا مشهود است. بزرگترين قسمت مغز نيمكره هاي مخ است كه قسمت عمده فضاي داخلي جمجمه را اشغال مي كند. مخ ساختار لايه اي دارد.آخرين لايه خارجي آن قشر مغز ناميده مي شود ، جايي كه سلولهاي نرون براي تسهيل اتصالات داخلي كاملا به هم فشرده شده اند.نقش اين قشر در انسان و حيوان كاملا شناخته نشده است ولي مي توانيم شواهدي از آن نقش رااز طريق تحقيقاتي

به دست آوريم كه بر روي حيواناتي صورت گرفته كه اين بخش از مغز آنها خارج شده است. براي مثال يك سگ در اين حالت مي تواند به خوبي راه برود، غذا بخورد و بخوابد و حتي پارس كند . ولي در همان حال سگ كور مي شودو احساس بويايي خود را از دست مي دهد . به ويژه اينكه تمامي علاقه خود را به محيط اطراف از دست مي دهد ، نسبت به افراد و شنيدن نام خود عكس العملي نشان نمي دهد و نسبت به سگ هاي ديگر حتي حتي از جنس مخالف بي تفاوت مي ماند. در ضمن قدرت يادگيري را از دست مي دهد. در واقع ويژگيهايي را كه ما اصطلاحا هوش مي ناميم از دست مي دهد ،ويژگي هايي چون آگاهي ، علاقه ، تعامل با محيط و قدرت سازگاري و يادگيري. بنابراين به نظر مي رسد كه مخ بستر وظايف عالي تر مغز و هسته هوش مركزي است.

پژوهشگران سالها در مورد لايه قشر خارجي مغز تحقيق كرده اند و به تدريج به اسرار آن پي بردهاند . به نظر مي رسدكه تقسيم وظايف در اين قسمت از مغز حالت منطقه اي دارد،به طوري كه هر قسمت ازقشر مغز نقش جداگانه اي مانند كنترل دست ،شنيدن وديدن را ايفا مي كند.به ويژه قسمت بينايي مغز جالب است. در قسمت بينايي ،تحريكات الكتريكي سلولها مي تواند حالت احساس نور را موجب شود. تحليل دقيق نشان داده است كه لايه هاي مخصوص از نرون ها به جهت هاي معيني از تحريكات نوري حساس اند ، به طوري كه

مثلا يك لايه اكثرا به خطوط افقي و لايه ديگر اكثرا به خطوط عمودي حساسيت نشان مي دهد. گر چه قسمت عمده اي از اين ساختار به طور ژنتيكي از پيش تعيين شده است ، به نظر مي رسد كه آرايش سلولها و گرايش آن ها به جهات مختلف در سالهاي اوليه زندگي فرا گرفته مي شود. حيواناتي كه در محيط صرفا داراي خطوط افقي پرورش مي يابند در نهايت داراي ساختار نروني نخواهند بود كه نسبت به خطوط عمودي حساس باشد. اين امر نشان مي دهد كه ساختار هاي مغزي از داده هاي محيطي تاثير مي پذيرند وصرفا از طرف عوامل ژنتيكي تعيين نمي شوند. اين حالت در كورتكس بينايي اصطلاحا خود سازمان دهي ناميده مي شود، زيرا هيچ آموزگار خارجي براي آموزش مغز مداخله ندارد.

 

نرون پايه
در مطالب گذشته ديديم كه مغز از مكانيزم بسيار پيشرفته اي برخوردار است كه هنوز چندان شناخته شده نيست و توانايي انجام اعمال بسيار شگرف را دارد. همچنين ديديم بسياري از كارهايي كه آرزو داريم كامپيوتر توانايي انجامشان را داشته باشند ، توسط مغز انجام مي شود.در واقع فلسفه اصلي محاسبات شبكه هاي عصبي اين است كه با مدل كردن ويژگي عمده مغز و نحوه عملكرد آن بتوان كامپيو ترهايي را ساخت كه اكثر ويژگي هاي مفيد مغز را از خود نشان دهد.به پيچيدگي ساختار مغز اشاره كرديم و گفتيم كه مغز را مي توان به

صورت مجموعه بسيار متصل وشبكه اي از عناصر پردازشي نسبتا ساده در نظر گرفت. به مدلي نياز داريم كه بتواند ويژگي هاي مهم سيستم هاي عصبي را كسب كند ، به اين منظور كه بتواند رفتار مشابهي را از خود بروز دهد. ليكن اگر بخواهيم اين مدل به اندازه كافي براي فهميدن و به كارگيري ساده باشد بايد بسياري از جزئيات را عمدا ناديده بگيريم . استخراج تعداد محدودي ويژگي هاي مهم و ناديده گرفتن بقيه ويژگي ها از ضروريت هاي معمول مدل سازي است . هدف مدل سازي اصولا ايجاد نمونه ساده تري از سيستم است كه رفتار عمومي سيستم را حفظ كرده و كمك كند كه سيستم با سهولت بيشتر قابل درك باشد

عمليات شبكه‌هاي عصبي
تا اينجا تمام توجه ما معطوف ساختار دروني يك نرون مصنوعي يا المان پردازشي بود. اما بخش مهم ديگري در مراحل طراحي يك شبكه عصبي نيز وجود دارد. در واقع هنر يك طراح شبكه‌هاي عصبي مي‌تواند در چگونگي تركيب نرون‌ها در يك شبكه (neuran Clustering)، متجلي شود. علوم بيولوژي نشان داده‌اند كه كلاسترينگ نرون‌ها در

شكل ۳
شبكه عصبي مغز ما به‌گونه‌اي است كه ما را قادر مي‌سازد تا اطلاعات را به‌ صورتي پويا، تعاملي و خودسامان (selforganizing) پردازش كنيم. در شبكه‌هاي عصبي بيولوژيك، نرون‌ها در ساختار‌ي سه بعدي به يكديگر اتصال يافته‌اند. اتصالات بين نرون‌ها در شبكه‌هاي عصبي بيولوژيك آنقدر زياد و پيچيده‌است كه به هيچ وجه نمي‌توان شبكه مصنوعي مشابهي طراحي كرد. تكنولوژي مدارات مجتمع امروزي به ما امكان مي‌دهد كه شبكه‌هاي عصبي را در ساختار‌هاي دو بعدي طراحي كنيم. علاوه بر اين، چنين شبكه‌هاي مصنوعي داراي تعداد محدودي لايه و اتصالات بين نرون‌ها خواهند بود. بدين ترتيب، اين واقعيات و محدوديت‌هاي فيزيكي تكنولوژي فعلي، دامنه كاربردهاي شبكه‌هاي عصبي مبتني‌بر تكنولوژي سيليكوني را مشخص مي‌سازند.

ساختار شبكه‌هاي عصبي امروزي، از لايه‌هاي نروني تشكيل شده است. در چنين ساختاري، نرون‌ها علاوه بر آنكه در لايه خود به شكل محدودي به يكديگر اتصال داده شده‌اند، از طريق اتصال بين لايه‌ها نيز به نرون‌هاي طبقات مجاور ارتباط داده مي‌شوند. در شكل ۱ نمونه‌اي از ساختار لايه‌اي يك شبكه عصبي مصنوعي نمايش داده شده است (تعداد اتصالات ممكن بين نرون‌ها را در چنين ساختاري با تعداد اتصالات بين نرون‌هاي مغز انسان، مقايسه كنيد). در اين توپولوژي، گروهي از نرون‌ها از طريق ورودي‌هاي خود با جهان واقعي ارتباط دارند. گروه ديگري از نرون‌ها نيز از طريق خروجي‌هاي خود، جهان خارج را مي‌سازند. در واقع اين <جهان خارج> تصويري است كه شبكه عصبي از ورودي خود مي‌سازد يا مي‌توان چنين گفت كه

جهان خارج <تصوري> است كه شبكه عصبي از ورودي خود دارد. خلاصه آنكه در توپولوژي فوق، مابقي نرون‌ها از ديد پنهان هستند.تلاش محققان در زمينه شبكه‌هاي عصبي نشان داده است كه شبكه‌هاي عصبي، چيزي بيشتر از يك مشت نرون كه به يكديگر اتصال داده شده‌اند، هستند. حتي گروهي از محققان سعي داشته‌اند كه از اتصالات تصادفي براي ارتباط دادن نرون به يكديگر استفاده كنند كه در اين زمينه به نتايج جالب توجهي دست نيافتند. امروزه مشخص شده است كه در ساده‌ترين مغز‌هاي بيولوژيك مانند مغز مارها هم ارتباطات بين

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

مياني). در بسياري از شبكه‌هاي عصبي، اتصالات بين‌نروني به گونه‌اي است كه نرون‌هاي لايه‌هاي مياني، ورودي خود را از تمام نرون‌هاي لايه پاييني خود (به طور معمول لايه نرون‌هاي ورودي) دريافت مي‌كنند. بدين ترتيب در يك شبكه عصبي، سيگنال‌ها به تدريج از يك لايه نروني به لايه‌هاي بالاتر حركت مي‌كنند و در نهايت به لايه آخر و خروجي شبكه مي‌رسند. چنين مسير در اصطلاح فني feed forward ناميده مي‌شود. ارتباطات بين‌نروني در شبكه‌هاي عصبي از اهميت بسيار زيادي برخوردار هستند و به نوعي قدرت يك شبكه عصبي را تعيين مي‌كنند. قاعده آن است كه ارتباطات بين نروني را به دو گروه تقسيم‌بندي مي‌كنند. يك نوع از ارتباطات بين نروني، به‌گونه‌اي هستند كه باعث جمع شدن سيگنال در نرون بعدي مي‌شوند. گونه دوم ارتباطات بين نروني باعث تفريق سيگنال در نرون بعدي مي‌شوند. در اصطلاح محاوره‌اي گروهي از ارتباطات انگيزش ايجاد مي‌كنند و گروه ديگر ممانعت به عمل مي‌آورند.

شكل ۴
در مواردي، نرون مشخصي از شبكه عصبي تمايل دارد كه سيگنال ديگر نرون‌هاي لايه خود را ناديده بگيرد. چنين حالتي به‌طور معمول در لايه خروجي ايجاد مي‌شود. به عنوان مثال، در كاربردهاي تشخيص متن (OCR)، فرض كنيد كه احتمال آنكه كاراكتر مورد شناسايي، حرف P باشد برابر با ۸۵ درصد تعيين شده است و به همين ترتيب احتمال آنكه كاراكتر مورد نظر حرف F باشد، ۶۵‌ درصد تخمين زده است. در اين وضعيت، سيستم بايد كاراكتري را برگزيند كه داراي درصد احتمال بزرگ‌تر است. در نتيجه در اين شبكه عصبي، نرون‌هايي كه خروجي F را تجويز مي‌كنند، بايد ناديده گرفته ‌شوند يا inhibit شوند. به چنين فرايندي، lateral inhibition گفته مي‌شود.

نوع ديگري از ارتباط بين نروني در شبكه‌هاي عصبي به ارتباط بازخورد يا feedback معروف است. در اين نوع از ارتباطات، خروجي يك لايه نروني به لايه قبلي (يا به لايه‌اي كه چند مرحله پايينتر است) اتصال داده مي‌شود. در شكل ۲ نمونه‌اي از يك شبكه عصبي نمايش داده شده كه در آن از ارتباط بازخوردي استفاده شده است. در نرم‌افزارهاي پيشرفته شبكه‌هاي عصبي، كاربر و طراح شبكه عصبي مي‌تواند نوع ارتباطات بين نرون‌ها و لايه‌هاي آنها را تعيين كند.

آموزش شبكه‌هاي عصبي
تا اينجا از ساختار شبكه‌هاي عصبي صحبت كرديم. گفتيم كه شبكه‌هاي عصبي مي‌توانند بر اساس طراحي خود سيگنال‌هاي ورودي را پردازش كنند و به سيگنال‌هاي خروجي مورد نظر تبديل نمايند. به طور معمول، پس از آنكه يك شبكه عصبي طراحي و پياده‌سازي شد، بايد پارامترهاي w و b به ازاي مجموعه‌هايي از سيگنال‌هاي ورودي، به‌گونه‌اي تنظيم شوند كه سيگنال‌هاي خروجي شبكه خروجي مطلوب را تشكيل دهند. چنين فرايندي را آموزش ديدن شبكه عصبي مي‌نامند (در نخستين مرحله آموزش، مقادير w و b به‌طور تصادفي انتخاب

مي‌شوند. زيرا تا اين پارامترها مقدار نداشته باشند، شبكه عصبي قابل استفاده نخواهد بود) در حين آموزش ديدن شبكه عصبي (يعني به تدريج همزمان با افزايش دفعاتي كه مقادير پارامترها براي رسيدن به خروجي مطلوب‌تر، تنظيم مي‌شوند) مقدار پارامتر‌‌ها به مقدار حقيقي و نهايي خود نزديك‌تر مي‌شوند. به‌طور كلي دو روش براي آموزش دادن شبكه‌هاي عصبي وجود دارد. روش supervised و روش unsupervised. روش نخست، شامل مراحلي است كه در بخش قبل، به‌طور مختصر تشريح شد. اما در روش unsupervised، شبكه عصبي بايد

بدون كمك گرفتن از جهان خارج، بتواند كار آموزش را انجام دهد. واقعيت آن است كه در عمل از روش supervised و يا حداكثر از روش‌هاي تركيبي استفاده مي‌شود و فرايند آموزش unsupervised به شكل خالص تنها وعده‌اي است كه شايد در آينده بتواند تحقق يابد.

در حال حاضر و در كاربردهاي پيشرفته، از روش آموزش unsupervised براي ايجاد تنظيمات اوليه بر روي سيگنال‌هاي ورودي شبكه‌هاي عصبي استفاده مي‌شود و باقي مراحل آموزش شبكه به روش supervised ادامه مي‌يابد. همان‌طور كه قبلاً اشاره كرديم، در روش معمول آموزش شبكه‌هاي عصبي، از مجموعه‌ شناخته‌شده‌اي از داده‌هاي ورودي و خروجي‌هاي متناظر آنها (training set data) براي آموزش دادن شبكه استفاده مي‌شود. در چنين فرايندي، پس از اعمال مجموعه‌هاي داده‌هاي آموزشي، پارامترهاي شبكه به تدريج به سمت مقادير نهايي خود همگرا مي‌شوند.

ر شبكه‌هاي عصبي قادر به يافتن الگوهايي در اطلاعات هستند كه هيچكس، هيچگاه از وجود آنها اطلاع نداشته است.
بسته‌هاي نرم‌افزاري پيشرفته توليد و طراحي شبكه‌هاي عصبي، داراي ابزارهايي هستند كه بر روند آموزش شبكه مديريت مي‌كنند. چنين ابزارهايي مي‌توانند سرعت همگرايي پارامتر‌هاي شبكه را زير نظر بگيرند و به عنوان مثال، اجازه دهند كه پارامترهاي يك شبكه مشخص، در طول چندين روز به دقت كافي و مورد نظر طراحان خود برسد.

در مواردي ممكن است كه شبكه‌ عصبي اصولاً موفق به فراگيري نشود. بدين معني كه پارامترهاي شبكه پس از زمان‌هاي طولاني به مقدار مشخصي همگرا نشود. چنين مواردي ممكن است بر اثر ناكافي بودن داده‌هاي آموزشي و يا اصولاً نقص طراحي شبكه ايجاد شوند. حتي مواردي در عمل وجود دارند كه شبكه عصبي مشخصي، بر اثر آموزش بيش از حد، اصطلاحا over trained شود. توجه داشته باشيد كه فرايند آموزش شبكه‌هاي عصبي فقط به ازاي زير مجموعه‌اي از داده‌هايي كه قرار شبكه آنها را در كاربرد حقيقي خود پردازش كند، آموزش

داده مي‌شوند. درصورتي‌كه تعداد داده‌هاي آموزشي يك شبكه عصبي بيش از اندازه زياد باشد (در واقع از تمامي داده‌هاي مسئله براي آموزش دادن به شبكه استفاده شود)، شبكه عصبي به جاي آنكه آموزش ببيند، به حالتي مي‌رسد كه به آن حفظ كردن اطلاعات مي‌گويند. در واقع به جاي آنكه يك شبكه عصبي براي حل مسئله از هوش خود كمك بگيرد، از محفوظات خود استفاده مي‌كند!

پس از آنكه يك شبكه عصبي به اندازه كافي آموزش ديد، طراح يا كاربر شبكه مي‌تواند پارامترهاي شبكه را قفل كند (هر چند كه در مواردي پارامترهاي شبكه آزاد گذارده مي‌شوند تا در طول كاربرد واقعي بازهم شبكه آموزش ببيند). در اين مرحله شبكه عصبي براي كاربرد واقعي خود و حل مسائل آماده خواهد بود. در برخي از ابزارهاي توليد و طراحي شبكه‌هاي عصبي، كل شبكه عصبي به همراه پارامترهاي قفل شده آن، تبديل به نرم‌افزار مستقلي (مثلاً يك فايل dll) مي‌شوند كه مي‌توان از آن در پروژه‌هاي مشخصي استفاده كرد. در برخي از موارد ديگر، چنين شبكه‌هايي پس از آموزش ديدن، به شكل سخت‌افزاري در قالب يك مدار مجتمع (IC) به توليد انبوه يا نيمه انبوه مي‌رسند. آموزش unsupervised يا تطبيقي (Adaptive)

در مورد اين روش آموزش گفتيم كه شبكه‌ عصبي بدون در اختيار داشتن داده‌هاي خروجي، در معرض آموزش قرار مي‌گيرد. در واقع سيستم به تنهايي و بدون كمك خارجي بايد با توجه به شكل سيگنال‌هاي خروجي خود، درباره درستي و نادرستي آنها تصميم‌گيري نمايد. در دنياي واقعي شرايط بسيار زيادي وجود دارند كه در آنها مجموعه اطلاعات كافي براي آموزش دادن به سيستم فراهم نيستند. تحقيقات نظامي يكي از گرايش‌هايي است كه به اين موضوع توجه دقيقي دارد. به عنوان مثال گفته مي‌شود كه شرايط جنگي به دليل فراواني

پارامترها و تكنيك‌هاي نظامي متغير و پيشرفت‌هاي تكنولوژي نظامي، از نمونه مواردي است كه در آنها به هيچ وجه نمي‌توان مجموعه داده‌هاي آموزشي كافي به دست آورد.
در اين زمينه يكي از محققان شبكه‌هاي عصبي، به نام Tuevo Kohonen (از دانشگاه هلسينكي) فعاليتي جدي دارد. كوهونن با تحقيقات در ساختارهاي عصبي غيرمتعارف، به پژوهش در اين زمينه ادامه مي‌دهد. كوهنن، نرون‌هاي شبكه‌عصبي را فيلدهاي مختلفي تقسيم‌بندي مي‌كند. در روش كوهنن، نرون‌هاي هر فيلد <مرتب توپولوژيك> يا Topologically ordered محسوب مي‌شوند (توپولوژي نام شاخه‌اي از رياضيات است كه در آن نگاشت از يك فضا به فضاي ديگر بدون تغيير مشخصه‌هاي هندسي، مورد بررسي قرار مي‌گيرد). گروه‌بندي‌هاي سه‌بعدي كه در ساختار مغز پستانداران يافت شده است، نمونه‌اي از مرتب‌سازي توپولوژيك محسوب مي‌شوند. كوهونن معتقد است كه فقدان ملاحظات توپولوژيك در مدل‌هاي عصبي

امروزي، باعث مي‌شود كه شبكه‌هاي عصبي امروزي، مدل‌هاي ساده شده‌اي از شبكه‌هاي عصبي واقعي موجود در مغز محسوب شوند. در هر صورت اين حوزه از مبحث شبكه‌هاي عصبي، هنوز در مرحله تحقيقات آزمايشگاهي قرارداد و كاربرد واقعي نيافته است. تفاوت‌هاي شبكه‌هاي عصبي با روش‌هاي محاسباتي متداول و سيستم‌هاي خبره گفتيم كه شبكه‌هاي عصبي روش متفاوتي براي پردازش و آناليز اطلاعات ارائه مي‌دهند. اما نبايد اين گونه استنباط شود كه شبكه‌هاي عصبي مي‌توانند براي حل تمام مسائل محاسباتي مورد استفاده واقع شوند. روش‌هاي محاسباتي متداول همچنان براي حل گروه مشخصي از مسائل مانند امور حسابداري، انبارداري و محاسبات عددي مبتني بر فرمول‌هاي مشخص، بهترين گزينه محسوب مي‌شوند. جدول ۱، تفاوت‌هاي بنيادي دو روش محاسباتي را نشان مي‌دهد.

مشخصه روش محاسباتي متداول
(شامل سيستم‌هاي خبره) شبكه‌هاي عصبي مصنوعي
روش پردازش ترتيبي موازي
توابع منطقي (left brained) (estault (right brained

روش فراگيري به كمك قواعد (didactically) با مثال (Socratically)
كاربرد حسابداري، واژه پردازي، رياضيات،
ارتباطات ديجيتال پردازش حسگرها، تشخيص گفتار، نوشتار، الگو

جدول ۱

سيستم‌هاي خبره، انشعابي از روش محاسباتي متداول محسوب مي‌شود و در مواردي هم به آن نسل پنجم محاسبات نام داده‌اند (نسل اول از كليد و سيم‌بندي استفاده مي‌كرد، نسل دوم با اختراع ترانزيستور ايجاد شد، نسل سوم از فناوري مدارات مجتمع استفاده مي‌كرد، نسل چهارم با به وجود آمدن زبان‌هاي سطح بالا آغاز شد و نسل پنجم شامل هوش مصنوعي مي‌شود). به طور معمول، يك سيستم خبره شامل دو بخش عمده مي‌شود. يك بخش يا موتور استنتاجي و يك پايگاه دانايي (Knowledge base). موتور استنتاجي، بخشي است كه رابط كاربر را مديريت مي‌كند و بر فايل‌ها و دسترسي به برنامه‌ها و برنامه‌ريزي كنترل دارد. پايگاه دانايي شامل اطلاعاتي در ارتباط با يك مسئله مشخص است. اين پايگاه به

متخصصان اجازه مي‌دهد كه قواعد فرايند مشخصي را تعريف نمايد. چنين متخصصي نيازي به دانستن روش‌هاي برنامه‌نويسي نخواهد داشت. او تنها بايد كاري كه از كامپيوتر مي‌خواهد را درك كند و شناخت كافي از روش عمل سيستم داشته باشد. درواقع پوسته سيستم بخشي است كه به كامپيوتر مي‌گويد چه‌كار بايد انجام دهد. برنامه‌ لازم براي حل مسئله توسط خود سيستم توليد خواهد شد. تلاش‌هايي كه براي اجرايي كردن سيستم‌هاي خبره به كار گرفته شده‌اند، با مشكلات مشتركي مواجه بوده‌اند. با افزايش سطح پيچيدگي سيستم‌ها، منابع كامپيوتري مورد نياز سيستم به شدت افزايش مي‌يابند و سيستم با كندي بيش از حد روبرو مي‌شود. در حقيقت تجربه نشان داده است كه در وضعيت فعلي، سيستم‌هاي خبره

تنها مي‌توانند در مواقعي مفيد واقع شوند كه هدف محدود و مشخصي تعيين شده باشد. شبكه‌هاي عصبي در مسيري گام برمي‌دارند كه ابزارها توانايي فراگيري و برنامه‌ريزي خود را داشته باشند. ساختارشبكه‌هاي عصبي به گونه‌اي است كه قابليت حل مسئله را بدون كمك فرد متخصص و برنامه‌ريزي خارجي داشته باشند. شبكه‌هاي عصبي قادر به يافتن

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

در اين قسمت به معرفي چند نوع از شبكه هاي عصبي مي پردازيم : ۱- پرسپترون تک لايه ۲- پرسپترون چند لايه ۳- شبکه‌هاي Back Propagation 4-شبکه هاپفيلد ۵- ماشين بولتزمن ۶-شبکه کوهونن

۱- پرسپترون تک لايه
ابتدا مشخصات يك نرون تنها و نحوه مدلسازي آن را بررسي مي كنيم . نقش اصلي يك نرون بيولوژيكي عمل جمع ورودي هاي خود تا جايي است كه مجموع ورودي ها از حدي كه به آن آستانه مي گوييم تجاوز نكند و آن گاه توليد يك خروجي است. ورودي هاي نرون از طريق دندريت ها كه به خروجي هاي نرون ديگر توسط نقاط اتصال ( سيناپس ) متصل است وارد مي شوند . سيناپس ها كارايي سيگنالهاي در يافتي را تغيير مي دهند. بدنه سلول كليه ورودي ها را دريافت مي كند و هنگامي كه مجموع ورودي ها از حد آستانه تجاوز كرد سيگنالي را آتش مي كند. مدلي كه از نرون مي سازيم بايد مشخصه هاي زير را داشته باشد :

۱- خروجي يك نرون فعال است (يك ) و يا غير فعال است ( صفر )
۲- خروجي تنها به ورودي ها بستگي دارد . ميزان ورودي ها بايد به حدي برسد كه خروجي نرون را فعال سازد .

كارآيي سيناپس ها در انتقال سيگنال هاي ورودي به بدنه سلول را مي توان با استفاده از ضريبي كه در ورودي هاي نرون ضرب مي شود مدل سازي كرد.سيناپس ها ي قويتر كه سيگنال بيشتري را منتقل كنند داراي ضريب هاي بسيار بزرگتري هستند در حالي كه سيناپس هاي ضعيف ضريب هاب كوچك تري دارند. بدين صورت مدل ما به صورتي خواهد بود كه در شكل مي بينيد :

اين مدل ابتدا مجموع وزني ورودي ه

اي خود را محاسبه كرده سپس آن را با حد آستانه داخلي خود مقايسه مي كند و چنانچه از آن تجاوز كرد فعال شود. در غير اين صورت غيرفعال باقي مي ماند . چون ورودي ها براي توليد خروجي از ميان نرون عبور مي كنند به اين سيستم (( پيش خور )) مي گوييم .

اين عمل رابايد بصورت رياضي نشان دهيم . اگر تعداد ورودي ها n باشد آن گاه هر خط ورودي داراي يك ضريب وزني مربوط به خود است . نرون مدل سازي شده ورودي هاي خود را محاسبه مي كند. ابتدا اولين ورودي رادر ضريب وزني مربوط به خط ارتباطي آن ورودي ضرب مي كند. سپس همين عمل را براي ورودي دوم وساير ورودي ها تكرار مي كند در نهايت تمام مقادير حاصل را جمع مي كند كه اين عمليات به طور خلاصه به شكل زير است :

+ ورودي ۱ * وزن مربوط به خط ارتباطي ۱ = مجموع ورودي ها
+ ورودي ۲* وزن مربوط به خط ارتباطي ۲
+ ورودي ۳ * وزن مربوط به خط ارتباطي ۳
……………………………………………………………
ورودي n * وزن مربوط به خط ارتباطي n

كه شكل كلي فرمول آن به صورت روبرو خوهد بود:

حاصل جمع فوق بايد با مقدار آستانه نرون مورد نظر مقايسه شود . در مقايسه با آستانه اگر حاصل جمع به دست آمده از ميزان آستانه تجاوز كند آن گاه خروجي نرون مساوي (( ۱ )) خواهد بود و اگر حاصل جمع كمتر از آستانه باشد خروجي مساوي صفر مي شود. اين فرآيند را مي توان را مي توا نيد در شكل زير ببينيد
كه چگونه وقتي مجموع ورودي هاي يك نرون از حد آستانه بيشتر شود خروجي اين نرون برابر يك مي شود و هنگامي كه خروجي آن كمتر از حد آستانه است خروجي آن برابر صفر مي شود.شكلي كه در ادامه مشاهده مي كنيد معروف به تابع پله يا تابع هوي سايد است.

در اين شكل محور x نشان دهنده مجموع ورودي ها و محور y نشان دهنده خروجي نرون است .
از طرف ديگر مي توان مقدار آستانه را ابتدا از حاصل جمع وزني به دست آمده كم كرد و آن گاه مقدار حاصل را با صفر مقايسه كرد . اگر مقدار حاصل مثبت بود خروجي نرون ۱ و در غير اين صورت صفر خواهد بود. اين مورد در شكل ننيز نشان داده شده است .دقت كنيد كه كل تابع آستانه تغيير نكرده است ولي در اين حالت پرش پلكاني در منطقه ۰=x صورت گرفته است . آستانه در واقع تورشي به حاصل جمع وزني اضافه مي كند. راه ديگري براي دستيابي به همين منظور مي تواند حذف كامل آستانه از بدنه نرون و در عوض اضافه كردن يك خط

ورودي با مقدار ثابت ۱ باشد . اين ورودي هميشه فعال باقي مي ماندو ضريب وزني خط ارتباطي آن برابر با مقدار منفي آستانه در نظر گرفته مي شود. در اين صورت به جاي كم كردن مقدار آستانه از حاصل جمع ورودي نرون مي توان ورودي ثابت اضافي ۱+ را در ضريب وزني خود كه برابر با مقدار منفي آستانه است ضرب كرد و به ساير ورودي ها اضافه كرد . به اين راه كار احتساب تورش مي گوييم . به همين صورت مقدار منفي آستانه را تورش يا يك سويي مي ناميم. هر دو راهكار مشابه وقابل قبول است .