Снижение веса в глубоком обучении | Сяо Шуанлоу

искусственный интеллект TensorFlow глубокое обучение PyTorch

Снижение веса, или штраф за норму L^2, является одним из наиболее распространенных методов регуляризации. Эта статья объяснит, как это работает. Основной материал поступает изThe Deep Learning Book.

Зачем вводить снижение веса

Логика машинного обучения полностью противоположна тому, как мы думаем о решении проблем в первую очередь: чтобы решить проблему, классический способ мышления состоит в том, чтобы разбить ее на небольшие задачи, рассмотреть зависимости, а затем разделить и властвовать. А философия машинного обучения такова:trail-error-correct": сначала предположим кучу возможных решений и выбираем/настраиваем эти решения в соответствии с результатами, пока не будем удовлетворены. Другими словами, машинное обучение ищет в пространстве гипотез модель, которая лучше всего соответствует данным: рассуждение по результатам, которое идея максимального правдоподобия.По мере увеличения объема данных нам все больше нужны более выразительные модели, и преимущества глубокого обучения удовлетворяют эту потребность: благодаря экспоненциальному выигрышу, обеспечиваемому распределенным представлением, масштабируемость моделей глубокого обучения почти бесконечна (см.Глубокое обучение и распределенные представления).

С моделью (альтернативным набором моделей) и данными мы должны столкнуться с основной проблемой в области машинного обучения: как гарантировать, что модель может описывать данные (подгонка) и генерировать данные (обобщение).

Грубо говоря, есть три ситуации:

  • Наше гипотетическое семейство моделей не содержит генеративного процесса для реальных данных: недообучение/большое смещение
  • Сопоставьте реальный процесс генерации данных
  • В дополнение к содержанию реального процесса генерации также включена другая информация: переобучение/высокая дисперсия.

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

Параметры моделей глубокого обучения

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

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

Это напоминает мне рутину доказательства теорем с вещественными переменными: сначала доказать случай простых функций, затем обобщить на непрерывные функции, а затем на функции, интегрируемые по Лебегу.

Обычные подпрограммы (MLP) подходят для выполнения общих функциональных задач, но при работе с более сложными данными, такими как изображения, требуются более гибкие сетевые структуры.

Отличные CNN, LSTM, начальный блок, ResNet, DenseNet и другие структуры добавляют человеческие знания, чтобы сделать его более эффективным для извлечения особенностей пространства распространения изображений/аудиоданных. (Итак, Мэннинг однажды сказал в классе, что машинное обучение — это на самом деле человеческое обучение: машины просто берут производные и выполняют умножения, а лучшие модели изучаются людьми.)

Люди разрабатывают множество хитроумных структур для решения различных задач, но они по-прежнему являются самыми основными операциями умножения и сложения матриц, реализованными на уровнях и элементах сети. Именно матрицы и векторы, задействованные в этих обычных операциях умножения, определяют выразительность модели.

Как работает снижение веса

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

———————————— Производная часть —————————

Для простоты пусть смещение равно 0, а целевая функция модели:

J 1 ( w ; X , y ) = α 2 w T w + J ( w ; X , y )" role="presentation">J1(w;X,y)=α2wTw+J(w;X,y) J 1 ( w ; X , y ) = α 2 w T w + J ( w ; X , y )

Соответствующий градиент:

?{\nabla}{w} J{1}(w; X,y) = \alpha w + {\nabla}_{w} J(w; X,y)?

Для градиентного спуска правило обновления параметров:

ж знак равно ж − ϵ ( альфа ж + ∇ ж Дж ( ж ; Икс , у ) )" роль="презентация">w=w−ϵ(αw+∇wJ(w;X,y)) ж знак равно ж − ϵ ( альфа ж + ∇ ж Дж ( ж ; Икс , у ) )

Это:

ж знак равно ( 1 − ϵ альфа ) ж − ϵ ∇ ж Дж ( ж ; Икс , у )" роль="представление">w=(1−ϵα)w−ϵ∇wJ(w;X,y) ж знак равно ( 1 − ϵ альфа ) ж − ϵ ∇ ж Дж ( ж ; Икс , у )

Из приведенной выше формулы видно, что после добавления весового затухания параметры сначала масштабируются, а затем спускаются по градиенту. Следующий порядок Икс ( 1 ) "роль="презентация">x^{(1)}Чтобы целевая функция достигла оптимальных значений параметров, рассмотрим квадратичную аппроксимацию целевой функции вокруг нее:

Дж ( ж ) ≈ Дж ( ж ( 1 ) ) + 1 2 ( ж − ж ( 1 ) ) Т ЧАС ( ж − ж ( 1 ) )" role="презентация">J(w)≈J(w(1))+12(w−w(1))TH(w−w(1)) Дж ( ж ) ≈ Дж ( ж ( 1 ) ) + 1 2 ( ж − ж ( 1 ) ) Т ЧАС ( ж − ж ( 1 ) )

в H" роль="презентация">H— матрица Гессе приближенной целевой функции. Когда приближенная целевая функция наименьшая, ее градиент равен 0" роль="презентация">0,который:

∇ ж Дж ( ж ) ≈ ЧАС ( ж − ж ( 1 ) )" роль="презентация">∇wJ(w)≈H(w−w(1)) ∇ ж Дж ( ж ) ≈ ЧАС ( ж − ж ( 1 ) )

Эта формула также показывает нам, что основная информация алгоритма оптимизации на основе градиента поступает из матрицы Гессе. После добавления члена затухания веса приведенное выше уравнение становится (запомните оптимальную точку в это время как ж ( 2 ) "роль="презентация">w^{(2)}):

?{\nabla}{w} J{1}(w) \approx \alpha w^{(2)} + H(w^{(2)} - w^{(1)}) = 0?

так

ж ( 2 ) знак равно ( ЧАС + альфа я ) − 1 ЧАС ж ( 1 ) " роль="представление">w(2)=(H+αI)−1Hw(1) ж ( 2 ) знак равно ( ЧАС + альфа я ) − 1 ЧАС ж ( 1 )

Эта формула показывает влияние добавления регуляризации на точку наилучшего качества параметров, которая определяется матрицей Гессе и коэффициентом регуляризации α" роль="презентация">\alphaрешили вместе.

Далее разложив матрицу Гессе, мы можем получить:

ж ( 2 ) знак равно Вопрос ( Λ + альфа я ) − 1 Λ Вопрос Т ж ( 1 ) " роль="презентация">w(2)=Q(Λ+αI)−1ΛQTw(1) ж ( 2 ) знак равно Вопрос ( Λ + альфа я ) − 1 Λ Вопрос Т ж ( 1 )

в, Q" роль="презентация">Qявляется ортогональной матрицей, Λ" роль="презентация">\Lambdaдиагональная матрица. Таким образом, можно видеть, что эффект уменьшения веса H" роль="презентация">HМасштабирование оси, определяемое собственными векторами w" роль="презентация">w, конкретный коэффициент масштабирования равен $ {\ frac { {\ lambda} _ {i} }{ {\ lambda} i + \ alpha}} , Тот середина "роль="презентация">,其中{\ лямбда} {я} поверхность Показывать первое "роль="презентация">表示第Собственные значения, соответствующие собственным векторам i$.

когда собственное значение λ" роль="презентация">\lambdaочень большой (по сравнению с α" роль="презентация">\alpha), коэффициент масштабирования мало влияет на вес, поэтому изменение в процессе обновления невелико, а когда собственное значение мало, α" роль="презентация">\alphaВыявлен масштабирующий эффект , уменьшающий вес в этом направлении до 0.

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

transform

——————————————————————————————————————

Подводя итог, можно сказать, что матрица Гессе (явная, неявная или приближенная) целевой функции является основной основой для оптимизации существующих алгоритмов оптимизации. Контролируя снижение веса α" роль="презентация">\alphaПараметр, мы фактически контролируем, насколько масштабировать вес в характерном направлении матрицы Гессе.Вес в направлении, которое является относительно важным (может значительно уменьшить целевую функцию), относительно хорошо сохраняется и не помогает направлению снижение целевой функции Верхние веса постепенно уменьшаются в процессе тренировки. И в этом смысл распада веса.

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

L 1 " role="presentation">L^1регуляризация нормы

Аналогичным образом можно получить, что добавление л 1 "роль="презентация">L^1Влияние штрафного члена нормы на оптимальное решение параметров заключается в следующем:

?w^{(2)}{i} = sign(w^{(1)}{i}) max \big{|w^{(1)}{i}| - \frac{\alpha}{H{i,i}}, 0 \big}?

по сравнению с л 2 "роль="презентация">L^2эффект нормы, который является дискретным результатом, таким образом л 1 "роль="презентация">L^1Штраф за норму подталкивает параметры к более разреженному решению. Это свойство разреженности часто используется для выбора признаков.

Байесовская интерпретация снижения веса

В рамках байесовской статистики обычно используемой стратегией вывода является оценка максимальной апостериорной точки (Maximum A posteriori, MAP). Существует следующая формула вывода (выведенная из закона Байеса):

θ M A P = a r g m a x p ( θ | x ) = a r g m a x ( l o g p ( x | θ ) + l o g p ( θ ) )" role="presentation">θMAP=argmaxp(θ|x)=argmax(logp(x|θ)+logp(θ)) θ M A P = a r g m a x p ( θ | x ) = a r g m a x ( l o g p ( x | θ ) + l o g p ( θ ) )

Первый член в правой части приведенного выше уравнения представляет собой стандартный член логарифмического правдоподобия, а второй член соответствует априорному распределению.

В такой перспективе нам недостаточно только выполнить оценку максимального правдоподобия, но также рассмотреть априорные п ( θ )" роль="презентация">p(\theta)Распределение. И когда предполагается, что параметры нормально распределены Н ( ж ; 0 , 1 λ я 2 )" роль="презентация">N(w; 0, \frac{1}{\lambda}I^2)При подводим к приведенной выше формуле ( θ" роль="презентация">\thetaявляется параметром), можно обнаружить, что результат второго члена пропорционален члену штрафа за уменьшение веса λ ж Т w" роль="презентация">\lambda w^T w, плюс один, не зависящий от w" роль="презентация">wПредметы, которые также не влияют на процесс обучения. Таким образом, байесовский вывод MAP с гауссовскими априорными весами соответствует уменьшению веса.

Снижение веса и преждевременное прекращение

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

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

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

Мы по-прежнему рассматриваем квадратичную аппроксимацию целевой функции:

Дж ( ж ) ≈ Дж ( ж ( 1 ) ) + 1 2 ( ж − ж ( 1 ) ) Т ЧАС ( ж − ж ( 1 ) )" role="презентация">J(w)≈J(w(1))+12(w−w(1))TH(w−w(1)) Дж ( ж ) ≈ Дж ( ж ( 1 ) ) + 1 2 ( ж − ж ( 1 ) ) Т ЧАС ( ж − ж ( 1 ) )

Точка оптимального параметра записывается как ж ( 1 ) "роль="презентация">w^{(1)}, его градиент:

∇ ж Дж ( ж ) ≈ ЧАС ( ж − ж ( 1 ) )" роль="презентация">∇wJ(w)≈H(w−w(1)) ∇ ж Дж ( ж ) ≈ ЧАС ( ж − ж ( 1 ) )

Без добавления члена регуляризации стратегия обновления его градиентного спуска (с первого т − 1" роль="презентация">\tau-1шаг к τ" роль="презентация">\tauшаг) как:

ж ( т ) знак равно ж т − 1 ) − ϵ ЧАС ( ж ( т − 1 ) − ж ( 1 ) )" роль="презентация">w(τ)=wτ−1)−ϵH(w(τ−1)−w(1)) ж ( т ) знак равно ж т − 1 ) − ϵ ЧАС ( ж ( т − 1 ) − ж ( 1 ) )

накопленный

ж ( т ) − ж ( 1 ) знак равно ( я − ϵ ЧАС ) ( ж ( т − 1 ) − ж ( 1 ) )" роль="презентация">w(τ)−w(1)=(I−ϵH)(w(τ−1)−w(1)) ж ( т ) − ж ( 1 ) знак равно ( я − ϵ ЧАС ) ( ж ( т − 1 ) − ж ( 1 ) )

Разложите матрицу Гессе, чтобы получить следующую форму

ж ( т ) знак равно Вопрос [ я − ( я − ϵ Λ ) т ] Вопрос Т ж ( 1 ) " роль = "презентация"> w (τ) = Q [I- (I-ϵΛ) τ] QTw (1) ж ( т ) знак равно Вопрос [ я − ( я − ϵ Λ ) т ] Вопрос Т ж ( 1 )

Перепишите весовой эффект добавления члена регуляризации как

ж ( 2 ) знак равно Вопрос [ я − ( Λ + альфа я ) − 1 альфа ] Вопрос Т ж ( 1 ) " роль="представление">w(2)=Q[I-(Λ+αI)−1α]QTw(1) ж ( 2 ) знак равно Вопрос [ я − ( Λ + альфа я ) − 1 альфа ] Вопрос Т ж ( 1 )

Контраст можно получить, если гиперпараметры ϵ , альфа , τ" роль="презентация">\epsilon, \alpha, \tauудовлетворить

( я − ϵ Λ ) т знак равно ( Λ + альфа я ) − 1 α" роль="представление">(I−ϵΛ)τ=(Λ+αI)−1α ( я − ϵ Λ ) т знак равно ( Λ + альфа я ) − 1 альфа

Тогда досрочное прекращение будет иметь эквивалентный эффект снижения веса. В частности, τ" роль="презентация">\tauПроцесс обучения в конце шага достигнет гиперпараметра как α" роль="презентация">\alphaиз л 2 "роль="презентация">L^2Оптимальная точка, полученная регуляризацией.

Но преимущество досрочного прекращения в том, что нам больше не нужно находить правильные гиперпараметры α" роль="презентация">\alpha, и нужно только сформулировать разумную стратегию завершения (например, 3 эпохи не приводят к уменьшению ошибки набора валидации, то есть обучение прекращается), что стоит сэкономить с точки зрения затрат на обучение.

@ddlee

Creative Commons License@ddlee
Эта статья соответствуетCreative Commons Attribution-ShareAlike 4.0 International License.
Это означает, что вы можете воспроизводить эту статью с указанием авторства, сопровождаемой этим соглашением.
Если вы хотите получать регулярные обновления о моих сообщениях в блоге, пожалуйста, подпишитесьДонгдон ежемесячно.
Ссылка на эту статью: блог. Я добрался до него. Могу /posts/Chengdu 6 отправить 4…


Статьи по Теме