Restricted Boltzmann Machines kurz und einfach erklärt!
Restricted Boltzmann Machines (RBMs) sind künstliche Neuronale Netzwerke, die aus einer visible und einer hidden layer besteht. Die Boltzmann Machinen werden aus Performancegründen eingeschränkt, so dass es keine Verbindungen innerhalb der visible oder hidden layers geben kann. Ziel des Lernvorgangs ist es die Gewichte so zu verändern, dass das im Netzwerk definierte Energieniveau minimal wird. Dafür wird der Contrastive Divergence Algorithmus genutzt. Soll ein tiefes neuronales Netz definiert werden können mehrere RBMs zu einem Deep Belief Netz zusammengesetzt werden.
(Für diesen Artikel wird ein Grundverständnis von Neuronalen Netzen vorrausgesetzt.)
Woher kommen die Restrictive Boltzmann Machines?
Restricted Boltzmann Machines kurz RBMs wurden 1985 von Geoffrey Hinton und Terrence J. Sejnowski entwickelt und nach der Boltzmann-Verteilung benannt.
Wie sind RBMs eingeschränkt?
Restricted Boltzmann Machines heißen restricted, weil die sichtbaren Neuronen untereinander nicht verbunden sind. Ebenfalls sind die versteckten Neuronen untereinander nicht verbunden. Außerdem gibt es keine Verbindungen von Neuronen auf sich selbst und alle Verbindungen sind ungerichtet.
Warum werden Boltzmann Machines eingeschränkt?
Boltzmann Machines werden eingeschränkt, damit sie leichter trainierbar sind. Aus Performancegründen sind nicht restrictive Boltzmann Machines in der Praxis nicht einsetzbar.
Wie sind RBMs aufgebaut?
Als Neuronales Netzwerk bestehen RBMs aus Schichten, Neuronen und Verbindungen zwischen den Neuronen. Die Verbindungen enthalten jeweils ein Gewicht. RBMs bestehen nur aus zwei Schichten. Einer Hidden-Schicht (hidden layer) mit versteckten Neuronen (auch versteckte Einheiten oder hidden units genannt) und einer Schicht mit sichtbaren Neuronen (visible layer). Die Neuronen der visible Layer sind untereinander nicht verbunden. Die Neuronen der hidden layer sind untereinander ebenfalls nicht verbunden. Die Neuronen der visible layer sind mit den Neuronen der hidden layer vollständig vernetzt. Das heißt jedes visible Neuron ist mit jedem hidden Neuron verbunden. Die Neuronen sind nicht mit sich selbst verbunden und die Verbindungen ungerichtet.
Wie lernen RBMs?
RBMs lernen wie bei Neuronalen Netzen üblich, indem die Gewichte auf den Verbindungen verändert werden. Dabei soll das Energieniveau in jeder Trainingsiteration reduziert werden. Verändert sich das Energieniveau nicht mehr, ist der Lernvorgang beendet. Dazu wird Contrastive Divergence als Lernalgorithmus eingesetzt.
Was wird bei einer RBM gelernt?
Eine RBM lernt die Gewichte auf den Verbindungen. Zusätzlich müssen zwei Biasvektoren gelernt werden. Einer für die sichtbaren und einer für die unsichtbaren Schichten. Die Gewichte und Biasvektoren sollen so gelernt werden, dass das Energieniveau minimiert wird.
Gemeinsamkeiten mit Hopfield-Netz?
Im RBM-Netz ist wie im Hopfield-Netz ein Energieniveau definiert. Dieses Energieniveau ist auch genauso definiert wie im Hopfield-Netz. Zudem haben auch RBMs das Ziel, das Energieniveau in jeder Trainingsepoche zu reduzieren. Auch die Werte der Neuronen sind identisch, da sie in beiden Netzwerken nur 0 und 1 annehmen können und dadurch binär sind.
Unterschied zu Hopfield-Netz?
Bei RBMs verhalten sich die Neuronen stochastisch.
Unterschied zu Deep Belief Netzen?
Es können mehrere RBMs zusammengesetzt werden. Dadurch entsteht ein Deep Belief Netz. Bei einer einzelnen RBM kann nicht von Deep Learning gesprochen werden, da nur eine hidden layer existiert. Ein Deep Belief Netz hingegen ist Deep Learning.
Wofür werden RBMs eingesetzt?
RBMs wurden in der Praxis zum Beispiel von Netflix für Collaborative Filtering eingesetzt. Es ist außerdem für unsupervised Learning geeignet.