Оптимизация гиперпараметра при нестабильной производительности сети
Я тренирую нейронную сеть на данных изображений. Он имеет два входных сверточных, один полностью подключенный и один выходной слой. Функции активации являются relus, и я использую Adam Optimizer и инициализацию веса Xavier. Потери рассчитываются из оценки SSIM между выходным изображением и опорным изображением. Я реализовал сеть в Tensorflow. Сеть сходится очень хорошо, но я хочу улучшить результаты, поэтому я взглянул на оптимизацию гиперпараметров. После небольшого тестирования я обнаружил проблему:
Каждая точка соответствует конечной производительности сети, описанной выше, которая инициализируется, обучается и оценивается на 64000 выборок из набора проверки. Видно, что значения сильно различаются. Это, вероятно, означает, что сеть находит разные локальные минимумы в зависимости от инициализации веса и выбора обучающих выборок (50000 выборок и 640000 итераций обучения в пакетах по 64).
Мой вопрос: как кто-то должен делать надежную оптимизацию гиперпараметра, если производительность меняется почти случайно? Если бы я сейчас изменил один параметр, нет никаких гарантий, что достигнутый результат является репрезентативным или посторонним. Конечно, вы можете взять медиану или среднее, но это увеличивает вычислительную сложность.
Спасибо за помощь.