مقاله ای کامل در مورد شبکه های عصبی مصنوعی قسمت دوم
فصل چهارم :
نرون پايه
4- 1 مقدمه
همان طور كه در فصل 1 به پيچيدگي ساختار مغز اشاره كرديم و گفتيم كه مغز را ميتوان به صورت مجموعه بسيار متصل و شبكهاي از عناصر پردازشي نسبتاً ساده در نظر گرفت. به مدلي نياز داريم كه بتواند ويژگيهاي مهم سيستمهاي عصبي را كسب كند، به اين منظور كه بتواند رفتار مشابهي را از خود بروز دهد.
در و اقع فلسفه اصلي محاسبات شبكههاي عصبي اين است كه با مدل كردن ويژگيهاي عمده مغز و نحوه عملكرد آن بتوان كامپيوترهايي را ساخت كه اکثر ويژگيهاي مفيد مغز را از خودنشان دهند.
هدف مدلسازي اصولاً ايجاد نمونه سادهتري از سيستم است كه رفتار عمومي سيستم را حفظ كرده و كمك كند كه سيستم با سهولت بيشتر قابل درك باشد.
4-2 مدل سازي نرون
نقش اصلي يك نرون بيولوژيك عمل جمع وروديهاي خود تا جايي است كه مجموع وروديها از حدي كه به آن آستانه[1] ميگوييم تجاوز نكند و آن گاه توليد يك خروجي است.
بدنه سلول كليه وروديها را دريافت ميكند و هنگامي كه مجموع وروديها از حد آستانه تجاوز كرد سيگنالي را آتش ميكند. اين نرون بيولوژيكي ساده در شكل 4-1 نشان داده شده است.
مدلي كه از نرون ميسازيم بايد مشخصههاي زير را داشته باشد. به طور خلاصه:
خروجي تنها به وروديها بستگي دارد. ميزان وروديها بايد به حدي برسد كه خروجي نرون را فعال سازد.كارايي سيناپس در انتقال سيگنال هاي ورودي به بدنه سلول را مي توان با استفاده از ضريبي كه در ورودي هاي نرون ضرب مي شود مدل سازي كرد.
شكل 4-1 مشخصات يك نرون بيولژيك
با توجه به اين مدل نرون بيولوژيك آنگاه كه ما آن را به صورت مصنوعي پياده سازي كنيم شكلي مانند شكل 4-2 خواهيم داشت.اين مدل ابتدا مجموع وزني وروديهاي خود را محاسبه كرده سپس آن را با سطح آستانه داخلي خود مقايسه ميكندو چنانچه از آن تجاوز كرد فعال ميشود. درغير اين صورت غير فعال باقي ميماند .چون وروديها براي توليد خروجي از ميان نرون عبور ميكنند به اين سيستم « پيش خور»1 ميگوييم.
شكل 4-2 نماي مدل اصلي نرون
اين عمل را بايد به طريق رياضي نشان دهيم . اگر تعداد وروديها n باشد آن گاه هر خط ورودي داراي يك ضريب وزني مربوط به خود است.
ابتدا اولين ورودي را درضريب وزني مربوط به خط ارتباطي آن ورودي ضرب ميكند. سپس همين عمل را براي ورودي دوم و ساير وروديها تكرار ميكند د رنهايت تمام مقادير حاصل را جمع ميكند. به طور خلاصه:
ورودي 1 * وزن مربوط به خط ارتباطي 1= مجموع وروديها
ورودي2 * وزن مربوط به خط ارتباطي 2+
ورودي n * وزن مربوط به خط ارتباطيn +
حاصل جمع فوق بايد با مقدار آستانه نرون مورد نظر مقايسه شود . در مقايسه با آستانه اگر حاصل جمع به دست آمده از ميزان آستانه تجاوز كند آنگاه خروجي نرون مساوي ((1)) خواهد بود و اگر كمتر باشد مساوي صفر مي شود.
دو راه كار ديگر براي رسيدن به اين منظور وجود دارد:
1. حد آستانه را از حاصل جمع ورودي كم كنيم ،اگر حاصل + بود نرون 1 و اگر – بود نرون صفر توليد كند.
2. حذف كامل حد آستانه و اضافه كردن ورودي با مقدار ثابت 1 كه اين ورودي هميشه فعال باقي خواهد ماندو ضريب وزني آن مقدار منفي حد آستانه مي باشد.
اگر خروجي را y بناميم، رابطه زير راه كار اول را بيان ميكند .
در حالي كه fh يك تابع پلكاني است ( در واقع اين تابع را تابع «هوي سايد»[2]مينامند) و
بدين صورت منظور ما برآورده ميشود . دقت كنيد كه خروجي تابع تنها مقادير 1 و 0 است . به عبارت ديگر نرون يا فعال است يا غير فعال.
اگر از راه كار دوم يعني احتساب تورش استفاده كنيم، ورودي ديگري را با شماره 0 انتخاب كرده و مقدار آن را هميشه برابر 1 قرار ميدهيم. در اين صورت ضريب وزني ورودي جديد برابر با مقدار تورش خواهد بود.تابع فوق به صورت زير در خواهد آمد:
دقت كنيد كه حد زيرين علامت زيگما از 1 به 0 تغيير كرده و مقدار x0 هميشه برابر با 1+ خواهد بود .مدل نرون در سال 1943 توسط مك كولو و پيتس پيشنهاد شده است . مدل آنها وسيلهاي بسيار ساده است كه مجموع وزني وروديهاي خود را براي تعيين خروجي با آستانه مقايسه ميكند. مدل هيچ اهميتي به ساختار پيچيده و زمان بندي فعاليت نرونهاي واقعي نمي دهد و داراي هيچ كدام از ويژگيهاي پيچيده نرونهاي بيولوژيكي نيست . به همين دليل است كه آن را يك مدل و نه يك نسخه تكراري از نرون بيولوژيك ميناميم و ميتوان آن را در يك كامپيوتر ديجيتال پياده كرد.
نرون هاي مدل ،كه به صورت ساده به يكديگر متصل اند ،در سال Frank Rosenblatt 1962 به نام پرسپترون[3]نامگذاري شد. او براي نخستين بار نرونهاي مدل را در كامپيوترهاي ديجيتال شبيه سازي كرد و آنها را به طور رسمي تحليل نمود.
او اعتراف كرد كه مدل مذكور به هيچ وجه دقيق سيستمهاي عصبي نميباشد. به عبارت ديگر او از ابتدا آگاه بود با مدلي پايه روبه رو است
. 4-3 فراگيري در نرونهاي ساده
ما به شيوهاي براي فراگيري در مدلهاي نرون خود نيازمنديم. اتصال اين نرونهابه يكديگر شايد شبكههايي را ايجاد كند كه بتواند كاري را انجام دهند، ليكن براي انجام كاري مفيد بايد بتوانيم به طريقي آنها را آموزش دهيم. آنچه اين مدلها را قابل استفاده ميكند توانايي آنها در فراگيري است. همچنين، براي سهولت درك مدلها روشهاي فراگيري بايد تا حد امكان ساده باشند.
كودكان اغلب براي كسب نتايج خوب رياضي تشويق ميشوند، و براي عبور از خيابان بدون توجه به اطراف سرزنش ميكردند. به سگها براي اطاعت از فرمان تكههاي غذا ميدهند. به طور كلي، رفتار خوب تشويق ميشود و رفتار بد سرزنش ميگردد. همين شيوه را ميتوان در شبكههاي مصنوعي نيز به كار گرفت. اگر دو گروه از اشياء داشته باشيم مثلاً گروهي از شكلهاي نوشته شده مختلف A و گروهي از شكلهاي نوشته شده مختلف B، شايد مايل باشيم نرون مورد نظر ما A ها را از B ها تميز دهد . شايد بخواهيم نرون ما با مشاهده يك A عدد 1 را بيرون دهد و با ديدن B عدد صفر را.
اصل راهنما آن است كه به نرون اجازه دهيم از اشتباهات خود بياموزد. اگر جواب همراه با خطا باشد ميخواهيم احتمال اين خطا را در آينده كم كنيم و اگر جواب صحيح باشد وضع را تغيير نميدهيم. اگر در ابتدا ضرايب وزني خطوط ارتباطي نرون را به طور تصادفي تعيين كنيم عين در واقع حالت شروع بوده و نرون هيچ نميداند، آن گاه ميتوانيم يك حرف A را به نرون وارد كنيم،نرون مجموع وزني وروديهاي خود را محاسبه ميكند و با مقدار آستانه مقايسه ميكند. چنانچه مقدار محاسبه شده از آستانه بيشتر باشد نرون جواب 1 و در غير اين صورت خروجي صفر خواهد داد. احتمال اين كه به طور تصادفي جواب صحيح باشد 50% است،زيرا وروديهاي نرون تنها به طور تصادفي ميتوانند از مقدار آستانه تجاوز كنند. فرض كنيد نرون جواب صحيح بدهد. در اين صورت نياز به هيچ اقدامي نيست زيرا مدل موفق بوده است. ولي اگر جواب صفر بود بايد مجموع وزني را افزايش دهيم به صورتي كه بار ديگر كه با حرف A رو به رو شد جواب صحيح 1 بدهد. اين عمل را با افزايش ضرايب وزني خطوط ارتباطي نرون انجام ميدهيم. بنابراين براي تشويق احتمال حصول جواب 1 وزنها را افزايش ميدهيم.
براي حرف B مايليم كه نرون عدد صفر را توليد كند. يعني مايل هستم كه مجموع وزني وروديها از مقدار آستانه كمتر باشد. بنابراين هر گاه نرون با حرف B رو به رو شد مايل خواهيم بود كه ضرايب وزني آن را كاهش دهيم تا مجبور گردد در آينده با مشاهده حرف B عدد صفر را توليد نمايد.
اين بدان معني است كه براي فراگيري شبكه بايد زماني كه مايليم نرون فعال باشد ضرايب وزني را افزايش داده و آن گاه كه مايليم نرون غير فعال باشد ضرايب را كاهش دهيم.
اين قاعده فراگيري شكل ديگري از قاعدهاي است كه در سال 1949 توسط دونالدهب ارائه شده و بنابراين به قاعده فراگيري هب1 معروف ميباشد. در شكل جزئي تغيير يافته از قانون هب كه ما استفاده ميكنيم خاصيت تغيير دادن انحصاري خطوط ارتباطي فعال حفظ شده است، ليكن اين خطوط هم تقويت و هم تضعيف ميشوند. اين عمل را به اين دليل ميتوانيم انجام دهيم كه نتايج مورد نظر را از قبل ميدانيم و بنابراين مشاهده ميكنيم كه به كدام سمت بايد ضرايب وزني را تغيير دهيم. چون اين فراگيري از طريق در دست داشتن نتيجه مطلوب راهنمايي ميگردد به اين نوع آموزش «فراگيري با سرپرست» ميگوييم.
شيوه يادگيري ما ميتواند به صورت زيرخلاصه شود:
· ضرايب وزني و مقادير آستانه را به طور تصادفي تعيين كنيد.
· يك ورودي را به مدل ارائه دهيد.
· مقدار خروجي را با توجه به مقايسه مجموع وزني وروديها و مقدار آستانه محاسبه كنيد.
· ضرايب وزني را براي تقويت تصميمات درست و تضعيف تصميمات نادرست تغيير دهيد. به عبارت ديگر خطا را كاهش دهيد.
· ورودي بعدي را به مدل ارائه دهيد و...
4-4 الگوريتم فراگيري پرسپترون
روش فراگيري كه در بالا شرح داده شد را ميتوان به صورت الگوريتم زير نشان داد. اين الگوريتم را ميتوان براي ساختن شبكههاي پرسپترون در كامپيوترها با هر زبان برنامهنويسي كد نمود.
4-4-1الگوريتم فراگيري پرسپترون
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)
توجه كنيد كه چنانچه جواب مدل صحيح باشد وزنها تغيير نميكند. همچنين ضرايب وزني آن دسته از خطوط كه در جواب غلط مؤثر نميباشد تغيير نميكند، زيرا مقادير ضرايب آنها با مقدار ورودي خطوط كه صفر ميباشد جمع ميشود و بنابراين بدون تغيير باقي ميمانند.
اين الگوريتم اصلي پرسپترون است. ليكن اصلاحات متعددي در اين الگوريتم پايه پيشنهاد شده است. اولين صلاح وارد كردن عامل ضربي كوچكتر از يك در فرمول تغيير ضرايب وزني است. اين عمل باعث كند شدن سرعت تغيير ضرايب وزني ميشود و بدين صورت شبكه در گامهاي كوتاهتري به جواب نزديكتر ميشود. اين اصلاح قدم چهارم الگوريتم را به صورت زير تغيير ميدهد.
5. ضرايب وزني را تعديل كنيد – شكل اصلاح شده
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 الگوريتم پرسپترون به صورت زير تغيير مييابد.
6. ضرايب وزني را تعديل كنيد – قاعده دلتاي ويدرو-هاف
xi(t)∆ Wi(t+1)=wi(t)+
d (t)=
اگر ورودي از طبقه A،باشد 1+
اگر ورودي از طبقهB،باشد 0
جايي كه باشد، عامل بازيابي مثبتي است كه سرعت تعديل را كنترل ميكند. ويدرو نرونهايي را كه از اين الگوريتم استفاده ميكردند آدالين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- است و α ميزان يادگيري است ،اگر خطايي رخ نمي داد ،وزن ها تغيير نمي كردند.
آموزش تا زماني كه هيچ خطايي رخ نمي داد ادامه پيدا مي كند.
4-6 ساختار 4-6-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
کاربرد عملکردهای منطقی را به صورت پیوست در پایان پروژه ارائه می کنیم.
فصل پنجم:
نرون چند لايه
5-1 مقدمه
متاسفانه توانايي پرسپترون محدود است. قبلا گفته بوديم كه پرسپترون در صورتي جواب را فرا مي گيرد كه اصولا جوابي وجود داشته باشد. براي بررسي اين موضوع ملاحظه كنيد كه پرسپترون به دنبال خطي است كه طبقه ها را تفكيك كند. پرسپترون به راحتي مي تواند طبقه را كه در دو سوي را(XOR)،ولي حالت هاي فراواني وجود دارد كه جداي طبقه بسيار پيچيده تراست. مثلاً مورد، بگيريد، تابع منطقي داراي دو ورودي و يك خروجي است. خروجي آن تنها زماني فعال است كه تنها يكي از ورودي ها فعال باشد. ليكن اگر هر دو فعال يا هر دو خاموش باشند خروجي خاموش خواهد بود.
نشان می دهيم جدول زير بدست مي آيد.
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 الگوريتم پرسپترون چند لايهاي
الگوريتم پرسپترون چند لايهاي كه از قاعده آموزش پس انتشار استفاده ميكند، در زير شرح داده شده است. اين الگوريتم به توابع غير خطي نياز دارد كه به طور پيوسته قابل مشتقگيري باشند. به عبارت ديگر توابع بايد هموار باشند. ما استفاده از تابع قابل مشتقگيري باشند. به عبارت ديگر توابع بايد هموار باشند. ما با استفاده از تابع سيگمويد، را به علت سادگي مشتق آن انتخاب كردهايم. 5-4-1الگوريتم آموزش پرسپترون چند لايهاي
1. مقادير اوليه ضرايب وزني و آستانهها را انتخاب كنيد .تمام وزنها و آستانه ها را برابر با اعداد كوچك تصادفي قرار دهيد. وروديها و خروجي هاي مطلوب را به شبكه عرضه كنيد .
2. ورودي و خروجي هدف را به شبكه عرضه كنيد تعداد عناصر بردارهاي ورودي و مقدار عناصر بردارهاي خروجي است. ضريب وزني را برابر با منفي مقدار آستانه و مقدار قرار دهيد. اگر مسئله مورد نظر ما مسئله تداعي باشد نمايانگر دو بردار تداعي شونده هستند. در مسئله طبقهبندي تمام عناصر برابر با صفر قرار داده ميشود مگر يكي از عناصر كه برابر با 1 است و آن طبقه اي را نشان ميدهد كه در آن قرار دارد .
3. خروجي را محاسبه كنيد. هر لايه مقادير زير را محاسبه كرده و به لايه بعدي انتقال ميدهد .
4. ضرايب وزني را ميزان كنيد . ابتدا از لايه خارجي شروع كنيد و به عقب برگرديد
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معرفي چند شبكه 5-7-1 شبكههاي عصبي پيش خور
شبكههاي عصبي مصنوعي پيشخور به سيگنالها اجازه ميدهند به تنهايي در مسير ورودي به خروجي حركت كنند. خروجي هر لايهاي هيچ تأثيري روي لايههاي مشابه ندارد. شبكههاي عصبي مصنوعي پيشخور تمايل دارند كه بصورت شبكههايي تقسيم باشند تا بتوانند ورودي را به خروجي پيوند دهند از اين شبكهها مكرراً براي شناخت و تشخيص الگوها استفاده ميشود.
5-7-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”–نقيصه پارامترهاي آموزشي
Purlin سلول خروجيnet (شبكه) = newff (]-10 10 ][4 1 [,]”tansing” , “purelin”[
شبكه اي كه با يك سري از وروديهاي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 بعداز تانژانت هيربوليك نامگذاري شده تانژانت هيپربوليك به احتمال زياددقيق است.
كاربرد شبكه(Network use ):
شما ميتوانيد شبكهاي استاندارد ايجاد كنيد كه از tansig با فراخواني newff يا newcf استفاده كند. براي تغيير هر شبكه هر لايه از tansig استفاده ميكند.
”tansig “set net. layers {i,j}. transferFcn to
الگوريتم آن بصورت زير است:
n=2/(1+exp(-2*n)-1
Purlin تابع انتقال خطي
يك تابع انتقال است. توابع انتقال خروجي يك لايه را از وردي شبكه محاسبه ميكند. يك ورودي را ميگيرد، مثلاً ماتريس از بردارهاي ورودي شبكه را بر ميگرداند. براي هر رشته كه اطلاعات (خروجي) را برميگرداند.
آموزش شبكه
شبكه براي نخستين بار مقدار دهي مي شوند، شبكه آماده آموزش ديدن Bias هنگامي كه وزن ها و مي شود.مي توان شبكه را براي نزديكي(رگرسيون غير خطي)، ارتباط الگويي،طبقه بندي الگويي آموزش داد. وخروجي هاي p يك پروسه آموزش به يك سري از رفتار اصلي شبكه نياز دارد- ورودي هاي شبكه Target (t)آن شبكه پي در پي تنظيم مي شوند تا خطاي شبكه را به حد اقل برساند. Bias در جريان يادگيري اوزان مي باشد.Mse ميانگين مجذور خطاي Feedforward پيش فرض حاصل عملكرد براي شبكه است.target و خروجي هاي a خطايي مجذور شده متوسط ميان خروجي هاي در ادامه اين بخش چندين الگوريتم متفاوت آ'وزشي براي شبكه ها توصيف مي شود.
تمام اين الگوريتم ها از گراديان حاصل عملكرد استفاده مي كنند تا مشخص كنند كه چگونه اوزان را تنظيم كنند كه خطا به حد اقل برسد.
استفاده مي كنند . كه مستلزم محاسبات Back propagationگراديان با استفاده از روش باز انتشار اجرايي برعكس در سراسر شبكه مي باشد.
Back propagation
تنوع زيادي دارد كه Back propagation اجرايي برعكس در سراسر شبكه مي باشد. الگوريتم بعضي از آنها را در اين فصل توضيح مي دهيم.
دو روش وجود دارد كه الگوريتم گراديان نزولي مي تواند انجام دهد:
1. شيوه فرايند
2. شيوه گروهي
Update در روش فرايند بعداز اينكه هر ورودي به شبكه اعمال مي شود گراديان محاسبه شده و اوزان مي شود. Update ميشود. در روش دوم، تمام ورودي ها به شبكه اعمال مي شود سپس اوزان در اين قسمت فقط حالت دوم را توضيح ميدهيم.
توصيف و تشريح: learned نزول شيب با هدف ياديگيري نيرو مسيرهاي متمايل و منحني معلق به گشتاورنيرو و نيروي حركتي آني است.learned چندين ورودي را مطرح مي كند كه عبارتند از :
1. w - ماتريكس نيروي SXR (يا بردار و مسير منحني و متمايل SX1)
2. P– بردارهاي و مسيرهاي ورودي PXQ(يا(1, Q)ones).
3. Z ـ بردارها و خط مسيرهاي ورودي سنگين و داراي وزن زياد SXQ .
4. N ـ بردارها و مسيرهاي ورودي شبكه SXQ .
5. A ـ بردارها و مسيرهاي خروجي SXQ
6. T ـ بردارها و مسيرهاي هدف گيري كردن لايه SQX
7. E ـ مسيرهاي نامنظم و اشتباه لايه SXQ
8. gw ـ شيب SXR با توجه اجرا و نمايش
9. gA _ شيب خروجي SXQ با توجه به اجرا و نمايش
10. b ـ فواصل SXS
11. LP ـ پارامترهاي آموزشي و يادگيري به جزء LP=[ ]
12. LSـ مرحله و حالت يادگيري در ابتدا بايد بصورت [ ] = باشد.
و عملكردهاي مربوط به اين وروديهايي كه توسط learngdm مطرح ميشوند عبارتند از :
1. dw ـ ماتريكس مبادله و تغيير نيروي SXR
2. 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 نيرو را تغيير ميدهد و يك مرحله آموز
مطالب مشابه :
سیستم اطلاعات مدیریت دکتر البرزی
سیستم اطلاعات مدیریت دکتر البرزی سیستم اطلاعات مدیریت دکتر البرزی. فناوری اطلاعات.
تحول مفهوم دیپلماسی
دکتر نوذر شفیعی ( البرزی ، 1368 : 12 در واقع ، انقلاب در فناوری اطلاعات ، فشردگی زمان و مکان
جلسه دفاعیه پایان نامه با موضوع داده کاوی و اعتبارسنجی محمد خان بابایی
جناب آقای دکتر البرزی به آقای دکتر ناظمی استاد فناوری اطلاعات گرایش
عناوین مقالات سومین کنفرانس ملی خلاقیت شناسی، TRIZ و مهندسی و مدیریت نوآوری ایران
(فناوری اطلاعات و دکتر محبوبه البرزی کارآفرینی و فناوری اطلاعات دکتر سید
تحول مفهوم دیپلماسی
دکتر نوذر شفیعی حاکمیت دولتها ، رشد فناوری اطلاعات و ارتباطات ، رشد ( البرزی ، 1368 : 12
پايه ششم ابتدايي
اطلاعات - اطلاعات عمومی و علمی(گلستانی) بنیامین البرزی. 10- کار و فناوری
مقاله ای کامل در مورد شبکه های عصبی مصنوعی قسمت دوم
مهندسی فناوری اطلاعات دانشگاه صنعتی شریف، ترجمه دکتر محمود البرزی، 1389، ویرایش
پایان نامههای داوری شده در مقطع کارشناسی ارشد
دکتر مجید رستمی محمد البرزی. 28. 17/11/92. پژوهشگاه علوم و فناوری اطلاعات
مقالات پذیرش شده سومین کنفرانس ملی خلاقیت شناسی،تریز ومهندسی و مدیریت نوآوری ایران
دکتر محبوبه البرزی 5 و فناوری اطلاعات دکتر سید فناوری تجهیزات
برچسب :
دکتر البرزی فناوری اطلاعات