Home [Deep Learning] 02. MLP 구현
Post
Cancel

[Deep Learning] 02. MLP 구현

Keras 개발 process

  1. 입력 텐서(X)와 출력 텐서(y)로 이뤄진 훈련 데이터를 정의
  2. 입력과 출력을 연결하는 Layer(층)으로 이뤄진 네트워크(모델)을 정의
    • Sequential 방식: 순서대로 쌓아올린 네트워크로 이뤄진 모델을 생성하는 방식
    • Functional API 방식: 다양한 구조의 네트워크로 이뤄진 모델을 생성하는 방식
    • Subclass 방식: 네트워크를 정의하는 클래스를 구현.
  3. 모델 Compile(컴파일)
    • 모델이 Train(학습)할때 사용할 손실함수(Loss Function), 최적화기법(Optimizer), 학습과정을 모니터링할 평가지표(Metrics)를 설정

    Compile: 실행할 수 있는 상태로 만들어 주는 것.

  4. Training(학습/훈련)
    • Train dataset을 이용해 모델을 Train 시킨다.

MNIST 이미지 분류

  • MNIST(Modified National Institute of Standards and Technology) database

  • 흑백 손글씨 숫자 0-9까지 10개의 범주로 구분해놓은 데이터셋
  • 하나의 이미지는 28 * 28 pixel 의 크기
  • 6만개의 Train 이미지와 1만개의 Test 이미지로 구성됨. Alt text

데이터 준비

  • X (Input Data Image)
    • 0 ~ 1 사이의 값으로 정규화 시킨다.
  • y (Output Data)
    • one hot encoding 처리
      • Label이 다중분류(Multi class classification)일 경우 One Hot Encoding 한다.
        • 딥러닝 모델이 각 Label별 확률을 출력하도록 정의 되기 때문에 y(정답)도 같은 형태로 만들어 줘야 한다.
    • Keras의 onehot encoding 처리 함수
      • tensorflow.keras.utils.to_categorical()
This post is licensed under CC BY 4.0 by the author.