Begränsad Boltzmann-maskin ( eng. restricted Boltzmann machine ), förkortad RBM , är en typ av generativt stokastiskt neuralt nätverk som bestämmer sannolikhetsfördelningen på indataprover.
Den första begränsade Boltzmann-maskinen byggdes 1986 av Paul Smolensky under namnet Harmonium [1] , men blev populär först efter Hintons uppfinning av snabbinlärningsalgoritmer i mitten av 2000-talet.
Maskinen fick detta namn som en modifiering av den vanliga Boltzmann-maskinen , där neuroner delades in i synliga och dolda, och anslutningar är endast tillåtna mellan neuroner av olika typer, vilket begränsar anslutningarna. Långt senare, på 2000-talet, blev begränsade Boltzmann-maskiner mer populära och betraktades inte längre som varianter av Boltzmann-maskinen, utan som speciella komponenter i arkitekturen för nätverk för djupinlärning . Genom att kombinera flera kaskader av avgränsade Boltzmann-maskiner bildas ett djupt trosnätverk , en speciell sorts neurala nätverk i flera lager som kan lära sig själv utan att en lärare använder backpropagation-algoritmen [2] .
En egenskap hos begränsade Boltzmann-maskiner är möjligheten att tränas utan lärare , men i vissa tillämpningar tränas begränsade Boltzmann-maskiner med en lärare. Det dolda lagret av maskinen är de djupa funktionerna i data som avslöjas under inlärningsprocessen (se även Data mining ).
Bounded Boltzmann-maskiner har ett brett spektrum av applikationer - dessa är problem med minskning av datadimensionalitet [ 3 ] , klassificeringsproblem [4] , kollaborativ filtrering [5] , funktionsinlärning [ 6] och ämnesmodellering [ 7 ] .
I en begränsad Boltzmann-maskin bildar neuroner en tvådelad graf , på ena sidan av grafen finns synliga neuroner (ingång), och på den andra sidan, dolda och tvärbindningar etableras mellan varje synlig och varje gömd neuron. Ett sådant system av anslutningar gör det möjligt att tillämpa metoden för gradientnedstigning med kontrastiv divergens vid träning av nätverket [8] .
Den begränsade Boltzmann-maskinen är baserad på binära element med en Bernoulli-distribution som utgör de synliga och dolda lagren i nätverket. Länkar mellan lager specificeras med hjälp av en matris av vikter (storlek m × n ), samt förskjutningar för det synliga lagret och för det dolda lagret.
Begreppet nätverksenergi ( v , h ) introduceras som
eller i matrisform
Hopfield-nätverket har också en liknande energifunktion . När det gäller den vanliga Boltzmann-maskinen bestäms sannolikheten för distribution på vektorerna för de synliga och dolda lagren genom energi [9] :
var är partitionsfunktionen definierad som för alla möjliga nätverk (med andra ord är en normaliseringskonstant som garanterar att summan av alla sannolikheter är lika med en). Bestämningen av sannolikheten för en separat ingångsvektor (marginalfördelning) utförs på liknande sätt genom summan av konfigurationer av alla möjliga dolda lager [9] :
På grund av nätverkets struktur som en tvådelad graf är de individuella elementen i det dolda lagret oberoende av varandra och aktiverar det synliga lagret, och vice versa, de enskilda elementen i det synliga lagret är oberoende av varandra och aktiverar det dolda lager [8] . För synliga element och för dolda element bestäms de villkorliga sannolikheterna v genom produkterna av sannolikheterna h :
och vice versa, de villkorliga sannolikheterna h definieras i termer av produkten av sannolikheterna v :
Specifika aktiveringssannolikheter för ett element definieras som
ochvar är logistikfunktionen för lageraktivering.
De synliga lagren kan också ha en multinomial fördelning , medan de dolda lagren har en Bernoulli- fördelning . I fallet med multinomialitet används softmax istället för logistikfunktionen :
där K är antalet diskreta värden av synliga element. Denna representation används i ämnesmodelleringsproblem [ 7] och i rekommendatorsystem [5] .
Den begränsade Boltzmann-maskinen är ett specialfall av den vanliga Boltzmann-maskinen och Markov-nätverket [10] [11] . Deras grafmodell motsvarar grafmodellen för faktoranalys [12] .
Inlärningsmålet är att maximera sannolikheten för ett system med en given uppsättning sampel (en matris där varje rad motsvarar ett sampel av den synliga vektorn ), definierad som produkten av sannolikheterna
eller, vilket är detsamma, maximera produktens logaritm: [10] [11]
För att träna det neurala nätverket används algoritmen för kontrastiv divergens (CD) för att hitta de optimala matrisvikterna , det föreslogs av Geoffrey Hinton , ursprungligen för att träna PoE-modeller (“produkt av expertuppskattningar”) [13] [14] . Algoritmen använder Gibbs sampling för att organisera en gradientnedstigningsprocedur , liknande backpropagation-metoden för neurala nätverk.
I allmänhet ser ett steg av kontrastiv divergens (CD-1) ut så här:
Praktisk vägledning för att implementera inlärningsprocessen finns på Jeffrey Hintons personliga sida [9] .
Typer av artificiella neurala nätverk | |
---|---|
|
Maskininlärning och datautvinning | |
---|---|
Uppgifter | |
Att lära sig med en lärare | |
klusteranalys | |
Dimensionalitetsreduktion | |
Strukturell prognos | |
Anomali upptäckt | |
Grafisk probabilistiska modeller | |
Neurala nätverk | |
Förstärkningsinlärning |
|
Teori | |
Tidskrifter och konferenser |
|