آریوبرزن 13988 اشتراک گذاری ارسال شده در 6 اردیبهشت، ۱۳۸۹ معرفي شبکه هاي عصبي مصنوعي شماره اول دوره ششم تاريخ انتشار اين مقاله: 26 مهر 1385 سيد رضا شاه اميري Email : دانشجوي کارشناسي ارشد مهندسي کامپيوتر – نرم افزار دانشگاه آزاد اسلامي واحد نجف آباد Web site : برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید. ورود یا ثبت نام چکيده : در اين نوشتار به معرفي شبکه هاي عصبي مصنوعي[1] و ساختارهاي آنها به صورت خلاصه ميپردازيم. در ابتدا نرونهاي شبکه هاي عصبي طبيعي معرفي شده و طرز کار آنها نشان داده شده است. سپس مدل مصنوعي اين نرونها و ساختار آنها ، مدل رياضي آنها ، شبکه هاي عصبي مصنوعي و نحوه آموزش و بکار گيري اين شبکه ها به همراه روش يادگيري گراديان کاهنده نشان داده شده است. تمرکز بيشتر بر نوعي از اين شبکه ها بنام شبکه هاي عصبي مصنوعي پرسپترون چند لايه ميباشد. ابزاهايي نيز براي پياده سازي اين شبکه ها نام برده شده است. كليدواژهها: شبکه هاي عصبي مصنوعي ، شبکه هاي عصبي، Artificial Neural networks Multi layered Perceptron, Gradient descent مقدمه : در ساليان اخير شاهد حرکتي مستمر از تحقيقات صرفا تئوري به تحقيقات کاربردي بخصوص در زمينه پردازش اطلاعات ، براي مسائلي که براي آنها راه حلي موجود نيست و يا براحتي قابل حل نيستند بوده ايم. با عنايت به اين امر ، علاقه اي فزاينده اي در توسعه تئوريکي سيستمهاي ديناميکي هوشمند مدل آزاد[2] -که مبتني بر داده هاي تجربي ميباشند – ايجاد شده است. ANN ها جزء اين دسته از سيستمهاي مکانيکي قرار دارند که با پردازش روي داده هاي تجربي ، دانش يا قانون نهفته در وراي داده ها را به ساختار شبکه منتقل ميکنند.به همين خاطر به اين سيستمها هوشمند گفته ميشود ، زيرا بر اساس محاسبات روي داده هاي عددي يا مثالها ، قوانين کلي را فرا ميگيرند.اين سيستمها در مدلسازي ساختار نرو-سيناپتيکي[3] مغز بشر ميکوشند. البته اين سخن که" ANN ها در مدلسازي مغز بشر ميکوشند" اغراق آميز ميباشد.دانشمندان هرچه بيشتر در مورد مغز بشر تحقيق ميکنند و مي آموزند ، بيشتر در مي يابند که مغز بشر دست نيافتني است.در حقيقت در مورد مغز و ساختار سيستم عصبي انسان اطلاعات زيادي بدست آمده است. ولي پياده سازي ساختاري با پيچيدگي مغز انسان بر اساس اطلاعاتي و تکنولوژي که امروزه وجود دارد غير ممکن ميباشد. ما ميتوانيم يک نرون عصبي انسان و عملکرد آنرا را توسط مدل هاي رياضي ، مدلسازي کنيم.شکل1 ساختار يک نرون طبيعي را نشان ميدهد. شکل1 - ساختار نرون طبيعي انسان هر نرون طبيعي از سه قسمت اصلي تشکيل شده است : 1. بدنه سلول (Soma) 2. دندريت(Dendrite) 3. اکسون (Axon) دندريتها به عنوان مناطق دريافت سيگنالهاي الکتريکي ، شبکه هايي تشکيل يافته از فيبرهاي سلولي هستند که داراي سطح نامنظم و شاخه هاي انشعابي بيشمار ميباشند .دندريتها سيگنالهاي الکتريکي را به هسته سلول منتقل ميکنند. بدنه سلول انرژي لازم را براي فعاليت نرون فراهم کرده و برروي سيگنالهاي دريافتي عمل ميکند ، که با يک عمل ساده جمع و مقايسه با يک سطح آستانه مدل ميگردد. اکسون بر خلاف دندريتها از سطحي هموارتر و تعداد شاخه هاي کمتري برخوردار ميباشد. اکسون طول بيشتري دارد و سيگنالهاي الکتروشيميايي دريافتي از هسته سلول را به نرونهاي ديگر منتقل ميکند.محل تلاقي يک اکسون از يک سلول به دندريتهاي سلولهاي ديگر را سيناپس ميگويند.توسط سيناپسها ارتباطات مابين نرونها برقرار ميشود.به فضاي مابين اکسون و دندريتها فضاي سيناپسي گويند. در حقيقت دندريتها به عنوان ورودي نرون و اکسون به عنوان خروجي و فضاي سيناپسي محل اتصال ايندو ميباشد. زمانيکه سيگنال عصبي از اکسون به نرونها و يا عناصر ديگر بدن مثل ماهيچه ها ميرسد ، باعث تحريک آنها ميشود. نرونها از هريک از اتصالات ورودي خود يک ولتاژ کم دريافت ميکند ( توسط سيگنال عصبي ورودي ) و آنها را با هم جمع ميزند. اگر اين حاصل جمع به يک مقدار آستانه رسيد اصطلاحا نرون آتش ميکند و روي اکسون خود يک ولتاژ خروجي ارسال ميکند که اين ولتاژ به دندريتهايي که به اين اکسون متصلند رسيده و باعث يکسري فعل و انفعالهاي شيميايي در اتصالات سيناپسي ميشود و ميتواند باعث آتش کردن نرونهاي ديگر شود. تمامي فعاليتهاي مغزي انسان توسط همين اتش کردنها انجام ميشود. حافظه کوتاه مدت انسان جرقه هاي لحظه اي الکتريکي ميباشند و حافظه بلند مدت به صورت تغييرات الکتروشيميايي در اتصالات سيناپسي ذخيره ميشود که عمدتا منجر به تغيير يونها ميشود. همانگونه که گفته شد ما ميتوانيم توسط مفاهيم رياضي يک نرون طبيعي را مدل کنيم.شکل 2 يک نرون عصبي مصنوعي را نشان ميدهد. شکل 2 ساختار يک نرون مصنوعي سيگنالهاي ورودي تا معادل سيگنالهاي عصبي ورودي و وزنهاي تا معادل مقادير اتصالات سيناپسي وروديهاي نرون ميباشند که جمعا ورودي نرون را تشکيل داده است. تابع جمع کننده تمامي عمليات هسته سلول را انجام ميدهد.در مورد تابع فعال سازي[4] (فشرده سازي[5] ) صحبت خواهد شد. خروجي نرون توسط تابع زير مشخص ميشود: به خصوصيات زير در مورد مغز انسان توجه کنيد : محاسبات کاملا به صورت توزيع شده وموازي انجام ميشود. "يادگيري" جايگزين برنامه ريزي از قبل ميشود. در مغز انسان يک ساختار ALU مشخص وجود ندارد. ALU ، حافظه و کنترل همگي در يک ساختار درهم تنيده شبکه اي از تعداد بسيار زيادي نرون توزيع و پخش شده است. مغز انسان توسط يک پروسه يادگيري مي آموزد که در پاسخ به يک ورودي ، چه خروجي را توليد کرده و ارسال کند. اين فرآيند يادگيري در حقيقت توسط تنظيم اتصالات سيناپسي در نرونهاي طبيعي و معادل آنها در ANN ها ،يعني تنظيم وزنهاي نرونهاي مصنوعي انجام ميشود. در حقيقت در طراحي يک نرون مصنوعي فقط کافيست وزنهاي را مشخص کنيم تا شبکه عصبي بتواند خروجي مورد نظر را از ورودي خاص توليد کند. متدهاي مختلف يادگيري وجود دارد که ميتواند بر اساس زوج مرتبهاي مقدار وزنها را بدست آورد. حال بر اساس مطالب گفته شده ميتوان به تعريف ANN ها پرداخت. تعريف شبکه هاي عصبي مصنوعي يک ساختار شبکه اي از تعدادي عناصر مرتبط به هم به نام نرون که هر نرون داراي وروديها و خروجيهايي است و يک عمل نسبتا ساده و محلي[6] را انجام ميدهد.شبکه هاي عصبي عموما عملکرد خود را طي يک پروسه يادگيري[7] فرا ميگيرد. شبکه هاي عصبي کاربردهاي عمده اي در تشخيص الگو ، گروه بندي ، پيش بيني يا برون يابي و ... دارا ميباشد. تاريخچه در سال 1949 مدل MP شبکه هاي عصبي مصنوعي توسط مک کالوخ و پيت مطرح شد که يک مدل خطي ساده بود . سپس پرسپترون الگوريتمهاي يادگيري را ارائه نمود. سال 1969 آغاز افول موقت شبکه هاي عصبي شد. زيرا عدم توانايي شبکه هاي عصبي در حل مسائل غير خطي آشکار شد. ANN هاي آن زمان فقط قادر به حل مسائلي بودند که ميتوانستيم پاسخهاي آن مسئله را توسط يک خط در محور مختصات از هم جدا کنيم. در 1982 هاپفيلد با معرفي شبکه هاي چند لايه و الگوريتمهاي يادگيري داراي feedback ، راه حلي براي حل موارد غير خطي ارائه کرد.در اين زمان بود که شبکه هاي بازگشتي ، خودسازمانده ، Autoregressive ، RBF و روش يادگيري هيبيان مطرح شد.از نيمه دهه نود ، نسل سوم ANN ها مطرح شدند که عبارت بودند از : · تعيين محدوديتهاي تئوري و عملي شبکه · عموميت و حدود آن · ترکيب ANN و الگوريتمهاي ژنتيکي و منطق فازي در نهايت امروزه استفاده عملي و پياده سازي تجاري و سخت افزاري ANN ها ممکن شده است . معرفي مدل نرون ساده خطي بر اساس ايده گرفته شده از نرونهاي طبيعي ، ميتوان مدل نرون مصنوعي را رائه کرد که بتواند وروديها را باهم ترکيب کرده و يک خروجي از آنها به وجود آورد. در ساده ترين حالت نرون وروديهاي وزن دار را با هم جمع ميکند. شکل 3 يک نرون ساده خطي را نشان ميدهد. شکل3 : نرون ساده خطي ميتوان شبکه عصبي را به صورت يک سيستم محرک / پاسخ در نظر گرفت. مهم اينست که بدانيم تعليم شبکه يعني تنظيم پارامترهاي آن به نحويکه رفتار محرک / پاسخ طبق خواسته باشد. در حين تعليم در واقع مجهولات ما وزنها(w) ميباشند. وزنها در غالب حافظه ها عمل ميکنند و نحوه توليد پاسخ را مشخص ميکنند. درصورتيکه وروديهاي و خروجيهاي متناظر موجود باشد ( به اين زوج ورودي و خروجي مجموعه تعليم[8]گفته ميشود) ، ميتوان وزنها را بر اساس فرمول بدست آورد. ميتوانيم براي اينکه خروجي خاصي توليد شود از يک تابع به نام تابع فشرده سازي[9]استفاده کنيم.اين مسئله در شکل4 نشان داده شده است. شکل 4 : مدل نرون خطي به همراه تابع فشرده سازي تابع فشرده سازي(فعال سازي) رنج وسيعي از مقادير ورودي را به مقدار خاصي نگاشت ميکند.به عنوان مثال ميتوانيم هرمقدار خروجي را به مقادير باينري 0 و 1 نگاشت کنيم. انواع مختلفي از توابع فشرده سازي در ANNها استفاده ميشود. ولي بيشترين استفاده را تابع فشرده سازي سيگمويد[10] دارد. ادعا ميشود که فرکانس آتش نرون طبيعي به صورت تابعي شبيه سيگمويد ميباشد. البته دلايل ديگري براي استفاده از سيگمويد وجود دارد. از جمله : 1. فشرده سازي ميکند. ( رنج ورودي (-∞,+∞) و خروجي [0,1] ميباشد ) 2. تقريبا خطي ، افزايشي و مشتق پذير است. 3. در فرم بسته قابل نمايش است. 4. مشتق گيري از آن ساده است. تکنيکهاي تعيين پارامترهاي نرون خطي بطور کلي دو روش براي تعيين پارامترهاي نرون خطي يا به عبارت ديگر مشخص کردن مقادير وزنها وجود دارد: 1. تعيين مستقيم 2. روالهاي تکرار شونده 1 - تعيين مستقيم فرض کنيم که b بردار پاسخهاي دلخواه ميباشد. بنابر اين : بدين صورت ميتوان مقادير wرا بدست آورد. 2 – روالهاي تکرار شونده نام ديگر اين روش "گراديان کاهنده[11]" ميباشد در ادامه به توضيح اين روش مي پردازيم : قبل از هر چيز بردار گراديان را تعريف ميکنيم: بردار گراديان در واقع جهت تغييرات ماکزيمم در تابع f را نشان ميدهد. در روش کاهش گراديان ، ابتدا مقادير تصادفي براي وزنها انتخاب ميشود و بر اساس اين اوزان خروجيهايي از شبکه بدست مي آيد.در يک روال تکرار شونده محاسبه شده و در جهت آن حرکت خواهد شد.بدين معني که را طوري تغيير ميدهيم که اختلاف خروجي واقعي و خروجي مطوب کمينه شود. حرکت در جهت متناظر با حرکت در جهت کاهش آن با شيب ماکزيمم ميباشد. خطاي شبکه به ازاء وزنهاي برابر است با : در واقع همان تابعي است که بايد کمينه شود.پس : خطاي خروجي برابر است با اختلاف مابين خورجي شبکه (0) و خروجي مطلوب (t).خطاي يک ورودي برابر است با : و خطاي کلي برابر است با : خطاي ميانگين مربع[12] برابر با : قاعده کلي ،بدست آوردن مشتق خطا نسبت به w ميباشد تا بتوانيم تغييرات خطا نسبت به w را به صفر نزديک کنيم.يعني ما بدنبال پيدا کردن ميباشيم که k مرتبه تکرار اين روال است .به عبارتي ديگر : در نتيجه تصحيح وزن jام در مرحله kام از تکرار الگوريتم تعليم به صورت زير ميباشد: که ، مشتق تابع فشرده سازي ( اکتيواسيون) و α، نرخ يادگيري ميباشد که عموما مابين 0 و 1 انتخاب ميشود. بدين صورت ميتوان وزنهاي هر نرون را بدست آورد و روند تعليم شبکه را به اتمام رساند. پس از تعليم ، شبکه آماده توليد خروجي از ورودي متناظر ميباشد. شبکه هاي پرسپترون[13] چند لايه شبکه هايي که از يک نرون ساخته شده اند داراي محدوديتهايي ميباشند. اين شبکه ها توانايي پياده سازي توابع غير خطي را ندارند. به عنوان مثال توسط اين شبکه ها نميتوان تابع XOR را پياده سازي نمود. براي حل اين مشکل شبکه هاي ديگري پيشنهاد شد که ما به يکي از آنان که بيشترين استفاده را دارد مي پردازيم. دليل ديگر معرفي اين نوع شبکه ، استفاده از آن در ابن تحقيق مي باشد. مدل عمومي شبکه هاي پرسپترون ، شبکه جلو رونده[14] با روال تعليم انتشار به عقب[15] است. شبکه هاي جلو رونده شبکه هايي هستند که وروديهاي لايه اول نرونهاي آن به لايه هاي بعدي متصل بوده و در هر سطح اين مسئله صادق بوده تا به لايه خروجي برسد. روال انتشار به عقب بدين معني است که پس از مشخص شدن خروجي شبکه ، ابتدا وزنهاي لايه آخر تصحيح شده و بعد به ترتيب اوزان لايه هاي قبلي تصحيح ميشوند.در اين موارد بيشتر توضيح داده ميشود. شبکه هاي پرسپترون از يک لايه ورودي ، تعدادي لايه پنهان و يک لايه خروجي تشکيل شده است.در شکل 5 يک شبکه پرسپترون با يک لايه پنهان نشان داده شده است. شکل 5 : نمونه اي از يک شبکه پرسپترون در اين شکل لايه X لايه ورودي ، لايه Z لايه پنهان و لايه Y نيز لايه خروجي ميباشد. در اين شبکه ها شرايط زير وجود دارد : 1. نرونهاي هر لايه تنها به نرونهاي لايه بعدي متصل ميباشند. 2. هر نرون به تمامي نرونهاي لايه بعد متصل است. 3. نرونهاي لايه ورودي عملي را انجام نميدهند و اوزان آنها ثابت و برابر يک ميباشد. اين نرونها فاقد تابع فشرده سازي ميباشند. 4. انتشار عملگر رو به جلو است. تمامي نرونها به غير از لايه ورودي جمع کننده بوده و هر نرون ميتواند تابع فشرده سازي مستقلي داشته باشد. 5. هر نرون ميتواند داراي باياس مستقل باشد. 6. تعداد لايه هاي پنهان مشخص نميباشد. الگوريتم يادگيري شبکه هاي پرسپترون ( انتشار به عقب ) در اين بخش به نحوه يادگيري شبکه پرسپترون چند لايه که در شکل 5 نشان داده شده است مي پردازيم. در الگوريتم يادگيري از علائم زير استفاده ميکنم: x : بردار ورودي که براي يادگيري شبکه از آن استفاده ميشود. t : بردار خروجيهاي مطلوب : درصدي از خطا که براي تصحيح وزن استفاده ميشود و براساس خطاي واحد خروجي ميباشد . اين خطا در لايه پنهان قبل از لايه خروجي انتشار به عقب مي يابد. : درصدي از خطا که براي تصحيح وزن استفاده ميشودو بر اساس انتشار به عقب اطلاعات خطا از لايه خروجي به واحد پنهان ميباشد. α: نرخ يادگيري. : واحد ورودي iام. : باياس واحد پنهان jام. : واحد پنهان jام. ورودي شبکه به توسط نشان داده ميشود: سيگنال خروجي توسط مشخص ميشود: : باياس واحد خروجي kام. : واحد خروجي kام: ورودي توسط مشخص ميشود: سيگنال خروجي توسط مشخص ميشود : براي آموزش شبکه توسط انتشار به عقب ، سه مرحله بايد انجام شود : انتشار به جلو الگوهاي يادگيري ورودي ، انتشار به عقب خطاي بدست آمده و تنظيم اوزان. در حين انتشار به جلو ، هر واحد ورودي سيگنال ورودي خودرا در هرکدام از واحدهاي پنهان توزيع ميکند.سپس هرکدام از واحدهاي پنهان اکتيواسيون خودرا محاسبه کرده و سيگنال حاصل را به هرکدام از واحدهاي خروجي ارسال ميکند.در نهايت هرکدام از واحدهاي خروجي با محاسبه اکتيواسيون خود ، را به عنوان پاسخ شبکه به الگوي وردي ، ارائه ميکند. درمرحله يادگيري ،در هرکدام از واحدهاي خروجي ، توليد شده را با مقايسه کرده تا خطاي مربوطه را پيدا کنيم. بر اساس اين خطا ، فاکتورمحاسبه ميشود.از براي توزيع به عقب خطا در تمامي واحدهاي لايه قبلي استفاده ميشود. همچنين از آن براي بروزرساني اوزان ميان واحدهاي لايه پنهان و لايه خروجي نيز استفاده ميشود. به همين صورت نيز براي تک تک واحدهاي پنهان محاسبه ميشود. البته انتشار به عقب خطا در لايه ورودي لازم نيست، ولي براي بروزرساني اوزان ميان لايه ورودي و لايه پنهان استفاده خواهدشد. در نهايت زمانيکه تمامي δ مشخص شدند ، تمامي اوزان به صورت هم زمان تصحيح خواهند شد. تصحيح وزن (از لايه پنهان به لايه خروجي) بر اساس و خواهد بود و تصحيح وزن ( از لايه ورودي به لايه پنهان) بر اساس و ميباشد. حال بر اساس مطالب گفته شده الگوريتم يادگيري را شرح ميدهيم : مرحله 0 : مقدار دهي اوليه اوزان بر اساس مقادير تصادفي کوچک مرحله 1 : تازمانيکه شرط پايان برقرار نيست مراحل 2 تا 9 را تکرار کنيد.( در مورد شرط پايان صحبت خواهد شد) مرحله 2 : به ازاء هر زوج تعليم ( ورودي و خروجي متناظر در مجموعه تعليم ) مراحل 3 تا 8 را تکرار کنيد : مرحله 3 : هر واحد ورودي ,i=1,…,n سيگنال ورودي را دريافت کرده و آنرا در تمامي واحدهاي لايه بعد از خويش توزيع ميکند. مرحله 4 : هر واحد پنهان , j=1,…,p حاصل جمع سيگنالهاي ورودي وزن دار خويش را محاسبه ميکند : سپس تابع فشرده سازي مربوطه را بر حاصل اعمال ميکند : و سيگنال حاصل را به تمامي واحدهاي لايه بعدي ارسال ميکند. مرحله 5 : هر واحد خروجي , k=1,…,m حاصل جمع سيگنالهاي ورودي وزن دار خويش را بدست مي آورد: و تابع فشرده سازي مربوط به خود را براي محاسبه خروجي به حاصل اعمال ميکند: انتشار به عقب خطا : مرحله 6 : هر واحد خروجي , k=1,…,m را بر اساس خروجي مطلوب و خروجي بدست آمده محاسبه ميکند : و مقداري را که بعدا براي تصحيح وزن و باياس نياز است ، بدست مي آورد : و را به واحدهاي لايه قبل از خود ارسال ميکند. مرحله 7 : هر کدام از واحدهاي پنهان , j=1,…,p حاصل جمع دلتاي ورودي خود را که از واحدهاي لايه بعد از خود به آن رسيده است ، محاسبه ميکند: و حاصل را در مشتق تابع فشرده سازي ضرب کرده تا ترم اطلاعات خطاي بدست آيد: سپس مقداري را که بعدا براي تصحيح وزن و باياس نياز است ، بدست مي آورد : تصحيح اوزان و باياسها : مرحله 8 : هر کدام از واحدهاي خروجي وزنها ( j=0,…,p ) و باياس خودرا به صورت زير تصحيح ميکنند : هر کدام از لايه هاي پنهان نيز وزنها ( i=0,…,n ) و باياس مربوطه را به صورت زير تصحيح ميکند : مرحله 9 : شرط پايان برقرار است. پايان الگوريتم يادگيري. البته در زمان پياده سازي بايد آرايه هاي مجزايي براي دلتاهاي واحدهاي خروجي ( مرحله 6 ، ) و واحدهاي پنهان ( مرحله 7 ، ) تشکيل شود. يک دوره[16] ، چرخه اي کامل حول مجموعه يادگيري است.تعداد زيادي چرخه براي آموزش يک شبکه عصبي انتشار به عقب لازم است. معمولا چرخه آموزش را تا زماني که ميانگين کل خطا به يک مقدار حداقل مطلوب يا صفر برسد ادامه مي دهند (شرط پايان) . در برخي مواقع مقدار خطاي ميانگين در طي چند دوره تغييري نميکند . در اين صورت نيز يادگيري شبکه عصبي پايان مي يابد. عموما مقدار دهي اوليه اوزان و باياسها به صورت تصادفي با مقادير کوچک انجام ميشود. ثابت شده است که انتخاب هر مقدار اوليه براي وزنها و باياسها به سمت مقدار صحيح آنها همگرا است. بدين معني که هر مقداري براي آنها انتخاب کنيم ، پارامترهاي شبکه تنظيم خواهند شد. تنها تفاوتي که وجود دارد ، در صورت فاصله زياد مقادير اوليه وزنها و باياسها با مقادير صحيح آنها ، براي رسيدن به مقادير مطلوب تعداد دوره ها زياد خواهد بود . Nguyen-Widrow[1990] روشي را براي مقدار دهي اوليه اوزان و باياسها پيشنهاد داده اند که باعث ميشود وزنها با فاصله کمي نسبت به مقدار صحيح آنها انتخاب شوند . توضيح اين روش در حوصله اين مقوله نيست و علاقه مندان ميتوانند با مراجه به منابع شبکه هاي عصبي مصنوعي اين روش را بياموزند. در زمينه تعيين تعداد الگوهاي يادگيري لازم براي تعليم شبکه روشي وجود دارد. اگر P تعداد الگوهاي يادگيري ، W تعداد وزنهاي شبکه و حداکثر خطاي مجاز شبکه e باشد ، بدين منظور که شبکه به صورت صحيح عمل کند و بتواند عمل دسته بندي را با دقت 1-e انجام دهد ، بايد رابطه زير برقرار باشد : به عنوان مثال در صورتيکه e=0.1 و W=80 باشد ، ما به 800 (P=800) الگوي يادگيري نيازمنديم تا مطمئن شويم که شبکه عصبي مصنوعي طراحي شده در 90% مواقع به صورت صحيح عمل ميکند. اثبات اين مسئله توسط Baum و Haussler در سال 1989 انجام شد. در شبکه هاي پرسپترون چند لايه ، تعداد لايه هاي پنهان ميتواند هر تعداد باشد. البته در بيشتر کاربردها يک لايه پنهان کفايت ميکند . در برخي مواقع نيز دولايه پنهان يادگيري شبکه را ساده تر ميکند. در حالتي که تعداد لايه هاي پنهان بيش از يک لايه باشد ، بايد الگوريتم ذکر شده در بالا را براي تمامي لايه ها تعميم داد. روشي عملي براي تخمين تعداد واحدها (نرونها ) در هر لايه پنهان در دست نيست. بدين منظور بايد از روشهاي سعي و خطا استفاده کرد تا به مقدار ميانگين خطاي کل مطلوب رسيد. براي مدلسازي شبکه هاي عصبي مصنوعي ابزاهاي زيادي وجود دارد . از اين جمله: · SNN (Stuttgart Neural Network Simulator) · Matlab standard NN Toolbox · Netlab toolbox for Matlab به عنوان نمونه ميتوانيد از Netlab که يک تول باکس مجاني براي نرم افزار Matlab ميباشد استفاده کنيد. براي استفاده از آن ميتوانيد به آدرس زير رجوع کنيد: برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید. ورود یا ثبت نام 6 لینک به دیدگاه
ارسال های توصیه شده