더북(TheBook)

앞의 인공 신경망 구성에 따라 다음처럼 모형을 구성해보자.

>>> model = tf.keras.models.Sequential([
>>>     tf.keras.layers.Flatten(input_shape=(28, 28)),
>>>     tf.keras.layers.Dense(128, activation='relu'),
>>>     tf.keras.layers.Dropout(0.2),
>>>     tf.keras.layers.Dense(10, activation='softmax')
>>> ])

입력 값인 각 이미지는 가로세로가 모두 28픽셀인데, 이를 한 줄의 데이터로 변환하려면 함수Flatten를 사용해야 한다. 이후 노드 128개를 갖는 은닉층을 추가하여 활성화 함수 ReLU를 적용하였다. 은닉층이 크다 보니 계산과 성능을 개선하기 위해 Dropout을 20% 적용하였다. 마지막으로 결과층의 결괏값 10개는 활성화 함수 softmax를 통해 분류되게 구성하였다.

이제 위의 내용으로 모형을 구성하기 위해 Adam Optimizer를 적용하고, 손실 함수와 성능 측정 지표를 다음처럼 지정하였다.

>>> model.compile(optimizer='adam',
>>>     loss='sparse_categorical_crossentropy',
>>>     metrics=['accuracy'])
신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.