SlideShare a Scribd company logo
Invariance-based Adversarial Attack
on Neural Machine Translation System
Akshay Chaturvedi, Abijith KP, and Utpal Garain, Member, IEEE
Arxiv:1908.01165v1 [cs LG] 3 Aug 2019
Invariance-based Adversarial Attack on NMT
1. 적대적 공격의 정의
적대적 공격(Adversarial Attack)은 입력 값에 미세한 또는 알아채기 힘든 변화를 주어 모델이 잘못된 결과를 출력하도록 속이는
방법을 말하며, 머신러닝에서는 이를 모델학습의 강건함(robustness)을 높이는 데 활용한다.
적대적 공격에 강건한(robust) 방향으로 학습을 진행하여, 모델의 과적합(overfitting)을 방지하고 실제 과제 수행에 있어서 보다
안정적으로 과제를 수행할 수 있게끔 한다. 추가적으로, 디노이징(denoising) 기법과의 차이점은 의도적으로 더해진 노이즈에도
견딜 수 있도록 모델을 학습한다는 점이다.
2. 적대적 공격의 의의
적대적 공격의 정의와 의의
MODEL
“CAT”
(correct) (incorrect)
MODEL
“DOG”
original
modified
(noise added)
Invariance-based Adversarial Attack on NMT
1. 자연어 처리에서의 적대적 공격의 까다로움
일반적으로 적대적 공격은 자연어 처리 영역에서 실행하기 까다로운데, 그 이유는 자연어는 이산적(discrete) 값으로 처리되기 때문에
노이즈가 추가되어도 유효하게(valid) 적용될 가능성이 적기 때문이다.
2. 신경망 기계번역에서의 적대적 공격
신경망 기계 번역(NMT)에서의 적대적 공격은, 학습을 통해 소스 언어 데이터와 타깃 언어 데이터가 사상(mapping) 된 모델에 대해,
소스 언어 데이터에 노이즈를 추가하여 사상된 타깃이 아닌 다른 (공역 내의) 결과가 나오도록 하는 것을 말한다.
적대적 공격과 자연어 처리
0. 21. 12. 255.
2. 101. 1. 255.
1.1 100. 111. 255.
2. 111. 121. 255.
0. 21.2 12.5 255.
2. 101. 1. 255.
1.1 100. 111.1 255.
2. 111. 121. 255.
<연속적인 값을 가진 데이터에서의 노이즈 추가>
0 1 6 10 1 2.1 6 11
<분류형 값을 가진 데이터에서의 노이즈 추가>
적은 노이즈가 추가된 값(2.1)은 의미 공간 상에서 유효하지 않음.
전체의 ‘인덱스-단어’ 사전에서 인덱스의 최대 값이 10 이라면 11은 유효하지 않음.
i-th Source Sequences i-th Target Sequences i-th Source Sequences
mis-matchedwell-matched !
k-th Target Sequences
Well Trained Attacked (Noise Added)
Invariance-based Adversarial Attack on NMT
1. HotFlip 기법의 정의
HotFlip은 원-핫 인코딩을 활용하여 변환된 입력 데이터의 그레이디언트를 계산하고 이를 바탕으로 글자(charicter)를 대체하여
특정 데이터에 대한 적대적인 예제(Adversarial Examples)를 생성하는 기법을 말한다. (단어 단위로 확장하여 사용 가능.)
2. HotFlip 기법의 구현
1) 글자를 원-핫 인코딩을 사용하여 변환
기존의 적대적 공격 방법; HotFlip 기법
[ “the quick brown fox jumps over the lazy dog” ] [ “the quick brown fox jumbs over the lazy dog” ]▶
x x₁₁,… , x₁n x₂n)= (( ), x₂₁, … , )( , , x nx 1m m x m : ,, 단어의 갯수 n : 최대 글자의 수 (설정)where ∈{0, 1}
|alphabet|
nm,…… , )(
sentence
vectorized
[ “the quick brown fox jumps over the lazy dog” ]
[ [ [c(t), , ,c(h) c(e) , , , ,… … ……c(0)c(0) ] ] [, … ] ]
: 알파벳의 인덱스 값은 1이고 나머지는 0인 벡터.
(27차원 벡터)
c(alphabet)
e.g. c(b) = [ 0, 0, 1 , 0, 0, …, 0, 0]
Invariance-based Adversarial Attack on NMT
타깃 문장(Target Sentence)에 대한 입력 문장(Source Sentence)의 그레이디언트 값을 바탕으로 이를 최소화하는 단어를 바꿀
단어로 선택하고, Soft Attention을 바탕으로 해당 단어를 어떤 것으로 바꿀지 결정하고 이를 대체하는 방법을 말한다.
Min-Grad를 통해 예측하려는 타깃에 가장 작은 영향을 미치는 단어를 바꿀 대상으로 선택하고, Soft-Att.를 통해 다른 단어 중
어떤 단어로 바꾸면 좋을지를 결정하고 이를 ‘대체(replace)’하는 것을 목표로 하는 알고리즘이다.
1. Min-Grad & Soft-Att. 기법의 정의
2. Min-Grad & Soft-Att. 기법의 절차 및 의의
제안; Min-Grad & Soft-Att. 기법
Min-Grad Soft-Att. Modifying
1) 타깃값에 대한 입력값의 NLL을 계산.
2) NLL의 크기를 최소화하는 단어 선택.
1) 바꿀 단어를 바탕으로 NLL 계산.
2) NLL 값에 Soft-Attention 적용.
1) 앞의 결과를 바탕으로 단어를 대체.
2) 특정 횟수만큼 앞의 과정을 반복.
Invariance-based Adversarial Attack on NMT
1. 단어사전 정제(Vocabulary Pruning)
2. 데이터 인코딩(Data Encoding); 데이터를 벡터로 변환
전처리; 단어 정제 및 데이터 인코딩
Vshared
Vunique Vshared
Vunique
Vprune
입력과 타겟 언어의 단어들을 더해 만든 전체 단어사전.
입력 단어 중 학습 데이터의 단어들로 구성된 단어사전.
V 의 단어 중, 에 있는 것들로 구성된 사전.
V의 단어 중 변형할 문장에 없는 단어들로 구성된 사전.
{ “나는”, “배를”, ”빵을”,“사과를”, “먹었습니다”, “I”, “ate”, “a”, ”an”, “pear”, “apple”..}
{ “나는”, “배를”, ”빵을”, “먹었습니다” }
{ “배를” }
※ 위의 예시는 매우 적은 문장을 대상으로 예를 들어 설명한 것으로, 실제 학습 과정에서는 각 단어 사전의 요소들이 풍부하게 구성됩니다.
▶
{ “나는”, “배를”, “빵을”, “먹었습니다” }
[[ “나는”, “배를”, “먹었습니다” ],[ “나는”, “빵을”, “먹었습니다” ]]학습데이터:
[ “나는”, “빵을”, “먹었습니다” ]변형할 문장:
sorg
[ “나는”, “빵을”, “먹었습니다” ]변형할 문장 :( ) x x₁₁[[ ],, …, x₁m x₂₁[ ],, …, x₂m x₃₁[ ]], …, x₃m m: 의 길이Vshared인코딩된 문장 :( )
Invariance-based Adversarial Attack on NMT
특정 위치의 타깃 언어에 대한 조건부 확률에 로그를 씌운 값의 그라디언트를 계산하고, 이것의 L2 Norm을 최소화하는 인덱스를
찾는 방법을 말하며, 적대적 학습에서 ‘대체’할 단어의 인덱스를 찾는 데에 활용된다.
이전 출력값과 입력값을 바탕으로 예측하고자 하는 출력 단어의 확률 값의 로그 값들을 계산하고 이것의 L2 Norm을 최소화하는
임베딩된 입력의 위치를 계산하여, 예측에 영향을 최소화하면서 적대적 공격을 할 수 있도록 하는 인덱스를 찾는 것을 목표로 한다.
1. Min-Grad 기법의 정의
2. Min-Grad 기법의 절차
Algorithm-1; Min-Grad
ProcessInputs Output
- 입력 시퀀스(source sequence) - 입력 시퀀스를 데이터 인코딩을 통해 벡터(x)로 변환 > 임베딩을 통해 축소된 차원의 벡터(e)로 변환.
바뀔 요소의 위치
(L2-norm가 최소)
- 출력 시퀀스(target sequence)
- 기존에 대체된 단어의 인덱스들
- 데이터 인코딩된 벡터(x)를 바탕으로 타깃 문장에 대한 Negative Log Likelihood(NLL) 값을 구함.
- NLL에 대한 임베딩 벡터(e)의 요소 별 그레이디언트 값 중 L2-norm이 최소가 되는 요소의 위치를 구함.
Invariance-based Adversarial Attack on NMT
3. Process Details
1) 입력 시퀀스를 데이터 인코딩을 통해 벡터(x)로 변환 > 임베딩을 통해 축소된 차원의 벡터(e)로 변환.
s = ( )org
s ,₁
org
s …₂
org
, , sn
org
x x₁₁,…, x₁|Vshared| |Vshared|)= (( ), , xx 1n n,…… , )( e e₁= ( ,…, en e 는 d-차원의 벡터i)
2) 데이터 인코딩된 벡터(x)를 바탕으로 타깃 문장에 대한 Negative Log Likelihood(NLL) 값을 구함.
L = log (q ti
i
m
=1
org
t x )),i<
org
( |∑- =
= { }
log∏ q ti
i
m
=1
org
t x ),i<
org
( |
q tm
org
tm-1
org
x ),…, tm-1
org
,( |q t1
org
x )( | q× × ×…t ,2
org
t1
org
x )( |
-
log-
nll
입력값과 이전 출력값(Sequential Output)이 주어졌을 때
현재의 출력값이 등장할 확률
3) NLL에 대한 임베딩 벡터(e)의 요소 별 그레이디언트 값 중 L2-norm이 최소가 되는 요소의 위치를 구함.
log∏q tk
k
m
=1
org
t x ),k<
org
( |-r = =argmin
i indvis∈
|| e Li nll 2
|| argmin
i indvis∈
|| ei 2
||
e, f(x)=ind {1,…⊆ n},vis
f :F →|Vshared| n× Fd n×
Invariance-based Adversarial Attack on NMT
1. Soft-Att. 기법의 정의
선택된 대체할 단어에 대응되는 확률값을 이용하여 소프트 어텐션(Soft-Attention)을 적용하고 이를 바탕으로, 대상을 단어 사전
내의 어떤 단어로 바꿀 것인지를 결정하는 기법을 말한다.
2. Soft-Att.기법의 구현
Algorithm-2; Soft-Att.
ProcessInputs Output
- 입력 시퀀스(source sequence) - 입력 시퀀스(s)와 대체 단어 인덱스(r)을 바탕으로 특정단어(x’)와 그에 대응되는 확률(p)의 벡터를 구함. - 선택된 인덱스
- 손실값(loss)
- 타깃 시퀀스(target sequence)
- 대체하고자 하는 단어 인덱스
- 전체 단어사전의 크기와 동일한 차원의 count 벡터를 만들고 0으로 초기화.
- 특정단어의 벡터(x’)과 타깃 시퀀스를 바탕으로 NLL을 계산하고 이를 바탕으로 벡터 p의 값을 업데이트.
- x’ 또한 업데이트 후, p의 요소들 중 최대 값과 그 인덱스를 뽑고, 특정 조건을 넘으면 count 벡터를 갱신.
ind { 1 ,… ,n }vis
L for ( ),x torg
nll
⊆
Soft/Hard Attention
Soft: 어텐션 가중치를 입력값에 적용하여 나타냄(deterministic). (easy to diff.)
(hard to diff.)Hard: 어텐션 가중치를 샘플링 비율하여 특정 영역을 샘플링함(stochastic).
Z = ∑
n
i=1 i xi
Z ix~ ,i
Invariance-based Adversarial Attack on NMT
3. Process Detail
1) 입력 시퀀스(s)와 대체 단어 인덱스(r)을 바탕으로 입력벡터(x’), 대응되는 확률(p), 카운트(count)벡터를 생성 및 초기화
2) 특정단어의 벡터(x’)과 타깃 시퀀스를 바탕으로 NLL을 계산하고 이를 바탕으로 벡터 p의 값을 업데이트.
3) x’ 을 업데이트 > p의 요소들 중 최대 값과 그 인덱스를 뽑기 > 특정 조건을 넘으면 카운트 벡터를 갱신 > 반복 및 결과 출력
s = ( )org
s ,₁
org
s …₂
org
sorg
, , , … , snr
org
대상이 되는 문장
만약※ 특정 기준치(가 내에 )를 넘기면 과정을 종료하고 와 를 출력.
L = log (q ti
i
m
=1
org
t x )),i<
org
( |∑-nll
x₁₁,…, x₁|Vshared| |Vshared|)((x = ), xr₁,…, xr|Vshared| )(, , , xx 1n n,…… … , )(
x₁₁,…, x₁|Vshared| |Vshared|)((x = ), p₁,… , p|Vshared| )(, , , xx 1n n,…… … , )(
(k+1) (k+1)
x₁₁,…, x₁|Vshared| |Vshared|)((x = ), p₁,… , p|Vshared| )(, , , xx 1n
(k) (k)
n,…… … , )(
x₁₁,…, x₁|Vshared| |Vshared|)((x = ), p₁,… , p|V
p
count = (0, ,0… , ,0… )c , 0,
max (p )(k+1)
argmax, (p )(k+1)
=,max indword
indword loss
indword
cif elsep > +=1max max ,prob indword
c =0indword
cind nitermaxiterword
shared| )(, , , xx 1n n,…… … , )(
p = ( ) , {p ,₁ p p p =₂ …, , |V ishared |
|Vprune| Vif p ∈ prunei
otherwise
1/
0
count |count| | |Vshared=,= 0, 0, …,0( )
원-핫 인코딩된 확률 공간에서 부분적으로 일정한(uniform) 확률공간으로 변경
= - {p }log (q ti
(k) (k)(k+1)
p 0if ≠ip,
i
m
=1
org
t x )),iii <
org
( |∑-p(k)
Invariance-based Adversarial Attack on NMT
1. Min-Grad+Soft-Att. (Proposed) 기법의 정의
Min-Grad 기법과 Soft-Att. 기법을 결합한 것으로 반복 과정마다 생성된 몇 개의 손실(loss) 값들을 비교하여, 이를 바탕으로 단어
를 대체하여 적대적 공격을 위한 문장을 만드는 방법이다.
Min-Grad 와 Soft-Att. 기법을 활용하여 손실(loss)값을 계산하고 이를 이전 단계의 것과 비교하여 현재의 손실값이 낮을 경우에
갱신을 하여 NLL의 관점에서 더 좋은 (적대적)문장으로 업데이트 할 수 있게끔 하는 것을 목표로 하고 있다.
2. Min-Grad+Soft-Att. (Proposed) 기법의 절차 및 구현
Algorithm-3; Min-Grad + Soft-Att.
Inputs Output
- 입력 시퀀스(source sequence) - 적대적 공격을 위한 시퀀스
- 타깃 시퀀스(target sequence)
1. Get from org org
org minnllsx
flag False while len n do the follows:≠( indvis )ind []←vis//=
3) if vis min org sharedr ∈ind l wordindmax loss l //, )( s V [ ] // flag=True[r ←]←and ,loss <l
2) append //to visind word visindr Soft-Att s, torg
, ind )(loss ←,
← L// // //x t,for ( )
nll1) Get from // //sx l L← org
x t,for ( ) r Min-Grad← org
s t, visind,( )
l org
s← len ( )n org
s←s // ←l 100 rep// ←ind
sweepmax
[]
if not flag then break
s sadv
sreturn adv
←
4) if vis min rep min org
shared
r ∈ind l//,
wordind
max loss l, )(
s V [ ] //// flag=True[r ←]
←and loss append to indr<l
Invariance-based Adversarial Attack on NMT
실험 결과
1. Success Rate
2. BLUE Score
Model Method
en-de en-fr
Success Rate NOR Success Rate NOR
BLSTM
random + HotFlip 25.4% 0.23, 0.21 28.2% 0.21, 0.18
Min-Grad + HotFlip 31.8% 0.22, 0.19 40.2% 0.19, 0.17
random + Soft-Att 61.2% 0.58, 0.62 64.6% 0.62, 0.67
Min-Grad + Soft-Att 67.8% 0.58, 0.61 70.8% 0.61, 0.66
Transformer
random + HotFlip 35.0% 0.26, 0.24 40.6% 0.24, 0.21
Min-Grad + HotFlip 45.0% 0.26, 0.24 44.0% 0.23, 0.21
random + Soft-Att 50.2% 0.40, 0.39 59.0% 0.37, 0.35
Min-Grad + Soft-Att 61.6% 0.41, 0.42 64.8% 0.36, 0.34
Transformer Method src l1 l2 l
blstm
1 l
blstm
2
en-de
random+HotFlip 51.04 80.49 47.53 36.42 43.66
Min-Grad+HotFlip 53.23 83.13 49.15 36.51 44.76
random+Soft-Att 32.01 84.79 29.72 20.62 27.85
Min-Grad+Soft-Att 31.17 88.55 31.09 20.63 27.43
en-fr
random+HotFlip 55.51 85.18 40.35 52.00 36.18
Min-Grad+HotFlip 57.92 88.40 41.98 54.39 37.68
random+Soft-Att 33.61 89.77 21.59 32.37 19.09
Min-Grad+Soft-Att 35.40 91.99 23.28 34.32 20.29
BLSTM Method src l1 l2 ltrans
1 ltrans
2
en-de
random + HotFlip 57.09 71.35 48.84 43.90 49.42
Min-Grad + HotFlip 59.28 75.55 50.38 45.96 52.26
random + Soft-Att 13.77 87.14 19.20 18.36 21.62
Min-Grad + Soft-Att 14.49 89.86 19.74 18.51 21.98
en-fr
random + HotFlip 60.87 79.62 39.28 58.60 41.73
Min-Grad + HotFlip 63.97 84.87 41.16 61.80 44.94
random + Soft-Att 12.99 92.44 10.62 28.34 12.12
Min-Grad + Soft-Att 12.66 93.87 9.95 27.21 11.92
Invariance-based Adversarial Attack on NMT
2) 인코딩된 문장을 그레이디언트를 바탕으로 플립(Flip)
3) 점수(score)를 기반으로 여러 번(multiple)의 플립을 실행
v …= ( , … … … … …, ,;i j b j i0 ( 0 )0 0(0 ,-1 , , ;0 , , ,1 ) )0 ,
J( =x x, y) J
T
( x, y) vi j bvi j b
score ( c₁ c₂, , , nc… ) = + + …
x Jmax =
T
( x, y) vi j b
J
(b)
∂
xi j∂
J
(a)
∂
xi j∂
max -
x Jmax = + ( )T
( x, y) vi j b x = 1, ,i
( )a
j x = 1i
( )b
j -1
J
(b)
∂
xi j∂
J
(a)
∂
xi j∂
max ∑
n
j j +1=
-
J
(b)
∂
xi j∂
J
(a)
∂
xi j∂
-
J x( )∂
c1
0
∂
J x( )∂
c2
1
∂
+
J x( )∂
cn
n-1
∂

More Related Content

What's hot

Generative adversarial network
Generative adversarial networkGenerative adversarial network
Generative adversarial network
강민국 강민국
 
머신 러닝 입문 #1-머신러닝 소개와 kNN 소개
머신 러닝 입문 #1-머신러닝 소개와 kNN 소개머신 러닝 입문 #1-머신러닝 소개와 kNN 소개
머신 러닝 입문 #1-머신러닝 소개와 kNN 소개
Terry Cho
 
Reinforcement learning v0.5
Reinforcement learning v0.5Reinforcement learning v0.5
Reinforcement learning v0.5
SANG WON PARK
 
Coursera Machine Learning (by Andrew Ng)_강의정리
Coursera Machine Learning (by Andrew Ng)_강의정리Coursera Machine Learning (by Andrew Ng)_강의정리
Coursera Machine Learning (by Andrew Ng)_강의정리
SANG WON PARK
 
내가 이해하는 SVM(왜, 어떻게를 중심으로)
내가 이해하는 SVM(왜, 어떻게를 중심으로)내가 이해하는 SVM(왜, 어떻게를 중심으로)
내가 이해하는 SVM(왜, 어떻게를 중심으로)
SANG WON PARK
 
Chapter 7 Regularization for deep learning - 2
Chapter 7 Regularization for deep learning - 2Chapter 7 Regularization for deep learning - 2
Chapter 7 Regularization for deep learning - 2
KyeongUkJang
 
인공신경망
인공신경망인공신경망
인공신경망
종열 현
 
[신경망기초] 멀티레이어퍼셉트론
[신경망기초] 멀티레이어퍼셉트론[신경망기초] 멀티레이어퍼셉트론
[신경망기초] 멀티레이어퍼셉트론
jaypi Ko
 
RLCode와 A3C 쉽고 깊게 이해하기
RLCode와 A3C 쉽고 깊게 이해하기RLCode와 A3C 쉽고 깊게 이해하기
RLCode와 A3C 쉽고 깊게 이해하기
Woong won Lee
 
[신경망기초] 오류역전파알고리즘
[신경망기초] 오류역전파알고리즘[신경망기초] 오류역전파알고리즘
[신경망기초] 오류역전파알고리즘
jaypi Ko
 
개발자를 위한 공감세미나 tensor-flow
개발자를 위한 공감세미나 tensor-flow개발자를 위한 공감세미나 tensor-flow
개발자를 위한 공감세미나 tensor-flow
양 한빛
 
딥러닝과 강화 학습으로 나보다 잘하는 쿠키런 AI 구현하기 DEVIEW 2016
딥러닝과 강화 학습으로 나보다 잘하는 쿠키런 AI 구현하기 DEVIEW 2016딥러닝과 강화 학습으로 나보다 잘하는 쿠키런 AI 구현하기 DEVIEW 2016
딥러닝과 강화 학습으로 나보다 잘하는 쿠키런 AI 구현하기 DEVIEW 2016
Taehoon Kim
 
Ai 그까이거
Ai 그까이거Ai 그까이거
Ai 그까이거
도형 임
 
Deview deep learning-김정희
Deview deep learning-김정희Deview deep learning-김정희
Deview deep learning-김정희NAVER D2
 
A neural image caption generator
A neural image caption generatorA neural image caption generator
A neural image caption generator
홍배 김
 
딥 러닝 자연어 처리를 학습을 위한 파워포인트. (Deep Learning for Natural Language Processing)
딥 러닝 자연어 처리를 학습을 위한 파워포인트. (Deep Learning for Natural Language Processing)딥 러닝 자연어 처리를 학습을 위한 파워포인트. (Deep Learning for Natural Language Processing)
딥 러닝 자연어 처리를 학습을 위한 파워포인트. (Deep Learning for Natural Language Processing)
WON JOON YOO
 
Lecture 2: Supervised Learning
Lecture 2: Supervised LearningLecture 2: Supervised Learning
Lecture 2: Supervised Learning
Sang Jun Lee
 
딥러닝의 기본
딥러닝의 기본딥러닝의 기본
딥러닝의 기본
deepseaswjh
 
keras 빨리 훑어보기(intro)
keras 빨리 훑어보기(intro)keras 빨리 훑어보기(intro)
keras 빨리 훑어보기(intro)
beom kyun choi
 
집단지성 프로그래밍 07-고급 분류 기법-커널 기법과 svm-01
집단지성 프로그래밍 07-고급 분류 기법-커널 기법과 svm-01집단지성 프로그래밍 07-고급 분류 기법-커널 기법과 svm-01
집단지성 프로그래밍 07-고급 분류 기법-커널 기법과 svm-01
Kwang Woo NAM
 

What's hot (20)

Generative adversarial network
Generative adversarial networkGenerative adversarial network
Generative adversarial network
 
머신 러닝 입문 #1-머신러닝 소개와 kNN 소개
머신 러닝 입문 #1-머신러닝 소개와 kNN 소개머신 러닝 입문 #1-머신러닝 소개와 kNN 소개
머신 러닝 입문 #1-머신러닝 소개와 kNN 소개
 
Reinforcement learning v0.5
Reinforcement learning v0.5Reinforcement learning v0.5
Reinforcement learning v0.5
 
Coursera Machine Learning (by Andrew Ng)_강의정리
Coursera Machine Learning (by Andrew Ng)_강의정리Coursera Machine Learning (by Andrew Ng)_강의정리
Coursera Machine Learning (by Andrew Ng)_강의정리
 
내가 이해하는 SVM(왜, 어떻게를 중심으로)
내가 이해하는 SVM(왜, 어떻게를 중심으로)내가 이해하는 SVM(왜, 어떻게를 중심으로)
내가 이해하는 SVM(왜, 어떻게를 중심으로)
 
Chapter 7 Regularization for deep learning - 2
Chapter 7 Regularization for deep learning - 2Chapter 7 Regularization for deep learning - 2
Chapter 7 Regularization for deep learning - 2
 
인공신경망
인공신경망인공신경망
인공신경망
 
[신경망기초] 멀티레이어퍼셉트론
[신경망기초] 멀티레이어퍼셉트론[신경망기초] 멀티레이어퍼셉트론
[신경망기초] 멀티레이어퍼셉트론
 
RLCode와 A3C 쉽고 깊게 이해하기
RLCode와 A3C 쉽고 깊게 이해하기RLCode와 A3C 쉽고 깊게 이해하기
RLCode와 A3C 쉽고 깊게 이해하기
 
[신경망기초] 오류역전파알고리즘
[신경망기초] 오류역전파알고리즘[신경망기초] 오류역전파알고리즘
[신경망기초] 오류역전파알고리즘
 
개발자를 위한 공감세미나 tensor-flow
개발자를 위한 공감세미나 tensor-flow개발자를 위한 공감세미나 tensor-flow
개발자를 위한 공감세미나 tensor-flow
 
딥러닝과 강화 학습으로 나보다 잘하는 쿠키런 AI 구현하기 DEVIEW 2016
딥러닝과 강화 학습으로 나보다 잘하는 쿠키런 AI 구현하기 DEVIEW 2016딥러닝과 강화 학습으로 나보다 잘하는 쿠키런 AI 구현하기 DEVIEW 2016
딥러닝과 강화 학습으로 나보다 잘하는 쿠키런 AI 구현하기 DEVIEW 2016
 
Ai 그까이거
Ai 그까이거Ai 그까이거
Ai 그까이거
 
Deview deep learning-김정희
Deview deep learning-김정희Deview deep learning-김정희
Deview deep learning-김정희
 
A neural image caption generator
A neural image caption generatorA neural image caption generator
A neural image caption generator
 
딥 러닝 자연어 처리를 학습을 위한 파워포인트. (Deep Learning for Natural Language Processing)
딥 러닝 자연어 처리를 학습을 위한 파워포인트. (Deep Learning for Natural Language Processing)딥 러닝 자연어 처리를 학습을 위한 파워포인트. (Deep Learning for Natural Language Processing)
딥 러닝 자연어 처리를 학습을 위한 파워포인트. (Deep Learning for Natural Language Processing)
 
Lecture 2: Supervised Learning
Lecture 2: Supervised LearningLecture 2: Supervised Learning
Lecture 2: Supervised Learning
 
딥러닝의 기본
딥러닝의 기본딥러닝의 기본
딥러닝의 기본
 
keras 빨리 훑어보기(intro)
keras 빨리 훑어보기(intro)keras 빨리 훑어보기(intro)
keras 빨리 훑어보기(intro)
 
집단지성 프로그래밍 07-고급 분류 기법-커널 기법과 svm-01
집단지성 프로그래밍 07-고급 분류 기법-커널 기법과 svm-01집단지성 프로그래밍 07-고급 분류 기법-커널 기법과 svm-01
집단지성 프로그래밍 07-고급 분류 기법-커널 기법과 svm-01
 

Similar to Adversarial Attack in Neural Machine Translation

머신러닝의 자연어 처리기술(I)
머신러닝의 자연어 처리기술(I)머신러닝의 자연어 처리기술(I)
머신러닝의 자연어 처리기술(I)
홍배 김
 
2.supervised learning(epoch#2)-3
2.supervised learning(epoch#2)-32.supervised learning(epoch#2)-3
2.supervised learning(epoch#2)-3
Haesun Park
 
Code로 이해하는 RNN
Code로 이해하는 RNNCode로 이해하는 RNN
Code로 이해하는 RNN
SANG WON PARK
 
Computational Complexity
Computational ComplexityComputational Complexity
Computational Complexity
skku_npc
 
R.T.Bach
R.T.BachR.T.Bach
R.T.Bach
수철 박
 
[홍대 머신러닝 스터디 - 핸즈온 머신러닝] 2장. 머신러닝 프로젝트 처음부터 끝까지
[홍대 머신러닝 스터디 - 핸즈온 머신러닝] 2장. 머신러닝 프로젝트 처음부터 끝까지[홍대 머신러닝 스터디 - 핸즈온 머신러닝] 2장. 머신러닝 프로젝트 처음부터 끝까지
[홍대 머신러닝 스터디 - 핸즈온 머신러닝] 2장. 머신러닝 프로젝트 처음부터 끝까지
Haesun Park
 
2.linear regression and logistic regression
2.linear regression and logistic regression2.linear regression and logistic regression
2.linear regression and logistic regression
Haesun Park
 
Deep Learning from scratch 4장 : neural network learning
Deep Learning from scratch 4장 : neural network learningDeep Learning from scratch 4장 : neural network learning
Deep Learning from scratch 4장 : neural network learning
JinSooKim80
 
파이썬정리 20160130
파이썬정리 20160130파이썬정리 20160130
파이썬정리 20160130
Yong Joon Moon
 
1.자료구조와 알고리즘(강의자료)
1.자료구조와 알고리즘(강의자료)1.자료구조와 알고리즘(강의자료)
1.자료구조와 알고리즘(강의자료)fmbvbfhs
 
제7장 비불리언 모델
제7장 비불리언 모델제7장 비불리언 모델
제7장 비불리언 모델
Chang-yong Jung
 
Recurrent Neural Net의 이론과 설명
Recurrent Neural Net의 이론과 설명Recurrent Neural Net의 이론과 설명
Recurrent Neural Net의 이론과 설명
홍배 김
 
2.supervised learning
2.supervised learning2.supervised learning
2.supervised learning
Haesun Park
 
알고리즘과 자료구조
알고리즘과 자료구조알고리즘과 자료구조
알고리즘과 자료구조
영기 김
 
딥러닝을 위한 Tensor flow(skt academy)
딥러닝을 위한 Tensor flow(skt academy)딥러닝을 위한 Tensor flow(skt academy)
딥러닝을 위한 Tensor flow(skt academy)
Tae Young Lee
 
밑바닥부터시작하는딥러닝 Ch05
밑바닥부터시작하는딥러닝 Ch05밑바닥부터시작하는딥러닝 Ch05
밑바닥부터시작하는딥러닝 Ch05
HyeonSeok Choi
 
해커에게 전해들은 머신러닝 #4
해커에게 전해들은 머신러닝 #4해커에게 전해들은 머신러닝 #4
해커에게 전해들은 머신러닝 #4
Haesun Park
 

Similar to Adversarial Attack in Neural Machine Translation (20)

머신러닝의 자연어 처리기술(I)
머신러닝의 자연어 처리기술(I)머신러닝의 자연어 처리기술(I)
머신러닝의 자연어 처리기술(I)
 
Rdatamining
Rdatamining Rdatamining
Rdatamining
 
2.supervised learning(epoch#2)-3
2.supervised learning(epoch#2)-32.supervised learning(epoch#2)-3
2.supervised learning(epoch#2)-3
 
Code로 이해하는 RNN
Code로 이해하는 RNNCode로 이해하는 RNN
Code로 이해하는 RNN
 
Computational Complexity
Computational ComplexityComputational Complexity
Computational Complexity
 
R.T.Bach
R.T.BachR.T.Bach
R.T.Bach
 
[홍대 머신러닝 스터디 - 핸즈온 머신러닝] 2장. 머신러닝 프로젝트 처음부터 끝까지
[홍대 머신러닝 스터디 - 핸즈온 머신러닝] 2장. 머신러닝 프로젝트 처음부터 끝까지[홍대 머신러닝 스터디 - 핸즈온 머신러닝] 2장. 머신러닝 프로젝트 처음부터 끝까지
[홍대 머신러닝 스터디 - 핸즈온 머신러닝] 2장. 머신러닝 프로젝트 처음부터 끝까지
 
2.linear regression and logistic regression
2.linear regression and logistic regression2.linear regression and logistic regression
2.linear regression and logistic regression
 
Deep Learning from scratch 4장 : neural network learning
Deep Learning from scratch 4장 : neural network learningDeep Learning from scratch 4장 : neural network learning
Deep Learning from scratch 4장 : neural network learning
 
파이썬정리 20160130
파이썬정리 20160130파이썬정리 20160130
파이썬정리 20160130
 
1.자료구조와 알고리즘(강의자료)
1.자료구조와 알고리즘(강의자료)1.자료구조와 알고리즘(강의자료)
1.자료구조와 알고리즘(강의자료)
 
제7장 비불리언 모델
제7장 비불리언 모델제7장 비불리언 모델
제7장 비불리언 모델
 
Recurrent Neural Net의 이론과 설명
Recurrent Neural Net의 이론과 설명Recurrent Neural Net의 이론과 설명
Recurrent Neural Net의 이론과 설명
 
2.supervised learning
2.supervised learning2.supervised learning
2.supervised learning
 
알고리즘과 자료구조
알고리즘과 자료구조알고리즘과 자료구조
알고리즘과 자료구조
 
딥러닝을 위한 Tensor flow(skt academy)
딥러닝을 위한 Tensor flow(skt academy)딥러닝을 위한 Tensor flow(skt academy)
딥러닝을 위한 Tensor flow(skt academy)
 
R_datamining
R_dataminingR_datamining
R_datamining
 
밑바닥부터시작하는딥러닝 Ch05
밑바닥부터시작하는딥러닝 Ch05밑바닥부터시작하는딥러닝 Ch05
밑바닥부터시작하는딥러닝 Ch05
 
강의자료 2
강의자료 2강의자료 2
강의자료 2
 
해커에게 전해들은 머신러닝 #4
해커에게 전해들은 머신러닝 #4해커에게 전해들은 머신러닝 #4
해커에게 전해들은 머신러닝 #4
 

More from HyunKyu Jeon

[PR-358] Training Differentially Private Generative Models with Sinkhorn Dive...
[PR-358] Training Differentially Private Generative Models with Sinkhorn Dive...[PR-358] Training Differentially Private Generative Models with Sinkhorn Dive...
[PR-358] Training Differentially Private Generative Models with Sinkhorn Dive...
HyunKyu Jeon
 
Super tickets in pre trained language models
Super tickets in pre trained language modelsSuper tickets in pre trained language models
Super tickets in pre trained language models
HyunKyu Jeon
 
Synthesizer rethinking self-attention for transformer models
Synthesizer rethinking self-attention for transformer models Synthesizer rethinking self-attention for transformer models
Synthesizer rethinking self-attention for transformer models
HyunKyu Jeon
 
Domain Invariant Representation Learning with Domain Density Transformations
Domain Invariant Representation Learning with Domain Density TransformationsDomain Invariant Representation Learning with Domain Density Transformations
Domain Invariant Representation Learning with Domain Density Transformations
HyunKyu Jeon
 
Meta back translation
Meta back translationMeta back translation
Meta back translation
HyunKyu Jeon
 
Maxmin qlearning controlling the estimation bias of qlearning
Maxmin qlearning controlling the estimation bias of qlearningMaxmin qlearning controlling the estimation bias of qlearning
Maxmin qlearning controlling the estimation bias of qlearning
HyunKyu Jeon
 
십분딥러닝_19_ALL_ABOUT_CNN
십분딥러닝_19_ALL_ABOUT_CNN십분딥러닝_19_ALL_ABOUT_CNN
십분딥러닝_19_ALL_ABOUT_CNN
HyunKyu Jeon
 
십분수학_Entropy and KL-Divergence
십분수학_Entropy and KL-Divergence십분수학_Entropy and KL-Divergence
십분수학_Entropy and KL-Divergence
HyunKyu Jeon
 
(edited) 십분딥러닝_17_DIM(DeepInfoMax)
(edited) 십분딥러닝_17_DIM(DeepInfoMax)(edited) 십분딥러닝_17_DIM(DeepInfoMax)
(edited) 십분딥러닝_17_DIM(DeepInfoMax)
HyunKyu Jeon
 
십분딥러닝_18_GumBolt (VAE with Boltzmann Machine)
십분딥러닝_18_GumBolt (VAE with Boltzmann Machine)십분딥러닝_18_GumBolt (VAE with Boltzmann Machine)
십분딥러닝_18_GumBolt (VAE with Boltzmann Machine)
HyunKyu Jeon
 
십분딥러닝_17_DIM(Deep InfoMax)
십분딥러닝_17_DIM(Deep InfoMax)십분딥러닝_17_DIM(Deep InfoMax)
십분딥러닝_17_DIM(Deep InfoMax)
HyunKyu Jeon
 
십분딥러닝_16_WGAN (Wasserstein GANs)
십분딥러닝_16_WGAN (Wasserstein GANs)십분딥러닝_16_WGAN (Wasserstein GANs)
십분딥러닝_16_WGAN (Wasserstein GANs)
HyunKyu Jeon
 
십분딥러닝_15_SSD(Single Shot Multibox Detector)
십분딥러닝_15_SSD(Single Shot Multibox Detector)십분딥러닝_15_SSD(Single Shot Multibox Detector)
십분딥러닝_15_SSD(Single Shot Multibox Detector)
HyunKyu Jeon
 
십분딥러닝_14_YOLO(You Only Look Once)
십분딥러닝_14_YOLO(You Only Look Once)십분딥러닝_14_YOLO(You Only Look Once)
십분딥러닝_14_YOLO(You Only Look Once)
HyunKyu Jeon
 
십분딥러닝_13_Transformer Networks (Self Attention)
십분딥러닝_13_Transformer Networks (Self Attention)십분딥러닝_13_Transformer Networks (Self Attention)
십분딥러닝_13_Transformer Networks (Self Attention)
HyunKyu Jeon
 
십분딥러닝_12_어텐션(Attention Mechanism)
십분딥러닝_12_어텐션(Attention Mechanism)십분딥러닝_12_어텐션(Attention Mechanism)
십분딥러닝_12_어텐션(Attention Mechanism)
HyunKyu Jeon
 
십분딥러닝_11_LSTM (Long Short Term Memory)
십분딥러닝_11_LSTM (Long Short Term Memory)십분딥러닝_11_LSTM (Long Short Term Memory)
십분딥러닝_11_LSTM (Long Short Term Memory)
HyunKyu Jeon
 
십분딥러닝_10_R-CNN
십분딥러닝_10_R-CNN십분딥러닝_10_R-CNN
십분딥러닝_10_R-CNN
HyunKyu Jeon
 
십분딥러닝_9_VAE(Variational Autoencoder)
십분딥러닝_9_VAE(Variational Autoencoder)십분딥러닝_9_VAE(Variational Autoencoder)
십분딥러닝_9_VAE(Variational Autoencoder)
HyunKyu Jeon
 
십분딥러닝_7_GANs (Edited)
십분딥러닝_7_GANs (Edited)십분딥러닝_7_GANs (Edited)
십분딥러닝_7_GANs (Edited)
HyunKyu Jeon
 

More from HyunKyu Jeon (20)

[PR-358] Training Differentially Private Generative Models with Sinkhorn Dive...
[PR-358] Training Differentially Private Generative Models with Sinkhorn Dive...[PR-358] Training Differentially Private Generative Models with Sinkhorn Dive...
[PR-358] Training Differentially Private Generative Models with Sinkhorn Dive...
 
Super tickets in pre trained language models
Super tickets in pre trained language modelsSuper tickets in pre trained language models
Super tickets in pre trained language models
 
Synthesizer rethinking self-attention for transformer models
Synthesizer rethinking self-attention for transformer models Synthesizer rethinking self-attention for transformer models
Synthesizer rethinking self-attention for transformer models
 
Domain Invariant Representation Learning with Domain Density Transformations
Domain Invariant Representation Learning with Domain Density TransformationsDomain Invariant Representation Learning with Domain Density Transformations
Domain Invariant Representation Learning with Domain Density Transformations
 
Meta back translation
Meta back translationMeta back translation
Meta back translation
 
Maxmin qlearning controlling the estimation bias of qlearning
Maxmin qlearning controlling the estimation bias of qlearningMaxmin qlearning controlling the estimation bias of qlearning
Maxmin qlearning controlling the estimation bias of qlearning
 
십분딥러닝_19_ALL_ABOUT_CNN
십분딥러닝_19_ALL_ABOUT_CNN십분딥러닝_19_ALL_ABOUT_CNN
십분딥러닝_19_ALL_ABOUT_CNN
 
십분수학_Entropy and KL-Divergence
십분수학_Entropy and KL-Divergence십분수학_Entropy and KL-Divergence
십분수학_Entropy and KL-Divergence
 
(edited) 십분딥러닝_17_DIM(DeepInfoMax)
(edited) 십분딥러닝_17_DIM(DeepInfoMax)(edited) 십분딥러닝_17_DIM(DeepInfoMax)
(edited) 십분딥러닝_17_DIM(DeepInfoMax)
 
십분딥러닝_18_GumBolt (VAE with Boltzmann Machine)
십분딥러닝_18_GumBolt (VAE with Boltzmann Machine)십분딥러닝_18_GumBolt (VAE with Boltzmann Machine)
십분딥러닝_18_GumBolt (VAE with Boltzmann Machine)
 
십분딥러닝_17_DIM(Deep InfoMax)
십분딥러닝_17_DIM(Deep InfoMax)십분딥러닝_17_DIM(Deep InfoMax)
십분딥러닝_17_DIM(Deep InfoMax)
 
십분딥러닝_16_WGAN (Wasserstein GANs)
십분딥러닝_16_WGAN (Wasserstein GANs)십분딥러닝_16_WGAN (Wasserstein GANs)
십분딥러닝_16_WGAN (Wasserstein GANs)
 
십분딥러닝_15_SSD(Single Shot Multibox Detector)
십분딥러닝_15_SSD(Single Shot Multibox Detector)십분딥러닝_15_SSD(Single Shot Multibox Detector)
십분딥러닝_15_SSD(Single Shot Multibox Detector)
 
십분딥러닝_14_YOLO(You Only Look Once)
십분딥러닝_14_YOLO(You Only Look Once)십분딥러닝_14_YOLO(You Only Look Once)
십분딥러닝_14_YOLO(You Only Look Once)
 
십분딥러닝_13_Transformer Networks (Self Attention)
십분딥러닝_13_Transformer Networks (Self Attention)십분딥러닝_13_Transformer Networks (Self Attention)
십분딥러닝_13_Transformer Networks (Self Attention)
 
십분딥러닝_12_어텐션(Attention Mechanism)
십분딥러닝_12_어텐션(Attention Mechanism)십분딥러닝_12_어텐션(Attention Mechanism)
십분딥러닝_12_어텐션(Attention Mechanism)
 
십분딥러닝_11_LSTM (Long Short Term Memory)
십분딥러닝_11_LSTM (Long Short Term Memory)십분딥러닝_11_LSTM (Long Short Term Memory)
십분딥러닝_11_LSTM (Long Short Term Memory)
 
십분딥러닝_10_R-CNN
십분딥러닝_10_R-CNN십분딥러닝_10_R-CNN
십분딥러닝_10_R-CNN
 
십분딥러닝_9_VAE(Variational Autoencoder)
십분딥러닝_9_VAE(Variational Autoencoder)십분딥러닝_9_VAE(Variational Autoencoder)
십분딥러닝_9_VAE(Variational Autoencoder)
 
십분딥러닝_7_GANs (Edited)
십분딥러닝_7_GANs (Edited)십분딥러닝_7_GANs (Edited)
십분딥러닝_7_GANs (Edited)
 

Adversarial Attack in Neural Machine Translation

  • 1. Invariance-based Adversarial Attack on Neural Machine Translation System Akshay Chaturvedi, Abijith KP, and Utpal Garain, Member, IEEE Arxiv:1908.01165v1 [cs LG] 3 Aug 2019
  • 2. Invariance-based Adversarial Attack on NMT 1. 적대적 공격의 정의 적대적 공격(Adversarial Attack)은 입력 값에 미세한 또는 알아채기 힘든 변화를 주어 모델이 잘못된 결과를 출력하도록 속이는 방법을 말하며, 머신러닝에서는 이를 모델학습의 강건함(robustness)을 높이는 데 활용한다. 적대적 공격에 강건한(robust) 방향으로 학습을 진행하여, 모델의 과적합(overfitting)을 방지하고 실제 과제 수행에 있어서 보다 안정적으로 과제를 수행할 수 있게끔 한다. 추가적으로, 디노이징(denoising) 기법과의 차이점은 의도적으로 더해진 노이즈에도 견딜 수 있도록 모델을 학습한다는 점이다. 2. 적대적 공격의 의의 적대적 공격의 정의와 의의 MODEL “CAT” (correct) (incorrect) MODEL “DOG” original modified (noise added)
  • 3. Invariance-based Adversarial Attack on NMT 1. 자연어 처리에서의 적대적 공격의 까다로움 일반적으로 적대적 공격은 자연어 처리 영역에서 실행하기 까다로운데, 그 이유는 자연어는 이산적(discrete) 값으로 처리되기 때문에 노이즈가 추가되어도 유효하게(valid) 적용될 가능성이 적기 때문이다. 2. 신경망 기계번역에서의 적대적 공격 신경망 기계 번역(NMT)에서의 적대적 공격은, 학습을 통해 소스 언어 데이터와 타깃 언어 데이터가 사상(mapping) 된 모델에 대해, 소스 언어 데이터에 노이즈를 추가하여 사상된 타깃이 아닌 다른 (공역 내의) 결과가 나오도록 하는 것을 말한다. 적대적 공격과 자연어 처리 0. 21. 12. 255. 2. 101. 1. 255. 1.1 100. 111. 255. 2. 111. 121. 255. 0. 21.2 12.5 255. 2. 101. 1. 255. 1.1 100. 111.1 255. 2. 111. 121. 255. <연속적인 값을 가진 데이터에서의 노이즈 추가> 0 1 6 10 1 2.1 6 11 <분류형 값을 가진 데이터에서의 노이즈 추가> 적은 노이즈가 추가된 값(2.1)은 의미 공간 상에서 유효하지 않음. 전체의 ‘인덱스-단어’ 사전에서 인덱스의 최대 값이 10 이라면 11은 유효하지 않음. i-th Source Sequences i-th Target Sequences i-th Source Sequences mis-matchedwell-matched ! k-th Target Sequences Well Trained Attacked (Noise Added)
  • 4. Invariance-based Adversarial Attack on NMT 1. HotFlip 기법의 정의 HotFlip은 원-핫 인코딩을 활용하여 변환된 입력 데이터의 그레이디언트를 계산하고 이를 바탕으로 글자(charicter)를 대체하여 특정 데이터에 대한 적대적인 예제(Adversarial Examples)를 생성하는 기법을 말한다. (단어 단위로 확장하여 사용 가능.) 2. HotFlip 기법의 구현 1) 글자를 원-핫 인코딩을 사용하여 변환 기존의 적대적 공격 방법; HotFlip 기법 [ “the quick brown fox jumps over the lazy dog” ] [ “the quick brown fox jumbs over the lazy dog” ]▶ x x₁₁,… , x₁n x₂n)= (( ), x₂₁, … , )( , , x nx 1m m x m : ,, 단어의 갯수 n : 최대 글자의 수 (설정)where ∈{0, 1} |alphabet| nm,…… , )( sentence vectorized [ “the quick brown fox jumps over the lazy dog” ] [ [ [c(t), , ,c(h) c(e) , , , ,… … ……c(0)c(0) ] ] [, … ] ] : 알파벳의 인덱스 값은 1이고 나머지는 0인 벡터. (27차원 벡터) c(alphabet) e.g. c(b) = [ 0, 0, 1 , 0, 0, …, 0, 0]
  • 5. Invariance-based Adversarial Attack on NMT 타깃 문장(Target Sentence)에 대한 입력 문장(Source Sentence)의 그레이디언트 값을 바탕으로 이를 최소화하는 단어를 바꿀 단어로 선택하고, Soft Attention을 바탕으로 해당 단어를 어떤 것으로 바꿀지 결정하고 이를 대체하는 방법을 말한다. Min-Grad를 통해 예측하려는 타깃에 가장 작은 영향을 미치는 단어를 바꿀 대상으로 선택하고, Soft-Att.를 통해 다른 단어 중 어떤 단어로 바꾸면 좋을지를 결정하고 이를 ‘대체(replace)’하는 것을 목표로 하는 알고리즘이다. 1. Min-Grad & Soft-Att. 기법의 정의 2. Min-Grad & Soft-Att. 기법의 절차 및 의의 제안; Min-Grad & Soft-Att. 기법 Min-Grad Soft-Att. Modifying 1) 타깃값에 대한 입력값의 NLL을 계산. 2) NLL의 크기를 최소화하는 단어 선택. 1) 바꿀 단어를 바탕으로 NLL 계산. 2) NLL 값에 Soft-Attention 적용. 1) 앞의 결과를 바탕으로 단어를 대체. 2) 특정 횟수만큼 앞의 과정을 반복.
  • 6. Invariance-based Adversarial Attack on NMT 1. 단어사전 정제(Vocabulary Pruning) 2. 데이터 인코딩(Data Encoding); 데이터를 벡터로 변환 전처리; 단어 정제 및 데이터 인코딩 Vshared Vunique Vshared Vunique Vprune 입력과 타겟 언어의 단어들을 더해 만든 전체 단어사전. 입력 단어 중 학습 데이터의 단어들로 구성된 단어사전. V 의 단어 중, 에 있는 것들로 구성된 사전. V의 단어 중 변형할 문장에 없는 단어들로 구성된 사전. { “나는”, “배를”, ”빵을”,“사과를”, “먹었습니다”, “I”, “ate”, “a”, ”an”, “pear”, “apple”..} { “나는”, “배를”, ”빵을”, “먹었습니다” } { “배를” } ※ 위의 예시는 매우 적은 문장을 대상으로 예를 들어 설명한 것으로, 실제 학습 과정에서는 각 단어 사전의 요소들이 풍부하게 구성됩니다. ▶ { “나는”, “배를”, “빵을”, “먹었습니다” } [[ “나는”, “배를”, “먹었습니다” ],[ “나는”, “빵을”, “먹었습니다” ]]학습데이터: [ “나는”, “빵을”, “먹었습니다” ]변형할 문장: sorg [ “나는”, “빵을”, “먹었습니다” ]변형할 문장 :( ) x x₁₁[[ ],, …, x₁m x₂₁[ ],, …, x₂m x₃₁[ ]], …, x₃m m: 의 길이Vshared인코딩된 문장 :( )
  • 7. Invariance-based Adversarial Attack on NMT 특정 위치의 타깃 언어에 대한 조건부 확률에 로그를 씌운 값의 그라디언트를 계산하고, 이것의 L2 Norm을 최소화하는 인덱스를 찾는 방법을 말하며, 적대적 학습에서 ‘대체’할 단어의 인덱스를 찾는 데에 활용된다. 이전 출력값과 입력값을 바탕으로 예측하고자 하는 출력 단어의 확률 값의 로그 값들을 계산하고 이것의 L2 Norm을 최소화하는 임베딩된 입력의 위치를 계산하여, 예측에 영향을 최소화하면서 적대적 공격을 할 수 있도록 하는 인덱스를 찾는 것을 목표로 한다. 1. Min-Grad 기법의 정의 2. Min-Grad 기법의 절차 Algorithm-1; Min-Grad ProcessInputs Output - 입력 시퀀스(source sequence) - 입력 시퀀스를 데이터 인코딩을 통해 벡터(x)로 변환 > 임베딩을 통해 축소된 차원의 벡터(e)로 변환. 바뀔 요소의 위치 (L2-norm가 최소) - 출력 시퀀스(target sequence) - 기존에 대체된 단어의 인덱스들 - 데이터 인코딩된 벡터(x)를 바탕으로 타깃 문장에 대한 Negative Log Likelihood(NLL) 값을 구함. - NLL에 대한 임베딩 벡터(e)의 요소 별 그레이디언트 값 중 L2-norm이 최소가 되는 요소의 위치를 구함.
  • 8. Invariance-based Adversarial Attack on NMT 3. Process Details 1) 입력 시퀀스를 데이터 인코딩을 통해 벡터(x)로 변환 > 임베딩을 통해 축소된 차원의 벡터(e)로 변환. s = ( )org s ,₁ org s …₂ org , , sn org x x₁₁,…, x₁|Vshared| |Vshared|)= (( ), , xx 1n n,…… , )( e e₁= ( ,…, en e 는 d-차원의 벡터i) 2) 데이터 인코딩된 벡터(x)를 바탕으로 타깃 문장에 대한 Negative Log Likelihood(NLL) 값을 구함. L = log (q ti i m =1 org t x )),i< org ( |∑- = = { } log∏ q ti i m =1 org t x ),i< org ( | q tm org tm-1 org x ),…, tm-1 org ,( |q t1 org x )( | q× × ×…t ,2 org t1 org x )( | - log- nll 입력값과 이전 출력값(Sequential Output)이 주어졌을 때 현재의 출력값이 등장할 확률 3) NLL에 대한 임베딩 벡터(e)의 요소 별 그레이디언트 값 중 L2-norm이 최소가 되는 요소의 위치를 구함. log∏q tk k m =1 org t x ),k< org ( |-r = =argmin i indvis∈ || e Li nll 2 || argmin i indvis∈ || ei 2 || e, f(x)=ind {1,…⊆ n},vis f :F →|Vshared| n× Fd n×
  • 9. Invariance-based Adversarial Attack on NMT 1. Soft-Att. 기법의 정의 선택된 대체할 단어에 대응되는 확률값을 이용하여 소프트 어텐션(Soft-Attention)을 적용하고 이를 바탕으로, 대상을 단어 사전 내의 어떤 단어로 바꿀 것인지를 결정하는 기법을 말한다. 2. Soft-Att.기법의 구현 Algorithm-2; Soft-Att. ProcessInputs Output - 입력 시퀀스(source sequence) - 입력 시퀀스(s)와 대체 단어 인덱스(r)을 바탕으로 특정단어(x’)와 그에 대응되는 확률(p)의 벡터를 구함. - 선택된 인덱스 - 손실값(loss) - 타깃 시퀀스(target sequence) - 대체하고자 하는 단어 인덱스 - 전체 단어사전의 크기와 동일한 차원의 count 벡터를 만들고 0으로 초기화. - 특정단어의 벡터(x’)과 타깃 시퀀스를 바탕으로 NLL을 계산하고 이를 바탕으로 벡터 p의 값을 업데이트. - x’ 또한 업데이트 후, p의 요소들 중 최대 값과 그 인덱스를 뽑고, 특정 조건을 넘으면 count 벡터를 갱신. ind { 1 ,… ,n }vis L for ( ),x torg nll ⊆ Soft/Hard Attention Soft: 어텐션 가중치를 입력값에 적용하여 나타냄(deterministic). (easy to diff.) (hard to diff.)Hard: 어텐션 가중치를 샘플링 비율하여 특정 영역을 샘플링함(stochastic). Z = ∑ n i=1 i xi Z ix~ ,i
  • 10. Invariance-based Adversarial Attack on NMT 3. Process Detail 1) 입력 시퀀스(s)와 대체 단어 인덱스(r)을 바탕으로 입력벡터(x’), 대응되는 확률(p), 카운트(count)벡터를 생성 및 초기화 2) 특정단어의 벡터(x’)과 타깃 시퀀스를 바탕으로 NLL을 계산하고 이를 바탕으로 벡터 p의 값을 업데이트. 3) x’ 을 업데이트 > p의 요소들 중 최대 값과 그 인덱스를 뽑기 > 특정 조건을 넘으면 카운트 벡터를 갱신 > 반복 및 결과 출력 s = ( )org s ,₁ org s …₂ org sorg , , , … , snr org 대상이 되는 문장 만약※ 특정 기준치(가 내에 )를 넘기면 과정을 종료하고 와 를 출력. L = log (q ti i m =1 org t x )),i< org ( |∑-nll x₁₁,…, x₁|Vshared| |Vshared|)((x = ), xr₁,…, xr|Vshared| )(, , , xx 1n n,…… … , )( x₁₁,…, x₁|Vshared| |Vshared|)((x = ), p₁,… , p|Vshared| )(, , , xx 1n n,…… … , )( (k+1) (k+1) x₁₁,…, x₁|Vshared| |Vshared|)((x = ), p₁,… , p|Vshared| )(, , , xx 1n (k) (k) n,…… … , )( x₁₁,…, x₁|Vshared| |Vshared|)((x = ), p₁,… , p|V p count = (0, ,0… , ,0… )c , 0, max (p )(k+1) argmax, (p )(k+1) =,max indword indword loss indword cif elsep > +=1max max ,prob indword c =0indword cind nitermaxiterword shared| )(, , , xx 1n n,…… … , )( p = ( ) , {p ,₁ p p p =₂ …, , |V ishared | |Vprune| Vif p ∈ prunei otherwise 1/ 0 count |count| | |Vshared=,= 0, 0, …,0( ) 원-핫 인코딩된 확률 공간에서 부분적으로 일정한(uniform) 확률공간으로 변경 = - {p }log (q ti (k) (k)(k+1) p 0if ≠ip, i m =1 org t x )),iii < org ( |∑-p(k)
  • 11. Invariance-based Adversarial Attack on NMT 1. Min-Grad+Soft-Att. (Proposed) 기법의 정의 Min-Grad 기법과 Soft-Att. 기법을 결합한 것으로 반복 과정마다 생성된 몇 개의 손실(loss) 값들을 비교하여, 이를 바탕으로 단어 를 대체하여 적대적 공격을 위한 문장을 만드는 방법이다. Min-Grad 와 Soft-Att. 기법을 활용하여 손실(loss)값을 계산하고 이를 이전 단계의 것과 비교하여 현재의 손실값이 낮을 경우에 갱신을 하여 NLL의 관점에서 더 좋은 (적대적)문장으로 업데이트 할 수 있게끔 하는 것을 목표로 하고 있다. 2. Min-Grad+Soft-Att. (Proposed) 기법의 절차 및 구현 Algorithm-3; Min-Grad + Soft-Att. Inputs Output - 입력 시퀀스(source sequence) - 적대적 공격을 위한 시퀀스 - 타깃 시퀀스(target sequence) 1. Get from org org org minnllsx flag False while len n do the follows:≠( indvis )ind []←vis//= 3) if vis min org sharedr ∈ind l wordindmax loss l //, )( s V [ ] // flag=True[r ←]←and ,loss <l 2) append //to visind word visindr Soft-Att s, torg , ind )(loss ←, ← L// // //x t,for ( ) nll1) Get from // //sx l L← org x t,for ( ) r Min-Grad← org s t, visind,( ) l org s← len ( )n org s←s // ←l 100 rep// ←ind sweepmax [] if not flag then break s sadv sreturn adv ← 4) if vis min rep min org shared r ∈ind l//, wordind max loss l, )( s V [ ] //// flag=True[r ←] ←and loss append to indr<l
  • 12. Invariance-based Adversarial Attack on NMT 실험 결과 1. Success Rate 2. BLUE Score Model Method en-de en-fr Success Rate NOR Success Rate NOR BLSTM random + HotFlip 25.4% 0.23, 0.21 28.2% 0.21, 0.18 Min-Grad + HotFlip 31.8% 0.22, 0.19 40.2% 0.19, 0.17 random + Soft-Att 61.2% 0.58, 0.62 64.6% 0.62, 0.67 Min-Grad + Soft-Att 67.8% 0.58, 0.61 70.8% 0.61, 0.66 Transformer random + HotFlip 35.0% 0.26, 0.24 40.6% 0.24, 0.21 Min-Grad + HotFlip 45.0% 0.26, 0.24 44.0% 0.23, 0.21 random + Soft-Att 50.2% 0.40, 0.39 59.0% 0.37, 0.35 Min-Grad + Soft-Att 61.6% 0.41, 0.42 64.8% 0.36, 0.34 Transformer Method src l1 l2 l blstm 1 l blstm 2 en-de random+HotFlip 51.04 80.49 47.53 36.42 43.66 Min-Grad+HotFlip 53.23 83.13 49.15 36.51 44.76 random+Soft-Att 32.01 84.79 29.72 20.62 27.85 Min-Grad+Soft-Att 31.17 88.55 31.09 20.63 27.43 en-fr random+HotFlip 55.51 85.18 40.35 52.00 36.18 Min-Grad+HotFlip 57.92 88.40 41.98 54.39 37.68 random+Soft-Att 33.61 89.77 21.59 32.37 19.09 Min-Grad+Soft-Att 35.40 91.99 23.28 34.32 20.29 BLSTM Method src l1 l2 ltrans 1 ltrans 2 en-de random + HotFlip 57.09 71.35 48.84 43.90 49.42 Min-Grad + HotFlip 59.28 75.55 50.38 45.96 52.26 random + Soft-Att 13.77 87.14 19.20 18.36 21.62 Min-Grad + Soft-Att 14.49 89.86 19.74 18.51 21.98 en-fr random + HotFlip 60.87 79.62 39.28 58.60 41.73 Min-Grad + HotFlip 63.97 84.87 41.16 61.80 44.94 random + Soft-Att 12.99 92.44 10.62 28.34 12.12 Min-Grad + Soft-Att 12.66 93.87 9.95 27.21 11.92
  • 13. Invariance-based Adversarial Attack on NMT 2) 인코딩된 문장을 그레이디언트를 바탕으로 플립(Flip) 3) 점수(score)를 기반으로 여러 번(multiple)의 플립을 실행 v …= ( , … … … … …, ,;i j b j i0 ( 0 )0 0(0 ,-1 , , ;0 , , ,1 ) )0 , J( =x x, y) J T ( x, y) vi j bvi j b score ( c₁ c₂, , , nc… ) = + + … x Jmax = T ( x, y) vi j b J (b) ∂ xi j∂ J (a) ∂ xi j∂ max - x Jmax = + ( )T ( x, y) vi j b x = 1, ,i ( )a j x = 1i ( )b j -1 J (b) ∂ xi j∂ J (a) ∂ xi j∂ max ∑ n j j +1= - J (b) ∂ xi j∂ J (a) ∂ xi j∂ - J x( )∂ c1 0 ∂ J x( )∂ c2 1 ∂ + J x( )∂ cn n-1 ∂