Дискриминатор

Дискриминатор в GAN — это просто классификатор. Он пытается отличить реальные данные от данных, созданных генератором. Он может использовать любую сетевую архитектуру, соответствующую типу данных, которые он классифицирует.

Схема генеративно-состязательной сети. В центре           Диаграмма представляет собой поле с надписью «дискриминатор». Две ветки подключаются к этому           ящик слева.  Верхняя ветвь начинается в верхнем левом углу           диаграмма с полем с надписью «изображения реального мира». Стрелка ведет           из этого цилиндра в коробку с надписью «Образец». Стрела из коробки           с надписью «Образец» подается в поле «Дискриминатор». Нижняя ветка           подается в поле «Дискриминатор», начиная с поля с надписью «Случайное».           Вход'. Стрелка ведет от поля «Случайный ввод» к полю с надписью           'Генератор'. Стрелка ведет от поля «Генератор» ко второму.           Коробка «Образец». Стрелка ведет от поля «Образец» к           «Дискриминаторный ящик. Справа от дискриминатора           коробка, две стрелки ведут к двум           коробки в правой части диаграммы. Одна стрелка ведет к коробке           с надписью «Потеря дискриминатора». Другая стрелка ведет к окну с надписью           «Потери генератора». Желтый квадрат со стрелкой, указывающей влево, и           слово «Обратное распространение ошибки» нарисовано вокруг           блок дискриминатора и блок потерь дискриминатора для           указывают, что обратное распространение ошибки действует на части           система заключена в желтую коробку.

Рисунок 1: Обратное распространение ошибки при обучении дискриминатора.

Данные обучения дискриминатора

Данные обучения дискриминатора поступают из двух источников:

  • Реальные экземпляры данных , например реальные фотографии людей. Дискриминатор использует эти случаи как положительные примеры во время обучения.
  • Поддельные экземпляры данных , созданные генератором. Дискриминатор использует эти случаи как отрицательные примеры во время обучения.

На рисунке 1 два поля «Образец» представляют эти два источника данных, поступающих в дискриминатор. Во время обучения дискриминатора генератор не обучается. Его веса остаются постоянными, пока он создает примеры для обучения дискриминатора.

Обучение дискриминатора

Дискриминатор подключается к двум функциям потерь . Во время обучения дискриминатора дискриминатор игнорирует потери генератора и просто использует потери дискриминатора. Мы используем потери генератора во время обучения генератора, как описано в следующем разделе .

Во время тренировки дискриминатора:

  1. Дискриминатор классифицирует как реальные данные, так и поддельные данные от генератора.
  2. Потеря дискриминатора наказывает дискриминатор за ошибочную классификацию реального экземпляра как поддельного или поддельного экземпляра как настоящего.
  3. Дискриминатор обновляет свои веса посредством обратного распространения ошибки дискриминатора через сеть дискриминатора.

В следующем разделе мы увидим, почему потери генератора связаны с дискриминатором.