# Эндрю Ын: «Стиль изображения — это корреляция между признаками нейросети»

Источник: https://www.youtube.com/watch?v=QgkLfjfGul8
Канал: DeepLearning.AI
Опубликовано: 07.11.2017

---

В новом уроке курса от DeepLearning.AI профессор Стэнфордского университета Эндрю Ын раскрывает математическую суть того, что мы называем «стилем» в контексте нейронного переноса стиля (Neural Style Transfer). Если функция стоимости контента отвечает за сохранение структуры объектов, то функция стоимости стиля призвана уловить текстуру, цветовую гамму и художественные приемы, не привязываясь к конкретному расположению элементов.

## 🎨 Что такое стиль с точки зрения нейросети
[[JUMP:0:00]]

Традиционно в сверточных нейронных сетях (CNN) каждый слой вычисляет определенные признаки. Для определения стиля Эндрю Ын предлагает использовать корреляцию между активациями различных каналов в выбранном скрытом слое $L$ [0:27]. Это позволяет понять, какие визуальные элементы имеют тенденцию проявляться одновременно в разных частях изображения.

По мнению Эндрю Ына, интуитивно «стиль» можно представить через взаимодействие признаков:

*   Предположим, один канал нейросети (например, «красный») реагирует на наличие вертикальных текстур [2:28].
*   Другой канал (например, «желтый») ищет оранжевые пятна или оттенки [2:42].
*   Высокая корреляция между ними означает, что там, где на картине есть вертикальная штриховка, она, скорее всего, будет оранжевого цвета [3:08].
*   Отсутствие корреляции, напротив, говорит о том, что эти признаки (текстура и цвет) не связаны друг с другом и не образуют единого паттерна в данном стиле [3:24].

Таким образом, измеряя степень корреляции между каналами в сгенерированном изображении и сравнивая её с оригинальным стилем (например, картиной Ван Гога), алгоритм может оценить, насколько успешно перенесены художественные особенности [4:03].

## 🔢 Матрица стиля: математическая формализация
[[JUMP:4:17]]

Для формализации интуитивных выводов вводится понятие матрицы стиля, которую в линейной алгебре также называют матрицей Грама (Gram matrix) [7:53]. Она вычисляется для каждого слоя $L$ как для изображения стиля ($S$), так и для сгенерированного изображения ($G$).

Основные технические характеристики этого процесса:

*   Если в слое $L$ имеется $N_C$ каналов, то матрица стиля будет иметь размерность $N_C \times N_C$ [5:13].
*   Элемент матрицы $G_{kk'}$ представляет собой меру корреляции между каналом $k$ и каналом $k'$ [5:49].
*   Расчет производится путем суммирования произведений активаций двух каналов по всем позициям высоты ($H$) и ширины ($W$) данного слоя [6:22].
*   Эндрю Ын уточняет, что технически это «ненормированная кросс-ковариация», так как среднее значение не вычитается, но термин «корреляция» лучше передает общую идею [6:49].

Автор подчеркивает, что если оба признака (активации в каналах $k$ и $k'$) велики в одних и тех же точках изображения, соответствующий элемент в матрице Грама будет иметь большое значение [11:09]. Если же они не коррелируют, значение будет близким к нулю.

## 📉 Определение функции стоимости стиля
[[JUMP:13:12]]

Функция стоимости стиля для конкретного слоя $L$ определяется как квадрат разности между матрицей стиля исходного изображения ($G^{(L)S}$) и матрицей стиля сгенерированного изображения ($G^{(L)G}$) [13:25].

Детали расчета стоимости:

1.  Используется сумма квадратов поэлементных разностей между двумя матрицами [13:50].
2.  В научной литературе (например, в работах Гэтиса и соавторов) часто применяются константы нормализации, включающие высоту, ширину и количество каналов слоя [14:04].
3.  Однако, по утверждению Эндрю Ына, точные значения этих констант не критичны, так как вся функция стоимости стиля в итоге умножается на гиперпараметр $\beta$ [14:19].

С математической точки зрения, эта функция представляет собой возведенную в квадрат норму Фробениуса для разности двух матриц стилей [14:33].

## 🏗️ Многослойный подход и итоговая оптимизация
[[JUMP:14:58]]

Практика показывает, что для получения наиболее визуально приятных результатов недостаточно использовать только один слой нейросети. Эндрю Ын рекомендует суммировать функции стоимости стиля по нескольким слоям [15:10].

Преимущества использования нескольких слоев:

*   Ранние слои улавливают простые низкоуровневые признаки, такие как края и линии [15:38].
*   Более глубокие слои отвечают за сложные высокоуровневые текстуры и закономерности [15:50].
*   Каждому слою можно назначить свой вес (гиперпараметр $\lambda$), что позволяет сбалансировать влияние простых и сложных элементов стиля.

В завершение лекции Ын сводит все компоненты воедино: общая функция стоимости $J(G)$ представляет собой сумму функции стоимости контента (с весом $\alpha$) и функции стоимости стиля (с весом $\beta$) [16:05]. Минимизация этой функции с помощью градиентного спуска позволяет нейросети создавать новые произведения искусства, сочетающие структуру одной фотографии с эстетикой другой картины [16:33].