Нижче Вашій увазі подається огляд першої частини статті «A survey of deep neural network watermarking techniques». Відразу обмовлюся, що я ставив своєю метою зробити саме огляд, а не переклад. Так, у ньому присутні не всі поняття і методи з оригінальної статті. Метою було формування у читача, який знайомий лише з базовими поняттями з deep learning, початкового уявлення про підходи до DNN watermarking.
- Введення
- Таксономія методів DNN watermarking
- Класичні моделі watermarking
- Robust and secure підходи
- Multi-bit і zero-bit підходи
- Others
- DNN моделі watermarking
- White-box і black-box підходи
- Static і dynamic підходи
- Вимоги
- Робастість
- Захищення
- Fidelity
- Capacity
- Integrity
- The watermarking trade-off triangle
- Інші вимоги
- Static watermarking algorithms
- Uchida et al. ’s algorithm
- Tartaglione et al.
Друга частина з динамічними методами тут.
Деякі позначення:
- DNN, or deep neural network - глибока нейронна мережа
- IP, or intellectual property - інтелектуальна власність
- watermarking - технологія захисту IP, при якій до вихідного об'єкта (файлу, зображенню, аудіо) додається додаткова інформація.
Введення
Зараз нейронні мережі широко застосовуються для вирішення різних завдань, таких як розпізнавання та обробка зображень, машинний переклад, побудова рекомендаційних систем тощо. Як справедливо зауважують автори статті, процес їх навчання потребує великої кількості ресурсів:
- істотних обчислювальних потужностей
- великого числа розмічених даних, часто пропріетарних
- часу фахівців з глибокого навчання
Таким чином, нейронні мережі є об'єктом IP. Природним чином виникає необхідність закріплення за ними авторських прав власника.
Одним з найпоширеніших методів захисту IP є watermarking. Існують як різні його техніки, так і різні області застосування (відео, аудіо, текст тощо). Однак загальний принцип будь-якого алгоритму watermarking - це вбудовування деякої додаткової мітки у вихідний файл з мінімально можливими втратами інформативності. У основному ця мітка потім використовується для ідентифікації власника IP. Приклад - водяні знаки на зображеннях (Рис. 1).
Ріс. 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.
Спочатку відбувається перетворення вихідного медіаконтенту на інший простір; потім, в образ вихідного об'єкта додається водяний знак, можливо, із застосуванням секретного ключа K; в кінці підписаний образ відображається назад у вихідний простір. Варто зазначити, що перший і останній кроки є необов'язковими, і в контексті DNN застосовуються рідко.
Зауважте, що у процесі вбудовування мітки бере участь ще й ключ K. Його використання дозволяє прочитати мітку тільки авторизованим користувачам, у яких вона є, і робить це неможливим для всіх інших.
Однак схема з класичного алгоритму watermarking непримінна до DNN:
- По-перше, передбачається існування контенту, в який вбудовується водяна мітка. Навпаки, у випадку DNN не водяний знак вбудовується у ваги навченої мережі, а мережа навчається таким чином, щоб містити ще й водяний знак.
- У разі класичного алгоритму вплив водяного знака на медіаконтент пропонується вимірювати безпосередньо, розглядаючи різницю вихідного об'єкта та підписаного. Однак у випадку з DNN ваги як такі інтересу не представляють. Спотворення, викликане впровадженням водяного знака, визначається за тим, наскільки змінилася якість підписаної моделі.
Robust and secure підходи
Робастість алгоритму watermarking визначає, наскільки важко зробити вбудовану в медіафайл мітку нечитаною. Іншими словами, це здатність вбудованого в документ водяного знака виживати в результаті маніпуляцій над контентом. Розрізняють два види маніпуляцій: без злого наміру і зловмисні. Якщо присутня стійкість до першого типу, то про водяний знак кажуть, що він робастий. Якщо ж мова йде про цілеспрямовані атаки, то говорять про захищеність водяного знака.
Multi-bit і zero-bit підходи
У даному випадку класифікація ведеться на основі повідомлення, яке вбудовується в контент. Якщо це послідовність біт, то мова йде про multi-bit алгоритм. У випадку з zero-bit алгоритмами, зчитування мітки дозволяє лише відповісти на питання про присутність заздалегідь відомої мітки у вагах мережі. Відмінність показана на Ріс. 3.
Ріс. 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 підходу.
Static і dynamic підходи
Крім поділу на white-box і black-box методи, алгоритми DNN watermarking розрізняють також по тому, як саме мітка потрапляє у ваги мережі. У разі static watermarking водяний знак вбудовується безпосередньо у ваги мережі в процесі навчання. Якщо говорити про dynamic watermarking, то в даному випадку ми асоціюємо водяний знак не з вагами мережі, а з її поведінкою на заданих вхідних даних.
Може здатися, що відмінності від попереднього пункту немає. Однак уявімо собі, що ми вбудовуємо мітку так, щоб на задані вхідні дані DNN відповідала певними hidden state відомих шарів. З одного боку, при такому підході у нас є доступ до hidden state, що дозволяє віднести такий його до white-box методів. З іншого боку, ми в даному випадку впливаємо не на ваги, а на поведінку мережі, що дозволяє віднести її одночасно до 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 trian^ (Ріс. 5).
Ріс. 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. Вбудовування мітки відбувається в кілька етапів:
- Вибирається певний convolutional шар початкової ненавченої DNN. Далі будемо вважати, що розмір ядра -, кількість вхідних каналів -, а число фільтрів -. Таким чином, початковий convolutional шар описується тензором.
- Далі ваги даного шару перетворюються шляхом усереднення за кількістю каналів:
.
Тензор, що вийшов таким чином, розтягується в вектор.
- Після цього відбувається стандартний процес навчання DNN, але зі зміненою лос-функцією:
,
де - це вага моделі (з них витягується вектор), - вихідна функція втрат, - додаткова функція втрат, необхідна для вбудовування водяного знака, - налаштовуваний гіперпараметр.
Розгляньмо докладніше останній крок. Саме, нехай є послідовність біт, яку ми хочемо в якості водяного знака вбудувати у ваги мережі. Елемент послідовності. Тоді функція запишеться у вигляді:
де -- вбудований у ваги DNN біт водяного знака. Таким чином, - традиційна для завдань класифікації крос-ентропія. У свою чергу, виходить з вектора наступним чином:
де - сигмоїда. - це матриця розміру, кожен елемент якої є нормально розподіленою випадковою величиною з 0 середнім і одиничною дисперсією:
Вихідне повідомлення виходить з терезів мережі очевидним чином:
Експерименти проводилися на вибірці CIFAR-10. Як модель автори вибрали WRN. Значення помилки на тестовій вибірці (Test Error Rate, далі - TER) для даної DNN склало 8.04% до введення водяного знака. Результати експериментів представлені в Табл. 1.
Таблиця 1. TER і BER залежно від шару, що впроваджується, і кількості корисного навантаження -- payloads.
Як видно, істотного зниження якості при введенні водяного знака не спостерігається. Більше того, іноді якість вдається навіть підвищити. Дійсно, так відбувається через те, що додатковий член у функції втрат виступає в ролі регуляризації. Таким чином, впровадження водяного знака може перешкоджати перенавчанню.
Цікаво, що використання матриці дозволяє вбудувати кількість біт більше, ніж число параметрів, які для цього використовуються. Так, у convolutional шарах 2, 3 і 4 число параметрів дорівнює 576, 1152, 2304. Максимальна ж кількість біт, при якому відповідно до вимоги Integrity, дорівнює 1024, 2048 і 4096 відповідно.
Робастість до операцій fine-tuning і pruning даного алгоритму продемонстрована в Таблицях 2 і 3. Як видно, при невеликих змінах в якості BER залишається рівним 0. Однак необхідно відзначити, що даний алгоритм виявився вразливим до атаки watermark overfitting, показавши високий перезаписи вихідної мітки новою, 256-ти бітною міткою.
Таблиця 2. TER і BER після fine-tuning. Результати були отримані шляхом доотримання підписаної DNN на тому ж датасеті CIFAR-10 протягом 20 епох. Таблиця 3. TER і BER після застосування до підписаної DNN операції pruning. Тут p - це% від загального числа терезів у шарі, що містить мітку, які були звернені до 0.
Tartaglione et al.
Даний алгоритм відноситься до класу zero-bit. На відміну від попереднього підходу, тут ваги, що несуть в собі водяну мітку, не змінюються в ході навчання. Їх значення визначаються безпосередньо перед його початком.
Далі будемо припускати, що ваги DNN ініціалізуються нормальним розподілом. Нехай вбудована мітка має довжину. Кожен елемент, (не обов "язково цілий!) випадково відповідає одній з терезів мережі, де є безліч всіх параметрів, що містять мітку, розміру Значення їх визначаються таким чином:
Автори даного алгоритму припускали таким чином зробити їх невідличними від решти терезів. Для того, щоб уникнути терезів зі зміни в ході навчання, у формулу градієнтного узвозу вводиться додатковий множник:
де -- індикатор належності до багатьох:
Робастість до операції fine-tuning досягається наступним чином. На основі наявної мережі генеруються нових DNN, ваги яких визначаються так:
де -- деякий шум. Тобто зміни піддаються тільки ті ваги, які несуть в собі водяний знак. Далі, обчислюються градієнти для кожної з отриманих нейронних мереж і усереднюються:
Остаточно, правило для оновлення терезів для вихідної мережі запишеться наступним чином