Ниже Вашему вниманию представляется обзор первой части статьи «A survey of deep neural network watermarking techniques». Сразу оговорюсь, что я ставил своей целью сделать именно обзор, а не перевод. Так, в нем присутствуют не все понятия и методы из оригинальной статьи. Целью было формирование у читателя, который знаком лишь с базовыми понятиями из deep learning, начального представления о подходах к DNN watermarking.

Некоторые обозначения:

  • DNN, or deep neural network - глубокая нейронная сеть

  • IP, or intellectual property - интеллектуальная собственность

  • watermarking - технология защиты IP, при которой к исходному объекту (файлу, изображению, аудио) добавляется дополнительная информация.

Введение

В настоящее время нейронные сети широко применяются для решения различных задач, таких как распознавание и обработка изображений, машинный перевод, построение рекомендательных систем и т.д. Как справедливо замечают авторы статьи, процесс их обучения требует большого числа ресурсов:

  1. существенных вычислительных мощностей

  2. большого числа размеченных данных, часто проприетарных

  3. времени специалистов по глубокому обучению

Таким образом, нейронные сети являются объектом IP. Естественным образом возникает необходимость закрепления за ними авторских прав владельца.

Одним из самых распространенных методов защиты IP является watermarking. Существуют как различные его техники, так и различные области применения (видео, аудио, текст и т.д.). Однако общий принцип любого алгоритма watermarking - это встраивание некоторой дополнительной метки в исходный файл с минимально возможными потерями информативности. В основном эта метка затем используется для идентификации владельца IP. Пример - водяные знаки на изображениях (Рис. 1).

Рис. 1. Пример водяной метки на изображении.
Источник: https://spark.ru/startup/smm-blog/blog/40104/watermark-prostoj-sposob-zaschitit-avtorskie-prava-na-foto
Рис. 1. Пример водяной метки на изображении. Источник: https://spark.ru/startup/smm-blog/blog/40104/watermark-prostoj-sposob-zaschitit-avtorskie-prava-na-foto

Так как обобщающая способность DNN, обусловленная огромным числом внутренних параметров, во многих случаях превышает сложность решаемой задачи, то зачастую водяная метка может быть встроена в веса нейронной сети почти без потери качества.

В статье, обзор которой и предлагается читателю, авторы попытались создать таксономию существующих подходов к DNN watermarking. Для этого они использовали как традиционные понятия, пришедшие из классического watermarking, так и новые, свойственные только для нейронные сетей. Был сформирован ряд требований, которым должны удовлетворять алгоритмы DNN watermarking. Также авторы разобрали несколько наиболее популярных из них.

Таксономия методов DNN watermarking

Классические модели watermarking

Общий принцип работы алгоритма watermarking может быть представлен схемой на Рис. 2.

Рис. 2. Общая схема классического алгоритма watermarking.
Рис. 2. Общая схема классического алгоритма watermarking.

Сначала происходит преобразование исходного медиаконтента в другое пространство; затем, в образ исходного объекта добавляется водяной знак, возможно, с применением секретного ключа K; в конце подписанный образ отражается обратно в исходное пространство. Стоит отметить, что первый и последний шаги являются необязательными, и в контексте DNN применяются редко. 

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

Однако схема из классического алгоритма watermarking неприменима к DNN:

  1. Во-первых, предполагается существование контента, в который встраивается водяная метка. Напротив, в случае DNN не водяной знак встраивается в веса обученной сети, а сеть обучается таким образом, чтобы содержать еще и водяной знак.

  2. В случае классического алгоритма влияние водяного знака на медиаконтент предлагается измерять непосредственно, рассматривая разницу исходного объекта и подписанного. Однако в случае с DNN веса как таковые интереса не представляют. Искажение, вызванное внедрением водяного знака, определяется по тому, насколько изменилось качество подписанной модели.

Robust and secure подходы

Робастность алгоритма watermarking определяет, насколько тяжело сделать встроенную в медиафайл метку нечитаемой. Иными словами, это способность встроенного в документ водяного знака выживать в результате манипуляций над контентом. Различают два вида манипуляций: без злого умысла и злонамеренные. Если присутствует устойчивость к первому типу, то про водяной знак говорят, что он робастный. Если же речь идет о целенаправленных атаках, то говорят о защищенности водяного знака.

Multi-bit и zero-bit подходы

В данном случае классификация ведется на основе сообщения, которое встраивается в контент. Если это последовательность бит, то речь идет о multi-bit алгоритме. В случае с zero-bit алгоритмами, считывание метки позволяет лишь ответить на вопрос о присутствии заранее известной метки в весах сети.  Наглядно различие показано на Рис. 3. 

Рис. 3. Схема multi-bit (a) и zero-bit (b) подходов к watermarking.
Рис. 3. Схема multi-bit (a) и zero-bit (b) подходов к watermarking.

Преимущество multi-bit подхода - бо́льшая гибкость, позволяющая применять его к более широкому кругу задач. Например, такой подход используется для сокрытия ошибок при при передаче по ненадежному каналу. Zero-bit алгоритмы, как правило, обладают бо́льшей робастностью. 

Others

Авторы упоминают и другие свойства watermarking алгоритмов, по которым может вестись классификация. Однако в рамках данного обзора они не приводятся.

DNN модели watermarking

В дополнение к приведенной выше классификации, в контексте нейронных сетей возникают две дополнительные характеристики.

White-box и black-box подходы

В зависимости от данных, которыми располагает алгоритм извлечения водяного знака, выделяют white-box и black-box подходы (см. Рис. 4).

В первом случае, доступны или непосредственно веса DNN, или hidden state слоев сети, соответствующие определенным значениям на ее входе. 

В black-box случае (Рис. 4, b) известны лишь ответы DNN на запросы алгоритма, доступа к весам и hidden state нет. При таком подходе задача сводится к тому, чтобы обучить DNN выдавать заранее определенные ответы на заранее заданные входные данные. Интересно, если входные данные держатся в тайне, то они играют роль секретного ключа (K на Рис. 4).

Рис. 4. Процесс получения водяного знака из сети в случае (a) - white-box подхода, (b) - black-box подхода.
Рис. 4. Процесс получения водяного знака из сети в случае (a) - white-box подхода, (b) - black-box подхода.

Static и dynamic подходы

Помимо разделения на white-box и black-box методы, алгоритмы DNN watermarking различают также по тому, как именно метка попадает в веса сети. В случае static watermarking водяной знак встраивается непосредственно в веса сети в процессе обучения. Если говорить про dynamic watermarking, то в данном случае мы ассоциируем водяной знак не с весами сети, а с ее поведением на заданных входных данных. 

Может показаться, что отличия от предыдущего пункта нет. Однако представим себе, что мы встраиваем метку так, чтобы на заданные входные данные DNN отвечала определенными hidden state известных слоев. С одной стороны, при таком подходе у нас есть доступ к hidden state, что позволяет отнести такой его к white-box методам. C другой стороны, мы в данном случае влияем не на веса, а на поведение сети, что позволяет отнести его одновременно к dynamic методам.

Стоит отметить, что black-box алгоритмы могут быть только dynamic,  в то время как white-box, как мы увидели выше, могут принадлежать и к тем, и к другим.

Требования

Ниже приведены требования, которым, по мнению авторов, должен удовлетворять алгоритм DNN watermarking. 

Робастность

Алгоритм должен быть устойчивым хотя бы к наиболее распространенным операциям над весами DNN, таким как

  • fine-tuning, то есть обучение на небольшой выборке;

  • network-pruning, то есть обнуление части весов модели с целью повышения производительности.

Защищенность

В данном случае речь идет о злонамеренных манипуляциях с весами сети. Злоумышленник, осведомленный об алгоритме watermarking, который применялся к модели, попытается удалить метку, которой модель была подписана. Таким образом, необходимо, чтобы потеря водяного знака была возможна только при условии существенного ухудшения качества работы DNN. На текущий момент, исследования велись с целью противодействия двум типам атак:

  • watermark overfitting
    Злоумышленник, зная алгоритм шифрования(но не секретный ключ) попытается добавить новую метку с целью стереть исходную.

  • surrogate model attack
    Злоумышленник попытается обучить свою нейронную сеть, основываясь на ответах DNN, являющейся его целью. В данном случае необходимо, чтобы при обучении суррогатная сеть выучила также и водяной знак, содержащийся в весах исходной DNN. 

Fidelity

Fidelity требует, чтобы качество модели со встроенным ее веса водяным знаком было как можно ближе к качеству исходной модели. Иными словами, водяной знак не должен существенно ухудшать значение целевой метрики у подписанной модели.

Capacity

Данное требование связано с количеством информации, которое несет в себе водяной знак. Именно, capacity - это число бит, которое несет в себе метка.

Integrity

При условии отсутствия манипуляций над моделью, водяной знак b’, который извлекается из модели, должен совпадать с тем, который был изначально в нее заложен - b. В случае multi-bit алгоритмов, вводится характеристика Bit Error Rate (далее — BER), которая отражает количество несовпадающих битов у b и b’

В случае с zero-bit алгоритмами, данное требование понимается несколько иначе. Так как в данном случае задача извлечения водяной метки из модели сводится к задаче детекции (есть метка или нет), то для измерения качества последней вводят две характеристики: false detection и missed detection. Первая отвечает на вопрос, с какой вероятностью мы можем принять модель, не содержащую в себе водяной метки, за подписанную. Напротив, вторая метрика — это вероятность не обнаружить метку в подписанной модели, то есть не распознать подписанной модели. Известно, что между двумя этими характеристиками существует trade-off. Так, повышение одной из них непременно ведет к сокращению другой. 

The watermarking trade-off triangle

Робастность, Fidelity, Capacity образуют так называемый watermarking trade-off triangle (Рис. 5).

Рис. 5. The watermarking trade-off triangle.
Рис. 5. The watermarking trade-off triangle.

Дело в том, что требование capacity идет вразрез с робастностью и fidelity. Действительно, самый простой способ повысить робастность - распространить ту же метку на бо́льшее число весов. При этом количество весов, доступных для размещения метки, остается прежним в силу требования fidelity, а значит, мы можем разместить уже меньше информации.

Другие требования

  • Generality: алгоритм watermarking должен быть применим к широкому спектру архитектур и решаемых задач. Качество его работы не должно сильно зависеть от вида DNN, к которой он применяется.

  • Эффективность: так как обучение нейронной сети само по себе является достаточно затратным процессом, встраивание водяного знака не должно вызывать существенных накладных расходов.

Static watermarking algorithms

В своей статье авторы проводят разбор нескольких static алгоритмов. Мы же рассмотрим два основных, представляющих, на мой взгляд, наибольший интерес. Первый из них обладает средним уровнем робастности к операциям pruning и fine-tuning, однако относится к семейству multi-bit подходов, то есть обладает высоким значением capacity. Напротив, второй является zero-bit алгоритмом, но обладает хорошей робастностью к fine-tuning и weights quantization (что является более общим случаем pruning).

Далее рассматриваются нейронные сети для классификации изображений. По словам авторов, во множестве работ watermarking DNN рассматривался в контексте данной задачи машинного обучения.

Uchida et al. ’s algorithm

Это один из первых multi-bit подходов к static watermarking. Встраивание метки происходит в несколько этапов:

  1. Выбирается некоторый convolutional слой исходной необученной DNN. Далее будем полагать, что размер ядра - (s \times s), количество входных каналов -d, а число фильтров - n. Таким образом, исходный convolutional слой описывается тензором W \in \mathbb R ^ {s \times s \times d \times n}.

  2. Далее, веса данного слоя преобразуются в путем усреднения по числу каналов:

    \overline{W}_{ijk} = \dfrac{1}{n} \sum_{h = 1}^{n} W_{ijkh}.

    Получившийся таким образом тензор \overline{W} \in \mathbb R ^{s \times s \times d} растягивается в вектор w \in \mathbb{R} ^ v,\ v = s \times s \times d.

  3. После этого происходит стандартный процесс обучения DNN, но с измененной лосс-функцией:
    E(\xi) = E_0{\xi} + \lambda E_R(\xi),
    где \xi — это веса модели (из них извлекается вектор w), E(\xi) — исходная функция потерь, E_R(\xi) \equiv E_R(w)— дополнительная функция потерь, необходимая для встраивания водяного знака, \lambda— настраиваемый гиперпараметр. 

Рассмотрим подробнее последний шаг. Именно, пусть имеется последовательность бит b \in R^l, которую мы хотим в качестве водяного знака встроить в веса сети. Элемент последовательности b_j \in {0, 1}, \forall j \in \overline{1, l}. Тогда, функция E_R(w) запишется в виде:

E_R = -\sum_{i=1}^{l} \left(b_j \log (y_j) + (1 - b_j) \log (1 - y_j) \right),

где y_j -- встроенный в веса DNN j-й бит водяного знака. Таким образом, E_R(w) —  традиционная для задач классификации кросс-энтропия. В свою очередь, y_jполучается из вектора w следующий образом:

y_j = \sigma \left( \sum_{i=1}^{v} X_{ji}w_i \right)

где — сигмоида. X — это матрица размера (l \times v), каждый элемент которой является нормально распределенной случайной величиной с 0 средним и единичной дисперсией:

X_{ji} \sim \mathcal{N}(0, 1)

Исходное сообщение получается из весов сети очевидным образом:

b_j = \begin{cases} 1,\  \sum_{i = 1}^l X_{ji}w_i \ge 0 \\  0,\ otherwise\end{cases}

Эксперименты проводились на выборке CIFAR-10. В качестве модели авторы выбрали WRN. Значение ошибки на тестовой выборке (Test Error Rate, далее -  TER) для данной DNN составило 8.04% до введения водяного знака. Результаты экспериментов представлены в Табл. 1.

Таблица 1. TER и BER в зависимости от слоя, в который внедряется метка, и количества полезной нагрузки -- payloads.
Таблица 1. TER и BER в зависимости от слоя, в который внедряется метка, и количества полезной нагрузки -- payloads.

Как видно, существенного снижения качества при введении водяного знака не наблюдается. Более того, иногда качество удается даже повысить. Действительно, так происходит из-за того, что дополнительный член в функции потерь выступает в роли регуляризации. Таким образом, внедрение водяного знака может препятствовать переобучению.

Интересно, что использование матрицы X позволяет встроить число бит бо́льшее, чем число параметров, которые для этого используются. Так, в convolutional слоях 2, 3 и 4 число параметров равно 576, 1152, 2304. Максимальное же число бит, при котором BER=0в соответствии с требованием Integrity, равно 1024, 2048 и 4096 соответственно. 

Робастность к операциям fine-tuning и pruning данного алгоритма продемонстрирована в Таблицах 2 и 3. Как видно, при небольших изменениях в качестве BER остается равным 0. Однако необходимо отметить, что данный алгоритм оказался уязвимым к атаке watermark overfitting, показав высокий BER перезаписи исходной метки новой, 256-ти битной меткой. 

Таблица 2. TER и BER после fine-tuning. Результаты были получены путем дообучения подписанной DNN на том же датасете CIFAR-10 в течение 20 эпох.
Таблица 2. TER и BER после fine-tuning. Результаты были получены путем дообучения подписанной DNN на том же датасете CIFAR-10 в течение 20 эпох.
Таблица 3. TER и BER после применения к подписанной DNN операции pruning. Здесь p - это % от общего числа весов в слое, содержащем метку, которые были  обращены в 0.
Таблица 3. TER и BER после применения к подписанной DNN операции pruning. Здесь p - это % от общего числа весов в слое, содержащем метку, которые были обращены в 0.

Tartaglione et al.

Данный алгоритм относится к классу zero-bit. В отличие от предыдущего подхода, здесь веса, несущие в себе водяную метку, не меняются в ходе обучения. Их значения определяются непосредственно перед его началом. 

Далее будем предполагать, что веса DNN инициализируются нормальным распределением \mathcal{N}(\mu, \sigma). Пусть встраиваемая метка b имеет длину l. Каждому ее элементу, b_i \in [0, 1] (не обязательно целому!) случайным образом ставится в соответствие один из весов сети, w_j \in W_b, где W_b — множество всех параметров, содержащих метку, размера l. Значения их определяются следующим образом:

w_j = 2 \sigma (b_i - 0.5) + \mu

Авторы данного алгоритма предполагали таким образом сделать их неотличимыми от остальных весов. Для того, чтобы избежать весов из W_b изменения в ходе обучения, в формулу градиентного спуска вводится дополнительный множитель:

w_j = w_j - [1 - ind(w_j)]\eta \dfrac{\partial L}{\partial w_j},

где ind(w_j) -- индикатор принадлежности к множеству W_b:

ind(w_j) = \begin{cases} 1,\ w_j \in W_b \\ 0,\ otherwise \end{cases}

Робастность к операции fine-tuning достигается следующим образом. На основе имеющейся сети генерируются R новых DNN, веса которых определяются так:

w_j^r = w_j + ind(w_j)\Delta w_j^r,\ r \in \overline{1, R}

где \Delta w_j^r -- некоторый шум. То есть изменению подвергаются только те веса, которые несут в себе водяной знак. Далее, вычисляются градиенты для каждой из полученных нейронных сетей и усредняются:

g_j = \sum_{r=1}^R \dfrac{\partial L}{\partial w^r_j}

Окончательно, правило для обновления весов для исходной сети запишется следующим образом:

w_j = w_j - [1 - ind(w_j)]\left ( \eta \dfrac{\partial L}{\partial w_j} - \gamma  g_j \right )

где - гиперпараметр. Введение дополнительного члена обосновано тем, что вместе с обучением исходной сети, мы будем дополнительно максимизировать функцию потерь у измененных DNN. Это, по мнению авторов алгоритма, должно предотвратить изменение весов из W_b в ходе процедуры fine-tuning.

Эксперименты проводились с разными моделями и на разных датасетах. Так, использовались модели LeNet5 и ResNet32. Обучение и тестирование их происходило на выборках MNIST и CIFAR-10 соответственно.

Результаты экспериментов представлены в Табл. 4 и 5. Для размещения водяной метки использовалось 0.4% весов DNN. При R = 0 нейронная сеть обучалась без защиты от fine-tuing, как при \gamma = 0. Как видно из Табл. 4, влияние метки на качество пренебрежимо мало. Для оценки робастности использовался коэффициент корреляции, или pearson correlation coefficient, между исходной меткой и извлеченной из весов. Высокие его значения, представленные в Табл. 5, говорят об устойчивости алгоритма к операции fine-tuning.

Таблица 4. TER в зависимости от различных R.
Таблица 4. TER в зависимости от различных R.
Таблица 5. Робастность алгоритма Tartaglione et al. к атаке fine-tuning. Количество эпох соответствует числу эпох, в течение которых происходил fine-tuning.
Таблица 5. Робастность алгоритма Tartaglione et al. к атаке fine-tuning. Количество эпох соответствует числу эпох, в течение которых происходил fine-tuning.

Другие работы

В статье также разбираются два других алгоритма static watermarking, основанные на алгоритме Uchida:

  • ST-DM DNN watermarking: данный алгоритм обладает бо́льшей capacity при неизменном уровне робастности;

  • DeepMarks: дополняет исходный алгоритм, позволяя определять пользователя, который незаконно распространил копию DNN. Более того, в данной работе учитывается и сценарий, при котором несколько злоумышленников вступают в сговор с целью объединить их копии DNN сделать метки в них нечитаемыми.

Авторы упоминают и другие static подходы, однако они в большинстве своем также основаны на алгоритме Uchida. 

Заключение

Итак, обзор первой части статьи подошел к концу. Вспомним ключевые моменты:

  1. DNN являются полноценной IP. Для защиты авторских прав на них могут использоваться принципы digital watermarking.

  2. Классификация алгоритмов DNN watermarking может вестись на основании следующих понятий:

    1. Робастность: устойчивость к непреднамеренным атакам;

    2. Защищенность: устойчивость к целенаправленным атакам ;

    3. Multi-bit и zero-bit: сколько информации несет в себе метка;

    4. White-box и black-box: доступны ли нам веса/hidden state нейронной сети или только ответы на заданные входные данные;

    5. Static и dynamic: по тому, как проверяется наличие водяной метки в весах сети;

  3. Основные требования к алгоритму DNN watermarking:

    1. Робастность к fine-tuning и pruning;

    2. Защищенность от атак surrogate model и watermark overfitting;

    3. Fidelity: качество не должно сильно падать после встраивания метки;

    4. Capacity: метка должна нести в себе как можно больше информации;

    5. Integrity: извлекаемая метка должна совпадать с исходной при отсутствии манипуляций над DNN. По сути, означает корректность алгоритма watermarking.

  4. Static алгоритмы DNN watermarking:

    1. Uchida: multi-bit алгоритм со средним уровнем робастности и хорошей capacity;

    2. Tartaglione: zero-bit алгоритмом с хорошей робастностью к атакам fine-tuning и weights quantization.

В связи с развитием deep learning, все более остро стоит проблема защиты нейронных сетей как объекта IP. В будущем ожидается появление всё большего числа новых, более совершенных алгоритмов DNN watermarking. Поэтому хочется выразить благодарность авторам статьи за их кропотливый труд по классификации и систематизации уже существующих подходов.

P.S.

Как я сказал в начале, в моем обзоре присутствуют далеко не всё из оригинальной статьи. Например, не было затронуто понятие informed watermarking, не все алгоритмы static watermarking были разобраны. Я старался по возможности снизить объём исходного текста так, чтобы были понятны основные моменты.

Также я не решился переводить некоторые термины, вроде Integrity. Мне показалось, что лучше их оставить в исходном виде, так как навыками профессионального переводчика я не обладаю, а воспользоваться online-сервисами вроде этого интересующийся читатель может самостоятельно.

Комментарии (2)


  1. gonol
    06.12.2021 12:10
    +2

    Классная статья!

    Интересно, а часто ли воруют нейросетки или же используют без указания авторской принадлежности...


    1. S3rgRush Автор
      06.12.2021 12:24
      +3

      Спасибо!
      Громких случаев вроде не было (по крайней мере я о них не слышал), но вот например в PyTorch есть целый model zoo с предобученными популярными архитектурами, которые, надо полагать, никак не защищены.)