본문 바로가기
논문 리뷰/CV

[LeNet] 24.01.19 스터디 (논문)

by hyeon827 2024. 1. 19.

II Convolutional Neural Networks for Isolated Character Recognition

다층 신경망은 수많은 예제로부터 복잡하고 고차원의 비선형 매핑을 학습하기 위해 경사하강법을 사용

전통적인 패턴 인식모델은 fully-connected 신경망을 분류기로 사용합니다. 일반적인 fuuly-connected network를 사용하여  문자 인식에 대해 일부 성공적으로 수행될 수 있지만 몇가지 문제점 존재

 

  • 전형적인 2D 이미지는 크기가 크며 수 백개의 픽셀을 가지고 있어 fully-connected로 학습시키면 너무 많은 학습량, 학습시간, 많은 weight를 저장해야 할 hardware적인 요소가 필요
  • fully-connected layer에 input을 할 시 3차원 데이터를 1차원으로 변경해야 한다. 이때 '데이터의 형상이 무시'

=> 해당 문제를 Convolutional Neural Networks(CNN)을 사용하여 해결

 

 

A. Convolutional Networks

이동,크기,왜곡에 대한 무변성을 보장하기 위해 세 가지 구조적 아이디어를 결합

 

1) local receptive field

  • 각 레이어의 유닛은 이전 레이어에서 지역적으로 이웃한 일부 유닛으로부터 입력을 받음
  • local receptive field를 사용하는 뉴런들은 원소들의 가장자리, 끝점, 모서리 등의 시각적 특징을 추출할 수 있음
  • 이러한 특징은 후레이어와 결합되어 더 고차원적인 특징을 감지할 수 있음

2) shared weights(or weight replication)

  • local recepitve fileds 내에서의 가중치들은 같은 값을 사용
  • 학습할 파라미터 수를 줄여줘 Overfitting을 방지

3) spatial or temporal sub-sampling

  • Average pooling을 사용
  • feature map의 해상도를 줄임으로써 이미지의 노이즈나 왜곡를 고려

 

B. LeNet-5

  • Input
  • Convolution Layer(C1,C2,C3)
  • Subsampling Layer(S2,S4)
  • Fully-connected Layer(F6)
  • Output

C1 Layer

  • 32x32 사이즈의 이미즈를 6개의 5x5 필터와 Convolution
  • 6장의 28x28 feature map를 얻음

훈련해야할 파라미터 개수= (가중치*입력맵개수+bias)*(feature map 개수)

                                          = (5*5*1+1)*6 = 156

 

S2 Layer

  • 6장의 28x28 feature map에 대해 Subsampling(2x2 filter, stride=2)
  • 14x14 사이즈 feature map으로 축소

훈련해야할 파라미터 개수= (가중치+bias)*(feature map 개수)

                                          = (1+1)*6 = 12

 

 

*Average Pooling에도 파라미터가 필요한 이유

  • 평균을 낸 후에 한 개의 trainable weight을 곱해주고 또 한 개의 trainable bias를 더해줌
  • 가중치와 bias는 시그모이드의 비활성도를 조절

 

C3 Layer

  • 6장의 14x14 feature map을 5*5*(6+6+3+1) filter와 Convolution 연산 수행
  • 결과적으로 16장의 10x10 feature map 산출

 

훈련해야할 파라미터 개수= (가중치*입력맵개수+바이어스)*특성맵 개수

1번째 그룹 = (5*5*3+1)*6=456

2번째 그룹 = (5*5*4+1)*6=606

3번째 그룹 = (5*5*4+1)*3=303  

4번째 그룹 = (5*5*6+1)*1=151

=> 총 1515개

 

S4 Layer

  • 16장의 10x10 feature map을 subsampling
  • 16장의 5x5 feature map으로 축소

훈련해야할 파라미터 개수= (가중치+바이어스)*특성맵 개수

                                          =(1+1)*16 =32

 

C5 Layer

  • 16장의 5x5 feature map을 120개의 5x5x16 사이즈의 filter와 Convolution
  • 120개의 1x1 feature map 산출

훈련해야할 파라미터 개수= (가중치*입력맵개수+바이어스)*특성맵 개수

                                          =(5*5*16 + 1)*120=48120

 

F6 Layer

  • 86개의 유닛을 가진 피드포워드 신경망
  • C5의 결과를 84개 유닛에 연결

훈련해야할 파라미터 개수= 연결개수

                                         = (입력개수 + 바이어스)*출력개수 

                                         =(120+1)*84 = 10164

 

Euclidean Radial Basis Function

 

Output

  • 10개의 RBF 유닛들로 구성

 

LeNet-5를 제대로 가동하기 위해 훈련해야할 파라미터는 총 156 + 12 + 1516 + 32 + 48120 + 10164 = 60000개

 

'논문 리뷰 > CV' 카테고리의 다른 글

[X:AI] InceptionV2/3 논문 리뷰  (0) 2024.03.14
[X:AI] SPPNet 논문 리뷰  (0) 2024.03.10
[GoogLeNet] 24.01.23 스터디 (논문)  (0) 2024.01.23
[VGG] 24.01.23 스터디 (논문)  (0) 2024.01.21
[AlexNet] 24.01.16 스터디 (논문)  (1) 2024.01.15