Report 22.04.2024
Задача black box optimization
В качестве black box выступает генератор кодов, оптимизируемые параметры - вероятностное распределение (и его параметры) из которых сэмплируются параметры искажения
Оптимизация проводится следующим образом:
-Сэмплируется батч из 8 сгенерированных картинок и высчитывается попарное MSE между ними, затем усредняется
-Так же для каждой картинки высчитывается минимальный угол между сторонами параллелограмма, который является "bounding box'ом" для данного кода, в итоге максимизиуем среднее pairwise MSE по батчу и поддерживаем нижнюю границу минимального угла = 15 градусам
Таким образом повышаем разнообразие выборки, но также избегаем черезчур искаженных кодов
В качестве бейзлайна попробовал random search, но после первых запусков уже стало понятно, что ожидать от него оптимальных параметров придётся слишком долго, поэтому переключился на байесовскую оптимизацию через библиотеку Optuna, добавил в код Всеволода необходимые изменения для подключения оптимизатора
На данный момент лучшим вариантом является экспоненциальное распределение с параметром scale = 0.7673727163364142
Так же помимо достаточно наивного решения с pairwise MSE, попытался построить оптимизируемый функционал как у VAE, но удачных экспериментов пока не получилось, отложил это на будущее