Есть несколько источников случайности в обучении.
Инициализация одна. Сам SGD, конечно, стохастичен, поскольку содержание мини-пакетов часто случайное. Иногда такие слои, как выпадение, тоже случайны. Единственный способ обеспечить получение одинаковых результатов - это исправить случайное начальное число для всех них.
Учитывая все эти источники случайности и модель со многими миллионами параметров, ваша цитата
«Я действительно не знаю, как« заставить »сеть каждый раз сходиться к одному и тому же решению (глобальная оптима)?»
- это нечто, что каждый должен сказать - никто не знает, как найти одно и то же решение каждый раз, или даже локальный оптимум, не говоря уже о global Оптима.
Тем не менее, в идеале желательно, чтобы сеть работала одинаково при попытках обучения (с фиксированными гиперпараметрами и набором данных). Конечно, все остальное может вызвать проблемы с воспроизводимостью.
К сожалению, я подозреваю, что проблема присуща CNN.
Возможно, вам известно о компромиссной дисперсии . Для мощной модели, такой как CNN, смещение, вероятно, будет низким, но дисперсия очень высокая. Другими словами, CNN чувствительны к шуму данных, инициализации и гиперпараметрам. Поэтому неудивительно, что многократное обучение одной и той же модели дает совершенно разные результаты. (Я также получаю это явление, когда производительность меняется между тренировками на целых 30% в одном проекте, который я сделал.) Мое главное предложение уменьшить это - более сильная регуляризация.
Может ли это быть как-то связано с тем, что я использую двоичные изображения вместо полутоновых или цветных изображений, или есть что-то присущее нейронным сетям, которое вызывает эту проблему?
Как я уже говорил, эта проблема в некоторой степени присутствует для глубоких моделей. Тем не менее, использование двоичных изображений также может быть фактором, так как пространство самих данных довольно прерывисто. Возможно, стоит подумать об «смягчении» входных данных (например, фильтрации входных данных) и использовании дополнения данных. Известно, что подобный подход помогает, например, в сглаживании меток .