본문 바로가기
딥러닝

[딥러닝 논문 리뷰] Generalisation in humans and deep neural networks

by 미스터탁 2019. 12. 2.

이번에 포스팅할 논문은 Generalisation in humans and deep neural networks 이라는 논문이고 2019년 NIPS에 accept된 논문입니다. (https://arxiv.org/pdf/1808.08750.pdf)

 

사실 거창한 제목 치고는 내용이 크게 임팩트 있지는 않아서 약간 실망 했지만... 그래도 학술적인 가치는 있으니 한번 살펴보도록 합시다.

 

 

1. Introduction

 본 논문은 인관과 DNN의 robustness를 비교한 논문입니다. 인간에게는 직접적으로 실험을 진행 하였습니다.(이미지를 보여주고 선택하도록). DNN은 ResNet-152, VGG-19, GoogleLeNet을 사용 하였습니다. 결론적으로 이야기하면 인간이 당연히 더 robust하며, Distorted image를 학습 할 경우에 DNN이 인간의 성능을 뛰어 넘을수 있다라라고 저자들은 주장합니다. 사실 여기서 DNN이 인간의 성능을 뛰어 넘을 수 있다라고 하는 것은 일반화된 이야기는 아니고 해당 데이터셋에 한정되어 이야기 되어야합니다. 이부분에선 독자들의 오해가 있을 수 도 있겠네요.

 

2. Comparing generalisation abilitiy

 DNN은 학습 데이터의 분포내에서 general 한 feature를 충분히 학습할 수 있습니다. 학습된 feature는 다른 비슷한 task를 위해서 사용되기도 하죠(transfer learning). 본 저자들은 DNN과 인간이 얼마나 general한지 측정할 measure가 필요하다고 판단하였고, DNN과 인간이 점진적으로 noise를 추가한 이미지에 대해서 얼마나 잘 대응하지는 지를 generalisation measure로 사용하여 실험하였습니다. 

  - 첫번째 실험 : 12가지의 noise에 대해 인간과 DNN이 얼마나 잘 예측하는지 평가

  - 두번째 실험 : Noise를 추가적으로 학습시켜서 평가 

 

3. Methods.

 DNN은 pretrained network를 사용하였고 이는 1000 개의 class에 대하 학습이 되어있습니다. 하지만 일반적으로 인간에게 '포메라니안 강아지'를 보여주면 '강아지'라고 대답할 확률이 높죠. 그래서 저자들은 1000개의 클래스를 16개의 class로 통합시킵니다. (airplane, bicycle, boat, car, chair, dog, keyboard, oven, bear, bird, bottle, cat, clock, elephant, knife, truck)  따로, fine-tuning시키지는 않습니다. Network의 feed forward하는 시간을 고려하여 인간에게 0.2초안에 응답하도록 하였으며, 인간은 5~6명이 참여했다고 합니다.

 

4. Image manipluation

 12개의 Noise에 대한 example은 아래 그림과 같습니다.

 

12개의 noise에 대해 인간과 DNN이 각각 어떻게 반응하지는 지 실험 하였으며 해당 결과는 아래 그림과 같습니다. 이때 정확도 뿐만이 아니라 entropy도 측정을 하는데 noise에 대하여 특정 class에 몰린다면 그 모델은 일반화 성능이 떨어진다 라고 할 수 있겠죠. 반대로 이야기하면, 일반화 성능이 뛰어난 모델(예를 들어, 인간)은 noise가 매우 심한 이미지에 대해서 랜덤하게 반응(예측)을 하겠죠. 아래 그림을 보시면, noise가 심해짐에 따라 인간이 robust한 성능을 보이는 것을 알수 있습니다. Entropy를 보시면 인간이 훨씬 더 robust하다 라는 것을 알 수 있습니다(DNN모델들은 noise가 심해 짐에 따라 특정 class로 예측이 몰린다라는 뜻입니다, ResNet-152는 uniform noise가 강해지면 모든 image에 대해 거의 bottle이라고 예측해버린다라고 합니다. )

 

 

 

 

반응형

 

 

5. Training on distortions

 Pretrained DNN을 distortion에 대하여 평가하는 것 뿐만 아니라, 이 distortion에 대해 DNN을 학습시키고 해당 distortion과 다른 distortion에 대해 어떻게 예측하는지 평가 하였습니다. ResNet-50구조를 사용하였고 처음부터 학습을 시켰다고 합니다. 아래 그림에서 A1~A9 은 각각의 distortion을 학습(100epoch)시킨 것이고 B1 ~ B9 은 각각의 distortion에 uniform noise를 추가적으로 학습(200epoch)시킨 것이라고 합니다. C1, C2는 하나의 distortion을 빼고 모든 distortion을 학습 시킨 결과입니다. 

 

하나의 distortion만 학습 시켰을 경우, 해당 distortion image만 잘 예측하는 모습을 보이고 있습니다(A1~A9). Uniform noise를 추가적으로 학습 시켰을 경우에는 (B1~B9) 좀 더 강겅해지는 모습을 보이기는 합니다. 논문에서는 큰 격차는 아니라고 언급되어있습니다(100epoch을 더 학습시켰기 때문에). 여기서 저자들은 distortion을 fine-tuning하면서 인간과의 격차를 줄일 수 있고, 오히려 더 좋은 성능을 내기도 한다 라고 주장합니다. 

 

그런데 여기서 salt-and-pepper noise와 uniform noise로 학습 시켰을 경우 다른 distortion에 대해 취약한 모습을 보입니다. (아래 그림의 b, c, 결과는 위 그림의 A8, A9, B8, B9).  각각의 noise를 제외하고 나머지 noise를 다 학습시켜도 salt-and pepper noise와 uniform noise에 대해서는 굉장히 취약한 모습을 보이고 있습니다.

여기서부터는 제 뇌피셜입니다. 이전에 소개해드린 논문인 "ImageNET-Trained CNNS Are Biased Towards Texture; Increasing Shape Bias Improves Accuracy And Robustness" 에서 알수 있었던 것은 CNN은 이미지의 shape을 학습시키는게 아니라 texture를 학습시키는 것이다 라는 것입니다. 즉 CNN이 이미지의 texture를 학습시킨다면 위 uniform noise같은 경우에는 texture자체를 뭉게버리는 역할을 할 확률이 큽니다. 인간이 보았을 때 전체적은 shape는 살아있지만, 확대했을때의 texture자체는 뭉게져 있기 때문에 DNN이 robust하게 학습이 되지 않았을 것이라고 생각됩니다.

 

 

지금까지 인간과 DNN의 robust한 성능을 비교한 Generalisation in humans and deep neural networks 논문을 살펴 보았습니다. 개인적으로 마지막 실험 결과가 인상 깊네요. CNN의 texture를 학습한다는 것에대한 추가적인 증거 같은 느낌이 드네요. 

반응형

댓글