Разработчики из IBM Research создали метод, позволяющий при обучении нейросетевого алгоритма встраивать в него изображения c «водяными знаками», с помощью которых можно определить, что кто-либо использует нейросетевую модель без разрешения автора. К примеру, таким изображением может быть фотография автомобиля с нанесенной на нее надписью, которую нейросеть будет определять как самолет. В отличие от предыдущих подобных разработок, для определения нейросети не обязательно знать ее параметры, рассказывают разработчики в статье, представленной на конференции ASIACCS 2018.
Разработчики нейросетевых алгоритмов достигли большого прогресса в последние несколько лет и научились решать довольно сложные задачи, к примеру, реалистично переносить мимику между людьми. Но процесс создания эффективного нейросетевого алгоритма достаточно сложен. Во-первых, это требует высокой квалификации и понимания принципов работы сетей различного типа. Во-вторых, для обучения алгоритма выполнению определенной задачи ему необходимо предоставить качественный набор входных данных, а также запустить процесс обучения на высокопроизводительном компьютере. В некоторых случаях обучение одной нейросетевой модели может происходить в течение нескольких дней даже на мощном компьютере.
Из-за этого далеко не все разработчики делятся своими наработками и публикуют исходный код или сами натренированные модели в общем доступе. Кроме того, натренированная нейросетевая модель с высокой эффективностью может представлять интерес для других людей, желающих использовать работающий алгоритм в для собственной выгоды, не привлекая высококлассных специалистов и высокопроизводительные компьютеры. Группа разработчиков из исследовательского подразделения компании IBM под руководством Айана Моллоя (Ian Molloy) разработала метод, позволяющий создателю нейросетевой модели доказать использование своей разработки другими людьми и сервисами.
Авторы работы исследовали принципы создания «водяных знаков» на примере алгоритмов классификации изображений, но тот же принцип может быть использован и для других задач. Для того, чтобы внедрить «водяной знак» в алгоритм, исследователи предлагают добавлять к объектам обучающей выборки, состоящей из пар типа изображение-класс, модифицированные изображения. Разработчики предложили три разновидности алгоритма, которые модифицируют входящие изображения разным способом.
Один из вариантов алгоритма подразумевает, что «водяные знаки» представляют собой оригинальные изображения из датасета с наложенным содержанием, например, надписью, а также измененным классом. Еще один вариант подразумевает использование в качестве изображения объекта совершенно другого типа. К примеру, в датасет для распознавания автомобилей и других похожих объектов можно добавить изображение рукописной цифры и присвоить ей класс «самолет». Третий способ — добавления к изображениям из датасета шума и измененного класса, причем, в зависимости от задачи, модель можно научить распознавать как конкретный узор шума, так и тип шума, например, гауссовский шум.
Идея авторов работы заключается в том, что созданная таким образом нейросетевая модель будет иметь специфичные и известные только ее разработчикам входные данные, которые практически не будут снижать точность распознавания нормальных объектов. Разработчики проверили эту гипотезу на примере известных датасетов для машинного обучения MNIST (изображения рукописных символов) и CIFAR10 (изображения разных типов). Для каждого датасета они создавали одну обычную модель для классификации и несколько моделей с внедренным «водяным знаком». Для всех вариантов кроме одного эффективность распознавания специального изображения составила более 98 процентов. При этом внедрение «водяных знаков» практически не снижало эффективность распознавания обычных объектов из датасета.
Кроме того, авторы проверили применимость представленного в 2015 году метода, позволяющего определить объекты из обучающего датасета по реакции нейросети на входные изображения. Тесты показали, что метод не позволяет восстановить изображения с «водяными знаками» с приемлемой точностью:
Исследователи отметают, что они не первые, кто разработал метод встраивания проверочных изображений в нейросетевые алгоритмы, однако предыдущая работа имела заметное ограничение, а именно, необходимость знать параметры модели, что может быть невозможным при использовании модели на сайте или другом публичном сервисе.
Недавно исследователи из Google Brain представили метод, позволяющий «перепрограммировать» нейросеть для выполнения новой задачи, используя для этого только входные данные. Разработчики научились создавать изображение, которое одновременно содержит в себе изображение для анализа, к примеру, классификации, а также данные, заставляющие нейросеть выполнять классификацию по другому признаку. К примеру, авторы показали, как можно с помощью специально созданных входных изображений распознавать рукописные цифры на изображении, используя нейросеть, обученную распознавать животных.
Григорий Копиев