۵-۶ هدف از آموزش شبکه
یک شبکه به گونهای آموزش داده میشود که با به کار بردن یک دسته از ورودی ها، دسته خروجیهای دلخواه تولید شود. هر کدام از این دستهه ای ورودی و یا خروجی را میتوان به صورت یک بردار در نظر گرفت. آموزش یا به کار بستن متوالی بردارهای ورودی و تنظیم وزنهای شبکه، مطابق با یک روش از پیش تعیین شده انجام میگردد. طی آموزش شبکه، وزنهای شبکه بتدریج به مقادیری همگرا میشوند که به ازای آنها با اعمال بردار ورودی، بردار خروجی دلخواه تولید شود.
۵-۷ آموزش نظارت شده
الگوریتمهای آموزش به دو دسته نظارت شده[۹]و غیر نظارت شده طبقه بندی میشوند. آموزش نظارت شده به زوجهایی نیاز دارد که از بردار ورودی و بردار هدف[۱۰](خروجی دلخواه) تشکیل شده باشند، یک بردار ورودی و خروجی دلخواه مربوط به آن، مجموعاً یک زوج آموزشی نامیده میشود. معمولاً یک شبکه تحت تعدادی از چنین زوجهای آموزشی تربیت میگردد.
به این صورت که با به کار بردن یک بردار ورودی، خروجی شبکه محاسبه و یا بردار هدف متناظر خود مقایسه میشود و تفاوت بین خروجی محاسبه شده و خروجی دلخواه که خطا نامیده به سمت عقب در سراسر شبکه منتشر میشود و سپس وزن ها مطابق با الگوریتمی که تمایل به حداقل رساندن خطا را دارد تغییر مییابند و تنظیم میشوند.
بردارهای دسته آموزشی متوالیا به کار برده میشوند، خطاها محاسبه میگردند و وزن ها به ازای هر بردار تنظیم میشوند تا اینکه خطا برای کل دسته آموزشی به یک مقدار کوچک قابل قبول برسد. البته روشهایی نیز وجود دارند که در آن روش ها، ابتدا کل بردارهای موجود در دسته آموزشی به شبکه ارائه شده و خطاها و تغییرات وزن ها به ازای هر بردار محاسبه میگردند و سپس مجموع تغییرات وزن ها به طور یکجا به وزن ها اعمال میشوند.
تصور چنین ساز و کار(مکانیزم) آموزشی در سیستمهای بیولوژیکی مشکل است. به همین دلیل با وجود اینکه این روش از نظر کاربردی با موفقیت بسیاری همراه بوده، مورد بی مهری کسانی واقع
گردیده است که معتقدند شبکههای عصبی مصنوعی، پیوسته باید از ساز و کار یکسانی مشابه مغز انسان استفاده کنند.
۵-۸ آموزش غیر نظارت شده
آموزش نظارت شده با وجود بسیاری موقعیتهای کاربردی مورد انتقاد نیز واقع شده است، زیرا از نظر بیولوژیکی غیر محتمل و نامعقول است. تصور ساز و کار آموزشی که در مغز، خروجیهای واقعی و دلخواه را مقایسه و تصحیحات قبلی را به سمت عقب در کل شبکه منتشر کند، بسیار مشکل است. اگر چنین ساز و کاری در مغز موجود باشد، این سوالات پیش میآیند که الگوهای خروجی دلخواه از کجا به دست میآیند؟ چطور مغز یک کودک میتواند الگوریتم خودسازماندهی را اجرا کند که حتی در توسعه اولیه مغز نیز در مغز موجود است؟ آموزش غیرنظارت مدل محتمل تر و معقول تری از یادگیری در سیستم بیولوژیکی است.
الگوریتمی که توسط کوهونن در سال ۱۹۸۴ و تعدادی از محققان دیگر توسعه داده شد، به بردار هدفی برای خروجی ها نیاز ندارد و بنابراین هیچ گونه مقایسهای بین خروجیهای واقعی با جوابهای ایده آل از پیش تعیین شده انجام نمیشود. دسته آموزشی در این حالت فقط شامل بردارهای ورودی است و الگوریتم آموزش وزنهای شبکه را برای تولید بردارهای خروجی هماهنگ[۱۱] تعدیل مینمایند. منظور این است که با به کار بردن یکی از بردارهای دسته آموزشی و یا برداری که به اندازه کافی به بردار مورد نظر در دسته آموزشی شبیه است، الگوی یکسانی از خروجی ها تولید شود.
برای مثال، در چنین روشی میتوان الگوهای ورودی را طبق درجه تشابه شان دسته بندی نمود. در این روش با ارائه الگوهای ورودی یکسان، سلول عصبی یکسان برانگیخته میشود.
بنابراین، روند آموزشی خصوصیات آماری دسته آموزشی را استخراج میکند و بردارهای مشابه هم را نیز گروه بندی می کند. با به کار بردن یک بردار از یک طبقه معین به عنوان ورودی برای شبکه، یک بردار خروجی مشخص تولید خواهد شد، اما هیچ روشی وجود ندارد تا بر مبنای آن بتوان معین کرد که به ازای یک طبقه معین از بردارها، کدام خروجی دلخواه تولید خواهد شد. از این رو خروجیهای چنین شبکهای معمولاً بعد از روند آموزشی باید به یک فرم قابل درک بدیل شوند. این موضوع، هیچ مشکل جدی ایجاد نمیکند و معمولاً تشخیص رابطههایی که توسط شبکه بین ورودی و خروجی برقرار میشود، مسئله آسانی است.
۵-۹ روشهای تربیت و آموزش آماری
شبکههای تک لایه در مسائلی که قادر به حل آنها هستند به شدت محدودند. برای سالهای طولانی هیچ روشی برای تربیت شبکههای چند لایه شناخته نشده بود. ترتیب آماری روشی را برای فرار از این معمای غیرقابل حل فراهم میسازد، اگرچه بهای قابل توجهی صرف نیازهای محاسباتی میشود.
به طور قیاسی، تربیت یک شبکه با بهره گرفتن از مفاهیم آماری شبیه به عمل نورد فلز (حرارت دادن و سپس سرد نمودن) است. برای نورد یک فلز، ابتدا دما تا حدی افزایش داده میشود که اتمهای فلز آزادانه در اطراف یکدیگر حرکت کنند. سپس دما بتدریج کاهش داده میشود و اتم ها دائماً در ساختاری که کمترین انرژی ممکن را داشته باشد، بی حرکت شده و فلز سرد میشود.
در هر شبکه عصبی مصنوعی برای انرژی شبکه، یک مقدار کلی به عنوان تابعی از دسته معینی از متغیرهای شبکه تعریف میشود. یک متغیر دمای مصنوعی با مقدار بزرگی آغاز میگردد، در نتیجه امکان ایجاد تغییرات تصادفی بزرگ در متغیرهای شبکه را فراهم میسازد.
تغییراتی که باعث کاهش انرژی کلی شده، حفظ میشوند و آنهایی که باعث افزایش انرژی میگردند مطابق با یک تابع حفظ میشوند. دمای مصنوعی با گذشت زمان بتدریج کاهش داده میشود و شبکه به انرژی کل حداقل، همگرا میگردد.
موضوع تربیت آماری به صورت مختلف میتواند مطرح شود. برای مثال، انرژی کل میتواند به عنوان میانگین مربع خطاها[۱۲] بین بردارهای خروجی دلخواه و حقیقی از یک دسته ترتیبی تعریف شود و متغیرها میتواند وزنهای شبکه باشند. در این حالت، ترتیب شبکه در یک دمای مصنوعی زیاد آغاز میشود و مطابق گامهای زیر انجام میپذیرد:
۱ـ یک بردار ترتیبی را به عنوان ورودی شبکه به کار میبریم و خروجی را مطابق قوانینی که برای شبکه انتخاب کرده ایم محاسبه مینماییم.
۲ ـ میانگین مربعات خطاها بین بردارهای خروجی دلخواه و حقیقی را محاسبه مینماییم.
۳ ـ وزن شبکه را با یک مقدار تصادفی تغییر میدهیم و سپس هم خروجی و هم خطای بدست آمده را محاسبه میکنیم. در صورتی که با این تغییر، خطا کاهش یابد، تغییر وزن را حفظ میکنیم. در غیر این صورت، تغییر وزن را با احتمالی حفظ میکنیم که به وسیله توزیع بولتزمن تعیین میشود. در صورتی که تغییر حفظ نشود، وزن را به مقدار قبلیش باز میگردانیم.
۴ ـ گامهای اول تا سوم را با کاهش تدریجی دمای مصنوعی تکرار میکنیم.
در صورتی که اندازه تغییر تصادفی وزن مطابق با توزیع بولتزمن انتخاب شود، همگرایی به حداقل کلی فقط در صورتی تخمین میشود که دما با عکس لگاریتم زمان سپری شده برای تربیت تغییر داده شود. این ممکن است دورههای تربیت طولانی غیر قابل تحملی را دربرداشته باشد. بنابراین، قسمت اعظم کوشش ها صرف یافتن روشهایی شده است که ترتیب سریع تر انجام پذیرد.
با انتخاب اندازه گام از توزیع کوشی دما ممکن است با عکس زمان تربیت کاهش داده شود، در نتیجه کاهش بزرگی در زمان مورد نیاز برای همگرایی به دست میآید.
شایان ذکر است روشهای آماری بسیاری برای شبکههای عصبی مصنوعی وجود دارند که در آنها متغیرهای شبکه به جای وزن ها، خروجی سلولهای عصبی اند.
۵-۱۰ خودسازمانی
کوهونن (۱۹۸۴) نتایج جالب و مفیدی از تحقیقش را روی طرحهای خودسازمانی که برای تشخیص الگو[۱۳] استفاده میشوند گزارش کرده است. به طور کلی، این طرح ها الگویی را طبقه بندی میکنند که به وسیله یک بردار از مقادیر ارائه میشود و هر آرایه از بردار متناظر با یک جزء از الگوست.
الگوریتمهای کوهونن بر اساس روش یادگیری غیر نظارات شده بنا نهاده شده اند. به محض اینکه شبکه تربیت شود، به کار بردن یک بردار ورودی از یک طبقه بندی معین ترازهای تحریک را در هر سلول عصبی لایه خروجی تولید خواهد کرد.
سلول عصبیای که دارای بیشینه سطح تحریک باشد، طبقه بندی را ارائه میکند. به دلیل اینکه آموزش بدون هیچ بردار هدفی انجام میشود، هیچ روشی وجود ندارد تا بر مبنای آن قبل از آموزش بتوانیم پیشگویی کنیم کدام سلول عصبی به یک طبقه بندی معین از بردارهای ورودی مربوط خواهد شد. لیکن با آزمایش شبکه بعد از آموزش آن، این عمل به آسانی انجام میپذیرد.
الگوریتم با دسته n وزن وارد شونده به یک سلول عصبی، همانند یک بردار در فضای n بعدی رفتار میکند. قبل از آموزش، هر لایه از این بردار وزن با مقادیر تصادفی آغاز میشود. سپس هر بردار، نرمال میگردد تا در فضای بردارهای وزن دارای طول واحد شود. نرمال کردن یک بردار با تقسیم هر وزن تصادفی بر جذر مجموع مربعات آرایههای آن وزن انجام میشود. بردارهای ورودی در دسته آموزشی نیز همگی به طول واحد نرمال میشوند و شبکه مطابق با الگوریتم زیر آموزش داده میشود:
۱ـ بردار ورودی x را به کار میبریم.
۲ـ فاصله (در فضای n بعدی) بین بردار x و بردارهای وزن از هر سلول عصبی را محاسبه میکنیم. در فضای اقلیدوسی این فاصله به صورت زیر محاسبه میشود:
که در آن x آرایهi ام از بردار ورودی X و وزن از ورودی i به سلول عصبیj میباشد.
۳ ـ سلول عصبی که نزدیکترین بردار وزن را به بردار x دارا میباشد، سلول عصبی پیروز اعلام میشود. این بردار وزن به نام مرکز گروهی از بردارهای وزن میشود که فاصله آنها تا کمتر از d میباشد.
۴ ـ آموزش این گروه از بردارهای وزن همسایه یکدیگر را مطابق با زیر انجام میدهیم:
۵ ـ گامهای اول تا چهارم را برای هر بردار ورودی انجام میدهیم.
هنگامی که شبکه آموزش داده میشود، مقادیر , d به تدریج کاهش داده میشوند. کوهونن توصیه میکند که a باید به مقادیر نزدیک به یک شروع و تا یک دهم کاهش داده شود، ضمن اینکه d میتواند به بزرگی بیشترین فاصله بین بردارهای وزن شروع گردد و آنقدر کوچک خاتمه یابد که فقط یک سلول عصبی در حال آموزش باشد. تا یک مقطع از آموزش، دقت در طبقه بندی با آموزش اضافی بهتر میشود. کوهونن توصیه میکند که برای کسب دقت آماری بالا و خوب، تعداد دورههای آموزشی باید حداقل ۵۰۰ برابر تعداد سلولهای عصبی خروجی باشد.
الگوریتم آموزش، بردارهای وزنی را که در همسایگی سلول عصبی پیروز قرار دارند تنظیم میکند تا به بردار ورودی شبیه تر شوند.
به دلیل اینکه همه بردارها به طول واحد نرمال میشوند، آنهاذ ممکن است به عنوان نقاطی روی یک ابر کره واحد در فضای چند بعدی در نظر گرفته شوند. پس عمل آموزش، دسته خوشه مانند نقاط وزن را طوری حرکت میدهد که به نقطه مربوط به بردار ورودی نزدیکتر شوند.
فرض بر این است که بردارهای ورودی عملاً به طبقههای مشابه دسته بندی میشوند و بنابراین در فضای برداری محصور میگردند. یک طبقه بندی معین تمایل به کنترل یک سلول عصبی معین را دارد و با دوران بردار وزنش به طرف مرکز طبقه بندی، سلول عصبی را وادار میکند که هر زمان که عضوی از آن طبقه به عنوان ورودی به کار برده میشود، با احتمال بیشتری پیروز شود.
پس از آموزش، طبقه بندی با به کار بردن یک بردار دلخواه، محاسبه تحریک به دست آمده برای هر سلول عصبی و سپس انتخاب سلول عصبی که بیشترین تحریک را دارد به عنوان معرف طبقه بندی صحیح، انجام میگردد.
۵-۱۱ الگوریتم انتشار برگشتی
برای سال ها از نظر تئوری هیچ الگوریتم کامل و بی عیبی برای آموزش شبکههای عصبی مصنوعی چند لایه وجود نداشت. زمانی که ثابت شد شبکههای تک لایه در آنچه که میتوانند ارائه کنند و نیز آنچه که میتوانند یاد بگیرند خیلی محدودترند، کل این عرصه علمی به سوی افوال مجازی پیش رفت.
اختراع الگوریتم انتشار برگشتی back propagation نقش قابل توجهی را در احیای مجدد شوق و علاقه به شبکههای عصبی مصنوعی ایفا کرد. انتشار برگشتی یک روش سیستماتیک برای تربیت شبکههای عصبی مصنوعی چند لایه است. این روش یک پایه ریاضی دارد که با وجود قوی بودن خیلی عملی نیست. انتشار برگشتی علی رغم محدودیت هایش به یکسری از مسائلی که شبکههای عصبی مصنوعی برای آنها به کار برده میشود توسعه داده شده و نمونههای موفقی از توانایی اش را ارائه کرده است.
انتشار برگشتی، تاریخچه جالبی دارد. رامل هارت[۱۴]، هینتون[۱۵] و ویلیامز[۱۶]در سال ۱۹۸۶، شرح مختصر و واضحی از الگوریتم انتشار برگشتی را بیان کرده اند. بعد از انتشار نتایج تحقیقات آنان، معلوم شد که پارکر[۱۷] کارهای رامل هارت را قبلاً پیش بینی کرده بوده است.