Recentemente, tenho estudado auto-codificadores. Se bem entendi, um autoencoder é uma rede neural em que a camada de entrada é idêntica à camada de saída. Portanto, a rede neural tenta prever a saída usando a entrada como padrão-ouro.
Qual é a utilidade desse modelo? Quais são os benefícios de tentar reconstruir alguns elementos de saída, tornando-os o mais iguais possível aos elementos de entrada? Por que alguém deveria usar todo esse maquinário para chegar ao mesmo ponto de partida?
fonte
Ele também pode modelar sua população para que, ao inserir um novo vetor, você possa verificar a diferença entre a saída e a entrada. Se eles são "praticamente" iguais, você pode assumir que a entrada corresponde à população. Se eles são "bastante" diferentes, provavelmente a entrada não pertence à população que você modelou.
Eu vejo isso como uma espécie de "regressão por redes neurais", na qual você tenta ter uma função que descreve seus dados: sua saída é igual à entrada.
fonte
Talvez essas fotos tenham alguma intuição. Como comentador acima, os codificadores automáticos tentam extrair alguns recursos de alto nível dos exemplos de treinamento. Você pode ver como o algoritmo de prognóstico é usado para treinar cada nível oculto separadamente para o NN profundo na segunda foto.
As fotos são tiradas da Wikipedia russa.
fonte