فهرست مطالب فصل اول :مقدمه ای بر شبکه هاي عصبي فصل دوم :ارائه ساختارهای مختلف شبکه هاي عصبي فصل سوم :ارائه مفاهیم پایه در آموزش شبکه هاي عصبي بر اساس الگوریتم پس انتشار خطا فصل چهارم :بررس ي روشهاي مختلف آموزش در شبکه هاي عصبي فصل پنجم :بهبود الگوریتم پس انتشار خطا فصل ششم :شبکه هاي عصبي بازگشتی 1 فهرست مطالب فصل هفتم :شبكه هاي حافظه دار و گاما فصل هشتم :شبکه های عصبی مدل مخچه فصل نهم :شبکه عصبی بیزین فصل دهم :شبکه عصبی مثلثاتی فصل یازدهم :شبکه عصبی ویولت فصل دوازدهم :شبکه عصبی کانولوشنال فصل سیزدهم :کاربرد شبکه های عصبی در شناسایی ،پیش بینی و کنترل سیستم ها 2 فصل اول :مقدمه ای بر شبکه هاي عصبي 3 سیستم های پیچیده سیستم های پیچیده از بخش های مختلف تشکیل شده اند که کلیه بخش ها با یکدیگر در ارتباطند و همچنین بخش های سیستم ها با خارج در ارتباط هستند و در کنش و واکنش می باشند. انواع سیستم های پیچیده سیستم های حمل و نقل(زمینی ،دریایی و هوایی) سیستم های هواشناس ی (منطقه ای ،محلی و جهانی) سیستم های بیمارستانی (بخش ها ،تخصصها و ارتباط بین آنها و بیمارستانهای دیگر و بیمه و)... سیستم های اقتصادی(تحت تأثیرعواملی چون نیازها ،درخواستها ،موجودیها و بحرانها ...می باشد). جوامع (فرهنگهای مختلف ،تحصیالت ،دارایی ،فقر و امکانات فردی و اجتماعی) سیستم های بیولوژیکی(شامل مغز ،مخچه ،سلولها و ...می باشد) 4 شبکه عصبی: شبکه های عصبی بر اساس رفتار شناس ی ماشین های بیولوژیکی موجودات زنده طراحی شده است. هدف از شبکه های عصبی مصنوعی : نرم ارائه روشهائی جهت استفاده از سخت افزارها ( مدارات ) و ها، افزارها ( الگوریتم ها) برای ایجاد قابلیت های هوشمند به دستگاه روبوت ها ،برنامه ها و غیره ....می باشد که قادر به یادگیری حین فرآیند می باشد. در این درس هدف آشنایی فقط با الگوریتم ها و نحوه چگونگی اضافه ها برنامه نمودن آن به نرم /سخت افزار می باشدکه در این راستا (الگوریتم) قادر به یادگیری می باشند. 5 مفهوم هوش چیست؟ با توجه به اینکه محققان تا کنون نتوانسته اند درباره عملکرد مغز انسان که در واقع محل تجزیه و تحلیل( اتاق فرمان) ماشین بیولوژیکی موجودات زنده خصوصا انسان تعریف واقعی ارائه نمایند ،لذا پاسخ به این سوال به سادگی امکان پذیر نمی باشد و نمی توان پاسخی روشن و شفاف ارائه نمود .در هر حال ماشین بیولوژیکی را با قابلیت های زیر می توان مورد بررس ی قرار داد: 6 مفهوم هوش چیست؟ آموزش ی پذیری از طریق دریافت داده ها ( اطالعات ) و یا الگوها یا ترکیبی از داده ها و الگو ها در حافظه نگهداری نمودن تجربیات آموزش و غیره و قابل بازسازی نمودن آنها. تصمیم گیری مناسب و منطقی براساس یادگیری و تجربیات آموزش دیده گذشته. ابراز نظر( احساسات ) براساس وجود واقعیت گذشته و حال. خود سازمانده هی /شکل پذیری درونی براساس نیازهای فردی و جمعی. ارتباط برقرار کردن منطقی الگوها براساس آموزش گذشته ،به عنوان مثال ،هوای ابری تصویری از امکان وجود بارندگی را در ذهن انسان تداعی می کند. ارائه پاسخی مناسب به نحوی که محرک های خارجی از خود یک عکس العمل مناسبی ارائه دهند. 7 بررس ی ساختمان سلول عصبی بیولوژیک شکل و ساختمان جسم سلولی نورون سوما (cell body)soma دندريت (input cell)dendrite آکسون (output cell)axon 8 Biology Inspiration • Neurons respond slowly – 10-3 s compared to 10-9 s for electrical circuits • The brain uses massively parallel computation – »1011 neurons in the brain – »104 connections per neuron Human nervous system is built of cells call neuron Each neuron can receive, process and transmit electrochemical signals Dendrites extend from the cell body to other neurons, and the connection point is called synapse Signals received among dendrites are transmitted to and summed in the cell body If the cumulative excitation exceed a threshold, the cell fires, which sends a signal down the axon to other neurons 9 Dendrites Cell body Axon Synapse 10 مقدمهای بر شبکههای عصبی و قابلیتها و تاریخچه آن مفهوم پایه شبکههای عصبی چیست؟ چرا شبکههای عصبی قابلیت یادگیری دارند؟ چرا شبکههای عصبی قابلیت تعمیم پذیری ساختار دارند؟ شبکههای عصبی تقریبی از رفتار مغز و اعصاب در قسمتهای مختلف بدن موجودات زنده هستند. شبکههای عصبی دارای قابلیتهای مختلف بر اساس کاربرد میباشند. شبکههای عصبی یک پردازشگر موازی است که در یک لحظه دارای آموزش و اعمال میباشند. 11 ارزش و قابلیت یادگیری در شبکههای عصبی دارای محاسبات قوی و ارزشمند از داده و اطالعات هستند. در ساختار شبکههای عصبی که دارای نرونها و الیههای زیاد هستند باعث انعطاف پذیری و درجه آزادی زیاد در سیستم عصبی میشوند ولی زمان محاسبات طوالنیتر خواهد شد. دارای توانایی زیاد در اصالح و تعمیم پذیری میباشند. دارای قابلیت حذف اغتشاش و نویز هستند. قابلیت تولید الگوریتم تطبیق پذیر هوشمند بر پایه کاربرد را دارند. 12 ویژگیهای شبکه های عصبی تاکنون مدل های مختلف با ساختار و الگوریتم های متنوعی از شبکه های عصبی ارائه شده است و هر چند این مدل ها با یکدیگر تفاوت دارند ،اما تمام این مدل ها یک هدف مشترک را دنبال می کنند .به طور کلی سلول های عصبی که تشکیل دهنده یک شبکه عصبی می باشند ماشین های محاسباتی هستند ،که از اجزای ساده(سلول) و زنجیره ای تشکیل می شوند و دارای خواص زیرند: قابلیت یادگیری و تطبیق پذیری قابلیت تعمیم پذیری پردازش موازی مقاوم بودن قابلیت تقریب عمومی 13 قابلیت یادگیری و تطبیق پذیری قابلیت یادگیری یعنی توانایی تنظیم پارامترهای شبکه عصبی .برای این منظور نمونه های اولیه را به شبکه اعمال می کنند شبکه ،پارامترها را بر اساس این نمونه ها تنظیم می کند .اگر نمونه های جدید به این شبکه که به این طریق آموزش دیده ،اعمال شود، خروجی مناسب را با درصد خطای کوچک می توان بدست آورد .با این ترتیب شبکه های عصبی می توانند با تغییر شرایط به صورت هوشمندانه ،خود را تطبیق یا اصالح نماید. 14 قابلیت تعمیم پذیری: پس از آنکه نمونه های اولیه به شبکه آموزش داده شد ،شبکه می تواند در مقابل ورودیهای آموزش داده نشده (ورودیهای جدید) قرار گیرد و یک خروجی مناسب تولید نماید .این خروجی بر اساس مکانیسم تعمیم ،که چیزی جز فرایند درونیایی نیست به دست می آید. پردازش موازی: هنگامی که شبکه عصبی در قالب سخت افزار پیاده می شود سلولهایی که در یک تراز قرار می گیرند می توانند به طور همزمان به ورودیهای آن تراز پاسخ دهند .این ویژگی باعث افزایش سرعت پردازش می شود .در واقع در چنین سیستمی ،وظیفه کلی پردازش بین پردازنده های کوچکتر مستقل از یکدیگر توزیع می گردد. 15 مقاوم بودن: در یک شبکه عصبی رفتار کلی آن مستقل از رفتار هر سلول در شبکه می باشد درواقع رفتار کلی شبکه برآیند رفتارهای محلی تک تک سلولهای شبکه می باشد که این امر باعث می شود تا خطا های محلی سلولها از چشم خروجی نهایی دور بمانند .این خصوصیت باعث افزایش قابلیت مقاوم بودن در شبکه عصبی می گردد. قابلیت تقریب عمومی: شبکه های عصبی چند الیه ،با یک یا چند الیه مخفی به شرط آن که تعداد نرونهای الیه ها مخفی کافی داشته باشند ،می توانند هر تابع غیر خطی پیوسته ای را در فضای ترکیبی تخمین بزنند. 16 Applications Aerospace High performance aircraft autopilots, flight path 17 simulations, aircraft control systems, autopilot enhancements, aircraft component simulations, aircraft component fault detectors Automotive Automobile automatic guidance systems, warranty activity analyzers Banking Check and other document readers, credit application evaluators Defense Weapon steering, target tracking, object discrimination, facial recognition, new kinds of sensors, sonar, radar and image signal processing including data compression, feature extraction and noise suppression, signal/image identification Electronics Code sequence prediction, integrated circuit chip layout, process control, chip failure analysis, machine vision, voice synthesis, nonlinear modeling Applications Financial Real estate appraisal, loan advisor, mortgage screening, corporate bond rating, credit line use analysis, portfolio trading program, corporate financial analysis, currency price prediction Manufacturing Manufacturing process control, product design and analysis, process and machine diagnosis, real-time particle identification, visual quality inspection systems, beer testing, welding quality analysis, paper quality prediction, computer chip quality analysis, analysis of grinding operations, chemical product design analysis, machine maintenance analysis, project bidding, planning and management, dynamic modeling of chemical process systems Medical Breast cancer cell analysis, EEG and ECG analysis, prosthesis design, optimization of transplant times, hospital expense reduction, hospital quality improvement, emergency room test advisement 18 Applications Robotics Trajectory control, forklift robot, manipulator controllers, vision systems Speech Speech recognition, speech compression, vowel classification, text to speech synthesis Securities Market analysis, automatic bond rating, stock trading advisory systems Telecommunications Image and data compression, automated information services, realtime translation of spoken language, customer payment processing systems Transportation Truck brake diagnosis systems, vehicle scheduling, routing systems 19 فصل دوم : ارائه ساختارهای مختلف شبکه هاي عصبي )Multi-layer Perceptron (MPL 20 هر شبکه عصبی دارای سه ویژگی زیر می باشد: مدل سلول عصبی (نوع تابع) ساختار شبکه عصبی (نوع توپولوژی) آموزش در شبکه عصبی (نوع آموزش) خودسازماندهی ساختار درحین آموزش 21 مدل سلول عصبی توابع انتقال خروجی واقعی به تابع انتقال ويژه ای که انتخاب شده بستگی دارد و بايد معيار های مورد نظر مسئله ای که سلول عصبی برای حل آن استفاده می شود را ،برآورده کند .سه نوع از پرکاربرد ترين آنها عبارتند از: تابع انتقال سخت محدود تابع انتقال خطی تابع انتقال لگاريتمی سيگموئيد 22 مدل سلول عصبی توابع انتقال از آنجايی که تابع انتقال لگاريتمی سيگموئيد ،يک تابع مشتق پذير است ،عموما از آن در شبکه های چند اليه ای استفاده می شود که با استفاده از الگوريتم پس انتشار خطا ( ) Backpropagationآموزش می پذيرند .نمونه ای از اين تابع به صورت زير است: 1 net g 1 e a g مطابق اين عبارت ،ورودي اين تابع انتقال مي تواند هر مقداري بین منفي بينهايت تا مثبت بينهايت باشد در حاليکه خروجي آن در بازه صفر و 1محدود شده است. 23 توابع انتقال hardlim(n) = 1 =0 24 if n >=0 otherwise poslin(n) = n, if n >= 0 = 0, if n <= 0 logsig(n) = 1 / (1 + exp(-n)) hardlims(n) = 1 if n >= 0, -1 otherwise. توابع انتقال purelin(n) = n 25 satlin(n) = 0, if n <= 0 = n, f 0 <= n <= 1 =1, if 1 <= n satlins(n) = -1, = n, = 1, if n <= -1 if -1 <= n <= 1 if 1 <= n توابع انتقال tansig(n) = 2/(1+exp(-2n))-1 26 tribas(n) = 1 - abs(n), if -1 <= n <= 1 = 0, otherwise radbas(n) = exp(-n^2) مدل سلول عصبی مدل سلول عصبی تک ورودی اگر اين مدل ساده را با سلول عصبی بيولوژيکی که پيش از اين شرح داديم مقايسه کنيم، وزن wمطابقت دارد با سيناپس ،بدنه سلول به وسيله عمل جمع و تابع انتقال بيان شده و خروجی سلول عصبی يا همان aنمايانگر سيگنال آکسون است. 27 مدل سلول عصبی با چند ورودی سلول عصبی چند ورودی عموما يک سلول عصبی بيش از يک ورودی دارد .هر کدام از ورودی های مجزا در وزن متناظر خود ضرب می شوند .بنابراين می توان ورودی ها را به صورت بردار p و وزن ها را به صورت ماتريس Wتعريف نمود. 28 مدل سلول عصبی با چند ورودی و چند خروجی 29 ساختار های شبکه عصبی يک اليه از سلول عصبی يک سلول عصبی ،حتی با ورودی های زياد ممکن است نیاز ما را براورده نکند .معموال به تعدادی از آنها که به صورت موازی عمل می کنند نيار می باشد که به آن يک شبکه يک اليه گفته می شود. 30 Layer of Neurons 31 Abbreviated Notation 32 ساختار شبکه عصبی چند الیه R – S1 – S2 – S3 Network 33 ساختار های شبکه اليه های چند گانه از سلول عصبی در يک شبکه چند اليه ،هر اليه ماتريس وزن Wويژه خود ،بردار باياس bخود ،يک بردار ورودی nمربوط به خود و يک بردار خروجی aويژه خود را دارد .اليه های مختلف می توانند تعداد نرون های متفاوتی داشته باشند .اليه ای که خروجی آن ،خروجی شبکه است ،يک اليه خروجی ناميده می شود .اليه های ديگر ،اليه های پنهان نام دارند. شبکه های چند اليه قدرتمند تر از شبکه های تک اليه هستند .برای نمونه ،يک شبکه دو اليه که شامل يک اليه اول سيگموئيد و يک اليه دوم خطی می باشد ،می تواند به منظور تقريب اکثر توابع اختياری آموزش داده شود .بيشتر شبکه های کاربردی تنها دو يا سه اليه دارند. 34 W x1 1 First active layer n x2 x3 1 1 1 f1 W o 2 Second active layer 1 1 2 n n 1 2 2 1 1 f2 o 1 1 (a) General structure with two activation layers 35 f1 2 o1 neuron 1 1 w11 x1 x2 x3 1 n w12 ∑ w 13 w 10 1 1 F1 1 o1 1 x (2) w11 1 0 w 21 n ∑ w 22 2 n1 ∑ (2) w 23 1 2 F w12 1 2 2 o0 1 o2 1 w 20 2 w 10 1 x0 neuron 2 1 neuron 1 2 (b) Specific structure with two activation layers F1 2 2 o1 Nonlinear mapping 1 2 F (0) x R ( n0 ) w x R 1 n F (0) 1 o 1 w 2 n F w F w x ( n0 ) 2 2 1 yR 2 yR ( n2 ) 1 4.3 : Two-layered neural network: nonlinear mapping for input ( x R ( n output ( y R ( n2 ) ) ( n2 ) 0 ) ) to n 1 1 1 n 1 f1 w1 2 o 2 1 w1 2 1 ∑ x0 =1 1 e1 d1 e1 2 o2 e1 1 x1 1 n2 2 1 f2 2 n2 w2 w2 x2 ∑ 1 x n0 e2 d2 e2 e2 2 1 1 w n1 n n1 2 1 f n1 o n2 2 w n2 n n2 ∑ 1 e n1 en2 en2 d n2 First activation layer 1 X0 neuron Neural inputs x R X1 Second activation layer neuron o0 1 1 o 1 2 1 1 2 neuron 2 1 o0 2 neuron 2 2 o1 n0 Neural outputs o R X n0 neuron 1 n1 neuron o n1 (Hidden layer) 2 n2 n2 o n2 (Output layer) A two-layered feedforward neural network : n1 hidden neurons, and n2 output neurons x [ x1 ........ x i .......... x n 0 ] R n0 o [ o1 ........ o i .......... .o n1 ] R n1 T T Feedforward part 1 x R ( n 0 1) n w 1 F (.) 1 o R 1 2 F (.) ( n1 1 ) w o R 2 2 _ + dR ∑ e n2 2 e 1 Backpropagation part 4.8 : The matrix representation of backpropagation learning for two-layered feedforward neural network with linear output neurons n2 O1n 0 0 Xc1 0 O12 Xc2 O11 . . X . 1 . 41 f 1 2 f f 1 2 . . . . . f f . X2 Xcn2 W1 d1 f 1. W2 2. d2 . . . . . . Xn1 dn -1 Z -1 Z -1 Z -1 Z خروجي ه ا عم لگر ت اخير وروديه ا 42 فصل سوم : ارائه مفاهیم پایه در آموزش شبکه هاي عصبي بر اساس الگوریتم پس انتشار 43 قوانین يادگیری شبکه هاي عصبي يادگیری بدون مربی يادگیری تقويتی يادگیری با مربی يادگیری با مربی در يادگیری با مربی قانون يادگیری به وسيله مجموعة مثالهايی ( مجموعة آموزش ی ) از رفتارهای مناسب شبکه ،ايجاد می شود: }{x1 , t1} , {x2 , t2} , … , {xQ , tQ 44 الگوریتم انتشار به عقب اين الگوريتم در آموزش پرسپترونهای چند اليه استفاده میشود قادر به حل مسائل غیرخطی هستند پرسپترون چند اليه با الگوريتم انتشار به عقب پرکاربرد ترين شبکه عصبی است تقريب تابع شبكههاي عصبي به عنوان شناساگر و كنترلر سيستمهاي ديناميكي كاربردهاي فراواني دارند. شبكههاي عصبي پرسپترون چند اليه به عنوان يك تقريب گر عمومي شناخته ميشوند و اين قابليت در آنها نهفته است که به عنوان يك گزينه بسيار مناسب و مشهور جهت كنترل غیرخطي و همچنین شناسایی و مدلسازي سيستمهاي غیرخطي مطرح هستند. بنابراین شبکه های عصبی به عنوان تقريب زننده های توابع به کار می روند .برای مثال در سيستمهای کنترل ،هدف يافتن يک تابع بازخورد مناسب است که خروجی های اندازه گیری شده را به ورودی های کنترل نگاشت کند. 45 الگوریتم انتشار به عقب روش آموزش بر مبنای الگوريتم انتشار به عقب در شبکه های چند اليه ،خروجی يک اليه ،ورودی اليه بعدی را تشکيل می دهد. ) os+1 = f s+1 ( Ws+1 o s + b s+1 For s= o,1,…, M-1 شاخص عملکرد شاخص عملکرد در اين الگوريتم ،خطای ميانگین مربعات می باشد. ])J(x) = E[eTe] = E[(t-o)T(t-o 46 الگوریتم انتشار به عقب (w)( برای تقريب خطای ميانگینGD) الگوريتم شيبدارترين نزول net ( k ) W i ( k ) O s i s s 1 (k ) For s=1, It means in first active layer the summation of weigthed input is; Net ( k ) W ( k ) O ( k ) 1 47 1 0 The size of W 1 is; n n W 1 0 1 w1 ,1 , w1 , 2 , w1 , 3 ,......, w1 , n 0 1 , w1 , n 0 w 2 ,1 , w 2 , 2 , w 2 , 3 ,....., w 2 , n 0 1 , w1 , n 0 w , w ,......... .......... ...., w 3,n0 3 ,1 3 , 2 w 4 ,1 ,......... .......... .......... ., w 4 , n 0 .......... .......... .. .......... .......... .. w n1 , 1 , w n1 , 2 , w n1 , 3 ,......... ..., w n1 , n 0 48 The size of O 0 is; n O 0 0 x1 x2 x3 x4 . . x n 0 1 xn 0 49 And the output of first active layer is: O 1 50 o11 f 11 (.), 0 , 0 , 0 , 0 , 0 , 0 net 11 1 1 1 o 0 , f (.), 0 , 0 , 0 , 0 , 0 net 2 2 2 1 1 1 o 3 0 , 0 , f 3 (.), 0 , 0 , 0 , 0 net 3 . .......... .......... ...... ...... . .......... .......... ...... ...... 1 1 1 o n1 1 0 , 0 , 0 , 0 , 0 , f n1 1 (.), 0 net n1 1 o 1 0 , 0 , 0 , 0 , 0 , 0 , f 1 (.) net 1 n1 n1 n1 الگوریتم انتشار به عقب (w)( برای تقريب خطای ميانگینGD) الگوريتم شيبدارترين نزول w m i, j w m i, j s (k ) m i 51 ( k 1) w m i, j (k ) w ( k ) w J (k ) net m i (k ) J (k ) w o m i, j m 1 j m i, j (k ) s (k )o m i (k ) m 1 j (k ) net (k ) w (k ) m i m i, j الگوریتم انتشار به عقب الگوريتم شيبدارترين نزول ) (GDبرای تقريب خطای ميانگین )(b ) b ( k 1) b ( k ) b ( k m i m i si m J bi m b ( k ) b ) J (k ) bi ( k m m i m s (k ) m i 52 الگوریتم انتشار به عقب قانون زنجیره ای برای شبکه چند اليه ،خطا تابع صريحی از وزن ها در اليه های پنهان نمی باشد، بنابراين مشتقات به آسانی قابل محاسبه نيستند. net m i m i, j w net m i m i b J m i net J m i net J m i, j w J m i b 53 الگوریتم انتشار به عقب قانون زنجیره ای S net m i, j m 1 w m i, j o m 1 j b m i j 1 net i m wi, j m w m i, j ( k 1) w m i, j o (k ) s o m i b ( k 1) b ( k ) s m i 54 m i net i m m 1 j m 1 i m i , bi m 1 si m J wi, j m J bi m m 1 si o j m si m J net i m الگوریتم انتشار به عقب حساسیت ها :برای محاسبه حساسيت ها به کاربرد ديگری از قانون زنجیره ای نياز داريم s m 1 m m 1 w i ,l a l bi m a l 1 j m 1 w i , j m m n j n j m m 1 ni n j m m 1 wi, j f m m (n j ) n j m m 1 m m w i , j f ( n j ) f (n j ) m m m f ( n j ) 55 m n j m الگوریتم انتشار به عقب حساسیت ها اکنون می توانيم بخش ی را مشاهده کنيم که الگوريتم انتشار به عقب نام خود را از آن گرفته است .حساسيت ها در شبکه به سمت عقب از آخرين اليه به اولین اليه انتشار می يابند: ˆ F n ˆ F m m m 1 T ) F ( n )( W m m 1 m 1 n n n T m 1 ˆ F m n m s m m m 1 T m 1 F ( n )( W ) s 1 s 2 s M 1 s M s 56 الگوریتم انتشار به عقب حساسیت ها : از معادله زير به دست می آيد،نقطه آغاز برای ارتباط بازگشتی معادله قبل s Fˆ si M ni M a i ni M (t a ) (t a ) ni M a i M (t j a j ) T ni M f M M j 1 ni M 2 2( t i a i ) M (n j ) ni M M M f ( n j ) M M M s i 2( t i a i ) f ( n j ) s 57 M M M 2F ( n )( t a ) a i ni M الگوریتم انتشار به عقب انتخاب ساختار شبکه شبکه های چند اليه تقريبا می توانند برای تقريب هر تابعی استفاده شوند به شرطی که به تعداد کافی نورون در اليه های پنهان داشته باشيم .اگر بخواهيم تابعی را تقريب بزنيم که تعداد بسيار زيادی نقطه خميدگی دارد ،نيازمند آن خواهيم بود که تعداد بسيار زيادی نورون در اليه پنهان داشته باشيم. 58 الگوریتم انتشار به عقب همگرايی هنگامی که الگوريتم انتشار به عقب همگرا می شود ،نمی توانيم مطمئن باشيم که يک جواب بهينه داريم .بهتر اين است که چندين وضعيت اوليه متفاوت را به منظور اطمينان از اينکه جواب بهينه به دست آمده است ،امتحان کرد. تعميم دادن شبکه بايد بتواند آنچه را ياد گرفته است به کليه حالت ها (جمعيت ورودی) تعميم دهد .برای اينکه يک شبکه بتواند تعميم دهد بايد پارامتر های کمتری از نقاط داده موجود در مجموعه آموزش داشته باشد .در شبکه های عصبی ،در تمام مسائل مدل کردن ،ما می خواهيم از ساده ترين شبکه ای استفاده کنيم که بتواند به طور مناسب مجموعه آموزش را ارائه دهد. 59 اصالح های اکتشافی الگوریتم انتشار به عقب الگوريتم انتشار به عقب يک جهش بزرگ در پژوهش های شبکه عصبی بود .به هر حال الگوريتم پايه برای اکثر کاربرد های عملی بسيار کند است. ايرادهای انتشار به عقب سطح کارايی برای يک شبکه چند اليه ممکن است شامل چندين نقطه کمينه محلی باشد و انحنای آن می تواند در نواحی مختلف از فضای پارامتر کامال تغيیر کند .در مسائلی که انحنا شديدا روی فضای پارامتر تغيیر می کند ،انتخاب يک نرخ آموزش مناسب برای الگوريتم آموزش مشکل خواهد بود .برای نواحی مسطح يک نرخ آموزش بزرگ نياز می باشد درحاليکه برای نواحی با انحنای زياد نيازمند يک نرخ آموزش کوچک هستيم. رويه هايی جهت بهبود الگوريتم انتشار به عقب جنبش آنی اين روش با هموار کردن نوسانات منحنی فضای پارامترها همگرايی را بهبود می دهد که اين کار را می توان با استفاده از يک فيلتر پايین گذر انجام داد. 60 اصالح های اکتشافی الگوریتم انتشار به عقب مثالی از استفاده فيلتر پايین گذر در فرمول زير ) w(kورودی فيلتر و ) y(kخروجی فيلتر و ضريب γجنبش آنی است. ) y ( k ) γ y ( k 1) (1 γ ) w ( k 0 1 فيلتر در تاثیرγاين برای اين مثال ورودی فيلتر موج سينوس ی در نظر گرفته شده است. شکلهای زير ديده می شود: 2 2 1/5 1/5 1 1 0/5 0/5 0 0 200 150 100 50 0 200 b) γ=0/98 2π k w ( k ) 1 sin 16 150 100 a) γ=0/9 50 0 61 اصالح های اکتشافی الگوریتم انتشار به عقب استفاده از فيلتر پايین گذر درمورد شبکه عصبی زمانی که فيلتر جنبش آنی به تغيیرات پارامتر در به روز رسانی وزن ها و باياس ها اضافه می شود ،معادالت زير برای جنبش آنی اصالحی انتشار به عقب به دست می آيد: T ) m 1 W ( k ) α s (a m m m b (k ) αs m با استفاده از جنبش آنی توانايی استفاده از نرخ آموزش بزرگتر با حفظ ثبات الگوريتم را داريم خصوصيت ديگر جنبش آنی اين است که در مدتی که منحنی در يک جهت ثابت باشد تمايل به تسريع همگرايی دارد و دليل نامگذاری جنبش آنی به اين خاطر است که تمايل به واداد کردن منحنی به ادامه در جهت مشابه دارد .هرچه مقدار بيشتر باشد ،منحنی داγرای جنبش آنی بيشتری است. 62 اصالح های اکتشافی الگوریتم انتشار به عقب نرخ آموزش متغیر با استفاده از افزايش نرخ آموزش در سطوح هموار و سپس کاهش آن زمانيکه شيب افزايش می يابد می توان همگرايی را بيشتر کرد .بنابراين می توان همگرايی را توسط تنظيم نرخ آموزش ،در مدت آموزش افزايش داد .تعيین زمان تغيیر نرخ آموزش و اينکه چه مقدار آن را تغيیر دهيم ،يک لم است. 63 قوانین الگوريتم انتشار به عقب با نرخ آموزش متغيیر اگر خطای آموزش ی بيشتر از يک میزان معین ( ζبطور نمونه 1تا 5درصد) بعد از به روز رسانی وزن ها افزايش يابد ،به روز رسانی وزن ها رها شده ،نرخ آموزش در فاکتور0< <1 ρضرب می شود و ضريب جنبش آنی صفر مقدار دهی می شود. اگر خطای مربعی بعد از به روز رسانی وزن ها کاهش يابد ،به روز رسانی وزنها مورد قبول بوده و نرخ آموزش ی در فاکتور ή >1ضرب می شود .اگر ضريب جنبش آنی قبال صفر شده باشد ،با مقدار اصليش دوباره مقدار دهی می شود. اگر خطای مربعی کمتر از ζکاهش يابد ،به روز رسانی وزن ها مورد قبول واقع شده اما نرخ آموزش و ضريب جنبش آنی بدون تغيیر می مانند. 64 اصالح های اکتشافی الگوریتم انتشار به عقب مثالی از تغيیر ترخ آموزش در شکل زير ديده می شود: 60 Learning Rate 1/5 Squared Error 1 40 0/5 20 0 0 103 102 101 Iteration Number 100 102 101 100 Iteration Number 65 اصالح های اکتشافی الگوریتم انتشار به عقب اشکاالت روش های اصالحی اصالحهای اکتشافی می تواند معموال همگرايی بسيار سريعتری را برای برخی از مسائل فراهم کند .به هرحال دو اشکال اصلی برای اين روشها وجود دارد: اين اصالحات نياز به مقدار دهی چندين پارامتر دارند و کارايی الگوريتم حساس به تغيیرات اين پارامتر هاست. اين اصالحات بعض ی مواقع ممکن است در همگرايی مسئله موفق نشود. 66 روش پیشنهادی برای افزایش سرعت همگرایی الگوريتم ترکيبی در اين روش يک الگوريتم ترکيبی برای آموزش با مربی شبکه های عصبی پيشخور ارائه شده است .اين الگوريتم برای يک شبکه دو اليه ارائه شده اما می توان آن را برای شبکه های چند اليه نیز به کار برد. الگوريتم ارائه شده برای افزايش سرعت آموزش ،در الگوريتم انتشار به عقب پايه استفاده شده است. در اين الگوريتم دو روش مختلف برای به روز کردن وزن ها استفاده شده است: .1يکی از روش های آموزش استاندارد برای اليه اول .2استفاده از رابطه زير در آموزش اليه دوم eو dاز روابط زير به دست می آيند: )d = f-1(d f d * e T f d * e )e = d – (Wx + b y min E d T y d min E 67 روش پیشنهادی برای افزایش سرعت همگرایی با استفاده از جايگزينی طرف راست رابطه اصلی ،در الگوريتم آموزش ،وزن های اليه آخر در تابع غیر خطی اليه آخر ظاهر نمی شوند. در اين روش ،ابعاد فضای جستجوی مؤثر برای الگوريتم غیر خطی کاهش می يابد .بنابراين تعداد تکرار های آموزش کمتر خواهد شد. 68 روش پیشنهادی برای افزایش سرعت همگرایی گام های الگوريتم ترکيبی .Iانتخاب وزن ها و باياس ها به طور تصادفی و يا با استفاده از روش های مقدار اوليه .IIبه روز کردن وزن ها و باياس ها با اسفاده از يک روش استاندارد مانند الگوريتم انتشار به عقب پايه .IIIبررس ی قانون توقف و پايان دادن به آموزش در صورت ارضا شدن اين قانون يا رفتن به قدم 4در غیر اينصورت در الگوريتم ارائه شده ابتدا پارامتر های هر دو اليه از روش استاندارد برای آموزش استفاده می کنند اما در صورت کم شدن تغيیرات خطا ،از روش ترکيبی استفاده شده که روش آموزش پارامترهای اليه دوم تغيیر کرده و به صورتی که ارائه شد آموزش می بيند. 69 فصل چهارم : بررس ي روشهاي مختلف آموزش در شبکه هاي عصبي 70 Learning Rules Supervised Learning Network is provided with a set of examples of proper network behavior (inputs/targets) { p1, t 1} { p2, t 2} {pQ ,tQ } Reinforcement Learning Network is only provided with a grade, or score, which indicates network performance Unsupervised Learning Only network inputs are available to the learning algorithm. Network learns to categorize (cluster) the inputs. 71 Learning Rules Supervised Learning Early learning algorithms First order gradient methods Second order gradient methods Early learning algorithms Designed for single layer neural networks Generally more limited in their applicability Some of them are 72 Perceptron learning LMS or Widrow- Hoff learning Grossberg learning McCulloch-Pitts Perceptron 73 74 Unified Learning Rule 75 Multiple-Neuron Perceptrons 76 Perceptron Rule Capability The perceptron rule will always converge to weights which accomplish the desired classification, assuming that such weights exist. 77 Rosenblatt’s single layer perceptron is trained as follow: 1. 2. 3. 4. Randomly initialize all the networks weights. Apply inputs and find outputs ( feedforward). compute the errors. Update each weight as w ij ( k 1) w ij ( k ) p i ( k ) e j ( k ) 5. 78 Repeat steps 2 to 4 until the errors reach the satisfictory level. Recurrent Network 79 Hamming Network 80 Feed Forward Layer 81 Recurrent Layer 82 Hamming Operation 83 Hamming Operation 84 Hopfield Network 85 Performance Optimization Gradient based methods 86 Basic Optimization Algorithm 87 Steepest Descent (first order Taylor expansion) 88 Example Plot 2 1 0 -1 89 -2 -2 -1 0 1 2 LMS or Widrow- Hoff learning First introduce ADALINE (ADAptive LInear NEuron) Network 90 LMS or Widrow- Hoff learning or Delta Rule ADALINE network same basic structure as the perceptron network 91 Approximate Steepest Descent 92 Approximate Gradient Calculation 93 LMS Algorithm This algorithm inspire from steepest descent algorithm 94 Multiple-Neuron Case 95 Difference between perceptron learning and LMS learning DERIVATIVE Linear activation function has derivative but sign (bipolar, unipolar) has not derivative 96 Grossberg learning (associated learning) Sometimes known as instar and outstar training Updating rule: w i ( k 1) w i ( k ) x i ( k ) w i ( k ) Where could be the desired input values (instar training, example: clustering) or the desired output values (outstar) depending on network structure. 97 xi First order gradient method Back propagation 98 Multilayer Perceptron 99 R – S1 – S2 – S3 Network Function Approximation Example 100 Nominal Response 3 2 1 0 -1 -2 101 -1 0 1 2 Parameter Variations 102 Multilayer Network 103 Performance Index 104 Chain Rule 105 Gradient Calculation 106 Steepest Descent 107 Jacobian Matrix 108 Backpropagation (Sensitivities) 109 Initialization (Last Layer) 110 Summary 111 Summary Back-propagation training algorithm Network activation Forward Step Error propagation Backward Step Backprop adjusts the weights of the NN in order to minimize the network total mean squared error. 112 Example: Function Approximation 113 Network 114 Initial Conditions 115 Forward Propagation 116 Transfer Function Derivatives 117 Backpropagation(BP) 118 Weights Update 119 Choice of Architecture 120 Choice of Network Architecture 121 Convergence Global minimum (left) 122 local minimum (right) Generalization 123 Disadvantage of BP algorithm Slow convergence speed Sensitivity to initial conditions Trapped in local minima Instability if learning rate is too large Note: despite above disadvantages, it is popularly used in control community. There are numerous extensions to improve BP algorithm. 124 Improved BP algorithms First Order Gradient Method Second Order Gradient Method 125 فصل پنجم : بهبود الگوریتم پس انتشار خطا Improved BP algorithms 126 Improved BP algorithms First Order Gradient Method 1. 2. 3. 4. 5. 6. 7. 8. 127 BP with momentum Delta- bar- delta Decoupled momentum RProp Adaptive BP Trianary BP BP with adaptive gain Extended BP 1- BP with momentum (BPM) page 589 The basic improvement to BP (Rumelhart 1986) Momentum factor alpha selected between zero and one Adding momentum improves the convergence speed and helps network from being trapped in a local minimum. 128 Modification form: Proposed by nagata 1990 Beta is a constant value decided by user Nagata claimed that beta term reduce the possibility of the network being trapped in the local minimum This seems beta repeating alpha rule again!!! But not clear 129 2- Delta-bar-delta (DBD) Use adaptive learning rate to speed up the convergence The adaptive rate adopted base on local optimization Use gradient descent for the search direction, and use individual step sizes for each weight 130 3- RProp Jervis and Fitzgerald (1993) 131 and limit the size of the step Improved BP algorithms Second Order Gradient Method 1. 2. 3. 4. 5. 6. 132 Newton Gauss-Newton Levenberg-Marquardt Quickprop Conjugate gradient descent Broyde –Fletcher-Goldfab-Shanno Performance Surfaces Taylor Series Expansion 133 Example 134 Plot of Approximations 135 Vector Case 136 Matrix Form 137 Performance Optimization Basic Optimization Algorithm 138 • Steepest Descent Minimizing Along a Line 139 1- Newton’s Method 140 Example 141 Plot 142 Non-Quadratic Example 143 Different Initial Conditions 144 DIFFICULT Inverse a singular matrix!!! Complexity 145 Newton’s Method 146 Matrix Form 147 Hessian 148 2- Gauss-Newton Method 149 3- Levenberg-Marquardt 150 Adjustment of μk 151 Application to Multilayer Network 152 Jacobian Matrix 153 Computing the Jacobian 154 Marquardt Sensitivity 155 Computing the Sensitivities 156 LMBP • Present all inputs to the network and compute the corresponding network outputs and the errors. Compute the sum of squared errors over all inputs. • Compute the Jacobian matrix. Calculate the sensitivities with the backpropagation algorithm, after initializing. Augment the individual matrices into the Marquardt sensitivities. Compute the elements of the Jacobian matrix. • Solve to obtain the change in the weights. • Recompute the sum of squared errors with the new weights. If this new sum of squares is smaller than that computed in step 1, then divide mk by u, update the weights and go back to step 1. If the sum of squares is not reduced, then multiply mk by u and go back to step 3. 157 Example LMBP Step 158 LMBP Trajectory 159 5- Conjugate Gradient 160 LRLS Method Recursive least square method based method, does not need gradient descent. 161 LRLS Method Cont. 162 LRLS Method Cont. 163 Example for compare methods 164 Algorithms Average time steps (cut off at 0.15) Average time steps (cut off at 0.1) Average time steps (cut off at 0.05) BPM 101 175 594 DBD 64 167 2382 LM 2 123 264 LRLS 3 9 69 IGLS (Integration of the Gradient and Least Square) The LRLS algorithm has faster convergence speed than BPM algorithm. However, it is computationally more complex and is not ideal for very large network size. The learning strategy describe here combines ideas from both the algorithm to achieve the objectives of maintaining complexity for large network size and reasonably fast convergence. • The out put layer weights update using BPM method • The hidden layer weights update using BPM method 165 فصل ششم : شبکه عصبی بازگشتی Recurrent Networks 166 Recurrent Networks Feed forward networks: Information only flows one way One input pattern produces one output No sense of time (or memory of previous state) Recurrency Nodes connect back to other nodes or themselves Information flow is multidirectional Sense of time and memory of previous state(s) Biological nervous systems show high levels of recurrency (but feed-forward structures exists too) 167 Recurrent Networks Recurrent Network with hidden neuron: unit delay operator z-1 is used to model a dynamic system z-1 z-1 z-1 168 input hidden output Rabinson and Fallside 169 Elman 170 Jordan 171 Elman and Jordan 172 Jordan Learning net 1 W . X ( t ) W . X ( t ) x c c w here : 2 X ( t ) O ( t 1) y ( t 1) c F ( net ) O ( net ) 1 1 1 1 net 2 W .O 1 ( t ) y 2 2 2 2 2 F ( net ) O ( net ) y ( net ) 173 Jordan Learning E W x W x E W y W y 2 2 1 1 E E O net O net W . . . . . c 2 2 1 1 W c O net O net W c X c t . e . F .W y . F . X c ( t ) W c . W c 1 2 1 X c t W = . . X c ( t ) W c . W c 1 174 Elman and Jordan Learning net 1 W . X ( t ) W . X ( t ) W . X ( t ) x c1 c1 c2 c2 where : 1 X ( t ) O ( t 1) y ( t 1) c1 2 X ( t ) O ( t 1) y ( t 1) c2 F ( net ) O ( net ) 1 1 1 1 net 2 W .O 1 ( t ) y 2 2 2 2 2 F ( net ) O ( net ) y ( net ) 175 Elman and Jordan Learning E W y W y E W x W x W E c1 W c1 W E c2 W c2 176 (1) (2) (3) (4) 1) 177 W y E W y . E O 2 . O 2 net 2 . net 2 W y 2 1 . e. F (.) .O 2 2) W x E W x . E O 2 . O 2 n et 2 . n et O 1 2 1 . e . F .W y . F . X ( t ) 1 178 W x . . X ( t ) 1 2 . O 1 n et 1 . n et 1 W x 3) W c1 E W c1 . E O 2 . O 2 net 2 . net O 1 2 . O 1 net 1 . net 1 W c1 X c 1 t . e . F (.).W y . F (.) . X c 1 ( t ) W c1 . W c1 1 2 1 W c1 X c 1 t = . . X c 1 ( t ) W c1 . W c1 1 1 O ( t 1) 1 1 . . O ( t 1) W c1 . W c1 179 4) W c2 E W c2 . E O 2 . O 2 net 2 . net O 1 2 . O 1 net 1 . net 1 W c2 X c2 t . e . F (.).W y . F (.) . X c2 ( t ) W c2 . W c2 1 2 1 W c2 X c2 t = . . X c2 ( t ) W c2 . W c2 1 2 O ( t 1) 1 2 . . O ( t 1) W c2 . W c2 180 Jordan with Neuron Feedback X ( t ) O 1 ( t 1) X ( t 1) c c 1 1 O ( t 1) O ( t 2) net 1 ( t ) W . X ( t ) W . X ( t ) x c c 1 1 W x . X ( t ) W c . O ( t 1) O ( t 2) 181 Jordan with Neuron Feedback net 1 ( t ) W . X ( t ) W . X ( t ) x c c 1 1 W x . X ( t ) W c . O ( t 1) O ( t 2) 2 2 1 1 E E O net O net W . . . . . . c 2 2 1 1 W c O net O net W c X c ( t ) 2 1 .e . F (.).W y . F (.). X c ( t ) W c . W c 182 Flexible NN Neuron Functions (Unipolar) f x 1 1 exp gx F (a, x) 183 2 a 1 e 2 a . x Flexible NN Neuron Functions (Bipolar) g x 1 exp gx 1 exp gx F (a, x) 184 1 e 2 a .x 1 e 2 a .x Flexible NN Structure a1 W1 x1 1 1 1 1 net F O11 W2 a2 2 1 2 1 net net 1 2 1 2 F O12 net . . . . . . xn net 2 2 . . . a1 1 n1 185 e1 t1 a1 x2 . . . F O12 F O1n1 F O22 . . . a2 net 1 n1 2 2 2 n2 e2 t2 . . . 2 n2 F 2 On2 en2 tn2 Feed Forward of FNN net 1 net 1 T 2 net ( k ) W 1 . X 1 net n 1 n et12 2 n et 2 T 1 2 n et ( k ) W 2 . O 2 n et n 1 O ( k ) F ( a , net ( k )) O ( k ) F ( a , net ( k )) 1 1 1 1 1 O12 F1 2 ( a 2 , net12 ) 2 0 O2 2 0 O n 2 186 2 1 0 2 2 0 0 2 2 2 Fn 1 ( a , net n 1 ) 0 2 F2 ( a , net 2 ) 0 2 0 2 2 Learning E 1 n2 2 e 2 i i 1 1 n2 2 (ti oi ) a ( k ) . E a (k ) 2 2 2 2 a .* net F ( a , net ) 2 2 a ( k ) . 2 i 1 2 2 2 2 E 2 2 2 2 a .* net 2 .( e ). F2( a , net ) .e. F2( a , net ) 2 ).* a [(1 e 2 2 2 a .* net ( a ) .* (1 e 2 2 2 2 2 2 a .* net 2 2 a net e (1 e 2 2 a .* net ( a ) .* (1 e 2 2 2 2 2 a .* net a .* (1 e 2 187 2 2 2 1 e 2 a .* net 2 ) 2 2 a .* net 2 2 a .* net 2 ) 2 1 a 2 2 2 2 ) 2 2 F ( a , net ) 2 2 2 2 2 a .* net ) a .* ( 2 net e 2 2 2 a .* net (1 e 2 2 ) 2 2 a .* net 2 )(1 e ( a ) .* (1 e 2 2 2 4 net e a (k ) 2 O (k ) a (k ) )(1 e (2 net e O (k ) E 2 2 2 a .* net 2 a .* net 2 ) 2 2 ) 2 )].* (1 e 2 2 2 a .* net 2 ) Learning E 1 n2 2 ei i 1 a ( k ) . 1 2 n2 1 2 (ti oi ) 2 a ( k ) . 2 E a (k ) i 1 E a (k ) 1 E O ( k ) net ( k ) O ( k ) 2 2 O ( k ) net ( k ) O ( k ) a ( k ) 2 2 2 1 .e . F2( a , net ) .W . F1( a , net ) 2 2 D erived respect to net 188 1 2 1 1 D erived respect to a 2 1 Recurrent Flexible NN 189 a ( k ) . E a (k ) فصل هفتم :شبكه هاي حافظه دار TDLVو گاما 190 حافظه درشبكه عصبي شبكههاي عصبي مي توانند بهتر از روشهاي كالسيك خطي مشخصات پيچيده سريهاي زماني را مدل كنند . به صورت تئوري نيازي به اين كه آيا سري زماني ايستا است يا خیر جهت مدلسازي با شبكههاي عصبي نداريم . شبكههاي عصبي نياز به تعداد عظيمي از دادههاي به عنوان ورودي ندارند بر عكس روش. AR 191 192 W W 193 پيش بيني با كمك MLP شكل اعمال ورودي X x ( n ) x ( n ) x ( n 1) x ( n 1) x ( n 1) x ( n 2 ) T شكل اعمال خروجي 194 شبكه هاي حافظه دار TDLوگاما سند برگ ( : )1997هر تغيیر زماني در يك نگاشت ديناميكي ميتواند به طور تقريبا كاملي توسط يك ساختاري كه داراي 2بلوك است كه بلوك اول بانك فيلترهاي خطي شبكه مي باشد و بلوك استاتيكي بعدي خود را تغذيه ميكند مدل شود. فيلترهاي FIR , IIR مشكالت : IIR بوجود آمدن ناپايداري ها در آموزش : FIR ظرفيت محدود مدلسازي مزايا : IIR كم بودن پارامترها در حوزه هاي بزرگ زمان : FIR پايداري شبكه 195 196 197 اعمال حافظه به اليه هاي مياني و خروجي X x ( t ) , x ( t 1) , , x ( t m 1) 2 Xˆ ( t 1) O ( t ) 1 p G 198 T T Net G . X F Net F G 1 T n 1 1 1 n . F ( Net ) n m 1 n p m 1 T n 1 n m . X m 1 مزايا و توپولوژي اعمال فيلتر داشتن بیش از یک وزن تحت آموزش در هر سیناپس در دسترس بودن داده های زمانهای گذشته آموزش پارامترهای فیلتر دیجیتال در صورت وجود 199 TDL توپولوژي و محاسبات پيشرو x ij 1 ( t ) x ij 0 ( t 1) x ij 2 ( t ) x ij 1 ( t 1) x ij 3 ( t ) x ij 2 ( t 1) 200 x ijk ( t ) x ij , k 1 ( t 1) k y ij ( t ) w ij 0 x ij 0 ( t ) w ij 1 x ij 1 ( t ) w ijk x ijk ( t ) w l0 ijl x ijl ( t ) TDL توپولوژي و محاسبات پيشرو x1 ( t ) G ( z ) x 0 ( t ) mz 1 1 (1 m ) z 1 x 0 (t ) x ijl ( t ) (1 m ij ) x ijl ( t 1) m ij x ij , l 1 ( t 1) x1 ( t ) (1 m ) x1 ( t 1) m x 0 ( t 1) x1 ( t ) (1 m ) x1 ( t 1) m x 0 ( t 1) k 201 y ij ( t ) w ij 0 x ij 0 ( t ) w ij 1 x ij 1 ( t ) w ijk x ijk ( t ) w ijl x ijl ( t ) l0 (BP) آموزش شبكه گاما y ij ( t ) m k w ijl l0 ij x ijl ( t ) m ij w ijl ( t ) ijl ( t ) ijl (t ) m ij k w ijl ijl ( t ) l0 ijl ( t ) (1 m ij ) ijl ( t 1) m ij ij , l 1 ( t 1) x ij , l 1 ( t ) x ijl ( t 1) y ij x ijl ( t ) (1 m ij ) m ij x ijl ( t 1) 202 x y ij ( t ) x ij 0 x ijl ( t 1) x ijl ( t 1) m ij y ij ( t ) u i x ijl ( t 1) m ij w ij 0 (1 m ij ) (1 m ij ) x ij , l 1 ( t 1) m ij m ij x ij , l 1 ( t 1) x ij , l 1 ( t 1) m ij m ij x ij , l 1 ( t 1) m ij m ij نمودار پيش بيني با شبكه هاي حافظه دار شبكه گاما شبكهTDL 203 مقايسه روشها 1 RMSE N N ( xˆ ( i ) x ( i )) i 1 N NMSE ( xˆ ( i ) x ( i )) i 1 N ( x ( i ) x ( i )) i 1 MBE 1 N MAE 1 N 204 2 N xˆ ( i ) x ( i ) i 1 N xˆ ( i ) x ( i ) i 1 2 2 نتيجه گیري روشهاي سري زماني غیرخطي شبكه هاي عصبي برتري خاص ي برروشهاي غیرشبكه عصبي دارند (همانطوركه انتظارداشتيم). بزرگترين مشكل در روش كالسيك يافتن جواب بهينه به صورت سعي وخطا ميباشد و شبكه هاي عصبي نیزاين مشكل را دريافتن تعداد اليه هاي مياني بهينه دارند. هنگامي كه واحد حافظه را به داخل شبكه انتقال دادیم جوابها بسيار بهتر شدند.اما نكته مهم اينجاست كه نتايج روش TDLتقريبا به گاما بسيارنزديك بوده اين امر میزان اهميت و رجحان وزنها را برپارامترعمق حافظه مي رساند. درشبكه هاي حافظه دار( ،TDLگاما) اهميت فوق العاده اليه مياني دارا مي باشد. 205 : فصل هشتم شبکه عصبی مدل مخچه CMAC Neural Network and TD-CMAC 206 CMAC Neural Network and TD-CMAC 207 Introduction Time Series Cerebellar Model Arithmetic Computer (CMAC) Time-Delay CMAC (TD-CMAC) 1- Output Mapping 2- Learning Algorithm Evaluation of TD-CMAC Conclusion مدل مصنوعي ،شبيه ساز ساختار مخچه معماري CMAC كوانتیزه كردن ورودیها شيفت بلوكها مساحت ايجاد شده توسط بلوكهاي در اليه هاي متناظر بلوك اليهها فوق مكعب يا سلول حافظه كد كردن متغیرهاي دقت باال و انتقال روي تعداد زيادي كانالهاي با دقت كم حمل تنها قسمت كوچكي از اطالعات محتوي يك متغیر در هر كانال در حالت ماكزيمم فعال بودن هر بلوك ،تنها در يك دامنه محدود 208 209 CMAC Model + + + In put Space W eigh ts A djustm en t O btain ed O utput + + W eigh ts T able D esired O utput Block diagram of CMAC 210 CMAC Model (Example) S 2 Bb i f c b h e g d a 6 5 4 S tate(4 ,3 ) Hh 3 2 1 Fe 0 0 1 2 3 A D 5 6 B E G 4 S1 C F H I The CMAC structure with two inputs 211 بكارگیري جدول جستجوي هوشمند نگاشت خروجي و الگوريتم يادگیري در CMAC خروجي ،مجموع وزنهاي فوق مكعبهاي فعال شده است. M (s)W j تنظيم وزنها j a y(s) a (s) W T j 1 T ) a ( s )( yˆ ( s ) a ( s )W old Ne W new W old ويژگيهاي :CMAC تنها تنظيم وزنهاي فوق مكعبهاي فعال شده 212 213 214 Time Series Modeling X (t) X (t-1 ) F (.) X (t+ 1 ) X (t-d ) X(t 1) F( X(t) X(t - 1) X(t - 2) X(t - d) ) e(t) Converting prediction of time series to function approximation 215 TD-CMAC Model X (t) X (t-1 ) T D -C M A C X (t-d ) block diagram of TD-CMAC model 216 X (t+ 1 ) TD-CMAC Model X (t-d ) X (t-d+ 1) X (t-2 ) X (t-1 ) X (t) .… CM AC CM AC C 12 . . . .… CM AC CM AC . . . CM AC . . . C 1d B1 X (t+ 1) C 22 C 2d B2 B1 . . . . CM AC 217 C 11 C dd The structure details of TD-CMAC model Bd TD-CMAC Model 1- Output Mapping d y ( s ) a ( s )W d M a i1 ijk ( s ) w ijk j i k 1 2- Learning Algorithm W new W old c ij ( s ) 218 1 ij Ne c ( s ) a ( s )( yˆ ( s ) y ( s )) TD-CMAC (Example) X(t-2) X(t-1) X(t) File, Time Series : 6, 3, 4, 2, 1 ,6 ,… CMAC11 X(t+1) Σ CMAC12 CMAC22 Weight table: W[i][j][Nb][Nb][Ne] i f c b For (i=1,2) For (j=i,2) h e Time Series: S[d+2] g d a W[2][2][3][3][3] , S[4] TD-CMAC Model S2 6 5 4 3 2 1 0 2 in p ut C M A C X (t-1 ) Nb=3 (Number of block) Ne=3 (Number of layer) X (t) 0 1 2 3 4 5 A D 6 B E G 219 d=2 (Number of delay) C F H I S1 α= (Learning rate) Error = 0.001 TD-CMAC (Example) File, Time Series : 6, 3, 4, 2, 1 ,6 ,… The first time series data for training of model The next data for evaluation of model (prediction) 1) d+1 input for X(t) to X(t-1) X(t-2) -> S[1]=6 X(t-1) -> S[2]=3 X(t) -> S[3]=4 2) Next data for X(t+1) X(t+1) -> S[4]=2 3) Weight Initialization to zero 220 A) Output Calculating d y ( s ) a ( s )W d M X(t-2) -> S[1]=6 X(t-1) -> S[2]=3 X(t) -> S[3]=4 X(t+1)-> S[4]=2 a ijk ( s ) w ijk i 1 j i k 1 S2 1 1 1 2 2 2 3 3 3 6 5 4 3 2 1 0 X(t-1)=3 CMAC11 State(4,3) X(t)=4 0 1 2 3 4 5 1 1 2 1 221 2 6 3 3 2 3 y(s) = w[1][1][2][2][1] + w[1][1][3][2][2] + w[1][1][2][2][3] +… S1 A) Output Calculating d y ( s ) a ( s )W d a i1 X(t-2) -> S[1]=6 X(t-1) -> S[2]=3 X(t) -> S[3]=4 X(t+1)-> S[4]=2 M ijk ( s ) w ijk j i k 1 S2 1 1 1 2 2 2 3 3 3 6 5 4 3 2 1 0 State(4,6) X(t-2)=6 CMAC12 X(t)=4 0 1 2 3 4 5 1 1 2 1 222 2 6 3 3 2 3 S1 y(s) = +… + w[1][2][2][1][1] + w[1][2][3][1][2] + w[1][2][2][1][3] +… A) Output Calculating d y ( s ) a ( s )W d M i1 a ijk ( s ) w ijk j i k 1 S2 1 1 1 2 2 3 3 3 X(t-2)=6 2 State(3,6) 6 5 4 3 2 1 0 CMAC22 X(t-1)=3 0 1 2 3 1 2 1 2 1 223 4 5 6 3 3 2 3 S1 X(t-2) -> S[1]=6 X(t-1) -> S[2]=3 X(t) -> S[3]=4 X(t+1)-> S[4]=2 y(s) = +… + w[2][2][2][1][1] + w[2][2][2][1][2] + w[2][2][2][1][3] =0 B) Weight Adjusting W new W old c ij ( s ) 224 1 ij c ( s ) a ( s )( yˆ ( s ) y ( s )) Ne y(s) = 0 yˆ (s) = X(t+1)=S[4]=2 CMACij CMAC11 w[1][1][2][2][1]new=0+(0.1/3)*(1/(1*1))*(2-0) = 0.066 w[1][1][3][2][2]new=0+(0.1/3)*(1/(1*1))*(2-0) = 0.066 w[1][1][2][2][3]new=0+(0.1/3)*(1/(1*1))*(2-0) = 0.066 CMAC12 w[1][2][2][1][1]new=0+(0.1/3)*(1/(1*2))*(2-0) = 0.033 w[1][2][3][1][2]new=0+(0.1/3)*(1/(1*2))*(2-0) = 0.033 w[1][2][2][1][3]new=0+(0.1/3)*(1/(1*2))*(2-0) = 0.033 CMAC22 w[2][2][2][1][1]new=0+(0.1/3)*(1/(2*2))*(2-0) = 0.016 w[2][2][2][1][2]new=0+(0.1/3)*(1/(2*2))*(2-0) = 0.016 w[2][2][2][1][3]new=0+(0.1/3)*(1/(2*2))*(2-0) = 0.016 C) Repeat A, B with new weights A) Output Calculating d y ( s ) a ( s )W d M a i1 ijk ( s ) w ijk j i k 1 y(s) = 0.066+0.066+0.066+0.033+0.033+0.033+0.016+0.016+0.016 0.35 y(s) = 0.35 yˆ (s) = X(t+1)=S[4]=2 error = 0.001 ERROR yˆ ( s ) y ( s ) 2 0 . 35 1 . 65 error End) Until (ERROR< error) 225 = C) Repeat A, B with new weights B) Weight Adjusting W new W old c ij ( s ) 1 Ne c ( s ) a ( s )( yˆ ( s ) y ( s )) y(s) = 0 yˆ (s) = X(t+1)=S[4]=2 ij w[1][1][2][2][1]new=w[1][1][3][2][2]new=w[1][1][2][2][3]new= 0.066+(0.1/3)*(1/(1*1))*(2-0.35) = 0.1 w[1][2][2][1][1]new=w[1][2][3][1][2]new=w[1][2][2][1][3]new= 0.033+(0.1/3)*(1/(1*2))*(2-0.35) = 0.060 w[2][2][2][1][1]new=w[2][2][2][1][2]new=w[2][2][2][1][3]new= 0+(0.1/3)*(1/(2*2))*(2-0) = 0.030 226 C) Repeat A, B with new weights A) Output Calculating d y ( s ) a ( s )W d M a i1 ijk ( s ) w ijk j i k 1 y(s) = 0.1+0.1+0.1+0.06+0.06+0.06+0.03+0.03+0.03 = 0.57 y(s) = 0.57 yˆ (s) = X(t+1)=S[4]=2 error = 0.001 ERROR yˆ ( s ) y ( s ) 2 0 . 57 1 . 43 error End) Until (ERROR< error) 227 CO (ppm) One hour ahead prediction 30 Real Data TD-CMAC TW-CMAC Six hour ahead prediction 30 20 20 10 10 0 0 0 228 48 96 144 R eal D ata 0 48 T D -C M A C 96 T W- C M A C 144 CO (ppm) One day ahead prediction 30 Real Data TD-CMAC TW-CMAC 20 10 0 0 229 48 96 144 SO2 (ppm) One hour ahead prediction Real Data TD-CMAC NOx (ppm) One hour ahead prediction TW-CMAC 0.4 0.03 Real Data TD-CMAC TW-CMAC 0.2 0.02 0 0 48 96 144 0.01 0 0 230 48 96 144 : فصل نهم Bayesian Neural Network شبکه عصبی بیزین 231 . 1معرفی شبکه عصبی بیزین تک الیه . 2توسعه شبکه عصبی بیزین تک الیه به چندالیه 1-2روش قسمت بندی ()Partitioning 2-2روش روی هم افتادگی ()Overlapping . 3ویژگی های پیوسته و شبکه عصبی بیزین 232 هدف نهایی که در این شبکه به دنبال آن هستیم ،محاسبه احتمال تمامی کالس ها به ازای داده های ورودی به شبکه ،و انتخاب کالس با بیشترین مقدار احتمال برای هر داده ،به عنوان کالس ی که داده متعلق به آن است ،می باشد. 233 تئوری بیز برای محاسبه ):P(y|x 234 فرض کنید مقادیر Nویژگی مستقل مربوط به داده ،x } ،x={x1 , x2 , …,xNدر دست باشد .در اینصورت احتمال xمی تواند به صورت زیر نوشته شود : همچنین احتمال شرطی ) p(x|yنیز بصورت زیر نوشته می شود: 235 احتمال هر کالس به ازای مشاهده داده ورودی ،به صورت زیر محاسبه خواهد شد : 236 معادله اخیر پایه کالسیفیر ساده بیز می باشد. طراحی بیز ساده مربوط به اوقاتی می شود که فرض مستقل بودن ورودی ها را داریم. 237 رابطه زیر همواره برقرار است : 238 با جایگذاری و لگاریتم گرفتن از رابطه ( )1به رابطه زیر خواهیم رسید: مزیت فرم لگاریتمی خطی بودن آن است .بدین معنی که کالسیفیر ساده بیز می تواند با یک تابع تمایز خطی و بنابراین با یک شبکه عصبی تک الیه پیاده سازی شود. 239 معادله معمولی برای پخش سیگنال در یک شبکه عصبی صورت زیر است: 240 نمای شبکه عصبی بیزین تک الیه برای حالتی که در آن ویژگی های مربوط به داده ها ،گسسته ( دارای چند مقدار محدود ) می باشند: 241 242 1. hair 2. feathers 3. eggs 4. milk 5. airborne 6. aquatic 7. predator 8. toothed 9. backbone 10. breathes 11. venomous 12. fins 13. legs 14. tail 15. domestic 16. capsize 17. type 243 Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean Numeric (set of values: {0,2,4,5,6,8}) Boolean Boolean Boolean Numeric (integer values in range [1,7]) Y11 β1 Y12 Y13 Y17 β2 β7 β3 1 244 2 1 2 1 2 1 2 3 4 5 6 به احتمال شرطی نتیجه متغیر yiبه شرط مشاهده ویژگی داده ،xiیعنی ) P(yj|xiاشاره کند: 245 حال می توانیم دو فرم رابطه زیر را با هم مقایسه کنیم: 246 آموزش شبکه عصبی بیزین: 247 مثال: فرض کنید داده ورودی به شبکه به صورت زیر باشد: ):بز کوهی(Antelope 1,0,0,1,0,0,0,1,1,1,0,0,4,1,0,1,1 248 Y11 β1 Y12 Y13 Y17 β2 β7 β3 X11 249 X12 X21 X22 X31 X32 250 Y11 β1 Y12 YY13 13 Y17 β2 β7 β3 X11 251 X12 X21 X22 X31 X32 252 253 254 تخمین کالسیک: 255 تخمین بیزین: 256 توسعه شبکه عصبی بیزین تک الیه به چندالیه 257 اگر ویژگی های ورودی به یکدیگر وابسته باشند ،شبکه عصبی تک الیه جواب خوبی بدست نمی دهد. برای جبران وابستگی ها در میان الیه ورودی و الیه خروجی از یک الیه پنهان استفاده می کنیم که این الیه از ترکیب ستون های ورودی ( آنهایی که به هم وابسته هستند) حاصل می شود. 258 بطور کلی برای تشکیل شبکه عصبی بیزین چند الیه از دو معماری می توان سود جست : الف ) Partitioning ب ) Overlapping 259 (Partitioningشبکه عصبی چند الیه ) 260 وابستگی X1 X2 X1 X2 U1 261 X3 X3 X3 U1 262 X3 263 264 مییی تییوان توزیییع را بییروی تمییام حییوزه بییه عنییوان یییک ضییرب کییه شامل متغیرهای ukمی شود بیان کنیم : 265 (Overlappingشبکه عصبی چند الیه ) 266 d a c b 267 f e 268 269 270 در این نوع معماری شبکه عصبی بیزین چند الیه ستون (ویژگی) های اولیه پس از ترکیب بطور مستقیم نیز با الیه خروجی ارتباط دارد . 271 272 اطالعات متقابل میان دو ویژگی X,Yبه صورت زیر تعریف می شود : اگر مقدار معیار باال از یک thresholdبیشتر شود ،دو ویژگی وابسته تلقی می شوند و یک ستون پیچیده برای ترکیب آنها درنظر گرفته می شود . 273 274 Bayesian Solution Classic Solution Number of training data 97.22 97.22 122 96.99 96.99 61 88.88 88.42 16 84.49 81.01 13 77.31 75.00 10 61.34 59.49 7 Bayesian Solution 99.68 99.51 99.20 99.42 98.94 98.48 99.11 98.15 97.23 97.87 97.96 97.00 95.73 97.96 96.95 96.80 97.35 97.30 95.34 95.43 93.42 92.92 275 Classic Solution 99.13 98.74 98.20 98.02 96.95 96.93 96.63 96.32 94.38 97.11 96.27 93.85 92.70 94.92 95.19 93.92 94.59 95.43 92.96 94.71 92.42 91.19 Number of training data 4000 2708 1354 903 677 542 452 387 339 301 271 247 226 209 194 170 138 118 94 83 62 41 ویژگی های پیوسته و شبکه عصبی بیزین 276 277 278 تابع چگالی احتمال بروی متغیر پیوسته zمی تواند به وسیله یک تعداد متناهی از جمع تقریب زده شود: n ) i P (v ) P ( z | v i P(z) i 1 279 280 0. 65 * 0.30 =0.195 281 0.35 * 0.60 = 0.21 هر مقدار در بازه به درجه متفاوتی از جزء متفاوتی "متعلق" خواهد بود : 282 283 log( p ( y | z )) log( p ( y )) 284 i log( i P ( y | v ii ' ) ' P ( y ) P ( v ii ' ) P ( v ii ' | z i )) Sj j i W ij o i S j log( P ( y j | z )) j W 285 log( P ( y j )) i, j P ( y j , vi ) P ( y j ) P (vi ) مدل ترکیبی 286 مدل ترکیبی : یک سری از توابع که اجتماع دامنه هیای آنهیا ییک بیازه را پوشش می دهد. در اییین کییار ،تبییدیل یییک متغیییر پیوسییته بییه تعییدادی متغیییر گسسییته کییه بتوانند به عنوان ورودی شبکه عصیبی بییزین اسیتفاده شیوند ،توسیط مدل ترکیبی با توابع گوسین صورت می گیرد. 287 توزیع ع ع ععع گوسع ع ع ععین بع ع ع ععا بع ع ع ععردار میع ع ع ععانگین خع ع ع ععود µ ،و مع ع ع ععاتریس کوواریععانس خععود ،Σ ،شععناخته مععی شععود و دارای تععابع توزیععع زیر است : (z : mi , i ) ) ) (z mi ' 1 i ( z m i ) 1 2 exp( i f 1 | | i d ) ( 2 288 مسئله ای که مطرح است ،تخمین پارامترهای ترکیبات مدل ترکیبی گوسین است. 289 πi=P(vi) 4 f i c 1 P (vi | z 1 P (vi | z c m c 290 i ( ) 1 P (vi | z 1 ( 2 ) d | i | exp( 1 2 1 ( z m i ) i ( z m i ) ) ( ) ( ) ' 1 )/C )z C i i ( ) i (z : mi , i ) 2 )( z ( ) C i m i )( z ( ) mi ) ' 3 Expectation Maximization با فرض برخی مقادیر اولیه تصادفی برای پارامترها ،از معادله ( )4می توان برای محاسبه مقدار تعلق هر نمونه به هر جزء ،استفاده کرد .این مرحله، مقدار مورد انتظار است. سپس پارامترهای تخمین زده شده با معادالت ( )1تا ( )3مقادیر معادله ()4 را بدست می دهند .این مرحله ،ماکزیمم سازی است. این دو مرحله تا زمانی که پارامترها همگرا شوند ،تکرار می شوند. 291 بررس ی الگوریتم ماکزیمم سازی مقدار مورد انتظار: الگوریتم ماکزیمم سازی مقدار مورد انتظار دارای ضعف هایی همانند زیر می باشد. *)این روش یک روش محلی ،و نسبت به پارامترهای اولیه انتخاب شده بسیار حساس می باشد و ممکن است به یک محدوده پارامترها که تخمین های نادرست را ارائه می دهد همگرا شود. بیرای حییل اییین مسییئله چنییدین روش مییورد بررسی ی قیرار گرفتییه اسییت کییه از ییک یییا ترکیبییی از اسییتراتژی هییایی هماننیید چنییدین نقطییه شییروع تصییادفی و انتخییاب تخمییین نهییایی بطوریکییه آن تخمییین دارای بییاالترین احتمییال باشیید و یییا انتخییاب اولیه پارامترها به وسیله الگوریتم خوشه بندی استفاده می کنند. 292 بررس ی الگوریتم ماکزیمم سازی مقدار مورد انتظار: *)مسئله دیگری که کارایی ماکزیمم سازی مقدار مورد انتظار را تحت تاثیر قرار می دهد مشخص نبودن تعداد ترکیبات است. برای تخمین تعداد بهینه ترکیبات نیز مطالعات زیادی صورت گرفته است .برای مثال معیار اطالعات ،)AIC( Akaike استنتاج بیزین ، )BIC( Schwarzمعیار احتمال دسته بندی مجتمع ).(ICL 293 الگور یتم K-Means .1مرحله اول :پیدا کردن مرکز دسته اول به صورتی که رابطه زیر را ماکزیمم کند : 294 الگور یتم K-Means .2مرحله دوم :به شرط داشتن ()k-1امین ترکیب ،معیار هر داده کاندید برای مرکز ترکیب kام می تواند بصورت زیر نوشته شود: 295 تخمین تعداد بهینه ترکیبات : هنگامی که یک جزء اضافه می شود ،اگر ارتباط میان kامین جزء و اجزاء قبلی هنوز هم مستقل باشد ،پارامترها با تخمین دوباره از k جزء بدست می آیند .برعکس اگر حداقل یکی از اجزا با جزء اضافه شده همبسته باشد ،باید پارامترها را در مدل ترکیبی ) (k-1مالحظه کنیم و تعداد ترکیبات را حداقل ) (k-1مشخص کنیم. 296 رابطه متقابل میان اجزاء : 297 رابطه متقابل میان اجزاء : رابطه ی متقابل ممکن است دارای سه مقدار باشد: منفی ،صفر و یا مثبت اگر دارای مقدار مثبت باشد ،بدین معنی است که iو kبطور آماری به یکدیگر وابسته اند. 298 الگوریتم تخمین تعداد بهینه ترکیبات : 299 پیاده سازی بروی داده های مصنوعی : 300 301 میانه ی iامین ترکیب i )(1.1620,2.0100 ~ 1 -0.0674 1 -0.0346 (0.9851,0.8554) 1 -0.0042 2 0.0255 (0.8065,2.4638) 1 -0.0092 2 -0.0080 3 )(2.4915,2.5147 تعداد ترکیبات )(k 1 2 3 4 302 پیاده سازی و آزمایش : GMM داده : glass 303 304 305 نتیجه دستهبندی با استفاده از شبکه عصبی بیزین تکالیه 306 نتیجه دستهبندی با استفاده از شبکه عصبی بیزین چندالیه در حالت قسمت بندی 307 دستهبندی با استفاده از شبکه عصبی بیزین چندالیه در حالت روی هم افتادگی 308 فصل دهم :شبکه عصبی مثلثاتی 309 فصل یازدهم : شبکه عصبی ویولت Wavelet Neural Network 310 فصل دوازدهم :شبکه عصبی کانولوشنال 311 فصل دوازدهم : کاربرد شبکه های عصبی در شناسایی ،پیش بینی و کنترل سیستم ها 312 شناسایی ،پیش بینی و کنترل شبکه های عصبی به عنوان شناساگر شبکه های عصبی در پیش بینی سیستم ها شبکه های عصبی به عنوان کنترلر 313 کنترلر عصبی کنترلر عصبی تقليدگر کنترلر و شناساگر مستقیم کنترلر و شناساگر معکوس كنترل معكوس تطبيقي كنترل مدل داخلي غیرخطي كنترل تطبيقي عصبي نقاد تطبيقي کنترلر PIDخود تنظیم شبكه عصبي به عنوان جبرانگر كنترلر تطبيقي مدل مرجع عصبي مستقيم كنترل مدل پيش بین 314 کنترلر ترکیبی كنترلر ترکیبی از کنترل ساختار متغیر و کنترل عصبي كنترل تطبيقي مستقيم پايدار خطي سازي فيدبك تطبيقي عصبي کنترلر ترکیبی از کنترل فیدبک و کنترل عصبی آموزش خطای پسخور کنترلر ترکیبی از کنترل کنترل بهره ثابت و کنترل عصبی کنترلر شبکه عصبی بر پایه ُمد لغزش ی کنترلر بهینه عصبی 315 پایان