Когда входных чисел очень много
Представьте, что каждый пиксель фотографии — это ещё одно число, которое нужно учесть. Перебор всех возможных сочетаний очень быстро становится невозможным.
Статья рассматривает три способа упростить некоторые задачи: многими пикселями могут управлять всего несколько чисел; среднее небольших правил может приближать большое; известное научное уравнение может направлять расчёт.
4.1 Один регулятор — много чисел
Гипотеза многообразия · стр. статьи 34–35
Фотография может содержать тысячи значений пикселей, но интересующие нас фотографии не включают все возможные расположения этих значений. Рассмотрим знак из пяти клеток с одной светящейся клеткой, которую можно перемещать влево или вправо.
Пусть каждая координата имеет десять возможных значений. Перемножьте десять вариантов для каждой координаты.
Пример расчёта
function gridPoints(choices, dimensions) {
return { points: choices ** dimensions };
}
const result = gridPoints(10, 3);Выберите изменение. Предскажите результат и запустите код.
Движущаяся вывеска
Условный примерИсследуйте
Повторите образец: горит только четвёртая клетка.
Нажмите на рисунок или используйте кнопки
Сравните светящуюся клетку с образцом.
Светящаяся клетка: 3; Цель: 4
У табло пять чисел, но только пять возможных рисунков: по одному для каждого положения огонька. Пять отдельных вариантов не образуют гладкую линию. Теперь изменим пример: пусть одна ручка меняет все пять чисел вместе и принимает любое значение в некотором диапазоне. Эти картинки образуют непрерывную линию.
Один регулятор яркости задаёт одинаковое значение всем пяти пикселям. Для описания картинки нужны пять чисел, но свободно выбрать можно только одно. При непрерывном изменении t картинки образуют линию. Её внутренняя размерность равна 1: одного свободного числа достаточно, чтобы указать картинку на линии.
Упрощённая модель
function sharedBrightness(brightness, count) {
return { pixels: Array(count).fill(brightness), controls: 1 };
}
const result = sharedBrightness(2, 5);Выберите изменение. Предскажите результат и запустите код.
Статья называет это предположением о многообразии. Если реальные входы в основном лежат на гладкой поверхности меньшей размерности, может быть достаточно изучить правило на этой поверхности, а не для всех возможных комбинаций пикселей.
Это предположение о данных, а не свойство, гарантированное для всех изображений. Конструкции теоремы работают локально на частях поверхности и объединяют эти части.
4.2 Приближение случайными частями
Случайная выборка · стр. статьи 35–36
Другой подход строит приближение из множества простых правил. Правила и их веса выбирают для конкретной целевой функции.
Для конкретной цели статья строит небольшие вклады g_j, в которые уже включены веса. Пусть при одном входе три вклада дают 1, 2 и 3. Выберем первые два и найдём среднее.
Определение / правило статьи
function sampleAverage(values, count) {
if (!Number.isInteger(count) || count <= 0 || count > values.length) {
throw new Error('Количество должно быть целым от 1 до длины массива.');
}
let total = 0;
for (let index = 0; index < count; index++) total += values[index];
return { average: total / count };
}
const result = sampleAverage([1, 2, 3], 2);Выберите изменение. Предскажите результат и запустите код.
Посчитайте цветы
Условный примерИсследуйте
Выберите хотя бы два горшка и предскажите среднее. При необходимости округлите до двух знаков после запятой.
Нажмите на рисунок или используйте кнопки
Сложите выбранные числа и разделите на число горшков.
Выбрано: нет
В расчёте выше выбор 1 и 2 даёт (1 + 2)/2 = 1,5. В примере с цветами тоже усредняются выбранные значения. Горшки показывают, почему среднее выборки может отличаться от среднего всей группы; ещё один горшок не обязан улучшать оценку каждый раз. Это пример усреднения, а не гарантия из статьи.
Статья даёт верхнюю границу ожидаемой квадратичной ошибки. Число C_g описывает выбранное правило-цель; это не регулятор, делающий любую задачу лёгкой. Для расчёта возьмём C_g = 4 и n = 4 небольших правила. Символ π — постоянная из геометрии круга, примерно 3,1416.
Оценка (при условиях)
function errorBound(targetComplexity, numberOfTerms) {
const squaredErrorBound = (2 * Math.PI * targetComplexity) ** 2
/ numberOfTerms;
return { squaredErrorBound };
}
const result = errorBound(4, 4);Выберите изменение. Предскажите результат и запустите код.
Граница выше относится к ожидаемому квадрату ошибки и уменьшается как 1/n. Если извлечь из неё квадратный корень, получится граница среднеквадратичной ошибки: усредняем квадраты ошибок и извлекаем корень. Эта граница уменьшается как 1/√n. Статья требует условия на представление цели Фурье — способ записать правило как смесь волн. Константа зависит от цели.
При C_g = 4 и n = 4 граница (2πC_g)²/n равна примерно 157,91. Если взять 16 слагаемых, граница уменьшится вчетверо, примерно до 39,48. При условиях теоремы ожидаемая квадратичная ошибка не превышает границу. Ошибка одной конкретной выборки не обязана уменьшаться при каждом добавлении слагаемого.
4.3 Когда помогает научное правило
Гипотеза об уравнениях в частных производных · стр. статьи 36–39
Иногда задача сложна, потому что содержит много меняющихся значений, но её правило задано научным уравнением. Например, уравнение теплопроводности описывает распространение температуры.
Представим стержень с известной начальной температурой в каждой точке. Для оценки более поздней температуры в одной точке формула начинает там случайные траектории и считывает начальную температуру в конце каждой. Это математические выборки, а не утверждение, что тепло физически движется назад.
Два пути
Условный примерИсследуйте
Пройдите четыре шага по двум заданным путям. Предскажите среднее начальных температур в конечных точках двух путей.
Нажмите на рисунок или используйте кнопки
После четырёх шагов усредните две показанные температуры, а не положения на стержне.
Шаги: 0; Положение: 0 · 0
В формуле статьи g(x,t) — значение в более позднее время, φ — начальная температура, S — конечная точка случайной траектории, n — число выбранных траекторий. В примере начальные температуры в конечных точках равны 2 и 4 градусам.
Формула из статьи
function averageTemperature(first, second) {
return { sampleAverage: (first + second) / 2 };
}
const result = averageTemperature(2, 4);Выберите изменение. Предскажите результат и запустите код.
Пусть две выбранные траектории заканчиваются в точках с начальными температурами 2°C и 4°C. Их среднее равно (2 + 4)/2 = 3°C. Оно оценивает более позднюю температуру в начале траекторий по начальным температурам в их концах. Сами положения не являются температурами.
Статья называет связанный способ записать решения некоторых уравнений представлением Фейнмана — Каца. Сети могут приближать пути, начальные температуры и средние значения. Для изученных уравнений и условий это иногда позволяет избежать затрат, растущих экспоненциально с числом входов. Два случайных пути иллюстрируют идею, но не решают физическую задачу.
Каждый подход использует особенность данных, правила или научного уравнения. Это помогает в некоторых задачах с множеством входных чисел. Теперь вернёмся к вопросу из первой главы: как обучение находит полезные веса?
Проверьте себя по главе
Независимое учебное объяснение статьи Современная математика глубокого обучения — Юлиус Бернер, Филипп Грос, Гитта Кутиниок, Филипп Петерсен. В примерах используются вымышленные числа, если не указан источник измеренных данных.