Boltzmann-Maschine

aus Wikipedia, der freien Enzyklopädie
Beispiel einer Boltzmann Maschine.
Eine graphische Repräsentation einer Boltzmann Maschine mit 3 Hidden Units und 4 Visible Units

Eine Boltzmann-Maschine ist in der Art ein rekurrentes neuronales Netz, das nach dem österreichischen Wissenschaftler Ludwig Boltzmann benannt wurde. Entwickelt wurde diese von Geoffrey Hinton und Terrence J. Sejnowski im Jahre 1985. Diese Maschinen können zu komplexeren Systemen aneinandergereiht werden wie zum Beispiel tiefe Glaubensnetzwerke. Die Boltzmann-Maschine wird auch stochastischens Hopfield-Netzwerk mit versteckten Einheiten genannt.[1] Beschränkt man die Verbindungen zwischen den Neuronen jedoch, lässt sich der Lernvorgang stark vereinfachen, wodurch Beschränkte Boltzmann-Maschinen sich zur Lösung praktischer Probleme einsetzen lassen.

Aufbau

Eine Boltzmann-Maschine ist wie ein Hopfield-Netz ein Netzwerk von Neuronen, in dem ein Energieniveau definiert ist. Wie bei Hopfield-Netzen nehmen die Neuronen nur binäre Werte (0 oder 1) an, verhalten sich im Gegensatz jedoch stochastisch. Das Energieniveau einer Boltzmann-Maschine ist so definiert wie bei einem Hopfield-Netz:

wobei gilt:

  • ist das Gewicht der Verbindung zwischen Neuron und .
  • ist der Zustand des Neurons .
  • ist der Schwellwert eines Neurons . ( ist der Wert ab dem ein Neuron aktiviert wird.)

Die Verbindungen einer Boltzmann-Maschine haben zwei Beschränkungen:

  • . (Kein Neuron hat eine Verbindung mit sich selbst.)
  • . (Alle Verbindungen sind symmetrisch.)

Die Gewichtungen lassen sich in Form einer symmetrischen Matrix darstellen, deren Hauptdiagonale aus Nullen besteht.

Genau wie beim Hopfield-Netz tendiert die Boltzmann-Maschine dazu, den Wert der so definierten Energie bei aufeinanderfolgenden Aktualisierungen zu verringern, letztendlich also zu minimieren, bis ein stabiler Zustand erreicht ist.

Restricted Boltzmann Maschine

Eine sog. Restricted Boltzmann Maschine (RBM) besteht aus sichtbaren Einheiten (engl. visible units) und versteckten Einheiten (hidden units). An die sichtbaren Einheiten wird der Feature-Vektor angelegt.

Das "restricted" (englisch für "beschränkt") kommt durch die Tatsache, dass die sichtbaren Einheiten nicht untereinander und die versteckten Einheiten auch nicht untereinander verbunden sind. Allerdings sind die sichtbaren Einheiten mit den versteckten Einheiten vollständig verbunden. Sie bilden also einen bipartiten, ungerichteten Graphen. Dies ist im Folgenden dargestellt:

Restricted-boltzmann-machine.svg

Die zu lernenden Parameter sind die Gewichte der Kanten zwischen sichtbaren und versteckten Einheiten sowie die Bias-Vektoren der versteckten und der sichtbaren Einheiten. Diese werden über den Contrastive Divergence Algorithmus gelernt.[2]

Restricted Boltzmann Machines wurden zum kollaborativen Filtern auf Netflix eingesetzt.[3]

Weblinks

Einzelnachweise

  1. Boltzmann-Maschine. Abgerufen am 10. April 2022.
  2. Geoffrey Hinton: A practical guide to training restricted Boltzmann machines. 2010.
  3. Ruslan Salakhutdinov, Andriy Mnih, Geoffrey Hinton: Restricted Boltzmann machines for collaborative filtering. In: Proceedings of the 24th international conference on Machine learning. 2007, S. 791–798.