В новом уроке курса от DeepLearning.AI профессор Стэнфордского университета Эндрю Ын раскрывает математическую суть того, что мы называем «стилем» в контексте нейронного переноса стиля (Neural Style Transfer). Если функция стоимости контента отвечает за сохранение структуры объектов, то функция стоимости стиля призвана уловить текстуру, цветовую гамму и художественные приемы, не привязываясь к конкретному расположению элементов.
🎨 Что такое стиль с точки зрения нейросети 0:00
Традиционно в сверточных нейронных сетях (CNN) каждый слой вычисляет определенные признаки. Для определения стиля Эндрю Ын предлагает использовать корреляцию между активациями различных каналов в выбранном скрытом слое $L$ . Это позволяет понять, какие визуальные элементы имеют тенденцию проявляться одновременно в разных частях изображения.
По мнению Эндрю Ына, интуитивно «стиль» можно представить через взаимодействие признаков:
- Предположим, один канал нейросети (например, «красный») реагирует на наличие вертикальных текстур .
- Другой канал (например, «желтый») ищет оранжевые пятна или оттенки .
- Высокая корреляция между ними означает, что там, где на картине есть вертикальная штриховка, она, скорее всего, будет оранжевого цвета .
- Отсутствие корреляции, напротив, говорит о том, что эти признаки (текстура и цвет) не связаны друг с другом и не образуют единого паттерна в данном стиле .
Таким образом, измеряя степень корреляции между каналами в сгенерированном изображении и сравнивая её с оригинальным стилем (например, картиной Ван Гога), алгоритм может оценить, насколько успешно перенесены художественные особенности .
🔢 Матрица стиля: математическая формализация 4:17
Для формализации интуитивных выводов вводится понятие матрицы стиля, которую в линейной алгебре также называют матрицей Грама (Gram matrix) . Она вычисляется для каждого слоя $L$ как для изображения стиля ($S$), так и для сгенерированного изображения ($G$).
Основные технические характеристики этого процесса:
- Если в слое $L$ имеется $N_C$ каналов, то матрица стиля будет иметь размерность $N_C \times N_C$ .
- Элемент матрицы $G_{kk'}$ представляет собой меру корреляции между каналом $k$ и каналом $k'$ .
- Расчет производится путем суммирования произведений активаций двух каналов по всем позициям высоты ($H$) и ширины ($W$) данного слоя .
- Эндрю Ын уточняет, что технически это «ненормированная кросс-ковариация», так как среднее значение не вычитается, но термин «корреляция» лучше передает общую идею .
Автор подчеркивает, что если оба признака (активации в каналах $k$ и $k'$) велики в одних и тех же точках изображения, соответствующий элемент в матрице Грама будет иметь большое значение . Если же они не коррелируют, значение будет близким к нулю.
📉 Определение функции стоимости стиля 13:12
Функция стоимости стиля для конкретного слоя $L$ определяется как квадрат разности между матрицей стиля исходного изображения ($G^{(L)S}$) и матрицей стиля сгенерированного изображения ($G^{(L)G}$) .
Детали расчета стоимости:
- Используется сумма квадратов поэлементных разностей между двумя матрицами .
- В научной литературе (например, в работах Гэтиса и соавторов) часто применяются константы нормализации, включающие высоту, ширину и количество каналов слоя .
- Однако, по утверждению Эндрю Ына, точные значения этих констант не критичны, так как вся функция стоимости стиля в итоге умножается на гиперпараметр $\beta$ .
С математической точки зрения, эта функция представляет собой возведенную в квадрат норму Фробениуса для разности двух матриц стилей .
🏗️ Многослойный подход и итоговая оптимизация 14:58
Практика показывает, что для получения наиболее визуально приятных результатов недостаточно использовать только один слой нейросети. Эндрю Ын рекомендует суммировать функции стоимости стиля по нескольким слоям .
Преимущества использования нескольких слоев:
- Ранние слои улавливают простые низкоуровневые признаки, такие как края и линии .
- Более глубокие слои отвечают за сложные высокоуровневые текстуры и закономерности .
- Каждому слою можно назначить свой вес (гиперпараметр $\lambda$), что позволяет сбалансировать влияние простых и сложных элементов стиля.
В завершение лекции Ын сводит все компоненты воедино: общая функция стоимости $J(G)$ представляет собой сумму функции стоимости контента (с весом $\alpha$) и функции стоимости стиля (с весом $\beta$) . Минимизация этой функции с помощью градиентного спуска позволяет нейросети создавать новые произведения искусства, сочетающие структуру одной фотографии с эстетикой другой картины .