1. Introduction
CNN은 컨볼루션 레이어와 풀링 레이어로 쌓여있다.
컨볼루션 레이어는 선형 필터 (GLM) 를 이용해 feature을 추출하고 비선형 활성화 함수로 feature map을 생성한다.
선형 필터는 선형 분리가 가능한 데이터에만 잘 작동하며, 현실의 데이터는 대부분 비선형적인 구조를 가지므로 CNN의 표현력이 제한된다.
NIN 구조는 GLM 대신 MLP를 사용해 비선형 특징 추출이 가능하도록 개선한다.
NIN에 mlpconv와 Global Average Pooling (GAP)을 사용한다.
2. Convolutional Neural Networks
기존 CNN은 컨볼루션 레이어와 공간적 풀링 레이어를 쌓은 구조이다.
컨볼루션 레이어는 선형 필터를 사용하여 특징을 추출한 후, ReLU 활성화 함수를 적용해 특징 맵을 생성한다.
(i,j) : 특징 맵의 위치 / x : 해당 위치에서의 입력 패치 / k : 채널
하지만 컨볼루션 레이어는 선형적으로 분리 가능한 특징을 추출할 때만 효과적이다.
기존 CNN에선 하나의 개념을 학습하기 위해 다양한 선형 필터를 사용한다.
하지만 너무 많은 필터를 사용하면 과부화 될 수 있기 때문에 로컬 패치에서 더 효과적으로 특징을 추상화 해야 한다.
이를 Maxout Network로 해결한다.
Maxout Layer는 여러 개의 선형 변환 결과 중에서 최대값을 선택하는 방식이다.
하지만 블록 집합 (convex set) 내에 개념이 존재해야 한다는 가정을 해야 해서 한계가 있다.
* convex set : 선형 결합을 포함하는 집합
-> 집합 S 안에 있는 임의의 두 점 x1,x2 이 둘을 연결하는 선분이 항상 S 내에 있다면 집합 S를 블록 집합이라 부름
Network In Network (NIN)은 Maxout Network의 한계를 보완한다.
우선 컨볼루션 필터를 선형 필터가 아닌 micro network로 대체하고 micro network는 MLP로 구성된다.
CNN처럼 MLP를 적용하고 여러 mlpconv를 쌓아 더 강력한 비선형 특징 학습을 한다.
3. NetWork In Network
3.1 MLP 컨볼루션 레이어 (MLP Convolution Layers)
로컬 패치에서 특징을 추상적인 표현을 하기 위해 보편적 함수 근사기 (universal function approximator) 를 사용한다.
보편적 함수 근사기에는 Radial basis network와 다층 퍼셉트론(MLP, Multilayer Perceptron)이 대표적이다.
이 연구에서는 다음과 같은 이유로 MLP를 사용한다.
1. MLP는 CNN 구조와 호환되고 역전파와 학습할 수 있다.
2. MLP는 특징 재사용 (feature reuse) 을 가능하다.
기존 CNN의 선형 필터를 MLP로 대체한 구조를 mlpconv 레이어이다.
기존 CNN처럼 단순 선형 변환이 아니라 각 로컬 패치에 대해 여러 개의 MLP를 거쳐서 비선형적 특징을 추출한다.
Maxout Layer는 볼록 함수를 근사하는데 집중하지만 mlpconv Layer는 보편적 함수 근사기로 다양한 분포를 모델링할 수 있다.
3.2 Global Average Pooling (GAP)
기존 CNN은 컨볼루션 연산 후 특징 맵을 벡터로 변환하여 완전 연결층을 거쳐 소프트맥스 분류를 수행한다.
이러한 방식은 과적합에 취약하다.
본 논문에서는 Fully Connected Layer를 제거하고 Global Average Pooling (GAP)을 적용한다.
GAP 방식 : 1. 마지막 mlpconv Layer에서 클래스 개수만큼 feature map 생성
2. 각 feature map의 평균을 구해 벡터화 후 Softmax 분류기에 입력
GAP 장점 : 1. 위치 변화에 강함
2. 특징 맵을 신뢰도 맵으로 강제 학습시키는 정규화 수행
3.3 Network In Network Structure
1. MLP Convolution Layers (mlpconv)
- 일반적인 컨볼루션 레이어 대신 MLP 활용해서 비선형 특징 추출
- 각 mlpconv 계층은 3개의 층으로 구성
2. Global Average Pooling (GAP)
- Fullt Connected Layer 제거하고 각 feature map의 평균을 구한 후 바로 Softmax에 전달
- 위치 변화에 강한 특성
3. Objective Cost Layer
- 손실 함수 계층으로 Softmax + Cross-Entropy Loss 사용
4. Sub-Sampling Layers (선택적)
- CNN과 유사하게 다운샘플링 계층을 추가해서 feature map 크기를 줄일 수 있음
4. Experiments
Test Error : NIN 모델이 해당 데이터셋에서 기록한 테스트 오류율
Best Previous Model Test Error : 기존 연구에서 가장 낮은 테스트 오류율을 기록한 모델의 성능
Improvment : 기존 최고 모델과 비교했을 때 NIN이 얼마나 개선되었는지