How does gradient descent work? 🔥 Горячее
Градиентный спуск в глубоком обучении работает вопреки классическим представлениям. Традиционный анализ предсказывает, что алгоритм должен оставаться в «стабильной области», где острота функции потерь (максимальное собственное значение гессиана) не превышает порога 2/η. Если острота становится выше, градиентный спуск на квадратичной аппроксимации начинает расходиться.
Однако на практике при обучении нейросетей острота часто растёт и достигает этого порога, но градиентный спуск не расходится, а продолжает сходиться. Это происходит потому, что реальная динамика оптимизации сложнее локальной квадратичной аппроксимации. Алгоритм стабилизируется за счёт нелинейных эффектов и взаимодействия параметров, что позволяет ему эффективно работать даже вне теоретически стабильной области.
Комментарии (23)
- Обсуждение посвящено концепции "центрального потока" (central flow) — теоретической модели, объясняющей динамику градиентного спуска в глубоком обучении через проекцию градиента потерь на градиент "остроты" (sharpness).
- Участники отмечают, что модель предсказывает поведение функции потерь и объясняет, как нестабильность и осцилляции используются для самоисправления и обучения, а не просто избегаются.
- Поднимается вопрос о практической применимости модели: является ли она лишь теоретическим инструментом для понимания или может быть использована для ускорения сходимости на практике, например, через скользящее среднее.
- Обсуждается ограничение модели — её детерминистическая природа и необходимость проверки её работы со стохастическими градиентами (SGD), используемыми в реальных задачах.
- Упоминается, что авторы статьи видят центральный поток как инструмент для анализа, а не как готовый практический метод оптимизации.
A Random Walk in 10 Dimensions (2021)
Случайное блуждание в 10 измерениях
Представьте точку, скачущую в 10-мерном пространстве: каждый шаг — равновероятный сдвиг по любой из координат. В одномерном случае расстояние от начала растёт как √n, где n — число шагов. В d измерениях это правило превращается в √(n·d): «объём» доступного пространства растёт, но каждая координата всё ещё дрожит независимо.
Интуиция подсказывает, что в 10D точка должна «улететь» далеко, однако симуляция показывает иное: медианное расстояние после 1000 шагов — всего ≈10 единиц. Почему? Плотность вероятности в высоких размерностях концентрируется в тонкой оболочке гиперсферы; случайные векторы почти ортогональны, и их длины редко бывают экстремальными.
Этот эффект лежит в основе многих задач: от статистической механики до машинного обучения, где «проклятие размерности» заставляет методы искать структуру в разреженных данных.
Комментарии (16)
- В высоких размерностях случайное блуждание почти вся «растягивается» вдоль первых двух главных компонент (>80 % дисперсии), что противоречит интуиции.
- Уточнили модель шага: выбирается одно из 10 измерений (вер. 1/10), затем направление ±1 (вер. ½), т.е. 20 возможных переходов.
- Ошиблись в расчёте «горных пиков» в 10-D решётке: правильная вероятность ≈ 2 %, а не 18 %.
- Обсудили, почему такие эффекты делают глубокое обучение возможным: случайные блуждания по ландшафту потерь помогают вместе с градиентным спуском.
- Упомянули связанные методы (SGD, Hamiltonian MCMC) и классическую теорему Пойа: в 1-2-D блуждание возвращается, в ≥3-D может «потеряться навсегда».
Who Invented Backpropagation?
Кто изобрел обратное распространение ошибки (backpropagation)
Современный backpropagation (BP) впервые опубликовал в 1970 г. финский магистрант Сеппо Линнайнмаа [BP1][R7]; 2020 г. отмечали 50-летие метода. Предшественник — работа Келли 1960 г. [BPA].
BP — это обратный режим автоматического дифференцирования: стоимость вычисления градиента примерно равна стоимости прямого прохода. Линнайнмаа дал алгоритм для произвольных разреженных сетей и привёл код на FORTRAN; все современные фреймворки (TensorFlow и др.) опираются на его метод.
В 1960-е уже применяли цепное правило Лейбница для градиентного спуска в многослойных системах (Келли, Брайсон, Дрейфус и др.), но без учёта эффективности для разреженных сетей.
Первое применение BP к обучению весов нейросетей — Дрейфус 1973 г.; первое NN-специфическое описание — Вербос 1982 г. [BP2] (в диссертации 1974 г. его ещё нет).
Уже в 1967 г. Амари с учеником Сайто обучал пятислойный перцептрон SGD, получая внутренние представления; это было глубокое обучение задолго до 1980-х. Параллельно Ивахненко строил глубокие сети GMDH (с 1965 г.).
К 1985 г. вычисления подешевели в 1000 раз; Румелхарт и др. показали, что BP формирует полезные скрытые представления.
Комментарии (86)
- Суть спора: кто «изобрёл» backpropagation — Хинтон/Румелхарт (1980-е) или она была раньше в теории управления и автоматическом дифференцировании (1960-е, Kelley, Amari и др.).
- Большинство участников считают, что это лишь эффективное применение цепного правила, которое переоткрывалось множество раз.
- Юрген Шмидхубер подаётся как главный «скептик», обвиняющий академическое сообщество в игнорировании более ранних работ.
- Некоторые подчеркивают, что решающим стало не само «изобретение», а переход к GPU и масштабируемым фреймворкам в 2010-х.