Deep learning기법을 이상진단 등에 적용할 경우, 정상과 이상 data-set간의 심각한 unbalance가 문제. 본 논문에서는 GAN 기법을 이용하여 정상 data-set만의 Manifold(축약된 모델)를 찾아낸 후 Query data에 대하여 기 훈련된 GAN 모델로 Manifold로의 mapping을 수행함으로서 기 훈련된 정상 data-set과의 차이가 있는지 여부를 판단하여 Query data의 이상 유무를 결정하고 영상 내에 존재하는 이상 영역을 pixel-wise segmentation 하여 제시함.
One-stage Network(YOLO, SSD 등)의 문제점 예를 들어 근본적인 문제인 # of Hard positives(object) << # of Easy negatives(back ground) 또는 large object 와 small object 를 동시에 detect하는 경우 등과 같이 극단적인 Class 간 unbalance나 난이도에서 차이가 나는 문제가 동시에 존재함으로써 발생하는 문제를 해결하기 위하여 제시된 Focal loss를 class간 아주 극단적인 unbalance data에 대한 classification 문제(예를 들어 1:10이나 1:100)에 적용한 실험결과가 있어서 정리해봤습니다. 결과적으로 hyper parameter의 설정에 매우 민감하다는 실험결과와 잘만 활용할 경우, class간 unbalance를 해결하기 위한 data level의 sampling 방법이나 classifier level에서의 특별한 고려 없이 좋은 결과를 얻을 수 있다는 내용입니다.
Deep learning기법을 이상진단 등에 적용할 경우, 정상과 이상 data-set간의 심각한 unbalance가 문제. 본 논문에서는 GAN 기법을 이용하여 정상 data-set만의 Manifold(축약된 모델)를 찾아낸 후 Query data에 대하여 기 훈련된 GAN 모델로 Manifold로의 mapping을 수행함으로서 기 훈련된 정상 data-set과의 차이가 있는지 여부를 판단하여 Query data의 이상 유무를 결정하고 영상 내에 존재하는 이상 영역을 pixel-wise segmentation 하여 제시함.
One-stage Network(YOLO, SSD 등)의 문제점 예를 들어 근본적인 문제인 # of Hard positives(object) << # of Easy negatives(back ground) 또는 large object 와 small object 를 동시에 detect하는 경우 등과 같이 극단적인 Class 간 unbalance나 난이도에서 차이가 나는 문제가 동시에 존재함으로써 발생하는 문제를 해결하기 위하여 제시된 Focal loss를 class간 아주 극단적인 unbalance data에 대한 classification 문제(예를 들어 1:10이나 1:100)에 적용한 실험결과가 있어서 정리해봤습니다. 결과적으로 hyper parameter의 설정에 매우 민감하다는 실험결과와 잘만 활용할 경우, class간 unbalance를 해결하기 위한 data level의 sampling 방법이나 classifier level에서의 특별한 고려 없이 좋은 결과를 얻을 수 있다는 내용입니다.
모두를 위한 Deep Reinforcement Learning 강의를 요약정리
http://hunkim.github.io/ml/
실습에 사용된 코드
https://github.com/freepsw/tensorflow_examples/tree/master/20.RL_by_SungKim
Coursera Machine Learning (by Andrew Ng)_강의정리SANG WON PARK
단순히 공식으로 설명하지 않고, 실제 코드 및 샘플데이터를 이용하여 수식의 결과가 어떻게 적용되는지 자세하게 설명하고 있다.
처음 week1 ~ week4 까지는 김성훈 교수님의 "모두를 위한 딥러닝"에서 한번 이해했던 내용이라 좀 쉽게 진행했고, 나머지는 기초가 부족한 상황이라 다른 자료를 꽤 많이 참고하면서 학습해야 했다.
여러 도서나 강의를 이용하여 머신러닝을 학습하려고 했었는데, 이 강의만큼 나에게 맞는것은 없었던거 같다. 특히 Octave code를 이용한 실습자료는 나중에도 언제든 활용가능할 것 같다.
Week1
Linear Regression with One Variable
Linear Algebra - review
Week2
Linear Regression with Multiple Variables
Octave[incomplete]
Week3
Logistic Regression
Regularization
Week4
Neural Networks - Representation
Week5
Neural Networks - Learning
Week6
Advice for applying machine learning techniques
Machine Learning System Design
Week7
Support Vector Machines
Week8
Unsupervised Learning(Clustering)
Dimensionality Reduction
Week9
Anomaly Detection
Recommender Systems
Week10
Large Scale Machine Learning
Week11
Application Example - Photo OCR
Coursera Machine Learning by Andrew NG 강의를 들으면서, 궁금했던 내용을 중심으로 정리.
내가 궁금했던건, 데이터를 분류하는 Decision boundary를 만들때...
- 왜 가중치(W)와 decision boundary가 직교해야 하는지?
- margin은 어떻게 계산하는지?
- margin은 어떻게 최대화 할 수 있는지?
- 실제로 margin을 최대화 하는 과정의 수식은 어떤지?
- 비선형 decision boundary를 찾기 위해서 어떻게 kernel을 이용하는지?...
http://blog.naver.com/freepsw/221032379891
퍼셉트론의 한계를 극복하는 방법입니다. 퍼셉트론은 나오자 마자 한계에 봉착했는데, 이를 해결하기 위해 구조적인 확장을 하게 됩니다. 그러나 정작 중요한 것은 이 확장된 구조에서의 학습 방법을 오랫 동안 찾지 못한 것입니다. 여기서 소개하는 신경망 학습방법은 신경망 학습방법의 거의 전부라고 할 수 있습니다.
딥러닝과 강화 학습으로 나보다 잘하는 쿠키런 AI 구현하기 DEVIEW 2016Taehoon Kim
발표 영상 : https://goo.gl/jrKrvf
데모 영상 : https://youtu.be/exXD6wJLJ6s
Deep Q-Network, Double Q-learning, Dueling Network 등의 기술을 소개하며, hyperparameter, debugging, ensemble 등의 엔지니어링으로 성능을 끌어 올린 과정을 공유합니다.
모두를 위한 Deep Reinforcement Learning 강의를 요약정리
http://hunkim.github.io/ml/
실습에 사용된 코드
https://github.com/freepsw/tensorflow_examples/tree/master/20.RL_by_SungKim
Coursera Machine Learning (by Andrew Ng)_강의정리SANG WON PARK
단순히 공식으로 설명하지 않고, 실제 코드 및 샘플데이터를 이용하여 수식의 결과가 어떻게 적용되는지 자세하게 설명하고 있다.
처음 week1 ~ week4 까지는 김성훈 교수님의 "모두를 위한 딥러닝"에서 한번 이해했던 내용이라 좀 쉽게 진행했고, 나머지는 기초가 부족한 상황이라 다른 자료를 꽤 많이 참고하면서 학습해야 했다.
여러 도서나 강의를 이용하여 머신러닝을 학습하려고 했었는데, 이 강의만큼 나에게 맞는것은 없었던거 같다. 특히 Octave code를 이용한 실습자료는 나중에도 언제든 활용가능할 것 같다.
Week1
Linear Regression with One Variable
Linear Algebra - review
Week2
Linear Regression with Multiple Variables
Octave[incomplete]
Week3
Logistic Regression
Regularization
Week4
Neural Networks - Representation
Week5
Neural Networks - Learning
Week6
Advice for applying machine learning techniques
Machine Learning System Design
Week7
Support Vector Machines
Week8
Unsupervised Learning(Clustering)
Dimensionality Reduction
Week9
Anomaly Detection
Recommender Systems
Week10
Large Scale Machine Learning
Week11
Application Example - Photo OCR
Coursera Machine Learning by Andrew NG 강의를 들으면서, 궁금했던 내용을 중심으로 정리.
내가 궁금했던건, 데이터를 분류하는 Decision boundary를 만들때...
- 왜 가중치(W)와 decision boundary가 직교해야 하는지?
- margin은 어떻게 계산하는지?
- margin은 어떻게 최대화 할 수 있는지?
- 실제로 margin을 최대화 하는 과정의 수식은 어떤지?
- 비선형 decision boundary를 찾기 위해서 어떻게 kernel을 이용하는지?...
http://blog.naver.com/freepsw/221032379891
퍼셉트론의 한계를 극복하는 방법입니다. 퍼셉트론은 나오자 마자 한계에 봉착했는데, 이를 해결하기 위해 구조적인 확장을 하게 됩니다. 그러나 정작 중요한 것은 이 확장된 구조에서의 학습 방법을 오랫 동안 찾지 못한 것입니다. 여기서 소개하는 신경망 학습방법은 신경망 학습방법의 거의 전부라고 할 수 있습니다.
딥러닝과 강화 학습으로 나보다 잘하는 쿠키런 AI 구현하기 DEVIEW 2016Taehoon Kim
발표 영상 : https://goo.gl/jrKrvf
데모 영상 : https://youtu.be/exXD6wJLJ6s
Deep Q-Network, Double Q-learning, Dueling Network 등의 기술을 소개하며, hyperparameter, debugging, ensemble 등의 엔지니어링으로 성능을 끌어 올린 과정을 공유합니다.
Slides based on "Introduction to Machine Learning with Python" by Andreas Muller and Sarah Guido for Hongdae Machine Learning Study(https://www.meetup.com/Hongdae-Machine-Learning-Study/) (epoch #2)
홍대 머신 러닝 스터디(https://www.meetup.com/Hongdae-Machine-Learning-Study/) (epoch #2)의 "파이썬 라이브러리를 활용한 머신러닝"(옮긴이 박해선) 슬라이드 자료.
Super tickets in pre trained language modelsHyunKyu Jeon
This document discusses finding "super tickets" in pre-trained language models through pruning attention heads and feedforward layers. It shows that lightly pruning BERT models can improve generalization without degrading accuracy (phase transition phenomenon). The authors propose a new pruning approach for multi-task fine-tuning of language models called "ticket sharing" where pruned weights are shared across tasks. Experiments on GLUE benchmarks show their proposed super ticket and ticket sharing methods consistently outperform unpruned baselines, with more significant gains on smaller tasks. Analysis indicates pruning reduces model variance and some tasks share more task-specific knowledge than others.
Synthesizer rethinking self-attention for transformer models HyunKyu Jeon
The document expresses gratitude to the reader for taking the time to listen. It does not provide any other details, context, or information beyond thanking the reader for listening. The summary captures the essence of the document in a single concise sentence.
This document summarizes Meta Back-Translation, a method for improving back-translation by training the backward model to directly optimize the performance of the forward model during training. The key points are:
1. Back-translation typically relies on a fixed backward model, which can lead the forward model to overfit to its outputs. Meta back-translation instead continually trains the backward model to generate pseudo-parallel data that improves the forward model.
2. Experiments show Meta back-translation generates translations with fewer pathological outputs like greatly differing in length from references. It also avoids both overfitting and underfitting of the forward model by flexibly controlling the diversity of pseudo-parallel data.
3. Related work leverages mon
Maxmin qlearning controlling the estimation bias of qlearningHyunKyu Jeon
This document summarizes the Maxmin Q-learning paper published at ICLR 2020. Maxmin Q-learning aims to address the overestimation bias of Q-learning and underestimation bias of Double Q-learning by maintaining multiple Q-functions and using the minimum value across them for the target in the Q-learning update. It defines the action selection and target construction for the update based on taking the maximum over the minimum Q-value for each action. The algorithm initializes multiple Q-functions, selects a random subset to update using the maxmin target constructed from the minimum Q-values. This approach reduces the biases seen in prior methods.
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