Так, получается саммари первого подхода: 1) сгенерировали N случайных и независимимых шумов 2) сгенерировали N картинок 3) каждую оценили верификатором 4) выбрали самую лучшую по оценке Второй подход: а давайте ещё поисследуем локальную окрестность лучшего кандидата? 1) сгенерировали N случайных и независимимых шумов 2) сгенерировали N картинок 3) каждую оценили верификатором 4) теперь берём одну или две лучших, вспоминаем какой шум для них генерировали в начале, и берем его же, но чуть-чуть отклоняясь в сторону (K раз). Гипотеза такая, что это какой-то просто более удачный регион, в который попала генерация из первого цикла, но ведь мы наверняка выбрали не самый удачный шум из этого региона с первой попытки? 5) для новых шумов генерируем картинки 6) оценили верификатором 7) повторяем шаги 4-6 сколько хотим Третий подход гораздо более технический, и не хочется его расписывать детально, поэтому вот TLDR: прерывают процесс генерации на какой-то итерации (скажем, после 20% шагов), и оттуда генерируют несколько продолжений, оценивают их, выбирают лучшие, отбирают их и продолжают генерцию, повторяя прерывания Все три метода на картинке Ешё есть четвертный метод, суть которого сводится к тому, что если верификатор — это локальная модель, то мы можем посчитать градиент аналитически, то есть прям в точности понять, как нам нужно изменить шум на входе, чтобы повысить оценку. Он тоже работает и с ним всё хорошо.