Begrænset Boltzmann-maskine
I maskinlæring , den Boltzmanns maskine begrænset er en form for kunstigt neuralt netværk til uovervåget indlæring . Det bruges ofte til at have et skøn over den sandsynlige fordeling af et datasæt . Det blev oprindeligt opfundet under navnet Harmonium i 1986 af Paul Smolenski.
Beskrivelse
I sin enkleste form består en Boltzmann-maskine af et lag neuroner, der modtager input, samt et skjult lag af neuroner. Hvis vi antager, at neuronerne i det samme lag er uafhængige af hinanden, kalder vi denne konfiguration en begrænset Boltzmann-maskine (RBM).
Vi definerer en aktiveringsenergi for en begrænset Boltzmann-maskine som følger:
E=-(∑jeg,jwjegjxjeghj+∑jegbjegxjeg+∑jvs.jhj){\ displaystyle E = - \ left (\ sum _ {i, j} w_ {ij} \, x_ {i} \, h_ {j} + \ sum _ {i} b_ {i} \, x_ {i} + \ sum _ {j} c_ {j} h_ {j} \ højre)}
Med:
-
wjegj{\ displaystyle w_ {ij}}er vægten mellem neuronen og neuronen ;j{\ displaystyle j}jeg{\ displaystyle i}
-
xjeg{\ displaystyle x_ {i}}er tilstanden ,, for den synlige neuron ;xjeg∈{0,1}{\ displaystyle x_ {i} \ in \ {0.1 \}}jeg{\ displaystyle i}
-
hj{\ textstyle h_ {j}}er tilstanden for den skjulte neuron ;j{\ textstyle j}
-
bjeg{\ displaystyle b_ {i}}og er henholdsvis forspændinger af neuroner og .vs.j{\ displaystyle c_ {j}}xjeg{\ displaystyle x_ {i}}hj{\ displaystyle h_ {j}}
Den fælles sandsynlighed for at have en konfiguration er derefter givet af(xjeg,hj){\ displaystyle (x_ {i}, h_ {j})}
P(xjeg,hj)=eksp(-E(xjeg,hj))/Z{\ displaystyle P (x_ {i}, h_ {j}) = \ exp (-E (x_ {i}, h_ {j})) / Z}
Med:
-
E{\ displaystyle E} den ovenfor definerede energifunktion
-
Z{\ displaystyle Z} en normaliseringsfunktion, der får summen af alle sandsynligheder til at være 1.
Læring
Boltzmanns maskintræner ved hjælp af tilsyn uden læring. Vi forsøger at minimere log-sandsynligheden . Afledningen af log-sandsynligheden giver følgende udtryk:
∂[-log(s(x(t)))]∂θ=Eh[∂E(x(t),h)∂θ|x(t)]-Ex,y[∂E(x,h)∂θ]{\ displaystyle {\ frac {\ partial \ left [- \ log (p (x ^ {(t)})) \ right]} {\ partial \ theta}} = \ mathbb {E} _ {h} \ left [{\ frac {\ partial E (x ^ {(t)}, h)} {\ partial \ theta}} | x ^ {(t)} \ right] - \ mathbb {E} _ {x, y} \ left [{\ frac {\ partial E (x, h)} {\ partial \ theta}} \ right]}
Med:
-
θ{\ displaystyle \ theta} systemvariabler (vægte eller bias);
-
Ex,y{\ displaystyle \ mathbb {E} _ {x, y}}den matematiske forventning om tilfældige variabler og ;x{\ displaystyle x}y{\ displaystyle y}
-
x(t){\ displaystyle x ^ {(t)}}en værdi af datasættet ;
-
E(x,h){\ displaystyle E (x, h)} den energi, der er defineret ovenfor.
Vi bemærker tilstedeværelsen af to udtryk i dette udtryk, kaldet positiv fase og negativ fase. Den positive fase beregnes let for bias og for vægtmatrixen.
Vi får derefter:
Eh[∂E(x(t),h)∂Wjegj|x(t)]=-h(x(t))∗x(t)T{\ displaystyle \ mathbb {E} _ {h} \ left [{\ frac {\ partial E (x ^ {(t)}, h)} {\ partial W_ {ij}}} | x ^ {(t) } \ right] = - h (x ^ {(t)}) * {x ^ {(t)}} ^ {\ mathsf {T}}}
Med h (x) er tilstanden for det skjulte lag, der kender x givet ved formlen
h(x)=sjeggm(W∗x+b){\ displaystyle h (x) = sigm (W * x + b)}
Den mest komplicerede del er beregning af, hvad der kaldes den negative fase . Vi kan ikke beregne det direkte, fordi vi ikke kender systemets normaliseringsfunktion. For at kunne udføre en gradientnedstigning beregnes det, der kaldes rekonstruktionen af posten . Faktisk gør systemets symmetriegenskaber det muligt at beregne input estimeret af modellen, det er tilstrækkeligt at anvende formlen:
x(t){\ displaystyle x ^ {(t)}}
xrevs.=WT∗h(x)+vs.{\ displaystyle x_ {rec} = W ^ {\ mathsf {T}} * h (x) + c}
med forspændingen af det skjulte lag af neuroner .
vs.{\ displaystyle c}H{\ displaystyle H}
Ligeledes kan tilstanden for det skjulte lag genberegnes ved at gentage processen. Endelig kan vi sammenfatte algoritmen for gradientafstamning som følger (vi taler om kontrastiv divergensalgoritme, almindeligvis forkortet CD-k)
x <= x(t)
h <= W*x + b
phasePositive <= -h*Transpose(x)
Pour i allant de 1 à k:
x = Transpose(W) * h(x) + c
h = W*x + b
phaseNegative <= -h*transpose(x)
gradient <= phasePositive-phaseNegative
W <= W + alpha*gradient
c <= c + alpha*(x(t)-x)
b <= b + alpha*(h(x(t)) - h)
Udvidelse
Den begrænsede Boltzmann-maskine er faktisk et specielt tilfælde af Boltzmann-maskinen, hvor neuronerne i det samme lag er uafhængige af hinanden. Beregningerne letter i høj grad ved denne tilnærmelse, men de opnåede resultater er mindre gode.
Relaterede artikler
Noter og referencer
-
(i) Paul Smolensky , David E. Rumelhart ( . Dir ) og James L. McClelland ( eds. ), Parallelfordelte Behandler : Explorations i mikrostruktur Kognition, Volume 1: Fonde , MIT Press ,1986, 194-281 s. ( ISBN 0-262-68053-X , læs online ) , "Kapitel 6: Informationsbehandling i dynamiske systemer: Fundament of Harmony Theory"
-
Ruslan Salakhutdinov og Geoffrey Hinton, “Deep Boltzmann Machines” , i AISTATS 2009 ,
2009( læs online ).
-
http://image.diku.dk/igel/paper/AItRBM-proof.pdf
-
http://www.cs.toronto.edu/~tijmen/pcd/pcd.pdf
<img src="https://fr.wikipedia.org/wiki/Special:CentralAutoLogin/start?type=1x1" alt="" title="" width="1" height="1" style="border: none; position: absolute;">