Pular para o conteúdo principal
ToolPotion

PyTorch MADE

Este repositório fornece uma implementação em PyTorch de MADE (Masked Autoencoder Density Estimation). Ele permite transformar autoencoders em modelos de densidade autorregressivos, mascarando conexões em MLPs. O código permite avaliação de verossimilhança e amostragem eficientes, com exemplos para MNIST binarizado.

Visitar URL

Descrição

Este repositório do GitHub, `karpathy/pytorch-made`, oferece uma implementação concisa de MADE (Masked Autoencoder Density Estimation) usando PyTorch. O conceito central por trás do MADE é transformar um autoencoder padrão em um modelo de densidade autorregressivo. Isso é alcançado mascarando estrategicamente conexões dentro de um Multi-Layer Perceptron (MLP) e ordenando as dimensões de entrada. Crucialmente, o modelo garante que cada dimensão de saída dependa apenas das dimensões de entrada que aparecem anteriormente na ordem definida.

Semelhante a outros modelos autorregressivos como char-rnn e pixel cnns, o MADE facilita a avaliação de verossimilhança muito eficiente, exigindo apenas uma única passagem forward pela rede. No entanto, o processo de amostragem de novos pontos de dados é linear em relação ao número de dimensões. A implementação do artigo original, embora funcional, foi notada por sua verbosidade e dependência do Theano. Esta versão PyTorch visa simplicidade e clareza, com a lógica principal contida em aproximadamente 150 linhas de código.

O repositório inclui exemplos que demonstram como usar o modelo MADE, particularmente com o conjunto de dados MNIST binarizado. Os usuários podem reproduzir resultados do artigo original, como treinar um MLP de 1 camada para atingir uma perda de entropia cruzada binária de 94,5. Os exemplos também ilustram como treinar ensembles de modelos maiores, aproveitando o compartilhamento de pesos dentro de um único MLP e a média das previsões no tempo de teste para melhorar o desempenho, atingindo uma perda de teste de 79,3 com 10 ordenações.

A classe principal, `MADE`, é implementada em `made.py` e herda de `nn.Module` do PyTorch, tornando-a fácil de integrar em arquiteturas de redes neurais maiores. O processo de instanciação envolve a especificação das dimensões de entrada e saída, tamanhos das camadas ocultas e o número de máscaras a serem usadas. O parâmetro de dimensão de saída é flexível, permitindo várias distribuições de saída, como previsões softmax gaussianas ou em bin. O caso mais simples, como demonstrado com previsões binárias para MNIST, usa um único parâmetro de saída por dimensão de entrada.

Destaques de PyTorch MADE

  • Implementação de Masked Autoencoder Density Estimation (MADE)

  • Construído usando PyTorch para facilidade de integração

  • Permite modelagem de densidade autorregressiva

  • Avaliação eficiente de verossimilhança via única passagem forward

  • Complexidade de amostragem linear em relação às dimensões

  • Inclui exemplos para o conjunto de dados MNIST binarizado

  • Suporta treinamento de ensembles de modelos

  • Camada de saída flexível para várias distribuições

  • Código conciso (~150 linhas para a lógica principal)

  • Mascaramento de conexões MLP para autorregressão

  • Ordenação de dimensões de entrada para dependências condicionais

Primeiros passos com PyTorch MADE

  1. Acessar modelo: Clone o repositório GitHub.

  2. Configurar ambiente: Instale PyTorch e outras dependências.

  3. Integrar via API: Instancie a classe `MADE` de `made.py`.

  4. Configurar modelo: Especifique dimensões de entrada/saída, camadas ocultas e número de máscaras.

  5. Treinar modelo: Use o script `run.py` com o conjunto de dados e parâmetros especificados.

  6. Avaliar verossimilhança: Realize uma única passagem forward.

  7. Amostrar dados: Execute o processo de amostragem linearmente com as dimensões.

Casos de uso de PyTorch MADE

  • Estimativa de Densidade
  • Modelagem Autorregressiva
  • Geração de Imagens
  • Modelagem Probabilística
  • Pesquisa em Machine Learning
  • Compressão de Dados

Perguntas frequentes de PyTorch MADE

Avaliações de PyTorch MADE

Carregando...

Ferramentas de IA populares como PyTorch MADE

SqueezeNet é um modelo de rede neural convolucional profunda disponível através do PyTorch. Ele atinge precisão de nível AlexNet com significativamente menos parâmetros e um…

Modelos de IA e LLMs

Variational autoencoders (VAEs) oferecem uma abordagem probabilística para a representação do espaço latente. Ao contrário dos autoencoders padrão, os VAEs codificam observações…

Modelos de IA e LLMs

Este repositório do GitHub fornece um exemplo de implementação de Redes Generativas Adversariais Profundas Convolucionais (DCGAN) usando PyTorch. Ele permite que os usuários…

Plataformas de machine learning

Modelos de IA

Um autoencoder é um tipo de rede neural projetado para aprendizado não supervisionado, focado em aprender codificações eficientes de dados. Ele compreende um codificador que…

Plataformas de machine learning

GluonTS é um pacote Python para modelagem probabilística de séries temporais, utilizando modelos de deep learning construídos sobre PyTorch e MXNet. Ele facilita previsões…

Modelos de IA e LLMs

BEiT é um modelo de representação de visão autossupervisionado que utiliza modelagem de imagem mascarada para pré-treinar vision transformers. Ele tokeniza imagens em tokens…

Modelos de IA e LLMs

Modelos de IA

Funnel-Transformer é um modelo de IA que comprime estados ocultos para reduzir o custo computacional. Ele permite modelos mais profundos ou mais largos com os mesmos FLOPs e pode…

Modelos de IA e LLMs

Este modelo de IA detalha uma rede neural convolucional grande e profunda treinada para classificação ImageNet. Atingiu resultados de ponta com taxas de erro top-1 e top-5 de…

Modelos de IA e LLMs