본 게시물은 참고블로그내용을 정리하였다.
LeNet은 CNN중 초기 모델이며 본 게시물은 최종 모델인 LeNet-5의 내용을 다룬다.
LeNet은 CNN을 처음으로 개발한 얀 르쿤(Yann Lecun)연구팀이 1998년에 개발한 CNN알고리즘이다.
위 사진에서 볼 수 있듯이 LeNet-5는 input,3개의 컨볼루션 레이어,2개의 서브샘플링 레이어,1층의 full connected layer,output layer로 구성된다.C1~F6까지 tanh 활성화 함수를 사용한다.
훈련해야할 파라미터 개수:
(가중치x입력맵개수 + 바이어스)x특성맵개수 = (5x5x1 + 1)x6 = 156
훈련해야할 파라미터 개수: (가중치 + 바이어스)x특성맵개수 =
(1 + 1)x6 = 12
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 + 1)16 = 32
훈련해야할 파라미터 개수: (가중치입력맵개수 + 바이어스)특성맵 개수 = (5516 + 1)*120 = 48120
훈련해야할 파라미터 개수: 연결개수 = (입력개수 + 바이어스)출력개수 = (120 + 1)84 = 10164
LeNet-5를 훈련하기 위한 파라미터는 총 156+12+1516+32+48120+10164 = 60000