Оптимизация гиперпараметра при нестабильной производительности сети

Я тренирую нейронную сеть на данных изображений. Он имеет два входных сверточных, один полностью подключенный и один выходной слой. Функции активации являются relus, и я использую Adam Optimizer и инициализацию веса Xavier. Потери рассчитываются из оценки SSIM между выходным изображением и опорным изображением. Я реализовал сеть в Tensorflow. Сеть сходится очень хорошо, но я хочу улучшить результаты, поэтому я взглянул на оптимизацию гиперпараметров. После небольшого тестирования я обнаружил проблему:

SSIM в разных итерациях обучения одной и той же сети

Каждая точка соответствует конечной производительности сети, описанной выше, которая инициализируется, обучается и оценивается на 64000 выборок из набора проверки. Видно, что значения сильно различаются. Это, вероятно, означает, что сеть находит разные локальные минимумы в зависимости от инициализации веса и выбора обучающих выборок (50000 выборок и 640000 итераций обучения в пакетах по 64).

Мой вопрос: как кто-то должен делать надежную оптимизацию гиперпараметра, если производительность меняется почти случайно? Если бы я сейчас изменил один параметр, нет никаких гарантий, что достигнутый результат является репрезентативным или посторонним. Конечно, вы можете взять медиану или среднее, но это увеличивает вычислительную сложность.

Спасибо за помощь.

0 ответов

Другие вопросы по тегам