> ## Documentation Index
> Fetch the complete documentation index at: https://novita.ai/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# O que é o Autoencoder Variacional VAE?

### Introdução aos Autoencoders

Autoencoders são uma classe de redes neurais usadas principalmente para aprendizado não supervisionado e redução de dimensionalidade. A ideia fundamental por trás dos autoencoders é codificar os dados de entrada em uma representação de menor dimensão e, então, decodificá-los de volta aos dados originais, com o objetivo de minimizar o erro de reconstrução. A arquitetura básica de um autoencoder consiste em dois componentes principais: o codificador e o decodificador.

* **Codificador**: O codificador é responsável por transformar os dados de entrada em uma representação comprimida ou latente. Ele normalmente consiste em uma ou mais camadas de neurônios que reduzem progressivamente as dimensões da entrada.

* **Decodificador**: O decodificador, por outro lado, recebe a representação comprimida produzida pelo codificador e tenta reconstruir os dados de entrada originais. Assim como o codificador, ele frequentemente consiste em uma ou mais camadas, mas em ordem inversa, aumentando gradualmente as dimensões.

<Frame>
  <img height="404" src="https://next-app-static.s3.ap-southeast-1.amazonaws.com/get-started/misc_01.png" />
</Frame>

### Visão geral dos Autoencoders Variacionais (VAEs)

Autoencoders Variacionais (VAEs) abordam algumas das limitações dos autoencoders tradicionais ao introduzir uma abordagem probabilística para codificação e decodificação. A motivação por trás dos VAEs está em sua capacidade de gerar novas amostras de dados por meio de amostragem a partir de uma distribuição aprendida no espaço latente, em vez de a partir de um vetor latente fixo, como acontecia com os autoencoders vanilla. Isso os torna adequados para tarefas generativas.

* **Natureza probabilística**: Diferentemente dos autoencoders determinísticos, os VAEs modelam o espaço latente como uma distribuição de probabilidade. Isso produz uma função de distribuição de probabilidade sobre as codificações de entrada, em vez de apenas um único vetor fixo, permitindo uma representação mais refinada da incerteza nos dados. O decodificador então realiza amostragens a partir dessa distribuição de probabilidade.

* **Papel do espaço latente**: O espaço latente nos VAEs serve como uma representação contínua e estruturada dos dados de entrada. Como ele é contínuo por definição, isso permite uma interpolação fácil. Cada ponto no espaço latente corresponde a uma saída potencial, possibilitando transições suaves entre diferentes pontos de dados e garantindo que pontos mais próximos no espaço latente levem a gerações semelhantes.

O conceito pode ser esclarecido por meio de um exemplo simples, conforme apresentado abaixo. Os codificadores dentro de uma rede neural têm a tarefa de adquirir uma representação de imagens de entrada na forma de um vetor. Esse vetor encapsula vários atributos, como o sorriso de uma pessoa, cor do cabelo, gênero, idade etc., denotados como um vetor semelhante a \[0.4, 0.03, 0.032, …]. Nesta ilustração, o foco é restringido a uma única representação latente, especificamente o atributo de um "sorriso".

Autoencoders vs VAEs - Sciforce MediumNo contexto dos Autoencoders Vanilla (AE), o atributo de sorriso é encapsulado como um valor fixo e determinístico. Em contraste, os Autoencoders Variacionais (VAEs) são projetados deliberadamente para encapsular esse atributo como uma distribuição probabilística. Essa escolha de design facilita a introdução de variabilidade nas imagens geradas ao permitir a amostragem de valores a partir da distribuição de probabilidade especificada.

<Frame>
  <img height="500" src="https://next-app-static.s3.ap-southeast-1.amazonaws.com/get-started/misc_02.png" />
</Frame>

Em resumo, os VAEs vão além da mera reconstrução de dados; eles geram novas amostras e fornecem uma estrutura probabilística para compreender representações latentes. A inclusão de elementos probabilísticos na arquitetura do modelo diferencia os VAEs dos autoencoders tradicionais. Em comparação com os autoencoders tradicionais, os VAEs oferecem uma compreensão mais rica da distribuição dos dados, tornando-os particularmente poderosos para tarefas generativas.
