Rajoitettu Boltzmann-kone
Vuonna koneoppimisen The Boltzmannin kone rajoitettu on eräänlainen keinotekoinen hermoverkko varten ohjaamaton oppiminen . Sitä käytetään yleisesti arvioimaan tietojoukon todennäköisyysjakauma . Sen keksi alun perin nimellä Harmonium vuonna 1986 Paul Smolenski.
Kuvaus
Yksinkertaisimmassa muodossaan Boltzmann-kone koostuu kerroksesta hermosoluja, jotka saavat syötteen, sekä piilotetusta neuronikerroksesta. Jos oletetaan, että saman kerroksen neuronit ovat toisistaan riippumattomia, kutsumme tätä kokoonpanoa rajoitetuksi Boltzmann-koneeksi (RBM).
Määritämme aktivoidun energian rajoitetulle Boltzmann-koneelle seuraavasti:
E=-(∑i,jwijxihj+∑ibixi+∑jvs.jhj){\ displaystyle E = - \ left (\ summa _ {i, j} w_ {ij} \, x_ {i} \, h_ {j} + \ summa _ {i} b_ {i} \, x_ {i} + \ summa _ {j} c_ {j} h_ {j} \ oikea)}
Kanssa:
-
wij{\ displaystyle w_ {ij}}
on hermosolun ja neuronin välinen paino ;j{\ displaystyle j}
i{\ displaystyle i}![i](https://wikimedia.org/api/rest_v1/media/math/render/svg/add78d8608ad86e54951b8c8bd6c8d8416533d20)
-
xi{\ displaystyle x_ {i}}
on näkyvän hermosolun tila ;xi∈{0,1}{\ displaystyle x_ {i} \ sisään \ {0,1 \}}
i{\ displaystyle i}![i](https://wikimedia.org/api/rest_v1/media/math/render/svg/add78d8608ad86e54951b8c8bd6c8d8416533d20)
-
hj{\ textstyle h_ {j}}
on piilotetun neuronin tila ;j{\ textstyle j}![{\ textstyle j}](https://wikimedia.org/api/rest_v1/media/math/render/svg/98c853a238654c3e0a13c0e7617ec5cb5352601a)
-
bi{\ displaystyle b_ {i}}
ja ovat vastaavasti neuronien ja .vs.j{\ displaystyle c_ {j}}
xi{\ displaystyle x_ {i}}
hj{\ displaystyle h_ {j}}![h_ {j}](https://wikimedia.org/api/rest_v1/media/math/render/svg/614689f15f73ad5b4a5d7fa837a72614202b0d89)
Yhteinen todennäköisyys, jonka muoto on tällöin(xi,hj){\ displaystyle (x_ {i}, h_ {j})}![{\ displaystyle (x_ {i}, h_ {j})}](https://wikimedia.org/api/rest_v1/media/math/render/svg/2d0a25ea6e4476cefe6601edb737ac039e96ea6a)
P(xi,hj)=exp(-E(xi,hj))/Z{\ displaystyle P (x_ {i}, h_ {j}) = \ exp (-E (x_ {i}, h_ {j})) / Z}
Kanssa:
-
E{\ displaystyle E}
edellä määritelty energiatoiminto;
-
Z{\ displaystyle Z}
normalisointitoiminto, joka saa kaikkien todennäköisyyksien summan olemaan 1.
Oppiminen
Boltzmannin kone harjoittaa valvomatonta oppimista. Yritämme minimoida lokin todennäköisyyden . Loki-todennäköisyyden johdannainen antaa seuraavan lausekkeen:
∂[-Hirsi(s(x(t)))]∂θ=Eh[∂E(x(t),h)∂θ|x(t)]-Ex,y[∂E(x,h)∂θ]{\ displaystyle {\ frac {\ osittainen \ vasen [- \ loki (p (x ^ {(t)})) \ oikea]} {\ osittainen \ theta}} = \ mathbb {E} _ {h} \ vasen [{\ frac {\ osittainen E (x ^ {(t)}, h)} {\ osittainen \ theta}} | x ^ {(t)} \ oikea] - \ mathbb {E} _ {x, y} \ vasen [{\ frac {\ osittainen E (x, h)} {\ osittainen \ theta}} \ oikea]}
Kanssa:
-
θ{\ displaystyle \ theta}
järjestelmämuuttujat (painot tai esijännitykset);
-
Ex,y{\ displaystyle \ mathbb {E} _ {x, y}}
matemaattinen odotus satunnaismuuttujien ja ;x{\ displaystyle x}
y{\ displaystyle y}![y](https://wikimedia.org/api/rest_v1/media/math/render/svg/b8a6208ec717213d4317e666f1ae872e00620a0d)
-
x(t){\ displaystyle x ^ {(t)}}
tietojoukon arvo ;
-
E(x,h){\ displaystyle E (x, h)}
edellä määritelty energia.
Huomaamme, että tässä lausekkeessa on kaksi termiä, nimeltään positiivinen vaihe ja negatiivinen vaihe. Positiivinen vaihe lasketaan helposti esijännitykselle ja painomatriisille.
Sitten saamme:
Eh[∂E(x(t),h)∂Wij|x(t)]=-h(x(t))∗x(t)T{\ displaystyle \ mathbb {E} _ {h} \ vasen [{\ frac {\ osittainen E (x ^ {(t)}, h)} {\ osittainen W_ {ij}}} | x ^ {(t) } \ right] = - h (x ^ {(t)}) * {x ^ {(t)}} ^ {\ mathsf {T}}}
Kun h (x) on piilotetun kerroksen tila, joka tietää kaavan antaman x: n
h(x)=sigm(W∗x+b){\ displaystyle h (x) = sigm (W * x + b)}
Monimutkaisin osa on laskea niin kutsuttu negatiivinen vaihe . Emme voi laskea sitä suoraan, koska emme tiedä järjestelmän normalisointitoimintoa. Kaltevuuden laskeutumisen suorittamiseksi lasketaan ns . Merkinnän rekonstruktio . Itse asiassa järjestelmän symmetriaominaisuudet mahdollistavat mallin arvioiman tulon laskemisen, riittää, että käytetään kaavaa:
x(t){\ displaystyle x ^ {(t)}}![{\ displaystyle x ^ {(t)}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/44d7d165662ca063303fd5cf798aa5840ea8a945)
xrevs.=WT∗h(x)+vs.{\ displaystyle x_ {rec} = W ^ {\ mathsf {T}} * h (x) + c}
kanssa esijännitteen piilotettu kerros neuronien .
vs.{\ displaystyle c}
H{\ displaystyle H}![H](https://wikimedia.org/api/rest_v1/media/math/render/svg/75a9edddcca2f782014371f75dca39d7e13a9c1b)
Samoin piilotetun kerroksen tila voidaan laskea uudelleen toistamalla prosessi. Lopuksi voimme tiivistää gradientin laskeutumisalgoritmin seuraavasti (puhumme Contrastive Divergence -algoritmista , joka on yleisesti lyhennetty 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)
Laajennus
Rajoitettu Boltzmann-kone on itse asiassa Boltzmann-koneen erityistapaus, jossa saman kerroksen neuronit ovat toisistaan riippumattomia. Tämä likiarviointi helpottaa suuresti laskelmia, mutta saadut tulokset ovat vähemmän hyvät.
Aiheeseen liittyvät artikkelit
Huomautuksia ja viitteitä
-
(sisään) Paul Smolensky , David E. Rumelhart ( ohjaaja ) ja James L. McClelland ( toim. ), Parallel Distributed Processing : Explorations in the Microstructure of Cognition, Volume 1: Foundations , MIT Press ,1986, 194–281 Sivumäärä ( ISBN 0-262-68053-X , lue verkossa ) , "Luku 6: Tietojenkäsittely dynaamisissa järjestelmissä: harmonian teorian perusteet"
-
Ruslan Salakhutdinov ja Geoffrey Hinton, "Deep Boltzmann Machines" , julkaisussa AISTATS 2009 ,
2009( lue verkossa ).
-
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;">