تحقیق درباره شبكه هاي عصبي

راهنمای سایت

سایت اقدام پژوهی -  گزارش تخصصی و فایل های مورد نیاز فرهنگیان

1 -با اطمینان خرید کنید ، پشتیبان سایت همیشه در خدمت شما می باشد .فایل ها بعد از خرید بصورت ورد و قابل ویرایش به دست شما خواهد رسید. پشتیبانی : بااسمس و واتساپ: 09159886819  -  صارمی

2- شما با هر کارت بانکی عضو شتاب (همه کارت های عضو شتاب ) و داشتن رمز دوم کارت خود و cvv2  و تاریخ انقاضاکارت ، می توانید بصورت آنلاین از سامانه پرداخت بانکی  (که کاملا مطمئن و محافظت شده می باشد ) خرید نمائید .

3 - درهنگام خرید اگر ایمیل ندارید ، در قسمت ایمیل ، ایمیل http://up.asemankafinet.ir/view/2488784/email.png  را بنویسید.

http://up.asemankafinet.ir/view/2518890/%D8%B1%D8%A7%D9%87%D9%86%D9%85%D8%A7%DB%8C%20%D8%AE%D8%B1%DB%8C%D8%AF%20%D8%A2%D9%86%D9%84%D8%A7%DB%8C%D9%86.jpghttp://up.asemankafinet.ir/view/2518891/%D8%B1%D8%A7%D9%87%D9%86%D9%85%D8%A7%DB%8C%20%D8%AE%D8%B1%DB%8C%D8%AF%20%DA%A9%D8%A7%D8%B1%D8%AA%20%D8%A8%D9%87%20%DA%A9%D8%A7%D8%B1%D8%AA.jpg

لیست گزارش تخصصی   لیست اقدام پژوهی     لیست کلیه طرح درس ها

پشتیبانی سایت

در صورت هر گونه مشکل در دریافت فایل بعد از خرید به شماره 09159886819 در شاد ، تلگرام و یا نرم افزار ایتا  پیام بدهید
آیدی ما در نرم افزار شاد : @asemankafinet

تحقیق درباره شبکه های عصبی مصنوعی

بازديد: 966

 

فصل 1 : مقدمه

1-1         انسان و كامپيوتر

انسان ها از كامپيوترها باهوش ترند. چرا چنين گفته مي‌شود؟

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

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

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

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

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

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

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

در مدل‌سازي سيستم‌هاي اصلي مغز، بايد راه كاري را بيابيم كه بيش‌تر با ساختار موازي مغز سازگاري داشته باشد نه با ساختار پي‌درپي آن .

به هر صورت ساختار طبيعتاً موازي سيستم هاي شبكه هاي عصبي آن ها را مناسب به كارگيري در ماشين هاي موازي مي كند. كه مي تواند مزاياي بيش تري از نظر سرعت  و قابليت اطمينان داشته باشد.

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

1ـ2ـ ساختار مغز

مغز انسان از واحدهاي  كو چكي به نام نرون[1] تشكيل شده است.مي‌دانيم كه مغز تقريباً داراي 1010 واحد پايه به نام نرون است و هر نرون تقريباً به 104 نرون ديگر اتصال دارد.

نرون عنصر اصلي مغز است و به تنهايي مانند يك واحد پردازش منطقي عمل مي كند . نرون‌ها دو نوع هستند . نرون‌هاي داخلي مغز كه در فاصله‌هاي حدود 100 ميكرون به يكديگر متصل اند و نرون‌هاي خارجي كه قسمت‌هاي مختلف مغز را به يكديگر و مغز را به ماهيچه‌ها و اعضاي حسي را به مغز متصل مي‌كنند . نحوه عمليات نرون بسيار پيچيده است و هنوز در سطح ميكروسكوپي چندان شناخته شده نيست، هر نرون بسيار پيچيده است و هنوز در سطح ميكروسكوپي چندان شناخته شده نيست ، هر چند قوانين پايه آن نسبتاً روشن است .هر نرون ورودي‌هاي متعددي را پذيراست كه با يكديگر به طريقي جمع مي‌شوند . اگر در يك لحظه ورودي‌هاي فعال نرون به حد كفايت برسد نرون نيز فعال شده و آتش مي‌كند . در غير اين صورت نرون به صورت غير فعال وآرام باقي مي ماند. نمايشي از ويژگي هاي عمده نرون در شكل 1-1 آمده است. بدنه نرون سوما[2] ناميده مي شود . به سوما رشته‌هاي نامنظم طولاني متصل است كه به آنها دندريت[3] مي‌‌گويند  . قطر اين رشته‌ها اغلب از يك ميكرون نازك‌تر است و اشكال شاخه‌اي پيچيده‌اي دارند.

دندريت‌ها نقش اتصالاتي را دارند كه ورودي ها را به نرون ها مي رساند . اين سلول ها مي توانند

 

عملياتي پيچيده‌تر از عمليات جمع ساده را بر ورودي هاي خود انجام دهند، ليكن عمل جمع ساده را مي‌توان به عنوان تقريب قابل قبولي از عمليات واقعي نرون به حساب آورد.

يكي از عناصر عصبي متصل به هسته نرون آكسون[4] ناميده مي شود. اين عنصر بر خلاف دندريت از نظر الكتريكي فعال است و به عنوان خروجي نرون عمل مي‌كند.‌اكسون‌ها هميشه‌ در روي خروجي سلول‌ها مشاهده مي شوند . ليكن اغلب در ارتباط‌هاي بين نروني غايب‌اند. اكسون وسيله‌اي غير  خطي است كه در هنگام تجاوز پتانسيل ساكن داخل هسته از حد معيني پالس ولتاژي را به ميزان يك هزارم ثانيه، به نام پتانسيل فعاليت، توليد مي كند . اين پتانسيل فعاليت در واقع يك سري از پرش هاي سريع ولتاژ است. شكل 1-2 اين حالت « همه يا هيچ » را نشان ميهد.

 

 

 

رشته اكسون در نقطه تماس معيني به نام سينا پس قطع مي شود و در اين مكان به دندريت سلول ديگر وصل مي گردد. در واقع اين تماس به صورت اتصال مستقيم نيست بلكه از طريق ماده شيميايي موقتي صورت مي‌گيرد . سيناپس پس از آن كه پتانسيل آن از طريق پتانسيل هاي فعاليت دريافتي از طريق آكسون به اندازه كافي افزايش يافته از خود ماده شيميايي به نام منتقل كننده عصبي[5] ترشح مي‌كنند.

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

يك نرون خود به تنهايي مي‌تواند داراي ورودي هاي سيناپسي متعددي در روي دندريت‌هاي خود باشد و ممكن است باخروجي هاي سيناپسي متعددي به دندريت‌هاي نرون‌هاي ديگر وصل شود.

1-2-1 يادگيري در سيستم‌هاي بيولوژيك               

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

 

 

1-3 تفاوت ها

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

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

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

نتيجه گيري

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

 

 

 

 

  

فصل   2: نگرش كلي به شبكه هاي عصبي مصنوعي

2-1  تعريف شبكه هاي عصبي

آنچه در ادامه عنوان مي گردد، تعريف عملي و تاحدي عمومي از ابزاري است كه بعداً آن  را مطالعه خواهيم كرد. در قسمت هاي باقيماندة كتاب، اين تعريف تصحيح و تخصصي خواهد گرديد.

شبكه هاي عصبي مصنوعي،ساختاري(شبكه اي) است متشكلازتعدادي واحد(نرونهايمصنوعي) كه در داخل شبكه به هم وصل شده اند. هر واحد داراي يك مشخصهورودي/خروجي(I /o) مي باشد و محاسبه يا عملي جزئي را اجرا مي كند. خروجي هر واحد، با توجه به مشخصة (I /o) آن ، اتصالات درونيش به ساير واحدها و(احتمالاً) ورودي هاي خارجي تعيين مي گردد. از آنجا كه آموزش دستي شبكه امكان پذير است، از اين رو شبكه معمولاً كاركردي كلي از يك حالت يا حالت هاي بيشتري از آموزش را به دست مي آورد.

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

به منظور كاربردي شدن ، يك ANN مي بايستي ابزارهايي براي ارتباط با دنياي خارج داشته باشد. با اين وجود نيازي به تعريف فوق نيست؛ به طور نمونه، خصوصيات واحد ورودي / خروجي (I/o) ، بسيار ساده است (و بين همه واحدها مشترك است) و تعداد واحدها كاملاً زياد است. توجه نماييد كه تعريف، ما را وادار مي سازد كه ميان يك واحد تنها و يك شبكه تمايز قايل شويم. در نهايت، ساختارهاي محاسباتي كه در اين تحقيق شرح مي دهيم، ممكن است با شماري از راه هاي غير بيولوژيكي هم قابل انجام باشند كه بيشترين اين نمونه ها در ميان عناصر الكترونيكي است؛ بنابراين ، اغلب عنوان‌«مصنوعي» قابل قبول است

2-2  مفاهيم اساسي شبكه هاي عصبي

موارد زير ، جنبه هاي كليدي محاسبات عصبي مي باشند:

ÿ همان گونه كه تعريف بخش 2-1 نشان مي دهد، مدل كلي محاسباتي ، شامل اتصالات دروني قابل تغيير مجدد از عناصر ساده يا واحدهاست. شكل 1.2 دو شبكه فرضي با مقياس كوچك را نشان مي دهد كه در آن واحدها به صورت دايره هاي و اتصالات دروني به وسيلة كمان هايي نشان داده شده اند. شكل 1.2 (الف) يك تاكتيك اتصال دروني غير بازگشتي را نشان ميدهد كه شامل هيچ مسير اتصال دروني بسته اي نيست. به نمايش گروهي واحدهايي كه در لايه ها قرار گرفته اند، توجه نماييد. در مقابل، شكل 1.2 (ب) شبكه اي با تاكتيك اتصال دروني بازگشتي را نمايان مي سازد كه در آن انعطاف پذيري اتصالات دروني اختياري اين امكان را ميسر مي سازد كه مسيرهاي حلقة بسته (پس خورد) وجود داشته باشد. اين تاكتيك اجازه مي دهد كه شبكه در مقايسه با تاكتيك (حلقه ـ باز) شكل 1.2 (الف) ديناميك زماني بسيار پيچيده تري را نشان دهد. همچنين ، توجه نماييد كه توپولوژي هاي شبكه ، ممكن است ديناميك يا استاتيك باشد. در نهايت ، توجه كنيد كه در شكل 1.2 بعضي واحدها به صورت مستقيم با دنياي بيرون در ارتباط اند، در حالي كه سايرين «مخفي» يا دروني هستند.

شكل 2-1 توپولوژي هاي شبكه هاي عصبي مصنوعي

                           

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

ÿ واحدهاي منفرد، هر يك ايفا كننده عملكردي موضعي مي باشند و شبكه كلي با تصالات دروني واحدها،, عملي مطابق آن شبكه را نمايش مي دهد. تحليل اين عمليات مگر به واسطة آموزش يا آزمايش هاي نمونه، اغلب دشوار است. علاوه براين، كاربردها معمولاً ، از طريق مشخصات ، عملكرد مورد نياز را مشخص مي كنند. اين وظيفه طراح ANN است كه پارامترهاي شبكه را كه اين مشخصات را برآورده مي سازد، معين كند.

ÿ يك معيار كليدي يادگيري اطلاح الگوهاي ارتباط عناصر دروني براساس تابعي از داده هاي آموزش است. به عبارت ديگر، دانش سيستم ، تجربه يا آموزش به شكل اتصالات داخلي شبكه، ذخيره مي گردند.

ÿ به منظور قابل استفاده بودن ، سيستم هاي عصبي بايد توانايي ذخيرة اطلاعات را داشته باشند(به عبارت ديگر،آنها بايد«آموزش پذير» باشند.) سيستم هاي عصبي به شكل مورد انتظار آموزش مي يابند تا بعداً در زماني كه الگوي جديدي به منظور تشخيص يا طبقه بندي به آنها عرضه شود، همواره رفتاري صحيح ارائه دهند.

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

ÿ شبكه عصبي، يك سيستم ديناميكي است؛ حالات آن (مثلاً ، خروجي هاي هر واحد و شدت اتصالات دروني ) در پاسخ به ورودي هاي خارجي يا يك حالت اوليه (گذرا) با زمان تغيير مي يابد.

2-3   معرفي اصطلاحات و علائم قراردادي

اصطلاحات كليدي

با نمايش فهرستي كوتاه از مفاهيم برجسته ، مبحث را شروع مي كنيم:

سيستم هاي تطبيقي1: سيستمي كه قابليت سازگار كردن عملكردش (معمولاً پارامتري) با افزايش تقاضا يا قابليت سازگاري با محيط هاي كاري نامعين را دارا است.

الگوريتم: يك روش يا رويه به منظور رسيدن به يك هدف يا راه حل است.

ساختار: تتشكيلات سخت افزاري يا نرم افزاري است.

طبقه بندي2: قابليت نسبت دادن ورودي اعمالي به يك طبقه است.

تقاطع1: پروسه اي است كه در الگوريتم هاي ژنتيك به منظور شبيه سازي توليد مثل جنسي به كار برده مي شود.

شاخص2: چيزهايي هستند كه يك ويژگي از يك شيء يا موقعيتي را مشخص مي كنند.

منطق فازي3: يك توسعه از منطق قطعي است كه در آن مقادير صحت به مقادير دودويي محدود نمي شوند.

تعميم : توانايي جوابگويي به مثال هاي بيشتر ، برخلاف تخصيص است؛ رفتار شبكه اي كه ورودي هارا نه صرفاً از مجموعه آموزش(h) به كار مي برد.

اكتشافي4: يك قانون تجربي است كه براي حل كردن مسائلي به كار برده مي شود؛ اما حل كردن مساله اي را تضمين نمي كند.

برگرداني: معين كردن ورودي از روي خروجي داده شده و مدل سيستم است.

شبكه: ادغامي از موجوديت هايي است كه در داخل به هم متصل شده اند.

جستجو: مساله اي موجود در همه جاست كه در آن بايد يك فضاي جستجو، يا زير فضا، جستجو وارزيابي شود.

توپولوژي: ساختار يك شبكه است.

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

واحد: عنصر «هسته اي» از يك ANN است؛ ابزار يك نگاشت موضعي است.

Vlsi: مدارات مجتمع با مقياس بسيار بزرگ است (وسايل ساخته شده از سيليكن) معمولاً توانايي هاي پردازش يا حافظه را افزايش مي دهد.

2-4 كاربردهاي محاسبات عصبي

خصوصيات مسائلي كه كاربرد ANN در حل آنها مناسب مي باشد

پياده سازي ساختارهاي محاسباتي سيستم هاي بيولوژيكي مي تواند منجر به ايجاد الگوهاي محاسباتي بهتري براي گروههاي معيني از مسائل شود. از آن جمله، گروهي از مسائل سخت NP ، كه شامل مسائل نشانه گذاري، مسائل جدول بندي، مسائل جستجو و ساير مسائل برآورد قيود1 مي باشد؛ گروهي از مسائل تشخيص الگو/ موضوع، كه در مفاهيم بصري و گفتاري قابل ملاحظه هستند و گروهي از مسائلي كه با داده هاي ناقص، كم، متناقض، مبهم يا احتمالي مورد بررسي قرار مي گيرند، مي باشند. اين مسائل با برخي يا همة موارد زير توصيف شده اند:

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

 

 2-5 كاربردهاينمونه شبكه هاي عصبي مصنوعي

نگاهي جامع به همه كاربردهاي شبكه هاي عصبي مصنوعي (كاربردهايي كه روي آنها كار شده است يا موفقيت آميز بوده اند يا كاربردهاي تصوري) غير عملي است . با اين وجود، نگاهي به مطبوعات، مجلات علمي‌وكنفرانس ها،‌مثالهاي‌روشني را در اين زمينه فراهم مي كند. اين كاربردها عبارت اند از :

پردازش تصوير وتصاوير رايانه اي ، شامل مقايسة تصاوير، پيش پردازش، شبكه سازي و تحليل، تصوير رايانه اي (براي مثال بازبيني برد مدار)، فشرده سازي تصوير ، بينايي استريو، پردازش و درك تصاوير متغيير با زمان مي باشد.

پردازش سيگنال، شامل تحليل سيگنال و مورفولوژي است.

تشخيص الگو، شامل استخراج طرح [sau89] ، طبقه بندي و تحليل سيگنال رادار، شناسايي و تشخيص صدا، شناسايي اثر انگشت، تشخيص شاخص (حرف يا عدد) و تحليل دستخط (رايانه هاي ”notepad“) است.

پزشكي[pvg90] ، شامل تحليل سيگنال الكتروكارديوگراف و فهم و تشخيص بيماريهاي گوناگون و پردازش تصاوير پزشكي است.

سيستم هاي نظامي ، شامل مين در زير دريا, طبقه بندي اغتشاشات رادار و تشخيص مكالمه رمزي است.

سيستم هاي مالي ، شامل بررسي سهام بازار [rzf94]، تعيين قيمت واقعي موجودي ، صدور كارت اعتبار [ott94] و امنيت تجارت [bvdbw94] خواهد بود.

طراحي ، كنترل و تحقيق ، شامل عملكرد موازي مسائل برآورد قيود (csps)، راه حل هاي فروشندة سيار، مشابه csp ها ، و كنترل روباتيك است.

هوش مصنوعي ، شامل سيستم هاي قياسي و پياده سازي سيستم هاي خبره [cal93].

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

2-6 فوايد و معايب شبكه هاي عصبي مصنوعي

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

فوايد

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

2-7 معيارهاي مهندسي به منظور محاسبات عصبي

سؤالات اوليه

يك رهيافت مهندسي براي حل مسائل ، عبارت است از تركيب همة متغيرها و اطلاعات مناسب مساله به  گونه اي ساختار يافته، به منظور فرموله كردن يك راه حل.

سؤالات اساسي كه در اين زمينه مطرح مي گردند، عبارت اند از:

1-     آيا فنون ANN براي مسائل موجود ، مفيد يا حتي عملي هستند؟ آيا مساله، يك راه حل يا تعداد بيشترين راه حل دارد؟

2-     آيا مي تواينم ساختارهاي ANN مناسب هر وضعيت را به دست آوريم يا اصلاح كنيم و در صورت لزوم، ANN را آموزش دهيم(پارامترها را تعيين كنيم)؟

3-     آيا ابزار رسمي و اكتشافي كه بتوان براي تعيين كردن ويژگي هاي راه حل ANN به كار برد، وجود دارد؟(مثلاً ، تركيب محاسباتي اتخاذ شده براي روند تحليل چيست؟)

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

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

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

2-8 مراحل مهندسي سيستم ANN

به هنگام طراحي راه حل هاي مبتني بر شبكه هاي عصبي ، سؤالات زيادي مطرح مي شود؛‌مثلاً:

ÿآيا شبكه مي تواند به منظور انجام عمليات مورد نظر آموزش داده شود؟ آيا وجود برخي ابهامات ذاتي در مساله اي مي تواند سبب غير ممكن گرديدن حل آن شود؟

ÿ با فرض اينكه مساله قابل حل است، چه ساختار يا توپولوژي شبكه اي مناسب است؟

ÿ كدام يك از انواع منابع محاسباتي براي آموزش و اجراي شبكه موجوداند (زمان، حافظه، ذخيره سازي اطلاعات ، پردازشگرها)؟

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

بسياري از پارامترهاي طراحي ANN عبارت اند از:

1-     ساختار اتصالات دروني /توپولوژي شبكه /ساختار شبكه.

2-     خصوصيات يك واحد(ممكن است در درون شبكه و بين قسمت هاي فرعي شبكه ، مانند لايه ها متفاوت باشد).

3-     مرحله (مراحل آموزش).

4-     مجموعه هاي تست و آموزش.

5-     نمايش (هاي) ورودي / خروجي و پيش و پس پردازش.

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

مرحلة 1: طبقات، اندازه ها يا الگوهاي تحت بررسي را به منظور دستيابي ويژگي هاي ممكن(به صورتي مطلوب از نظر مقداري) ، مطالعه كنيد. اين موضوع شامل تعيين ساختار (قابليت كيفيت)، ويژگي هاي احتمالي و شناسايي اندازه هاي مشابه يا غير مشابه آن طبق خواهد بود. علاوه براين، خصوصيات ثابت يا متغيير ممكن و ويژگي هاي منابع «نويز» در اين مرحله مورد توجه قرار مي گيرند.

مرحله 2: وجود داده هاي اندازه گيري شده (ورودي) يا شاخص (پيش پردازش شده) را بررسي كنيد.

مرحله 3: به قيود مربوط به عملكرد سيستم مورد نظر و منابع محاسباتي آن توجه كنيد.

مرحله 4: به موجود بودن و كيفيت دادة آموزش و آزمايش توجه كنيد.

مرحله 5: به موجود بودن ساختارهاي شناخته شده و مناسب ANN توجه كنيد.

مرحله 6: شبيه سازي ANN را به دست آوريد.

مرحله 7: سيستم ANN را آموزش دهيد.

مرحله 8: بازدهي سيستم ANN را با به كار بردن مجموعه (هاي) آزمايش شبيه سازي كنيد.

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

2-9 توپولوژي هاي شبكه و خصوصيات

در نگرش كمي به توپولوژي ها و ساختارهاي شبكه براساس توابع اتصالات دروني هر واحد، مي توانيم مفاهيم چندي را مشخص كنيم:

1-     شبكه هاي بازگشتي

2-     شبكه هاي غير بازگشتي

3-     شبكه هاي لايه لايه ، متوالي يا ساير ساختارهاي شبكه اي متشابه

4-     ساختارهاي به هم پيوستة رقابتي

گونه هاي 1و2 متقابلاً مجزا هستند؛ با اين وجود، گونه هاي 3و4 ممكن است هم ساختارهاي بازگشتي و هم غير بازگشتي را به كار برند.[fie94] عميقاً اين موضوع را كه مشتمل بر ايجاد «لايه ها» و «قطعه ها» و تشخيص دادن اتصالات دروني متقارن از غير متقارن است، بررسي مي كند.

 

 

 

 


فصل 3

3-1 چشم انداز طرح شناسي

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

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

حال فرض كنيد خط متن ما تغيير كند . اگر براي خط جديد الگوهاي مناسب نداشته باشيم روش طبقه‌بندي ما به احتمال زياد به سختي شكست خواهد خورد .

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

3-2 تعريف بازشناسي الگوها

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

مشخصه به معني كميتي است كه براي طبقه‌بندي طرح اندازه‌گيري مي شود. مثلاً اگر مسأله شناسايي متون را دوباره در نظر بگيريم، برا ي تشخيص حرف «f » از حرف « E » لازم است كه تعداد خطوط عمودي واقعي و افقي را مقايسه كنيم.

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

3-3 بردارهاي مشخصات و فضاي مشخصات

طبقه‌بندي به ندرت بر پايه يك مشخصه يا اندازه‌گيري منفرد از الگوهاي ورودي صورت مي‌گيرد. معمولاً اندازه‌گيري‌هاي متعدد لازم است تا بتوان الگوهاي متعلق به گروه‌هاي مختلف را به حد كافي از يكديگر تميز داد. اگر n  اندازه‌گيري از الگوي ورودي به عمل آوريم و هر اندازه‌گيري نمايانگر يك مشخصه معين از طرح ورودي باشد، مي توانيم از علائم جبري استفاده كنيم و مجموعه مشخصه‌ها را به صورت يك بردار نشان دهيم. در اين صورت بردار مذكور را بردار مشخصات[6]  مي ناميم. تعداد ابعاد بردار (تعداد عناصر بردار) فضايي n بعدي ايجاد مي كند كه فضاي مشخصات[7]مي ناميم.

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

3-4 توابع تشخيص دهنده يا مميز[8]

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

با مشاهده طرز قرار گرفتن خوشه ها مي توانيم حدس بزنيم كه با كشيدن يك خط مستقيم بين دو خوشه مي توانيم آن‌ها را به طور دلخواه از يكديگر جدا كنيم. اگر بتوانيم محدوده تقسيم بندي داده ها را تعريف كنيم ، عمل طبقه بندي به يك فرآيند تصميم گيري تبديل مي شود كه تشخيص مي دهيم هر داده ورودي جديد در كدام طرف خط مستقيم قرار مي‌گيرد (شكل3-1) صورت رياضي چنين محدوه تصميم « تابع مميز» ناميده مي شود .درعمل توصيه مي ود كه تابع مميز تا حد امكان ساده باشد. درمثال فوق كاملاً روشن است كه ساده‌ترين تابع خط راست است . اين يك نمونه از گروه گسترده دستگاه هاي طبقه‌بندي است كه اصطلاحاً طبقه‌بندي خطي[9] ناميده مي‌شوند.

شكل 3-1 محدوده تصميم يك طبقه بندي خطي

3-5 فنون طبقه بندي2

فنون طبقه بندي به دوگره وسيع عددي وغيرعددي تقسيم مي شوند. فنون عددي شامل اندازه گيري قطعي وآماري است كه درفضاي هندسي شكل ها انجام مي گيرد. فنون غير  عددي فنوني است كه در حوزة پردازش نمادها صورت مي گيرد و با روشهايي چون مجموعه هاي فازي(FUZZY)ارتباط مي يابد. در اين كتاب ما صرفاً فنون عددي را در نظر ميگيريم زيرا بيشتر به بحث ما در مورد شبكه هاي عصبي مربوط مي شوند. اين به آن معنا نيست كه از شبكه هاي عصبي براي پردازش داده هاي نمادي  استفاده نمي شود. بسياري از گروههاي تحقيق در اين زمينه مشغول فعاليت مي باشند ولي گنجاندن اين موضوع در اين كتاب كه جنبه مقدماتي دارد شايد تا اندازه اي زيادتر از حد نياز باشد.

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

3-6 روش طبقه بندي «نزديكترين همسايه»

شكل3-2 را درنظر بگيريد.

دو طبقه در فضاي الگوها نمايان است. مي خواهيم تصميم بگيريم كه الگوي طبقه بندي نشدة x به كدام يك  از اين دو طبقه تعلق دارد. روش طبقه بندي نزديكترين همسايه در وابع براساس نزديكترين فاصله به نمونه هاي طبقه هاي همسايه اين تصميم را روشن مي كند. نمونة طبقه بندي نشده به نزديكترين طبقة همسايه خود تخصيص داده مي شود.موضوعي كه چندان هم دور از ذهن نيست. از نظر رياضي اين روش تابع مميزي را به صورت زير تعريف مي كند.

      (فاصله به نزديكترين نمونه در طبقه 2) ـ (فاصله به نزديكترين نمونه در طبقه 1) = f(x)

بدين صورت براي نمونه هايي كه در طبقه هاي مجزا قرار دارند، به طوري كه در شكل 2-1 نشان داديم مقدار f(x) براي نمونه هاي متعلق به طبقة 1 منفي و براي نمونه هاي طبقة 2 مثبت خواهد بود. به هر حال دامنة كاربردي اين روش لااقل از نظر كارايي محدود است. نمونه دورافتاده با اين كه نزديكتر به طبقه 1 است متعلق به طبقه 2 مي باشد و گرچه رفتاري مشابه ساير نمونه هاي طبقه 2 ندارد ولي به هر حال جزء آن طبقه محسوب مي شود .

                       

                       شكل 3-2 طبقه بندي به وسيله مقايسه با نزديكترين همسايه

حال اگر بخواهيم نمونه طبقه بندي نشده اي را كه احتمالاً نزديكتر به اين نمونة غير معمول است طبقه بندي كنيم ممكن است تصميم ما درست نباشد. راه حل مشكل اين است كه فاصلة نمونة طبقه بندي نشده را با نمونه هاي متعدد اندازه گيري كنيم و تنها به يك فاصله اكتفا نكنيم، در نيتجه اثر نمونه هاي غير معمول احتمالي ا خنثي كنيم، اين عمان روش «k نزدكترين همسايه» مي باشد و k تعداد همسايه هاي نزديك نمونة طبقه بندي نشده است كه فاصلة آنها محاسبه مي شود.

3-7 ميزان هاي اندازه گيري فاصله1

روش نزديكترين همسايه مسأله ديگري را پيش مي آورد و آن يافتن روش قابل  اطميناني براي اندازه گيري فاصلة يك نمونه از نمونه هاي ديگر است. بدون شك، بايد ميزاني را براي اندازه گيري فاصله ها انتخاب كنيم كه بتواند شباهت نمونه ها را در فضاي هندسي طرح نشان دهد.

فاصلة همينگ2

ابتدايي ترين نوع فاصله كه به علت سادگي كاربرد گسترده اي دارد ميزان فاصلة همينگ است. براي دوبردار :

X= (x1, x2,...)                                                                     

Y=(y1, y2,...)                                              

فاصله همينگ با محاسبه اختلاف هر عنصر از يك بردار و عنصر متناظر آن در بردار ديگر و جمع قدر مطلق اختلاف ها به دست مي آيد. فرمول زير فاصلة همينگ را تعريف مي كند:

( \xi - yi\)                                                H=   

فاصله همينگ اغلب براي مقايسه بردارهاي صفر و يك به كار مي رود. شايد روشن باشد كه اين فاصله در واقع تعداد بيتهايي را كه در و بردار متفاوت اند نشان مي دهد. درحقيقت فاصله همينگ را مي توان از طريق تابع يا حذفي (xor) به دست آورد. زيرا

                                 xi xor yi برابر است با   \ xi - yi\

فاصله اقليدسي1

يكي از متداول ترين ميزان هاي فاصله، فاصلة اقليدسي است، فرض كنيد در صفحه مختصات قائم دو بردار(x,y) را داشته باشيم و بخواهيم فاصلة اقليسي (d(x-y)) آن دو را محاسه كنيم.

فاصله اقليدسي اين دو بردار كوتاه ترين فاصله بين آن هاست و با فرمول زير به دست مي آيد.

                                         D(x,y) euc =

در حالي كه n تعداد ابعاد بردار است.

در مثال دو بعدي كه در شكل 3-3  نشان داده شده است اين فاصله برابر است با

                                  D(x,y) euc =

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

                    

                                          شكل3-3  فاصله اقليدسي

فاصله شهري1(فاصله منتهن)

صورت ساده تري از فاصلة اقليدسي فاصله شهري است. در اين نوع فاصله به جاي جذر مربع اختلافات از قدر مطلق اختلافات استفاده مي شود.

                                              Dcb =

نتيجه اين عمل صرف نظر از سرعت بيشتر محاسباتي نسبت به فاصله اقليدسي ايناست كه نقاط هم فاصله از يك بردار تماماً بر يك مربع واقع مي گردند در صورتي كه در حالت فاصلة اقليدسي نقاط هم فاصله از بردار بر يك دايره واقع مي گردند. اين امر در شكل3-4نشان داده شده است.

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

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

                

                                            شكل 3-4  فاصله شهري.

 

افزايش سرعت محاسبات ممكن است قابل قبول باشد.

فاصله مربعي1.

فاصلة اقليدسي را مي توان باز ساده تر كرد كه البته با خطاي بيشتري همره خواهد بود. اين نوع فاصله را  فاصلة مربعي مي گتويند، شكل 3-5 فاصلة مربعي را نشان مي دهد. در واقع فاصله مربعي دو بردار بزرگترين اختلاف بين عناصر متناظر بردارها خواهد بود.

Dsq = max \xi-yi\                                                

اين فاصله مجدداً محدودة مربع شكلي را حول بردار مورد نظر تشكيل مي دهد. اندازة اين مربع ازمحدودة

مربع فاصلة شهري بيشتتر است و در نتيجه ميزان غير دقيق تري مي باشد. مجدداً از اين ميزان خطا                       

                                               شكل 3-5 فاصله مربعي

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

3-8 دستگاه هاي طبقه بندي خطي

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

بحث گذشته دربارة نحوة تقسيم فضاي الگو به وسيلة توابع مميز را ه را براي بحث جديد هموار كرده است. مجدداً مسأله سادة دو بعدي ودو طبقه اي شكل 3-1 را موردنظر قرار دهيد. هدف طبقه بندي بردارهاي ورودي به دو طبقة a و b مي باشد. ديديم كه چگونه مي توان فضاي الگو را به وسيله يك محدودة تصميم خطي جدا كرد.ليكن به چه طريق مي توان خط محدوده را در عمل با وجود داده هاي واقعي به دست آورد ومحل آن را تعيين نمود؟

در شكل 3-6 فضاي الگو را همراه با بردار جديدي نشان داده ايم. اين بردار را بردار وزن ها ، w ، مي ناميم. از جهت اين بردار براي نشان دادن محدودة تصميم خطي استفاده خواهد شد.

محدوده تصميم تابع مميز f(x) را به صورت زير تعريف مي كند:

                                                 F(x) =

= xi عضو I ام بردار ورودي ،=w عضوبردار I ام بردار وزن ها، و = n ابعاد بردار ورودي خروجي اين تابع براي هر بردار ورودي يا مثبت است يا منفي كه بستگي به مقدار بردار وزن ها وبردار ورودي دارد. اگر فرض كنيم مقدار خروجي مثبت نشان دهد كه بردار متعلق به طبقة

           

                     شكل 3-6 جدا كردن طبقه ها توسط يك محدوده تصميم خطي .

a مي باشد ومقدار منفي نمايانگر طبقة b باشد آن گاه براي طبقه بندي هر بردار كافي است به علامت f(x) نگاه كنيم. بدين صورت:

                                           اگر 0 f(x)> آنگاه طبقه a

                                           اگر 0f(x) < آنگاه طبقه b

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

                                                  F(x) =

كه پس از بسط مي تواند به صورت زير نوشته شود.

                                                  )- F(x) = (\w\.\ x\

در حالي كه  زاويه بين بردارهاي x وw است.

مقدار cos بين 1+ و 1- تغيير مي كند. در نتيجه مقدار  بيش از 90  درجه بين بردار وزن ها وبردار ورودي علامت f(x) را تغيير مي دهد. اين امر به وشني نشان دهندة محدوده تصميم خط راست است زيرا نقطة تغيير علامت در 90+ و90- درجه مي باشد. مي بينينم كه تابع فوق در واقع محدوده تصميمي را معين مي كند ليكن هنوز محل اين محدوده و عناصر بردار وزنها را نمي دانيم.

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

در اين جا داريم:

                                           

با مقايسه اين معادله ومعادله خط راست (y = mx +c) مشاهده مي شود كه شيب خط به وسيله نسبت و محل تلاقي خط با محور y ها به وسيله مقدار  كنترل مي شود.

تا اين جا ثابت كرده ايم كه اگر مقدار صحيح بردار وزن ها را بدانيم مي توانيم فرايند تميز دادن بردارها را به خوبي انجام داده ومحل محدودة تصميمرا تعيين كنيم. آن چه هنوز نشان نداده ايم اين است كه چگونه مي توان مقدار بردار وزنها را به دست آورد.متأسفانه اين امر ساده اي نبوده و اكثراً اين خط را به وسيلة روش هاي تكراري آزمون و خطا و اصلاح مقدار وزن ها با استفا ده از نوعي تابع خطا  1 به دست مي آورند. تابع خطا معمولاً خروجي دستگاه طبقه بندي را با جواب مطلوب مقايسه كرده و اختلاف را به نحوي نشان مي دهد. اگر كاربرد تابع مميز را در يك مسأله طبقه بندي منطقي دوگانه در نظر بگيريم ابعاد اين مسأله روشن تر مي شود. اگر بردار ورودي از n عنصر صفر و يك تشكيل شده باشد تعداد طرح هاي ورودي برابرn2خواهد بود. براي تقسيم اين طرح ها به انواع ممكن شاخه هاي دوگانه به صورت بالقوه تعداد n22تابع مميز وجود خواهد داشت. ليكن دستگاه هاي طبقه بندي خطي فقط قادر به تعدادي از تقسيم بندي هاي دو شاخه اي هستندـ گروهي كه در واقع جدايي پذير خطي هستند. مسئلة جدايي پذيري خطي موضوعي است كه به طور تنگاتنگ، به تاريخچة تحقيقات شبكه هاي عصبي مربوط مي باشد. در حال حاضر مسأله اي را «جدايي پذيرخطي» تعريف مي كنيم كه تنها به وسيلة يك فوق صفحه بتوان محدوده تصميم را به دو گروه طبقه بندي كرد.

مثالهايي  كه تاكنون آورديم تنها دستگاههاي خطي بودند كه مي توانستند فقط طبقه را جداكنند. در عمل مي توان دستگاههاي طبقه بندي خطي را طرح كرد كه بتواند بيش از دو طبه را از يكديگر تميز دهند. اين عمل را با تنظيم محدوده هاي تصميم متعدد و آزمونهاي چندگانه براساس شرايط موجود هر طبقه انجام مي دهيم. به عنوان مثال ، در يك مسأله چهار طبقه اي (a,b,c,d) ابتدا محدودة تصميمي را براي تميز دادن طبقه a از (b,c,d) وسپس چنانچه در طبقه(b) نبود بين(c)  و(d) در نظر مي گرفتيم. به همين صورت براي مسائل طبقه بندي پيچيده تر سطوح محدودة تصميم مي تواندهمان طور كه در شكل 3-7  آمده است به صورت جزء به جزء به قطعات متعدد تقسيم شود.

                             شكل 3-7  طبقه بندي خطي جزء به جزء براي طبقه بندي طرح هاي جدايي پذير غير خطي

 

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


نتيجه گيري

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

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

فصل 4 : نرون پايه

4- 1مقدمه

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

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

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

4-2مدل سازي نرون

نقش اصلي يك نرون بيولوژيك عمل جمع ورودي‌هاي خود تا جايي است كه مجموع ورودي‌ها از حدي كه به آن آستانه[10] مي‌گوييم تجاوز نكند و آن گاه توليد يك خروجي است .

بدنه سلول كليه ورودي‌ها را دريافت مي‌كند و هنگامي كه مجموع ورودي‌ها از حد آستانه تجاوز كرد سيگنالي را آتش مي‌كند . اين نرون بيولوژيكي ساده در شكل 4-1 نشان داده شده است .

  مدلي كه از نرون مي‌سازيم بايد مشخصه‌هاي زير را داشته باشد . به طور خلاصه :

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

كارايي سيناپس در انتقال سيگنال هاي ورودي به بدنه سلول را مي توان با استفاده از ضريبي كه در ورودي هاي نرون ضرب مي شود مدل سازي كرد .

 

 

               

                                  شكل 4-1 مشخصات يك نرون بيولژيك.

با توجه به اين مدل نرون بيولوژيك آنگاه كه ما آن را به صورت مصنوعي پياده سازي كنيم شكلي مانند شكل 4-2 خواهيم داشت.اين مدل ابتدا مجموع وزني ورودي‌هاي خود را محاسبه كرده سپس آن را با سطح آستانه داخلي خود مقايسه مي‌كندو چنانچه از آن تجاوز كرد فعال مي‌شود . در غير اين صورت غير فعال باقي مي‌ماند .چون ورودي‌ها براي توليد خروجي از ميان نرون عبور مي‌كنند به اين سيستم « پيش خور»1 مي‌گوييم .

        

                                       شكل 4-2 نماي مدل اصلي نرون.

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

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

ورودي 1 * وزن مربوط به خط ارتباطي 1= مجموع ورودي‌ها

...+ورودي2 * وزن مربوط به خط ارتباطي 2+

ورودي n * وزن مربوط به خط ارتباطيn +

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

دو راه كار ديگر براي رسيدن به اين منظور وجود دار د:

1-     حد آستانه را از حاصل جمع ورودي كم كنيم ،اگر حاصل + بود نرون 1 و اگر – بود نرون صفر توليد كند.

2-     حذف كامل حد آستانه و اضافه كردن ورودي با مقدار ثابت 1 كه اين ورودي هميشه  فعال باقي خواهد ماندو ضريب وزني آن مقدار منفي حد آستانه مي باشد.

اگر خروجي را y بناميم، رابطه زير راه كار اول را بيان مي‌كند .

                            

در حالي كه fh يك تابع پلكاني است ( در واقع اين تابع را تابع «هوي سايد»1 مي‌نامند) و

                     

                     

بدين صورت منظور ما برآورده مي‌شود . دقت كنيد كه خروجي تابع تنها مقادير 1 و 0 است . به عبارت ديگر نرون يا فعال است يا غير فعال.

اگر از راه كار دوم يعني احتساب تورش استفاده كنيم، ورودي ديگري را با شماره 0 انتخاب كرده و مقدار آن را هميشه برابر 1 قرار مي‌دهيم. در اين صورت ضريب وزني ورودي جديد برابر با مقدار تورش خواهد بود . تابع فوق به صورت زير در خواهد آمد :

                                    

دقت كنيد كه حد زيرين علامت زيگما از 1 به 0 تغيير كرده و مقدار x0 هميشه برابر با 1+ خواهد بود .

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

نرون هاي مدل ،كه به صورت ساده به يكديگر متصل اند ،در سال Frank Rosenblatt 1962

به نام پرسپترون1 نامگذاري شد. او براي نخستين بار نرون‌هاي مدل را در كامپيوترهاي ديجيتال شبيه سازي كرد و آن‌ها را به طور رسمي تحليل نمود .

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

4-3 فراگيري در نرون‌هاي ساده

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

كودكان اغلب براي كسب نتايج خوب رياضي تشويق مي‌شوند ، و براي عبور از خيابان بدون توجه به اطراف سرزنش مي‌كردند . به سگ‌ها براي اطاعت از فرمان تكه‌هاي غذا مي‌دهند. به طور كلي، رفتار خوب تشويق مي‌شود و رفتار بد سرزنش مي‌گردد. همين شيوه را مي‌توان در شبكه‌هاي مصنوعي نيز به كار گرفت. اگر دو گروه از اشياء داشته باشيم مثلاً گروهي از شكل‌هاي نوشته شده مختلف A و گروهي از شكل‌هاي نوشته شده مختلف B ، شايد مايل باشيم نرون مورد نظر ما A ها را از B ها تميز دهد . شايد بخواهيم نرون ما با مشاهده يك A عدد 1 را بيرون دهد و با ديدن B عدد صفر را .

اصل راهنما آن است كه به نرون اجازه دهيم از اشتباهات خود بياموزد. اگر جواب همراه با خطا باشد مي‌خواهيم احتمال اين خطا را در آينده كم كنيم و اگر جواب صحيح باشد وضع را تغيير نمي‌دهيم . اگر در ابتدا ضرايب وزني خطوط ارتباطي نرون را به طور تصادفي تعيين كنيم عين در واقع حالت شروع بوده و نرون هيچ نمي‌داند ،‌ آن گاه مي‌توانيم يك حرف A را به نرون وارد كنيم ،‌نرون مجموع وزني ورودي‌هاي خود را محاسبه مي‌كند و با مقدار آستانه مقايسه مي‌كند. چنانچه مقدار محاسبه شده از آستانه بيش‌تر باشد نرون جواب 1 و در غير اين صورت خروجي صفر خواهد داد . احتمال اين كه به طور تصادفي جواب صحيح باشد 50% است ،‌زيرا ورودي‌هاي نرون تنها به طور تصادفي مي‌توانند از مقدار آستانه تجاوز كنند . فرض كنيد نرون جواب صحيح بدهد . در اين صورت نياز به هيچ اقدامي نيست زيرا مدل موفق بوده است . ولي اگر جواب صفر بود بايد مجموع  وزني را افزايش دهيم به صورتي كه بار ديگر كه با حرف A رو به رو شد جواب صحيح 1 بدهد . اين عمل را با افزايش ضرايب وزني خطوط ارتباطي نرون انجام مي‌دهيم . بنابراين براي تشويق احتمال حصول جواب 1 وزن‌ها را افزايش مي‌دهيم .

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

اين بدان معني است كه براي فراگيري شبكه بايد زماني كه مايليم نرون فعال باشد ضرايب وزني را افزايش داده و آن گاه كه مايليم نرون غير فعال باشد ضرايب را كاهش دهيم .

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

شيوه يادگيري ما مي‌تواند به صورت زيرخلاصه شود :

ضرايب وزني و مقادير آستانه را به طور تصادفي تعيين كنيد .

يك ورودي را به مدل ارائه دهيد .

مقدار خروجي را با توجه به مقايسه مجموع وزني ورودي‌ها و مقدار آستانه محاسبه كنيد .

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

ورودي بعدي را به مدل ارائه دهيد  و ...

4-4  الگوريتم فراگيري پرسپترون

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

الگوريتم فراگيري پرسپترون

1- ضرايب ومقادير اوليه آستانه را تعيين كنيد .

را به عنوان ضريب وزني ورودي i در زمان t و  را به عنوان مقدار آستانه خروجي در نظر بگيريد.مقدار w0را برابر - و مقدار x0  را هميشه برابر 1 قرار دهيد .         (0≥ i≤n) 

wi(0) را برابر مقادير تصادفي كوچك قرار دهيد، بدين صورت تمام وزن‌ها و آستانه‌ها را به حالت شروع درآوريد.

2- ورودي وخروجي مطلوب را ارائه دهيد .

ورودي‌هاي xn,...x2,x1,x0 ، و خروجي مطلوب d(t) را به مدل ارائه دهيد.

3-     خروجي واقعي را محاسبه كنيد .

                         

4-     ضرايب وزني را تبديل كنيد .

)Wi (tWi (t+1) = اگر خروجي صحيح بود.

Wi (t+1) =wi (t) +xi (t)   اگر خروجي واقعي صفر و خروجي مطلوب 1 بود (طبقه A)

Wi (t+1) =wi (t)-xi (t)   اگر خروجي واقعي 1 و خروجي مطلوب صفر بود (طبقه B)

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

 

 
 

 

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

4- ضرايب وزني را تعديل كنيد – شكل اصلاح شده

Wi(t+1)=wi(t)  اگر خروجي صحيح بود .

xi(t)   Wi(t+1)=wi(t)+ اگر خروجي واقعي صفر و خروجي مطلوب 1 بود . (طبقه A )

xi (t)   Wi(t+1)=wi(t)- اگر خروجي واقعي 1 و خروجي مطلوب صفر بود . (طبقه B )

جايي كه  باشد  عامل بازيابي مثبتي است كه سرعت تعديل را كنترل مي‌كند .

الگوريتم مشابهي توسط ويدروهاف1 ارائه شده است . آن‌ها به اين نكته پي برده بودند كه بهتر است هنگامي كه اختلاف خروجي واقعي وخروجي مطلوب زياد است ضرايب وزني به ميزان بيش تر و هنگامي كه اين اختلاف جزئي است به مقدار كم‌تر تعديل گردد.. آن‌ها قاعده‌اي را براي فراگيري به نام قاعده دلتاي2 ويدور – هاف پيشنهاد كردند . اين قاده اختلاف جمع وزني و مقدار خروجي مطلوب را محاسبه مي‌كندو آن را «خطا» مي‌نامند. تعديل ضرايب وزني آن‌گاه به تناسب اين خطا انجام مي‌شود .

مقدار خطاي را مي‌توان به صورت زير نوشت :

            

جايي كه d(t) خروجي مطلوب سيستم و y(t) خروجي واقعي است . اين فرمول خود موضوع اضافه كردن يا كم كردن ضرايب وزني را كنترل مي‌كند ، زيرا اگر خروجي مطلوب 1 و خروجي واقعي صفر باشد ، و بنابراين ضرايب وزني افزايش مي‌يابد . به عكس اگر خروجي مطلوب 0 و خروجي واقعي 1+ باشد ،‌      مي‌شود و ضرايب وزني تقليل مي‌يابند . توجه كنيد كه چنانچه تصميم صحيح باشد وزن‌ها تغيير نمي‌كنند زيرا  d(t)-y(t)=0 .

الگوريتم فراگيري اصولاً مشابه بر پرسپترون اوليه است . تنها گام 4 الگوريتم پرسپترون به صورت زير تغيير مي‌يابد :

4-     ضرايب وزني را تعديل كنيد – قاعده دلتاي ويدرو-هاف

   

xi(t)                             Wi(t+1)=wi(t)+

                                  اگر ورودي از طبقه A،باشد 1+            

                             اگر ورودي از طبقهB،باشد 0      d(t)=

 

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

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

4-5 يك مثال ساده براي پرسپترون ساده.

شايد پرسپترون ها گسترده ترين تاثير را بين شبكه هاي عصبي اوليه داشتند.قانون يادگيري پرسپترون از قانون Hepp قوي تر است . مي توان شيوه يادگيري مكرر آن را براي نزديكتر شدن وزن هاي صحيح اثبات كرد .

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

پرسپترون داراي انواع مختلفي مي باشند مانند  , Minsky(1969)  ,  Rosenblatt(1962)Papert(1988).با اينكه بعضي از پرسپترون ها خود پرداز هستند  اكثر آنها آموزش مي بينند.

پرسپترون اصلي سه لايه نرون داشتند  ، واحد حس ،واحد هاي وابسته  و واحد  واكنش  )خروجي)

چيزي شبيه يك مدل تقريبي چشم .

يك پرسپترون ساده از فعال سازهاي(ورودي ها) دودويي براي واحدهاي وابسته و حسي استفاده مي كند و يك فعال ساز 1-يا0،1+ براي واحد خروجي .

واحد حسي توسط اتصالات با اوزان ثابت به واحد هاي وابسته مرتبط مي شوند. ارزش اين اوزان   1-يا0،1+ مي باشد . كه به طور تصادفي تعيين مي گردد. عملگر فعال سازي براي هر واحد وابسته يك عملگر دودويي با يك حد آستانه اختياري اما  ثابت .

بنابر اين سيگنالي كه از واحد وابسته به واحد خروجي فرستاده مي شود يك سيگنال دودويي (1و0) مي باشد.

خروجي پرسپترون  y=f(y-in)  مي باشد.در حالي كه عملكرد تابع فعال ساز اينگونه مي باشد.

                              

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

اگر خطايي براي يك الگوي ورودي آموزشي خاص رخ دهد ،وزن ها طبق اين فرمول تغيير مي كنند.

Wi(new)=wi(old)+α t x                                          

 در حالي كه ارزش هدف( target) 1+يا 1- است و  α ميزان يادگيري است  ،اگر خطايي رخ     نمي داد ،وزن ها تغيير نمي كردند.

آموزش تا زماني كه هيچ خطايي رخ نمي داد ادامه پيدا مي كند .

ساختار:

پرسپترون ساده براي طبقه بندي الگويي.

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

از آنجايي كه فقط امكان تنظيم وزنها  از واحد هاي مرتبط به واحدهاي خروجي وجود دارد ما بررسي خود را به بخش تك لايه شبكه كه در شكل زير نشان داده شده است محدود مي كنيم.

بنابر اين واحد هاي مرتبط همانند واحدهاي ورودي عمل مي كنند . هدف اين شبكه طبقه بندي هر

الگوي ورودي مي باشد كه آيا به طبقه خاص تعلق دارد يا نه.

                             

پاسخ 1+ واحد خروجي دلالت بر تعلق داشتن دارد و پاسخ 1- دلالت بر عدم تعلق دارد .

اين شبكه آموزش داده مي شود تا اين طبقه بندي را به وسيله روش مكرر اجراء كند.

الگوريتم:

 

الگوريتم ارائه شده براي بردارهاي ورودي دو قطبي و هم دودويي مناسب است .با يك هدف          ( target) دوقطبي ،Ө ثابت و bias  قابل تغيير .درابتدا Ө همانند عملگر گامي (قدم به قدم) عمل نمي كند. بنابراين هم يك bias وهم حد آستانه  لازم است .در مورد نقش حد آستانه در ادامه بحث خواهد شد. اين الگوريتم به طور خاص در برابر ارزش هاي اوليه اوزان يا ميزان سرعت يادگيري حساس نمي باشد                            .         

گام صفر: معرفي وزن ها و bias .

براي سهولت كار ابتدا وزن ها و bias را صفر كنيد و سپس خطاي يادگيري را در بازه 1≤α 0 قرار دهيد (معمولل براي سهولت كار α را مي توان يك در نظر گرفت).

گام اول: اگر وضعيت توقف false بود گامهاي 2 تا 6 را تكرار كن.

گام دوم: براي هر جفت يادگيري گام هاي 3 تا 5 را تكرار كن .

گام سوم: ورودي هاي واحد ورودي را وارد كن.

گام چهارم: خروجي را محسبه كنيد.

Y_in = b+∑xi wi                                             

1        if          y_in >Ө                                             

y =       0        if  - Ө ≤ y_in ≤ Ө                                            

-1         if       y_in  <- Ө                                           

گام پنجم:اگر خطا در اين الگو بوجود آمد وزن ها و bias  را تغيير دهيد.

If   y ≠ t (target)                                                     

Wi(new) = Wi(old)+ α  t Xi ;                               

b (new)= b(old)+ α t ;                                         

else                                                                           

Wi(new)=Wi(old) ;                                              

b(new)= b(old) ;                                                   

گام ششم : وضعيت توقف را تست كنيد.(اگر وزني در گام دوم تغيير نكرده است توقف نموده وگرنه ادامه بدهيد).

        

توجه داشته باشيد كه فقط وزن هاي  كه واحد هاي ورودي فعال را مرتبط مي كند(xi≠0(به روز مي شوند.

همچنين ،وزن ها فقط براي الگو هاي كه ارزش صحيح y را ايجادنمي كنند ،به روز مي شود.

اين به اين معني است كه هر چه الگوهاي آموزشي بيشتر جواب صحيح ايجاد كند يادگيري كمتر رخ مي دهد.اين با آموزش Adeline   كه در آن يادگيري بر اساس تفاوت ميانy-in وt   است مغايرت دارد.در ابتدا  عملگر فعال ساز براي واحد خروجي يك ارزش ثابت و نامنفي Ө است.

ما همواره به برداري نياز داريم كه دو ناحيه مثبت و منفي را از هم جدا كند .چنانچه اين بردار رسم شود شبكه ما آموزش ديده است.

توجه داشته باشيد كه به جاي يك خط جدا كننده ،ما يك خط داريم قسمت واكنش مثبت را از بخش

واكنش صفر جدا مي كند .

W1x1 + w2x2 + b>Ө                                         

و يك خط بخش واكنش صفر را از بخش واكنش منفي جدا مي كند.

W1x1 + w2x2 + b<-Ө                                       

كاربرد

عملكردهاي  منطقي

بياييد عملكرد منطقي AND  را ب اورودي هاي دودويي و  target دو قطبي در نظر بگيريم.

اين مثال را با توجه به قانون يادگيري پرسپترون و اطلاعات بالا در نظر بگيريد.

يك شبكه تك لايه براي حل اين مسئله كافي مي باشد.براي سادگي α =1 ،وزن ها و bias را نيز برابر صفر مي گيريم.ونيز براي توضيح نقش آستانه Ө=.2  مشخص مي كنيم.تغيير وزن ها را زماني انجام مي دهيم كه خطايي رخ دهد يا خروجي صفر باشد.

با ارائه اولين ورودي داريم:

WEIGHTS

TARGET

OUT

NET

INPUT

w1     w2     b

 

 

 

x1     x2     b

1        1      1

1

0

0

1       1       1

 

معادله خطوط جدا كننده اين قسمت بصورت زير است:

X1+x2+1=.2                  X1+x2+1=-.2                           

شكل نمودار آن به صورت زير است :

                          

حال با ارائه دومين ورودي بصورت زير است:

WEIGHTS

TARGET

OUT

NET

INPUT

w1     w2     b

 

 

 

x1     x2     b

0        1      0

-1

1

2

1       0       1

 

معادله خطوط جدا كننده اين قسمت بصورت زير است:  

X2=.2                        x2=-.2                               

شكل نمودار آن به صورت زير است :

                              

حاصل سومين ارائه به شرح زير است :

WEIGHTS

TARGET

OUT

NET

INPUT

w1     w2     b

 

 

 

x1     x2     b

0        0     -1

-1

1

1

0       1       1

 

تا زماني كه اجزاي الگوي ورودي نامنفي و اجزاي بردار وزن نامثبت باشند جواب شبكه منفي يا كه صفر است.

براي تكميل اولين دوره يادگيري ،چهارمين الگوي ورودي زير ارائه مي شود.

WEIGHTS

TARGET

OUT

NET

INPUT

w1     w2     b

 

 

 

x1     x2     b

0        0      -1

-1

-1

-1

0       0       1

 

نتيجه تمام الگو هاي ورودي فوق كه از وزن هاي فوق نشات مي گيرد منفي است ،اما تا زماني كه جواب الگوي (1و1) صحيح نيست كار ما به پايان نرسيد ه است.نتيجه دومين دوره يادگيري براي اولين الگوي ورودي كه تغيير وزن هاي زير را به همراه دارد به شرح زير است :

WEIGHTS

TARGET

OUT

NET

INPUT

w1     w2     b

 

 

 

x1     x2     b

1        1      0

1

-1

-1

1       1       1

معادله خطوط جدا كننده آن  بصورت زير است :

X1+x2= .2                     x1+x2=-.2                              

شكل نمودار آن به صورت زير است :

                             


دومين ورودي در دومين دوره  :

WEIGHTS

TARGET

OUT

NET

INPUT

w1     w2     b

 

 

 

x1     x2     b

0        1      -1

-1

1

1

1       0       1

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

X2-1=.2                        x2-1=-.2                              

نمودار گراف آن به صورت زير است :

                            

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

WEIGHTS

TARGET

OUT

NET

INPUT

w1     w2     b

 

 

 

x1     x2     b

0        0      -2

-1

-0

0

0       1       1

دوباره مشاهده مي شود كه نتيجه براي تمام ورودي هاي داده شده منفي مي باشد.


براي تكميل دومين دوره يادگيري چهارمين الگوي يادگيري را به قرار زير شرح مي دهيم :

WEIGHTS

TARGET

OUT

NET

INPUT

w1     w2     b

 

 

 

x1     x2     b

0        0      -2

-1

-1

-2

0       0       1

در ادامه نتيجه دوره سوم به شرح زير است :

 

WEIGHTS

TARGET

OUT

NET

INPUT

w1     w2     b

 

 

 

x1     x2     b

1        1      -1

1

-1

-2

1       1       1

0         1     -2

-1

0

0

1        0      1

0         1     -2

-1

-1

-1

0        1      1

0          1    -2

-1

-1

-2

0       0      1

نتيجه دوره چهارم :

 

WEIGHTS

TARGET

OUT

NET

INPUT

w1     w2     b

 

 

 

x1     x2     b

1        2      -1

1

-1

-1

1       1       1

0         2     -2

-1

0

0

1       0       1

0         1     -3

-1

0

0

0       1      1

0         1     -3

-1

-1

-3

0       0      1

دوره پنجم :

WEIGHTS

TARGET

OUT

NET

INPUT

w1     w2     b

 

 

 

x1     x2     b

1        2      -2

1

-1

-2

1      1       1

1        2      -2

-1

-1

-1

1      0       1

1         1     -3

-1

0

0

0       1      1

1         1     -3

-1

-1

-3

0       0      1

دوره ششم :

WEIGHTS

TARGET

OUT

NET

INPUT

w1     w2     b

 

 

 

x1     x2     b

2        2      -2

1

-1

-1

1       1       1

1        2      -3

-1

0

0

1       0       1

1         2     -3

-1

-1

-1

0       1       1

1         2     -3

-1

-1

-3

0       0       1

دوره هفتم :

WEIGHTS

TARGET

OUT

NET

INPUT

w1     w2     b

 

 

 

x1     x2     b

2        3     -3

1

0

0

1       1       1

1         3    -3

-1

0

0

1       0       1

1         2    -4

-1

0

0

0       1       1

1         2    -4

-1

-1

-4

0       0       1

 


دوره هشتم :

WEIGHTS

TARGET

OUT

NET

INPUT

w1     w2     b

 

 

 

x1     x2     b

2        3     -3

1

-1

-1

1       1       1

2         3    -3

-1

-1

-1

1       0       1

2         2    -4

-1

0

0

0       1       1

2         2    -4

-1

-1

-4

0       0       1

دوره نهم :

WEIGHTS

TARGET

OUT

NET

INPUT

w1     w2     b

 

 

 

x1     x2     b

3        3     -3

1

0

0

1       1       1

2         3    -4

-1

0

0

1       0       1

2         3    -4

-1

-1

-1

0       1       1

2         3    -4

-1

-1

-4

0       0       1

دوره دهم :

WEIGHTS

TARGET

OUT

NET

INPUT

w1     w2     b

 

 

 

x1     x2     b

2        3     -4

1

1

1

1       1       1

2        3     -4

-1

-1

-2

1       0       1

2        3     -4

-1

-1

-1

0       1       1

2        3     -4

-1

-1

-4

0       0       1

بدين گونه پاسخ مثبت با نقاط معادله زير معين مي شود .

2 x1 + 3 x2 - 4> .2                                          

خط مرز نيز به قرار زير است :

X2 = -2/3 x1 = 7/5                                         

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

2 x1 + 3 x2 – 4 < -.2                                      

خط مرز نيز به قرار زير است :

X2 = - 2/3 x1 = 19/15                                   

با رسم اين خطوط  در بردار فضا به دو قسمت صحيح تقسيم شده و در واقع شبكه ما آموزش 

مي بيند.                                                                           

                                                    اين گراف آخرين مرز تصميم براي تابع AND در قاعده پرسپترون است.

 

 

 

 

 

 

 

 

 

 

فصل 5 :نرون چند لايه

5-1 مقدمه

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

بگيريد . تابع منطقي داراي دو ورودي و يك خروجي است . خروجي آن تنها زماني فعال است كه تنها يكي از ورودي ها فعال باشد . ليكن اگر هر دو فعال يا هر دو خاموش باشند خروجي خاموش خواهد بود .

 نشان دهيم جدول زير بدست مي آيد.0  و خاموش را با 1چنانچه حالت فعال را با 

 

 
 

 

X            Y           Z

0             0            0

0             1            1

1             0            1

1             1            0

 

 
 

 

فعال  Xاين مسئله را مي توانيم به اين صورت بيان كنيم كه پرسپترون بايد در نهايت ياد بگيرد كه اگر  خاموش بود و يا بلعكس جواب1  بدهد و اگر هر دو فعال يا خاموش بودند جواب صفر بدهد.Y و اگر خروجي هاي 1 را + در نظر گرفته و خروجي هاي صفر را منفي در نظر بگيريم بردار زير شكل مي گيرد .

                                    

بديهي است كه هيچ خط راستي را نمي توانيم رسم كنيم كه اين دو محيط متفاوت را از هم جدا كند

.اين نوع الگو را جدايي ناپذير خطي مي ناميم .پرسپترون تك لايه نيز قادر نخواهد بود چنين خطي

را رسم كند بنابر اين نمي توان اين گونه مسائل را با اين روش حل كرد.ناتواني پرسپترون در حل اين مسئله ساده اولين بار توسط مينسكي وپاپرت بر ملا شد.نتيجه آن پرسپترون تك لايه با وجود سادگي مدل موفقيت هاي چشم گيري را از خود نشان داد و مي تواند طبقات اشياء را در صورتي كه تفكيك پذير خطي باشد مشخص كند .حال لازم است راهي براي رفع مشكل جدا ناپذيري خطي بدون از دست دادن  ويژگيهاي پرسپترون چاره اي انديشيد.رفع اين نياز اولين بار توسط رمل هارت و  مك كللند1 در سال  1986  ابداع شد  و صورت  جديدي از مدل پرسپترون را با نام پرسپترون چند لايه اي2  معرفي كرد.

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

5-2 مدل جديد

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

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

5-3 قاعده جديد فراگيري

قاعده فراگيري پرسپترون چندلايه را «قاعده كلي دلتا» يا «قاعده پس انتشار» گويند. اين عناوين در سال 1986 توسط رومل هارت، مك كللند و ويليامز پيشنهاد شد و اين آغاز تولد دوباره شبكه‌هاي عصبي بود . بعدها معلوم شد كه نتايج مشابهي نيز قبلاً در سال 1982 توسط پاركر منتشر شده و همچني وربس در سال 1974 كار مشابهي انجام داده است . اين طبيعت علم است . گروه‌هاي متفاوت در حوزه‌هاي وسيع نمي توانند از تمامي پيشرفت‌ها در  حوزه‌هاي ديگر مطلع شوند و در نتيجه تكرار تلاش ها گريز ناپذير خواهد بود . به هر صورت اين افتخار به آن‌ها تعلق مي‌گيرد كه اولين گروهي بودند كه نه تنها قاعده فراگيري پرسپترون را به طور مستقل كشف كردند بلكه با تركيب آن‌ها پرسپترون چند لايه‌اي را ايجاد كرده و مورد مطالعه قرار دادند . كتاب آن‌ها به نام « پردازيش توزيع شده موازي» هنوز يكي از مهم‌ترين كتاب‌هاي اين  حوزه علمي است .

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

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

5-4ـ الگوريتم پرسپترون چند لايه‌اي

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

الگوريتم آموزش پرسپترون چند لايه‌اي

  1. مقادير اوليه ضرايب وزني و آستانه‌ها را انتخاب كنيد .تمام وزن‌ها و آستانه ها را برابر با اعداد كوچك تصادفي قرار دهيد.

ورودي‌ها و خروجي هاي مطلوب را به شبكه عرضه كنيد .

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

هر لايه مقادير زير را محاسبه كرده و به لايه بعدي انتقال مي‌دهد .

  1. ضرايب وزني را ميزان كنيد . ابتدا از لايه خارجي شروع كنيد و به عقب برگرديد

5.     نشان دهنده  ضرايب وزني از گره I به گره  در زمان   ضريب بهره و                  نمايانگر خطاي مربوط به الگوي p  در كره است .

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

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

در حالي كه عمل جمع در مورد واحد واقع در لايه بعدي از واحد صورت مي گيرد .

5-5ـ بررسي مجدد مسأله ياي حذفي (XOR)

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

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

توجه كنيد كه مقدار آستانه 5/1 در واحد پنهان به اين معني است كه اين واحد نمي‌تواند فعال باشد مگر اين كه هر واحد و رودي فعال باشد . جالب است كه رتفار شبكه را هنگام حل مسئله XOR مشاهده كنيم. وقتي هر دو ورودي خاموش باشد (0 0)، واحد پنهان نيز خاموش است ، و هيچ مقدار ورودي خالص دريافت نمي‌كند. بنابراين خاموش مي‌ماند  در اين حالت واحد خروجي ورودي خالص 1+ را دريافت مي‌كنند كه از حد آستانه آن تجاوز مي‌كند . در نتيجه واحد خروجي فعال مي‌شود . همين حالت نيز در صورتي كه تنها واحد  ورودي سمت راست فعال باشد (1 0) ، اتفاق مي‌افتد . وقتي هر دو واحد ورودي فعال باشند (1 1) واحد پنهان مقدار ورودي خالص 2+ دريافت مي كند . اين مقدار از آستانه واحد پنهان تجاوز مي‌كند. در نتيجه واحد پنهان فعال مي شود . در اين صورت واحد  خروجي از هر كدام از واحدهاي ورودي مقدار 1+ (مجموعاً 2+) و از واحد پنهان مقدار2- را دريافت مي‌كند. در نتيجه مجموع ورودي‌هاي خالص واجد خروجي صفر مي شود كه از مقدار آستانه آن  كم تر است و در نتيجه خاموش مي ماند خلاصه نتايج در جدول زيرآمده است :

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

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

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

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

. واحد ورودي سمت راست هر دو واحد پنهان را فعال مي‌كند . در نتيجه مقدار ورودي خالص واحد خارجي 0.8 يعني درست برابر با مقدار آستانه آن مي‌شود . چون تابع آستانه سيگمويد است خروجي آن دقيقاً برابر با 5/0 خواهد شد . اين وضعيت پايدار است و با آموزش‌هاي بيش‌تر تغيير نمي كند . چنين نقطه كمينه موضعي به ندرت (تقريباً در 1% موارد) در حل مسئله XOR پيش مي‌آيد.

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

5-6 لايه هاي شكبه : Network Layers

معمول‌ترين نوع شبكه عصبي مصنوعي شبكه‌اي است كه داراي 3 لايه ورودي لايه پنهان  در نهايتاً لايه خروجي مي‌باشد كه لايه ورودي به لايه پنهان به لايه خروجي . فعاليت واحد رودي تغزيه شدن اطلاعات خام  (Data) را توسط شبكه نشان مي‌دهد . فعاليت هر واحد پنهان توسط فعاليت واحد ورودي و وزن‌هايي كه روي واحدهاي ورودي و پنهان اعمال مي‌شود، تعيين       مي شود .

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

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

در سازمان دهي چند لايه‌اي ، و احدها معمولاً توسط لايه ها شماره‌گذاري مي شوند بجاي اينكه از يك شماره گذاري سراسري استفاده شود.

 

5-7معرفي جند شبكه:

1ـ شبكه‌هاي عصبي پيش خور :

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

2ـ شبكه‌هاي عصبي پس خور:

شبكه‌هاي پس خور مي‌توانند با مصرفي ميسر (loops) در شبكه سيگنال ها را در هر دو جهت  حركت دهند . شبكه‌هاي پس خور خيلي قدرتمند هستند و مي‌توانند بسيار پيچيده باشند . اين شبكه‌ها پويا هستند آنها دائماً در حال تغيير هستند تا زماني كه به منتظر تعادل (equilibrium point) برسند . آنها در نقطه تعادل باقي مي‌مانند تا زماني كه ورودي  ها تغيير كنند و يا به تعادل جديدي نياز باشد . از شبكه‌هاي پس خور براي علامت‌گذاري و مشخص‌كردن اتصالات پس خور در سازمان‌دهي تك لايه‌اي استفاده مي‌شود .

5-8 معرفي نمونه اي از توابع كليدي

mse  :‌

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

(E.X,PP‌) mse‌= Perf

(, PPشبكهE, )mse = Perf

(كد ) mse‌ = info

توصيف و تشريح :‌ mse يك هدف اجراو نمايش شبكه است كه عملكرد و ايفاي نقش شبكه  را مطابق  با مفهوم   و معناي  مسيرهاي نامنظم و اشتباه اندازه گيري  مي كند . mse (E.X,PP‌)  از يك تا سه استدلال و اثبات را مطرح مي كند:‌ 1-  E‌- ماتريكس يا درصف بطور منظم قراردادن بردارها و مسيرهاي اشتباه و نامنظم. 2 X- بردار و خط سير همه مقادير نيرو و مسيرهاي منحني و متاميل  ( به رسميت شناخته نشده و رد شده ) 3 – پارامترهاي اجرا و نمايش PP‌- (‌به رسميت شناخته نشده و رد شده )‌. و عملكردها و گزارشهاي  مسيرها نامنظم مربع شده عبارتند از :‌

1-(, PPشبكهE, ) mse كه مي تواند يك استدلال  و اثبات  متناوب را براي X‌مطرح كند. 2- شبكه – شبكه عصبي از X كه مي تواند فراهم آورده شود. اطلاعات مفيد عملكردهاي (كد )‌ mse براي هر دسته كد عبارتند از :‌ 1- “drive”‌ نام عمل و اجراي اشتقاقي 2- “name- نام كامل .3-“pnames”‌- نامهايپارامترهاي آموزشي4- “pdefaults”– نقيصه پارامترهاي آموزشي

مثالها :‌يك شبكه  مستعد  به تلاش كه داراي  دولايه است توسط يك ترادف و مجموعه وروديهاي  ،‌ Tansingيك عنصري از -10-تا10 چهار سلول پوشيده و پنهان شده . با تمام اجزاء  خود و يك  در قسمت افقي ستونها بوجود مي آيد. Purelin‌ سلول خروجي

net (شبكه) = newff (]-10 10 ][4   1 [,]”tansing” , “purelin”[

2- شبكه اي كه با يك سري از وروديهايP داده مي شود دراين شبكه مسير نامنظم و اشتباه توسط  كسر كردن خروجي A از نشان و هدف T‌ محاسبه مي شود و سپس مي توان mse را اندازه گرفت.

Perf = mse (e)

P= (-10  -5  0  5  10 ) ؛ T = ( 0    0   1  1  1 )      y = sim( شبكه , P) e = t-y

‌توجه كنيد كه mse‌ مي تواند نشان داده و مطرح شوند فقط با يك استدلال زيرا استدلالهاو اثباتهاي ديگر به رسميت شناخته نشده وا رد مي شوند . mse از استدلالهاي رد شده جهت تطبيق و برابري با ليست استدلال هدف اجراي و نمايش استاندارد شده حمايت و پشتيباني مي‌كند .

كاربرد استفاده از شبكه : شما مي‌توانيد يك شبكه استانداردي را بوجود آوريد كه mse را به همراه newwf و newcf يا newelm استفاده مي‌كند. براي مطرح سازي يك شبكه عادي و مرسوم بايد آموزش با mse گرفته شود كه در آن شبكه perform fcn با mse تنظيم و برآورد مي‌شود كه اين امر بطور اتوماتيك شبكه performpayam را با ماتريكس خالي ][  هماهنگ مي‌كند، همنطور كه mse هيچ پارارمتر اجرايي و نمايش ندارد . در هر دو حالت ، نشان دادن آموزش يا جور كردن و تبديل كردن، نتيجه در mse براي نمايش و اجراي محاسبه استفاده خواهد

Tansig

تابع انتقال منحني شكل تانژانت هيپربوليك

توجه : فرق تابع tansig وpurelin د راينست كه purelin يك تابع انتقال خطي است ولي Tansig يك تابع انتقال منحني شكل است .

tansig  يك تابع انتقال است . توابع انتقال خروجي لايه‌ها را از ورودي شبكه محاسبه مي‌كند tansig (N) يك ورودي را مي‌گيرد :

ماتريس از بردارهاي ورودي شبكه Q*S N   و خروجي كه برمي‌گرداند بين 1- و 1 است

Tansig(code) براي هر رشته كد حروفي مفيدي را به شرح زير بر مي‌گرداند :

تابع tansig بعد از تانژانت هيربوليك نام‌گذاري شده تانژانت هيپربوليك به احتمال زياد دقيق است .

مثال : در اينجا با چند  كد براي ايجاد كردن گرافي از تابع انتقال tansig مواجه مي‌شويم :

كاربرد شبكه :Network use  شما مي‌توانيد شبكه‌اي استاندارد ايجاد كنيد كه از tansig با فراخواني newff يا newcf استفاده كند . براي تغيير هر شبكه هر لايه از tansig استفاده مي‌كند .

 tansigset net. layers {i,j}. transferFcn to 

الگوريتم آن بصورت زير است :n=2/(1+exp(-2*n)-1                                                                                           

tansig (N) خروجي اش برطبق فرمول زير محاسبه مي‌كند :

اين فرمول دقيقاً برابر مي باشد .

Purelin    تابع انتقال خطي

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

براي هر رشته كه اطلاعات (خروجي) را برمي‌گرداند

آموزش شبكه

شبكه براي نخستين بار مقدار دهي مي شوند، شبكه آماده آموزش ديدن  Bias هنگامي كه وزن ها و

مي شود.مي توان شبكه را براي نزديكي(رگرسيون غير خطي)،ارتباط الگويي،طبقه بندي الگويي آموزش داد.

 وخروجي هاي pيك پروسه آموزش به يك سري از رفتار اصلي شبكه نياز دارد- ورودي هاي شبكه

 .Target (t)آن

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

 مي باشد.Mse  ميانگين مجذور خطاي Feedforward پيش فرض حاصل عملكرد براي شبكه

 است.target  و خروجي هاي a خطايي مجذور شده متوسط ميان خروجي هاي

در ادامه اين بخش چندين الگوريتم متفاوت آ'وزشي براي شبكه ها توصيف مي شود.

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

   استفاده مي كنند . كه مستلزم محاسبات Backpropagation گراديان با استفاده از روش باز انتشار

اجرايي برعكس در سراسر شبكه مي باشد.

   Backpropagation 

   تنوع زيادي  دارد كه Backpropagation اجرايي برعكس در سراسر شبكه مي باشد.الگوريتم

بعضي از آنها را در اين فصل توضيح مي دهيم .

دو روش وجود دارد كه الگوريتم گراديان نزولي مي تواند انجام دهد :

1- شيوه فرايند 2- شيوه گروهي .

updateدر روش فرايند بعداز اينكه هر ورودي به شبكه اعمال مي شود گراديان محاسبه شده و اوزان

 مي شود. updateمي شود . در روش دوم ، تمام ورودي ها به شبكه اعمال مي شود سپس اوزان

در اين قسمت فقط حالت دوم را توضيح مي دهيم .

  به  روز bias  در روش گروهي فقط زماني اوزان و :(Batch training(train)يادگيري گروهي(

مي شود كه تمام دوره  يادگيري  به شبكه اعمال شده باشد . گراديان هاي كه در هر نمونه يادگيري    تعيين كنند. 0bias محاسبه مي شوند با هم جمع شده تا تغيير را اوزان و

learndm :

 نزول شيب با هدف ياديگيري نيرو و مسيرهاي متمايل و منحني گشتاور نيروي حركتي آن .

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

w  -  ماتريكس نيروي SXR (يا بردار و مسير منحني و متمايل SX1 )

P – بردارهاي و مسيرهاي ورودي PXQ ( يا (1,Q)ones ).

  Z ـ بردارها و خط مسيرهاي ورودي سنگين و داراي وزن زياد SXQ .

N ـ بردارها و مسيرهاي ورودي شبكه SXQ .

A ـ بردارها و مسيرهاي خروجي SXQ

T ـ بردارها و مسيرهاي هدف گيري كردن لايه SQX

E ـ مسيرهاي نامنظم و اشتباه لايه SXQ

gw ـ شيب SXR با توجه اجرا و نمايش

gA – شيب خروجي SXQ با توجه به اجرا و نمايش

10ـ b ـ فواصل SXS

11ـ LP ـ پارامترهاي آموزشي و يادگيري به جزء LP=[  ]

12ـ LS ـ مرحله و حالت يادگيري در ابتدا بايد بصورت [  ]  = باشد.

و عملكردهاي مربوط به اين وروديهايي كه توسط learngdm مطرح مي‌شوند عبارتند از :

dw ـ ماتريكس مبادله و تغيير نيروي SXR

LS  ـ  حالت ياديگري جديد . كه البته يادگيري و آموزش مطابق با پارامترهاي ياديگري و آموزش learngdm نشان داده شده در اينجا به همراه مقادير نقيصه يادگيري جديد. كه البته يادگيري و آموزش مطابق با پارامترهاي يادگيري و آموزش learngmdm نشان داده شده د راينجا به همراه مقادير نقيصه آنها اتفاق مي‌افتد.

3ـ سرعت آموزش و يادگيري LP.Ir-0.07-

4ـ پيوستگي و پايداري نيروي حركت و گشتاور نيرو LP.mc-0.9- د رنتيجه اطلاعات مفيد عملكردهاي (كد) learngdm براي هر دسته از كد عبارتند از

1ـ”pnames “ – نامهاي متعلق به پارامترهاي آموزش و يادگيري

2ـ ”pdefaults– نقيصه پارامترهاي آموزش و يادگيري .

3ـ”needg  “- عملكردهاي 1 اگر اين عمل از gW يا gA استفاده كند .

مثالها : در اينجا ما يك شيب تصادفي G را از يك ورودي دو عنصري به يك لايه سه سلولي با تمام اجزاي خود مي‌برد را تعريف مي‌كنيم . همچنين ما يك سرعت آموزش و يادگيري 0.5 و پايداري و پيوستگي نيروي حركت و گشتاور IP.mc0.8;   IP.Ir=0.5;  0.8;  gw.rand(2,3) را تعريف مي‌كنيم زيرا lernedcm فقط به مقاديري از اينها نياز دارد جهت محاسبه كردن كه نيرو را تغيير مي‌دهد (الگوريتم پايين را نگاه كنيد ). ما از آنها نيز استفاده خواهيم كرد . ما از نخستين حالت تصفيه آموزش و يادگيري 1s=[ ]; استفاده خواهيم كرد [dw,1s] = learndm ( [ ],[ ],[ ],[ ],[ ],[ ],[ ],gw,[ ],[ ],1p,1s ) عملكردهاي learnegdm نيرو را تغيير مي‌‌دهد و يك مرحله آموزش و يادگيري جديد بوجود مي‌آورد

كاربرد شبكه :شما مي توانيد يك شبكه استانداردي را بوجود آوريد كه learndm را به همراه newcf,newff يا newelm استفاده مي كند . براي آماده‌سازي نيروها و مسيرهاي لايه نادريك شبكه مرسوم و عادي نياز به تطبيق و برابري learnydm است :

1ـ شبكه adapt Fcn را با”trains  “ تنظيم و برآورد كنيد كه در اينصورت شبكه adaptparamبطور اتوماتيك از نقيصه پارامترهاي ”trains “ خواهد شد.

2ـ هرشبكه input weights {i,j} و learn Fcn را با ”learndgm  “ تنظيم و برآورد كنيد . هر شبكه learn FCN.biases {i}learndgm  “تنظيم و برآورد كنيد . هر نيرو و خاصيت پارامتر آموزش و يادگيري بطور اتوماتيك با پارامترهاي نقيصه learngdm برآورد خواهد شد .

 الگوريتم : learngdm حدود تغييرات نيروي dw را براي يك سلول با تمام اجزاي خود از ‍‌p و E مسير نامنظم و اشتابه ، وزن و نيروي W ، سرعت آموزش و يادگيري LR و يادگيري LR و پايداري نيروي حركت و گشتاور نيروي MC را مطابق با نزول شيب گشتاور محاسبه مي‌كند .

dw=mc dwprev+(1-mc) Ir gw حدود تغييرات قبلي نيرو يعني dwprev ذخيره مي‌شود و از مرحله آموزش و يادگيري LS خوانده مي شود .

Batch Gradient Descent (traingd)

شيب دار ترين تابع يادگيري traingd است .

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

نقطه عطف ، نمايش ، هدف ، زمان ، min_grad, max_fail ، سرعت يادگيري.

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

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

يادگيري در اثر:يادگيري طولاني تر از زمان (time seconds)باشد، بزرگي گراديان كمتر از  mingrad

باشد  ، متوقف مي شود .

اعداد آموزشي زير با ورودي p   و نتيجه t  آماده يادگيري مي باشد .

p = [-1 -1 2 2;0 5 0 5]  ;          t = [-1 -1 1 1] ;

Batch Gradient Descent with Momentum (traingdm).

در اينجا گروهي از الگوريتم هاي براي شبكه feedforward وجود دارد كه همگراي سريعتر را فراهم مي كنند.مقدار حركت اين اجازه را به شبكه مي دهد تا تنها در مورد گراديان هاي محلي واكنش ندهد.moment ها لين اجازه را به شبكه مي دهند تا در مورد خطا ها سطحي بي تفاوت باشند .بدون moment ها امكان نفوذ به داخل شبكه كمتر مي شود.

 

One Step Secant Algorithm (trainoss)

از زماني كه الگوريتم BFGS براي ذخيره سازي و حساب رسي در مورد هر يك از تكرار ها با استفاده از تعامل گراديان ها الگوريتمي مورد نياز شد نياز به يك تقريب متقاطع با ذخيره سازي كوچكتر  احساس مي شد.اولين روش آن (oss)  مي باشد كه به عنوان فاصله ميان الگوريتم گراديان و الگوريتم quasi-Newton به حساب مي آمد .اين الگوريم به طور اختصاصي و به صورت تنها در يك ماتريس ذخيره نمي شود . اينطور فرض مي شود كه در هر يك از تكرار ها يك ماتريس مشخص ايجاد مي شود .اين روش يك مزيت اضافه بر مسير جستجوي جديد دارد كه  بدون محاسبه ماتريس معكوس مي باشد .

پارامتر هاي آموزش trainoss مشابه traincgf مي باشد .

Powell-Beale Restarts (traincgb)

مسير جستجو به صورت دوره اي براي هدايت گراديان ها آغاز مي شود .رئش هاي آغلز ديگر نيز وجود دارد .يكي از اين روش ها توسط (powell ) اختراع شده است .او بر اساس نسخه اوليه (beal) شكل گرفته است .

آموزش با traincgd   به مانند آموزش با traincgf   مي باشد.خط جستجو از پيش تعيين شده است .پارامتر هاي نمايش داده شده و مبداء آغازي با ارزش برابر براي traincgd بنياد نهاده شده است .

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


5-9 بررسي يك مثال عملي :

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

 مي باشد .كه اين نمدار را با Sinمثالي را كه ما در اينجا پياده سازي مي كنيم در واقع رسم نمودار   

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

 به بررسي نتايج بدست آمده توسط  آنها  مي پردازيم .

  توضيح در مودر الگوريتم:

Mysinخط صفر :  ابتدا نام تابع خود را تعيين مي كنيم (

             قرار مي دهيم.O  را با تفاوت .3/0 تعيين مي كنيم ودر pi تا -pi نقاط sinخط اول:

                                             قرار بده.I را با تفاوت 3/. در pi تا -piخط دوم: نقاط  

خط سوم :نمودار ساده با نفاط بدست آمده را فقط براي باز شدن ديد كاربر رسم مي كنيم.

 تعريف مي كنيم.كه در آن 10 نرون نهان newff را از نوع شبكه عصبي Net خط چهارم :متغيير

 مي باشند.purelin و tansingو يك نرون لايه خروجي فرار دارد كه به ترتيب داراي توابع

 اين دستور يك سري ورودي را به شبكه داده و خروجي را استخراج sim(simulate) خط پنجم :

               مي گزارد.(با توجه به اوزان اوليه و قبل از مرتب شدن وزن ها).H كرده در پارامتر

 اين نمودار اوليه در خط پنجم را رسم مي كند.Plot خط ششم :دستور

خط هفتم : تعداد خط يادگيري را مشخص مي كنيم.

خط هشتم : ميزان خطا اندازه گيري شده را مشخص مي كنيم .

  آموزش مي دهيم .O   و خروجي iخط نهم : شبكه را با ورودي

خط دهم : با توجه به آموزشي كه شبكه ديد مختصات نقاط ديگر را نيز مشخص مي كنيم.

خط يازدهم :نمودار را رسم مي كنيم .

الگوريتم :

function mysin%(o,i)

o=sin(-pi:0.3:pi);

i=-pi:0.3:pi;

plot(i,o,'+');

net=newff([-pi pi],[10 1],{'tansig' 'purelin'}, 'trainlm','learngdm','mse');

h = sim(net,-pi:0.01:pi);

plot (-pi:0.01:pi,h);

net.trainParam.epochs =400;

net.trainParam.goal = 1e-10;

net = train(net,i,o);

h = sim(net,-pi:0.01:pi);

plot (-pi:0.01:pi,h);

 نتايج زير حاصل مي شود.Matlabبعد از پياده سازي عيني الگوريم بالا در نرم افزار     

 

 

 

sinنمودار                                                trainingنمدار     

 

                                                  

 خط چهارم الگوريتم تغيير كرده و نتايج زيربدست مي آيدTansig  با تابع Purelin با تعويض تابع

net=newff([-pi pi],[10 1],{'tansig 'tansig'}, 'trainrp','learngdm','mse');

 

 

 

sinنمودار                                                             trainingنمدار     

 

   

 

 

با تغيير خط چهارم الگوريتم به صورت زير  نيز نتايج به اينگونه حاصل مي شود.

net=newff([-pi pi],[10 1],{'logsig' 'purelin'}, 'trainrp','learngdm','mse');

 

 

 

sinنمودار                                                             trainingنمدار     

 

  

 

 

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

خط چهارم الگوريتم را به صورت زير تغيير مي دهي و نتايج به اينگونه حاصل مي شود.

net=newff([-pi pi],[10 1],{'tansig' 'purelin'}, 'traingd','learngdm','mse');

 

 

 

sinنمودار                                                           trainingنمدار     

 

    

 

 

منابع

آشنايي با شبكه هاي عصبي /آر.بيل وتي.جكسون/ دانشگاه صنعتي شريف

شبكه هاي عصبي مصنوعي /رابرت جي . شالكف/دانشگاه شهيد چمران اهواز

دانشگاه شيراز             FUNDAMENTALS OF NEURAL NETWORKS

  WWW.GOOGLE.COM


فهرست

1

فصل 1 : مقدمه

1

1-1    انسان و كامپيوتر1

4

1-2  ساختار مغز

7

1-2-1   يادگيري در سيستم‌هاي بيولوژيك

7

1-3   تفاوت ها

10

فصل   2: نگرش كلي به شبكه هاي عصبي مصنوعي

10

2-1   تعريف شبكه هاي عصبي

11

2-2   مفاهيم اساسي شبكه هاي عصبي

13

2-3   معرفي اصطلاحات و علائم قراردادي

15

2-4   كاربردهاي محاسبات عصبي

16

2-5   كاربردهاينمونه شبكه هاي عصبي مصنوعي

17

2-6   فوايد و معايب شبكه هاي عصبي مصنوعي

18

2-7   معيارهاي مهندسي به منظور محاسبات عصبي

19

2-8   مراحل مهندسي سيستم ANN

21

2-9   توپولوژي شبكه و خصوصيات

22

فصل 3 : بازشناسي الگو

22

3-1   چشم انداز طرح شناسي

22

3-2   تعريف بازشناسي الگوها

23

3-3   بردارهاي مشخصات و فضاي مشخصات

24

3-4   توابع تشخيص دهنده يا مميز

25

3-5   فنون طبقه بندي

25

3-6   روش طبقه بندي «نزديكترين همسايه»

27

3-7   ميزان هاي اندازه گيري فاصله

31

3-8   دستگاه هاي طبقه بندي خطي

38

فصل 4 : نرون پايه

38

4-1    مقدمه

38

4-2  مدل سازي نرون

42

4-3   فراگيري در نرون‌هاي ساده

45

4-4    الگوريتم فراگيري پرسپترون

48

4-5   يك مثال ساده براي پرسپترون ساده.

61

قصل 5 : نرون چند لايه

61

1-5   مقدمه

63

2-5   مدل جديد

64

3-5   قاعده جديد فراگيري

65

5-4   الگوريتم پرسپترون چند لايه

67

5-5   بررسي مجدد مساله XOR

70

5-6   ليه هاي شبكه

71

5-7   معرفي چند شبكه

71

5-8  معرفي نمونه اي از توابع كليدي

81

5-9   بررسي يك مثال عملي

 


 

 

وزارت علوم ، تحقيقات وفناوري

دانشگاه جامع علمي ـ کاربردي

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

 

 

آشنايي با شبكه هاي عصبي مصنوعي

 

 

استاد راهنما:

جناب آقاي مهندس ابريشمي

 

 

 

تهيه کنندگان:

يگانه عبدالي

امير حسين معظمي

 

تابستان 84

 

 



[1] _neuron

[2] _soma

[3] _dendrite

[4] _ axson

[5] ـ neurotransmitter

1 –Adaptive systems

2 classification

1 –Adaptive systems                          2-feature

3 _ fuzzy logic                                    4-heuristic

                                                          

 

 

1 Constraint  satisfaction  problems

[6] _  feature vectors

[7] _feature space

[8] _ discriminant functions

[9] _linear classification

2 _classification

1 _distance metrice      2 _Hamming distance

 

1 _Euclidean distance

1 city block distance

1. _square distance

1_ error function

[10] -threshold

1 -feedforward

1 -Heaviside

1 -perceptron

1 –Hebbian learning

1 –Windrow and Hoff

2 –delta rule

1 -ADALINE

2 -MADALINE

3 -bipolar

1 –Rumelhart and Mcclelland.

2 – multilayer perceptron.

منبع : سايت علمی و پژوهشي آسمان--صفحه اینستاگرام ما را دنبال کنید
اين مطلب در تاريخ: یکشنبه 02 فروردین 1394 ساعت: 22:26 منتشر شده است
برچسب ها : ,,,
نظرات(0)

شبکه اجتماعی ما

   
     

موضوعات

پيوندهاي روزانه

تبلیغات در سایت

پیج اینستاگرام ما را دنبال کنید :

فرم های  ارزشیابی معلمان ۱۴۰۲

با اطمینان خرید کنید

پشتیبان سایت همیشه در خدمت شماست.

 سامانه خرید و امن این سایت از همه  لحاظ مطمئن می باشد . یکی از مزیت های این سایت دیدن بیشتر فایل های پی دی اف قبل از خرید می باشد که شما می توانید در صورت پسندیدن فایل را خریداری نمائید .تمامی فایل ها بعد از خرید مستقیما دانلود می شوند و همچنین به ایمیل شما نیز فرستاده می شود . و شما با هرکارت بانکی که رمز دوم داشته باشید می توانید از سامانه بانک سامان یا ملت خرید نمائید . و بازهم اگر بعد از خرید موفق به هردلیلی نتوانستیدفایل را دریافت کنید نام فایل را به شماره همراه   09159886819  در تلگرام ، شاد ، ایتا و یا واتساپ ارسال نمائید، در سریعترین زمان فایل برای شما  فرستاده می شود .

درباره ما

آدرس خراسان شمالی - اسفراین - سایت علمی و پژوهشی آسمان -کافی نت آسمان - هدف از راه اندازی این سایت ارائه خدمات مناسب علمی و پژوهشی و با قیمت های مناسب به فرهنگیان و دانشجویان و دانش آموزان گرامی می باشد .این سایت دارای بیشتر از 12000 تحقیق رایگان نیز می باشد .که براحتی مورد استفاده قرار می گیرد .پشتیبانی سایت : 09159886819-09338737025 - صارمی سایت علمی و پژوهشی آسمان , اقدام پژوهی, گزارش تخصصی درس پژوهی , تحقیق تجربیات دبیران , پروژه آماری و spss , طرح درس