Adversarial이란?

위의 그림처럼, 사람이 관측할 수 없을 정도의 아주 작은 노이즈를 더하면 완전히 다른 클래스가 나올 수 있습니다. 입력값은 아주 조금 바뀌었으나 출력이 매우 달라지는데, 이때의 기울기는 매우 가팔라서 일종의 overfitting 상태가 됩니다.

이를 adversarial sample을 더해서 Neural Network를 공격했다고 해서 adversarial attack이라고 합니다.

우리가 각 input에 노이즈를 더해 ε만큼 바꿀 때, ε||w||1 (ε의 norm1만큼) 변화한다고 할 수 있습니다. 이때, w가 만약 높은 차원이라면 그 값은 매우 커질 수 있습니다.

그래서 적대적 학습는 로컬 상수값(노이즈)를 추가한 데이터를 학습하며, locally linear behavior로 인해 생기는 네트워크의 민감성을 줄일 수 있습니다 

[ fast gradient 방법 ]

fast gradient 방법을 사용하면 다음과 같이 만들어진 데이터를 생성할 수 있습니다. 즉, w근처에 gradient 선형 값에 linear vector값을 인풋값에 더해 adversarial example을 생성합니다. 이를 목적함수에 반영해 학습을 진행합니다.

fast gradient - 목적함수에 반영

 

'AI > Deep Learning' 카테고리의 다른 글

Early Stopping (조기 종료)  (0) 2022.11.11
Multi Task Learning (다중 작업 학습)  (0) 2022.11.11
Dropout (드롭아웃)  (0) 2022.11.11
Data Augmentation (데이터 증식)  (0) 2022.11.07
Regularization (규제화)  (0) 2022.11.07

+ Recent posts