케라스 창시자에게 배우는 딥러닝

첫번째 예제 분석 / 코드 몇 줄 생략됨 - 원래 예제 코드 참고할 것

# 신경망 구조 셋업하기
# 각 층에서 '가중치 텐서'를 활용 + 추가 연산 활용, 텐서 연산 실행하는 모델 셋업
network = models.Sequential()
network.add(layers.Dense(512, activation='relu', input_shape=(28 * 28,)))
network.add(layers.Dense(10, activation='softmax'))

# 신경망 훈련 준비 종료단계 (컴파일)
# 손실함수: mini batch 확률적 경사하강법 이용한 피드백을 통해 최소화
# 옵티마이저: 경사하강법을 적용하는 구체적인 방식
# 훈련/테스트 모니터링 지표: 정확도 - 다른 것도 있는듯?
network.compile(optimizer = 'rmsprop',
  loss='categorical_crossentropy',
  metrics=['accuracy'])

# 신경망에 '반복적으로' 훈련데이터 학습
# 각 epoch마다 128개의 mini batch를 사용
# "손실에 대한 가중치의 그래디언트를 계산"
# "이에 맞추어 가중치를 업데이트"
network.fit(train_images, train_labels, epochs=5, batch_size=128)