Evolving Artificial Neural Networks
1
G5 Evolving Artifitial Neural Networks
فهرست مطالب
مقدمهای بر شبکههای عصبی
مقدمهای بر الگوریتمهای تکاملی
تکامل شبکههای عصبی مصنوعی
آموزش وزنها
طراحی معماری
آموزش و طراحی معماری شبکههای عصبی
آموزش قوانین یادگیری
2
G5 Evolving Artifitial Neural Networks
شمای کلی از شبکه های عصبی تکاملی
3
G5 Evolving Artifitial Neural Networks
ANNها:
معماری
یک ANN شامل مجموعه ای از Elementهای در حال پردازش (نرون) است که به عنوان یک گراف متصل تفسیر می شود که هر نود (نرون) i یک تابع انتقال fi را دربر دارد.
ANNها به کلاس های انتشار روبه جلو و
بازگشتی مطابق اتصالشان تقسیم می شوند.
یادگیری در ANNها
یادگیری در ANNها به طور معمولی با استفاده از مثالهای آموزشی (training) صورت می گیرد، چون با سازگار کردن وزن های ارتباطی در شبکه های تکراری حاصل می شود.
یادگیری در ANNها به سه دسته تقسیم می شود:
یادگیری با ناظر (supervised learning)
یادگیری بدون ناظر (unsupervised learning)
یادگیری تقویتی (reinforcement learning)
4
G5 Evolving Artifitial Neural Networks
EAها:
کلاسی از الگوریتم های جستجوی اتفاقی بر پایه جمعیت است که از ایده ها و قوانین تکامل طبیعی الهام گرفته است که شامل استراتژی های برنامه نویسی تکاملی(EP) و الگوریتم ژنتیک(GA) اند.
Framework عمومی EAها:
مقداردهی جمعیت اولیه به صورت رندم
هر فرد در داخل جمعیت ارزیابی می شود و بر اساس Fitness از جمعیت اولیه چند والد برگزیده می شود
اپراتورهای جستجو را به والدین اعمال می کنیم و تعدادی فرزند برای نسل بعد تولید می کنیم.
5
G5 Evolving Artifitial Neural Networks
EANNها:
نوع خاصی از کلاس شبکه های عصبی مصنوعی (ANN) است که در آن تکامل یک فاکتور حیاتی دیگری از یادگیری است.
تکامل در EANNها در سه مرحله مجزا صورت می گیرد:
تکامل وزن های ارتباطی – پیدا کردن نزدیکترین ترتیب بهینه برای مجموعه وزنهای ارتباطی
تکامل معماری – رویکردی جهت طراحی ANNهای اتوماتیک با توپولوژی های پویا
تکامل قوانین یادگیری – طراحی فرآیند آموزش برای یادگیری از طریق تکامل
یک برتری قابل توجه از EANNها سازگاری آنها در محیط های پویاست.
6
G5 Evolving Artifitial Neural Networks
تکامل وزن های ارتباطی
Weight training در ANNها معمولا با مینیمم سازی تابع خطا فرموله می شود. بیشتر الگوریتم های یادگیری بر پایه تقریب گرادیان کار می کنند.
نقطه ضعف های استفاده از تقریب گرادیان
عدم پیداکردن مینیمم های سراسری در تابع خطاهای چندمدله (گیر کردن در بهینه های محلی)
عدم قابلیت الگوریتمهای مبتنی بر گرادیان در سطوح مشتق ناپذیر
هزینه بر بودن محاسبه اطلاعات گرادیان در بعضی مسائل
راه حل: استفاده از الگوریتمهای تکاملی
الگوریتمهای تکاملی به صورت عمومی جستجو میکند و بدون نیاز به اطلاعات گرادیان، مجموعهی جوابهای نزدیک بهینه را پیدا میکند.
7
G5 Evolving Artifitial Neural Networks
تکامل وزن های ارتباطی
رویکرد تکامل وزن ها در ANNها شامل دو حوزه اصلی است:
تصمیم گیری در مورد شیوه نمایش وزن های اتصالی
تصمیم گیری در مورد اپراتورهای جستجو مثل mutation و crossover در EAها
نمایش ژنوتایپ دودویی
مثال: اختصاص 4بیت
برای هر وزن
یک ANN با اتصال تمام وزن های ارتباطی شبکه در داخل کرومزوم رمزنگاری می شود.
بررسی trade-off بین دقت نمایش و طول کرومزوم
8
G5 Evolving Artifitial Neural Networks
تکامل وزن های ارتباطی
نمایش ژنوتایپ عدد حقیقی
مثال: اختصاص یک عدد حقیقی به هر وزن
یکی از مشکلات تکامل فرآیند یادگیری در ANNها مساله جایگشت است، هر جایگشت از نرون های داخلی می تواند عملکرد معادل با شبکه ای باشد که شیوه نمایش کرومزوم آن متفاوت است.
اعمال اپراتور crossover در استنتاج وزن های اتصالی نامناسب است چون نمونه های خوب شناخته شده در طول تکامل را از بین می برد.
9
G5 Evolving Artifitial Neural Networks
مقایسه بین یادگیری تکاملی و یادگیری بر پایه گرادیان
جذابیت آموزش تکاملی این است که الگوریتمهای تکاملی میتواند در سطوح پیچیده، چند بعدی و مشتقناپذیر جستجو کند.
اما یادگیری تکاملی برای برخی از مسائل در مقایسه با BP می تواند کند باشد.
نتیجهگیری کلی این است که کارایی و سرعت این الگوریتمها به کاربرد موردنظر بستگی دارد.
Hybrid training
الگوریتم تکاملی ناحیه جوابهای خوب را پیدا میکند. سپس این ناحیه با دقت بیشتری توسط یک الگوریتم جستجوی محلی برای پیدا کردن نقطه بهینه مورد جستجو قرار میگیرد. (ترکیب الگوریتمهای تکاملی با الگوریتمهای یادگیری)
برای مثال اصلاح فنوتایپ (یادگیری شبکه عصبی) میتواند باعث اصلاح ژنوتایپ (ماتریس وزنها با BP) و همچنین تغییر برازندگی فرد در جامعه شود.
10
G5 Evolving Artifitial Neural Networks
تکامل معماری شبکه عصبی
تاثیر معماری شبکه عصبی بر توانایی یادگیری و تعمیم شبکه
روشهای مرسوم
طراحی معماری توسط فرد خبره
وابسته به تجربه و دانش فرد خبره
فرایند تصحیح و خطا خسته کننده
طراحی معماری با الگوریتم های سازنده-مخرب
مستعد افتادن در دام نقاط بهینه محلی
عدم پوشش همه معماری ها و تمرکز بر دسته خاصی از آنها
11
G5 Evolving Artifitial Neural Networks
تکامل معماری شبکه عصبی
الگوریتمهای تکاملی
سطح جستجو بی نهایت بزرگ
سطح غیر قابل مشتق گیری است
سطح گولزننده است
سطح چند بعدی است
تکامل معماری
تکامل توپولوژی
تکامل انتقال توابع
12
G5 Evolving Artifitial Neural Networks
تکامل معماری شبکه عصبی
نمایش مستقیم
کد گذاری تمام جزییات معماری در شبکه
ماتریس مجاورت معماری پیش خور
13
G5 Evolving Artifitial Neural Networks
تکامل معماری شبکه عصبی
ماتریس مجاورت معماری پس خور
14
G5 Evolving Artifitial Neural Networks
تکامل معماری شبکه عصبی
مزایای روش مستقیم
پیاده سازی ساده
قابلیت بدست آوردن شبکه عصبی فشرده
قابلیت محاسبه برازندگی
معایب روش مستقیم
طول کروموزوم
استفاده از دانش مسئله
15
G5 Evolving Artifitial Neural Networks
تکامل معماری شبکه عصبی
مسئله جایگشت
16
G5 Evolving Artifitial Neural Networks
تکامل معماری شبکه عصبی
نمایش غیر مستقیم
مشخصات خاصی از معماری کد می شود
نمایش فشرده
نمایش پارامتری
تعداد نرونهای هر لایه
تعداد یالهای بین لایهها
الگوی ارتباط
تعداد لایه ها
معایب
زیر مجموعه ای از معماری را جست و جو می کند
معماری خاص
17
G5 Evolving Artifitial Neural Networks
تکامل معماری شبکه عصبی
نمایش قواعد گرامری
تفاوت آن با
روش پارامتری
18
G5 Evolving Artifitial Neural Networks
تکامل معماری شبکه عصبی
معایب روش قواعد توسعه
مشخص بودن تعداد گامها
عدم استفاده از قواعد بازگشتی
روش قواعد توسعه تکامل معماری را از تکامل وزنها کاملا جدا می کند
19
G5 Evolving Artifitial Neural Networks
تکامل معماری شبکه عصبی
تفاوت اصلی روش مستقیم با روش غیر مستقیم
معماری اولیه
دیگر بازنماییها
هر لایه مخفی = یک فرد در جامعه
محدودیت ها
فقط در شبکه های پیشرو کاربرد دارد
وجود نودهایی مخفی با قابلیت یکسان
20
G5 Evolving Artifitial Neural Networks
تکامل معماری شبکه عصبی
تکامل توابع انتقال
تکامل نسبت تابع سیگموید و گوسین
استفاده از برنامه نویسی تکاملی برای تکامل شبکه هایی با نودهای سیگمویدی و گوسین
21
G5 Evolving Artifitial Neural Networks
تکامل همزمان معماری ووزن های اتصالی
مشکل تکامل معماری بدون وزن های اتصالی: ارزیابی نویزی fitness
دوشبکه عصبی بامعماری یکسان ممکن است fitness متفاوت داشته باشند.
منابع اصلی نویز:
مقداردهی تصادفی وزن ها
الگوریتم های آموزشی
راه حل :
گنجاندن اوزان شبکه عصبی همراه بامعماری آن درکروموزوم
22
G5 Evolving Artifitial Neural Networks
تکامل همزمان معماری ووزن های اتصالی
انتخاب عملگرجستجودرEA برای تکامل ANN .
استفاده ازcrossover متناقض با ایده اصلی ANN است.
علت: عدم وجود building block (واحدسازنده) به دلیل نمایش توزیعی دانش درANN.
اگرANNازنمایش محلی مانندشبکه های RBFاستفاده کند: crossover یک عملگربسیارمفیداست.
23
G5 Evolving Artifitial Neural Networks
تکامل همزمان معماری ووزن های اتصالی (EPNet)
24
G5 Evolving Artifitial Neural Networks
تکامل قوانین یادگیری
طراحی قوانین یادگیری به نوع معماری بستگی دارد.
آنچه ازیک ANN انتظار می رود: توانایی اش برای تنظیم قوانین یادگیری برطبق معماری و وظیفه ای است که باید انجام دهد.
یک ANN باید قوانین یادگیری اش را به صورت پویا یادبگیرد. زیرا قوانین تازه استخراج شده می تواند بامحیط های پیچیده وپویا تعامل داشته باشد.
25
G5 Evolving Artifitial Neural Networks
شبه کد تکامل قوانین یادگیری
هرفرددرنسل فعلی رابه یک قانون یادگیری دیکد می کنیم.
یک مجموعه ازشبکه های عصبی بامعماری هایی که به صورت تصادفی تولیدشده و وزن های اتصالی اولیه ایجاد می کنیم، وآنهارا بااین قانون یادگیری دیکدشده آموزش می دهیم.
Fitness هرفرد (قانون یادگیری) رابرطبق میانگین نتایج آموزشی محاسبه می کنیم.
والدین راازنسل فعلی برطبق fitness شان انتخاب می کنیم.
عملگرهای جستجورابه والدین برای تولید فرزندان که نسل جدید راشکل میدهند، اعمال می کنیم.
26
G5 Evolving Artifitial Neural Networks
تکامل قوانین یادگیری
برخلاف تکامل وزن های اتصالی ومعماری، تکامل قوانین یادگیری باید روی رفتار پویای ANN کارکند.
مسئله کلیدی:چگونه رفتارپویای یک قانون یادگیری رادریک کروموزوم استاتیک انکد کنیم؟!
اعمال محدودیت روی نوع رفتارهای پویا :استخراج فرم اصلی قوانین یادگیری.
27
G5 Evolving Artifitial Neural Networks
تکامل قوانین یادگیری
فرم اصلی قانون یادگیری:
t: زمان
Δw: تغییروزن
x1,x2,…,xn: متغیرهای محلی
Θ: ضرایب بامقادیرحقیقی
سه مسئله اصلی:
تعیین زیرمجموعه عبارات
نمایش ضرایب بامقادیرحقیقی به عنوان کروموزوم
EA که برای استنتاج این کروموزوم هااستفاده میشود.
28
G5 Evolving Artifitial Neural Networks
تکامل قوانین یادگیری
Baxter برای تکامل کل ANN (شامل وزن های اتصالی،معماری،قوانین یادگیری) تلاش کرد.
اعمال محدودیت روی تمامی قسمت هابرای جلوگیری ازبزرگ شدن فضای جستجوی ANN :
ANN بانودهای آستانه دودویی وزن ها تنها +1 یا -1 می شود.
تعدادنودها در ANN ثابت است.
قانون یادگیری تنهادومتغییربولی دارد.
29
G5 Evolving Artifitial Neural Networks
ترکیب های دیگر:تکامل ویژگی های ورودی
برای مسائل عملی ورودی های ANN می تواندبسیاربزرگ باشد یا تکرار زیادی بین ورودی های مختلف وجودداشته باشد.
تعدادزیاد ورودی به یک ANN :
سایزش راافزایش میدهد.
به داده های آموزشی بیشتر
وزمان آموزش طولانی تری نیازدارد تابه یک قدرت تعمیم منطقی دست یابد.
راه حل: پیش پردازش داده ها
30
G5 Evolving Artifitial Neural Networks
ترکیب های دیگر:تکامل ویژگی های ورودی
EA : جستجوی مجموعه بهینه ازویژگی های ورودی به یک ANN
درتکامل ویژگی های ورودی، هرفرد درجمعیت یک زیرمجموعه ازتمام ورودی های ممکن رانشان می دهد.
استفاده ازیک کروموزوم باینری برای نمایش هرفرد که طولش برابرتعدادکل ویژگی هاست.
ارزیابی هرفرد: آموزش یک ANN بااین ورودی ها واستفاده ازنتایج برای محاسبه مقدارfitness.
31
G5 Evolving Artifitial Neural Networks
نتیجه گیری: یک چارچوب کلی برای EANN ها
ازدیدگاه مهندسی،تصمیم گیری روی
سطح تکامل به این بستگی داردکه چه
نوعی ازدانش قبلی موجودباشد.
بهینه سازی قوانین یادگیری زمانی
بامعنی تراست که دریک محیط شامل
معماری ارزیابی شود.
32
G5 Evolving Artifitial Neural Networks
Thank you…
33
G5 Evolving Artifitial Neural Networks