nn_present[aistudents.ir]

advertisement
‫فهرست مطالب‬
‫فصل اول ‪ :‬مقدمه ای بر شبکه هاي عصبي‬
‫فصل دوم ‪ :‬ارائه ساختارهای مختلف شبکه هاي عصبي‬
‫فصل سوم ‪ :‬ارائه مفاهیم پایه در آموزش شبکه هاي عصبي بر اساس الگوریتم پس انتشار خطا‬
‫فصل چهارم ‪ :‬بررس ي روشهاي مختلف آموزش در شبکه هاي عصبي‬
‫فصل پنجم ‪ :‬بهبود الگوریتم پس انتشار خطا‬
‫فصل ششم ‪ :‬شبکه هاي عصبي بازگشتی‬
‫‪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
yR
2
yR
( 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
_
+
dR
∑

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
n2
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
l0
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 )
l0
(BP) ‫آموزش شبكه گاما‬
 y ij ( t )
 m
k
  w ijl 
l0
ij
 x ijl ( t )
m
ij
 w ijl ( t )
 ijl ( t ) 
ijl
(t )
 m ij
k
  w ijl   ijl ( t )
l0
  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
i1
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
i1
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

i1
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
i1
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
i1
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‬‬
‫پایان‬
Download