Структура слоев нейросетей была исследована во множестве работ: градиентный спуск, методы forward и backward pass изучены достаточно глубоко. Но тем не менее большинство нейросетей работают как черные ящики: обновляются миллионы параметров, берутся композиции тысячи функций и, если все это распараллелить, результат получается быстрее, чем мы успеем подумать о запутанности и красоте системы. Попытки формализовать эту строгую систему, понять ее, чтобы сделать лучше продолжаются до сих пор. Такая наука как математика является одним из главных инструментов при препарировании сложного организма искусственного интеллекта.
В статье «Modular Duality in Deep Learning» (MIT CSAIL) предлагается формализовать задачу для разных модулей (линейного, модуля эмбеддингов и тд). Данная работа является кратким и структурированным обзором на идею авторов.
Начнем сначала: градиентный спуск используется повсеместно для поиска минимума функции потерь (лосс‑функции). Многие знают как обновляются веса нейросети, но с математической точки зрения корректна ли эта операция? Таким вопросом задались авторы обозреваемой статьи. На самом деле, если углубиться в математику, становится ясно, что вектор принадлежит векторному пространству, а градиент — сопряженному и является функционалом от вектора (или ковектором). Таким образом, авторы настаивают, что перед обновлением весов требуется применение некоторого двойственного отображения, которое переведет нас в нужное пространство, где операция вычитания станет корректной. Но зачем так усложнять, если все и так работает? Проблема в том, что функция потерь может иметь разную гладкость (кривизну) в разных направлениях пространства весов. Обычный градиент никак не учитывает эту однородность. Авторы сами с лёгкой самоиронией замечают:
This restriction may seem absurd! After all, here the weight space
and its dual
are both just
. However, insisting upon this type check serves to remind us that the curvature of the loss function may be highly heterogeneous.
Этой фразой они подчёркивают, что формальный подход — не бюрократия, а способ не забывать о скрытых свойствах лосса.
Дабы исправить эту неточность, авторы определяют двойственное отображения по заданной норме в векторном пространстве как:
Например, для евклидового пространства это будет выглядеть так:
Равенство в неравенстве достигается тогда и только тогда, когда ,
. С учетом условия на вектор
, получаем:
Так авторы приходит к понятию модульной нормы, но перед этим давайте четко определим что такое модуль.
Definition 4 (Module). Given input vector space
, output vector space
and weight vector space
, a module
is an object with the following four attributes:
(a) a function,
, which maps an input and a weight vector to an output;
(b) a number,
, which is used to set the proportion of feature learning that this module contributes to any supermodule;
© a number,
, which estimates the module’s sensitivity to input perturbations;
(d) a norm over the weight space,
, sometimes abbreviated to just
Если пункт (а) вопросов, вероятно, не вызывает (стандартная операция для нейронных сетей), то следующие могут вызвать непонимание. Параметр отвечает за вклад самого модуля в архитектуру: как сильно этот модуль влияет на ответ нейросети. Название
говорит само за себя: как небольшие изменения входных параметров меняют выходные. И, наконец, норма
отвечает за «размер/ сложность» текущих весов модуля для контроля емкости и обобщающей способности.
Далее, из множества всех модулей отдельно выделяют «Well‑normed module», для которых функция Липшицева с константой 1 по входу и с константой
по весам. Это гарантирует устойчивость градиентного спуска (шаг по весам не вызывает взрыва активации) и позволяет оценивать устойчивость всей сети к шумам (adversarial attacks). На введенном множестве вводятся операции композиции и конкатенации модулей с изменениями параметров самих модулей. Эти операции соответствуют последовательному и параллельному соединению модулей в нейросети.
Познакомимся поближе с новыми понятиями на примере атомарного линейного модуля.
The Linear module sends inputs from
to outputs in
. The weight space is given by the matrix space
. We endow the Linear module with attributes:
the matrix‑vector product;
![]()
where
is a hyperparameter;
the
induced operator norm.
where the gradient
has
reduced SVD
Прокомментируем данный пример. Метод , думаю, вопросов не вызывает. Второе равенство (для чувствительности) следует из Липшицевости по входу с константой 1. Масса является гиперпараметром и отвечает за скорость обучения. Выбор нормы связан с понятием правильной нормированности (Well‑normed): если веса и входы лежат в своих единичных шарах, то выходы гарантированно не взорвутся и тоже останутся ограниченными единицей. Вместо того чтобы делать обычный шаг градиентного спуска (как в SGD или Adam), авторы заменяют матрицу градиентов
на ее полярную проекцию
. Это матрица, у которой все сингулярные числа принудительно заменены на единицы (полуортогональная матрица). Проекция
математически эквивалентна продвинутому матричному оптимизатору Shampoo (метод адаптивной оптимизации для матричных параметров). Множитель
совпадает со спектральным масштабированием из теории
. Это позволяет менять ширину сети без необходимости заново подбирать скорость обучения.
Также авторы не забыли и о скорости и удобстве подсчетов. Вычисление SVD матрицы может быть медленным, поэтому было предложено использовать семейство прямоугольных итераций Ньютона‑Шульца (Rectangular Newton‑Schulz Iteration) для ускорения. В частности этот итеративный процесс работает так:
Положим
Обновим:
и при последовательность
стремится к
, что можно увидеть на графике ниже (более подробно см. исходную статью):

В заключение авторы предлагают подумать над следующими темами:
создание строгой системы типов: каждое пространство активаций должно иметь жесткий «тип», определяемый его целевой нормой и ожидаемым масштабом данных;
скоростное обучение нейросетей: рекорд на сети NanoGPT с использованием уже упомянутого выше метода:
единый теоретический базис;
выравнивание активаций и обновлений: насколько сильно обновление весов слоя коррелирует с входящими в него активациями?
По моему мнению, все темы достаточно сильны и актуальны. Строгая система и единый теоретический базис помогут формализовать некоторые вопросы, возникающие при анализе работы нейросетей, и найти ответы на них. Скоростное обучение позволит быстрее адаптировать модели под новые данные, что критично для задач с постоянно обновляющейся информацией. Выравнивание активаций и обновлений поможет при борьбе с шумом и при защите от adversarial attacks.
Обозреваемая статья является мощной попыткой авторов навести порядок в существующем многообразии подходов к обучению нейросетей и машинного обучения с помощью математических методов. Она демонстрирует как фундаментальные понятия линейной алгебры помогают современным исследователям достичь большего в развитии ИИ. Усиление математического аппарата, применяемого к нейросетям, является крепким фундаментом для совершенствования.