Это скорее теоретический / концептуальный ответ, поскольку нет явной части кода, которую вы бы назвали теорией игр.
По сути, принципы теории игр реализованы, поскольку у вас есть две сети, Генератор и дискриминатор, оспаривающий друг друга (состязательная часть). В ГАН 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 равновесие для ГАН.