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

Рассмотрим динамику градиентного спуска с шагом и нулевой инициализацией весов:

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

переход к которому соответствует стремлению к нулю и выбору параметризации по , для которой (округление берётся в любую сторону).

Рассмотрим сингулярное разложение , где и ортогональны, а – прямоугольная диагональная матрица. Тогда

и .

Обозначая и , получаем:

В координатном виде имеем следующее:

и

так как – диагональная матрица, у которой лишь первые элементов на диагонали не равны нулю, и у вектора тоже лишь первые координат ненулевые.

Так как все для ненулевые, при получаем следующее решение:

Это можно записать в эквивалентном матричном виде: , где «+» обозначает взятие псевдообратной матрицы.

Значит, в силу того, что матрица имеет полный ранг по строкам.

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

Рассмотрим соответствующую функцию Лагранжа:

Здесь . Покажем, что пара является критической точкой этой функции:

В силу выпуклости функции Лагранжа эта критическая точка является точкой глобального минимума.

Случай линейных сетей

Каков implicit bias нейронных сетей? Сходится ли градиентный спуск в решение наименьшей нормы и если да, то о какой норме идёт речь? Частичный ответ на этот вопрос удаётся получить для линейных сетей.

Следуя работе Exact solutions to the nonlinear dynamics of learning in deep linear neural networks, рассмотрим линейную сеть с одним скрытым слоем:

где и – матрицы .

Поставим задачу многомерной (метка – вектор) регрессии с квадратичной функцией потерь:

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

где точка над означает производную по времени (то есть по ).

Это нелинейная система матричных дифференциальных уравнений второго порядка; чтобы проинтегрировать её аналитически, нам придётся сделать ряд предположений.

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

Назовём силой моды с индексом ковариации между метками и входами.

Сделаем замену координат:

В новых координатах градиентный спуск принимает вид:

Пусть и . Тогда в терминах векторов и

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

Предположим, что существует ортогональная матрица , такая что при всех имеет место равенство

и

для некоторых скалярных величин и .

Нетрудно заметить, что в этом случае при всех и в любой момент времени имеем и для некоторых скалярных величин и .

Тогда для различных выражения выше становятся независимыми друг от друга:

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

Если в начальный момент, то это верно и в любой момент времени. Тогда система выше превращается в одно уравнение первого порядка.

В самом деле, обозначив , получаем:

Это уравнение задаёт следующую динамику градиентного спуска для функции потерь (её глобальный минимум – это ).

Перед тем, как интегрировать уравнение (1), напомним, как из перейти обратно к исходным и . Имеем для :

Аналогично для :

Теперь проинтегрируем уравнение (1) в предположении, что и для выбранного :

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

Видим, что чем сильнее мода (то есть чем больше ), тем быстрее она сходится.

Рассмотрим две моды с силами и , такие что . Насколько вторая (более слабая) мода выучится к моменту, когда первая уже выучится на долю ? Из уравнения выше имеем:

Подставляя и , получаем:

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

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

В выводе выше, мы использовали ряд предположений, в частности, что вектора , образующие матрицу , ортогональны в инициализации. Эмпирически те же выводы оказываются верными и без этого предположения, см. графики в оригинальной работе Exact solutions to the nonlinear dynamics of learning in deep linear neural networks. Можно ли их обосновать строго математически? В работах Towards resolving the implicit bias of gradient descent for matrix factorization и Deep Linear Networks Dynamics доказывается, что самая сильная мода выучивается в первую очередь. Тем не менее, на момент написания этого текста остаётся недоказанным, что все моды выучиваются последовательно от сильных к слабым. К сожалению, implicit bias градиентного спуска для нелинейных сетей пока остаётся почти неизученным.

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

Вступайте в сообщество хендбука

Здесь можно найти единомышленников, экспертов и просто интересных собеседников. А ещё — получить помощь или поделиться знаниями.
Вступить
Сообщить об ошибке
Предыдущий параграф13.5. Ландшафт функции потерь
Следующий параграф14.1. Оптимизация в ML

Как найти оптимум функции потерь: от градиентного спуска до Adam