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

Зачем нужны дополнительные слои?

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

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

3.1 Правило, зависящее от расстояния

Приближение радиальных функций · стр. статьи 29–31

Зачем сети может понадобиться несколько слоёв? Представим фонарь посреди круглого сада. Освещение цветка зависит только от расстояния до фонаря, а не от того, слева он или справа.

Рассмотрим условное правило, возвращающее расстояние от начала координат. Точки (3, 4) и (0, 5) находятся на одинаковом расстоянии от начала координат.

При исходных значениях обе точки находятся на расстоянии 5 от начала координат.

Определение / правило статьи

f(x)=∥x∥2=x12+x22f(x)=\|x\|_2=\sqrt{x_1^2+x_2^2}
f(3,4)=9+16=5,f(0,5)=5f(3,4)=\sqrt{9+16}=5,\quad f(0,5)=5
function distances(firstPoint, secondPoint) {
  const first = Math.sqrt(firstPoint[0] ** 2 + firstPoint[1] ** 2);
  const second = Math.sqrt(secondPoint[0] ** 2 + secondPoint[1] ** 2);
  return { first, second };
}
const result = distances([3, 4], [0, 5]);

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

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

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

Лампа и цветок

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

Исследуйте

Найдите другое положение с тем же светом, что в точке 2.

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

Садовая лампаРасстояние 3 · свет 2
Положение цветка

Положение: 2; Расстояние: 3; Яркость: 2

Для точки (3, 4) возводим числа в квадрат и складываем: 3×3 + 4×4 = 25. Так как 5×5 = 25, корень равен 5 — это расстояние от (0, 0). В примере с лампой другой центр, в точке 5: цветы в точках 3 и 7 одинаково удалены на 2 единицы и получают одинаковый свет.

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

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

3.2 Простые участки и много слоёв

Глубокие сети с активацией ReLU · стр. статьи 31–32

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

Объедините два слагаемых ReLU в функции «шляпа» из статьи, определённой для входов от 0 до 1. Попробуйте 0, 0.5 и 1.

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

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

h(x)=2ϱR(x)−4ϱR(x−12),x∈[0,1]h(x)=2\varrho_R(x)-4\varrho_R(x-\tfrac12),\quad x\in[0,1]
h(0)=0,h(0.5)=1,h(1)=0h(0)=0,\quad h(0.5)=1,\quad h(1)=0
function tent(value) {
  return 2 * Math.max(0, value) - 4 * Math.max(0, value - 0.5);
}
function tentExamples(value, inputs) {
  const examples = [];
  for (const input of inputs) examples.push(tent(input));
  return { output: tent(value), examples };
}
const result = tentExamples(0.5, [0, 0.5, 1]);

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

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

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

Правило лампы

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

Исследуйте

Найдите самое яркое положение от 0 до 4.

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

Настольная лампаЯркость 1Правило яркостиРегулятор 1
Положение лампы

Положение: 1; Яркость: 1

Возьмём x = 0.25. Первая часть даёт 2×0.25 = 0.5; во вторую попадает 0.25 − 0.5 = −0.25, поэтому ReLU даёт 0. Значит, h(0.25) = 0.5. При x = 0.75 части дают 1.5 и 4×0.25 = 1, поэтому h(0.75) тоже равно 0.5. Подадим 0.5 снова на вход: h(0.5) = 1. При повторении правила число вершин может удвоиться.

Иллюстрация с лампой показывает похожий подъём и спад в другом масштабе: от 0 до 4 с вершиной в 2. Шатёр статьи идёт от 0 до 1 с вершиной в 0.5. В следующем задании выход шатра на отрезке от 0 до 1 снова подаётся в то же правило.

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

3.3 Другие способы измерить выразительность

Другие понятия выразительности · стр. статьи 32–34

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

Пройдём от 0 до 3, затем вернёмся к 1: три шага вперёд и два назад. Сложим оба расстояния, чтобы измерить весь путь, а не только расстояние между его концами.

Длина пути равна 5, хотя расстояние между его концами — всего 1.

Определение / правило статьи

ℓ=∑i∣xi+1−xi∣\ell=\sum_i |x_{i+1}-x_i|
ℓ=∣3−0∣+∣1−3∣=5,∣1−0∣=1\ell=|3-0|+|1-3|=5,\quad |1-0|=1
function journey(middle, end) {
  const length = Math.abs(middle) + Math.abs(end - middle);
  return { length, netChange: end };
}
const result = journey(3, 1);

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

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

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

Сложите путь

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

Исследуйте

Сгибайте лист, чтобы получить 8 прямых участков.

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

Профиль сложенной бумагиПрямых участков: 2←→
Сгибы
1

Шаги: 1; Число частей: 2

Один шатёр состоит из двух прямых отрезков. Если снова пропустить его выход через то же правило, получится четыре; ещё раз — восемь. После k повторений у этого построенного правила 2^k отрезков; это не число всех функций, которые может создать сеть из k слоёв.

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

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

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

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

1. Что такое глубина сети?

2. Что возвращает ReLU при отрицательном входе?

3. Модель может задавать одни функции, но не другие. О чём это говорит?

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