menu EXPLORAR
history NOVIDADES

O que são codificadores automáticos

Autoencoders são um tipo de arquitetura de rede neural que pertence ao grupo de métodos de aprendizagem não supervisionados. Essa arquitetura extrai as características mais importantes da entrada, eliminando o restante de pouca relevância.

Isso permite que os codificadores automáticos aprendam uma representação reduzida de informações, tornando-se um método perfeito para compactar informações.

A informação completa pode ser reconstruída graças à arquitetura do autoencoder. Isso o torna um algoritmo generativo.

Modelos generativos e discriminativos

Os algoritmos estatísticos utilizados em inteligência artificial podem ser classificados em métodos generativos e métodos discriminativos.

Algoritmos discriminativos são aqueles que aprendem a representação da função que mapeia as variáveis ​​independentes para a variável dependente de interesse. Ou seja, um classificador de carros e motos é um modelo discriminativo pois, dadas algumas variáveis ​​de entrada, neste caso os pixels da imagem, é capaz de discriminar se se trata de um carro ou de uma moto.

Um modelo de previsão de vendas também é um modelo discriminativo, pois, com base em algumas variáveis, é capaz de prever o valor das vendas em um determinado momento.

Em outras palavras, algoritmos discriminativos aprendem a probabilidade de Y dado X: P(Y|X)

Por outro lado, autoencoders variacionais, alocação latente de Dirichlet ou máquinas de Boltzmann geram informações a partir de uma representação interna chamada espaço latente. Neste caso, o modelo aprende a probabilidade conjunta P(X,Y).

Autoencoders como modelos generativos e discriminativos

Como vimos, um dos pontos fortes dos autoencoders é aprender uma representação nova e mais compactada da informação.

Para executar esta tarefa, o autoencoder aprende a gerar sua própria entrada. Isto pode parecer trivial, mas se adicionarmos ruído ou limitarmos o tamanho da representação interna podemos gerar um modelo que aprende as características mais importantes da nossa informação e pode ser comprimido de forma eficiente.

A maioria dos autoencoders não são considerados modelos generativos. Porém, como veremos mais adiante, existe um em particular denominado autoencoder variacional ou VAE que é capaz de aprender a distribuição de variáveis ​​​​independentes que são capazes de gerar com alta probabilidade uma saída muito semelhante aos nossos dados de treinamento. Neste caso, os VAEs são considerados algoritmos generativos.

Partes e arquitetura do autoencoder

Como veremos na próxima seção, existem diferentes tipos de autoencoders. No entanto, todos eles compartilham uma arquitetura básica.

A primeira parte é conhecida como codificador ou codificador e é responsável por compactar as informações. Isto é conseguido empilhando diferentes camadas de neurônios, reduzindo o número de neurônios usados ​​em cada uma delas.

A segunda parte da arquitetura é o espaço latente, que é o espaço mínimo no qual a informação é representada dentro da rede neural.

A última parte é conhecida como decodificador ou decodificador e tem o mesmo formato do codificador, mas no sentido oposto. Em cada camada da rede o número de neurônios é aumentado até que a última camada tenha o mesmo número de neurônios que a primeira camada.

arquitetura do codificador automático

Tipos de codificadores automáticos

Existem diferentes estruturas que os autoencoders podem adotar. Cada um deles tem um nome específico e é especializado em uma tarefa específica.

Autoencoder empilhado

Autoencoders empilhados ou autoencoders profundos são simplesmente a arquitetura que usa diferentes camadas de neurônios para aprender representações mais complexas de informações.

Eles possuem uma estrutura simétrica em relação à camada espacial latente e são realmente eficientes na reconstrução de informações.

Autoencoder variacional

Autoencoders variacionais ou VAEs são algoritmos generativos nos quais uma distribuição contínua de dados de treinamento é inferida por meio de um campo de estatística conhecido como inferência variacional.

O codificador gera uma média e um desvio padrão com os quais pode ser gerada uma distribuição gaussiana a partir da qual o decodificador pode obter amostras e gerar o espaço latente. A partir disso, o decodificador pode criar dados fictícios muito semelhantes aos dados reais.

Autoencoder esparso

Esta arquitetura visa limitar o número de neurônios que são ativados para forçar o algoritmo a aprender padrões mais complexos. Isto é conseguido através da restrição de esparsidade, onde um termo é adicionado à função de custo que força o autoencoder a diminuir o número de neurônios ativos durante o treinamento.

Remoção de ruído de autoencoders

Uma técnica de regularização para evitar o aprendizado trivial e forçar a rede a aprender padrões complexos é adicionar ruído de uma distribuição gaussiana aleatória para alterar os dados de entrada, forçando a obtenção de padrões relevantes a partir da informação.

Aplicativos de codificador automático

Os autoencoders têm múltiplos usos em diferentes setores. Mencionaremos alguns, mas existem muitos mais. Muitos problemas podem ser abordados de tal forma que uma arquitetura de autoencoder seja capaz de resolvê-los.

  1. Compressão de informações : A principal característica deste tipo de algoritmo é que são capazes de extrair as características mais importantes da informação e criar uma nova representação da mesma em dimensão reduzida.
  2. Detecção de fraude - Autoencoders têm sido usados ​​por empresas como o PayPal para construir sistemas de detecção de fraudes, extraindo os principais recursos que determinam se uma determinada transação é fraudulenta ou não.
  3. Geração de imagem : Outra aplicação possível é a geração de imagens. Isto pode ser muito útil para tarefas de design e para a geração de novos conjuntos de dados de imagens distribuídos gratuitamente.