Невыпуклость нейросетей
Вопрос
Функция потерь нейросети невыпукла. Почему градиентный спуск всё равно находит хорошие решения?
Попробуйте сами
Ответьте вслух за 2 минуты, как на собесе. Потом сверьтесь с тезисами: что прозвучало, а что нет.
Показать ответ и разбор
Коротко
Что должно прозвучать в ответе
Плохие локальные минимумы редки, основная трудность это седла и плато
Шум SGD помогает выходить из седел и острых минимумов
Перепараметризация: много хороших минимумов, связанных путями низкого loss
Хорошая инициализация, нормализация и residual делают ландшафт гладким
Гарантий нет: это эмпирический результат
Что могут спросить следом
- Что такое плоские и острые минимумы и как это связано с обобщением?
- Как размер батча влияет на найденный минимум?
Разбор
Гарантий сходимости к глобальному минимуму для нейросети нет, но на практике это не мешает по нескольким причинам. Во-первых, в пространстве миллионов параметров критические точки с высоким loss почти всегда седла: где-то среди миллионов направлений найдётся направление спуска, а шум мини-батчей и momentum помогают его найти. Во-вторых, сильно перепараметризованные сети имеют огромное множество решений с почти нулевой ошибкой на трейне, и они соединены путями низкого loss, так что «попасть не туда» сложно. В-третьих, архитектурные приёмы (правильная инициализация, нормализация, residual-соединения) делают ландшафт заметно глаже. Отдельная тема это обобщение: есть эмпирическая связь между плоскими минимумами и лучшим качеством на тесте, а шум маленьких батчей смещает поиск к ним. Но это наблюдения и эвристики, а не теоремы.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.