ZFNet#

AlexNet에 이어 2013년에는 ILSVRC에서 Matthew Zeiler가 Clarifai로 11.7% 에러율로 우승했지만 Clarifai에 대한 정보가 없다. 다만, Zeiler가 발표한 논문에 ZFNet이 소개되어 있다. Zeiler는 합성곱 신경망이 학습하는 과정을 이해할 수 있게 최초로 필터를 시각화하는 기법을 개발하였고, “Adaptive Deconvolutional Network for Mid and High-level Feature Learning”을 발표한다. 그리고 2013년에 “Visualizing and Understanding Convoultional Networks”라는 논문 발표 후 ILSVRC에 참여하여 우승했다.

합성곱 신경망은 하이퍼 파라미터(hyper parameter)에 따라 구조가 결정되기 때문에 매우 중요한 문제이다. 어떤 값이 최적의 조합인지 판단하기 어렵다. 따라서 Zeiler는 시각화 기법을 통해 이를 알아보고자 하였다. ZFNet은 이러한 이유로 개발되었지만 새로운 합성곱 신경망 모형을 제안하기 보다 시각화 기법으로 AlexNet 구조를 변경해 성능을 개선시킬 수 있는 방법들을 제안하였다.

합성곱 신경망으 흐름은 특징맵, 합성곱 필터, 활성화 함수, 풀링 계층 순서대로 반복한다. 시각화 기법은 중간 레이어의 값을 확인하여 학습이 잘되고 있는지 확인할 수 있다.

합성곱 신경망을 시각화하기 위해 연구팀은 Deconvolution을 개발하였다.

Deconvolution은 Convolution과 반대로 Unpooling, Rectified Unpooled Maps, Deconvolution 과정으로 볼 수 있다. Unpooling 계층은 맥스 풀링에서 강한 자극만 전달된다. 따라서 맥스 풀링에서 최대값의 위치를 모르기 때문에 플래그(flag) 형태로 위치를 저장해 언풀링 과정에서 사용한다. 이를 스위치(switches)라고 한다. ReLU 활성화 함수는 음수 값을 모두 0으로 변경하기 때문에 원래값을 알지 못한다. 하지만 실험을 통해 그 영향이 미미하다고 언급했다. Deconvolution은 위의 과정을 거친 가중치를 Transpose하여 Deconvolution을 실시하고 강한 자극이 어떻게 구성되어 있는지 확인할 수 있다. 예를 들어 \(4 \times 4\) 입력 특징맵을 \(3 \times 3\) 커널로 합성곱 연산을 수행했을 때 입렵을 결과인 희소행렬(sparse matrix)를 곱해 구할 수 있다.

합성곱 신경망 시각화#

첫 번재와 두 번째 레이어에서 이미지의 코너, 엣지, 컬러와 같은 row level feature를 확인할 수 있다.

ZFNet은 AlexNet과 달리 하나의 GPU를 사용했고 70 에폭(epoch)으로 12일 동안 학습시켰다. AlexNet과 ZFNet은 첫 번째와 두 번째 레이어의 구조가 약간 다른데 필터와 스트라이드 크기를 줄였을 때 시각적으로 좀 더 선명하고 다양한 필터를 얻을 수 있었다. 또한, 요즘 합성곱 신경망 구조의 추세에 따르면 필터와 스트라이드의 크기가 큰 경우 성능이 좋지 못한 것을 시각적으로 증명했다.