LeNet은 CNN을 처음으로 개발한 얀 르쿤(Yann Lecun) 연구팀이 1998년에 개발한 CNN 알고리즘의 이름이다. original 논문 제목은 "Gradient-based learning applied to document recognition"이다. 우선 LeNet-5의 구조를 살펴보자.
그림1에서 볼 수 있듯이 LeNet-5는 인풋, 3개의 컨볼루션 레이어(C1, C3, C5), 2개의 서브샘플링 레이어(S2, S4), 1층의 full-connected 레이어(F6), 아웃풋 레이어로 구성되어 있다. 참고로 C1부터 F6까지 활성화 함수로 tanh을 사용한다.
lenet_5_model = keras.models.Sequential([
keras.layers.Conv2D(6, kernel_size=5, strides=1, activation='tanh', input_shape=train_x[0].shape, padding='same'), #C1
keras.layers.AveragePooling2D(), #S2
keras.layers.Conv2D(16, kernel_size=5, strides=1, activation='tanh', padding='valid'), #C3
keras.layers.AveragePooling2D(), #S4
keras.layers.Flatten(), #Flatten
keras.layers.Dense(120, activation='tanh'), #C5
keras.layers.Dense(84, activation='tanh'), #F6
keras.layers.Dense(10, activation='softmax') #Output layer
])
keras 이용해서 lenet 작성하기
keras.io/ko/getting-started/sequential-model-guide/
'AI > Framework' 카테고리의 다른 글
[Keras] Dense, Fully connected Layer (0) | 2020.12.29 |
---|---|
[Keras] Sequential model 시작하기 (0) | 2020.12.29 |
Tensorflow vs Keras / 딥러닝 프레임워크 (0) | 2020.12.29 |
Tensorflow vs Keras (0) | 2020.12.29 |
[Keras] set_image_dim_ordering (0) | 2020.12.29 |