Um autoencoder é um tipo de rede neural treinado para reproduzir sua própria entrada após passá-la por uma camada de gargalo estreita. Ele consiste em duas partes: um codificador que comprime a entrada em um código interno compacto e um decodificador que reconstrói a entrada original a partir desse código. Como a rede só pode passar uma pequena quantidade de informação pelo gargalo, ela é forçada a aprender quais características dos dados são mais importantes, produzindo uma representação de espaço latente que é menor e frequentemente mais significativa do que a entrada bruta.
História e variantes
Os autoencoders datam da literatura conexionista dos anos 1980, mas ganharam relevância moderna como uma forma de aprendizado não supervisionado, já que não exigem rótulos: a própria entrada serve como alvo de treinamento, um exemplo inicial do que hoje é chamado de aprendizado autossupervisionado. A introdução do autoencoder variacional (VAE) em 2013 adicionou um toque probabilístico, restringindo o espaço latente a aproximar uma distribuição suave e conhecida, em vez de uma forma arbitrária. Isso tornou possível gerar novas amostras sorteando pontos aleatórios dessa distribuição e decodificando-os, transformando os autoencoders de uma ferramenta de compressão em uma ferramenta generativa. Outras variantes incluem autoencoders de denoising, treinados para recuperar uma entrada limpa a partir de uma versão corrompida, e autoencoders esparsos, que incentivam a maioria das unidades latentes a permanecer perto de zero, uma propriedade posteriormente reutilizada em pesquisas de interpretabilidade para isolar características individuais dentro de grandes modelos de linguagem.
Aplicações
Além da geração direta, os autoencoders são amplamente usados para redução de dimensionalidade e detecção de anomalias, já que entradas que o modelo reconstrói mal provavelmente são incomuns em relação à distribuição de treinamento. Na geração de imagens, o par codificador-decodificador de um autoencoder é um componente-chave dos modelos de difusão latentes, como o Stable Diffusion: uma imagem é comprimida em uma grade latente pequena, o processo de difusão ocorre nesse espaço comprimido e o decodificador expande o resultado de volta para uma imagem em resolução total. Essa divisão de trabalho é uma das principais razões pelas quais os sistemas modernos de texto para imagem podem rodar em hardware de consumo. Os autoencoders também aparecem em sistemas de recomendação, onde ajudam a reconstruir dados esparsos de interação usuário-item, e em pipelines de reconhecimento de fala e áudio como uma forma de comprimir formas de onda antes de processamento adicional.
Relação com outras arquiteturas
Os autoencoders estão relacionados, mas são distintos dos GANs: o gerador de um GAN também mapeia um vetor latente para uma saída, mas é treinado adversarialmente contra um discriminador, em vez de minimizar o erro de reconstrução, o que tende a produzir saídas mais nítidas, porém menos controláveis. Sistemas baseados em transformadores substituíram amplamente os autoencoders simples para processamento de linguagem natural em larga escala, embora o padrão codificador-decodificador, formalizado anteriormente em modelos Seq2seq, permaneça como um ancestral conceitual tanto dos autoencoders quanto da arquitetura transformador. Objetivos de pré-treinamento por predição mascarada usados em modelos como o BERT também podem ser vistos como uma tarefa de autoencoder de denoising aplicada a texto.
Limitações
Autoencoders padrão otimizam apenas a reconstrução, o que não garante um espaço latente suave, desentrelaçado ou útil para tarefas downstream; variantes variacionais e outras regularizadas abordam isso parcialmente, mas geralmente trocam a nitidez da reconstrução por espaços latentes melhor estruturados. Em meados da década de 2020, os autoencoders sobrevivem principalmente como um componente dentro de pipelines generativos maiores, em vez de uma abordagem de modelagem independente.