Визуализируйте процесс обучения GAN

глубокое обучение GAN

Представленный сегодня проект github с открытым исходным кодом в основном реализует код визуализации процесса обучения GAN.Ссылка на проект выглядит следующим образом:

GitHub.com/EV и Y KA…

Ниже приводится краткое введение в положение этого кода, основные функции, эффекты и т. д.

предисловие

Вот экспериментальный код, который просто реализует обучение и визуализацию 2d GAN. После обучения StyleGAN в течение десятков часов теперь можно визуально визуализировать некоторые гиперпараметры с быстрыми итерациями (около 30 с) (но не уверен, что эта интуитивно понятная ситуация может быть применена к более крупным моделям GAN). главным образомpoloclub.github.io/ganlab/, но кто-то может предпочесть запускать код в Colab.

визуализация

Визуализация динамического процесса обучения включает в себя:

  • Распределение реальных данных (черные точки)
  • Введите фиксированный шум, затем поддельные данные, сгенерированные сетью G;
  • Граница решения сети D для всего входного пространства и вероятность ее выхода, представленные разными цветами (красный цвет представляет высокую вероятность того, что его расценивают как реальные данные, синий - низкую)
  • Зеленые стрелки указывают каждую сгенерированную точку данных, направление, которое максимизирует выход D-сети.

Визуализируйте результаты

Далее следует показать некоторые эффекты визуализации:

Учебная ситуация G и D без батч-нормы

Добавлена ​​тренировочная ситуация G и D с пакетной нормой

Визуализация критериев оценки

Первая строка — процесс обучения (ввод — фиксированный шум) и различные критерии (нормализация градиента для G и D, потери и вывод D для реальных и ложных данных). Во второй строке показан входной шум и функция активации среднего слоя сети G (сопоставленная с 2D).

Преобразование G-сетей с входным шумом

отлаживаемые параметры

  • Распределение входных данных
  • размер партии, периоды обучения
  • Скорость обучения для D и G (вероятно, самая важная)
  • Оптимизатор для D и G
  • распределение входного шума
  • количество нейронов, функция активации
  • Функция потерь (BCE, L2)
  • Инициализация веса
  • Регуляризация (норма партии, отсев, снижение веса)

ЦП был использован, потому что эксперименты с визуализацией уже соответствовали требованиям скорости.

Будущая работа

  • Добавьте больше функций потерь
  • Добавьте больше методов регуляризации

Код проекта можно посмотреть прямо на github или ответить в фоновом режиме моего официального аккаунта"play_gans", чтобы получить код.

Добро пожаловать в мой общедоступный аккаунт WeChat--Рост алгоритма обезьяны, или отсканируйте QR-код ниже, чтобы общаться, учиться и развиваться вместе!

qrcode_0601.png