مقاله رایگان با موضوع شبکه های عصبی، طراحی معماری، شبکه عصبی مصنوعی، شبکه عصبی

دانلود پایان نامه ارشد

اطلاعات قرار دارند که نقش بسیار موثری در فرآیند یادگیری صحیح مدل ایفا می کنند. یک مسئله ضروری و مهم در طراحی یک شبکه تعیین تعداد واحد های لایه پنهان است اما متاسفانه هیچ جواب واحدی برای تعیین تعداد این لایه ها و واحدهای پردازش اطلاعات در این لایه ها وجود ندارد. اما تعداد این لایه ها و واحدهای پردازشگر آنها طوری باید انتخاب شوند که در آموزش و پیش بینی، دچار بیش برازش و یا حفظ کردن و فرایند یادگیری ناقص نشویم.
نکته دیگر تعداد گره ها در هر لایه است. بطور تخمینی تعداد مناسب گره های لایه مخفی بین نصف تا یک و نیم برابر تعداد گره های لایه ورودی یعنی تعداد ورودی های سیستم است. منابع مختلف مقیاس های تجربی متفاوتی به عنوان حدس اولیه برای این تعداد پیشنهاد کرده اند. کم بودن مفرط تعداد گره ها قدرت تجزیه و تحلیل و به دنبال آن دقت عدد پیشگویی را کاهش می دهد. از سویی زیاد بودن مفرط این تعداد منجر می شود که سیستم بجای تجزیه و تحلیل داده ها، آنها را در حافظه نگهداری کند( تیلور و دیگران59، 2009).

3. لایه خروجی :
در این لایه، رابطه یا فرمول بین متغیر های مستقل و وابسته اولیه ارائه می شود. تعداد گره ها در لایه خروجی بسته به پیشگویی مورد نظر ما دارد. در ازای داده های هر نمونه در مرحله یادگیری، یک عدد که میزان پایایی و روایی آن به شکل تجربی اثبات شده، به آن داده می شود. اگر قرار است که شبکه، سرطانی بودن یا نبودن یک بیمار را پیشگویی کند، پس در ازای داده های هر بیمار، در مرحله یادگیری یک ستون حاوی صفر یا یک به شبکه داده می شود، صفر به معنای بیمار سالم و یک به معنای بیمار سرطانی خواهد بود. به این ترتیب، یک سلول در لایه خروجی کافی خواهد بود، که فعالیت آن به معنی «یک» و سرطانی بودن و خاموش بودن آن به معنی «صفر» و سالم بودن می باشد( بهارلو، 1389).

شکل (2-7) : نمونه ای از شبکه سه لایه (حجازی زاده، 1389)

2-4-6- انواع شبکه های عصبی بر مبنای نوع اتصالها
با توجه به نوع اتصالات موجود در شبکه های عصبی می توان آنها را به دو نوع کلی تقسیم بندی کرد:
1. شبكه هاي پيش خور60 : شبکه های پيش خور، شبكه هايي هستند که مسير پاسخ در آن ها، همواره رو به جلو پردازش مي شود و به نرون هاي لايه هاي قبل باز نمي گردد. در اين نوع شبکه ها به سيگنال ها اجازه می دهند تنها از مسير يکطرفه عبور کنند، يعنی از ورودی تا خروجی. بنابراين باز خوردی (فيدبکی) وجود ندارد به اين معنی که خروجی هر لايه تاثيری بر همان لايه ندارد. در بدن انسان نيز، پيام های عصبی به صورت يکطرفه حرکت می کنند: از دنريت به بدنه سلول و سپس به آکسون. ساده ترين اين شبکه ها، شبکه های پرسپترون هستند که در ادامه بيشتر در مورد آن بحث می گردد.شکل (2-8) نمونه ای از يک شبکه پيشخور را نشان می دهد.

شکل (2-8) : نمونه ای از شبکه پیش خور (حجازی زاده، 1389)

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

شکل (2-9) : نمونه ای از شبکه پس خور (حجازی زاده، 1389)

2-4-7- مراحل طراحی يک شبکه عصبی مصنوعی
طراحی یک شبکه عصبی مصنوعی شامل سه مرحله طراحی معماری شبکه، تعیین نوع تابع تبدیل و آموزش شبکه می باشد:
مرحله 1. طراحی معماری شبکه
اين مرحله شامل تعيين تعدادلايه های موجود در شبکه، تعداد نورون های هر لايه، تعيين برگشت پذير بودن يا نبودن شبکه و غیره است که با توجه به نوع مساله تعيين می گردد. (برای مثال شبکه های برگشتی در اغلب موارد برای مسائل پويا کاربرد دارند ويا اينکه شبکه های پرسپترون پيش خور، برای نگاشت های غيرخطی کاربرد دارند).
نکته قابل توجه: تعداد نرون های لايه ورودی از صورت مساله ی مورد بررسی مشخص می گردد. به عبارت ديگر تحت انتخاب طراح مسأله نيست بلکه بستگی به روش حل مسأله مورد نظر دارد. تعداد نرون های لايه خروجی بستگی به نوع جواب ما دارد. برای مثال چنانچه پاسخ ما به صورت يک عدد باشد يک نرون کافی است. تعداد لايه ها و تعداد نرون های لايه پنهان توسط کاربر تعيين می گردد اما در اکثر مسائل از يک تا سه لايه پنهان کفايت می کند. همچنين روش عملی ای برای تخمين تعداد نرون های لايه پنهان وجود ندارد به همين دليل از روش های سعی و خطا (در حين آموزش) استفاده می شود تا به مقدار ميانگين خطای مطلوب رسيد.

مرحله 2. تعيين نوع تابع تبديل
می توان برای اينکه خروجی خاصی توليد شود از يک تابع تبديل استفاده کرد .اين تابع رنج وسيعی از مقادير ورودی را به مقدار خاصی نگاشت می کند. به عنوان مثال می توان هر مقدار خروجی را به مقدار باينری 0 و 1 نگاشت کرد. انواع مختلفی از اين توابع در ANN ها مورد استفاده قرار می گيرد ولی پرکاربردترين آن ها، تابع تبديل سيگموئيد (مانند S ) است که به صورت زير تعريف می شود :

شکل (2-10): تابع تبدیل سیگموئید (حجازی زاده، 1389)

ادعا شده است که فرکانس آتش نرون طبيعی به صورت تابعی شبيه به اين تابع است .اما از دلايل عمده استفاده از این تابع این است که: غیر خطی، افزايشی و مشتق پذير است، و در فرم بسته قابل نمایش است، مشتق گیری از آن ساده است و رنج ورودی (∞+،∞- ) را به خروجی [1،0] فشرده سازی می کند.
مرحله 3. آموزش شبکه
الگوريتم های يادگيری، روندهايی هستد که توسط آن ها وزن های شبکه تنظيم می گردد. هدف از آموزش شبکه اين است که شبکه قانون کار را ياد بگيرد و پس از آموزش به ازای هر ورودی، خروجی مناسب را ارائه دهد.
تا کنون بيش از ١٠٠ نوع الگوريتم يادگيری بوجود آمده است. که می توان آن ها را به طور کلی به دو دسته وسيع تقسيم بندی کرد :
يادگيری نظارت شده يا با ناظر62
در اين نوع آموزش، به الگوريتم يادگيری مجموعه ای از زوج داده که به داده های يادگيری موسوم هستند، داده می شود. هر داده يادگيری شامل ورودی به شبکه و خروجی هدف است. پس از اعمال ورودی به شبکه، خروجی شبکه با خروجی هدف مقايسه می گردد و سپس خطای يادگيری محاسبه شده و از آن جهت تنظيم پارامترهای شبکه (وزن ها)، استفاده می گردد به گونه ای که اگر دفعه بعد به شبکه همان ورودی را داديم، خروجی شبکه به خروجی هدف نزديک گردد. شکل (2-11) يادگيری با ناظر را نشان می دهد.

شکل (2-11): یادگیری با ناظر (حجازی زاده، 1389)

يادگيری تشديدی63 حالت خاصی از يادگيری با ناظر است که در آن بجای فراهم نمودن خروجی هدف، به شبکه عددی که نشان دهنده میزان عملکرد شبکه است ارائه می گردد، در یادگیری با ناظر ، مقادیر خروجی هدف برای هر ورودی مفروض، کاملا معلوم است ولی در بعضی مواقع اطلاعات کمی موجود می باشد. مثلاً به شبکه می توان گفت که خروجی اش 50% درست است و غیره. در یادگیری با ناظر می گوییم جواب مطلوب برای ورودی x برابر t است ولی در این الگوریتم های یادگیری می گوییم که چقدر شبکه خوب به ورودی x جواب داده یا چقدر بد جواب داده است.

يادگيری نظارت نشده يا بدون ناظر64:
در اين نوع يادگيری هيچ سيگنالی که اطلاعات را در مورد مطلوبيت جواب شبکه به خود شبکه وارد نمايد، وجود ندارد. به عبارت ديگر به شبکه گفته نمی شود که خروجی هدف چه است و يا اينکه جواب شبکه چقدر مطلوب است. در اين حالت، شبکه با دريافت اطلاعات ورودی، بايد طبقه بندی ای بين الگوهای ورودی، شاخص های موجود در ورودی ها و ارتباط موجود بين الگوهای ورودی را پيدا کند و در خروجی کد کند. شکل(2-12) يادگيری بدون ناظر را نشان می دهد. يک مثال بسيار متداول از اين نوع يادگيری، شبکه های خوشه بندی الگوهای ورودی است، بدون اينکه بدانيم کدام الگو به کدام خوشه تعلق دارد. خوشه ها در نهايت از روی تشابهات و عدم تشابهات بين الگوها ايجاد می گردند.

شکل(2-12): یادگیری بدون ناظر (حجازی زاده، 1389)

2-4-8- پرسپترون چند لايه65 (MLP)
هرچند نحوه مدل كردن نرون جزء اساسي ترين نكات كليدي در كارآيي شبكه عصبي مي باشد اما نحوه برقراري اتصالات و چيدمان (توپولوژي) شبكه نيز فاكتور بسيار مهم و اثرگذاري است. بايد توجه داشت كه توپولوژي مغز انسان آنقدر پيچيده است كه نمي توان از آن به عنوان مدلي براي اعمال به شبكه عصبي استفاده نمود، چرا كه مدلي كه ما استفاده مي كنيم، يك مدل ساده شده است در حالي كه چيدمان مغز از المانهاي بسيار زيادي استفاده مي كند.
يكي از ساده ترين و در عين حال كارآمدترين چيدمان هاي پيشنهادي براي استفاده در مدل سازي عصب هاي واقعي، مدل پرسپترون چندلايه يا به اختصار MLP مي باشد كه از يك لايه ورودي، يك يا چند لايه پنهان و يك لايه خروجي تشكيل يافته است. در اين ساختار، تمام نرون هاي يك لايه به تمام نرون هاي لايه بعد متصلند. اين چيدمان اصطلاحاً يك شبكه با اتصالات كامل را تشكيل مي دهد (صیادی،1387).
شكل(2-13) شماي يك شبكه پرسپترون سه لايه را نشان مي دهد. به سادگي مي توان استنباط نمود كه تعداد نرون هاي هر لايه، مستقل از تعداد نرون هاي ديگر لایه ها مي باشد. توجه به اين نكته حائز اهميت است كه در شكل(2-13)، هر دايره تجميع شده عمل جمع و آستانه گذاري (عبور از تابع غيرخطي سيگموئيد) است. در حقيقت هر دايره توپر در شكل(2-13)، مدلي است از جمع كننده و بلوك آستانه گذاري شکل (2-6) كه به منظور سهولت نمايش به اين فرم نشان داده شده است. با توجه به شكل، خروجي عصب i ام ( در لايه آخر) را مي توان به صورت زير نشان داد:

شکل(2-13): پرسپترون سه لایه با اتصالات کامل (صیادی، 1387)

2-1)
که در آن، o و h به ترتیب نشان دهنده لایه خروجی و لایه نهان بوده و منظور از w همان وزنهای لایه ها می باشد.

2-4-9- آموزش شبکه به روش پس انتشار خطا
با توجه به اين كه شبكه عصبي، مدل ساده شده اعصاب بدن است، درست به مانند آن ها قابليت يادگيري دارد. به عبارت ديگر، شبكه با استفاده از اطلاعاتي كه از ورودي و توسط سرپرست خود دريافت ميكند، قادر به فراگيري روند موجود در الگوهاست. لذا به طور مشابه با انسان، روند يادگيري در شبكه عصبي نيز از مدل هاي انساني الهام گرفته است بدين صورت كه مثال هاي بسياري را به دفعات بايستي به شبكه ارائه نمود تا بتواند با تغيير وز نهاي شبكه، خروجي مورد نظر را دنبال كند. ارائه نمونه داده هاي ورودي به شبكه عصبي به دو روش امكان پذير است:
Batch Mode) ): در اين روش، تمام نمونه ها به شبكه ارائه مي گردند و در آخر، خطاي روش ارائه يك جا شبكه نسبت به كل نمونه ها محاسبه گشته و وزن ها بر اساس آن خطا تغيير مي كنند. در مرحله بعد، مجدداً تمام داد ه ها يكبار ديگر به شبكه ارائه شده و روند فوق نظير به نظير انجام ميپذيرد تا نهايتاً خطا به سطح قابل قبولي برسد. مسلماً اين روش پيچيده و زمان بر بوده و نياز به حافظه زيادي دارد. همچنين امكان گيركردن الگوريتم در مينيمم هاي محلي وجود دارد.
(Pattern Mode) : در اين روش، در هربار نمونه ها به صورت تك تك به شبكه داده شده و روش ارائه الگو خطاي متناظر با همان داده بلافاصله محاسبه شده و بر اساس آن، وزنهاي شبكه تغيير مي كنند. سپس نمونه

پایان نامه
Previous Entries مقاله رایگان با موضوع شبکه های عصبی مصنوعی، شبکه های عصبی، شبکه عصبی، مدل ریاضی Next Entries مقاله رایگان با موضوع رضایت مشتری، رضایت مشتریان، بانکداری الکترونیک، شناسایی مشتریان راضی