이번 강의에서는 3가지 dataset을 이용해서 신경망을 어떻게 학습시키는지를 실습하였다.

  • MNIST: 손글씨 dataset
  • fashion MNIST: 패션(의류) 관련 dataset
  • IMDB: 영화 리뷰 dataset. 긍정적 리뷰인지 부정적 리뷰인지를 판별.

Dataset에 의미를 두어 학습하기보다는 keras를 이용해 신경망을 어떻게 구현하는지에 초점을 맞추었다.

keras를 이용해 신경망을 구축하는 코드는 다음과 같다.

model = tf.keras.models.Sequential([
    tf.keras.layers.Flatten(),
    tf.keras.layers.Dense(512, activation=tf.nn.relu),
    tf.keras.layers.Dropout(0.2),
    tf.keras.layers.Dense(10, activation=tf.nn.softmax)
])

model.compile(optimizer='adam',
              loss='sparse_categorical_crossentropy',
              metrics=['accuracy'])

먼저 models.Sequential에 사용할 layer의 종류를 차례대로 넣어준다.

다음으로는 model.compile에 모델에 사용할 손실 함수(loss), 최적화 방법(optimizer), 평가 지표(metrics)를 설정해준다.

  • optimizer: SGD, RMSprop, Adam 등 최적화 알고리즘.
  • loss: mean_squared_error, binary_cross_entropy 등.
  • metrics: mse(회귀), accuracy, precision, recall, f1-score 등.

훈련과 평가 코드는 다음과 같다.

model.fit(x_train, y_train, epochs=5)       # 훈련
model.evaluate(x_test, y_test)      # 평가

[코드 보러가기 1MNIST](https://github.com/Hyun3246/Code-Warehouse/blob/7bbf8bc222d0c5eede062fb58486c78c6f4a65a8/Deep%20Learning%20Basic%20Starting%20with%20TF/%EC%8B%A4%EC%8A%B5_07_03_01_Application%26Tips_Data%26_Learning.ipynb)

[코드 보러가기 2Fashion MNIST & IMDB](https://github.com/Hyun3246/Code-Warehouse/blob/7bbf8bc222d0c5eede062fb58486c78c6f4a65a8/Deep%20Learning%20Basic%20Starting%20with%20TF/%EC%8B%A4%EC%8A%B5_07_03_02_Application%26Tips%EB%8B%A4%EC%96%91%ED%95%9C_Dataset%EC%9C%BC%EB%A1%9C_%EC%8B%A4%EC%8A%B5.ipynb)



별도의 출처 표시가 있는 이미지를 제외한 모든 이미지는 강의자료에서 발췌하였음을 밝힙니다.

댓글남기기