적대적 훈련이란
적대적 훈련 Adversarial training은 regularization의 한 방법이다.
머신러닝, 딥러닝 분야에서 regularization은 overfitting을 막고 모델을 robust하게 만들어주기 위해 사용한다.
딥러닝 모델은 Input data를 학습하여 적절한 label을 반환하는 것을 목적으로 훈련을 진행한다.
Adversarial attack은 반대로 이미 훈련된 모델에 대하여 입력 데이터를 잘못 예측하도록 Input을 조작하는 것을 말한다!
이미지 데이터를 input으로 받는 CNN의 경우 정답 Y에서 내가 원하는 예측값Y'를 반환하도록 조금씩 이미지의 픽셀을 수정한다.
그렇다면 이러한 공격에 대하여 어떻게 방어할 수 있는가?
1. Y'라는 예측을 하게 만든 만들어진 이미지들을 훈련시킬 때 포함하면 된다.(Adversarial training)
2. 혹은 원 모델을 모방한 새로운 모델(Defensive Distillation)을 훈련시키는 방법도 있다고 한다.
(참고 블로그)
https://rain-bow.tistory.com/entry/Adversarial-Attack
'오늘의 코딩 > 머신러닝,Deep Learning' 카테고리의 다른 글
자연어 처리 시작! word embedding (0) | 2020.03.31 |
---|---|
[ML]Regularization에 대하여 (0) | 2020.03.30 |
pytorch transfer learning 모델 설정 중 에러.. (0) | 2020.02.04 |
[pytorch] 데이터 불러오기 (0) | 2020.02.04 |
[pytorch] require_grad, zero_grad(), no_grad() 차이 (0) | 2020.01.28 |