Метод состязательной атаки НЛП на основе градиента

алгоритм

Это 17-й день моего участия в ноябрьском испытании обновлений.Подробности о событии:Вызов последнего обновления 2021 г.

Facebook предложил общий метод атаки для НЛП, который можно оптимизировать с помощью градиента.Бумага была опубликована в EMNLP2021 под названиемGradient-based Adversarial Attacks against Text Transformers, исходный код находится вfacebookresearch/text-adversarial-attack

Background

Сначала определим модельh:XYh:\mathcal{X}\to \mathcal{Y}X\mathcal{X}иY\mathcal{Y}являются входным и выходным множествами соответственно. пробаxеX\mathbf{x}\in \mathcal{X}правильно предсказывается моделью как меткаyy, то естьy=h(x)еYy=h(\mathbf{x})\in \mathcal{Y}. если один сx\mathbf{x}Состязательные примеры, которые бесконечно близкиx'\mathbf{x}^{\prime}сделатьh(x')yh(\mathbf{x}^{\prime})\neq y,ноx'\mathbf{x}^{\prime}является хорошим состязательным примером. Мы можем определить функциюρ:X×XR0\rho: \mathcal{X}\times \mathcal{X} \to \mathbb{R}_{\ge 0}измерятьx\mathbf{x}иx'\mathbf{x}^{\prime}близость. Порогϵ>0\epsilon > 0,еслиρ(x,x')ϵ \rho (\mathbf{x},\mathbf{x}^{\prime})\leq \epsilon, рассматривается состязательный примерx'\mathbf{x}^{\prime}с образцомx\mathbf{x}очень близко

Процесс поиска состязательных примеров рассматривается как задача оптимизации, например, для задач классификации модельhhвывести вектор логитовϕh(x)еRK\phi_h(\mathbf{x})\in \mathbb{R}^K, так чтоy=argmaxkϕh(x)ky = \arg \max_k \phi_h(\mathbf{x})_k, чтобы сделать прогноз модели неверным, мы можем выбрать маржинальную потерю в качестве состязательной потери:

margin(x,y;h)=max(ϕh(x)ymaxkyϕh(x)k+κ,0)(1)\begin{aligned} \ell_{\text{margin}}(&\mathbf{x}, y ; h)=\\ &\max \left(\phi_{h}(\mathbf{x})_{y}-\max _{k \neq y} \phi_{h}(\mathbf{x})_{k}+\kappa, 0\right) \end{aligned}\tag{1}

Когда потери равны 0, модель будетκ\kappaОшибки прогнозирования под контролем. бумага о маржинальных убытках в 2017 годуTowards evaluating the robustness of neural networks, который доказал свою эффективность в алгоритмах состязания изображений.

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

ϕh(x)ymaxkyϕh(x)k+κ0\phi_{h}(\mathbf{x})_{y}-\max _{k \neq y} \phi_{h}(\mathbf{x})_{k}+\kappa \leq 0

Пока вышеуказанные условия выполняются, значение потерь равно 0. Путем деформации можно получить

maxkyϕh(x)kϕh(x)yκ\max _{k \neq y} \phi_{h}(\mathbf{x})_{k}-\phi_{h}(\mathbf{x})_{y} \ge \kappa

в,ϕh(x)y\phi_h(\mathbf{x})_yотносится к вводуx\mathbf{x}правильно предсказывается моделью как классyyлогит-значение . может пожелать установить

ϕh(x)i=maxkyϕh(x)k\phi_h(\mathbf{x})_i = \max _{k \neq y} \phi_{h}(\mathbf{x})_{k}

иiyi\neq y, который показывает, что среди всех категорий ошибокiiЛогит класса является наибольшим, и, комбинируя приведенные выше неравенства, можно получить

ϕh(x)iϕh(x)yκ\phi_h (\mathbf{x})_i - \phi_h(\mathbf{x})_y \ge \kappa

Подводя итог, наша цель оптимизации всегда состоит в том, чтобы уменьшить значение убытка до 0, но убыток до 0 не обязательно означает, что модель должна правильно предсказывать все выборки.Цель оптимизации маржинальных убытков состоит в том, чтобы модель предсказывала неправильную категорию .iiЛогит-коэффициент предсказывает правильный классyyлогит большойκ\kappa. Пока есть выборка, которая правильно предсказана, потеря не может быть равна 0

Учитывая потери противника\ell, процесс построения состязательных примеров можно рассматривать как задачу оптимизации с ограничениями:

minx'еX(x',y;h) subject to ρ(x,x')ϵ(2)\min _{\mathbf{x}^{\prime} \in \mathcal{X}} \ell\left(\mathbf{x}^{\prime}, y ; h\right) \quad \text { subject to } \rho\left(\mathbf{x}, \mathbf{x}^{\prime}\right) \leq \epsilon\tag{2}

мы можем поставить ограниченияρ\rhoВнесите его в функцию потерь, чтобы изменить исходные жесткие ограничения на мягкие ограничения.

minx'еX(x',y;h)+λρ(x,x')(3)\min_{\mathbf{x}^{\prime}\in \mathcal{X}}\ell(\mathbf{x}^{\prime},y;h) + \lambda \cdot \rho(\mathbf{x}, \mathbf{x}^{\prime})\tag{3}

Если функция ограниченийρ\rhoдифференцируем, его можно оптимизировать с помощью оптимизатора на основе градиента

Уравнение (2) широко используется в непрерывных полях данных, таких как изображения или речь, но на самом деле оно не подходит для текстовых данных, в основном по двум причинам:

  1. пространство данныхX\mathcal{X}является дискретным и поэтому не может быть оптимизирован с помощью градиентов
  2. Ограничивающая функцияρ\rhoТрудно измерить текстовые данные, такие как вставка «не» в предложение, слово сводит на нет значение всего предложения, но если мы используем расстояние редактирования для вычисления разницы между двумя предложениями, их расстояние редактирования составляет всего 1

GBDA: Gradient-based Distributional Attack

Метод, предложенный авторами статьи, решает две указанные выше проблемы:

  1. использовать**Gumbel-Softmax**Позволяет оптимизировать процесс отбора проб с помощью градиентов.
  2. Путем введения двух мягких ограничений недоумения и семантического сходства семантика состязательных образцов становится более беглой и приближается к семантике исходных образцов.

Adversarial Distribution

сделатьz=z1z2zn\mathbf{z} = z_1z_2\cdots z_nэто предложениеz\mathbf{z}последовательность токенов, гдеziz_iиз фиксированного словарного запасаV={1,...,V}\mathcal{V} = \{1,...,V\}. Пусть распределение вероятностейPΘP_{\Theta}из параметризованной матрицы вероятностейΘеRn×V\Theta \in \mathbb{R}^{n\times V},приговорzPΘ\mathbf{z}\sim P_{\Theta}Каждый токен в независимой выборке по следующей формуле

ziarg max(число Пиi)(4)z_i \sim \text{arg max}(\pi_i)\tag{4}

в,число Пиi=Softmax(Θi)\pi_i = \text{Softmax}(\Theta_i)означает первыйiiвектор распределений вероятностей маркеров

Наша цель — оптимизировать матрицу параметровΘ\Theta, так чтоzPΘ\mathbf{z}\sim P_{\Theta}для моделиhhСостязательные примеры , чтобы сделать это, нам нужно оптимизировать целевую функцию как

minΘеRn×VEzPΘ(z,y;h)(5)\min_{\Theta \in \mathbb{R}^{n\times V}} \mathbb{E}_{\mathbf{z}\sim P_{\Theta}}\ell (\mathbf{z}, y;h)\tag{5}

в,\ellнеобязательный состязательный проигрыш, например, маржинальный проигрыш

Extension to probability vector inputs

Уравнение (5) заведомо не является выводной функцией, так как распределение дискретное, и мы получаем его путем выборки, формулы для операции выборки нет, поэтому ее нельзя вывести. Однако мы можем масштабировать уравнение (5), чтобы взять вектор вероятности в качестве входных данных и использовать Gumbel-Softamx в качествеargmax\arg \maxРасчетное значение , для введения градиента

приговорz\mathbf{z}каждый токен вziz_iИндекс в словареiiСоответствующий вектор слов можно найти в таблице Word Embedding. В частности, мы определяемe()\mathbf{e}(\cdot)является функцией встраивания, поэтому токенziz_iВложениеe(zi)еRd\mathbf{e}(z_i)\in \mathbb{R}^dddявляется размерностью вложения. задан вектор вероятностичисло Пиi\pi_i, который определяет токенziz_iВероятность выборки , то мы определяем

e(число Пиi)=j=1V(число Пиi)je(j)(6)\mathbf{e}(\pi_i) = \sum_{j=1}^V (\pi_i)_j \mathbf{e}(j)\tag{6}

соответствует вектору вероятностичисло Пиi\pi_iВектор встраивания. В частности, если токенziz_iВектор вероятностичисло Пиi\pi_iявляется однократным вектором, тоe(число Пиi)=e(zi)\mathbf{e}(\pi_i)=\mathbf{e}(z_i). С помощью уравнения (6) мы можем преобразовать последовательность входных векторов вероятностичисло Пи=число Пи1число Пиn\boldsymbol{\pi} = \pi_1\cdots \pi_nРасширен до серии сращивания вложений:

e(число Пи)=e(число Пи1)e(число Пиn)\mathbf{e}(\boldsymbol{\pi}) = \mathbf{e}(\pi_1)\cdots \mathbf{e}(\pi_n)

Computing gradients using Gumbel-softmax

к моделиhhРасширение, чтобы взять вектор вероятности в качестве входных данных, позволяет нам использовать Gumbel-softmax для получения гладкой оценки уравнения (5). Пусть входная вероятностная последовательностьчисло Пи~=число Пи~1число Пи~n\tilde{\boldsymbol{\pi}} = \tilde{\pi}_1\cdots \tilde{\pi}_nИз распределения Gumbel-softmax оно получается по следующей формуле:

(число Пи~i)j:=exp((Θi,j+gi,j)/T)v=1Vexp((Θi,v+gi,v)/T),T>0(7)(\tilde {\pi}_i)_j :=\frac{\exp((\Theta_{i,j} + g_{i,j})/T)}{\sum_{v=1}^V\exp((\Theta_{i,v}+g_{i,v})/T)},\quad T>0\tag{7}

вgi,j=log(log(ui,j)),ui,jU(0,1)g_{i,j}= -\log(-\log(u_{i,j})), u_{i,j}\sim U(0,1),Сейчасui,ju_{i,j}следовать равномерному распределению.TTближе к 0,число Пи~i\tilde{\pi}_iЧем ближе к одноразовому распределению

Определив гладкое приближение к уравнению (5), мы можем оптимизировать параметры, используя градиентный спускΘ\Thetaохватывать

minΘеRn×VEчисло Пи~P~Θ(e(число Пи~),y;h)(8)\min_{\Theta \in \mathbb{R}^{n\times V}} \mathbb{E}_{\tilde{\boldsymbol{\pi}}\sim\tilde{P}_\Theta}\ell (\mathbf{e}(\tilde{\boldsymbol{\pi}}),y;h)\tag{8}

Soft Constrains

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

Fluency constraint with a Language model

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

Каузальные языковые модели (CLM) или авторегрессивные языковые модели обучаются максимизировать условные вероятности.p(xix1,x2,...,xi1)p(x_i\mid x_1,x_2,...,x_{i-1}). Более конкретно, для CLM с выходом логарифмической вероятностиgg, последовательностьx=x1xn\mathbf{x} = x_1\cdots x_nОтрицательное логарифмическое правдоподобие (NLL) рассчитывается с помощью авторегрессии.

NLLg(x)=i=1nlogpg(xix1xi1)\text{NLL}_g(\mathbf{x}) = -\sum_{i=1}^n\log p_g(x_i\mid x_1\cdots x_{i-1})

в,logpg(xix1xi1)=g(xix1xi1)\log p_g(x_i\mid x_1\cdots x_{i-1})=g(x_i\mid x_1\cdots x_{i-1})

Поскольку входными данными модели, которую мы определили ранее, является вектор вероятности токена, мы также можем расширить определение NLL:

NLLg(число Пи):=i=1nlogpg(число Пиiчисло Пи1число Пиi1)\text{NLL}_g({\boldsymbol{\pi}}) := -\sum_{i=1}^n\log p_g(\pi_i\mid \pi_1\cdots \pi_{i-1})

в

logpg(число Пиiчисло Пи1число Пиi1)=j=1V(число Пиi)jg(e(число Пи1)e(число Пиi1))j\begin{aligned} -\log p_g(&\pi_i \mid \pi_1\cdots \pi_{i-1})=\\ & -\sum_{j=1}^V (\pi_i)_j g(\mathbf{e}(\pi_1)\cdots \mathbf{e}(\pi_{i-1}))_j \end{aligned}

Similarity constraint with BERTScore

Автор предлагает использоватьBERTScore, который представляет собой метод оценки сходства сгенерированного текста. Предполагатьx=x1xn\mathbf{x} = x_1\cdots x_nа такжеx'=x1'xm'\mathbf{x}^{\prime}={x}_1^{\prime}\cdots {x}_m^{\prime}представляет собой последовательность из двух токенов, пустьggДля языковой модели мы можем получить контекстное векторное представление

ϕ(x)=(v1,...,vn)ϕ(x')=(v1',...,vm')\begin{aligned} &\phi(\mathbf{x}) = (\mathbf{v}_1,...,\mathbf{v}_n)\\ &\phi(\mathbf{x}^{\prime})=(\mathbf{v}^{\prime}_1,...,\mathbf{v}^{\prime}_m) \end{aligned}

тогда последовательностьx\mathbf{x}иx'\mathbf{x}^{\prime}BERTscore определяется следующим образом:

RBERT(x,x')=i=1nwimaxj=1,...,mvivj'(9)R_{\text{BERT}}(\mathbf{x}, \mathbf{x}^{\prime}) = \sum_{i=1}^n w_i \max_{j=1,...,m} \mathbf{v}_i^{\top} \mathbf{v}_j^{\prime} \tag{9}

в,wi=idf(xi)/i=1nidf(xi)w_i = \text{idf}(x_i) / \sum_{i=1}^n \text{idf}(x_i)это токенxix_iНормализованная частота обратного документа

Мы можем легко использовать последовательность векторов вероятности, описанную в уравнении (6)число Пи=число Пи1число Пиm\boldsymbol{\pi}=\pi_1\cdots \pi_mзаменитьx'\mathbf{x}^{\prime}и использоватьρg(x,число Пи)=1RBERT(x,число Пи)\rho _g(\mathbf{x},\boldsymbol{\pi})=1- R_{\text{BERT}}(\mathbf{x},\boldsymbol{\pi})как производное мягкое ограничение

Objective function

Наконец, мы объединяем маржинальные потери, ограничения беглости и ограничения сходства BERTscore, чтобы сформировать нашу конечную цель оптимизации:

L(Θ)=Eчисло Пи~P~Θ(e(число Пи~),y;h)+λlmNLLg(число Пи~)+λsimρg(x,число Пи~)(10)\begin{aligned} \mathcal{L}(\Theta)=&\mathbb{E}_{\tilde{\boldsymbol{\pi}}\sim \tilde{P}_{\Theta}}\ell (\mathbf{e}(\tilde{\boldsymbol{\pi}}),y;h)\\ &+\lambda_{\text{lm}}\text{NLL}_g(\tilde{\boldsymbol{\pi}}) + \lambda_{\text{sim}}\rho_g(\mathbf{x}, \tilde{\boldsymbol{\pi}}) \end{aligned}\tag{10}

в,λlm,λsim>0\lambda_{\text{lm}},\lambda_{\text{sim}}>0являются гиперпараметрами, каждая итерация начинается сP~Θ\tilde{P}_{\Theta}Попробуйте пакет входных данных и минимизируйте их с помощью оптимизатора Adam.L(Θ)\mathcal{L}(\Theta). В частности, гиперпараметры в документе установлены как

lr=0.3batch size=10iterations=100λlm=1λsimе[20,200]κе{3,5,10}\begin{aligned} \text{lr} &= 0.3\\ \text{batch size} &= 10\\ \text{iterations} &= 100\\ \lambda_{\text{lm}} &= 1\\ \lambda_{\text{sim}} &\in [20, 200]\\ \kappa &\in \{3, 5, 10\} \end{aligned}

Result

Экспериментальные результаты показывают, что наша атака способна снизить точность модели до уровня ниже 10% почти во всех случаях, сохраняя при этом высокий уровень семантического сходства (косинусное сходство выше 0,8).

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

Персональное резюме

Честно говоря, было немного неловко. Когда я листал Принятые документы EMNLP, мне вдруг в глаза бросилось слово «Состязательный». Сначала я подумал, что это новый метод состязательной подготовки, поэтому я открыл бумаги и посмотрел на нее.Во время написания этой статьи выяснилось, что что-то не так, когда я написал ее ближе к концу.Я обнаружил, что эта статья в основном не о Adversarial, а об атаке, но я не занимаюсь глубоким изучением атаки, так что я в основном потратил много времени на просмотр чего-то, не связанного с моими исследованиями. Поскольку я мало что знаю об атаках глубокого обучения, у меня нет особых идей.