Новый взгляд на градиентный спуск через призму фундаментальной математики

Прокомментировать Просмотры: 6

Внутреннее устройство глубоких нейросетей исследовано вдоль и поперёк: детально описаны механизмы прямого и обратного распространения ошибки, а также алгоритмы градиентного спуска. Тем не менее на концептуальном уровне большинство моделей до сих пор воспринимаются как «чёрные ящики». В них непрерывно оптимизируются миллионы параметров и вычисляются колоссальные композиции функций, а за счёт параллельных вычислений результат формируется быстрее, чем удаётся осознать всю сложность и изящество системы. Попытки строго описать и систематизировать эти процессы не прекращаются, и фундаментальная математика остаётся ключевым инструментом для глубокого анализа механизмов искусственного интеллекта.

В публикации исследователей из MIT CSAIL «Modular Duality in Deep Learning» предложена методология формализации различных модулей нейросетей (полносвязных, эмбеддингов и др.). Ниже представлен структурированный обзор ключевых идей этой работы.


Начнём с базовых принципов: градиентный спуск служит универсальным инструментом минимизации функции потерь. Практика обновления весовых коэффициентов общеизвестна, однако авторы статьи задаются нетривиальным вопросом: корректна ли эта процедура с точки зрения строгой математики? Если взглянуть на дифференциальную геометрию и функциональный анализ, параметры модели принадлежат исходному векторному пространству, тогда как градиент обитает в сопряжённом пространстве, выступая ковектором (линейным функционалом). Следовательно, прямое вычитание градиента из весов некорректно без предварительного применения дуального отображения, согласующего пространства. Зачем нужна подобная строгость, если оптимизаторы и так справляются со своей задачей? Дело в том, что ландшафт функции потерь обладает неоднородной кривизной по разным направлениям, чего стандартный градиент не учитывает. Сами исследователи с иронией отмечают:

This restriction may seem absurd! After all, here the weight space Новый взгляд на градиентный спуск через призму фундаментальной математикиand its dual W^* are both just \mathbb{R}^n. However, insisting upon this type check serves to remind us that the curvature of the loss function may be highly heterogeneous.

Тем самым подчёркивается: подобный формализм — не избыточная педантичность, а необходимый шаг для учёта скрытой геометрии функции потерь.

Для устранения данного несоответствия дуальное отображение относительно заданной нормы в векторном пространстве определяется следующим образом:

dualize_{\| \cdot \|} g := argmax_{t \in \mathbb{R}^n: \| t \| = 1} (g^Tt).

В случае евклидова пространства это выражается через неравенство Коши — Буняковского — Шварца:

g^T t = \sum_{i = 1}^n g_i^T t_i \le \|g \|_2 \cdot \| t \|_2  \ \ (\text{неравенство КБШ})

Равенство достигается тогда и только тогда, когда t = c \cdot g, c - const. Принимая во внимание ограничение на норму вектора t, получаем: dualize_{\| \cdot \|_2 } g = \frac{g}{\| g \|_2}

Таким путём авторы приходят к концепции модульной нормы. Однако сперва дадим строгое определение модуля:

Definition 4 (Module). Given input vector space X , output vector space Y and weight vector space W, a module M is an object with the following four attributes:

(a) a function, M.forward : W \times X \rightarrow Y, which maps an input and a weight vector to an output;

(b) a number, M.mass \ge 0, which is used to set the proportion of feature learning that this module contributes to any supermodule;

(c) a number, M.sensitivity \ge 0, which estimates the module’s sensitivity to input perturbations;

(d) a norm over the weight space, M.norm : W \rightarrow \mathbb{R}_{\ge 0}, sometimes abbreviated to just \| \cdot \|_M .

Если семантика пункта (a) привычна (стандартный прямой проход через слой), то остальные требуют пояснения. Параметр M.mass определяет вклад модуля в общее представление и задаёт долю обучения признаков внутри объемлющей архитектуры. Величина M.sensitivity характеризует чувствительность выхода к малым возмущениям входного сигнала. Наконец, норма M.norm оценивает сложность и эффективный масштаб весовых коэффициентов, позволяя контролировать ёмкость модуля и его обобщающую способность.

В особую категорию авторы выделяют «правильно нормированные» модули (Well-normed modules), у которых отображение M.forward удовлетворяет условию Липшица с константой 1 по входам и с константой M.sensitivity по весам. Данное свойство предотвращает взрыв активаций при градиентном шаге и гарантирует робастность архитектуры к зашумлению и состязательным атакам (adversarial attacks). Для описанных модулей формализуются операции композиции (последовательное соединение) и конкатенации (параллельное соединение) с соответствующим пересчётом параметров.

Рассмотрим применение этой теории на базовом линейном модуле.

The Linear module sends inputs from X = \mathbb{R}^{d_{in}} to outputs in Y = \mathbb{ R}^{d_{out}} . The weight space is given by the matrix space W = \mathbb{R}^{d_{out}\times d_{in}} . We endow the Linear module with attributes:

  1. Linear.forward(W , x) = W x, the matrix-vector product;

  2. Linear.sensitivity = 1;

  3. Linear.mass = μ, where μ \ge 0 is a hyperparameter;

  4. Linear.norm(W) = \|W \|_{RMS \rightarrow RMS}, the \| \cdot \|_{RMS \rightarrow RMS} induced operator norm.

  5. Linear.dualize(G) = \sqrt\frac{d_{out}}{d_{in}} \times UV^T, where the gradient G \in \mathbb{R}^{d_{out} \times d_{in}} has

    reduced SVD G = U \Sigma V^T

Разберём ключевые аспекты: прямой проход forward тривиален; единичная чувствительность следует из 1-липшицевости по входу; масса выступает гиперпараметром, регулирующим темп обучения. Выбор операторной нормы гарантирует согласованную нормированность (well-normedness): пока входы и веса ограничены единичными шарами, выходы также строго ограничены единицей. Вместо стандартного градиентного шага (как в классических SGD или Adam) авторы заменяют градиентную матрицу G на её полярную проекцию UV^{T}, обнуляя разброс сингулярных чисел до единицы (полуортогонализация). Такое преобразование G \to UV^T математически эквивалентно логике матричного оптимизатора Shampoo. Коэффициент \sqrt{d_{\text{out}}/d_{\text{in}}} в точности совпадает со спектральным масштабированием из теории \mu\text{P} (Maximal Update Parametrization), что даёт возможность свободно варьировать ширину сети без повторного подбора гиперпараметров оптимизации.

Авторы уделили внимание и вычислительной эффективности: прямое SVD-разложение матриц градиентов накладно, поэтому для его аппроксимации используется итерационный метод Ньютона — Шульца для прямоугольных матриц (Rectangular Newton-Schulz Iteration):

  1. Положим X_0 = G / |G |_{l_2 \rightarrow l_2}

  2. Обновим: X_{t+1} = \frac{3}{ 2}  X_t- \frac{1}{ 2} X_tX^T_t X_t

где при t \to \infty последовательность X_t сходится к UV^T, что наглядно иллюстрирует приведённый ниже график:

Rectangular Newton-Schulz Iteration
Rectangular Newton-Schulz Iteration

В заключение авторы выделяют перспективные направления исследований:

  • создание строгой типизации пространств активаций с учётом их целевых норм и масштабов;

  • ускоренное обучение нейросетей (включая рекордные результаты оптимизации NanoGPT);

  • формирование целостной математической теории глубокого обучения;

  • согласование активаций и градиентных обновлений (анализ взаимной корреляции шага весов и входящих сигналов).

Предложенные направления чрезвычайно актуальны: строгая типизация и фундаментальный базис позволят устранить эвристическую неопределённость в дизайне моделей, оптимизация ускорит адаптацию на потоках свежих данных, а контроль выравнивания активаций усилит устойчивость к вредоносным воздействиям и шумам.

Статья MIT CSAIL представляет собой последовательную попытку структурировать методы оптимизации глубоких сетей языком строгой математики. Она наглядно иллюстрирует, как классические инструменты линейной алгебры и геометрии векторных пространств способны стать прочным фундаментом для создания более эффективных и предсказуемых систем искусственного интеллекта.

 

Источник

Поделиться:

Похожие статьи

Поиск по играм, новостям и статьям…

Введите не менее двух символов

Введите не менее двух символов