Использование генетических алгоритмов для состязательной атаки на основе подстановки синонимов

Модели глубокого обучения уязвимы для состязательных примеров: возмущения входных данных, незаметные для человека, могут привести к неправильной классификации хорошо обученной глубокой нейронной сети. Несмотря на то, что примеры состязательности изучаются в области компьютерного зрения, область обработки естественного языка (НЛП) остается относительно новой.

Ключевая трудность изучения состязательных примеров для моделей НЛП заключается в том, что текстовые данные дискретны. Для данных изображения, которые живут в непрерывном пространстве, легко изменить пиксели, чтобы люди не заметили этого. Однако трудно определить, внесли ли мы незаметное возмущение в предложение, изменив его символ, слово или просто переписав его. Чтобы сохранить семантику, а также синтаксическую структуру предложения, предположительно возможной попыткой было бы заменить некоторые слова их синонимами. Например:

Бегун хочет добраться до финиша

Гонщик хочет добраться до финиша.

Здесь я хочу сделать обзор литературы по статье Создание состязательных примеров естественного языка Альзантота и др., Которая вносит очень интересный вклад в методы состязательной атаки в НЛП. и опубликовано в EMNLP 2018.

Таким образом, в статье представлен метод создания состязательных примеров для задач НЛП, которые

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

Мы бы подробно объяснили эти выделенные концепции.

Задний план

Состязательная атака - черный ящик и белый ящик

Методы атаки с использованием черного ящика генерируют примеры противоборства, без информации об архитектуре целевой модели, (гипер-) параметрах или градиентах стоимости. Запрашивая результаты модели глубокого обучения для предложенного набора возмущений во входящем тексте, атаки черного ящика обычно ищут лучший пример состязательности, который приводит к неверному прогнозу модели. Таким образом, популярная ветвь атак черного ящика в НЛП основана на замене синонимов. Подобно тому, как эта работа основана на замене синонимов, другие работы в этом направлении атак черного ящика можно найти в следующем списке:

Атаки белого ящика, с другой стороны, имеют доступ ко всем деталям модели. Таким образом, атаки методом «белого ящика», а не на основе запросов, часто основываются на градиентах модели и могут быть эффективными с вычислительной точки зрения по сравнению с атаками «черного ящика», которые обычно основаны на запросах. Однако, поскольку атаки с использованием метода «белого ящика» могут дать нам интересные перспективы в отношении надежности модели, «белый ящик» является идеальной настройкой, которая не применима ко многим ситуациям реального мира. Кроме того, с удобством доступа к градиентам модели, атаки белого ящика обычно основаны на пространстве встраивания слова. На уровне слов вместо запроса синонимов атаки методом белого ящика обычно находят наиболее возмущенный пример в области встраивания, как и большинство состязательных атак в компьютерном зрении. Таким образом, задача состоит в том, чтобы гарантировать семантическую и синтаксическую сохранность, поскольку нарушенное встраивание слова обычно не отображается на действительный токен слова. Некоторые атаки белого ящика на уровне слов можно найти здесь:

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

Генетический алгоритм

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

Примененный к состязательной атаке для задач НЛП, генетический алгоритм, адаптированный в этой работе, производит поколения состязательных примеров путем мутации слов с их синонимами, выполняя кроссовер между двумя (родительскими) состязательными кандидатами. и выбор лучшего примера с наивысшей оценкой модели. Более подробно алгоритм этой работы будет обсужден позже.

Подробнее о генетическом алгоритме см .:

Предлагаемый метод - подробное объяснение

Целью предлагаемого метода атаки является создание состязательного примера для входной последовательности, которая заставляет целевую модель делать неправильные выходные данные, при этом (1) сохраняя семантическое сходство и синтаксическую согласованность исходных входных данных и (2) минимизируя количество модификаций. сделано по состязательному примеру. В рамках настройки черного ящика в этой статье предлагается генетический алгоритм для использования результатов модели и выполнения атаки на основе запросов без градиента. Сначала дадим общий взгляд на алгоритм и подробно объясним его:

Алгоритм вызывает две подпрограммы Perturb (x, target) и Crossover (parent1, parent2), и показатель пригодности f для создания следующей популяции. примеров противоборства, которые мы бы также подробно объяснили. Для общего первого взгляда на алгоритм,

  1. Сначала он принимает исходное предложение X_orig и производит S независимых возмущений в предложении, используя Perturb (X_orig, target) для первого поколения.
  2. Затем он выполняет итерацию не более чем для G поколений, так что в каждом поколении алгоритм оценивает оценку соответствия каждого нарушенного примера, чтобы сохранить тот, который максимизирует его.
  3. Если текущий лучший пример состязательности может привести к неправильной классификации модели, все готово.
  4. В противном случае сохраните текущий лучший пример как один человек в следующем поколении и создайте другие примеры в соответствии с текущим (родительским) поколением.
  5. В частности, для создания примера в следующем поколении из текущего поколения выбираются два родительских примера в соответствии с их оценкой пригодности.
  6. Затем дочерний пример создается с помощью Crossover (parent1, parent2) и далее возмущается с помощью Perturb (child, target)
  7. Когда дочернее поколение достигает популяции из S выборок, алгоритм возобновляет итерацию, чтобы найти пример, который вызывает ошибку целевой модели.

Подпрограмма - кроссовер (parent1, parent2)

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

Подпрограмма - Perturb (x, target)

Учитывая введенное предложение x и прогнозируемую оценку целевой метки (оценка пригодности), Perturb случайным образом выбирает слово и пытается найти подходящее слово для замены. который максимизирует оценку для создания возмущенного примера. В частности, заменяющее слово находится по

  1. Вычисление N ближайших соседей выбранного слова в пространстве вложения.
  2. Использование языковой модели Google 1 миллиард слов для фильтрации кандидатов на замену, которые нарушают синтаксическую структуру предложения.
  3. Выбор кандидата, который максимизирует оценку предсказания целевой метки после замены, и возврат нарушенного предложения с новым заменяющим словом.

Обратите внимание, что такое заменяющее слово максимизирует оценку предсказания целевой модели на целевой метке (отличной от метки наземной истины) для достижения атаки.

Результаты эксперимента

На раннем этапе работы в документе используется Perturb в качестве основы для оценки эффективности своего генетического алгоритма. Они выбирают набор данных обзора фильмов IMDB для задачи анализа тональности и корпус Stanford Natural Language Inference (SNLI) для текстового следования. Более того, целевыми моделями являются модели LSTM, которые обеспечивают почти самую современную производительность при выполнении двух задач.

Генетическая атака позволяет достичь гораздо более высоких показателей успешности атаки при выполнении задач с меньшим количеством внесенных модификаций. Обратите внимание, что результаты для Perturb на SNLI не сообщаются, потому что, когда количество модификаций ограничено, базовый уровень Perturb вряд ли преуспеет в наборе данных SNLI, где предложения очень короткие ( В среднем 9 слов).

Более прямой пример сгенерированного противника и результата его атаки показан ниже:

Заключение

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

Статья: https://arxiv.org/abs/1804.07998

Код: https://github.com/nesl/nlp_adversarial_examples

Более интересные работы о надежности моделей на основе BERT: