LeNet-5

오창현·2022년 11월 21일
0

CV정리

목록 보기
11/11

본 게시물은 참고블로그내용을 정리하였다.

LeNet

LeNet은 CNN중 초기 모델이며 본 게시물은 최종 모델인 LeNet-5의 내용을 다룬다.
LeNet은 CNN을 처음으로 개발한 얀 르쿤(Yann Lecun)연구팀이 1998년에 개발한 CNN알고리즘이다.

위 사진에서 볼 수 있듯이 LeNet-5는 input,3개의 컨볼루션 레이어,2개의 서브샘플링 레이어,1층의 full connected layer,output layer로 구성된다.C1~F6까지 tanh 활성화 함수를 사용한다.

    1. C1레이어: 입력영상(32 X 32)을 6개의 5X5필터와 컨볼루션 연산을 하여 6장의 28 X 28특성맵을 얻게된다.

훈련해야할 파라미터 개수:
(가중치x입력맵개수 + 바이어스)x특성맵개수 = (5x5x1 + 1)x6 = 156

    1. S2레이어:6장의 28 X 28특성맵에 대해 서브샘플링을 진행한다. 결과적으로 28 X 28사이즈의 특성맵이 2X2 필터를 stride 2로 설정해서 서브샘플링 해주기 때문에 14 X 14 사이즈의 특성맵으로 축소된다.사용되는 서브샘플링 방법은 평균 풀링9(average pooling)이다.

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

    1. C3 레이어: 6장의 14x14 특성맵에 컨볼루션 연산을 수행해서 16장의 10x10특성맵을 산출한다.

1) 6장의 14x14특성맵에서 연속된 3장씩을 모아 5x5x3사이즈의 필터와 컨볼루션 한다.(열 0~5).
6장의 10x10 특성맵이 산출.

2) 6장의 14x14특성맵에서 연속된 4장씩을 모아 5x54사이즈의 필터와 컨볼루션 진행.(6~11열).6장의 10x10특성맵 산출.

3) 6장의 14x14특성맵에서 불연속한 4장씩을 모아 5x5x4사이즈의 필터와 컨볼루션 한다.(12~14열).3장의 10x10특성맵 산출

4)마지막으로 6장의 14x14특성맵 모두를 가지고 5x5x6사이즈의 필터와 컨볼루션한다.(15열).1장의 10x10특성맵이 산출.

결과적으로 16장(6+6+3+1)의10x10특성맵을 얻게 된다.

훈련해야할 파라미터 개수:

첫번째그룹=> (가중치입력맵개수+바이어스)특성맵 개수 = (553 + 1)*6 = 456

두번째그룹=> (가중치입력맵개수+바이어스)특성맵 개수 = (554 + 1)*6 = 606

세번째그룹=> (가중치입력맵개수+바이어스)특성맵 개수 = (554 + 1)*3 = 303

네번째그룹=> (가중치입력맵개수+바이어스)특성맵 개수 = (556 + 1)*1 = 151

456 + 606 + 303 + 151 = 1516

    1. S4 레이어: 16장의 10x10특성 맵에 대해 서브샘플링을 진행해 16장의 5x5특성맵으로 축소.

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

    1. C5레이어:16장의 5x5특성맵을 120개 5x5x16사이즈의 필터와 컨볼루션 해준다.결과적으로 120개 1x1특성맵이 산출.

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

    1. F6레이어: 84개의 노드를 가진 Feed Forward신경망이다.C5결과를 84개의 노드에 연결

훈련해야할 파라미터 개수: 연결개수 = (입력개수 + 바이어스)출력개수 = (120 + 1)84 = 10164

    1. output 레이어:10개의 Euclidean radial basis function(RBF)노드들로 구성되어있다.
      최종적으로 이미지가 속한 클래스를 알려준다.

LeNet-5를 훈련하기 위한 파라미터는 총 156+12+1516+32+48120+10164 = 60000

profile
음...

0개의 댓글