2020 Research Project I: Implementation & Idea Derivation
업데이트:
2020 1학기 연구프로젝트: 논문 실현 및 아이디어 도출 정리에 대한 글입니다.
1. Comparing Impact of Model Structure and Data Augmentation
A Branching and Merging Convolutional Network with Homogeneous Filter Capsules에서 소개된 모델은 branching과 homogeneous filter capsule 구조를 이용한 모델로, MNIST dataset에 대하여 99.84%의 정확도를 보여준다. 이 논문에서 모델을 training할 때 dataset에 대하여 여러가지 augmentation을 적용하는데, 여기서 높은 정확도에 augmentation이 끼친 영향과 model의 구조가 끼친 영향을 비교해보고자 했습니다.
1.1. Model Structure
이 github 제공되어있는 코드를 이용하여 모델의 구조의 영향력을 확인하기 위한 실험을 해보았습니다. Capsule에 해당하는 부분은 fully-connected 구조로 변경하여 실험을 하였고 branching의 경우에는 나눠지는것 없이 계속 다음 layer로 연결되도록 하였습니다.
구조 | branching o | branching x |
---|---|---|
capsule o | 99.77% | 99.74% |
capsule x | 99.76% | 99.74% |
실험 결과는 약간의 차이는 있으나 두드러지게 큰 차이는 없는 것을 관찰할 수 있었습니다.
1.2. Data augmentation
이 논문에서는 training set에 여러가지 data augmentation을 적용하여 model을 train 했습니다. 적용된 data augmentation은 아래 4가지 입니다.
- Rotation
- Translation
- Width Adjust (ratio-preserving)
- Random Erasure
아래의 표는 augmentation이 없는 상태로 model을 train했을 경우의 정확도입니다.
구조 | branching o | branching x |
---|---|---|
capsule o | 99.64% | 99.67% |
capsule x | 99.63% | 99.62% |
위의 augmetation이 있는 경우의 값과 비교해보았을때 정확도가 약 0.1% 정도 씩 감소했음을 관찰할 수 있었습니다.
위 결과값들을 통해 모델이 끼치는 영향보다 data augmentation이 정확도에 끼치는 영향이 더 크다 생각하여 data augmentation에 관련된 실험들을 추가로 진행하였습니다.
2. Data Augmentation and Adversarial Attack
Adversarial attack도 한 종류의 data augmentation입니다. 위의 실험에서 사용한 data augmentation은 이미지를 모델의 weight에 기반하지 않고 augmentation을 가한 것 입니다. 반면에 adversarial image의 경우에는 target model의 loss가 극대화 되는 방향으로 augmentation이 가해진 것 입니다. 이처럼 아래의 실험에서는 \(L_{p}\) adversarial train이 \(L_{p'}\)의 adversarial attack에 대해서 어떤 영향을 끼치는지 확인해보고자 합니다. \((p \neq p')\)
2.1. Adversarial Training
2가지의 다른 model에 대해서 black-box attack을 시도했습니다.
- Convolution Layer가 2개인 CNN Model
- BMCNNwHFC Model (위의 capsule 구조를 갖는 model)
2.1.1. CNN model
Undefended model은 data augmentation이 된 train dataset으로 train된 model입니다.
Model | undefended | FGSM trained | Total trained |
---|---|---|---|
Benign | 99.42% | 99.32% | 98.97% |
FGSM | 55.30% | 98.67% | 98.87% |
PGD | 57.78% | 97.45% | 98.93% |
Deepfool | 82.73% | 96.55% | 98.50% |
JSMA | 63.96% | 73.22% | 90.25% |
- FGSM trained: FGSM attack 된 image로 adversarial train 된 model
- Total trained: FGSM, PGD, Deepfool, JSMA attack된 image들로 train 된 model
2.1.2. BMCNNwHFC Model
Undefended model은 data augmentation이 된 train dataset으로 train된 model입니다.
Model | Undefended | FGSM trained | Total trained |
---|---|---|---|
Benign | 99.76% | 99.70% | 99.55% |
FGSM | 17.79% | 97.78% | 99.54% |
PGD | 20.89% | 98.89% | 99.62% |
Deepfool | 84.47% | 99.59% | 99.60% |
JSMA | 61.79% | 63.35% | 96.87% |
- FGSM trained: FGSM attack 된 image로 adversarial train 된 model
- Total trained: FGSM, PGD, Deepfool, JSMA attack된 image들로 train 된 model
3. Conclusion and Future Direction
Adversarially train된 model에서 \(L_{\infty}\) attack인 FGSM attack된 data로 train된 model의 경우에는 두개의 모델 모두 \(L_{\infty}, L_{2}\)에서 accuracy가 증가하는 것을 확인할 수 있었습니다. 이는 이전에 소개된 Towards Deep Learning Models Resistant to Adversarial에서도 확인할 수 있는 결과였습니다. 다음에는 \(L_{\infty}, L_{0}\) 사이의 작용, 그리고 adversarial training이 다른 종류의 adversarial attack에 대해서도 robust해지는지를 확인해보고자 합니다.
댓글남기기