Современная математика глубокого обученияобъяснение для тех, кто не занимается математикой

Поиск лучших параметров

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

Эта глава разбирает, почему обучение всё же часто продвигается вперёд и почему очень широкие сети в некоторых случаях проще исследовать математически.

5.1 Форма поверхности ошибки

Анализ поверхности ошибки · стр. статьи 39–41

Обучение меняет настройки сети, чтобы уменьшить потерю — число, измеряющее ошибки. Для одного веса w отложим его значение по горизонтали, а потерю L(w) по вертикали. Наклон показывает, как меняется потеря при малом изменении w: положительный наклон означает, что увеличение w повышает потерю. При многих весах градиент собирает эти наклоны, а обратное распространение вычисляет их, проходя сеть в обратном направлении.

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

Два скрытых нейрона вносят в выход 3 и 0.

Формула из статьи

Φ(x,θ)=∑j=1nθj(2)ϱ(⟨θj(1),[x;1]⟩)\Phi(x,\theta)=\sum_{j=1}^{n}\theta^{(2)}_j\varrho(\langle\theta^{(1)}_j,[x;1]\rangle)
Φ(2)=3ReLU⁡(2−1)+2ReLU⁡(−2+1)=3\Phi(2)=3\operatorname{ReLU}(2-1)+2\operatorname{ReLU}(-2+1)=3
function networkOutput(x) {
  return { output: 3 * Math.max(0, x - 1) + 2 * Math.max(0, -x + 1) };
}
const result = networkOutput(2);

Выберите изменение. Предскажите результат и запустите код.

Результат:
Включите JavaScript, чтобы запустить пример.

Подробнее в разделе понятий стр. статьи 40 (5.1)

Регулятор счётчика цветов

Условный пример

Исследуйте

Найдите минимальную ошибку среди шести отмеченных целых значений.

Нажмите на рисунок или используйте кнопки

Поверхность ошибкиНастройка 4 · ошибка 1.2Настоящие цветы3 цветкаПрогноз машины≈4,095Цветы
Положение регулятора

Сейчас: 4; Ошибка: 1,2

В формуле x — вход, θ содержит веса и смещения, n — число скрытых нейронов, а ρ — функция активации. Запись [x; 1] добавляет к входам число 1. Умножив эту единицу на смещение и прибавив результат, мы включаем смещение в ту же взвешенную сумму. Изменение θ меняет потерю и образует её ландшафт.

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

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

5.2 Когда параметры меняются совсем немного

Ленивое обучение и доказуемая сходимость стохастического градиентного спуска · стр. статьи 41–44

Кажется, что сети нужно сильно изменить веса, чтобы выучить что-то новое. Неожиданно, в некоторых очень широких сетях множество весов может измениться лишь немного по отдельности и всё же достаточно изменить выход.

Возьмём более простое правило f(w) = w² около w = 2. При 2 результат равен 2² = 4, при 2.1 — 2.1² = 4.41. Изменение можно оценить по наклону в точке 2.

Оценка по прямой рядом с начальной точкой равна 4,4; точный ответ — 4,41.

Формула из статьи

Φlin(⋅,θ)=Φ(⋅,Θ0)+⟨∇θΦ(⋅,Θ0),θ−Θ0⟩\Phi^{\mathrm{lin}}(\cdot,\theta)=\Phi(\cdot,\Theta_0)+\langle\nabla_\theta\Phi(\cdot,\Theta_0),\theta-\Theta_0\rangle
w=2,Δ=0.1:flinear=4.4,f=4.41w=2,\quad \Delta=0.1:\quad f_{\rm linear}=4.4,\quad f=4.41
function linearApproximation(weight, change) {
  const linear = weight ** 2 + 2 * weight * change;
  const exact = (weight + change) ** 2;
  return { linear, exact };
}
const result = linearApproximation(2, 0.1);

Выберите изменение. Предскажите результат и запустите код.

Результат:
Включите JavaScript, чтобы запустить пример.

Подробнее в разделе понятий стр. статьи 24

Малые изменения прогноза

Условный пример

Исследуйте

Предскажите число поправок по 0,1 для перехода от 2 к 3.

Настоящие цветы3 цветкаПрогноз машины?Малых поправок: 0
Поправки

Начальное значение: 2; Поправки: 0,1

Начнём с 2² = 4. Наклон в точке 2 равен 4, поэтому при изменении на 0.1 оценка изменения равна 4×0.1 = 0.4. Прибавляем к 4 и получаем 4.4, что близко к точному результату 2.1² = 4.41. Почему? При малом изменении Δ имеем (2 + Δ)² = 4 + 4Δ + Δ²; оценка оставляет в стороне малое Δ². В формуле сети Θ₀ — начальные настройки, θ — новые, а градиент перечисляет начальные скорости изменения для каждого параметра.

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

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

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

Проверьте себя по главе

1. Что такое потеря?

2. Потеря зависит от регулятора. Что показывает градиент?

3. Многие части модели меняются лишь немного. Что может сделать их совместное изменение?

Независимое учебное объяснение статьи Современная математика глубокого обучения — Юлиус Бернер, Филипп Грос, Гитта Кутиниок, Филипп Петерсен. В примерах используются вымышленные числа, если не указан источник измеренных данных.