티스토리 뷰

Visualizing CNNs(Pt. 1)

- 이미지 픽셀에서 CNN이 패턴을 발견해 내는 그 과정을 시각화하여 확인해보자.

- 앞서 CNN이 어떻게 작동하는지 이해하기 위해선 activation map과 콘볼루션 레이어를

- 시각화 하여 보는것이 매우 중요하다는 것을 언급했었다.

- 스탠포드 대학의 CS231n 코스 : visualizing what CNNs learn

- OpenFrameworks

- 웹캠을 통해 실시간으로 CNN에 학습 될 패턴들을 보여주는 app

- visualizing CNN filters - YOUTUBE

- visualizing how CNNs see the world - Keras blog post




- CNN을 이해하기 위해 고안된 방법으로는 콘볼루션 레이어에서 필터를 가져와

- 그 필터의 activation을 최대화 하는 이미지를 만드는 방법이 있다.

- 먼저 랜덤한 노이즈를 가진 이미지로부터 시작해서 점차 픽셀을 확장해 나간다.

- 그리곤 매 step 마다 필터를 보다 activated 된 값으로 변경해주면 된다.

- 이 과정을 진행해보면 첫 3개의 레이어가 꽤나 general한 것을 알 수 있다.

- 첫번째 레이어는 컬러나 엣지를 잡아낼 수도 있고

- 두번째 레이어는 원(circle)이나 줄무늬(stripes)를 잡아낼 수도 있다. 이건 단순한 예시임.

- 점점 더 레이어를 거쳐가다보면 위의 예시에선 5번째 레이어의 필터 처럼 더 복잡한 패턴을 activated한다.




- 구글 연구원들이 이걸 이용해서 Deep Dreams라는 기술을 발명했는데

- 시작 이미지로 특정한 그림을 둔다. 위 예시에선 나무 사진을 input image로 줬음.

- 그다음 특정 필터를 하나 골라서 학습시키면 되는데, 위의 예시에선 빌딩같은 건물을 잡아내는 필터를 사용.

- output으로 input 이미지에 그 필터가 적용된 나무와 건물이 혼합된 이미지를 생성한다.




Deep Dreams를 이용하여 촬영된 뮤직비디오(Maroon 5 - Cold ft. Future)






Visualizing CNNs(Pt. 2)

- CNN이 어떻게 작동하는지 확인해보자.
- 예시로 살펴볼 CNN 네트워크는 여기 에서 설명된 대로 ImageNet을 바탕으로 학습 된 네트워크다.
- 네트워크의 각 레이어가 탐지한 것을 확인하고, 각 레이어가 점점 더 복잡한 개념을 탐지해내는 방법을 확인해보자.



- 위 이미지는 deep visualization toolbox 에서 가져온 것인데, 이 toolbox를 사용하면 CNN의 각 레이어에 focus on 할 수 있다.

- 위 배열에서의 각 이미지는 첫번째 레이어의 뉴런이 활성화되는 패턴 즉, 첫번째 레이어가 인식하는 패턴을 나타낸다.




- 왼쪽 맨 위 첫번째 이미지는 -45도 정도의 선을 나타내고 있고, 그 오른쪽 이미지는 45도의 선을 보여준다.

- activation을 유발하는 몇가지 예제 이미지를 확인해보자.




- 위의 예시에서 확인할 수 있듯 -45도 라인을 모두 활성화했다.

- 색상이나 그라디언트 값, 패턴들이 모두 다름에도 불구하고 이것들이 선택된것에 주목할 필요가 있다.

- 종합적으로, CNN의 첫번째 레이어는 선과 얼룩같은 단순한 모양과 패턴을 잡아낸다는 것을 확인할 수 있다.




- CNN의 두번째 레이어는 조금 더 복잡한 개념을 잡아낸다.

- 위 이미지에서 봐보면, CNN의 두번째 레이어는 원, 줄무늬, 사각형을 잡아낸다.

- CNN은 스스로 이 작업을 수행하게 되는데, 더 깊이있는 레이어에서 더 복잡한 object를 잡아내는

- 특별한 지침(instruction)은 따로 없다.

- CNN에 training data를 줬을 때 일반적으로 작동하는 방식이 위와 같다.




- 세번째 레이어는 두번째 레이어에서 잡아낸 복잡한 feature들의 조합을 잡아낸다.

- 격자무늬, 벌집무늬, 바퀴모양, 사람 얼굴 등을 잡아내는 것을 확인할 수 있다.




- 4번째 레이어는 건너 뛰고 5번째 레이어를 확인해보도록 하자.

- 마지막 레이어인 5번째 레이어는 강아지 얼굴, 새 얼굴, 자전거 등과 같이

- 가장 높은수준의 개념을 잡아내는 것을 확인할 수 있다.


댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2024/04   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30
글 보관함