🚀 Правила масштабирования в оптимизации нейронных сетей 0:13
Оптимизация глубоких нейронных сетей представляет собой одну из ключевых задач современного машинного обучения. В данной лекции, прочитанной в рамках курса MIT OpenCourseWare, рассматриваются подходы к дизайну алгоритмов оптимизации, проблемы масштабирования нейросетей по ширине и глубине, а также предлагаются способы построения модульной теории, которая могла бы сделать обучение более стабильным и предсказуемым.
🧠 Основы оптимизации и классические подходы 14:12
Современные методы оптимизации в глубоком обучении, как правило, основываются на первом порядке производных (градиентах), получаемых с помощью алгоритма обратного распространения ошибки (backpropagation).
- Метод Ньютона: Использует как первую (градиент $G$), так и вторую производную (гессиан $H$). Хотя теоретически он эффективен, на практике в глубоком обучении он почти не применяется, так как гессиан является матрицей размера $D \times D$ (где $D$ — число параметров, достигающее миллиардов), что делает его хранение и обращение практически невозможным. Кроме того, метод Ньютона может сходиться к максимуму или седловой точке, а не к минимуму.
- Метод Гаусса-Ньютона: Основан на декомпозиции гессиана композитной функции (ошибка + нейросеть). Метод игнорирует некоторые члены второго порядка, что делает его более практичным, однако он всё равно требует вычисления дополнительных производных и выполнения матричных операций, которые неэффективны на современных GPU.
Автор лекции отмечает, что классические методы оптимизации часто требуют неоправданно больших вычислительных затрат, поэтому индустрия в основном полагается на адаптивные методы, такие как Adam.
⚖️ Теория норм в оптимизации 33:49
Любой метод «наискорейшего спуска» (steepest descent) фактически заменяет сложную нелинейную часть функции потерь на некоторую норму. Выбор этой нормы определяет поведение алгоритма:
- L2-норма (Евклидова): Приводит к классическому градиентному спуску.
- L-бесконечность (Infinity norm): Приводит к алгоритму спуска по «знаку градиента» (sign gradient descent).
По мнению автора, выбор нормы — это вопрос масштаба, который часто игнорируется в дискуссиях. Он проводит аналогию с картой: если неправильно «растянуть» пространство весов, движение в направлении градиента перестанет быть оптимальным. Необходимость выбора правильной нормы возникает из-за того, что пространство параметров нейросети может быть крайне «неизотропным».
📈 Масштабирование ширины и RMS-норма 56:40
Масштабирование ширины нейросети часто вызывает «дрейф» оптимального learning rate, что вынуждает исследователей заново подбирать гиперпараметры при каждом изменении архитектуры. Для решения этой проблемы предлагается использовать RMS-нормализацию (RMS-to-RMS operator norm).
- Суть метода: Вместо стандартной евклидовой нормы для весов и активаций автор рекомендует использовать RMS-норму, где вектор нормализуется с учетом размерности $D$.
- Результат: Это позволяет нормализовать коэффициенты так, чтобы они оставались около единицы, что обеспечивает стабильность при изменении ширины сети и избавляет от необходимости перенастройки скорости обучения.
🏗️ Масштабирование глубины и модульная теория 1:09:41
Проблемы при увеличении глубины сети часто связаны с «взрывом» или «затуханием» сигналов. Автор предлагает аналогию с экспоненциальной функцией: чтобы произведение большого числа слоев (блоков) оставалось стабильным, необходимо вводить правильные множители.
- Практика: В стандартных трансформерах часто используется множитель $1/\sqrt{L}$ (где $L$ — количество слоев), что обосновано некогерентностью весов при случайной инициализации.
В качестве перспективного направления автор рассматривает создание «модульной теории», где каждый архитектурный блок (например, ReLU или линейный слой) изначально оснащается математически обоснованной нормой. При композиции таких модулей в полноценную нейросеть правила оптимизации будут наследоваться автоматически, что упростит проектирование новых архитектур.