Autoencoder

Autoencoder

Ein Autoencoder ist ein künstliches neuronales Netz, das dazu genutzt wird, effiziente Codierungen zu lernen. Das Ziel eines Autoencoders ist es, eine komprimierte Repräsentation (Encoding) für einen Satz Daten zu lernen und somit auch wesentliche Merkmale zu extrahieren. Dadurch kann er zur Dimensionsreduktion genutzt werden.

Der Autoencoder benutzt drei oder mehr Schichten:

  • Eine Eingabeschicht. Bei der Gesichtserkennung könnten die Neuronen beispielsweise die Pixel einer Fotografie abbilden.
  • Einige signifikant kleinere Schichten, die das Encoding bilden.
  • Eine Ausgabeschicht, wo jedes Neuron die gleiche Bedeutung hat wie das entsprechende in der Eingabeschicht.

Wenn lineare Neuronen benutzt werden, ist er der Hauptkomponentenanalyse sehr ähnlich.

Training

Ein Autoencoder wird häufig mit einer der vielen Backpropagation-Varianten (CG-Verfahren, Gradientenverfahren etc.) trainiert. Obwohl diese Methode oft sehr effektiv ist, gibt es fundamentale Probleme damit, neuronale Netzwerke mit verborgenen Schichten zu trainieren. Sind die Fehler einmal zu den ersten paar Schichten rückpropagiert, werden sie unbedeutend. Das bedeutet, dass das Netzwerk fast immer lernt, den Durchschnitt der Trainingsdaten zu lernen. Obwohl es fortgeschrittene Backpropagation-Methoden (wie die conjugate gradient method) gibt, die diesem Problem zum Teil abhelfen, läuft dieses Verfahren auf langsames Lernen und schlechte Ergebnisse hinaus. Um dem abzuhelfen, verwendet man anfängliche Gewichtungen, die dem Ergebnis schon ungefähr entsprechen. Dies wird Pretraining genannt.

Bei einer Pretraining-Technik, die von Geoffrey Hinton dazu entwickelt wurde, vielschichtige Autoencoder zu trainieren, werden benachbarte Schichten als begrenzte Boltzmann-Maschine behandelt, um eine gute Annäherung zu erreichen und dann Backpropagation als Fine-Tuning zu benutzen.

Weblinks


Wikimedia Foundation.

Игры ⚽ Поможем написать курсовую

Schlagen Sie auch in anderen Wörterbüchern nach:

  • Artificial neural network — An artificial neural network (ANN), usually called neural network (NN), is a mathematical model or computational model that is inspired by the structure and/or functional aspects of biological neural networks. A neural network consists of an… …   Wikipedia

  • Principal components analysis — Principal component analysis (PCA) is a vector space transform often used to reduce multidimensional data sets to lower dimensions for analysis. Depending on the field of application, it is also named the discrete Karhunen Loève transform (KLT),… …   Wikipedia

  • Nonlinear dimensionality reduction — High dimensional data, meaning data that requires more than two or three dimensions to represent, can be difficult to interpret. One approach to simplification is to assume that the data of interest lies on an embedded non linear manifold within… …   Wikipedia

  • Unüberwachtes Lernen — (engl. unsupervised learning) bezeichnet maschinelles Lernen ohne im Voraus bekannte Zielwerte. Das Netz orientiert sich an der Ähnlichkeit zu den Inputwerten und adaptiert die Gewichte entsprechend. Es können verschiedene Dinge gelernt werden.… …   Deutsch Wikipedia

  • Principal component analysis — PCA of a multivariate Gaussian distribution centered at (1,3) with a standard deviation of 3 in roughly the (0.878, 0.478) direction and of 1 in the orthogonal direction. The vectors shown are the eigenvectors of the covariance matrix scaled by… …   Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”