Ответ вслух Senior Градиентный спуск и выпуклость обновлено

Невыпуклость нейросетей

Вопрос

Функция потерь нейросети невыпукла. Почему градиентный спуск всё равно находит хорошие решения?

Попробуйте сами

Ответьте вслух за 2 минуты, как на собесе. Потом сверьтесь с тезисами: что прозвучало, а что нет.

Показать ответ и разбор

Коротко

Гарантий сходимости к глобальному минимуму для нейросети нет, но на практике это не мешает по нескольким причинам.

Что должно прозвучать в ответе

  • Плохие локальные минимумы редки, основная трудность это седла и плато

  • Шум SGD помогает выходить из седел и острых минимумов

  • Перепараметризация: много хороших минимумов, связанных путями низкого loss

  • Хорошая инициализация, нормализация и residual делают ландшафт гладким

  • Гарантий нет: это эмпирический результат

Что могут спросить следом

  • Что такое плоские и острые минимумы и как это связано с обобщением?
  • Как размер батча влияет на найденный минимум?

Разбор

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

Ответьте сами, а не прочитайте

В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.