ZFNet(2013) Matthew D. Zeiler, Rob Fergus
https://arxiv.org/pdf/1311.2901v3.pdf
AlexNet을 기반으로, CNN의 특성을 확인하고 성능을 향상시키기위하여 Feature map visualization에 대한 여러 가지 실험을 진행하였다.
네트워크의 앞쪽에 위치하는 low-level feature map 들의 경우 color, egde, corner와 같이 이미지에 대한 기본적이고 작은 정보들에 대한 필터를 형성한다는 것을 확인하였고,
Mid-level에서는 low-level 의 특성들을 여러개 고려하여 조금 더 큰 부분들에 대한 feature,
그리고 high-level쪽에서는 물체의 종합적인 정보들에 대한 feature들을 추출하게된다.
CNN 구조에 대한 hyper-parameter 값들에 대해서도 다양한 실험을 진행하였고,
최종적으로 AlexNet에 비해서 Convolution filter 사이즈와 stride 값을 감소시켰다.
conv filter 가 크면 feature map의 필터 값이 대부분 크게 나올 것이고, 비슷비슷한 값을 갖게 되어 비슷한 정보에 대한 filter가 될 수 있다. filter의 다양성이 충분하지 않아질 수 있다.
stride 값이 큰 경우에는 이미지의 연속적인 특성이 인위적으로 변형되어 discrete한 특성을 보일 수 있게 되고, AlexNet의 경우 Feature map에서 Aliasing 현상이 존재함을 확인하였다.
Input data: 224x224x3
conv1 = Conv2d(3,96,7,7) stride=2 # output feature map: 110x110x96
ReLU(conv1)
pool2 = MaxPool2d(3) stride=2 #output feature map: 55x55x96
conv3 = Conv2d(96,256,5,5) stride=2 # output feature map: 26x26x256
ReLU(conv3)
pool4 = MaxPool2d(3) stride=2 # output feature map: 13x13x256
conv5 = Conv2d(256,384,3,3) stride=1, padding=1 # output feature map: 13x13x384
ReLU(conv5)
conv6 = Conv2d(384,384,3,3) stride=1, padding=1 # output feature map: 13x13x384
ReLU(conv6)
conv7 = Conv2d(384,256,3,3) stride=1, padding=1 # output feature map: 13x13x256
ReLU(conv7)
pool8 = MaxPool2d(3) stride=2 # output feature map: 6x6x256
flatten(6x6x256)
fc9 = Linear(6x6x256, 4096)
ReLU(fc9)
fc10 = Linear(4096, 4096)
ReLU(fc10)
output = Linear(4096, 1000)
Softmax(output)