Изменения

Перейти к: навигация, поиск

Neural Style Transfer

631 байт добавлено, 19 апрель
Нет описания правки
{{в разработке}}
 
== Описание алгоритма NST==
=====Parametric PSPM with Summary Statistics=====
[[Файл:IOB PSPM-MOB.JPG|600px|thumb|right|[https://arxiv.org/pdf/1705.04058.pdf Рис. 5. Примеры результатов IOB-NST и PSPM-MOB-NST]]]
Первые два алгоритма MOB-NST предложены Джонсоном и Ульяновым соответственно. Они имеют схожую идею, заключающуюся в том, чтобы предварительно обучить сеть, ориентированную на стиль прямой связи, и получить стилизованный результат с одним прямым проходом на этапе тестирования. Они отличаются только сетевой архитектурой, для которой дизайн Джонсона примерно соответствует сети, предложенной Рэдвордом, но с остаточными блоками и с извилистыми частями, а Ульянов использовал многомасштабную архитектуру в качестве сети генератора.
[[Neural_Style_Transfer#Алгоритм Гатиса | Целевая функция аналогична алгоритму Гатиса]], который указывает, что эти алгоритмы также являются ''параметрическими методами со сводной статистикой''.
=====Non-parametric PSPM with MRFs=====
[[Файл:MSPM MOB.JPG|600px|thumb|right|[https://arxiv.org/pdf/1705.04058.pdf Рис. 6. Примеры результатов ASPM-MOB-NST]]]
'''Алгоритм Ли и Ванда''' решает проблему эффективности, обучая марковскую прямую сеть (англ. ''Markovian feed-forward network''), используя состязательное обучение (англ. ''adversarial training''). Он представляет собой непараметрический метод на основе патчей с MRF. Показано, что этот метод превосходит алгоритмы Джонсона и Ульянова в сохранении связных текстур в сложных изображениях, благодаря патч-дизайну. Однако их алгоритм имеет менее удовлетворительную производительность с неструктурными стилями (например, изображениями лица), поскольку он не учитывает семантику. Другие недостатки их алгоритма включают в себя отсутствие учета глубины информации и вариаций мазков кисти, которые являются важными визуальными факторами.
====Arbitrary-Style-Per-Model Neural Methods====
[[Файл:ASPM-MOB.JPG|600px|thumb|right|[https://arxiv.org/pdf/1705.04058.pdf Рис. 7. Примеры результатов ASPM-MOB-NST]]]
ASPM-MOB-NST, направлена ​​на единую модель для всех, то есть на единую обучаемую модель для передачи произвольных художественных стилей. Существует также два типа ASPM:
<math>I = Dec(AdaIN(\mathcal{F} (I_{C}), \mathcal{F} (I_{S})))</math>
Алгоритм алгоритм Хуана и Белонги - первый алгоритм ASPM, который достигает стилизации в реальном времени. Но он основан на данных и ограничен в обобщении на невидимые алгоритмом стили.
В '''алгоритме Ли''' предпринята попытка использовать ряд трансформаций функций для передачи произвольного художественного стиля в свободной от стиля манере обучения. Аналогично, алгоритм Ли использует первые несколько слоев предварительно обученного VGG в качестве кодера и обучает соответствующий декодер. Но они заменяют он заменяет слой AdaIN между кодером и декодером парой '''преобразований отбеливания и окрашивания''' (англ '' whitening and colouring transformations''):
<math>(WCT): I = Dec(WCT(\mathcal{F} (I_{C})),\mathcal{F} (I_{S}))</math>
=====Non-parametric Texture Modelling with MRFs=====
'''Алгоритм Чена и Шмидта''': сначала извлекается набор патчей активации из активаций контента и функций стиля, рассчитанных в предварительно обученной сети VGG. Затем каждый патч контента сопоставляется с наиболее похожим патчем стиля, они меняются местами ('''обмен стилями'''). Стилизованный результат можно получить, воссоздав получившуюся карту активации после замены стиля с использованием методов [[Neural_Network_Style#Image Reconstruction techniques | IOB-IR или MOB-IR]].
Алгоритм Чена и Шмидта является более гибким, чем предыдущие подходы, из-за его характеристики «одна модель для всех». Но стилизованные результаты менее привлекательны, так как патчи контента обычно меняются на патчи стилей, которые не представляют желаемый стиль. В результате контент хорошо сохраняется, в то время как стиль, как правило, плохо отражается.
В уравнении выше, чтобы получить общую потерю <math>L_{total}</math> нужно рассчитать потерю содержимого <math>L_{content}</math> и потерю стиля <math>L_{style}</math>, а также <math>\alpha</math> и <math>\beta</math> {{---}} гиперпараметры, которые используются для определения весов для каждого типа потерь, то есть эти параметры можно представить просто как "рычаги" для управления тем, сколько контента / стиля мы хотим наследовать в сгенерированном изображении.
[[Файл:Image6.jpeg|500px|thumb|right|[https://towardsdatascience.com/neural-style-transfer-tutorial-part-1-f5cd3315fa7f Рис. 58. Различные представления, используемые для изображений контента, стиля и сгенерированного изображения]]]
Во время каждой итерации все три изображения, передаются через модель VGG16. Значения функции активации нейронов, которые кодируют представление признаков данного изображения на определенных слоях, принимаются как входные данные для этих двух функций потерь. Также стоит добавить: изначально мы случайным образом инициализируем сгенерированное изображение, например, матрицей случайного шума такого же разрешения, как и изображение контента. С каждой итерацией мы изменяем сгенерированное изображение, чтобы минимизировать общую потерю '''L'''.
==Расширения алгоритмов NST==
[[Neural_Style_NetworkNeural_Style_Transfer#Классификация методов NST | Вышеупомянутые методы NST]] предназначены для общих неподвижных изображений. Они могут не подходить для специализированных типов изображений и видео (например, рисунков, портретов на голове и видеокадров), поэтому были созданы расширения алгоритма NST на эти конкретные типы.
===Semantic Style Transfer===
* [https://towardsdatascience.com/neural-style-transfer-series-part-2-91baad306b24 TensorFlow and pyTorch Implementation of Neural Style Transfer]
* [https://pytorch.org/tutorials/advanced/neural_style_tutorial.html Neural Style Transfer using PyTorch]
* [https://arxiv.org/pdf/1705.04058.pdf Neural Style Transfer: A Review]
[[Категория: Машинное обучение]]
[[Категория: Нейронные сети]]
[[Категория: Сверточные нейронные сети]]
74
правки

Навигация