Изменения

Перейти к: навигация, поиск

Generative Adversarial Nets (GAN)

3 байта убрано, 14:37, 9 октября 2020
м
Постановка задачи и метод
Чтобы вывести вероятностное распределение генератора <tex>p_{g}</tex> над набором данных <tex>X</tex>, определим априорную вероятность шума <tex>p_{z}(z)</tex> и представим генератор, как отображение <tex>G(z, \gamma_{g})</tex>, где <tex>G</tex> дифференцируемая функция, представленная многослойным перцептроном с параметром <tex>\gamma_{g}</tex>. Аналогичным образом представим второй многослойный перцептрон <tex>D(z, \gamma_{d})</tex>, который на выход подает одно скалярное значение - вероятность того, что <tex>x</tex> пришло из тренировочных данных, а не <tex>p_{g}</tex>. Во время тренировки <tex>D</tex> мы стремимся максимизировать вероятность правильной идентификации объектов из тренировочной и сгенерированной выборок. И в то же время тренируем <tex>G</tex> так, чтобы минимизировать <tex>log(1 - D(G(z)))</tex>:
Другими словами, <tex>D</tex> и <tex>G</tex> играют в "минимакс игру":
<center><tex>\min\limits_{G}\max\limits_{D} V(D,G) = \mathop{E}\limits_{x \sim p_{data}(x)}[logD(x)] + \mathop{E}\limits_{z \sim p_{z}(z)}[log(1-D(G(z)))]</tex></center>
==Интуитивный процесс тренировки==
174
правки

Навигация