Prelucrarea avansat ˘ a a semnalelor Capitolul 2: Reprezent˘ ari rare Bogdan Dumitrescu Facultatea de Automatic ˘ as ¸i Calculatoare Universitatea Politehnica Bucures ¸ti PAS cap. 2: Reprezent ˘ ari rare – p. 1/35
Prelucrarea avansata a semnalelor
Capitolul 2: Reprezentari rare
Bogdan Dumitrescu
Facultatea de Automatica si Calculatoare
Universitatea Politehnica Bucuresti
PAS cap. 2: Reprezentari rare – p. 1/35
Cuprins
• Solutii rare ale sistemelor liniare: definitii, unicitate• Solutii rare aproximative• Algoritmi lacomi (greedy)◦ Matching pursuit◦ Algoritmi cu ortogonalizare
• Relaxari convexe (basis pursuit)• CMMP reponderate iterativ• Proiectarea dictionarului (bazei)• Exemple de aplicatii
PAS cap. 2: Reprezentari rare – p. 2/35
Problema
• Problema studiata în acest capitol: gasirea unei solutii rarepentru sistemul liniar Ax = b
• Matricea A are dimensiune m×N
• De obicei m < N , adica sistemul este subdeterminat si, îngeneral, are o infinitate de solutii
• Solutie rara: x are "putine" elemente nenule• Solutia cea mai rara: cea cu cel mai mic numar de elemente
nenule• Orice sistem liniar subdeterminat are (cel putin) o cea mai
rara solutie, dar ea nu este obligatoriu rara, adica poateavea multe elemente nenule
PAS cap. 2: Reprezentari rare – p. 3/35
Interpretare
• Coloanele matricei A sunt vectori într-o bazasupracompleta (numita si dictionar)
• Aici baza se foloseste în sensul larg, de multime de vectorireprezentativi
• Cautam reprezentarea vectorului b cu un numar cât mai micde vectori din baza
• Motiv: în realitate, multe semnale utile, transformate în spatiiadecvate (de exemplu cu DCT sau DWT) au reprezentari(aproximativ) rare în cel putin unul din acele spatii
• Reprezentarea rara produce informatie condensata asupralui b, care poate fi folosita pentru compresie, eliminareazgomotului, etc.
• Concatenând mai multe baze (DCT+DWT, de exemplu), seobtine un dictionar care poate acoperi mai multe categoriide semnale
PAS cap. 2: Reprezentari rare – p. 4/35
Comentarii
• Problema gasirii celei mai rare solutii este NP-completa,deci în esenta necesita cautare exhaustiva
• În practica, problema se relaxeaza (vom vedea mai târziucum) la cautarea unei solutii rare aproximative (Ax ≈ b)
• Cercetarea recenta (problema aproape ca nu a fost studiataînainte de anul 1990) are doua directii majore◦ (Teorie:) formularea unor conditii de unicitate a solutiei
celei mai rare (i.e. optima) si de evaluare a optimalitatiiunei solutii date
◦ (Implementare:) descrierea unor algoritmi rapizi (i.e. întimp polinomial) care sa gaseasca solutia cea mai rarasuficient de des
PAS cap. 2: Reprezentari rare – p. 5/35
”Norma” 0
• "Norma" ℓ0, notata ‖x‖0, este numarul de elemente nenuleale vectorului x
• Nu este o norma pentru ca nu satisface inegalitatea‖αx‖ = α‖x‖, ∀α ≥ 0
• Într-adevar, ‖αx‖0 = ‖x‖0 pentru α 6= 0 (înmultirea cu unscalar nu modifica numarul de elemente nenule ale unuivector)
• Altfel, inegalitatea triunghiului ‖x + y‖0 ≤ ‖x‖0 + ‖y‖0 estesatisfacuta în general (suma a doi vectori nu poate aveamai multe elemente nenule decât fiecare vector în parte)
• Mai mult, functia ‖ · ‖0 este discontinua, deci nu esteconvexa
PAS cap. 2: Reprezentari rare – p. 6/35
Unicitate—rezultate teoretice
•• spark(A): numarul minim de coloane liniar dependente alematricei A
• Pentru multe baze (de exemplu generate aleator),spark(A) = m + 1 (adica orice n coloane sunt liniarindependente)
• Teorema: daca o solutie a sistemului Ax = b satisface‖x‖0 < spark(A)/2, atunci este cea mai rara
• Demonstratie: fie y o solutie mai rara. Atunci‖x− y‖0 < spark(A). Dar A(x− y) = 0, ceea ce contrazicedefinitia spark(A)
• Utilitatea rezultatului este limitata: calcularea spark(A) estemai dificila decât rezolvarea sistemului
PAS cap. 2: Reprezentari rare – p. 7/35
Coerenta mutuala
• Coerenta mutuala a unei matrice A este
µ(A) = maxi 6=j
|aTi aj |
‖ai‖ · ‖aj‖
• E o masura a celui mai mic unghi între doua coloane alematricei (cu atât mai aproape de 1 cu cât unghiul e mai mic)
• Cu cât N creste (m fiind constant), µ(A) se apropie de 1(spre deosebire de spark, care poate ramâne m + 1)
• Se poate demonstra ca
spark(A) ≥ 1 +1
µ(A)
• Desi da margini mai pesimiste privind raritatea, coerentamutuala se poate calcula usor
PAS cap. 2: Reprezentari rare – p. 8/35
Problema de optimizare
• Vectorul x ∈ RN este rar daca ‖x‖0 ≪ N (pe noi ne
intereseaza ca ‖x‖0 ≪ m)
• Gasirea solutiei celei mai rare poate fi formulata ca oproblema de optimizare
minx
‖x‖0
c.r. Ax = b(1)
• Asta nu simplifica problema, dar poate conduce laaproximarea ei
• Problema (1) nu este convexa• Mai rau, functia ‖x‖0 este discontinua
PAS cap. 2: Reprezentari rare – p. 9/35
Normele p
• Norma 0 poate fi vazuta ca o limita a normelor p
‖x‖0 = limp→0‖x‖pp = lim
p→0
m∑
k=1
|xk|p
• Pentru 0 < p < 1, norma p nu mai este o functie convexa,deci de fapt nu mai este o norma
• Graficul lui |x|p, pentru p = 2, 1, 0.5, 0.1 (negru, albastru,magenta, rosu)
−2 −1.5 −1 −0.5 0 0.5 1 1.5 20
0.2
0.4
0.6
0.8
1
1.2
1.4
1.6
1.8
2
PAS cap. 2: Reprezentari rare – p. 10/35
Solutii aproximative
• În practica, datele sunt afectate de erori, deci, chiar dacasistemul Ax = b ar avea o solutie rara, ea n-ar putea figasita
• De aceea se modifica problema (1) în
minx
‖x‖0
c.r. ‖Ax− b‖ ≤ δ(2)
• De obicei, toleranta δ este aleasa empiric• Tipic se utilizeaza norma 2 în restrictia din (2)• Problema nu se simplifica, adica e la fel de greu de rezolvat
ca (1), si este mai greu de caracterizat teoretic
PAS cap. 2: Reprezentari rare – p. 11/35
Tipuri de algoritmi
• Doua categorii mari de algoritmi pentru rezolvareaproblemei (2), algoritmi lacomi si aproximari (relaxari)convexe
• Algoritmii lacomi (greedy) selecteaza coloanele lui A
(vectorii bazei) una câte una, de fiecare data alegând-o pecea mai "promitatoare"
• Algoritmi: matching pursuit, orthogonal matching pursuit,greedy LS
• Relaxarile convexe se obtin înlocuind norma 0 cu o functieconvexa, de exemplu cu ‖x‖1 (care e cea mai apropiatanorma convexa)
• Algoritmi: basis pursuit
PAS cap. 2: Reprezentari rare – p. 12/35
Matching pursuit—ideea
• Pentru simplitate (si fara pierderea generalitatii),presupunem ‖ai‖2 = 1, adica vectorii din baza sunt normati
• Algoritmul matching pursuit (MP) a fost propus în 1993 deMallat & Zhang, dar era cunoscut dinainte în alte domenii
• MP construieste iterativ multimea indicilor I ai elementelornenule, adaugând câte un indice la fiecare iteratie
• Se porneste de la solutia nula (I = ∅), pentru care reziduul
sistemului Ax = b este rdef= b−Ax = b
• Ideea MP: coloana care aproximeaza cel mai bine reziduuleste cea care face unghiul cel mai mic cu acesta, deci estecoloana k pentru care
|aTk r| = max
i=1:N|aT
i r|
PAS cap. 2: Reprezentari rare – p. 13/35
MP—procesul iterativ
•• Eroarea de aproximare este ‖r − xkak‖ si e minimizata de
xk = (aTk ak)
−1aTk r = aT
k r
• Se introduce k în I si se calculeaza noul reziduu
r ← r − (aTk r)ak
• Se trece la iteratia urmatoare, cautând din nou coloana ceamai apropiata de reziduu
• Criteriu de oprire: norma reziduului este mai mica decât δ,caz în care a fost gasita o solutie pentru (2)
• Criteriu alternativ: numarul de coloane selectate atinge ovaloare prestabilita (ne intereseaza mai mult numarul deelemente nenule din x decât eroarea)
PAS cap. 2: Reprezentari rare – p. 14/35
MP—algoritmul
• Intrare: matricea A ∈ Rm×N , vectorul b ∈ R
m, toleranta δ
1. ℓ = 1, I = ∅, r(0) = b, x = 0
2. Cauta coloana cea mai aproape de reziduu
kℓ = arg maxi=1:N
|aTi r(ℓ−1)| (3)
3. I ← I ∪ {kℓ}
4. Coeficientul curent al solutiei: xkℓ= aT
kℓr(ℓ−1)
5. Noul reziduu: r(ℓ) ← r(ℓ−1) − (aTkℓ
r(ℓ−1))akℓ
6. Daca ‖r(ℓ)‖2 > δ, pune ℓ← ℓ + 1 si reia de la 2
• Iesire: solutia x (cu ℓ elemente nenule)
PAS cap. 2: Reprezentari rare – p. 15/35
Comentarii
• Nu exista nici o garantie a optimalitatii algoritmului
• Reziduul r(ℓ) este prin constructie ortogonal pe vectorul akℓ
• Totusi, în general, nu este ortogonal pe vectorii selectatianterior (cum ar fi într-o solutie CMMP)
• Deci nu se garanteaza optimalitate nici în sensul urmator:data o multime I de indici, algoritmul produce solutiaCMMP a sistemului AIxI = b, unde AI este submatricealui A cu coloanele având indici din I
• Deci nu se minimizeaza ‖AIxI − b‖2, chiar daca multimeaI este aleasa optim
• De fapt, algoritmul nici macar nu garanteaza ca o coloananu este selectata de mai multe ori
• Numar de operatii: O(mN) pe iteratie, în (3)
PAS cap. 2: Reprezentari rare – p. 16/35
Varianta de implementare
• Daca o matrice A este folosita pentru rezolvarea multorsisteme, se pot precalcula produsele scalare între coloaneaT
i aj, 1 ≤ i < j ≤ N
• Costul este O(mN2), dar apare o singura data• Produsele scalare între coloane si reziduul curent se pot
calcula la fiecare iteratie prin
aTi r(ℓ) ← aT
i r(ℓ−1) − (aTkℓ
r(ℓ−1))(aTi akℓ
), i = 1 : N
• Sunt necesare O(N) operatii la fiecare iteratie pentrucalculul maximului (3), elementului xkℓ
si actualizariiproduselor scalare de mai sus
• La început sunt necesare O(mN) operatii pentruinitializarea produselor aT
i r(ℓ) = aTi b
PAS cap. 2: Reprezentari rare – p. 17/35
Solutia CMMP pentru suport dat
• Daca suportul (indicii elementelor nenule) I este disponibil(printr-o metoda neprecizata), atunci solutia sistemuluiAIxI = b (adica xI care minimizeaza ‖AIxI − b‖2) secalculeaza folosind triangularizarea ortogonala
• Sistemul este supradeterminat fiindca |I| < m (x e rar)• Algoritmul are deci structura tipica (pres. I ordonata)
1. pentru ℓ = 1 : |I| (kℓ este indicele ℓ din I)1. Calculeaza reflectorul Householder U ℓ astfel încât
U ℓakℓeste zero în pozitiile ℓ + 1 : m
2. Actualizeaza AI ← U ℓAI , b← U ℓb
2. Rezolva sistemul triunghiular AIxI = b
• Multimea I nu trebuie sa fie disponibila toata de la început,e suficient sa apara un nou indice în fiecare iteratie
• În acest caz, noua coloana trebuie actualizata cu reflectoriiHouseholder anteriori
PAS cap. 2: Reprezentari rare – p. 18/35
Solutie CMMP cu selectie separata a coloanelor
• Orice algoritm de selectie a indicilor din I poate fi utilizat înacest context
• Structura algoritmului devine
0. Initializeaza ℓ = 1, AI = [], r = b, b = b
1. cât timp ‖r‖ > δ1. Selecteaza un nou indice kℓ
2. akℓ← Ukℓ−1
. . . U 1akℓ
3. AI ← [AI akℓ]
4. Calculeaza reflectorul Householder U ℓ astfel încâtU ℓakℓ
este zero în pozitiile ℓ + 1 : m5. Actualizeaza AI ← U ℓAI , b← U ℓb
6. Rezolva sistemul triunghiular AIxI = b
7. Calculeaza reziduul r = b−Ax
8. ℓ← ℓ + 1
PAS cap. 2: Reprezentari rare – p. 19/35
Comentarii
• În 1.7, reziduul e calculat folosind datele initiale alesistemului, adica A si b
• AI si b sunt actualizate cu transformarile ortogonale• Solutia x de la pasul ℓ are elementele nenule egale cu
valorile din xI
• Calculele se pot eficientiza în functie de procedura deselectie si se pot organiza astfel încât sa fie O(mN) operatiipe iteratie
PAS cap. 2: Reprezentari rare – p. 20/35
Orthogonal Matching Pursuit
• OMP foloseste aceeasi procedura de selectie a indicilor Ica MP
• În general, da rezultate mult mai bune decât MP• Calculul solutiei CMMP permite micsorarea reziduului; la
rândul lui, un reziduu mai mic permite selectarea unuisuport mai adecvat
• Complexitatea OMP este de acelasi ordin de marime cucomplexitatea MP
• Nu exista garantii generale de optimalitate• Caz special: daca solutia sistemului Ax = b satisface
‖x‖0 ≤1
2
(
1 +1
µ(A)
)
atunci ea este gasita de OMP cu δ = 0
PAS cap. 2: Reprezentari rare – p. 21/35
Greedy Least Squares
• În algoritmul GLS (numit si optimized OMP sau orthgonalLS), la fiecare iteratie se alege coloana care adaugata la Iminimizeaza norma reziduului sistemului AIxI = b
• Deci, spre deosebire de OMP, care selecteaza coloanacurenta considerând doar relatia ei directa cu reziduul, GLStine cont explicit de alegerile anterioare
• Algoritmul poate fi implementat eficient ca o factorizare QRcu pivotare, costul fiind O(mN) pe iteratie
• Poate da rezultate mai bune decât OMP, din nou faragarantii generale de optimalitate
PAS cap. 2: Reprezentari rare – p. 22/35
Relaxari convexe
• Cea mai simpla relaxare convexa a problemei (2) se obtineprin utilizarea normei 1 în loc de "norma" 0
minx
‖Wx‖1
c.r. ‖Ax− b‖2 ≤ δ(4)
• Matricea constanta W are rol de ponderare; W estediagonala, cu elementele diagonale pozitive; în lipsa unorinformatii care sa permita o alegere adecvata, se ia W = I
• Problema (4) este convexa (criteriul se poate exprima curestrictii liniare, restrictia este de tip con de ordinul doi)
• Tipic, solutia problemei (4) nu este rara, dar are multeelemente foarte mici (în modul)
• Fortând aceste elemente la zero se obtine o solutie rarafara a modifica semnificativ norma reziduului
PAS cap. 2: Reprezentari rare – p. 23/35
Exemplu
• Figura: solutia problemei (4) pentru date generate aleator,cu N = 40, m = 10, δ = 1
• Coeficientii lui x sunt ordonati în ordine descrescatoare amodulelor
• Sunt 6 coeficienti semnificativi, restul neglijabili
0 5 10 15 20 25 30 35 4010
−12
10−10
10−8
10−6
10−4
10−2
100
Coeficienti solutie, sortati
PAS cap. 2: Reprezentari rare – p. 24/35
Optimalitate
• În general, nu exista garantii de optimalitate; totusi, solutiasistemului Ax = b este si solutia problemei (4) cu δ = 0,daca
‖x‖0 ≤1
2
(
1 +1
µ(A)
)
• Figura: solutia (4) pentru date generate astfel încât x saaiba 3 elemente nenule (si δ = 0)
0 5 10 15 20 25 30 35 4010
−12
10−10
10−8
10−6
10−4
10−2
100
102
Coeficienti solutie, sortati
PAS cap. 2: Reprezentari rare – p. 25/35
Formulare alternativa
• O alternativa la (4) este problema
minx
‖Ax− b‖2 + λ‖Wx‖1 (5)
• Ponderea λ corespunde unei alegeri a tolerantei δ (caredepinde însa si de A si b)
• Practic, alegerea unor constante λ sau δ potrivite este oproblema destul de dificila, rezolvata eminamente empiric
• Avantajul formularii (5) este lipsa restrictiilor• Problemele (4) si (5) sunt numite basis pursuit• Atunci când matricea A este mare, metodele de optimizare
convexa pot deveni lente si sunt înlocuite cu metode (maimult sau mai putin) euristice
PAS cap. 2: Reprezentari rare – p. 26/35
CMMP reponderate iterativ—ideea de baza
• Problemele în care apar diverse norme p pot fi rezolvateiterativ prin probleme CMMP ponderate
• Motivul: problemele CMMP se rezolva usor numeric• Pentru o problema cu variabila x ∈ R
n, se face aproximarea
‖x‖pp =
n∑
i=1
|xi|p ≈
n∑
i=1
|xi|p−2|xi|
2
• În procesul iterativ, x este variabila curenta, iar x estevaloarea variabilei disponibila de la pasul precedent
• Variabila x apare patratic în aproximatie• Atunci când x = x, formula de mai sus este exacta. Un
proces iterativ în care aproximatia este folosita pentruoptimizare, iar la sfarsitul fiecarei iteratii se pune x = x,poate converge spre solutie (fara garantii generale)
PAS cap. 2: Reprezentari rare – p. 27/35
Cazul normei 1
• În cazul normei 1, formula de aproximare devine
‖x‖1 =n
∑
i=1
|xi| ≈n
∑
i=1
|xi|−1|xi|
2 = xT X−1x
• Matricea X este diagonala, cu elementele diagonale egalecu |xi|
• Presupunând ca dispunem de o solutie aproximativa x
pentru problema (5), o aproximatie x (probabil) mai buna seobtine minimizând functia patratica convexa
(Ax− b)T (Ax− b) + λxT WX−1x (6)
• Anulând gradientul, minimul este solutia sistemului
(AT A + λWX−1)x = AT b
PAS cap. 2: Reprezentari rare – p. 28/35
CMMP reponderate iterativ pentru basis pursuit
• Daca xi ≈ 0 (ceea ce dorim pentru majoritateaelementelor !), atunci |xi|
−1 devine foarte mare, ceea cepoate pune probleme numerice
• Solutie posibila: înlocuim |xi|−1 cu (|xi|+ η)−1, unde η este
o constanta mica• Algoritmul CMMP reponderate iterativ are forma
0. Date de intrare: A, b, λ, W , η, ε (toleranta de oprire)1. Initializeaza x
2. Pune X = diag(|x|+ η)
3. Rezolva sistemul (AT A + λWX−1)x = AT b
4. Daca ‖x− x‖ < ε, stop, solutia este x
5. Altfel, pune x = x si reia de la 2
PAS cap. 2: Reprezentari rare – p. 29/35
Comentarii
• Convergenta se atinge atunci când diferenta dintre solutiilecalculate la iteratii consecutive este mica
• Trebuie prevazut un numar maxim de iteratii, pentru cazul încare algoritmul nu converge (de obicei converge !)
• Sistemul de la pasul 3 poate fi rezolvat doar aproximativ, deexemplu folosind câtiva pasi ai unei metode iterative (e.g.gradient conjugat)
• În acest caz nu este necesara formarea matricei AT A, cidoar înmultirea ei cu diversi vectori
PAS cap. 2: Reprezentari rare – p. 30/35
Alegerea dictionarului
• Pâna acum am presupus ca dictionarul (bazasupracompleta formata din coloanele matricei A) este dat
• Ne punem acum problema alegerii (proiectarii) matricei A,astfel încât sa fie adecvata reprezentarii rare a semnalelordintr-o anume clasa
• Alegerea cea mai simpla este prin concatenarea unor bazeortogonale, A = [Φ1 Φ2 . . . ], cu Φi ∈ R
m×m matriceortogonale
• De exemplu, aceste baze pot fi cele standard:◦ Φ1 = I, adica baza temporala standard◦ Φ2 matricea de transformare DCT sau DFT◦ Φ3 o transformare wavelet, etc.
PAS cap. 2: Reprezentari rare – p. 31/35
Proiectarea dictionarului
• Alternativ, dictionarul se poate obtine prin optimizare• El poate fi structurat, în sensul ca (de exemplu) este format
din matrice ortogonale care depind de câtiva parametri
• În cazul extrem, vectorii dictionarului sunt complet liberi• Proiectarea se face având la dispozitie un set de vectori de
antrenare bℓ, ℓ = 1 : L, cu L suficient de mare• Se presupune implicit ca exista o baza supracompleta A în
care solutiile sistemelor Axℓ = bℓ sunt rare (daca nu toate,macar o buna parte)
PAS cap. 2: Reprezentari rare – p. 32/35
Problema de optimizare
• Inspirându-ne din (4), putem formula proiectareadictionarului ca problema de optimizare
minA,xℓ
∑Lℓ=1 ‖xℓ‖0
c.r. ‖Axℓ − bℓ‖2 ≤ δ, ℓ = 1 : L(7)
• Optimizarea dictionarului este evident mai dificila decâtgasirea unei reprezentari rare, deci rezolvarea problemei (7)se poate face doar prin metode euristice
• Algoritmi de rezolvare: MOD (method of directions), K-SVD• Discutam doar principial algoritmul MOD
PAS cap. 2: Reprezentari rare – p. 33/35
Algoritmul MOD—ideea
• Daca A ar fi fixat, atunci în (7) variabilele xℓ ar fi decuplate,deci pentru fiecare ℓ, solutia rara xℓ ar putea fi gasita prinmetodele discutate anterior (matching pursuit, basis pursuit)
• Notam X = [xℓ]ℓ=1:L, B = [bℓ]ℓ=1:L
• Daca solutiile xℓ ar fi cunoscute, atunci A ar putea fi gasitprin rezolvarea problemei CMMP AX = B
• (Se minimizeaza astfel ‖AX −B‖F )• Ideea de optimizare: se porneste cu un dictionar initial A0
• Presupunând Ak−1 cunoscut (initial k = 1), se calculeazaXk în functie de Ak−1 folosind algoritmi pentru reprezentarirare
• Se afla Ak minimizând ‖AkXk −B‖F
• Se pune k ← k + 1 si se repeta operatiile de mai sus pânala convergenta
PAS cap. 2: Reprezentari rare – p. 34/35