Объяснение нейронного переноса стиля для экспертов


Нейронный перенос стиля — это метод синтеза изображения \( \hat{I} \), который комбинирует содержимое исходного изображения \( I_c \) и стиль целевого изображения \( I_s \), основанный на глубоких сверточных нейронных сетях (CNN).

Формально оптимизация проводится через минимизацию общей функции потерь

\[ \mathcal{L}_{total}(\hat{I}) = \alpha \mathcal{L}_{content}(\hat{I}, I_c) + eta \mathcal{L}_{style}(\hat{I}, I_s) \]

где \( \alpha \) и \( eta \) — весовые коэффициенты.

Потеря содержимого часто определяется как квадратичная ошибка между картами признаков на определённом слое CNN:

\[ \mathcal{L}_{content}(\hat{I}, I_c) = rac{1}{2} \sum_{i,j} (F_{ij}^l(\hat{I}) - F_{ij}^l(I_c))^2 \]

где \( F^l \) — активации на слое \( l \).

Потеря стиля основана на разнице матриц Грама карт признаков на нескольких слоях, которые захватывают информацию о текстуре и стиле:

\[ \mathcal{L}_{style}(\hat{I}, I_s) = \sum_{l} w_l \| G^l(\hat{I}) - G^l(I_s) \|_F^2 \]

где \( G^l \) — матрица Грама и \( w_l \) — веса.

Оптимизация обычно проводится с помощью градиентных методов для создания изображения, объединяющего содержимое и стиль.


Определение:
«Нейронный перенос стиля — это метод, который с помощью глубоких нейронных сетей комбинирует содержимое одного изображения со стилем другого, извлекая отдельные представления для содержимого и стиля на слоях сети и объединяя их через оптимизацию.»


Источник:
Gatys, L. A., Ecker, A. S., & Bethge, M. (2016). Image Style Transfer Using Convolutional Neural Networks. Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition (CVPR).