alexeybelkov / mipt2024s-5-belkov-alexey

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

mipt2024s-5-belkov-alexey

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, но удачных экспериментов пока не получилось, отложил это на будущее

About


Languages

Language:Jupyter Notebook 97.7%Language:Python 2.3%