You are on page 1of 30

Neuronske mreže:

LMS algoritam
Prof. dr. sc. Sven Lončarić

Fakultet elektrotehnike i računarstva


https://www.fer.unizg.hr/predmet/neumre_c

1
Pregled predavanja
• Uvod
• Wiener-Hopf jednadžbe
• Metoda najbržeg spusta
• LMS algoritam učenja
• Krivulja učenja
• Diskusija
• Zadaci

2
Uvod
• U ovom poglavlju govorimo o klasi neuronskih mreža s jednim
neuronom koje rade u linearnom režimu (nema nelinearnog bloka)
• Ovakve mreže su važne zbog toga što:
• linearni adaptivni filtri su dobro proučeni i primjenjeni u području
komunikacija, upravljanja, radarima i biomedicini
• predstavljaju prvi korak ka višeslojnim neuronskim mrežama

3
Uvod
• LMS = least mean squares
• LMS algoritam je algoritam učenja
• LMS algoritam su razvili Widrow i Hoff, 1960
• LMS algoritam se koristi u adaptivnoj obradi signala:
• za adaptivnu ekvalizaciju telefonskih kanala,
• uklanjanje jeke na telefonskim linijama,
• adaptivnu detekciju signala u šumu

4
Problem optimalnog filtriranja
• Neka imamo p senzora postavljenih u
prostoru x1
w1
• Neka su x1, x2, …, xp signali koje daju x2 w2
senzori i koji se množe s težinama w1, y
w2, …, wp wp
• Treba odrediti težine w1, w2, …, wp xp
tako da se minimizira razlika
dobivenog odziva y i željenog odziva
d u smislu srednje kvadratne p

pogreške y = å wk xk
k =1

5
Problem optimalnog filtriranja
• Signal pogreške dan je kao:
e=d–y
• Pretpostavimo da je d slučajna varijabla
• Pretpostavimo da su ulazni uzorci xk slučajne varijable, odnosno da je
taj niz slučajnih varijabli jedan slučajni proces (slučajni niz)
• Slijedi da su i y i e također slučajne varijable

6
Problem optimalnog filtriranja
• Mjera kvalitete odziva je srednja kvadratna pogreška:
J = 1/2 E [e2]
gdje je E operator statističkog očekivanja
• Problem optimalnog linearnog filtriranja glasi: Odrediti optimalni
skup težina w1, w2, …, wp za koji je srednja kvadratna pogreška J
minimalna
• Rješenje ovog problema u području digitalne obrade signala naziva se
Wienerov filtar

7
Problem optimalnog filtriranja
• Izraz za srednju kvadratnu pogrešku može se raspisati kao:

ù 1 é p p ù
1
[ ] é p
J = E d - E êå wk xk d ú + E êåå w j wk x j xk ú
2
2

ë k =1 û 2 ë j =1 k =1 û
• Nadalje izraz se može pojednostavniti kao:

[ ] [ ]
p
1 1 p p
J = E d - å wk E [xk d ] + åå w j wk E x j xk
2

2 k =1 2 j =1 k =1
gdje su težine wi kao konstante izlučene ispred znaka sumacije i
operatora očekivanja

8
Problem optimalnog filtriranja
• Možemo uvesti slijedeću notaciju:
• Srednja kvadratna vrijednost željenog odziva d:
rd = E d 2 [ ]
• Kros-korelacijska funkcija željenog odziva d i signala xk:
rdx (k ) = E [dxk ], k = 1,2, !, p
• Autokorelacijska funkcija ulaznih signala:
[ ]
rx ( j , k ) = E x j xk , j , k = 1,2, ! , p
9
Problem optimalnog filtriranja
• Koristeći uvedenu notaciju možemo pisati izraz za srednju kvadratnu
pogrešku kao:
p
1 1 p p
J = rd - å wk rdx (k ) + åå w j wk rx ( j , k )
2 k =1 2 j =1 k =1

• Multidimenzionalni prikaz funkcije J u ovisnosti o težinama w1, w2, …,


wp kao slobodnim parametrima daje tzv. plohu pogreške
• Ploha pogreške je ploha drugog reda koja ima udubljeni oblik s
jednim globalnim minimumom gdje se postiže minimalna pogreška
10
Minimizacija pogreške
• Da bi pronašli minimum funkcije pogreške J koja je funkcija p varijabli
w1, w2, …, wp treba odrediti parcijalne derivacije funkcije J po
varijablama w1, w2, …, wp i izjednačiti ih s nulom
• Parcijalne derivacije funkcije pogreške J dane su izrazima:

¶J p
= -rdx (k ) + å w j rx ( j , k ), k = 1,2, ! , p
¶wk j =1

11
Wiener-Hopf jednadžbe
• Izjednačavajući parcijalne derivacije s nulom dobivamo Wiener-Hopf
jednadžbe:
p

å w r ( j, k ) = r
j =1
j x dx (k ), k = 1,2, ! , p

• Težine w1, w2, …, wp koje zadovoljavaju Wiener-Hopf jednadžbe


definiraju filtar koji se zove Wienerov filtar
• Za rješenje Wiener-Hopf jednadžbi potrebno je izračunati inverziju
matrice dimenzija p×p
• Da se izbjegne računanje inverzne matrice mogu se koristiti iterativne
gradijentne metode
12
Metoda najbržeg spusta
• engl. steepest descent method
• Korištenjem najbržeg spusta težine filtra su vremenski promjenjive i
njihove vrijednosti određuju se iterativno uzduž plohe pogreške s
ciljem kretanja prema globalnom minimumu
• Korekcija težine u iteraciji n jednaka je produktu konstante h i
gradijenta:
¶J
Dwk (n) = -h , k = 1,2, ! , p
¶wk

gdje je h pozitivna konstanta koja određuje brzinu učenja


13
Metoda najbržeg spusta
• Uz danu staru vrijednost težine u iteraciji n nova vrijednost računa se
kao:
wk (n + 1) = wk (n) + Dwk (n) , k = 1,2, !, p

• Ako se za gradijent uvrsti ranije dobiveni izraz dobivamo konačni


izraz:
é p
ù
wk (n + 1) = wk (n) + h êrdx (k ) - å w j (n)rx ( j , k )ú , k = 1,2, ! , p
ë j =1 û

14
LMS algoritam
• engl. least-mean-square algorithm
• Problem kod Wienerovog filtra je da moramo znati kros-korelacijsku
funkciju rdx(k) i autokorelacijsku funkciju rx(j,k)
• LMS algoritam je specijalni slučaj ranije izvedenog algoritma s
najbržim spustom
• LMS algoritam je temeljen na trenutnim procjenama autokorelacijske
i kros-korelacijske funkcije:

rˆ( j , k ; n) = x j (n) xk (n)


rˆdx (k ; n) = xk (n)d (n)
15
LMS algoritam
• Ako uvrstimo trenutne procjene u ranije izvedeni izraz dobivamo izraz
za LMS algoritam učenja (delta pravilo učenja, Widrow-Hoff pravilo
učenja) :
é p
ù
wk (n + 1) = wk (n) + h ê xk (n)d (n) - å w j (n) x j (n) xk (n)ú
ë j =1 û
é p
ù
= wk (n) + h êd (n) - å w j (n) x j (n)ú xk (n)
ë j =1 û
= wk (n) + h[d (n) - y (n)]xk (n), k = 1,2, ! , p

Dwk (n) = he(n) xk (n)


16
LMS algoritam
• Slika prikazuje adaptivni
filter wk1
x1(n)
• Težine se dinamički wk2
x2(n)
izračunavaju u realnom y(n)
+
vremenu pomoću LMS
algoritma wkp
xp(n)
-
e(n)
+

d(n)

17
LMS algoritam - sažetak
1. Inicijalizacija. Postaviti početne vrijednosti

wk (1) = 0 , k = 1,2, !, p

2. Filtriranje. Za trenutke n=1, 2, ... izračunaj


p
y ( n) = å w j ( n) x j ( n)
1=1
e( n ) = d ( n ) - y ( n )
wk (n + 1) = wk (n) + he(n) xk (n), k = 1,2, ! , p

18
Krivulja učenja
• Krivulja učenja je prikaz ovisnosti pogreške J(n) o indeksu iteracije n
• Krivulja učenja pokazuje karakteristike procesa učenja
• Za neki LMS algoritam karakteristična vrijednost je konačna
vrijednost pogreške
• Konačna vrijednost pogreške je uvijek veća od stacionarne pogreške
za pripadni Wienerov filtar: J (¥)
• Razlika ovih dvaju grešaka zove se preostala pogreška: J min

J ex = J (¥) - J min

19
Krivulja učenja
• Kvocjent preostale pogreške i Wienerove pogreške zove se
razdešenost: J ex
M=
J min
• Razdešenost se izražava u postocima (npr. razdešenost od 10% smatra
se prihvatljivom u praksi)
• Važna karakteristika LMS algoritma je srednje vrijeme konvergencije
• Srednje vrijeme konvergencije može se definirati npr. kao vremenska
konstanta eksponencijalne funkcije pomoću koje možemo aproksimirati
krivulju J(n)

20
Krivulja učenja
• Razdešenost je proporcionalna parametru učenja h
• Srednje vrijeme konvergencije je obrnuto proporcionalno parametru
brzine učenja h
• To su kontradiktorni zahtjevi jer ako smanjimo brzinu učenja h da bi
smanjili razdešenost onda srednje vrijeme konvergencije postaje veće
• Prilikom projektiranja potrebno je pažljivo odabrati brzinu učenja h
da bi se zadovoljili svi zahtjevi

21
Promjena brzine učenja
• Najjednostavniji način učenja je kada se konstanta učenja h ne
mijenja s indeksom iteracije n:
h(n)=h0, za svaki n
• Konvergencija LMS algoritma može se popraviti ako se koristi
promjenjiva konstanta učenja npr:
h(n)=c / n, gdje je c konstanta
• Zbog problema velikih vrijednosti gornjeg izraza za male n koristi se i
modificirani izraz:
h0
h (n ) =
1 + (n / t )
22
Primjene LMS algoritma
• LMS algoritam ima puno primjena uključujući
• Identifikacija sustava
• Aktivno upravljanje i uklanjanje šuma (engl. active noise control)

23
Primjer: Identifikacija sustava
x(n) Nepoznati d(n)- + e(n)
sustav

y(n)

w1 w2 w3 wp
Korekcija težina
wi pomoću
z-1 z-1 z-1 LMS algoritma

Model sustava (adaptivni FIR filtar) 24


Primjer:
Adaptivno uklanjanje buke
• Engl. adaptive noise cancellation
• Primjeri:
• Uklanjanje buke iz pilotske kabine
• Buka mlaznog motora do 140 dB, govor pilota 30 dB
• Govorna komunikacija nije moguća bez poništavanja buke
• Buka motora nije konstantna nego ovisi o režimu leta
• Poništavanje buke mora biti adaptivno, mora ovisiti o buci
• Slušalice koje poništavaju šum

25
Adaptivno uklanjanje buke
signal • s je signal, a n0 je šum koji
s + n0 z nije koreliran sa signalom
+
signal i šum - s
• n1 je referentni šum koji je
koreliran sa šumom n0
n1 adaptivni y
filtar
• y je procjena šuma n0
šum
• Npr. n1 je šum motora
snimljen izvan kabine, a s
+ n0 je korisni signal u
kabini zagađen šumom
26
Adaptivno uklanjanje buke
• Signal y nije koreliran sa signalom s
• Šum n0 nije koreliran sa signalom s
• Dakle vrijedi:
z = s + n0 - y
E[ z 2 ] = E[ s 2 ] + E[(n0 - y ) 2 ]

• Kad adaptivni filter mijenjamo tako da minimiziramo E[z2], onda


minimiziramo i E[(n0 – y)2]

27
Adaptivno uklanjanje buke
• Dakle signal z možemo koristiti kao signal pogreške u adaptivnom
filtru koji uči LMS algoritmom
• Za adaptaciju filtra koristimo LMS pravilo učenja:
Dwk (i ) = hz (i )n1 (i )

28
Diskusija
• LMS algoritam je široko prihvaćen algoritam u adaptivnoj obradi
signala zbog svojih svojstava:
• Jednostavnost implementacije
• Radi dobro u nepoznatoj okolini
• Može pratiti vremenske promjene statistika ulaznog signala

29
Zadaci
• Problem 5.1
• Neka koristimo metodu najbržeg spusta i jednu težinu w(n). Treba
a) odrediti srednju kvadratnu pogrešku J(n) kao funkciju od w(n)
b) Odrediti optimalno rješenje wo(n) i minimalnu pogrešku Jmin

30

You might also like