강몬드의 프로그래밍 이야기

컨볼루션 신경망 시각화 본문

학습/딥러닝

컨볼루션 신경망 시각화

강몬드 2015. 12. 22. 20:42

Visualizing and Understanding Convolutional Networks, Matthew D. Zeiler and Rob Fergus,ECCV2014

요즘 이미지 분류기에서 주목받고 있는 컨볼루션 네트워크의 이해를 돕기 위해 신경망 내부를 시각적으로 볼 수 있게끔 많은 연구가 이뤄졌다. 여기서 몇 가지 접근들을 살펴보자.

Visualizing the activations and first-layer weights

Layer Activations. 가장 간단하게 신경망의 forward pass를 시각화할 수 있다. 처음 ReLU(Rectified Linear Unit) 함수를 거친 작업들은 대게 값이 얼룩지거나 빽빽하다. 그러나 학습이 진행되면서부터 값들이 드물어지고(이미지에서 흰 영역이 사라지는 현상) 지역화(이미지에서 값들이 뭉쳐지는 현상)가 된다. 이미지에서 쉽게 볼 수 있는 상황은 몇 개의 맵들은 이미 0값을 갖는 검정색 이미지만 보인다. 이러한 현상은 높은 learning rate의 영향이다.





 

학습된 AlexNet으로 고양이 사진을 입력으로 했을 때 첫 번째 conv layer의 특징 맵(left), 5번째 conv layer의 특징 맵(right), (:특징 맵 일부) 

여기서 주목할만한 점은 대부분 희박(대부분의 값이 0인 경우, 이 시각화는 검은색으로 표시)하고 지역적이다.

 

Conv/FC Filters. 다음은 weight값을 보여준다. 첫 번째 conv layer에서는 쉽게 raw pixel data를 볼 수 있다. 또한 층이 깊어지더라도 가중치를 시각적으로 볼 수 있다. 제대로 학습이 된 신경망은 잡음없는 깔끔하고 부드러운 필터를 보여준다. 잡음이 보이는 것은 신경망이 충분히 학습되지 않았거나 낮은 regularization 강도로 overfitting이 일어날 수 있다.

  


훈련된 AlexNet에서 볼 수 있는 첫 번째 conv layer(left), 두 번째 conv layer(right).


첫 번째 레이어에서 필터가 잡음이 적고 깔금한 형태로 구성되어져 있음을 보고 훈련이 잘 된 신경망임을 알 수 있다. Alexnet은 레이어의 구조를 두 개로 나뉘기 때문에 colorgrayscale 특징들이 무리를 이루고 있다. 이 구조의 결론은 하나의 스트림이 grayscale에 고주파 성격과 color에 저주파 성격을 갖는 것을 의미한다. 두 번째 conv layer 층의 가중치는 해석되지 않는다. 하지만 잡음이 없는 깔끔한 filter로 보이고 있다.

 출처 : http://cs231n.github.io/understanding-cnn/

'학습 > 딥러닝' 카테고리의 다른 글

신경망과 딥러닝 3.신경망의 구조  (0) 2016.01.25
신경망과 딥러닝 2.시그모이드 뉴런  (0) 2016.01.23
신경망과 딥러닝 1.퍼셉트론  (0) 2016.01.19
Error when using classify in caffe  (0) 2016.01.14
혼자 생각  (0) 2016.01.12
Comments