nosungmin 2023. 2. 15. 12:08

from keras.models import Sequential
from keras.layers import Dense, Dropout, Conv2D, MaxPool2D, Flatten, AveragePooling2D
from keras.layers import BatchNormalization

input_shape=(32323)

#Instantiate an empty model
model = Sequential()
# C1 Convolutional Layer
model.add(Conv2D(6, kernel_size=(55), strides=(11), activation='tanh', input_shape=input_shape, padding='same'))
# S2 Pooling Layer
model.add(AveragePooling2D(pool_size=(22), strides=2, padding='valid'))
# C3 Convolutional Layer
model.add(Conv2D(16, kernel_size=(55), strides=(11), activation='tanh', padding='valid'))
# S4 Pooling Layer
model.add(AveragePooling2D(pool_size=(22), strides=2, padding='valid'))
# C5 Fully Connected Convolutional Layer
model.add(Conv2D(120, kernel_size=(55), strides=(11), activation='tanh', padding='valid'))
#Flatten the CNN output so that we can connect it with fully connected layers
model.add(Flatten())
# FC6 Fully Connected Layer
model.add(Dense(84, activation='tanh'))
# Output Layer with softmax activation
model.add(Dense(10, activation='softmax'))
# print the model summary
model.summary()
 
lenet model은 conv, Pool층을 5번거치고 평탄화를 한 뒤에 풀리커넥티드 레이어를 통과한 매우 간단한 모델이다.

LeNet은 Convolutional Neural Network (CNN)의 초기 모델 중 하나로, Yann LeCun 등이 개발한 모델입니다.

LeNet은 손으로 쓴 숫자를 인식하는 문제를 해결하기 위해 디자인되었으며, 입력 이미지를 여러 개의 레이어를 거쳐 처리하여 출력으로 숫자를 인식하는 구조를 갖추고 있습니다.

LeNet은 입력 이미지의 크기를 줄이고, 이미지의 특징을 추출하는 Convolutional Layer와 Pooling Layer, 그리고 추출된 특징을 분류하는 Fully-Connected Layer로 이루어져 있습니다.

LeNet은 딥러닝의 초기 모델 중 하나이며, 현재의 딥러닝 모델의 기반을 이루는 기술 중 하나입니다. LeNet의 개발은 이미지 인식 분야에서 큰 발전을 이루는 계기가 되었으며, 현재는 다양한 분야에서 활용되고 있습니다.