رفتن به مطلب

معرفي شبکه هاي عصبي مصنوعي


آریوبرزن

ارسال های توصیه شده

معرفي شبکه هاي عصبي مصنوعي

 

e-j_2.gif

شماره اول دوره ششم

تاريخ انتشار اين مقاله: 26 مهر 1385

سيد رضا شاه اميري

Email :

shahamiri.gif

دانشجوي کارشناسي ارشد مهندسي کامپيوتر – نرم افزار

دانشگاه آزاد اسلامي واحد نجف آباد

Web site :

برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید.

چکيده :

در اين نوشتار به معرفي شبکه هاي عصبي مصنوعي[1] و ساختارهاي آنها به صورت خلاصه ميپردازيم. در ابتدا نرونهاي شبکه هاي عصبي طبيعي معرفي شده و طرز کار آنها نشان داده شده است. سپس مدل مصنوعي اين نرونها و ساختار آنها ، مدل رياضي آنها ، شبکه هاي عصبي مصنوعي و نحوه آموزش و بکار گيري اين شبکه ها به همراه روش يادگيري گراديان کاهنده نشان داده شده است. تمرکز بيشتر بر نوعي از اين شبکه ها بنام شبکه هاي عصبي مصنوعي پرسپترون چند لايه ميباشد. ابزاهايي نيز براي پياده سازي اين شبکه ها نام برده شده است.

كليدواژه‌ها: شبکه هاي عصبي مصنوعي ، شبکه هاي عصبي، Artificial Neural networks Multi layered Perceptron, Gradient descent

 

مقدمه :

در ساليان اخير شاهد حرکتي مستمر از تحقيقات صرفا تئوري به تحقيقات کاربردي بخصوص در زمينه پردازش اطلاعات ، براي مسائلي که براي آنها راه حلي موجود نيست و يا براحتي قابل حل نيستند بوده ايم. با عنايت به اين امر ، علاقه اي فزاينده اي در توسعه تئوريکي سيستمهاي ديناميکي هوشمند مدل آزاد[2] -که مبتني بر داده هاي تجربي ميباشند ايجاد شده است. ANN ها جزء اين دسته از سيستمهاي مکانيکي قرار دارند که با پردازش روي داده هاي تجربي ، دانش يا قانون نهفته در وراي داده ها را به ساختار شبکه منتقل ميکنند.به همين خاطر به اين سيستمها هوشمند گفته ميشود ، زيرا بر اساس محاسبات روي داده هاي عددي يا مثالها ، قوانين کلي را فرا ميگيرند.اين سيستمها در مدلسازي ساختار نرو-سيناپتيکي[3] مغز بشر ميکوشند.

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

ما ميتوانيم يک نرون عصبي انسان و عملکرد آنرا را توسط مدل هاي رياضي ، مدلسازي کنيم.شکل1 ساختار يک نرون طبيعي را نشان ميدهد.

image002.gif

شکل1 - ساختار نرون طبيعي انسان

هر نرون طبيعي از سه قسمت اصلي تشکيل شده است :

1. بدنه سلول (Soma)

2. دندريت(Dendrite)

3. اکسون (Axon)

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

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

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

حافظه کوتاه مدت انسان جرقه هاي لحظه اي الکتريکي ميباشند و حافظه بلند مدت به صورت تغييرات الکتروشيميايي در اتصالات سيناپسي ذخيره ميشود که عمدتا منجر به تغيير يونها ميشود.

همانگونه که گفته شد ما ميتوانيم توسط مفاهيم رياضي يک نرون طبيعي را مدل کنيم.شکل 2 يک نرون عصبي مصنوعي را نشان ميدهد.

image004.gif

شکل 2 ساختار يک نرون مصنوعي

سيگنالهاي ورودي image006.gif تا image008.gifمعادل سيگنالهاي عصبي ورودي و وزنهاي image010.gifتا image012.gifمعادل مقادير اتصالات سيناپسي وروديهاي نرون ميباشند که جمعا ورودي نرون را تشکيل داده است.

تابع جمع کنندهimage014.gif تمامي عمليات هسته سلول را انجام ميدهد.در مورد تابع فعال سازي[4] (فشرده سازي[5] ) صحبت خواهد شد.

خروجي نرون توسط تابع زير مشخص ميشود:

image016.gif

به خصوصيات زير در مورد مغز انسان توجه کنيد :

محاسبات کاملا به صورت توزيع شده وموازي انجام ميشود.

"يادگيري" جايگزين برنامه ريزي از قبل ميشود.

در مغز انسان يک ساختار ALU مشخص وجود ندارد. ALU ، حافظه و کنترل همگي در يک ساختار درهم تنيده شبکه اي از تعداد بسيار زيادي نرون توزيع و پخش شده است.

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

حال بر اساس مطالب گفته شده ميتوان به تعريف ANN ها پرداخت.

تعريف شبکه هاي عصبي مصنوعي

 

يک ساختار شبکه اي از تعدادي عناصر مرتبط به هم به نام نرون که هر نرون داراي وروديها و خروجيهايي است و يک عمل نسبتا ساده و محلي[6] را انجام ميدهد.شبکه هاي عصبي عموما عملکرد خود را طي يک پروسه يادگيري[7] فرا ميگيرد.

شبکه هاي عصبي کاربردهاي عمده اي در تشخيص الگو ، گروه بندي ، پيش بيني يا برون يابي و ... دارا ميباشد.

تاريخچه

 

در سال 1949 مدل MP شبکه هاي عصبي مصنوعي توسط مک کالوخ و پيت مطرح شد که يک مدل خطي ساده بود . سپس پرسپترون الگوريتمهاي يادگيري را ارائه نمود. سال 1969 آغاز افول موقت شبکه هاي عصبي شد. زيرا عدم توانايي شبکه هاي عصبي در حل مسائل غير خطي آشکار شد. ANN هاي آن زمان فقط قادر به حل مسائلي بودند که ميتوانستيم پاسخهاي آن مسئله را توسط يک خط در محور مختصات از هم جدا کنيم. در 1982 هاپفيلد با معرفي شبکه هاي چند لايه و الگوريتمهاي يادگيري داراي feedback ، راه حلي براي حل موارد غير خطي ارائه کرد.در اين زمان بود که شبکه هاي بازگشتي ، خودسازمانده ، Autoregressive ، RBF و روش يادگيري هيبيان مطرح شد.از نيمه دهه نود ، نسل سوم ANN ها مطرح شدند که عبارت بودند از :

· تعيين محدوديتهاي تئوري و عملي شبکه

· عموميت و حدود آن

· ترکيب ANN و الگوريتمهاي ژنتيکي و منطق فازي

در نهايت امروزه استفاده عملي و پياده سازي تجاري و سخت افزاري ANN ها ممکن شده است .

 

معرفي مدل نرون ساده خطي

بر اساس ايده گرفته شده از نرونهاي طبيعي ، ميتوان مدل نرون مصنوعي را رائه کرد که بتواند وروديها را باهم ترکيب کرده و يک خروجي از آنها به وجود آورد. در ساده ترين حالت نرون وروديهاي وزن دار را با هم جمع ميکند. شکل 3 يک نرون ساده خطي را نشان ميدهد.

image020.gifimage021.gif

 

شکل3 : نرون ساده خطي

 

image023.gif image025.gif image027.gif

ميتوان شبکه عصبي را به صورت يک سيستم محرک / پاسخ در نظر گرفت. مهم اينست که بدانيم تعليم شبکه يعني تنظيم پارامترهاي آن به نحويکه رفتار محرک / پاسخ طبق خواسته باشد. در حين تعليم در واقع مجهولات ما وزنها(w) ميباشند. وزنها در غالب حافظه ها عمل ميکنند و نحوه توليد پاسخ را مشخص ميکنند. درصورتيکه وروديهاي و خروجيهاي متناظر موجود باشد ( به اين زوج ورودي و خروجي مجموعه تعليم[8]گفته ميشودimage029.gif) ، ميتوان وزنها را بر اساس فرمول image031.gif بدست آورد.

ميتوانيم براي اينکه خروجي خاصي توليد شود از يک تابع به نام تابع فشرده سازي[9]استفاده کنيم.اين مسئله در شکل4 نشان داده شده است.

image020.gifimage032.gif

شکل 4 : مدل نرون خطي به همراه تابع فشرده سازي

 

تابع فشرده سازي(فعال سازي) رنج وسيعي از مقادير ورودي را به مقدار خاصي نگاشت ميکند.به عنوان مثال ميتوانيم هرمقدار خروجي را به مقادير باينري 0 و 1 نگاشت کنيم. انواع مختلفي از توابع فشرده سازي در ANNها استفاده ميشود. ولي بيشترين استفاده را تابع فشرده سازي سيگمويد[10] دارد.

image034.gif

ادعا ميشود که فرکانس آتش نرون طبيعي به صورت تابعي شبيه سيگمويد ميباشد. البته دلايل ديگري براي استفاده از سيگمويد وجود دارد. از جمله :

1. فشرده سازي ميکند. ( رنج ورودي (-∞,+∞) و خروجي [0,1] ميباشد )

2. تقريبا خطي ، افزايشي و مشتق پذير است.

3. در فرم بسته قابل نمايش است.

4. مشتق گيري از آن ساده است.

 

تکنيکهاي تعيين پارامترهاي نرون خطي

بطور کلي دو روش براي تعيين پارامترهاي نرون خطي يا به عبارت ديگر مشخص کردن مقادير وزنها وجود دارد:

1. تعيين مستقيم

2. روالهاي تکرار شونده

1 - تعيين مستقيم

فرض کنيم image036.gif که b بردار پاسخهاي دلخواه ميباشد.

image038.gif

بنابر اين :

image040.gif

بدين صورت ميتوان مقادير wرا بدست آورد.

2 – روالهاي تکرار شونده

نام ديگر اين روش "گراديان کاهنده[11]" ميباشد در ادامه به توضيح اين روش مي پردازيم :

قبل از هر چيز بردار گراديان را تعريف ميکنيم:

image042.gif

بردار گراديان در واقع جهت تغييرات ماکزيمم در تابع f را نشان ميدهد.

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

خطاي شبکه به ازاء وزنهايimage048.gif برابر است با :image050.gif

image052.gifدر واقع همان تابعي است که بايد کمينه شود.پس :

image054.gif

خطاي خروجي برابر است با اختلاف مابين خورجي شبکه (0) و خروجي مطلوب (t).خطاي يک ورودي برابر است با :

image056.gif

و خطاي کلي برابر است با :

image058.gif

خطاي ميانگين مربع[12] برابر با :

image060.gif

قاعده کلي ،بدست آوردن مشتق خطا نسبت به w ميباشد تا بتوانيم تغييرات خطا نسبت به w را به صفر نزديک کنيم.يعني ما بدنبال پيدا کردن image062.gifميباشيم که k مرتبه تکرار اين روال است .به عبارتي ديگر :

image064.gif

در نتيجه تصحيح وزن jام در مرحله kام از تکرار الگوريتم تعليم به صورت زير ميباشد:

image066.gifimage068.gif

که image070.gif، مشتق تابع فشرده سازي ( اکتيواسيون) و α، نرخ يادگيري ميباشد که عموما مابين 0 و 1 انتخاب ميشود. بدين صورت ميتوان وزنهاي هر نرون را بدست آورد و روند تعليم شبکه را به اتمام رساند. پس از تعليم ، شبکه آماده توليد خروجي از ورودي متناظر ميباشد.

شبکه هاي پرسپترون[13] چند لايه

شبکه هايي که از يک نرون ساخته شده اند داراي محدوديتهايي ميباشند. اين شبکه ها توانايي پياده سازي توابع غير خطي را ندارند. به عنوان مثال توسط اين شبکه ها نميتوان تابع XOR را پياده سازي نمود. براي حل اين مشکل شبکه هاي ديگري پيشنهاد شد که ما به يکي از آنان که بيشترين استفاده را دارد مي پردازيم. دليل ديگر معرفي اين نوع شبکه ، استفاده از آن در ابن تحقيق مي باشد.

مدل عمومي شبکه هاي پرسپترون ، شبکه جلو رونده[14] با روال تعليم انتشار به عقب[15] است. شبکه هاي جلو رونده شبکه هايي هستند که وروديهاي لايه اول نرونهاي آن به لايه هاي بعدي متصل بوده و در هر سطح اين مسئله صادق بوده تا به لايه خروجي برسد. روال انتشار به عقب بدين معني است که پس از مشخص شدن خروجي شبکه ، ابتدا وزنهاي لايه آخر تصحيح شده و بعد به ترتيب اوزان لايه هاي قبلي تصحيح ميشوند.در اين موارد بيشتر توضيح داده ميشود.

شبکه هاي پرسپترون از يک لايه ورودي ، تعدادي لايه پنهان و يک لايه خروجي تشکيل شده است.در شکل 5 يک شبکه پرسپترون با يک لايه پنهان نشان داده شده است.

image072.gif

شکل 5 : نمونه اي از يک شبکه پرسپترون

 

در اين شکل لايه X لايه ورودي ، لايه Z لايه پنهان و لايه Y نيز لايه خروجي ميباشد.

در اين شبکه ها شرايط زير وجود دارد :

1. نرونهاي هر لايه تنها به نرونهاي لايه بعدي متصل ميباشند.

2. هر نرون به تمامي نرونهاي لايه بعد متصل است.

3. نرونهاي لايه ورودي عملي را انجام نميدهند و اوزان آنها ثابت و برابر يک ميباشد. اين نرونها فاقد تابع فشرده سازي ميباشند.

4. انتشار عملگر رو به جلو است. تمامي نرونها به غير از لايه ورودي جمع کننده بوده و هر نرون ميتواند تابع فشرده سازي مستقلي داشته باشد.

5. هر نرون ميتواند داراي باياس مستقل باشد.

6. تعداد لايه هاي پنهان مشخص نميباشد.

 

الگوريتم يادگيري شبکه هاي پرسپترون ( انتشار به عقب )

در اين بخش به نحوه يادگيري شبکه پرسپترون چند لايه که در شکل 5 نشان داده شده است مي پردازيم.

در الگوريتم يادگيري از علائم زير استفاده ميکنم:

x : بردار ورودي که براي يادگيري شبکه از آن استفاده ميشود.

t : بردار خروجيهاي مطلوب

image074.gif: درصدي از خطا که براي تصحيح وزن image076.gifاستفاده ميشود و براساس خطاي واحد خروجي image078.gifميباشد . اين خطا در لايه پنهان قبل از لايه خروجي انتشار به عقب مي يابد.

image080.gif: درصدي از خطا که براي تصحيح وزن image082.gifاستفاده ميشودو بر اساس انتشار به عقب اطلاعات خطا از لايه خروجي به واحد پنهان image084.gif ميباشد.

α: نرخ يادگيري.

image086.gif: واحد ورودي iام.

image088.gif: باياس واحد پنهان jام.

image084.gif: واحد پنهان jام.

ورودي شبکه به image084.gifتوسط image090.gifنشان داده ميشود:

image092.gif

سيگنال خروجي image084.gif توسط image094.gif مشخص ميشود:

image096.gif

image098.gif: باياس واحد خروجي kام.

image078.gif: واحد خروجي kام:

ورودي image078.gif توسط image100.gifمشخص ميشود:

image102.gif

سيگنال خروجي image078.gif توسط image104.gifمشخص ميشود :

image106.gif

براي آموزش شبکه توسط انتشار به عقب ، سه مرحله بايد انجام شود : انتشار به جلو الگوهاي يادگيري ورودي ، انتشار به عقب خطاي بدست آمده و تنظيم اوزان.

در حين انتشار به جلو ، هر واحد ورودي image086.gif سيگنال ورودي خودرا در هرکدام از واحدهاي پنهان image108.gif توزيع ميکند.سپس هرکدام از واحدهاي پنهان اکتيواسيون خودرا محاسبه کرده و سيگنال image094.gifحاصل را به هرکدام از واحدهاي خروجي ارسال ميکند.در نهايت هرکدام از واحدهاي خروجيimage078.gif با محاسبه اکتيواسيون خود ، image104.gif را به عنوان پاسخ شبکه به الگوي وردي ، ارائه ميکند.

درمرحله يادگيري ،در هرکدام از واحدهاي خروجي ، image104.gifتوليد شده را با image110.gif مقايسه کرده تا خطاي مربوطه را پيدا کنيم. بر اساس اين خطا ، فاکتورimage112.gifمحاسبه ميشود.از image074.gif براي توزيع به عقب خطا در تمامي واحدهاي لايه قبلي استفاده ميشود. همچنين از آن براي بروزرساني اوزان ميان واحدهاي لايه پنهان و لايه خروجي نيز استفاده ميشود. به همين صورت نيز image080.gifبراي تک تک واحدهاي پنهان image084.gif محاسبه ميشود. البته انتشار به عقب خطا در لايه ورودي لازم نيست، ولي image080.gifبراي بروزرساني اوزان ميان لايه ورودي و لايه پنهان استفاده خواهدشد.

در نهايت زمانيکه تمامي δ مشخص شدند ، تمامي اوزان به صورت هم زمان تصحيح خواهند شد. تصحيح وزن image076.gif(از لايه پنهان به لايه خروجي) بر اساس image074.gifو image094.gif خواهد بود و تصحيح وزن image082.gif( از لايه ورودي به لايه پنهان) بر اساس image080.gif و image116.gif ميباشد.

حال بر اساس مطالب گفته شده الگوريتم يادگيري را شرح ميدهيم :

مرحله 0 : مقدار دهي اوليه اوزان بر اساس مقادير تصادفي کوچک

مرحله 1 : تازمانيکه شرط پايان برقرار نيست مراحل 2 تا 9 را تکرار کنيد.( در مورد شرط پايان صحبت خواهد شد)

مرحله 2 : به ازاء هر زوج تعليم ( ورودي و خروجي متناظر در مجموعه تعليم ) مراحل 3 تا 8 را تکرار کنيد :

مرحله 3 : هر واحد ورودي

image086.gif ,i=1,…,n

سيگنال ورودي image116.gif را دريافت کرده و آنرا در تمامي واحدهاي لايه بعد از خويش توزيع ميکند.

مرحله 4 : هر واحد پنهان

image118.gif , j=1,…,p

حاصل جمع سيگنالهاي ورودي وزن دار خويش را محاسبه ميکند :

image092.gif

سپس تابع فشرده سازي مربوطه را بر حاصل اعمال ميکند :

image096.gif

و سيگنال حاصل را به تمامي واحدهاي لايه بعدي ارسال ميکند.

مرحله 5 : هر واحد خروجي

image078.gif, k=1,…,m

حاصل جمع سيگنالهاي ورودي وزن دار خويش را بدست مي آورد:

image102.gif

و تابع فشرده سازي مربوط به خود را براي محاسبه خروجي به حاصل اعمال ميکند:

image106.gif

انتشار به عقب خطا :

مرحله 6 : هر واحد خروجي

image078.gif, k=1,…,m

image074.gifرا بر اساس خروجي مطلوب و خروجي بدست آمده محاسبه ميکند :

image120.gif

و مقداري را که بعدا براي تصحيح وزن image076.gifو باياس image122.gif نياز است ، بدست مي آورد :

image124.gif

image126.gif

و image074.gifرا به واحدهاي لايه قبل از خود ارسال ميکند.

مرحله 7 : هر کدام از واحدهاي پنهان

image118.gif , j=1,…,p

حاصل جمع دلتاي ورودي خود را که از واحدهاي لايه بعد از خود به آن رسيده است ، محاسبه ميکند:

image128.gif

و حاصل را در مشتق تابع فشرده سازي ضرب کرده تا ترم اطلاعات خطاي image080.gif بدست آيد:

image130.gif

سپس مقداري را که بعدا براي تصحيح وزن image082.gifو باياس image133.gif نياز است ، بدست مي آورد :

image135.gif

تصحيح اوزان و باياسها :

مرحله 8 : هر کدام از واحدهاي خروجي وزنها ( j=0,…,p ) و باياس خودرا به صورت زير تصحيح ميکنند :

image137.gif

هر کدام از لايه هاي پنهان نيز وزنها ( i=0,…,n ) و باياس مربوطه را به صورت زير تصحيح ميکند :

image139.gif

مرحله 9 : شرط پايان برقرار است. پايان الگوريتم يادگيري.

البته در زمان پياده سازي بايد آرايه هاي مجزايي براي دلتاهاي واحدهاي خروجي ( مرحله 6 ، image074.gif ) و واحدهاي پنهان ( مرحله 7 ، image080.gif) تشکيل شود.

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

عموما مقدار دهي اوليه اوزان و باياسها به صورت تصادفي با مقادير کوچک انجام ميشود. ثابت شده است که انتخاب هر مقدار اوليه براي وزنها و باياسها به سمت مقدار صحيح آنها همگرا است. بدين معني که هر مقداري براي آنها انتخاب کنيم ، پارامترهاي شبکه تنظيم خواهند شد. تنها تفاوتي که وجود دارد ، در صورت فاصله زياد مقادير اوليه وزنها و باياسها با مقادير صحيح آنها ، براي رسيدن به مقادير مطلوب تعداد دوره ها زياد خواهد بود . Nguyen-Widrow[1990] روشي را براي مقدار دهي اوليه اوزان و باياسها پيشنهاد داده اند که باعث ميشود وزنها با فاصله کمي نسبت به مقدار صحيح آنها انتخاب شوند . توضيح اين روش در حوصله اين مقوله نيست و علاقه مندان ميتوانند با مراجه به منابع شبکه هاي عصبي مصنوعي اين روش را بياموزند.

در زمينه تعيين تعداد الگوهاي يادگيري لازم براي تعليم شبکه روشي وجود دارد. اگر P تعداد الگوهاي يادگيري ، W تعداد وزنهاي شبکه و حداکثر خطاي مجاز شبکه e باشد ، بدين منظور که شبکه به صورت صحيح عمل کند و بتواند عمل دسته بندي را با دقت 1-e انجام دهد ، بايد رابطه زير برقرار باشد :

image142.gif

به عنوان مثال در صورتيکه 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 ميباشد استفاده کنيد. براي استفاده از آن ميتوانيد به آدرس زير رجوع کنيد:

برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید.

لینک به دیدگاه

به گفتگو بپیوندید

هم اکنون می توانید مطلب خود را ارسال نمایید و بعداً ثبت نام کنید. اگر حساب کاربری دارید، برای ارسال با حساب کاربری خود اکنون وارد شوید .

مهمان
ارسال پاسخ به این موضوع ...

×   شما در حال چسباندن محتوایی با قالب بندی هستید.   حذف قالب بندی

  تنها استفاده از 75 اموجی مجاز می باشد.

×   لینک شما به صورت اتوماتیک جای گذاری شد.   نمایش به صورت لینک

×   محتوای قبلی شما بازگردانی شد.   پاک کردن محتوای ویرایشگر

×   شما مستقیما نمی توانید تصویر خود را قرار دهید. یا آن را اینجا بارگذاری کنید یا از یک URL قرار دهید.

×
×
  • اضافه کردن...