Një makinë Boltzmann (e quajtur ndryshe edhe modeli Sherrington–Kirkpatrick me fushë të jashtme ose modeli stokastik Ising ), i emërtuar sipas Ludwig Boltzmann është një model i qelqit spin me një fushë të jashtme, si p.sh., një model Sherrington–Kirkpatrick, [1] që është një model stokastik lsing . Është një teknikë e fizikës statistikore e zbatuar në kontekstin e shkencës kognitive. [2]

A graphical representation of an example Boltzmann machine.
Një paraqitje grafike e një shembulli të një makine Boltzmann. Çdo brinjë e padrejtuar përfaqëson varësinë. Në këtë shembull ka 3 njësi të fshehura dhe 4 njësi të dukshme. Kjo nuk është një makinë Boltzmann e kufizuar.

Makinat Boltzmann janë teorikisht tërheqëse për shkak të lokalitetit dhe natyrës Hebbian-e të algoritmit stërvitës të tyre (të trajnuar sipas rregullit të Hebb-it), dhe për shkak të paralelizmit dhe ngjashmërisë së dinamikës së tyre me proceset e thjeshta fizike. Makinat Boltzmann me lidhje të pakufizuar nuk janë dëshmuar të dobishme për problemet praktike në mësimin makinerik ose gjykime statistikore, por nëse lidhja kufizohet saktësisht siç duhet, mësimi mund të bëhet mjaftueshëm i frytshëm për të qenë i dobishëm në probleme praktike. [3]

Emërtimi i tyre vjen prej shpërndarjes Boltzmann në mekanikën statistikore, e cila përdoret në funksionin e mostrimit . Ato u popullarizuan dhe u promovuan shumë nga Geoffrey Hinton, Terry Sejnowski dhe Yann LeCun në komunitetet e shkencave kognitive, veçanërisht në mësimin makinerik, [4] si pjesë e " modeleve të bazuara në energji " (EBM), sepse Hamiltonianët e qelqeve spin si energji përdoren si pikënisje për të përcaktuar detyrën mësimore. [5]

Struktura

Redakto
 
Një paraqitje grafike e një makine Boltzmann me disa pesha të etiketuara. Çdo brinjë e padrejtuar përfaqëson varësinë dhe peshohet me peshën   . Në këtë shembull ka 3 njësi të fshehura (blu) dhe 4 njësi të dukshme (të bardha). Kjo nuk është një makinë Boltzmann e kufizuar.

Një makinë Boltzmann, po ashtu si një model Sherrington–Kirkpatrick, është një rrjet njësish me një "energji" totale (Hamiltoniane) të përcaktuar për rrjetin e përgjithshëm. Secila prej njësive prodhojnë rezultate binare. Peshat e makinës Boltzmann janë stokastike. Energjia globale   në një makinë Boltzmann është identike në trajt me atë të rrjeteve Hopfield dhe modeleve Ising :

 

Ku:

  •   është fuqia e lidhjes ndërmjet njësisë   dhe njësi   .
  •   është gjendja,  , e njësisë   .
  •   është njëanshmëria e njësisë   në funksionin e energjisë globale. (   është pragu i aktivizimit për njësinë.)

Shpesh peshat   paraqiten si matricë simetrike   me vlera zero përgjatë diagonales.

Probabiliteti i gjendjes së njësisë

Redakto

Dallimi në energjinë globale që rezulton nga një njësi e vetme   e barabartë me 0 (fikur) kundrejt 1 (ndezur), e shkruar  , duke supozuar një matricë simetrike të peshave, jepet si më poshtë:

 

Kjo mund të shprehet si ndryshim i energjive të dy gjendjeve:

 

Zëvendësimi i energjisë së secilës gjendje me probabilitetin e saj relativ sipas faktorit Boltzmann (vetia e një shpërndarjeje Boltzmann që energjia e një gjendje është në përpjesëtim me probabilitetin log negativ të asaj gjendjeje) jep:

 

ku   është konstanta e Boltzmann-it dhe bëhet e barazvlefshme me konceptin artificial të temperaturës  . Duke vënë në dukje se probabilitetet që njësia të jetë e ndezur ose e fikur e kanë shumën  , lejon thjeshtimin:

 

nga ku rrjedh që probabiliteti i njësisë   të jepet:

 

ku ndryshori skalar   quhet temperatura e sistemit. Kjo lidhje është burimi i funksionit logjistik që gjendet në shprehjet e probabilitetit në disa variante të makinës Boltzmann.

Gjendja e ekuilibrit

Redakto

Rrjeti vepron duke zgjedhur në mënyrë të përsëritur një njësi dhe duke rivendosur gjendjen e saj. Pas veprimit për një kohë mjaft të gjatë në një temperaturë të caktuar, probabiliteti i një gjendjeje globale të rrjetit varet vetëm nga energjia e asaj gjendjeje globale, bazuar në shpërndarjen Boltzmann, dhe jo nga gjendja fillestare nga e cila filloi procesi. Kjo do të thotë që probabilitetet logaritmikë të gjendjeve globale bëhen lineare në energjitë e tyre. Kjo marrëdhënie është e vërtetë kur makina është "në ekuilibër termik ", që do të thotë se shpërndarja e probabilitetit të gjendjeve globale ka konvergjuar. Rrjeti duke vepruar fillimisht nga një temperaturë e lartë, temperatura e tij zvogëlohet gradualisht derisa të arrihet një ekuilibër termik në një temperaturë më të ulët. Më pas mund të konvergjojë në një shpërndarje ku niveli i energjisë luhatet rreth minimumit global. Ky proces quhet pjekja e simuluar .

Për të stërvitur rrjetin në mënyrë të tillë që mundësia që ai të konvergjojë në një gjendje globale sipas një shpërndarjeje të jashtme mbi këto gjendje, peshat duhet të vendosen të tilla që gjendjet globale me probabilitetet më të lartë të marrin energjitë më të ulëta. Kjo bëhet me stërvitje.

Stërvitja

Redakto

Njësitë në makinerinë Boltzmann ndahen në njësitë 'e dukshme', V, dhe njësitë 'e fshehura', H. Njësitë e dukshme janë ato që marrin informacion nga 'mjedisi', dmth., bashkësia e të dhënave për stërvitje është një bashkësi vektorësh binarë mbi bashkësinë V. Shpërndarja mbi grupin e trajnimit shënohet si  .

Shpërndarja mbi gjendjet globale konvergjon ndërkohë që makina Boltzmann arrin ekuilibrin termik. Pasi e margjinalizojmë mbi njësitë e fshehura, këtë shpërndarje e shënojmë si   .

Qëllimi ynë është të përafrojmë shpërndarjen "reale"   duke përdorur   e prodhuar nga makina. Ngjashmëria e dy shpërndarjeve matet nga divergjenca Kullback-Leibler,   :

 

ku shuma është mbi të gjitha gjendjet e mundshme të  .   është një funksion i peshave, pasi janë ato që përcaktojnë energjinë e një gjendjeje, dhe energjia përcakton  , siç përcaktohet nga shpërndarja Boltzmann. Një algoritëm i zbritjes me gradient   ndryshon një peshë të caktuar,  , duke zbritur derivatin e pjesshëm  në lidhje me peshën.

Stërvitja e makinës Boltzmann përfshin dy faza të alternuara. Njëra është faza "pozitive" ku gjendjet e dukshme të njësive shtrëngohen sipas një vektori binar të gjendjes e marrë mostër nga bashkësia e të dhënave të stërvitjes (sipas   ). Tjetra është faza "negative" ku rrjeti lejohet të funksionojë lirshëm, dmth., vetëm nyjet hyrëse e kanë gjendjen e tyre të përcaktuar nga të dhënat e jashtme, ndërsa nyjeve dalëse u lejohet të ndryshojnë lirshëm. Gradienti në lidhje me një peshë të caktuar,  , jepet nga ekuacioni: [6]

 

ku:

  •   është probabiliteti që njësitë i dhe j janë të dyja të ndezura kur makina është në ekuilibër në fazën pozitive.
  •   është probabiliteti që njësitë i dhe j janë të dyja të ndezura kur makina është në ekuilibër në fazën negative.
  •   tregon shkallën e të mësuarit

Ky rezultat rrjedh nga fakti se në ekuilibër termik probabiliteti   i çdo shteti global   kur rrjeti funksionon lirshëm jepet nga shpërndarja Boltzmann.

Ky rregull i të mësuarit është gjithashtu biologjikisht i arsyeshëm, sepse i vetmi informacion i nevojshëm për të ndryshuar peshat ofrohet nga informacioni "lokal". Kjo do të thotë, lidhja (në biologji, sinapsi) nuk ka nevojë asnjë informacion përveçse dy neuroneve që lidh. Kjo është biologjikisht më e pranueshme krahasuar me algoritme të tjerë të trajnimit të rrjeteve nervore në pjesën e informacionit të nevojshëm nga një lidhje, si p.sh. përhapja e pasme .

Stërvitja e një makinerie Boltzmann nuk përdor algoritmin EM, i cili përdoret shumë në mësimin makinerik. Minimizimi i divergjencës KL e bën atë ekuivalent me maksimizimin e gjasës logaritmike (log-likelihood) të të dhënave. Prandaj, procedura e stërvitjes kryen ngjitjen e gradientit në gjasën logaritmike të të dhënave të vëzhguara. Kjo është në kontrast me algoritmin EM, ku shpërndarja e prapme e kulmeve të fshehura duhet të llogaritet përpara maksimizimit të vlerës së pritur të gjasave të të dhënave të plota gjatë hapit M.

Trajnimi i njëanshmërive është i ngjashëm, por përdoret vetëm aktiviteti i një nyjeje:

 

Problemet

Redakto

Teorikisht makina Boltzmann është një mjet llogaritës mjaft i përgjithshëm. Për shembull, nëse stërvitet për fotografi, makina teorikisht do të modelonte shpërndarjen e fotografive dhe mund ta përdorte atë model, për shembull, për të përfunduar një fotografi të pjesshme.

Fatkeqësisht, makinat Boltzmann përjetojnë një problem serioz praktik, duke qenë se ndalojnë së mësuari saktë kur makina shkallëzohet në madhësi.

Shiko gjithashtu

Redakto

Referime

Redakto
  1. ^ Sherrington, David; Kirkpatrick, Scott (1975), "Solvable Model of a Spin-Glass", Physical Review Letters (në anglisht), vëll. 35 no. 35, fq. 1792–1796, Bibcode:1975PhRvL..35.1792S, doi:10.1103/PhysRevLett.35.1792
  2. ^ Ackley, David H.; Hinton, Geoffrey E.; Sejnowski, Terrence J. (1985). "A Learning Algorithm for Boltzmann Machines" (PDF). Cognitive Science (në anglisht). 9 (1): 147–169. doi:10.1207/s15516709cog0901_7. Arkivuar nga origjinali (PDF) më 18 korrik 2011.
  3. ^ Osborn, Thomas R. (1 janar 1990). "Fast Teaching of Boltzmann Machines with Local Inhibition". International Neural Network Conference (në anglisht). Springer Netherlands. fq. 785. doi:10.1007/978-94-009-0643-3_76. ISBN 978-0-7923-0831-7.
  4. ^ Ackley, David H.; Hinton, Geoffrey E.; Sejnowski, Terrence J. (1985). "A Learning Algorithm for Boltzmann Machines" (PDF). Cognitive Science (në anglisht). 9 (1): 147–169. doi:10.1207/s15516709cog0901_7. Arkivuar nga origjinali (PDF) më 18 korrik 2011.Ackley, David H.; Hinton, Geoffrey E.; Sejnowski, Terrence J. (1985). "A Learning Algorithm for Boltzmann Machines" (PDF). Cognitive Science (në anglisht). 9 (1): 147–169. doi:10.1207/s15516709cog0901_7. Arkivuar nga origjinali Arkivuar 18 korrik 2011 tek Wayback Machine (PDF) më 18 korrik 2011.{{cite journal}}: Mirëmbajtja CS1: Datë e përkthyer automatikisht (lidhja)
  5. ^ Nijkamp, E.; Hill, M. E; Han, T. (2020), "On the Anatomy of MCMC-Based Maximum Likelihood Learning of Energy-Based Models", Proceedings of the AAAI Conference on Artificial Intelligence (në anglisht), vëll. 4 no. 34, fq. 5272–5280, arXiv:1903.12370, doi:10.1609/aaai.v34i04.5973
  6. ^ Ackley, David H.; Hinton, Geoffrey E.; Sejnowski, Terrence J. (1985). "A Learning Algorithm for Boltzmann Machines" (PDF). Cognitive Science (në anglisht). 9 (1): 147–169. doi:10.1207/s15516709cog0901_7. Arkivuar nga origjinali (PDF) më 18 korrik 2011.Ackley, David H.; Hinton, Geoffrey E.; Sejnowski, Terrence J. (1985). "A Learning Algorithm for Boltzmann Machines" (PDF). Cognitive Science (në anglisht). 9 (1): 147–169. doi:10.1207/s15516709cog0901_7. Arkivuar nga origjinali Arkivuar 18 korrik 2011 tek Wayback Machine (PDF) më 18 korrik 2011.{{cite journal}}: Mirëmbajtja CS1: Datë e përkthyer automatikisht (lidhja)

Lexim të mëtejshëm

Redakto