Где использование теории игр в генеративной состязательной сети? - PullRequest
0 голосов
/ 19 февраля 2020

Мы знаем, что обучение Генеративных Состязательных Сетей основано на теории игр и что равновесие Na sh достигается во время обучения. Но, глядя на образец GAN с использованием тензорного потока: https://www.tensorflow.org/tutorials/generative/dcgan,

, я не нашел в коде, где применяется теория игр и где оценивается равновесие Na sh. Может кто-нибудь показать, где мы использовали теорию игр в этом коде?

1 Ответ

1 голос
/ 19 февраля 2020

Это скорее теоретический / концептуальный ответ, поскольку нет явной части кода, которую вы бы назвали теорией игр.

По сути, принципы теории игр реализованы, поскольку у вас есть две сети, Генератор и дискриминатор, оспаривающий друг друга (состязательная часть). В ГАН Na sh равновесие достигается, когда вы сходитесь, т.е. когда потеря дискриминатора не уменьшается за счет генератора и vv (или, более формально, когда действия противника не влияют на решение игрока ).

В представленном примере вы сохраняете модель каждые 15 эпох, чтобы обеспечить возможность захвата модели при равновесии Na sh или достаточно близко к ней:

    # Save the model every 15 epochs
    if (epoch + 1) % 15 == 0:
      checkpoint.save(file_prefix = checkpoint_prefix)

Другой можно было бы реализовать некую раннюю остановку (или если вы используете тензорную доску для отслеживания потерь двух сетей для визуализации конвергенции).

Эта статья , кажется, содержит подробное объяснение Na sh равновесие для ГАН.

...