Перейти к основному содержимому
ToolPotion

PyTorch MADE

Этот репозиторий предоставляет реализацию MADE (Masked Autoencoder Density Estimation) на PyTorch. Он позволяет превращать автокодировщики в авторегрессионные модели плотности путем маскирования связей в MLP. Код обеспечивает эффективную оценку правдоподобия и выборку, с примерами для бинаризованного MNIST.

Посетить URL

Описание

Этот репозиторий на GitHub, `karpathy/pytorch-made`, предлагает лаконичную реализацию MADE (Masked Autoencoder Density Estimation) с использованием PyTorch. Основная концепция MADE заключается в преобразовании стандартного автокодировщика в авторегрессионную модель плотности. Это достигается путем стратегического маскирования связей внутри многослойного перцептрона (MLP) и упорядочивания входных измерений. Важно, что модель гарантирует, что каждое выходное измерение зависит только от входных измерений, которые предшествуют ему в заданном порядке.

Подобно другим авторегрессионным моделям, таким как char-rnn и pixel cnns, MADE обеспечивает очень эффективную оценку правдоподобия, требуя только одного прямого прохода через сеть. Однако процесс выборки новых точек данных является линейным по отношению к количеству измерений. Реализация из оригинальной статьи, хотя и функциональна, отмечалась своей многословностью и зависимостью от Theano. Эта версия на PyTorch нацелена на простоту и ясность, при этом основная логика содержится примерно в 150 строках кода.

Репозиторий включает примеры, демонстрирующие использование модели MADE, особенно с бинаризованным набором данных MNIST. Пользователи могут воспроизвести результаты из оригинальной статьи, например, обучив однослойный MLP для достижения потерь бинарной кросс-энтропии 94.5. Примеры также иллюстрируют, как обучать ансамбли больших моделей, используя совместное использование весов в одном MLP и усредняя предсказания во время тестирования для повышения производительности, достигая тестовых потерь 79.3 с 10 порядками.

Основной класс, `MADE`, реализован в `made.py` и наследуется от `nn.Module` PyTorch, что облегчает его интеграцию в более крупные архитектуры нейронных сетей. Процесс инстанцирования включает указание входных и выходных измерений, размеров скрытых слоев и количества используемых масок. Параметр выходного измерения гибок, позволяя использовать различные выходные распределения, такие как Гауссово распределение или биннированные предсказания softmax. Простейший случай, как показано с бинарными предсказаниями для MNIST, использует один выходной параметр на входное измерение.

Главное о PyTorch MADE

  • Реализация Masked Autoencoder Density Estimation (MADE)

  • Создано с использованием PyTorch для простоты интеграции

  • Обеспечивает авторегрессионное моделирование плотности

  • Эффективная оценка правдоподобия через один прямой проход

  • Линейная сложность выборки по отношению к измерениям

  • Включает примеры для бинаризованного набора данных MNIST

  • Поддерживает обучение ансамблей моделей

  • Гибкий выходной слой для различных распределений

  • Лаконичный код (~150 строк для основной логики)

  • Маскирование связей MLP для авторегрессии

  • Упорядочивание входных измерений для условных зависимостей

Начало работы с PyTorch MADE

  1. Доступ к модели: Клонируйте репозиторий GitHub.

  2. Настройка среды: Установите PyTorch и другие зависимости.

  3. Интеграция через API: Создайте экземпляр класса `MADE` из `made.py`.

  4. Конфигурация модели: Укажите входные/выходные измерения, скрытые слои и количество масок.

  5. Обучение модели: Используйте скрипт `run.py` с указанным набором данных и параметрами.

  6. Оценка правдоподобия: Выполните один прямой проход.

  7. Выборка данных: Выполните процесс выборки линейно по измерениям.

Варианты использования PyTorch MADE

  • Оценка плотности
  • Авторегрессионное моделирование
  • Генерация изображений
  • Вероятностное моделирование
  • Исследования в области машинного обучения
  • Сжатие данных

Часто задаваемые вопросы PyTorch MADE

Отзывы о PyTorch MADE

Загрузка...

Популярные ИИ-инструменты, похожие на PyTorch MADE

AI-модели

SqueezeNet — это глубокая сверточная нейронная сеть, доступная через PyTorch. Она достигает точности уровня AlexNet со значительно меньшим количеством параметров и меньшим…

ИИ-модели и LLM

Вариационные автокодировщики (VAE) предлагают вероятностный подход к представлению латентного пространства. В отличие от стандартных автокодировщиков, VAE кодируют наблюдения в…

ИИ-модели и LLM

Этот репозиторий GitHub предоставляет пример реализации глубоких сверточных генеративно-состязательных сетей (DCGAN) с использованием PyTorch. Он позволяет пользователям обучать…

Платформы машинного обучения

AI-модели

Автоэнкодер — это тип нейронной сети, разработанный для обучения без учителя, ориентированный на изучение эффективных кодировок данных. Он состоит из энкодера, который сжимает…

Платформы машинного обучения

GluonTS — это пакет Python для вероятностного моделирования временных рядов, использующий модели глубокого обучения, построенные на PyTorch и MXNet. Он обеспечивает точное…

ИИ-модели и LLM

AI-модели

BEiT — это модель самообуча для представления изображений, использующая маскированное моделирование изображений для предварительного обучения трансформеров зрения. Она…

ИИ-модели и LLM

AI-модели

Funnel-Transformer — это ИИ-модель, которая сжимает скрытые состояния для снижения вычислительных затрат. Она позволяет создавать более глубокие или широкие модели при том же…

ИИ-модели и LLM

Эта модель ИИ описывает большую глубокую сверточную нейронную сеть, обученную для классификации ImageNet. Она достигла передовых результатов с показателями ошибок top-1 и top-5 в…

ИИ-модели и LLM