Skip to content

LeNet-5

ori. GradientBased Learning Applied to Document Recognition, Yann LeCun et al., 1998.


1998년에 손글씨를 인식하기 위해 제안된 CNN 으로, 가장 유명한 CNN 중 하나임.

구조는 다음과 같음.

Layer Name Type output (=feature map) kernel stride activation
INPUT input layer \(32\times 32 \times 1\) - - -
C1 convolutional layer \(28\times 28 \times 6\) \(5\times 5\) 1 tanh
S2 average pooling layer (주의1) \(14\times 14 \times 6\) \(2\times 2\) 2 tanh
C3 convolutional layer (주의2) \(10\times 10 \times 16\) \(5\times 5\) 1 tanh
S4 average pooling layer (주의1) \(5\times 5 \times 16\) \(2\times 2\) 2 tanh
C5 convolutional layer (주의2) \(1\times 1 \times 120\) \(5\times 5\) 1 tanh
F6 fully connected layer \(84\) - - tanh
OUTPUT fully connected layer \(10\) - - Euclidean Radial Basis Function
  • 주의1 : 현재의 average pooling layer와 달리 평균을 구한후 scaling과 shift를 trainable parameter로 수행하고 이 결과값에 activation function을 적용한 결과를 출력 (이 처리가 각 feature map 별로 이루어진다.).
    • 오늘날에는 max pooling layer로 대체해서 구현되는 경우가 많은 편.
  • 주의2 : C3와 S2의 neuron 간의 connection이 모두 이루어져있지 않음. 각 feature map간의 연결은 논문의 table 1(아래있음)을 참고할 것.

다음은 C3와 S2간의 neuron 들의 connection을 나타낸 table 1임.

  • C3의 처음 6개의 feature map은 원형으로 연속된 s2의 3개의 feature map을 기반으로 생성됨. (위 테이블의 0~5번 column 참고)
  • C3의 다음 6개의 feature map은 원형으로 연속된 s2의 4개의 feature map을 기반으로 생성됨. (위 테이블의 6~11번 column 참고)
  • C3의 다음 4개의 feature map은 원형으로 연속된 s2의 2개의 feature map의 pair(즉 4개의 feature map임)을 기반으로 생성됨. (위 테이블의 12~15번 column 참고)

connection을 제한하여 계산량 등을 줄이면서 특징 추출은 효과적으로 하기 위해 고안된 부분. 하지만 현재의 CNN에서는 이같은 방식은 거의 사용되지 않음.

Output도 오늘날 많이 사용되는 soft-max가 아닌, Euclidean Radial Basis Function 임.

\[ y_i = \sum_j (x_j-w_{ij})^2 \]
  • \(y_i\) : OUTPUT의 출력. (\(i\)\([0,9]\) 중 한 정수. \(i=0\)인 경우 \(y_i\)는 입력 image가 숫자 0일지 여부를 나타냄.)
    • Euclidean distance기반이라 \(y_0=0\)일 경우 image는 숫자 0임. (작을수록 해당 클래스에 가까움)
  • \(x_j\) : F6의 output으로 OUTPUT의 입력임. (\(j\)는 [0,83] 범위의 자연수.)
  • \(w_{ij}\) : 입력의 \(i\)-node와 출력의 \(j\)-node간의 edge의 weight.

References