Rajoitetut Boltzmannin koneet – yksinkertaistettuna
Mitä ovat rajoitetut Boltzmannin koneet?
RBM:t ovat kaksikerroksinen keinotekoinen neuroverkko, jolla on generatiiviset ominaisuudet. Niillä on kyky oppia todennäköisyysjakauma sen syöttöjoukon yli. RBM:t keksi Geoffrey Hinton, ja niitä voidaan käyttää dimensioiden pienentämiseen, luokitteluun, regressioon, yhteistoiminnalliseen suodatukseen, ominaisuuksien oppimiseen ja aiheiden mallintamiseen.
RBM:t ovat erityinen Boltzmann-koneiden luokka, ja ne ovat rajoitettuja näkyvien ja piilotettujen yksiköiden välisten yhteyksien suhteen. Tämä tekee niiden toteuttamisesta helppoa verrattuna Boltzmannin koneisiin. Kuten aiemmin todettiin, ne ovat kaksikerroksisia neuroverkkoja (joista toinen on näkyvä kerros ja toinen piilokerros), ja nämä kaksi kerrosta on yhdistetty täysin kaksijakoisella graafilla. Tämä tarkoittaa, että jokainen näkyvän kerroksen solmu on yhteydessä jokaiseen piilokerroksen solmuun, mutta kaksi samaan ryhmään kuuluvaa solmua ei ole yhteydessä toisiinsa. Tämä rajoitus mahdollistaa tehokkaammat koulutusalgoritmit kuin mitä Boltzmann-koneiden yleiselle luokalle on saatavilla, erityisesti gradienttipohjainen kontrastiivinen divergenssialgoritmi.
Rajoitettu Boltzmann-kone näyttää tältä:
Miten rajoitetut Boltzmann-koneet toimivat?
Rajoitetussa Boltzmann-koneessa (RBM) meillä on symmetrinen kaksiosainen graafi, jossa yksikään kaksi samaan ryhmään kuuluvaa yksikköä ei ole yhdistetty. Useita RBM:iä voi olla myös stacked
ja niitä voidaan hienosäätää gradienttilaskeutumisen ja back-propagation prosessin avulla. Tällaista verkkoa kutsutaan Deep Belief Networkiksi. Vaikka RBM:iä käytetään satunnaisesti, useimmat syväoppimisyhteisön jäsenet ovat alkaneet korvata niiden käytön yleisillä vastakkaisverkoilla (General Adversarial Networks) tai varioivilla autokoodereilla (Variational Autoencoders).
RBM on stokastinen neuroverkko, mikä tarkoittaa sitä, että kukin neuroni käyttäytyy jonkin verran satunnaisesti aktivoituessaan. RBM:ssä on kaksi muuta harhautusyksikkökerrosta (piilotettu harhautus ja näkyvä harhautus). Tämä erottaa RBM:n autokoodereista. Piilotettu harhautus RBM tuottaa aktivoinnin eteenpäin menevässä syötössä ja näkyvä harhautus auttaa RBM:ää rekonstruoimaan syötteen taaksepäin menevässä syötössä. Rekonstruoitu tulo on aina erilainen kuin todellinen tulo, koska näkyvien yksiköiden välillä ei ole yhteyksiä eikä näin ollen tapaa siirtää tietoa keskenään.
Yllä olevassa kuvassa on esitetty RBM:n harjoittelun ensimmäinen vaihe useilla tuloilla. Syötteet kerrotaan painoilla ja sen jälkeen lisätään bias. Tulos ohjataan sitten sigmoidisen aktivointifunktion läpi, ja ulostulo määrittää, aktivoidaanko piilotila vai ei. Painot ovat matriisi, jonka rivien lukumääränä on tulosolmujen lukumäärä ja sarakkeiden lukumääränä piilosolmujen lukumäärä. Ensimmäinen piilosolmu saa syötteiden vektorikertoimen kerrottuna painojen ensimmäisellä sarakkeella, ennen kuin siihen lisätään vastaava bias-termi.
Ja jos ihmettelet, mikä on sigmoidifunktio, tässä on kaava:
Leave a Reply