AI-United » Allgemein » Deep Autoencoders

Deep Autoencoders

Deep Autoencoders

Als erstes nennen wir die Bestandteile eines Deep-Autoencoders: Dies sind zwei symmetrische Deep-Belief-Netzwerke, die in der Regel vier oder fünf flache Schichten haben, die der Darstellung des Codierungsteiles des Netzwerkes dienen, und der zweite Satz von vier bzw. fünf Schichten, die den Decodierungsteil ausmachen.

Unter Schichten versteht man Restricted Boltzmann Machines (RBM, etwa beschränkte Boltzmann-Maschinen), die Bauelemente von Deep-Belief-Netzwerken, mit einigen charakteristischen Merkmalen, die nachfolgend in diesem  Artikel behandelt werden. Betrachten Sie zunächst eine vereinfachte Darstellung der Struktur eines Deep Autoencoders, der im Folgenden eine besondere Aufmerksamkeit gewidmet wird.

Um den Benchmark-Datensatz MNIST zu verarbeiten, sollten binäre Transformationen vom Deep-Autoencoder nach jeder RBM verwendet werden. Deep Autoencoder kann für andere Arten von Datensätzen mit realwertigen Daten eingesetzt werden. In diesem Fall werden stattdessen Gauß-Verteilungs-Transformationen für die RBMs verwendet.

Wie werden Eingabedaten codiert?

Versuchen wir einen Beispiel-Encoder zu skizzieren:

784 (input) ----> 1000 ----> 500 ----> 250 ----> 100 -----> 30

Zum Beispiel besteht die an das Netzwerk gelieferte Eingabe aus 784 Pixeln (es handelt sich um das Quadrat der 28×28 Pixel Bilder im MNIST-Datensatz), dann ist es unbedingt notwendig, dass die erste Schicht des Deep Autoencoders 1000 Parameter hat, d.h. etwas größer.

Dies mag kontraintuitiv erscheinen, denn mehr Parameter als Eingabe zu haben, ist eine gute Möglichkeit, ein neuronales Netzwerk zu überarbeiten.

In diesem Fall ermöglichen die Erweiterung der Parameter und in gewisser Weise die Erweiterung der Features der Eingabe selbst die letztendliche Dekodierung der Daten, die automatisch kodiert sind.

Dies liegt an der Repräsentationsfähigkeit der sigmoiden Einheiten, einer Form der Transformation, die bei jeder Schicht eingesetzt wird. Die Besonderheit der sigmoiden Einheiten besteht darin, dass sie nicht so viel Information und Varianz wie realwertige Daten darstellen können. Bei der erweiterten ersten Schicht handelt es sich um eine Möglichkeit, dies zu kompensieren.

Die Schichten haben jeweils die Breite von 1000, 500, 250 und 100 Knoten bis zum Ende, wo vom Netzwerk ein Vektor mit 30 Zahlen erstellt wird. Dieser 30-stellige Vektor gilt als die letzte Schicht des ersten Teiles des Deep Autoencoders, d.h. des Vortrainingsteils, und als das Produkt einer normalen RBM und nicht einer Klassifizierungsausgabeschicht wie die sogenannte Softmax-Funktion (auch normalisierte Exponentialfunktion genannt) oder eine logistische Regression, wie man dies gewöhnlich am Ende eines Deep Belief Netzwerks sehen würde.     

Wie werden Darstellungen decodiert?

Diese 30 Zahlen bedeuten eine codierte Version des 28 x 28 Pixel großen Bildes. Die Aufgabe des zweiten Teiles eines Deep-Autoencoders besteht darin, zu lernen, wie man den komprimierten Vektor decodiert, der zur Eingabe wird, wenn er zurückgeführt wird.

Unter dem Dekodierungsteil eines Deep Autoencoders versteht man ein Feed-Forward-Netzwerk mit Schichten, die jeweils aus 100, 250, 500 und 1000 Knoten bestehen. Die Gewichte dieser Schichten werden zufällig initialisiert.

784 (output) <---- 1000 <---- 500 <---- 250 <---- 30

Dieser Dekodierungsteil eines Deep Autoencoders lernt, wie das Bild rekonstruiert wird. Dies wird mithilfe des zweiten Feed-Forward-Netzwerks gemacht, das ebenfalls eine Backpropagation durchführt. Die Backpropagation wird durch Rekonstruktionsentropie ausgeführt.

Eine Trainingsfeinheit

In der Phase der Backpropagation des Decoders ist es notwendig, die Lernrate zu verringern oder verlangsamen: irgendwo zwischen 1e-3 und 1e-6. Dies hängt davon ab, ob binäre oder kontinuierliche Daten verarbeitet werden.

Anwendungsbeispiele

Image Search/Bildersuche

Wie bereits erwähnt, sind Deep-Autoencoder fähig, Bilder in 30-stellige Vektoren zu komprimieren.

Die Suchmaschine komprimiert das Bild, das bei der Bildsuche hochgeladen wird, auf 30 Zahlen. Dann wird dieser Vektor mit allen anderen in ihrem Index verglichen.

Vektoren mit ähnlichen Zahlen werden für die Suchanfrage zurückgeliefert und in das entsprechende Bild umgesetzt.

Data Compression/Datenkompression

Die Datenkompression oder Datenkomprimierung ist ein allgemeineres Beispiel der Bildkomprimierung. Deep Autoencoder werden erfolgreich für semantisches Hashing verwendet.

Topic Modeling & Information Retrieval (IR)

Deep Autoencoder werden auch bei der Topic Modeling oder der statistischen Modellierung abstrakter Themen bzw. besser “Topics” verwendet, die in den einzelnen Dokumenten der Sammlung in unterschiedlicher Ausprägung vertreten sind. 

Dies ist eine sehr wichtige Phase in der Entwicklung der Frage-Antwort-Systeme wie IBM Watson.

Wie funktioniert dies? Jedes Dokument in einer Textsammlung wird in einen Satz von Wortzählungen, ein sogenanntes Bag-of-Words umgewandelt. Sie werden dann auf Dezimalzahlen zwischen 0 und 1 skaliert. Dies kann als die Wahrscheinlichkeit betrachtet werden, dass ein Wort im Dokument auftritt.

Die skalierten Wortzählungen werden dann einem Deep-Belief Netzwerk zugeführt, einem Stapel der RBMs, die selbst nur eine Untermenge der Feedforward-Backpropagation-Autoencoder sind. Die Aufgabe dieser Deep-Belief-Netzwerke (abgekürzt DBNs) ist es, jedes Dokument zu einem Satz von 10 Zahlen zu komprimieren, indem eine Reihe von Sigmoid-Transformationen durchgeführt wird, die es auf den Feature-Bereich darstellen.

Der nächste Schritt besteht darin, dass der Nummernsatz oder Vektor jedes Dokuments demselben Vektorraum zugeführt und der Abstand zu jedem der anderen Dokumentvektor gemessen wird. Mit anderen Worten fallen benachbarte Dokumentvektoren unter dasselbe Topic.

Ein Dokument könnte beispielsweise die “Frage” sein und andere können “Antworten” sein. So handelt es sich um eine Übereinstimmung, die die Software mit Vektorraummessungen erzielen würde.

Möchten Sie mehr über Deep Autoencoder erfahren, so können Sie sich an das Team von AI-United.de per Mail oder Q&A wenden.

Quelle

AI-United-Redaktion

Kommentar hinzufügen

Your email address will not be published. Required fields are marked *

300-101   400-101   300-320   300-070   300-206   200-310   300-135   300-208   810-403   400-050   640-916   642-997   300-209   400-201   200-355   352-001   642-999   350-080   MB2-712   400-051   C2150-606   1Z0-434   1Z0-146   C2090-919   C9560-655   642-64   100-101   CQE   CSSLP   200-125   210-060   210-065   210-260   220-801   220-802   220-901   220-902   2V0-620   2V0-621   2V0-621D   300-075   300-115   AWS-SYSOPS   640-692   640-911   1Z0-144   1z0-434   1Z0-803   1Z0-804   000-089   000-105   70-246   70-270   70-346   70-347   70-410