컴퓨터비전/CNN

[컴퓨터비전] LeNet-5

구코딩 2024. 1. 13. 13:25
728x90

(추후 수정 예정)

 

Architecture

  • input: 32x32 image (실제 이미지는 28x28 이지만 corner나 edge 같은 특징이 receptive field의 중앙 부분에 나타나길 원하기 때문에 이렇게 설정함.)
  • C : Convolution layer | S: Sub-sampling (average pooling) | Fully-connected layer

input size → process → output size

  • C1: 32x32x6 → 5x5 filter 6개를 사용해 28x28 size feature map 6개 생성 → 28x28x6
  • S2: 28x28x6 → 2x2 filter 6개를 사용해 14x14 size feature map 6개 생성 → 14x14x6
  • C3: 14x14x6 → 5x5 filter 16개를 사용해 10x10 size feature map 16개 생성 → 10x10x16
  • S4: 10x10x16 → 2x2 filter 16개를 사용해 5x5 크기의 feature map 16개 생성 → 5x5x16
  • C5: 5x5x16 → 5x5 filter 120개를 사용해 1x1 크기의 feature map 120개 생성 → 1x1x120
  • F6: tanh activation function. 120 → 1x1 feature map 84개 생성 → 84
  • F7: RBF(euclidean Radia Basis Function unit). 84 → outputlayer → 10

 

subsampling 이유?

추론을 하는데에 있어서 위치정보가 과다해지면 오히려 문제가 되기 때문이다.

그래서 위치 이동, 회전, 부분적인 변화, 왜곡에 강한 인식력을 키우기 위해 subsampling이 중요하다.

위 그림에서 보다시피 A의 기본 폰트에서 작은변화를 주었을 때, 위치 이동을 하였을 때도 사람은 이를 여전히 A라고 인식한다.

이런 모든 변형의 경우의 수를 학습하는건 너무 비효율적이므로 subsampling을 사용한다.

subsampling을 통해서 입력 데이터의 크기를 줄이면 두드러지는(강한) 특징만 남기고 자잘한 변화들은 사라지는 효과를 얻게 된다.

반복적인 subsampling을 거치면 형태가 거의 유사해진다

  • 다시 아키텍쳐를 살펴보면, convolution layer를 통해 입력데이터(input)로 부터 중요한 특징을 추출한 후 subsampling layer에서 입력데이터의 크기를 줄인다. 이후 다시 convolution과 subsampling을 통해 크기를 5x5까지 줄이면서 점점 위치나 크기 변화 등에 강한 특징만 남기게 된다.

Result

 

 

 

References

728x90
반응형

'컴퓨터비전 > CNN' 카테고리의 다른 글

[컴퓨터비전] CNN - Convolutional Neural Network  (0) 2024.01.13