В этой статье приведен разбор второй части статьи «A survey of deep neural network watermarking techniques». Прежде чем начать погружение, советую ознакомиться с первой частью статьи на Хабре о базовых понятиях и статических алгоритмах. Если у вас нет времени, чтобы прочитать первую часть статьи об основных понятиях и статистических методах, тогда я напомню некоторые наиболее важные моменты, которые пригодятся мне в дальнейшем повествовании. DNN, or deep neural network - глубокая нейронная сеть Основываясь на данных, доступных для извлечения водяных знаков, мы можем разделить методы создания водяных знаков DNN на методы white-box and black-box. Если параметры нейронной сети доступны для извлечения водяных знаков, то говорят, что восстановление водяных знаков выполняется в режиме white-box. Напротив, если для восстановления водяного знака мы не имеем параметров сети, архитектуры или скрытых слоев, то тогда мы имеем дело с режимом black-box. Иначе говоря, в последнем мы можем контролировать только входы и выходы модели. Очень важное различие в методах создания водяных знаков DNN приводит к определению статических и динамических водяных знаков.  В случае статического подхода водяная метка добавляется в веса модели. Такие веса определяются на этапе обучения и предполагают фиксированные значения, которые не зависят от входа сети. Вместо этого, в динамическом подходе водяные знаки связаны с поведением нейронной сети на определенные входные данные(иногда их называют key inputs, как указано на Рис.3 (b)).  Динамические алгоритмы можно разделить на категории с помощью блочной диаграммы (Рис. 3). Синим цветом я обозначил те, о которых собираюсь рассказать.  В качестве примера white-box динамических алгоритмов я расскажу про метод DeepSigns.  DeepSigns Так как подход white-box, значит у нас есть доступ к картам активации. Поведение карты активации с водяными знаками определяется путем приближения распределения карты к Gaussian Mixture Model (GMM), для которой средние плотности вероятности удовлетворяют условиям, определяемыми встроенными битами. Желаемое поведение обеспечивается добавлением двух дополнительных членов к функции потерь: где обычная функция потерь, которая используется без добавления водяных знаков. А и используются в качестве балансировки весов функций потерь, с помощью которых мы и будем добавлять водяные знаки. Цель сделать так, чтобы распределение карты активации с водяным знаком было как можно ближе к желаемому распределению.  Для входных данных, принадлежащих к разным входным классам, применяются разные GMM, в противном случае это вредило бы классификации. Тогда для получаем: Где  карта активации для объекта , принадлежащего классу  на слое ,это набор target классов, выбранных для переноса водяного знака, это среднее значение распределения Гаусса на слое . Количество Гауссовских моделей соответствует количеству выбранных классов, далее будем обозначать его как . Цель второго члена в уравнении для гарантирует, что гауссовские модели, связанные с разными классами, находятся далеко друг от друга, что приводит к лучшей классификации. Для того, чтобы объяснить появление , необходимо понять, как мы будем считывать закодированные биты с карты активации. Пусть есть матрица битов для водяных знаков и представляют собой средние значения соответствующих Гауссовых распределений. Сначала мы умножаем на матрицу расширения роль которой аналогична роли в алгоритме Uchida et al.’s algorithm., а затем  передаем результаты в сигмойду: где размер карты активации в выбранном слое, а указывает длину последовательности водяных знаков, встроенных в каждую Гауссову модель. Из этих соображений логичнее всего сделать как кросс-энтропию между предсказанной битовой матрицей и истинной: Стоит отметить, что вычисляется только для изображений, в которых есть водяная метка.  Результаты экспериментов доказывают (см Таблицу.1), что водяной знак DeepSigns обеспечивает хорошие характеристики в отношении точности и надежности.  *Значение ошибки на тестовой выборке (Test Error Rate, далее -  TER) *payload - значение полезной нагрузки В данных подходах стоит задача активировать нейронную сеть на какой-то определенной выборке данных. В зависимости от построения этой выборки, ветвь алгоритмов разделяется еще на два, как указана в блочной диаграмме (Рис.3): natural key images -  ключевые изображения выбираются из набора существующих изображений.   hand-crafted key images - изображения создаются вручную для удовлетворения определенных условий. Hand-crafted key images Guo et al. Ключевые изображения создаются путем добавления к ним заранее определенной псевдослучайной битовой последовательности к определенным пикселям, такая добавка подбирается, чтобы быть невидимой для человеческого глаза, но ощутимой для модели. Прибавление добавки можно рассматривать, как способ подписать подмножество изображений в обучающем наборе. Таким подписанным (ключевым) изображениям сопоставляется рандомный класс в выборке. где  изображение после добавления шума,  сырое изображение,  битовая добавка, вес для битовой добавки. DNN сначала обучается на не подписанных изображениях, затем сеть до обучают, чтобы научить сеть классифицировать подписанные изображения по желанию. Из-за невидимости подписи модель без водяных знаков продолжит классифицировать подписанные изображения, как предварительно обученная модель, в то время как модель с водяными знаками распознает наличие водяного знака и будет вести себя соответствующим образом. Наглядно процесс обучения представлен на Рис 4. Согласно результатам приведенным в Таблице.2  данный метод дает хорошие результаты в отношении точности и низкого уровня ложных срабатываний. Все вышеперечисленные модели внедрения водяных знаков были основаны на классификаторах. Существует так же подход добавления водяных знаков на само изображение, что очень похоже на классические водяные знаки. Из плюсов данного подхода сразу можно отметить, что используя метод Zhang et al. владельцы интеллектуальной собственности смогут  явно встроить некоторые специальные изображения (например, логотипы), что практически невозможно для алгоритмов, представленных выше.  Zhang et al. Основная идея данного подхода, состоит в том, чтобы все ,создаваемые нейронной сетью, изображения содержали водяной знак. Этапы обучения подробно расписаны на Рис. 3. Для начала создается сеть F и H с помощью которых в изображение добавляется водяной знак. Чтобы на изображении не появлялись артефакты водяного знака используется сеть D(дискриминатор), которая обеспечивает наглядную неизменность изображения. С помощью сети R из изображения извлекается водяной знак, если он был добавлен. В случае отсутствия водяного знака сеть R выдает пустой тензор. В нижней части Рис.3 указано обучение суррогатной сети SM. Когда суррогатная модель SM обучается путем кормления ее изображениями, созданными с помощью F и H, суррогатная модель имитирует F и H и неявно учится создавать изображения, содержащие водяной знак, тем самым доказывая, что SM была получена путем копирования поведения F и H.  Эксперименты показывают хорошую способность извлекать водяной знак из изображений, созданных суррогатной моделью, с нормализованным коэффициентом корреляции, близким к 1. Таким образом обученная суррогатная сеть выучила также и водяной знак, содержащийся в весах исходной сети, что говорит о защищенности данного подхода.  Обзор второй части подошел к концу. Подведем итоги. На мой взгляд наиболее красивый в решении и защищенный к атакам оказался алгоритм Zhang et al. (советую всем обратить внимание на оригинальную статью). Во-первых, он устойчив к атакам, во-вторых, он удобен с практической точки зрения, так как без потери качества мы элегантно можем записывать информативный водяной знак в изображение. Краткий суммарный итог всех алгоритмов можно изложить в следующей таблице: Итак, с чем мы еще сегодня разобрались: Были напомнены основные термины и понятия. Произведена полная кластеризация динамических алгоритмов представленных на блочной диаграмме (Рис.3) Разобраны наиболее интересные (по моему субъективному мнению) динамические алгоритмы: DeepSigns white-box подход с "вшитием" битов в карты активации Guo et al. black-box hand-crafted key images подход c незаметным попиксильным подбором ключевых изображений. Zhang et al. - вишенка на торте,  black-box подход с интересной генеративной архитектурой. P.S. Большое спасибо, что дочитали до конца. Повторюсь, что моей целью не было сделать подробный разбор статьи. Я  хотел представить систематизацию динамических подходов, а так же разобрать некоторых представителей каждого из кластеров динамических алгоритмов.