Maszyna Boltzmanna - Boltzmann machine

Graficzna reprezentacja przykładowej maszyny Boltzmanna.
Graficzna reprezentacja przykładowej maszyny Boltzmanna. Każda nieskierowana krawędź reprezentuje zależność. W tym przykładzie są 3 ukryte jednostki i 4 widoczne jednostki. To nie jest ograniczona maszyna Boltzmanna.

Boltzmanna maszyna (zwany również stochastyczny sieć asocjacyjna z ukrytych jednostek lub modelu Sherrington-Kirkpatrick z zewnętrznego pola lub stochastycznego Isinga-Lenz-Małej modelu ) jest rodzajem stochastycznego nawracających sieci neuronowej . Jest to losowe pole Markowa . Został on przetłumaczony z fizyki statystycznej do wykorzystania w kognitywistyce . Maszyna Boltzmanna oparta jest na stochastycznym modelu szkła spinowego z polem zewnętrznym, tj. modelu Sherringtona-Kirkpatricka, który jest stochastycznym modelem Isinga i jest stosowany do uczenia maszynowego.

Maszyny Boltzmanna są teoretycznie intrygujące ze względu na lokalność i hebbowski charakter ich algorytmu uczącego (uczącego się zgodnie z regułą Hebba) oraz ze względu na ich równoległość i podobieństwo ich dynamiki do prostych procesów fizycznych . Maszyny Boltzmanna z nieograniczoną łącznością nie okazały się przydatne w przypadku praktycznych problemów związanych z uczeniem maszynowym lub wnioskowaniem, ale jeśli łączność jest odpowiednio ograniczona, uczenie może być wystarczająco wydajne, aby było przydatne w przypadku praktycznych problemów.

Ich nazwa pochodzi od rozkładu Boltzmanna w mechanice statystycznej , który jest używany w ich funkcji próbkowania . Z tego powodu nazywa się je „ modelami opartymi na energii ” (EBM). Zostały one mocno spopularyzowane i promowane przez Geoffreya Hintona , Terry'ego Sejnowskiego i Yanna LeCuna w społecznościach kognitywnych i uczących się maszynowo .

Struktura

Graficzne przedstawienie przykładowej maszyny Boltzmann z etykietami wagowymi.
Graficzne przedstawienie maszyny Boltzmanna z zaznaczonymi kilkoma odważnikami. Każda nieskierowana krawędź reprezentuje zależność i jest ważona wagą . W tym przykładzie są 3 ukryte jednostki (niebieskie) i 4 widoczne (białe). To nie jest ograniczona maszyna Boltzmanna.

Maszyna Boltzmanna, podobnie jak sieć Hopfielda , jest siecią jednostek o „energii” ( hamiltonian ) określonej dla całej sieci. Jego jednostki dają wyniki binarne . W przeciwieństwie do siatek Hopfielda, jednostki maszyn Boltzmanna są stochastyczne . Energia globalna w maszynie Boltzmanna jest w formie identyczna jak w sieciach Hopfielda i modelach Isinga :

Gdzie:

  • to siła połączenia między jednostką a jednostką .
  • jest stanem jednostki .
  • jest odchyleniem jednostki w funkcji energii globalnej. ( to próg aktywacji urządzenia.)

Często wagi są przedstawiane jako symetryczna macierz z zerami na przekątnej.

Prawdopodobieństwo stanu jednostki

Różnica w energii globalnej, która wynika z pojedynczej jednostki równej 0 (off) w stosunku do 1 (on), zapisanej przy założeniu symetrycznej macierzy wag, wyraża się wzorem:

Można to wyrazić jako różnicę energii dwóch stanów:

Zastępując energię każdego stanu jego względnym prawdopodobieństwem zgodnie z czynnikiem Boltzmanna (właściwość rozkładu Boltzmanna, że energia stanu jest proporcjonalna do ujemnego prawdopodobieństwa logarytmicznego tego stanu) daje:

gdzie jest stałą Boltzmanna i jest wchłonięty przez sztuczne pojęcie temperatury . Następnie przestawiamy terminy i uważamy, że prawdopodobieństwa włączenia i wyłączenia jednostki muszą sumować się do jednego:

Obliczając , prawdopodobieństwo włączenia -tej jednostki daje:

gdzie skalar jest określany jako temperatura systemu. Ta zależność jest źródłem funkcji logistycznej występującej w wyrażeniach prawdopodobieństwa w wariantach maszyny Boltzmanna.

Stan równowagi

Sieć działa poprzez wielokrotne wybieranie jednostki i resetowanie jej stanu. Po wystarczająco długim działaniu w określonej temperaturze prawdopodobieństwo globalnego stanu sieci zależy tylko od energii tego globalnego stanu, zgodnie z rozkładem Boltzmanna , a nie od stanu początkowego, z którego proces się rozpoczął. Oznacza to, że logarytmiczne prawdopodobieństwa stanów globalnych stają się liniowe w ich energiach. Ta zależność jest prawdziwa, gdy maszyna jest „w równowadze termicznej ”, co oznacza, że ​​rozkład prawdopodobieństwa stanów globalnych jest zbieżny. Uruchamiając sieć od wysokiej temperatury, jej temperatura stopniowo spada aż do osiągnięcia równowagi termicznej w niższej temperaturze. Następnie może zbiegać się do rozkładu, w którym poziom energii oscyluje wokół globalnego minimum. Proces ten nazywany jest wyżarzaniem symulowanym .

Aby wytrenować sieć tak, aby istniała szansa, że ​​osiągnie ona stan globalny zgodnie z zewnętrznym rozkładem tych stanów, wagi muszą być ustawione tak, aby stany globalne o najwyższym prawdopodobieństwie uzyskiwały najniższe energie. Odbywa się to poprzez szkolenie.

Szkolenie

Jednostki w maszynie Boltzmanna dzielą się na jednostki „widoczne” V i jednostki „ukryte” H. Widoczne jednostki to te, które otrzymują informacje z „otoczenia”, tj. zbiór uczący jest zbiorem wektorów binarnych nad zbiór V. Podział na zbiór uczący jest oznaczony .

Rozkład w stanach globalnych zbiega się, gdy maszyna Boltzmanna osiąga równowagę termiczną . Dystrybucję tę oznaczamy po zmarginalizowaniu jej nad jednostkami ukrytymi jako .

Naszym celem jest przybliżenie „rzeczywistego” rozkładu za pomocą wyprodukowanego przez maszynę. Podobieństwo obu rozkładów mierzy się dywergencją Kullbacka-Leiblera , :

gdzie suma jest ponad wszystkimi możliwymi stanami . jest funkcją wag, ponieważ określają one energię stanu, a energia określa , jak obiecuje rozkład Boltzmanna. Największego spadku algorytm na zmienia danej masy ciała, przez odjęcie częściowej pochodnej w odniesieniu do ciężaru.

Trening maszynowy Boltzmanna obejmuje dwie naprzemienne fazy. Jedną z nich jest faza „dodatnia”, w której stany widocznych jednostek są ograniczone do określonego wektora stanu binarnego próbkowanego z zestawu uczącego (zgodnie z ). Druga to faza „negatywna”, w której sieć może działać swobodnie, tzn. żadne jednostki nie mają swojego stanu określonego przez dane zewnętrzne. Gradient względem danej masy , , wyraża równanie:

gdzie:

  • jest prawdopodobieństwem, że jednostki i i j są włączone, gdy maszyna jest w równowadze w fazie dodatniej.
  • jest prawdopodobieństwem, że jednostki i i j są włączone, gdy maszyna jest w równowadze w fazie ujemnej.
  • oznacza szybkość uczenia się

Wynik ten wynika z faktu, że w stanie równowagi termicznej prawdopodobieństwo wystąpienia dowolnego stanu globalnego, gdy sieć działa swobodnie, jest dane rozkładem Boltzmanna.

Ta zasada uczenia się jest biologicznie wiarygodna, ponieważ jedyną informacją potrzebną do zmiany wag są informacje „lokalne”. Oznacza to, że połączenie ( synapsa , biologicznie) nie potrzebuje informacji o niczym innym niż o dwóch neuronach, które łączy. Jest to bardziej realistyczne biologicznie niż informacje potrzebne do połączenia w wielu innych algorytmach uczących sieci neuronowych, takich jak propagacja wsteczna .

Trening maszyny Boltzmanna nie wykorzystuje algorytmu EM , który jest intensywnie wykorzystywany w uczeniu maszynowym . Minimalizacja rozbieżności KL jest równoważna maksymalizacji logarytmicznego prawdopodobieństwa danych. Dlatego procedura ucząca wykonuje gradientowe wznoszenie na logarytmicznej wiarygodności obserwowanych danych. Jest to przeciwieństwo algorytmu EM, w którym rozkład a posteriori ukrytych węzłów musi być obliczony przed maksymalizacją wartości oczekiwanej pełnego prawdopodobieństwa danych podczas M-kroku.

Trenowanie uprzedzeń jest podobne, ale wykorzystuje tylko aktywność pojedynczego węzła:

Problemy

Teoretycznie maszyna Boltzmanna jest dość ogólnym medium obliczeniowym. Na przykład, jeśli wyszkolono by na zdjęciach, maszyna teoretycznie modelowałaby rozmieszczenie zdjęć i mogłaby wykorzystać ten model, na przykład, do wykonania częściowej fotografii.

Niestety, maszyny Boltzmanna napotykają poważny problem praktyczny, a mianowicie wydaje się, że przestają się prawidłowo uczyć, gdy maszyna jest skalowana do czegokolwiek większego niż trywialny rozmiar. Wynika to z ważnych efektów, a konkretnie:

  • wymagany porządek czasowy do zebrania statystyk równowagi rośnie wykładniczo wraz z wielkością maszyny i wielkością sił połączeń
  • siły połączeń są bardziej plastyczne, gdy połączone jednostki mają prawdopodobieństwa aktywacji pośrednie między zerem a jednym, co prowadzi do tak zwanej pułapki wariancji. Efektem netto jest to, że hałas powoduje, że siły połączenia podążają losowo, dopóki czynności nie zostaną nasycone.

Rodzaje

Ograniczona maszyna Boltzmanna

Graficzna reprezentacja przykładowej ograniczonej maszyny Boltzmanna
Graficzna reprezentacja ograniczonej maszyny Boltzmanna. Cztery niebieskie jednostki reprezentują jednostki ukryte, a trzy jednostki czerwone reprezentują widoczne stany. W zastrzeżonych maszynach Boltzmanna istnieją tylko połączenia (zależności) między jednostkami ukrytymi i widocznymi, a żadnych między jednostkami tego samego typu (żadnych połączeń ukrytych i widocznych-widocznych).

Chociaż nauka jest ogólnie niepraktyczna w maszynach Boltzmanna, może być wydajna w ograniczonej maszynie Boltzmanna (RBM), która nie pozwala na wewnątrzwarstwowe połączenia między jednostkami ukrytymi i widocznymi, tj. nie ma połączenia między jednostkami widocznymi i widocznymi oraz ukrytymi i ukrytymi. . Po wytrenowaniu jednej RBM, działania jej ukrytych jednostek można traktować jako dane do trenowania RBM wyższego poziomu. Ta metoda układania RBMs umożliwia efektywne trenowanie wielu warstw ukrytych jednostek i jest jedną z najczęstszych strategii uczenia głębokiego . Wraz z dodawaniem każdej nowej warstwy poprawia się model generatywny.

Rozszerzenie ograniczonej maszyny Boltzmanna umożliwia korzystanie z danych o wartościach rzeczywistych zamiast danych binarnych.

Jednym z przykładów praktycznej aplikacji RBM jest rozpoznawanie mowy.

Głęboka maszyna Boltzmanna

Głęboka maszyna Boltzmanna (DBM) jest rodzajem binarnego pola losowego Markowa parami ( nieskierowany probabilistyczny model graficzny ) z wieloma warstwami ukrytych zmiennych losowych . Jest to sieć symetrycznie sprzężonych stochastycznych jednostek binarnych . Składa się z zestawu widocznych jednostek i warstw ukrytych jednostek . Brak połączenia łączy jednostki tej samej warstwy (jak RBM ). Dla DBM prawdopodobieństwo przypisane wektorowi ν wynosi

gdzie są zbiorem jednostek ukrytych i parametrami modelu reprezentującymi interakcje widoczne-ukryte i ukryte-ukryte. W DBN tylko dwie górne warstwy tworzą ograniczoną maszynę Boltzmanna (która jest nieukierunkowanym modelem graficznym ), podczas gdy niższe warstwy tworzą ukierunkowany model generatywny. W DBM wszystkie warstwy są symetryczne i nieskierowane.

Podobnie jak DBN , DBM mogą uczyć się złożonych i abstrakcyjnych wewnętrznych reprezentacji danych wejściowych w zadaniach, takich jak rozpoznawanie obiektów lub mowy , używając ograniczonych, oznaczonych danych w celu dostrojenia reprezentacji zbudowanych przy użyciu dużego zestawu nieoznaczonych danych wejściowych sensorycznych. Jednak w przeciwieństwie do DBN i głębokich splotowych sieci neuronowych , realizują procedurę wnioskowania i uczenia w obu kierunkach, od dołu do góry i od góry do dołu, co pozwala DBM lepiej ujawniać reprezentacje struktur wejściowych.

Jednak niska prędkość DBM ogranicza ich wydajność i funkcjonalność. Ponieważ dokładne uczenie się o największej prawdopodobieństwie jest niewykonalne dla DBM, możliwe jest tylko przybliżone uczenie się z maksymalną wiarogodnością. Inną opcją jest zastosowanie wnioskowania o średnim polu do oszacowania oczekiwań zależnych od danych i przybliżenia oczekiwanych wystarczających statystyk za pomocą Monte Carlo łańcucha Markowa (MCMC). To przybliżone wnioskowanie, które należy wykonać dla każdego wejścia testowego, jest około 25 do 50 razy wolniejsze niż pojedyncze przejście od dołu do góry w DBM. To sprawia, że ​​wspólna optymalizacja jest niepraktyczna w przypadku dużych zbiorów danych i ogranicza użycie DBM do zadań, takich jak reprezentacja funkcji.

RBM z kolcami i płytami

Potrzeba głębokiego uczenia z danymi wejściowymi o wartościach rzeczywistych , jak w gaussowskich RBM, doprowadziła do powstania RBM typu spike-and-slab ( ss RBM ), który modeluje dane wejściowe o wartościach ciągłych z binarnymi zmiennymi ukrytymi . Podobnie jak podstawowe RBM i jego warianty, RBM typu spike-and-slab jest wykresem dwuczęściowym , podczas gdy podobnie jak GRBM , widoczne jednostki (dane wejściowe) są wartościami rzeczywistymi. Różnica polega na ukrytej warstwie, gdzie każda ukryta jednostka ma binarną zmienną szczytową i zmienną płyty o wartości rzeczywistej. Skok jest dyskretną masą prawdopodobieństwa równą zero, podczas gdy płyta jest gęstością w domenie ciągłej; ich mieszanina tworzy a priori .

Rozszerzenie ss RBM o nazwie µ-ss RBM zapewnia dodatkową zdolność modelowania przy użyciu dodatkowych terminów w funkcji energii . Jeden z tych terminów umożliwia modelowi utworzenie warunkowego rozkładu zmiennych szczytowych poprzez marginalizację zmiennych płyty w przypadku obserwacji.

Historia

Maszyna Boltzmanna oparta jest na modelu ze szkła spinowego , stochastycznym modelu Isinga firmy Sherrington-Kirkpatrick .

Oryginalny wkład w zastosowanie takich modeli opartych na energii w kognitywistyce pojawił się w pracach Hintona i Sejnowskiego.

Przełomowa publikacja Johna Hopfielda połączyła fizykę i mechanikę statystyczną, wspominając o szkłach spinowych.

Pomysł stosowania modelu Ising z odprężonym próbkowania Gibbsa występuje w Douglas Hofstadtera „s naśladowca projektu.

Podobne idee (ze zmianą znaku w funkcji energii) można znaleźć w „Teorii harmonii” Paula Smolensky'ego .

Wyraźna analogia z mechaniką statystyczną w sformułowaniu maszyny Boltzmanna doprowadziła do użycia terminologii zapożyczonej z fizyki (np. „energia” zamiast „harmonia”), która stała się standardem w tej dziedzinie. Powszechne przyjęcie tej terminologii mogło być zachęcone faktem, że jej użycie doprowadziło do przyjęcia różnych pojęć i metod z mechaniki statystycznej. Różne propozycje zastosowania symulowanego wyżarzania do wnioskowania były najwyraźniej niezależne.

Modele Isinga uznano za szczególny przypadek pól losowych Markowa , które znajdują szerokie zastosowanie w lingwistyce , robotyce , wizji komputerowej i sztucznej inteligencji .

Zobacz też

.

Bibliografia

  1. https://www.mis.mpg.de/preprints/2018/preprint2018_87.pdf

Dalsza lektura

Zewnętrzne linki