The Math Behind GANs (2020)
GAN: математика в двух словах
- Модели: генератор
G(z)
и дискриминаторD(x)
играют в минимакс-игру. - Обозначения:
x
– реальные данные,z
– скрытый вектор,D(x)
– вероятность «реальности». - Функции ошибок
- Дискриминатор:
L_D = –[log D(x) + log(1 – D(G(z)))]
(минимизирует). - Генератор:
L_G = –log D(G(z))
(хочетD(G(z)) ≈ 1
).
- Дискриминатор:
- Оптимизация
- Фиксируем
G
, обучаемD
, максимизируяlog D(x) + log(1 – D(G(z)))
. - Фиксируем
D
, обучаемG
, минимизируяlog(1 – D(G(z)))
(или максимизируяlog D(G(z))
– стабильнее).
- Фиксируем
- Итог: игра
min_G max_D [log D(x) + log(1 – D(G(z)))]
сводится к минимизации расстояния JS между реальным и сгенерированным распределениями.