Transcript Slide 1

Fundamental intelligence
Computational neural
Machine
Learning
Expert sysyetm
Computational fuzzy
Computational evolution
Computational
intelligence
Multi-agent
systems
Swarm intelligence
‫ دانشکده برق‬-‫دانشگاه خواجه نصیرالدین طوس ی‬
‫ آزمایشگاه سیستم های هوشمند‬-‫گروه کنترل‬
1388- 89 ‫سال تحصیلی‬
‫بسمه تعالی‬
‫شبکه های عصبی‬
‫دانشگاه خواجه نصیرالدین طوس ی‪ -‬دانشکده برق‬
‫گروه کنترل‪ -‬آزمایشگاه سیستم های هوشمند‬
‫ّ‬
‫محمد تشنه لب‬
‫سال تحصیلی ‪1388- 89‬‬
‫تمرين ها‬
‫همزمان با معرفي بخشهاي مختلف درس ‪ 10‬سري تمرين در طول ترم داده‬
‫خواهد شد‪ .‬قسمتي از اين تمرينات به فرم پروژه هاي کوچک ( ‪mini‬‬
‫‪ )project‬کامپيوتري‪ ،‬قابل انجام با نرم افزار ‪ MATLAB‬خواهد بود‪.‬‬
‫هدف آشنايي بيشتر با الگوريتمهاي آموزش‪ ،‬ساختارهاي متفاوت شبکه هاي‬
‫عصبي و کاربرد هاي گوناگون شبکه هاي معرفي شده‪ ،‬مي باشد‪.‬‬
‫‪3‬‬
‫پروژه نهايي‬
‫مهمترين قسمت درس و خروجي نهايي آن پروژه اي تحقيقاتي در زمينه کاربرد شبکه هاي‬
‫عصبي است‪ .‬پروژه به صورت تک نفره تعريف و انجام مي شود‪ .‬محدوديتي در انتخاب‬
‫موضوع پروژه وجود ندارد‪ ،‬به غير از آنکه حتما بايد از روشها و موضوعات مطرح شده در‬
‫درس استفاده شود و سعي کنيد از موضوعات جديد و نو استفاده کنيد‪ .‬تعريف پروژه‬
‫خود را حتما با من هماهنگ کنيد و آنرا به صورت يک پيشنهاد پروژه در يک برگ ‪ A4‬در‬
‫سه قسمت‬
‫‪ -1‬عنوان پروژه‬
‫‪ -2‬شرح مختصر و نوآوري مد نظر شما‬
‫‪-3‬کارهاي انجام شده در اين زمينه (حداقل ‪ 4‬مرجع اصلي خود را ذکر کنيد)‪.‬‬
‫موضوع پروژه خود را حداکثر تا تاريخ ‪ 10‬آذر انتخاب نموده و به من ‪ e-mail‬بزنيد‪.‬‬
‫مهلت تحويل پروژه حداکثر تا تاريخ ‪1‬اسفند مي باشد و به هيچ عنوان تمديد نخواهد شد‪.‬‬
‫‪4‬‬
‫امتحان ميان ترم و پايان ترم‬
‫‪ ‬در ‪ 7‬آذر ماه امتحان ميان ترم برگزار مي شود که بخش عمده آن به مباحث تئوري و‬
‫نظري شبکه هاي عصبي مر بوط مي شود و امتحان پايان ترم بموقع است‪.‬‬
‫شيوه ارسال ‪e-mail‬‬
‫تکاليف و پروژه هاي خود را به آدرس ‪ [email protected]‬ارسال کنيد و‬
‫در عنوان ‪ e-mail‬خود حتما شماره پروزه را ذکر کنيد‪ .‬همچنين تمام فايالها و کد نوشته‬
‫شده را ‪ zip‬نموده و نام خود را به آن فايل اختصاص دهيد‪.‬‬
‫‪5‬‬
‫شيوه ارزيابي‬
‫‪ ‬تمرينات و امتحان پايان ترم‪:‬‬
‫‪ ‬امتحان ميان ترم‪:‬‬
‫‪ ‬پروژه نهايي‪:‬‬
‫‪45 %‬‬
‫‪30%‬‬
‫‪25 %‬‬
‫‪6‬‬
‫فهرست مطالب‬
‫فصل اول ‪ :‬مقدمه ای بر شبکه هاي عصبي‬
‫فصل دوم ‪ :‬ارائه ساختارهای مختلف شبکه هاي عصبي‬
‫فصل سوم ‪ :‬ارائه مفاهیم پایه در آموزش شبکه هاي عصبي بر اساس الگوریتم پس انتشار خطا‬
‫فصل چهارم ‪ :‬بررس ي روشهاي مختلف آموزش در شبکه هاي عصبي‬
‫فصل پنجم ‪ :‬بهبود الگوریتم پس انتشار خطا‬
‫فصل ششم ‪ :‬شبکه هاي عصبي بازگشتی‬
‫‪7‬‬
‫فهرست مطالب‬
‫فصل هفتم ‪ :‬شبكه هاي حافظه دار و گاما‬
‫فصل هشتم ‪ :‬شبکه های عصبی مدل مخچه‬
‫فصل نهم ‪ :‬شبکه عصبی بیزین‬
‫فصل دهم ‪ :‬شبکه عصبی مثلثاتی‬
‫فصل یازدهم ‪ :‬شبکه عصبی ویولت‬
‫فصل دوازدهم ‪ :‬شبکه عصبی کانولوشنال‬
‫فصل سیزدهم ‪ :‬کاربرد شبکه های عصبی در شناسایی‪ ،‬پیش بینی و کنترل سیستم ها‬
‫‪8‬‬
‫فصل اول ‪ :‬مقدمه ای بر شبکه هاي عصبي‬
‫‪9‬‬
‫سیستم های پیچیده‬
‫سیستم های پیچیده از بخش های مختلف تشکیل شده اند که کلیه بخش ها با یکدیگر در‬
‫ارتباطند و همچنين بخش های سیستم ها با خارج در ارتباط هستند و در کنش و واکنش می‬
‫باشند‪.‬‬
‫انواع سیستم های پیچیده‬
‫‪ ‬سیستم های حمل و نقل(زمینی‪ ،‬دریایی و هوایی)‬
‫‪ ‬سیستم های هواشناس ی (منطقه ای‪ ،‬محلی و جهانی)‬
‫‪ ‬سیستم های بیمارستانی (بخش ها‪ ،‬تخصصها و ارتباط بین آنها و بیمارستانهای دیگر و‬
‫بیمه و‪)...‬‬
‫‪ ‬سیستم های اقتصادی(تحت تأثیرعواملی چون نیازها‪ ،‬درخواستها‪ ،‬موجودیها و بحرانها‬
‫‪ ...‬می باشد‪).‬‬
‫‪ ‬جوامع (فرهنگهای مختلف‪ ،‬تحصیالت‪ ،‬دارایی‪ ،‬فقر و امکانات فردی و اجتماعی)‬
‫‪ ‬سیستم های بیولوژیکی(شامل مغز‪ ،‬مخچه‪ ،‬سلولها و ‪ ...‬می باشد)‬
‫‪10‬‬
‫‪ ‬شبکه عصبی‪:‬‬
‫شبکه های عصبی بر اساس رفتار شناس ی ماشين های بیولوژیکی‬
‫موجودات زنده طراحی شده است‪.‬‬
‫‪ ‬هدف از شبکه های عصبی مصنوعی ‪:‬‬
‫نرم‬
‫ارائه روشهائی جهت استفاده از سخت افزارها ( مدارات ) و‬
‫ها‪،‬‬
‫افزارها ( الگوریتم ها) برای ایجاد قابلیت های هوشمند به دستگاه‬
‫روبوت ها‪ ،‬برنامه ها و غيره ‪ ....‬می باشد که قادر به یادگيری حين فرآیند می‬
‫باشد‪.‬‬
‫در این درس هدف آشنایی فقط با الگوریتم ها و نحوه چگونگی اضافه‬
‫ها‬
‫برنامه‬
‫نمودن آن به نرم‪ /‬سخت افزار می باشدکه در این راستا‬
‫(الگوریتم) قادر به یادگيری می باشند‪.‬‬
‫‪11‬‬
‫‪ ‬مفهوم هوش چیست؟‬
‫با توجه به اینکه محققان تا کنون نتوانسته اند درباره عملکرد مغز انسان که در واقع‬
‫محل تجزیه و تحلیل( اتاق فرمان) ماشين بیولوژیکی موجودات زنده خصوصا انسان‬
‫تعریف واقعی ارائه نمایند‪ ،‬لذا پاسخ به این سوال به سادگی امکان پذیر نمی باشد و نمی‬
‫توان پاسخی روشن و شفاف ارائه نمود‪ .‬در هر حال ماشين بیولوژیکی را با قابلیت های‬
‫زیر می توان مورد بررس ی قرار داد‪:‬‬
‫‪12‬‬
‫‪ ‬مفهوم هوش چیست؟‬
‫‪ ‬آموزش ی پذیری از طریق دریافت داده ها ( اطالعات ) و یا الگوها یا ترکیبی از داده ها و الگو ها‬
‫‪ ‬در حافظه نگهداری نمودن تجربیات آموزش و غيره و قابل بازسازی نمودن آنها‪.‬‬
‫‪ ‬تصمیم گيری مناسب و منطقی براساس یادگيری و تجربیات آموزش دیده گذشته‪.‬‬
‫‪ ‬ابراز نظر( احساسات ) براساس وجود واقعیت گذشته و حال‪.‬‬
‫‪ ‬خود سازمانده هی‪ /‬شکل پذیری درونی براساس نیازهای فردی و جمعی‪.‬‬
‫‪ ‬ارتباط برقرار کردن منطقی الگوها براساس آموزش گذشته‪ ،‬به عنوان مثال‪ ،‬هوای ابری‬
‫تصویری از امکان وجود بارندگی را در ذهن انسان تداعی می کند‪.‬‬
‫‪ ‬ارائه پاسخی مناسب به نحوی که محرک های خارجی از خود یک عکس العمل مناسبی ارائه‬
‫دهند‪.‬‬
‫‪13‬‬
‫بررس ی ساختمان سلول عصبی بیولوژیک‬
‫‪ ‬شکل و ساختمان جسم سلولی نورون‬
‫‪ ‬سوما (‪cell body)soma‬‬
‫‪ ‬دندريت (‪input cell)dendrite‬‬
‫‪ ‬آکسون (‪output cell)axon‬‬
‫‪14‬‬
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
15
Dendrites
Cell body
Axon
Synapse
16
‫مقدمهای بر شبکههای عصبی و قابلیتها و تاریخچه آن‬
‫‪‬مفهوم پایه شبکههای عصبی چیست؟‬
‫‪‬چرا شبکههای عصبی قابلیت یادگيری دارند؟‬
‫‪‬چرا شبکههای عصبی قابلیت تعمیم پذیری ساختار دارند؟‬
‫‪ ‬شبکههای عصبی تقریبی از رفتار مغز و اعصاب در قسمتهای مختلف بدن‬
‫موجودات زنده هستند‪.‬‬
‫‪ ‬شبکههای عصبی دارای قابلیتهای مختلف بر اساس کاربرد میباشند‪.‬‬
‫‪ ‬شبکههای عصبی یک پردازشگر موازی است که در یک لحظه دارای آموزش‬
‫و اعمال میباشند‪.‬‬
‫‪17‬‬
‫ارزش و قابلیت یادگیری در شبکههای عصبی‬
‫‪‬دارای محاسبات قوی و ارزشمند از داده و اطالعات هستند‪.‬‬
‫‪‬در ساختار شبکههای عصبی که دارای نرونها و الیههای زیاد هستند باعث انعطاف‬
‫پذیری و درجه آزادی زیاد در سیستم عصبی میشوند ولی زمان محاسبات طوالنیتر‬
‫خواهد شد‪.‬‬
‫‪‬دارای توانایی زیاد در اصالح و تعمیم پذیری میباشند‪.‬‬
‫‪‬دارای قابلیت حذف اغتشاش و نویز هستند‪.‬‬
‫‪‬قابلیت تولید الگوریتم تطبیق پذیر هوشمند بر پایه کاربرد را دارند‪.‬‬
‫‪18‬‬
‫ویژگیهای شبکه های عصبی‬
‫تاکنون مدل های مختلف با ساختار و الگوریتم های متنوعی از شبکه های عصبی ارائه‬
‫شده است و هر چند این مدل ها با یکدیگر تفاوت دارند‪ ،‬اما تمام این مدل ها یک هدف‬
‫مشترک را دنبال می کنند‪ .‬به طور کلی سلول های عصبی که تشکیل دهنده یک شبکه‬
‫عصبی می باشند ماشين های محاسباتی هستند‪ ،‬که از اجزای ساده(سلول) و زنجيره ای‬
‫تشکیل می شوند و دارای خواص زیرند‪:‬‬
‫‪ ‬قابلیت یادگیری و تطبیق پذیری‬
‫‪‬قابلیت تعمیم پذیری‬
‫‪ ‬پردازش موازی‬
‫‪ ‬مقاوم بودن‬
‫‪ ‬قابلیت تقریب عمومی‬
‫‪19‬‬
‫‪ ‬قابلیت یادگیری و تطبیق پذیری‬
‫قابلیت یادگيری یعنی توانایی تنظیم پارامترهای شبکه عصبی‪ .‬برای این منظور نمونه های‬
‫اولیه را به شبکه اعمال می کنند شبکه‪ ،‬پارامترها را بر اساس این نمونه ها تنظیم می‬
‫کند‪ .‬اگر نمونه های جدید به این شبکه که به این طریق آموزش دیده‪ ،‬اعمال شود‪،‬‬
‫خروجی مناسب را با درصد خطای کوچک می توان بدست آورد‪ .‬با این ترتیب شبکه های‬
‫عصبی می توانند با تغیير شرایط به صورت هوشمندانه‪ ،‬خود را تطبیق یا اصالح نماید‪.‬‬
‫‪20‬‬
‫‪ ‬قابلیت تعمیم پذیری‪:‬‬
‫پس از آنکه نمونه های اولیه به شبکه آموزش داده شد‪ ،‬شبکه می تواند در مقابل ورودیهای‬
‫آموزش داده نشده (ورودیهای جدید) قرار گيرد و یک خروجی مناسب تولید نماید‪ .‬این خروجی‬
‫بر اساس مکانیسم تعمیم‪ ،‬که چيزی جز فرایند درونیایی نیست به دست می آید‪.‬‬
‫‪ ‬پردازش موازی‪:‬‬
‫هنگامی که شبکه عصبی در قالب سخت افزار پیاده می شود سلولهایی که در یک تراز قرار می‬
‫گيرند می توانند به طور همزمان به ورودیهای آن تراز پاسخ دهند‪ .‬این ویژگی باعث افزایش‬
‫سرعت پردازش می شود‪ .‬در واقع در چنين سیستمی‪ ،‬وظیفه کلی پردازش بين پردازنده های‬
‫کوچکتر مستقل از یکدیگر توزیع می گردد‪.‬‬
‫‪21‬‬
‫‪ ‬مقاوم بودن‪:‬‬
‫در یک شبکه عصبی رفتار کلی آن مستقل از رفتار هر سلول در شبکه می باشد درواقع رفتار کلی‬
‫شبکه برآیند رفتارهای محلی تک تک سلولهای شبکه می باشد که این امر باعث می شود تا خطا‬
‫های محلی سلولها از چشم خروجی نهایی دور بمانند‪ .‬این خصوصیت باعث افزایش قابلیت مقاوم‬
‫بودن در شبکه عصبی می گردد‪.‬‬
‫‪ ‬قابلیت تقریب عمومی‪:‬‬
‫شبکه های عصبی چند الیه‪ ،‬با یک یا چند الیه مخفی به شرط آن که تعداد نرونهای الیه ها‬
‫مخفی کافی داشته باشند‪ ،‬می توانند هر تابع غير خطی پیوسته ای را در فضای ترکیبی تخمين‬
‫بزنند‪.‬‬
‫‪22‬‬
Applications
 Aerospace
 High performance aircraft autopilots, flight path




23
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
24
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
25
‫فصل دوم ‪:‬‬
‫ارائه ساختارهای مختلف شبکه هاي عصبي‬
‫)‪Multi-layer Perceptron (MPL‬‬
‫‪26‬‬
‫‪ ‬هر شبکه عصبی دارای سه ویژگی زیر می باشد‪:‬‬
‫‪ ‬مدل سلول عصبی (نوع تابع)‬
‫‪ ‬ساختار شبکه عصبی (نوع توپولوژی)‬
‫‪ ‬آموزش در شبکه عصبی (نوع آموزش)‬
‫خودسازماندهی ساختار درحین آموزش‬
‫‪27‬‬
‫مدل سلول عصبی‬
‫‪ ‬توابع انتقال‬
‫خروجی واقعی به تابع انتقال ويژه ای که انتخاب شده بستگی دارد و بايد معيار های مورد‬
‫نظر مسئله ای که سلول عصبی برای حل آن استفاده می شود را‪ ،‬برآورده کند‪ .‬سه نوع از‬
‫پرکاربرد ترين آنها عبارتند از‪:‬‬
‫‪ ‬تابع انتقال سخت محدود‬
‫‪ ‬تابع انتقال خطی‬
‫‪ ‬تابع انتقال لگاريتمی سيگموئيد‬
‫‪28‬‬
‫مدل سلول عصبی‬
‫توابع انتقال‬
‫از آنجايی که تابع انتقال لگاريتمی سيگموئيد‪ ،‬يک تابع مشتق پذير است‪ ،‬عموما از آن در‬
‫شبکه های چند اليه ای استفاده می شود که با استفاده از الگوريتم پس انتشار خطا (‬
‫‪ ) Backpropagation‬آموزش می پذيرند‪ .‬نمونه ای از اين تابع به صورت زير است‪:‬‬
‫‪1‬‬
‫‪a‬‬
‫‪1  e  net g‬‬
‫هر ‪g‬‬
‫‪‬‬
‫مقداري بين منفي بينهايت تا‬
‫مطابق اين عبارت‪ ،‬ورودي اين تابع انتقال مي تواند‬
‫مثبت بينهايت باشد در حاليکه خروجي آن در بازه صفر و ‪ 1‬محدود شده است‪.‬‬
‫‪29‬‬
‫توابع انتقال‬
hardlim(n) = 1
=0
30
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
31
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
32
tribas(n) = 1 - abs(n), if -1 <= n <= 1
= 0, otherwise
radbas(n) = exp(-n^2)
‫مدل سلول عصبی‬
‫‪ ‬مدل سلول عصبی تک ورودی‬
‫اگر اين مدل ساده را با سلول عصبی بيولوژيکی که پيش از اين شرح داديم مقايسه کنيم‪،‬‬
‫وزن ‪ w‬مطابقت دارد با سيناپس‪ ،‬بدنه سلول به وسيله عمل جمع و تابع انتقال بيان‬
‫شده و خروجی سلول عصبی يا همان ‪ a‬نمايانگر سيگنال آکسون است‪.‬‬
‫‪33‬‬
‫مدل سلول عصبی با چند ورودی‬
‫‪ ‬سلول عصبی چند ورودی‬
‫عموما يک سلول عصبی بيش از يک ورودی دارد‪ .‬هر کدام از ورودی های مجزا در‬
‫وزن متناظر خود ضرب می شوند‪ .‬بنابراين می توان ورودی ها را به صورت بردار ‪p‬‬
‫و وزن ها را به صورت ماتريس ‪ W‬تعريف نمود‪.‬‬
‫‪34‬‬
‫مدل سلول عصبی با چند ورودی و چند خروجی‬
‫‪35‬‬
‫ساختار های شبکه عصبی‬
‫‪ ‬يک اليه از سلول عصبی‬
‫يک سلول عصبی‪ ،‬حتی با ورودی های زياد ممکن‬
‫است نیاز ما را براورده نکند‪ .‬معموال به تعدادی از‬
‫آنها که به صورت موازی عمل می کنند نيار می باشد‬
‫که به آن يک شبکه يک اليه گفته می شود‪.‬‬
‫‪36‬‬
Layer of Neurons
37
Abbreviated Notation
38
‫ساختار شبکه عصبی چند الیه‬
‫‪R – S1 – S2 – S3 Network‬‬
‫‪39‬‬
‫ساختار های شبکه‬
‫‪ ‬اليه های چند گانه از سلول عصبی‬
‫در يک شبکه چند اليه‪ ،‬هر اليه ماتريس وزن ‪ W‬ويژه خود‪ ،‬بردار باياس ‪ b‬خود‪ ،‬يک‬
‫بردار ورودی ‪ n‬مربوط به خود و يک بردار خروجی ‪ a‬ويژه خود را دارد‪ .‬اليه های مختلف‬
‫می توانند تعداد نرون های متفاوتی داشته باشند‪ .‬اليه ای که خروجی آن‪ ،‬خروجی‬
‫شبکه است‪ ،‬يک اليه خروجی ناميده می شود‪ .‬اليه های ديگر‪ ،‬اليه های پنهان نام دارند‪.‬‬
‫شبکه های چند اليه قدرتمند تر از شبکه های تک اليه هستند‪ .‬برای نمونه‪ ،‬يک شبکه‬
‫دو اليه که شامل يک اليه اول سيگموئيد و يک اليه دوم خطی می باشد‪ ،‬می تواند به‬
‫منظور تقريب اکثر توابع اختياری آموزش داده شود‪ .‬بيشتر شبکه های کاربردی تنها دو يا‬
‫سه اليه دارند‪.‬‬
‫‪40‬‬
x1
x2
x3
W
1
First
active layer
1
1
n
f11
W
2
Second
active layer
1
1
o
2
1
n
1
2
n
f 21
1
1
o
(a) General structure with two activation layers
41
f12
o12
neuron11
w11
x1
x2
x3
1
F
n 1
1
1
w12
∑
w13
1
w10
o11
w11( 2)
1
0
x
w21
n
∑
w23
w120
n12
∑
1
2
w22
neuron12
w12( 2)
1
2
F
2
w10
o02
o12
x01
neuron12
(b) Specific structure with two activation layers
F12
o12
Nonlinear mapping
x  R ( n0 )
F 1 (0)
1
w
xR
n1
o1
( n0 )
2

2
w2
1
n2
 
1
F 2 (0)
y  R( n2 )
y  R ( n2 )
F w F wx
4.3 : Two-layered neural network: nonlinear mapping for input ( x  R ( n0 ) ) to
output ( y  R
( n2 )
)
w11
1
1
n
f11
w12
2
1
o
2
1
n


∑
x0 =1
e11

d1
e1

o22
e1
x1
w12
n12
f 21
w22
n22

x2
xn0

∑
e12

d2
e2

e2
w1n1
n1n1
f n11
wn22
on22
nn22

∑

e1n1
en2

en2

d n2
First activation layer
X0
Neural
inputs
X1
x  R n0
1
1
neuron
Second activation layer
1
0
o
1
1
o
1
2
neuron
2
1
neuron
2
2
neuron
2
0
o
o12
Neural
outputs
o  R n2
X n0
neuron1n1
on1
(Hidden layer)
neuronn22
on2
(Output layer)
A two-layered feedforward neural network : n1 hidden neurons, and n2 output neurons
x  [ x1........xi ..........xn0 ]T  Rn0
o  [o1........oi ...........on1 ]T  Rn1
Feedforward part
xR
( n0 1)
1
n
w1
F 1 (.)
o R
1
F 2 (.)
( n1 1)
o 2  R n2  2
w2
_
+
d  R n2
∑

e1

e
Backpropagation part
4.8 : The matrix representation of backpropagation learning for two-layered
feedforward neural network with linear output neurons
O1n
0
0
Xc1
0
O12
Xc2
O11
.
.
X
. 1
.
47
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‬‬
‫خروجي ه ا‬
‫عم لگر ت اخير‬
‫وروديه ا‬
‫‪48‬‬
‫فصل سوم ‪:‬‬
‫ارائه مفاهیم پایه در آموزش شبکه هاي عصبي‬
‫بر اساس الگوریتم پس انتشار‬
‫‪49‬‬
‫قوانین يادگیری شبکه هاي عصبي‬
‫‪ ‬يادگيری بدون مربی‬
‫‪ ‬يادگيری تقويتی‬
‫‪ ‬يادگيری با مربی‬
‫‪ ‬يادگيری با مربی‬
‫در يادگيری با مربی قانون يادگيری به وسيله مجموعة مثالهايی ( مجموعة آموزش ی ) از‬
‫رفتارهای مناسب شبکه‪ ،‬ايجاد می شود‪:‬‬
‫}‪{x1 , t1} , {x2 , t2} , … , {xQ , tQ‬‬
‫‪50‬‬
‫الگوریتم انتشار به عقب‬
‫اين الگوريتم می تواند در آموزش پرسپترونهای چند اليه که قادر به حل مسائل غيرخطی‬
‫هستند بکار رود‪ .‬پرسپترون چند اليه که با الگوريتم انتشار به عقب آموزش ديده باشد در‬
‫حال حاضر پرکاربرد ترين شبکه عصبی است که به طور گسترده استفاده می شود‪.‬‬
‫‪ ‬تقريب تابع‬
‫شبكههاي عصبي به عنوان شناساگر و كنترلر سيستمهاي ديناميكي كاربردهاي فراواني دارند‪.‬‬
‫شبكههاي عصبي پرسپترون چند اليه به عنوان يك تقريب گر عمومي شناخته ميشوند و اين‬
‫قابليت در آنها نهفته است که به عنوان يك گزينه بسيار مناسب و مشهور جهت كنترل‬
‫غيرخطي و همچنين شناسایی و مدلسازي سيستمهاي غيرخطي مطرح هستند‪.‬‬
‫بنابراین شبکه های عصبی به عنوان تقريب زننده های توابع به کار می روند‪ .‬برای مثال در‬
‫سيستمهای کنترل‪ ،‬هدف يافتن يک تابع بازخورد مناسب است که خروجی های اندازه گيری‬
‫شده را به ورودی های کنترل نگاشت کند‪.‬‬
‫‪51‬‬
‫الگوریتم انتشار به عقب‬
‫‪ ‬روش آموزش بر مبنای الگوريتم انتشار به عقب‬
‫در شبکه های چند اليه‪ ،‬خروجی يک اليه‪ ،‬ورودی اليه بعدی را تشکيل می دهد‪.‬‬
‫) ‪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‬‬
‫‪52‬‬
‫الگوریتم انتشار به عقب‬
(w)‫( برای تقريب خطای ميانگین‬GD) ‫ الگوريتم شيبدارترين نزول‬
s 1
net (k )  Wi (k )O (k )
s
i
s
For s=1, It means in first active layer
the summation of weigthed input is;
Net (k )  W (k )O (k )
1
53
1
0
The size of
W
1
is;
n1  n0   W
1

 w1,1 , w1, 2 , w1,3 ,......,w1,n01 , w1,n0 


 w2,1 , w2, 2 , w2,3 ,.....,w2,n01 , w1,n0 
 w , w ,.......................,w 
3 , n0
 3,1 3, 2

 w4,1 ,.............................., w4,n 
0


......................

......................



 wn1, 1 , wn1 , 2 , wn1 ,3 ,............, wn1 ,n0 


54

The size of
55
O
0
is;
n0   O
0
 x 
1
x 
 2 
 x3 


 x4 
.



.

x 
 n0 1 
 xn 
 0 

And the output of first active layer is:
O 
1
56
o11   f11 (.),0,0,0,0,0,0  net11 
 1  
 1 
1
o2  0, f 2 (.),0,0,0,0,0  net2 
 1  
 1 
1
o3  0,0, f 3 (.),0,0,0,0  net3 
.   ..........................  ...... 

 


.  ..........................  ...... 
o1  0,0,0,0,0, f 1 (.),0 net1 
n1 1
 n1 1  
  n1 1 
o1  0,0,0,0,0,0, f 1 (.)  net1 
n1
 n1  
  n1 
‫الگوریتم انتشار به عقب‬
(w)‫( برای تقريب خطای ميانگین‬GD) ‫ الگوريتم شيبدارترين نزول‬
w (k 1)  w (k )  w (k )
m
i, j
m
i, j
m
i, j
J (k )
m
m1

s
(
k
)
o
(k )
i
j
m
w wi , j
w (k )  
m
i, j
J (k )
s (k ) 
netim (k )
m
i
57
o
m 1
j
net (k )
(k ) 
w (k )
m
i
m
i, j
‫الگوریتم انتشار به عقب‬
‫‪ ‬الگوريتم شيبدارترين نزول )‪ (GD‬برای تقريب خطای ميانگین )‪(b‬‬
‫) ‪b (k  1)  b (k )  b (k‬‬
‫‪m‬‬
‫‪i‬‬
‫‪m‬‬
‫‪i‬‬
‫‪m‬‬
‫‪i‬‬
‫‪J‬‬
‫‪m‬‬
‫‪‬‬
‫‪s‬‬
‫‪i‬‬
‫‪b b m‬‬
‫‪i‬‬
‫‪b (k )  ‬‬
‫‪m‬‬
‫) ‪J (k‬‬
‫‪s (k )  m‬‬
‫) ‪bi (k‬‬
‫‪m‬‬
‫‪i‬‬
‫‪58‬‬
‫الگوریتم انتشار به عقب‬
‫‪ ‬قانون زنجیره ای‬
‫برای شبکه چند اليه‪ ،‬خطا تابع صريحی از وزن ها در اليه های پنهان نمی باشد‪،‬‬
‫بنابراين مشتقات به آسانی قابل محاسبه نيستند‪.‬‬
‫‪net‬‬
‫‪J‬‬
‫‪J‬‬
‫‪‬‬
‫‪‬‬
‫‪m‬‬
‫‪m‬‬
‫‪wi , j neti‬‬
‫‪w‬‬
‫‪m‬‬
‫‪i‬‬
‫‪m‬‬
‫‪i, j‬‬
‫‪net‬‬
‫‪J‬‬
‫‪J‬‬
‫‪‬‬
‫‪‬‬
‫‪m‬‬
‫‪m‬‬
‫‪bi‬‬
‫‪neti‬‬
‫‪b‬‬
‫‪m‬‬
‫‪i‬‬
‫‪m‬‬
‫‪i‬‬
‫‪59‬‬
‫الگوریتم انتشار به عقب‬
‫ قانون زنجیره ای‬
S m1
netim, j   wim, j o mj1  bim
j 1
netim
netim
m1
 oj ,
1
m
m
wi , j
bi
w (k 1)  w (k ) s o
m
i, j
m m1
i i
m
i, j
b (k  1)  b (k ) s
m
i
60
m
i
m
i
sim 
J
m m 1

s
i oj
m
wi , j
J
m

s
i
bim
J
netim
‫الگوریتم انتشار به عقب حساسیت ها‬
:‫برای محاسبه حساسيت ها به کاربرد ديگری از قانون زنجيره ای نياز داريم‬
 s m 1 m

  wi ,l al  bim 1 
m

a
l

1
  w m 1 j
 
i, j
n mj
n mj
m
nim 1
n mj
m
m

f
(
n
j )
m 1
 wi , j
n mj
f m (n mj ) 
61
 wim, j1 f m (n mj )
f m (n mj )
n mj
‫الگوریتم انتشار به عقب حساسیت ها‬
‫اکنون می توانيم بخش ی را مشاهده کنيم که الگوريتم انتشار به عقب نام خود را از آن‬
‫گرفته است‪ .‬حساسيت ها در شبکه به سمت عقب از آخرين اليه به اولين اليه انتشار‬
‫می يابند‪:‬‬
‫‪m 1 T‬‬
‫ˆ‬
‫ˆ‪F  n  F‬‬
‫ˆ‪F‬‬
‫‪m‬‬
‫‪m‬‬
‫‪m‬‬
‫‪m 1 T‬‬
‫‪‬‬
‫‪s  m ‬‬
‫) ‪ F (n )( W‬‬
‫‪‬‬
‫‪m‬‬
‫‪m 1‬‬
‫‪n‬‬
‫‪n m1‬‬
‫‪ n  n‬‬
‫‪ F m (n m )( W m1 ) T s m1‬‬
‫‪s M  s M 1    s2  s1‬‬
‫‪62‬‬
‫الگوریتم انتشار به عقب حساسیت ها‬
:‫ از معادله زير به دست می آيد‬،‫نقطه آغاز برای ارتباط بازگشتی معادله قبل‬
sM
Fˆ  (t  a) (t  a)
s  M 

M
ni
ni
T
  (t j  a j )2
M
i
j 1
niM
ai
 2(ti  ai ) M
ni
M
M
ai aiM f (n j )  M M
 M 
 f (n j )
M
M
ni
ni
ni
siM  2(ti  ai ) f M (n Mj )
s M  2F M (n M )(t  a)
63
‫الگوریتم انتشار به عقب‬
‫‪ ‬انتخاب ساختار شبکه‬
‫شبکه های چند اليه تقريبا می توانند برای تقريب هر تابعی استفاده شوند به شرطی که‬
‫به تعداد کافی نورون در اليه های پنهان داشته باشيم‪ .‬اگر بخواهيم تابعی را تقريب بزنيم‬
‫که تعداد بسيار زيادی نقطه خميدگی دارد‪ ،‬نيازمند آن خواهيم بود که تعداد بسيار‬
‫زيادی نورون در اليه پنهان داشته باشيم‪.‬‬
‫‪64‬‬
‫الگوریتم انتشار به عقب‬
‫‪ ‬همگرايی‬
‫هنگامی که الگوريتم انتشار به عقب همگرا می شود‪ ،‬نمی توانيم مطمئن باشيم که يک جواب‬
‫بهينه داريم‪ .‬بهتر اين است که چندين وضعيت اوليه متفاوت را به منظور اطمينان از اينکه‬
‫جواب بهينه به دست آمده است‪ ،‬امتحان کرد‪.‬‬
‫‪ ‬تعميم دادن‬
‫شبکه بايد بتواند آنچه را ياد گرفته است به کليه حالت ها (جمعيت ورودی) تعميم‬
‫دهد‪ .‬برای اينکه يک شبکه بتواند تعميم دهد بايد پارامتر های کمتری از نقاط داده‬
‫موجود در مجموعه آموزش داشته باشد‪ .‬در شبکه های عصبی‪ ،‬در تمام مسائل مدل‬
‫کردن‪ ،‬ما می خواهيم از ساده ترين شبکه ای استفاده کنيم که بتواند به طور مناسب‬
‫مجموعه آموزش را ارائه دهد‪.‬‬
‫‪65‬‬
‫اصالح های اکتشافی الگوریتم انتشار به عقب‬
‫الگوريتم انتشار به عقب يک جهش بزرگ در پژوهش های شبکه عصبی بود‪ .‬به هر حال الگوريتم پايه‬
‫برای اکثر کاربرد های عملی بسيار کند است‪.‬‬
‫‪ ‬ايرادهای انتشار به عقب‬
‫سطح کارايی برای يک شبکه چند اليه ممکن است شامل چندين نقطه کمينه محلی باشد و انحنای آن‬
‫می تواند در نواحی مختلف از فضای پارامتر کامال تغيير کند‪ .‬در مسائلی که انحنا شديدا روی فضای‬
‫پارامتر تغيير می کند‪ ،‬انتخاب يک نرخ آموزش مناسب برای الگوريتم آموزش مشکل خواهد بود‪ .‬برای‬
‫نواحی مسطح يک نرخ آموزش بزرگ نياز می باشد درحاليکه برای نواحی با انحنای زياد نيازمند يک نرخ‬
‫آموزش کوچک هستيم‪.‬‬
‫‪ ‬رويه هايی جهت بهبود الگوريتم انتشار به عقب‬
‫‪ ‬جنبش آنی‬
‫اين روش با هموار کردن نوسانات منحنی فضای پارامترها همگرايی را بهبود می دهد که اين کار را‬
‫می توان با استفاده از يک فيلتر پايين گذر انجام داد‪.‬‬
‫‪66‬‬
‫اصالح های اکتشافی الگوریتم انتشار به عقب‬
‫‪ ‬مثالی از استفاده فيلتر پايین گذر‬
‫در فرمول زير )‪ 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‬‬
‫‪67‬‬
‫اصالح های اکتشافی الگوریتم انتشار به عقب‬
‫‪ ‬استفاده از فيلتر پايین گذر درمورد شبکه عصبی‬
‫زمانی که فيلتر جنبش آنی به تغييرات پارامتر در به روز رسانی وزن ها و باياس ها اضافه می‬
‫شود‪ ،‬معادالت زير برای جنبش آنی اصالحی انتشار به عقب به دست می آيد‪:‬‬
‫‪Wm (k )  αs m (am1 )T‬‬
‫‪bm (k )  αs m‬‬
‫با استفاده از جنبش آنی توانايی استفاده از نرخ آموزش بزرگتر با حفظ ثبات الگوريتم را داريم‬
‫خصوصيت ديگر جنبش آنی اين است که در مدتی که منحنی در يک جهت ثابت باشد تمايل به‬
‫تسريع همگرايی دارد و دليل نامگذاری جنبش آنی به اين خاطر است که تمايل به واداد کردن‬
‫منحنی به ادامه در جهت مشابه دارد‪ .‬هرچه مقدار بيشتر باشد‪ ،‬منحنی دا‪γ‬رای جنبش آنی‬
‫بيشتری است‪.‬‬
‫‪68‬‬
‫اصالح های اکتشافی الگوریتم انتشار به عقب‬
‫‪ ‬نرخ آموزش متغیر‬
‫با استفاده از افزايش نرخ آموزش در سطوح هموار و سپس کاهش آن زمانيکه شيب‬
‫افزايش می يابد می توان همگرايی را بيشتر کرد‪ .‬بنابراين می توان همگرايی را توسط‬
‫تنظيم نرخ آموزش‪ ،‬در مدت آموزش افزايش داد‪ .‬تعيين زمان تغيير نرخ آموزش و‬
‫اينکه چه مقدار آن را تغيير دهيم‪ ،‬يک لم است‪.‬‬
‫‪69‬‬
‫قوانین الگوريتم انتشار به عقب با نرخ آموزش متغيیر‬
‫‪‬اگر خطای آموزش ی بيشتر از يک ميزان معين ‪( ζ‬بطور نمونه ‪ 1‬تا ‪ 5‬درصد) بعد از به روز‬
‫رسانی وزن ها افزايش يابد‪ ،‬به روز رسانی وزن ها رها شده‪ ،‬نرخ آموزش در فاکتور‪0< <1‬‬
‫‪ ρ‬ضرب می شود و ضريب جنبش آنی صفر مقدار دهی می شود‪.‬‬
‫‪ ‬اگر خطای مربعی بعد از به روز رسانی وزن ها کاهش يابد‪ ،‬به روز رسانی وزنها مورد قبول‬
‫بوده و نرخ آموزش ی در فاکتور‪ ή >1‬ضرب می شود‪ .‬اگر ضريب جنبش آنی قبال صفر شده‬
‫باشد‪ ،‬با مقدار اصليش دوباره مقدار دهی می شود‪.‬‬
‫‪ ‬اگر خطای مربعی کمتر از ‪ ζ‬کاهش يابد‪ ،‬به روز رسانی وزن ها مورد قبول واقع شده اما‬
‫نرخ آموزش و ضريب جنبش آنی بدون تغيير می مانند‪.‬‬
‫‪70‬‬
‫اصالح های اکتشافی الگوریتم انتشار به عقب‬
‫‪ ‬مثالی از تغيير ترخ آموزش در شکل زير ديده می شود‪:‬‬
‫‪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‬‬
‫‪71‬‬
‫اصالح های اکتشافی الگوریتم انتشار به عقب‬
‫‪ ‬اشکاالت روش های اصالحی‬
‫اصالحهای اکتشافی می تواند معموال همگرايی بسيار سريعتری را برای برخی از مسائل‬
‫فراهم کند‪ .‬به هرحال دو اشکال اصلی برای اين روشها وجود دارد‪:‬‬
‫‪ ‬اين اصالحات نياز به مقدار دهی چندين پارامتر دارند و کارايی الگوريتم حساس به‬
‫تغييرات اين پارامتر هاست‪.‬‬
‫‪ ‬اين اصالحات بعض ی مواقع ممکن است در همگرايی مسئله موفق نشود‪.‬‬
‫‪72‬‬
‫روش پیشنهادی برای افزایش سرعت همگرایی‬
‫‪ ‬الگوريتم ترکيبی‬
‫در اين روش يک الگوريتم ترکيبی برای آموزش با مربی شبکه های عصبی پيشخور ارائه شده‬
‫است‪ .‬اين الگوريتم برای يک شبکه دو اليه ارائه شده اما می توان آن را برای شبکه های‬
‫چند اليه نيز به کار برد‪.‬‬
‫الگوريتم ارائه شده برای افزايش سرعت آموزش‪ ،‬در الگوريتم انتشار به عقب پايه استفاده‬
‫شده است‪.‬‬
‫در اين الگوريتم دو روش مختلف برای به روز کردن وزن ها استفاده شده است‪:‬‬
‫‪ .1‬يکی از روش های آموزش استاندارد برای اليه اول‬
‫‪ .2‬استفاده از رابطه زير در آموزش اليه دوم‬
‫‪ e‬و ‪ d‬از روابط زير به دست می آيند‪:‬‬
‫‪ f   d  * e ‬‬
‫)‪d = f-1(d‬‬
‫‪T‬‬
‫‪ f  d  * e ‬‬
‫‪‬‬
‫)‪e = d – (Wx + b‬‬
‫‪‬‬
‫‪min E  d  y  T  d  y   min E‬‬
‫‪73‬‬
‫روش پیشنهادی برای افزایش سرعت همگرایی‬
‫‪ ‬با استفاده از جايگزينی طرف راست رابطه اصلی‪ ،‬در الگوريتم آموزش‪ ،‬وزن های اليه آخر‬
‫در تابع غير خطی اليه آخر ظاهر نمی شوند‪.‬‬
‫‪ ‬در اين روش‪ ،‬ابعاد فضای جستجوی مؤثر برای الگوريتم غير خطی کاهش می يابد‪ .‬بنابراين‬
‫تعداد تکرار های آموزش کمتر خواهد شد‪.‬‬
‫‪74‬‬
‫روش پیشنهادی برای افزایش سرعت همگرایی‬
‫‪ ‬گام های الگوريتم ترکيبی‬
‫‪ .I‬انتخاب وزن ها و باياس ها به طور تصادفی و يا با استفاده از روش های مقدار اوليه‬
‫‪ .II‬به روز کردن وزن ها و باياس ها با اسفاده از يک روش استاندارد مانند الگوريتم انتشار به‬
‫عقب پايه‬
‫‪ .III‬بررس ی قانون توقف و پايان دادن به آموزش در صورت ارضا شدن اين قانون يا رفتن به قدم ‪4‬‬
‫در غير اينصورت‬
‫‪‬‬
‫در الگوريتم ارائه شده ابتدا پارامتر های هر دو اليه از روش استاندارد برای آموزش استفاده می‬
‫کنند اما در صورت کم شدن تغييرات خطا‪ ،‬از روش ترکيبی استفاده شده که روش آموزش‬
‫پارامترهای اليه دوم تغيير کرده و به صورتی که ارائه شد آموزش می بيند‪.‬‬
‫‪75‬‬
‫فصل چهارم ‪:‬‬
‫بررس ي روشهاي مختلف آموزش در شبکه هاي عصبي‬
‫‪76‬‬
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.
77
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






78
Perceptron learning
LMS or Widrow- Hoff learning
Grossberg learning
McCulloch-Pitts Perceptron
79
Perceptron Architecture AGAIN!!!!
80
 Unified Learning Rule
81
 Multiple-Neuron Perceptrons
82
Perceptron Rule Capability
The perceptron rule will always
converge to weights which accomplish
the desired classification, assuming that
such weights exist.
83
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
wij (k  1)  wij (k )   pi (k ) e j (k )
5.
84
Repeat steps 2 to 4 until the errors reach the
satisfictory level.
Recurrent Network
85
Hamming Network
86
Feed Forward Layer
87
Recurrent Layer
88
Hamming Operation
89
Hamming Operation
90
Hopfield Network
91
Performance Optimization
Gradient based methods
92
Basic Optimization Algorithm
93
Steepest Descent (first order Taylor expansion)
94
Example
Plot
2
1
0
-1
95
-2
-2
-1
0
1
2
LMS or Widrow- Hoff learning
 First introduce ADALINE (ADAptive LInear NEuron) Network
96
LMS or Widrow- Hoff learning
or
Delta Rule
 ADALINE network same basic structure as the perceptron network
97
Approximate Steepest Descent
98
Approximate Gradient Calculation
99
LMS Algorithm
This algorithm inspire from steepest descent algorithm
100
Multiple-Neuron Case
101
Difference between perceptron learning
and
LMS learning
 DERIVATIVE
 Linear activation function has derivative
but
 sign (bipolar, unipolar) has not derivative
102
Grossberg learning (associated learning)
 Sometimes known as instar and outstar training
 Updating rule:
wi (k  1)  wi (k )  xi (k )  wi (k )
 Where xi could be the desired input values (instar training,
example: clustering) or the desired output values (outstar)
depending on network structure.
 Grossberg network (use Hagan to more details)
103
First order gradient method
Back propagation
104
Multilayer Perceptron
105
R – S1 – S2 – S3 Network
Function Approximation Example
106
Nominal Response
3
2
1
0
-1
-2
107
-1
0
1
2
Parameter Variations
108
Multilayer Network
109
Performance Index
110
Chain Rule
111
Gradient Calculation
112
Steepest Descent
113
Jacobian Matrix
114
Backpropagation (Sensitivities)
115
Initialization (Last Layer)
116
Summary
117
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.
118
Example: Function Approximation
119
Network
120
Initial Conditions
121
Forward Propagation
122
Transfer Function Derivatives
123
Backpropagation(BP)
124
Weights Update
125
Choice of Architecture
126
Choice of Network Architecture
127
Convergence
Global minimum (left)
128
local minimum (right)
Generalization
129
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.
130
Improved BP algorithms
 First Order Gradient Method
 Second Order Gradient Method
131
‫فصل پنجم ‪:‬‬
‫بهبود الگوریتم پس انتشار خطا‬
‫‪Improved BP algorithms‬‬
‫‪132‬‬
Improved BP algorithms
First Order Gradient Method
1.
2.
3.
4.
5.
6.
7.
8.
133
BP with momentum
Delta- bar- delta
Decoupled momentum
RProp
Adaptive BP
Trianary BP
BP with adaptive gain
Extended BP
1- BP with momentum (BPM)
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.
134
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
135
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
136
3- RProp
 Jervis and Fitzgerald (1993)

137
and
limit the size of the step
Improved BP algorithms
Second Order Gradient Method
1.
2.
3.
4.
5.
6.
138
Newton
Gauss-Newton
Levenberg-Marquardt
Quickprop
Conjugate gradient descent
Broyde –Fletcher-Goldfab-Shanno
Performance Surfaces
 Taylor Series Expansion
139
Example
140
Plot of Approximations
141
Vector Case
142
Matrix Form
143
Performance Optimization
 Basic Optimization Algorithm
144
• Steepest Descent
Minimizing Along a Line
145
1- Newton’s Method
146
Example
147
Plot
148
Non-Quadratic Example
149
Different Initial Conditions
150
DIFFICULT
 Inverse a singular matrix!!!
 Complexity
151
Newton’s Method
152
Matrix Form
153
Hessian
154
2- Gauss-Newton Method
155
3- Levenberg-Marquardt
156
Adjustment of μk
157
Application to Multilayer Network
158
Jacobian Matrix
159
Computing the Jacobian
160
Marquardt Sensitivity
161
Computing the Sensitivities
162
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.
163
Example LMBP Step
164
LMBP Trajectory
165
5- Conjugate Gradient
166
LRLS Method
 Recursive least square
method based method,
does not need gradient
descent.
167
LRLS Method Cont.
168
LRLS Method Cont.
169
Example for compare methods
170
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
171
‫فصل ششم ‪:‬‬
‫شبکه عصبی بازگشتی ‪Recurrent Networks‬‬
‫‪172‬‬
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)
173
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
174
input
hidden
output
 Rabinson and Fallside
175
 Elman
176
 Jordan
177
 Elman and Jordan
178
 Jordan Learning
net1  W x . X (t )  Wc . X c (t )

 where :

2
 X c (t )  O (t  1)  y (t  1)
F1 (net1 )  O1 (net1 )
2
1

net

W
.
O
(t )

y

2
2
2
2
2

F
(
net
)

O
(
net
)

y
(
net
)

179
 Jordan Learning

W x   E
W x


E


W




y
W y


2
2
1
1

E

E

O

net

O

net
W  
  .
.
.
.
.
c
2
2
1
1

Wc
O  net O  net Wc

 X c  t  
2
1 
  . e . F .W y .F .  X c (t )  Wc .


W

c 

1

 X c  t  
W =  . .  X c (t )  Wc .


W

c 

1
180
 Elman and Jordan Learning
net1  Wx . X (t )  Wc1 . X c1 (t )  Wc2 . X c 2 (t )

where :

1
X
(
t
)

O
(t  1)  y(t  1)
 c1

2
X
(
t
)

O
(t  1)  y(t  1)
 c2
F1 (net1 )  O1 (net1 )
2
1

net

W
.
O
(t )

y

2
2
2
2
2

 F (net )  O (net )  y(net )
181
 Elman and Jordan Learning
E

W y   W
y


E
W x  
W x


W   E
 c1
Wc1

W   E
 c2
Wc2
182
(1)
(2)
(3)
(4)
1)
E
E O 2  net 2
W y  
 .
.
.
 . e.F 2 (.).O1
W y
O 2  net 2 W y
2

183
E
E O 2  net 2 O1  net 1
2) W x  
  .
.
.
.
.
2
2
1
1
W x
O  net
O  net W x
  . e . F 2 .W y .F 1 . X (t )
1
184
W x   . 1. X (t )
E
E O 2  net 2 O1  net1
3) Wc1  
  .
.
.
.
.
2
2
1
1
Wc1
O  net O  net Wc1

 X c1  t  
  . e . F  (.).W y .F  (.).  X c1 (t )  Wc1 .


W

c1 

1

2
1

 X c1  t  
Wc1 =  . .  X c1 (t )  Wc1 .

Wc1 

1


O
(t  1) 

1
1
  . . O (t  1)  Wc1 .

Wc1 

1
185
E
E O 2  net 2 O1  net1
4) Wc2  
  .
.
.
.
.
2
2
1
1
Wc2
O  net O  net Wc2

 X c2  t  
  . e . F  (.).W y .F  (.).  X c2 (t )  Wc2 .

Wc2 

1

2
1

 X c2  t  
Wc2 =  . .  X c2 (t )  Wc2 .

Wc2 

2


O
(t  1) 

1
2
  . . O (t  1)  Wc2 .

Wc2 

1
186
Jordan with Neuron Feedback
 X c (t )  O1 (t  1)   X c (t  1)

 O1 (t  1)   O1 (t  2)

net1 (t )  W x . X (t )  Wc . X c (t )


 W x . X (t )  Wc . O1 (t  1)   O1 (t  2)


187

Jordan with Neuron Feedback
net1 (t )  W x . X (t )  Wc . X c (t )


 W x . X (t )  Wc . O1 (t  1)   O1 (t  2)


2
2
1
1

E

E

O

net

O

net
W  .
 .
.
.
.
.
c
2
2
1
1

Wc
O  net O  net Wc



 X c (t ) 
2
1
 .e.F (.).W y .F (.).  X c (t )  Wc .


Wc 



188

Flexible NN
Neuron Functions (Unipolar)
f x  
1
1  exp gx
F ( a, x ) 
189
2a
1 e
2 a . x
Flexible NN
Neuron Functions (Bipolar)
1  exp gx
g x  
1  exp gx
2 a . x
1 e
F (a, x) 
2 a . x
1 e
190
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
191
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 


net 
1
T

net (k )  W1 . X 


 1
 netn1 
 net12 

2 
net
net 2 ( k )  W2T . O1   2 


 2
 netn1 
O (k )  F (a , net (k ))
O2 (k )  F 2 (a2 , net 2 (k ))
1
1
1
2
1
1
1
1
 O12   F12 (a 2 , net12 )
0
 2 
2
2
2
O
0
F
(
a
,
net
)
2
2
2
 
  
0
 2 
0
0
On 2  
192


0



Fn21 (a 2 , netn21 ) 
0
0
Learning
1 n2 2 1 n2
E   ei   (ti  oi2 )2
2 i 1
2 i 1
a (k )  .
2
F 2 (a 2 , net 2 ) 
E
 a 2 (k )
 
2 2 a 2 .*net 2
(2net e
E
a(k )  .
O 2 (k )
O 2 ( k )  a 2 ( k )
)(1  e
2 a 2 .*net 2
E
a(k )
 .(e).F2(a 2 , net 2 )  .e.F2(a 2 , net 2 )
).* a  [(1  e
2
2 a 2 .*net 2
(a ) .*(1  e
2 2
2 2 a 2 .*net 2
)  a .*(2net e
2
2 a 2 .*net 2 2
)
2a 2 net 2e2 a .*net (1  e2 a .*net  1  e2 a .*net ) (1  e2 a .*net )(1  e2 a .*net )


2 2
2 a 2 .*net 2 2
2 2
2 a 2 .*net 2 2
(a ) .*(1  e
)
(a ) .*(1  e
)
2

193
2
2
2 2 a 2 .*net 2
4net e

1
2
a 2 .*(1  e2 a .*net )2 a
2
2
2
F 2 (a 2 , net 2 )
2
2
2
2
2
2
)].*(1  e
2 a 2 .*net 2
)
Learning
a(k )  .
1 n2 2 1 n2
E   ei   (ti  oi2 )2
2 i 1
2 i 1
a (k )  .
1
E
 a (k )
1
 
E
E
a(k )
O 2 (k )  net 2 (k ) O1 (k )
O 2 (k )  net 2 (k ) O1 (k )  a1 (k )
 .e. F2(a 2 , net 2 ) .W 2 . F1(a1 , net1 )
Derived respect to net 2
194
Derived respect to a2
Recurrent Flexible NN
195
a(k )  .
E
a(k )
‫فصل هفتم ‪:‬شبكه هاي حافظه دار ‪ TDLV‬و گاما‬
‫‪196‬‬
‫حافظه درشبكه عصبي‬
‫‪ ‬شبكههاي عصبي مي توانند بهتر از روشهاي كالسيك خطي مشخصات پيچيده سريهاي‬
‫زماني را مدل كنند ‪.‬‬
‫‪ ‬به صورت تئوري نيازي به اين كه آيا سري زماني ايستا است يا خير جهت مدلسازي با‬
‫شبكههاي عصبي نداريم ‪.‬‬
‫‪ ‬شبكههاي عصبي نياز به تعداد عظيمي از دادههاي به عنوان ورودي ندارند بر عكس‬
‫روش‪. AR‬‬
‫‪197‬‬
198
W
W
199
‫پيش بيني با كمك ‪MLP‬‬
‫شكل اعمال ورودي‬
‫‪X  x(n) x(n)  x(n 1) x(n 1) x(n 1)  x(n  2) T‬‬
‫شكل اعمال خروجي‬
‫‪200‬‬
‫شبكه هاي حافظه دار‪ TDL‬وگاما‬
‫‪ ‬سند برگ ( ‪ : )1997‬هر تغيير زماني در يك نگاشت ديناميكي ميتواند به طور تقريبا كاملي توسط يك‬
‫ساختاري كه داراي ‪ 2‬بلوك است كه بلوك اول بانك فيلترهاي خطي شبكه مي باشد و بلوك استاتيكي‬
‫بعدي خود را تغذيه ميكند مدل شود‪.‬‬
‫‪ ‬فيلترهاي ‪FIR , IIR‬‬
‫مشكالت‬
‫‪ : IIR ‬بوجود آمدن ناپايداري ها در آموزش‬
‫‪ : FIR ‬ظرفيت محدود مدلسازي‬
‫مزايا‬
‫‪ : IIR ‬كم بودن پارامترها در حوزه هاي بزرگ زمان‬
‫‪ : FIR ‬پايداري شبكه‬
‫‪201‬‬
202
203
‫اعمال حافظه به اليه هاي مياني و خروجي‬
X  x(t ) , x(t  1) ,  , x(t  m  1) T
 
T
Xˆ (t  1)  O(t ) 1 p  G 2
204

1
.
F
(
Net
)
1n
Net   G  .  X 
F  Net    F  G 
1

n p
T
n1
1
n1
n m
T
m1
n m
.  X  m1 
‫مزايا و توپولوژي اعمال فيلتر‬
‫‪ ‬داشتن بیش از یک وزن تحت آموزش در هر سیناپس‬
‫‪ ‬در دسترس بودن داده های زمانهای گذشته‬
‫‪ ‬آموزش پارامترهای فیلتر دیجیتال در صورت وجود‬
‫‪205‬‬
TDL ‫توپولوژي و محاسبات پيشرو‬
xij1 (t )  xij 0 (t  1)
xij 2 (t )  xij1 (t  1)
xij 3 (t )  xij 2 (t  1)

206

xijk (t )  xij , k 1 (t  1)
k
yij (t )  wij0 xij0 (t )  wij1xij1 (t )    wijk xijk (t ) 
w
ijl xijl (t )
l 0
TDL ‫توپولوژي و محاسبات پيشرو‬
m z 1
x1 (t )  G ( z )  x0 (t ) 
 x0 (t )
1
1  (1  m ) z
x1 (t )  (1  m ) x1 (t  1)  m x0 (t  1)
x1 (t )  (1  m ) x1 (t  1)  m x0 (t  1)
xijl (t )  (1  mij )  xijl (t 1)  m ij  xij , l 1 (t 1)
k
207
yij (t )  wij 0 xij 0 (t )  wij1 xij1 (t )    wijk xijk (t )   wijl xijl (t )
l 0
(BP) ‫آموزش شبكه گاما‬
 yij (t )
 m ij
 xijl (t )
 m ij
x ijl (t )
l 0
m ij
 wijl (t )
 xijl (t )
 (1  m ij )
m ij
 xijl (t  1) 
208
k
  wijl   ijl (t )
l 0
  ijl (t )  (1  m ij )  ijl (t  1)  m ij ij , l 1 (t  1)  xij , l 1 (t )  xijl (t  1)
 yij
 ijl (t ) 
k
  wijl 
 yij (t )
xij 0
 xijl (t  1) 
 xijl (t  1)
m ij

 yij (t )
ui
 xijl (t  1)
m ij
 wij 0
 (1  m ij ) 
 (1  m ij )  xij , l 1 (t  1) 
 m ij
m ij
 xij , l 1 (t  1) 
 xij , l 1 (t  1)
m ij
 m ij
 xij , l 1 (t  1)
m ij
 m ij 
‫نمودار پيش بيني با شبكه هاي حافظه دار‬
‫شبكه گاما‬
‫شبكه‪TDL‬‬
‫‪209‬‬
‫مقايسه روشها‬
1
 ( xˆ (i )  x(i ))
N
N
RMSE 
i 1
N
NMSE 
 ( xˆ (i )  x(i ))
2
 ( x(i )  x (i ))
2
i 1
N
i 1
1
MBE   xˆ (i)  x(i)
N
1
MAE   xˆ (i)  x(i)
N
N
i 1
N
i 1
210
2
‫نتيجه گیري‬
‫‪ ‬روشهاي سري زماني غيرخطي شبكه هاي عصبي برتري خاص ي برروشهاي غيرشبكه عصبي‬
‫دارند (همانطوركه انتظارداشتيم)‪.‬‬
‫‪ ‬بزرگترين مشكل در روش كالسيك يافتن جواب بهينه به صورت سعي وخطا ميباشد و‬
‫شبكه هاي عصبي نيزاين مشكل را دريافتن تعداد اليه هاي مياني بهينه دارند‪.‬‬
‫‪ ‬هنگامي كه واحد حافظه را به داخل شبكه انتقال دادیم جوابها بسيار بهتر شدند‪.‬اما نكته‬
‫مهم اينجاست كه نتايج روش ‪ TDL‬تقريبا به گاما بسيارنزديك بوده اين امر ميزان اهميت‬
‫و رجحان وزنها را برپارامترعمق حافظه مي رساند‪.‬‬
‫‪ ‬درشبكه هاي حافظه دار(‪ ،TDL‬گاما) اهميت فوق العاده اليه مياني دارا مي باشد‪.‬‬
‫‪211‬‬
: ‫فصل هشتم‬
‫شبکه عصبی مدل مخچه‬
CMAC Neural Network and TD-CMAC
212
CMAC Neural Network and TD-CMAC




Introduction
Time Series
Cerebellar Model Arithmetic Computer (CMAC)
Time-Delay CMAC (TD-CMAC)
1- Output Mapping
2- Learning Algorithm
 Evaluation of TD-CMAC
 Conclusion
213
‫مدل مصنوعي‪ ،‬شبيه ساز ساختار مخچه‬
‫‪‬‬
‫معماري ‪CMAC‬‬
‫كوانتيزه كردن ورودیها‬
‫شيفت بلوكها‬
‫مساحت ايجاد شده توسط بلوكهاي در اليه هاي متناظر‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫بلوك‬
‫‪‬‬
‫اليهها‬
‫‪‬‬
‫فوق مكعب يا سلول حافظه‬
‫كد كردن متغیرهاي دقت باال و انتقال روي تعداد زيادي كانالهاي با دقت كم‬
‫حمل تنها قسمت كوچكي از اطالعات محتوي يك متغیر در هر كانال‬
‫در حالت ماكزيمم فعال بودن هر بلوك‪ ،‬تنها در يك دامنه محدود‬
‫‪214‬‬
215
CMAC Model
+
+
+ 
Input Space
Weights
Adjustment
Weights Table
Block diagram of CMAC
216
Obtained Output
+
+
Desired Output
CMAC Model (Example)
S2
c
i f
b
h e
g d
a
6
5
4
3
2
1
0
Bb
State(4,3)
Hh
Fe
0 1 2 3 4 5 6
A
D
B
E
G
S1
C
F
H
I
The CMAC structure with two inputs
217
‫بكارگیري جدول جستجوي هوشمند‬
‫‪‬نگاشت خروجي و الگوريتم يادگيري در ‪CMAC‬‬
‫‪‬‬
‫خروجي‪ ،‬مجموع وزنهاي فوق مكعبهاي فعال شده است‪.‬‬
‫‪M‬‬
‫‪y(s)  a (s)W   a j (s)W j‬‬
‫‪T‬‬
‫‪ ‬تنظيم وزنها‬
‫‪j 1‬‬
‫) ‪a( s)( yˆ ( s)  aT ( s)Wold‬‬
‫‪‬‬
‫‪Ne‬‬
‫‪Wnew  Wold ‬‬
‫‪ ‬ويژگيهاي ‪:CMAC‬‬
‫‪ ‬تنها تنظيم وزنهاي فوق مكعبهاي فعال شده‬
‫‪218‬‬
219
220
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
221
TD-CMAC Model
X(t)
X(t-1)
TD-CMAC
X(t-d)
block diagram of TD-CMAC model
222
X(t+1)
TD-CMAC Model
X(t-d) X(t-d+1)
X(t-2)
.…
X(t-1)
X(t)
CMAC
CMAC
C12

..
.
.…
CMAC
CMAC
..
.
CMAC
..
.
C1d
B1
C22

C2d
B1
B2
..
..
CMAC
223
C11
Cdd
The structure details of TD-CMAC model
Bd

X(t+1)
TD-CMAC Model
1- Output Mapping
d
d
M
y(s)  a( s)W   aijk ( s)wijk
i 1 j i k 1
2- Learning Algorithm
Wnew  Wold 
1
cij ( s) 
ij
224

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 input CMAC
X(t-1)
Nb=3 (Number of block)
Ne=3 (Number of layer)
X(t)
0 1 2 3 4 5 6
A
D
B
E
G
225
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
226
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
aijk ( s) wijk
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 6
1
1
2
1
227
2
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
d
M
y(s)  a( s)W   aijk ( s)wijk
i 1 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 6
1
1
2
2
1
228
X(t-2) -> S[1]=6
X(t-1) -> S[2]=3
X(t) -> S[3]=4
X(t+1)-> S[4]=2
3
3
2
3
y(s) = +…
+ w[1][2][2][1][1]
+ w[1][2][3][1][2]
+ w[1][2][2][1][3]
+…
S1
A) Output Calculating
d
d
M
y(s)  a( s)W   aijk ( s)wijk
i 1 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 4 5 6
1
1
2
1
229
2
3
3
2
3
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]
S1
=0
B) Weight Adjusting

Wnew  Wold 
c( s)a( s)( yˆ ( s)  y( s))
Ne
1
CMACij
cij ( s) 
ij
230
y(s) = 0
yˆ (s) = X(t+1)=S[4]=2
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
d
M
y(s)  a( s)W   aijk ( s)wijk
i 1 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)
231
=
C) Repeat A, B with new weights
B) Weight Adjusting
Wnew  Wold 
cij ( s) 
1
ij

Ne
c( s)a( s)( yˆ ( s)  y( s))
y(s) = 0
yˆ (s) = X(t+1)=S[4]=2
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
232
C) Repeat A, B with new weights
A) Output Calculating
d
d
M
y(s)  a( s)W   aijk ( s)wijk
i 1 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)
233
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
234
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
235
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
236
48
96
144
: ‫فصل نهم‬
Bayesian Neural Network ‫شبکه عصبی بیزین‬
237
‫‪ . 1‬معرفی شبکه عصبی بيزین تک الیه‬
‫‪ . 2‬توسعه شبکه عصبی بيزین تک الیه به چندالیه‬
‫‪ 1-2‬روش قسمت بندی‬
‫(‪)Partitioning‬‬
‫‪ 2-2‬روش روی هم افتادگی (‪)Overlapping‬‬
‫‪ . 3‬ویژگی های پیوسته و شبکه عصبی بيزین‬
‫‪238‬‬
‫هدف نهایی که در این شبکه به دنبال آن هستیم‪ ،‬محاسبه‬
‫احتمال تمامی کالس ها به ازای داده های ورودی به شبکه‪ ،‬و‬
‫انتخاب کالس با بیشترین مقدار احتمال برای هر داده‪ ،‬به‬
‫عنوان کالس ی که داده متعلق به آن است‪ ،‬می باشد‪.‬‬
‫‪239‬‬
‫تئوری بيز برای محاسبه )‪:P(y|x‬‬
‫‪240‬‬
‫فرض کنید مقادیر ‪ N‬ویژگی مستقل مربوط به داده ‪،x‬‬
‫}‪ ،x={x1 , x2 , …,xN‬در دست باشد‪ .‬در اینصورت احتمال‬
‫‪ x‬می تواند به صورت زیر نوشته شود ‪:‬‬
‫همچنين احتمال شرطی )‪ p(x|y‬نيز بصورت زیر نوشته می‬
‫شود‪:‬‬
‫‪241‬‬
‫احتمال هر کالس به ازای مشاهده داده ورودی‪ ،‬به صورت زیر‬
‫محاسبه خواهد شد ‪:‬‬
‫‪242‬‬
‫معادله اخیر پایه کالسیفیر ساده بیز می باشد‪.‬‬
‫طراحی بیز ساده مربوط به اوقاتی می شود که فرض مستقل‬
‫بودن ورودی ها را داریم‪.‬‬
‫‪243‬‬
‫رابطه زیر همواره برقرار است ‪:‬‬
‫‪244‬‬
‫با جایگذاری و لگاریتم گرفتن از رابطه (‪ )1‬به رابطه زیر‬
‫خواهیم رسید‪:‬‬
‫مزیت فرم لگاریتمی خطی بودن آن است‪ .‬بدین معنی که‬
‫کالسیفير ساده بيز می تواند با یک تابع تمایز خطی و بنابراین‬
‫با یک شبکه عصبی تک الیه پیاده سازی شود‪.‬‬
‫‪245‬‬
‫معادله معمولی برای پخش سیگنال در یک شبکه عصبی‬
‫صورت زیر است‪:‬‬
‫‪246‬‬
‫نمای شبکه عصبی بيزین تک الیه برای حالتی که در آن ویژگی‬
‫های مربوط به داده ها‪ ،‬گسسته ( دارای چند مقدار محدود )‬
‫می باشند‪:‬‬
‫‪247‬‬
248
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
249
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
250
2
1
2
1
2
1
2
3
4
5
6
‫به احتمال شرطی نتیجه متغير ‪ yi‬به شرط مشاهده‬
‫ویژگی داده ‪ ،xi‬یعنی )‪ P(yj|xi‬اشاره کند‪:‬‬
‫‪251‬‬
‫حال می توانیم دو فرم رابطه زیر را با هم مقایسه کنیم‪:‬‬
‫‪252‬‬
‫آموزش شبکه عصبی بيزین‪:‬‬
‫‪253‬‬
‫مثال‪:‬‬
‫فرض کنید داده ورودی به شبکه به صورت زیر باشد‪:‬‬
‫‪):‬بز کوهی(‪Antelope‬‬
‫‪1,0,0,1,0,0,0,1,1,1,0,0,4,1,0,1,1‬‬
‫‪254‬‬
Y11
β1
Y12
Y13
Y17
β2
β7
β3
X11
255
X12
X21
X22
X31
X32
256
Y11
β1
Y12
YY13
13
Y17
β2
β7
β3
X11
257
X12
X21
X22
X31
X32
258
259
260
‫تخمين کالسیک‪:‬‬
‫‪261‬‬
‫تخمين بيزین‪:‬‬
‫‪262‬‬
‫توسعه شبکه عصبی بیزین‬
‫تک الیه به چندالیه‬
‫‪263‬‬
‫اگر ویژگی های ورودی به یکدیگر وابسته باشند‪ ،‬شبکه عصبی‬
‫تک الیه جواب خوبی بدست نمی دهد‪.‬‬
‫برای جبران وابستگی ها در میان الیه ورودی و الیه خروجی از‬
‫یک الیه پنهان استفاده می کنیم که این الیه از ترکیب ستون‬
‫های ورودی ( آنهایی که به هم وابسته هستند) حاصل می‬
‫شود‪.‬‬
‫‪264‬‬
‫بطور کلی برای تشکیل شبکه عصبی بيزین چند الیه از دو‬
‫معماری می توان سود جست ‪:‬‬
‫الف ) ‪Partitioning‬‬
‫ب ) ‪Overlapping‬‬
‫‪265‬‬
‫(‪Partitioning‬شبکه عصبی چند الیه )‬
‫‪266‬‬
‫وابستگی‬
X1
X2
X1
X2
U1
267
X3
X3
X3
U1
268
X3
269
270
‫مییی تییوان توزیییع را بییروی تمییام حییوزه بییه عنییوان یییک ضییرب کییه‬
‫شامل متغيرهای ‪ uk‬می شود بیان کنیم ‪:‬‬
‫‪271‬‬
‫(‪Overlapping‬شبکه عصبی چند الیه )‬
‫‪272‬‬
d
a
c
b
273
f
e
274
275
276
‫در این نوع معماری شبکه عصبی بيزین چند الیه ستون (ویژگی) های اولیه پس از‬
‫ترکیب بطور مستقیم نيز با الیه خروجی ارتباط دارد ‪.‬‬
‫‪277‬‬
278
‫اطالعات متقابل میان دو ویژگی ‪ X,Y‬به صورت زیر تعریف می شود ‪:‬‬
‫اگر مقدار معیار باال از یک ‪ threshold‬بیشتر شود ‪ ،‬دو ویژگی وابسته تلقی می‬
‫شوند و یک ستون پیچیده برای ترکیب آنها درنظر گرفته می شود ‪.‬‬
‫‪279‬‬
280
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
281
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
‫ویژگی های پیوسته و شبکه عصبی بيزین‬
‫‪282‬‬
283
284
‫تابع چگالی احتمال بروی متغير پیوسته ‪ z‬می تواند به‬
‫وسیله یک تعداد متناهی از جمع تقریب زده شود‪:‬‬
‫‪n‬‬
‫) ‪P( z )   P(vi ) P( z | vi‬‬
‫‪i 1‬‬
‫‪285‬‬
286
0. 65 * 0.30 =0.195
287
0.35 * 0.60 = 0.21
‫هر مقدار در بازه به درجه متفاوتی از جزء متفاوتی "متعلق" خواهد بود‬
‫‪:‬‬
‫‪288‬‬
289
log(p ( y | z )) 
P( y | vii' )
log( p( y ))  i log( '
P(vii' | z i ))
i P ( y ) P (v ' )
ii
290
Sj j 
iWij oi
S j  log(P( y j | z ))
 j  log(P( y j ))
W
291

i, j
P( y j , vi )
P( y j ) P(vi )
‫مدل ترکیبی‬
‫‪292‬‬
‫مدل ترکیبی ‪:‬‬
‫یک سری از توابع که اجتماع دامنه هیای آنهیا ییک بیازه را‬
‫پوشش می دهد‪.‬‬
‫در اییین کییار‪ ،‬تبییدیل یییک متغيییر پیوسییته بییه تعییدادی متغيییر گسسییته کییه‬
‫بتوانند به عنوان ورودی شبکه عصیبی بيیزین اسیتفاده شیوند‪ ،‬توسیط‬
‫مدل ترکیبی با توابع گوسین صورت می گيرد‪.‬‬
‫‪293‬‬
‫توزیع ع ع ععع گوسع ع ع ععین بع ع ع ععا بع ع ع ععردار میع ع ع ععانگین خع ع ع ععود‪ µ ،‬و مع ع ع ععاتریس‬
‫کوواریععانس خععود‪ ،Σ ،‬شععناخته مععی شععود و دارای تععابع توزیععع‬
‫زیر است ‪:‬‬
‫‪(z : mi , i ) ‬‬
‫‪i‬‬
‫‪f‬‬
‫‪1‬‬
‫‪1‬‬
‫‪1‬‬
‫'‬
‫) ) ‪exp( ( z  m i ) i ( z  m i‬‬
‫‪d‬‬
‫‪2‬‬
‫| ‪(2 ) |  i‬‬
‫‪294‬‬
‫مسئله ای که مطرح است‪ ،‬تخمین‬
‫پارامترهای ترکیبات مدل ترکیبی‬
‫گوسین است‪.‬‬
‫‪295‬‬
πi=P(vi)
4
f
i
(z : mi , i ) 
1
1
exp( ( z  m i ) i1 ( z  m i ) ' )
2
(2 ) d |  i |
( )

P
(
v
|
z
 i  1 i ) / C
c
1
( )
( )
P
(
v
|
z
)
z
 1 i
c
m
C i
i



c

i
296
1
P(vi | z
( )
2
)(z
( )
C i
 m i )(z
( )
 mi )
'
3
‫‪Expectation Maximization‬‬
‫با فرض برخی مقادیر اولیه تصادفی برای پارامترها‪ ،‬از معادله (‪ )4‬می توان‬
‫برای محاسبه مقدار تعلق هر نمونه به هر جزء‪ ،‬استفاده کرد‪ .‬این مرحله‪،‬‬
‫مقدار مورد انتظار است‪.‬‬
‫سپس پارامترهای تخمين زده شده با معادالت (‪ )1‬تا (‪ )3‬مقادیر معادله (‪)4‬‬
‫را بدست می دهند‪ .‬این مرحله‪ ،‬ماکزیمم سازی است‪.‬‬
‫این دو مرحله تا زمانی که پارامترها همگرا شوند‪ ،‬تکرار می شوند‪.‬‬
‫‪297‬‬
‫بررس ی الگوریتم ماکزیمم سازی مقدار مورد انتظار‪:‬‬
‫الگوریتم ماکزیمم سازی مقدار مورد انتظار دارای ضعف هایی همانند‬
‫زیر می باشد‪.‬‬
‫*)این روش یک روش محلی‪ ،‬و نسبت به پارامترهای اولیه انتخاب شده‬
‫بسیار حساس می باشد و ممکن است به یک محدوده پارامترها که‬
‫تخمين های نادرست را ارائه می دهد همگرا شود‪.‬‬
‫بیرای حییل اییین مسییئله چنییدین روش مییورد بررسی ی قیرار گرفتییه اسییت کییه از ییک‬
‫یییا ترکیبییی از اسییتراتژی هییایی هماننیید چنییدین نقطییه شییروع تصییادفی و انتخییاب‬
‫تخمییين نهییایی بطوریکییه آن تخمییين دارای بییاالترین احتمییال باشیید و یییا انتخییاب‬
‫اولیه پارامترها به وسیله الگوریتم خوشه بندی استفاده می کنند‪.‬‬
‫‪298‬‬
‫بررس ی الگوریتم ماکزیمم سازی مقدار مورد انتظار‪:‬‬
‫*)مسئله دیگری که کارایی ماکزیمم سازی مقدار مورد انتظار‬
‫را تحت تاثير قرار می دهد مشخص نبودن تعداد ترکیبات‬
‫است‪.‬‬
‫برای تخمين تعداد بهینه ترکیبات نيز مطالعات زیادی صورت‬
‫گرفته است‪ .‬برای مثال معیار اطالعات ‪،)AIC( Akaike‬‬
‫استنتاج بيزین ‪ ، )BIC( Schwarz‬معیار احتمال دسته بندی‬
‫مجتمع )‪.(ICL‬‬
‫‪299‬‬
‫الگور یتم ‪K-Means‬‬
‫‪ .1‬مرحله اول ‪ :‬پیدا کردن مرکز دسته اول به صورتی که رابطه زیر را ماکزیمم کند ‪:‬‬
‫‪300‬‬
‫الگور یتم ‪K-Means‬‬
‫‪ .2‬مرحله دوم ‪ :‬به شرط داشتن (‪)k-1‬امين ترکیب‪ ،‬معیار هر داده کاندید برای مرکز‬
‫ترکیب ‪k‬ام می تواند بصورت زیر نوشته شود‪:‬‬
‫‪301‬‬
‫تخمين تعداد بهینه ترکیبات ‪:‬‬
‫هنگامی که یک جزء اضافه می شود‪ ،‬اگر ارتباط میان ‪k‬امين جزء و‬
‫اجزاء قبلی هنوز هم مستقل باشد‪ ،‬پارامترها با تخمين دوباره از ‪k‬‬
‫جزء بدست می آیند‪ .‬برعکس اگر حداقل یکی از اجزا با جزء اضافه‬
‫شده همبسته باشد‪ ،‬باید پارامترها را در مدل ترکیبی )‪ (k-1‬مالحظه‬
‫کنیم و تعداد ترکیبات را حداقل )‪ (k-1‬مشخص کنیم‪.‬‬
‫‪302‬‬
‫رابطه متقابل میان اجزاء ‪:‬‬
‫‪303‬‬
‫رابطه متقابل میان اجزاء ‪:‬‬
‫رابطه ی متقابل ممکن است دارای سه مقدار باشد‪:‬‬
‫منفی‪ ،‬صفر و یا مثبت‬
‫اگر دارای مقدار مثبت باشد‪ ،‬بدین معنی است که‬
‫‪ i‬و ‪ k‬بطور آماری به یکدیگر وابسته اند‪.‬‬
‫‪304‬‬
‫الگوریتم تخمين تعداد بهینه ترکیبات ‪:‬‬
‫‪305‬‬
‫پیاده سازی بروی داده های مصنوعی ‪:‬‬
‫‪306‬‬
307
‫میانه ی ‪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‬‬
‫‪308‬‬
‫پیاده سازی و آزمایش ‪: GMM‬‬
‫داده ‪: glass‬‬
‫‪309‬‬
310
311
‫نتیجه دستهبندی با استفاده از شبکه عصبی بيزین تکالیه‬
‫‪312‬‬
‫نتیجه دستهبندی با استفاده از شبکه عصبی بيزین چندالیه‬
‫در حالت قسمت بندی‬
‫‪313‬‬
‫دستهبندی با استفاده از شبکه عصبی بيزین چندالیه‬
‫در حالت روی هم افتادگی‬
‫‪314‬‬
‫فصل دهم ‪ :‬شبکه عصبی مثلثاتی‬
‫‪315‬‬
‫فصل یازدهم ‪:‬‬
‫شبکه عصبی ویولت ‪Wavelet Neural Network‬‬
‫‪316‬‬
‫فصل دوازدهم ‪ :‬شبکه عصبی کانولوشنال‬
‫‪317‬‬
‫فصل دوازدهم ‪:‬‬
‫کاربرد شبکه های عصبی‬
‫در شناسایی‪ ،‬پیش بینی و کنترل سیستم ها‬
‫‪318‬‬
‫‪ ‬شناسایی‪ ،‬پیش بینی و کنترل‬
‫‪ ‬شبکه های عصبی به عنوان شناساگر‬
‫‪ ‬شبکه های عصبی در پیش بینی سیستم ها‬
‫‪ ‬شبکه های عصبی به عنوان کنترلر‬
‫‪319‬‬
‫‪ ‬کنترلر عصبی‬
‫‪‬کنترلر عصبی تقليدگر‬
‫‪‬کنترلر و شناساگر مستقیم‬
‫‪‬کنترلر و شناساگر معکوس‬
‫‪‬كنترل معكوس تطبيقي‬
‫‪‬كنترل مدل داخلي غيرخطي‬
‫‪‬كنترل تطبيقي عصبي‬
‫‪‬نقاد تطبيقي‬
‫‪‬کنترلر ‪PID‬خود تنظیم‬
‫‪‬شبكه عصبي به عنوان جبرانگر‬
‫‪‬كنترلر تطبيقي مدل مرجع عصبي مستقيم‬
‫‪‬كنترل مدل پيش بين‬
‫‪320‬‬
‫‪ ‬کنترلر ترکیبی‬
‫‪‬كنترلر ترکیبی از کنترل ساختار متغیر و کنترل عصبي‬
‫‪‬كنترل تطبيقي مستقيم پايدار‬
‫‪‬خطي سازي فيدبك تطبيقي عصبي‬
‫‪‬کنترلر ترکیبی از کنترل فیدبک و کنترل عصبی‬
‫‪‬آموزش خطای پسخور‬
‫‪‬کنترلر ترکیبی از کنترل کنترل بهره ثابت و کنترل عصبی‬
‫‪‬کنترلر شبکه عصبی بر پایه ُمد لغزش ی‬
‫‪ ‬کنترلر بهینه عصبی‬
‫‪321‬‬
‫پایان‬