Поиск полезных признаков
Одно дело подобрать веса, дающие правильный ответ. Другое — понять, какую информацию научились представлять слои сети.
Мы рассмотрим два полезных способа описать картинку: описание, которое остаётся устойчивым при сдвиге, и описание из небольшого числа деталей.
7.1 Признаки, устойчивые к изменениям
Инвариантности и преобразование рассеяния · стр. статьи 52–53
Сдвинем нарисованную кошку немного вправо. Для вопроса «кошка или собака» мы, вероятно, хотим сохранить прежний ответ. Полезный признак может игнорировать несущественное изменение, продолжая реагировать на важные.
Представим стрелку вправо. Повернём её вниз, не меняя длину: направление изменится, а длина останется прежней. Комплексное число можно представить такой стрелкой. Коэффициент Фурье использует её, чтобы описать силу и положение повторяющегося шаблона в сигнале. Частота показывает, сколько раз шаблон повторяется по кругу. Возьмём сигнал, измеренный в четырёх точках по кругу, с одной отметкой, и сдвинем отметку на одну позицию.
Формула из статьи
function shiftedMagnitude(shift) {
const angle = -2 * Math.PI * shift / 4;
return { first: 1, second: Math.hypot(Math.cos(angle), Math.sin(angle)) };
}
const result = shiftedMagnitude(1);Выберите изменение. Предскажите результат и запустите код.
Передвиньте светящиеся окна
Условный примерИсследуйте
Выберите изменённую картинку с двумя светящимися окнами.
Нажмите на рисунок или используйте кнопки
Измените положение, сохранив число окон.
Выбрано: Без изменений; Сейчас: 0 · 1 · 1 · 0; Светящиеся окна: 2
Коэффициент меняется с 1 на −i: его стрелка поворачивается с направления вправо на направление вниз. Эта стрелка изображает число, а не нарисована на картинке. Её длина, или модуль, остаётся равной 1; направление, или фаза, меняется. Формула источника задаёт непрерывное тождество сдвига; этот конечный круговой пример иллюстрирует его, но не доказывает. В формуле u — сигнал, τ — сдвиг, ω — частота.
Преобразование рассеяния применяет фильтры для поиска шаблонов, берёт модуль каждого отклика и усредняет его по области. Эти шаги можно повторять, чтобы описывать шаблоны разных масштабов. Теория даёт гарантии для определённых сдвигов и малых деформаций, например небольшого растяжения.
Инвариантность означает «признак остаётся тем же», устойчивость — «небольшое изменение входа вызывает лишь небольшое изменение признака». Статья не утверждает, что следует игнорировать любое изменение изображения или что обычные обучаемые сети автоматически имеют те же гарантии.
7.2 Несколько деталей для целой картинки
Иерархические разреженные представления · стр. статьи 53–55
Опишем рисунок дома сохранёнными шаблонами крыши, стен и двери. Число для каждого шаблона показывает, сколько его использовать. Если из множества доступных шаблонов лишь у немногих числа ненулевые, описание называют разреженным.
Набор шаблонов называют словарём. Простейший, единичный словарь сопоставляет каждый элемент входа со своим шаблоном, поэтому количества остаются [2, 0.1]. Теперь уменьшим их с порогом 0.2.
Формула из статьи
function thresholdCoefficients(values, cutoff) {
const coefficients = [];
for (const value of values) {
coefficients.push(Math.max(0, value - cutoff) - Math.max(0, -value - cutoff));
}
return { coefficients };
}
const result = thresholdCoefficients([2, 0.1], 0.2);Выберите изменение. Предскажите результат и запустите код.
Постройте дом из частей
Условный примерИсследуйте
Соберите силуэт игрушечного дома ровно из двух частей.
Нажмите на рисунок или используйте кнопки
Сравните выбранные части с контуром и посчитайте их.
Выбрано: нет; Крыша и стены образуют контур
Для этих положительных значений вычитаем 0.2 из 2 и получаем 1.8; значение 0.1 меньше порога и становится нулём. Это мягкая пороговая обработка: она уменьшает и оставшиеся значения. Другой член формулы обрабатывает отрицательные значения. В формуле D — словарь, Dᵀx даёт количества шаблонов, b — порог, ρR — ReLU.
Пороговая обработка меняет количества, которыми описывают шаблоны; прореживание в главе 6 удаляет веса сети. Статья связывает разреженные описания шаблонов со свёрточными сетями: ранние слои могут обнаруживать локальные шаблоны, а последующие — объединять их в более структурированные описания.
Пороговая обработка может удалить и реальный, но слабый признак. Математические гарантии восстановления требуют предположений о степени разреженности описания, различии шаблонов и количестве добавленного шума. Цель — понять признаки, которые сеть может изучить, а не утверждать, что каждая сеть обнаруживает этот словарь.
Те же пиксели могут иметь короткое и полезное описание, если правильно учитывать несущественные сдвиги и слабые закономерности. Напоследок посмотрим, как эти идеи сочетаются с уравнениями естественных наук.
Проверьте себя по главе
Независимое учебное объяснение статьи Современная математика глубокого обучения — Юлиус Бернер, Филипп Грос, Гитта Кутиниок, Филипп Петерсен. В примерах используются вымышленные числа, если не указан источник измеренных данных.