본문 바로가기

AI/Framework

[Keras] Sequential model 시작하기


1. 케라스 Sequential 모델 시작하기

2. 입력 형태 지정하기

3. 컴파일

4. 학습

 

1. 케라스 Sequential 모델 시작하기

 

2. 입력 형태 지정하기

만들어진 모델은 입력 형태에 대한 정보를 필요로 합니다. 때문에 Sequential 모델의 첫 번째 레이어는 입력 형태에 대한 정보를 받습니다. 두 번째 이후 레이어들은 자동으로 형태를 추정할 수 있기 때문에 형태 정보를 갖고 있을 필요는 없습니다. 형태 정보를 전달하기 위한 방법은 다음과 같습니다.

  • 정수형 또는 None으로 구성된 형태 튜플(shape tuple)의 input_shape 인자를 첫번째 레이어에 전달합니다. 여기서 None은 음이 아닌 어떠한 정수를 받을 수 있음을 의미합니다. 참고로 input_shape에는 배치 차원은(batch dimension) 포함되지 않습니다.
  • Dense와 같은 일부 2D 레이어의 경우, 입력 형태를 input_dim 인자를 통해 지정할 수 있으며 일부 의 임시적인 3D 레이어는 input_dim과 input_length 인자를 지원합니다.
  • 입력 데이터를 위해 고정된 배치 형태를 필요로 하는 경우에는 레이어에 batch_size 인자를 넘길 수 있습니다. 이는 순환 신경망(recurrent network)를 사용할 때 유용합니다. 예를 들어, batch_size=32와 input_shape=(6,8)을 레이어에 넘겨주면 이후의 모든 입력을 32, 6, 8의 형태로 기대하여 처리합니다.

 

3. 컴파일

모델을 학습시키기 이전에, compile 메소드를 통해서 학습 방식에 대한 환경설정을 해야 합니다. 다음의 세 개의 인자를 입력으로 받습니다.

  • 정규화기 (optimizer). rmsprp나 adagrad와 같은 기존의 정규화기에 대한 문자열 식별자 또는 Optimizer 클래스의 인스턴스를 사용할 수 있습니다. 참고: 정규화기
  • 손실 함수 (loss function). 모델이 최적화에 사용되는 목적 함수입니다. categorical_crossentropy 또는 mse와 같은 기존의 손실 함수의 문자열 식별자 또는 목적 함수를 사용할 수 있습니다. 참고: 손실
  • 기준(metric) 리스트. 분류 문제에 대해서는 metrics=['accuracy']로 설정합니다. 기준은 문자열 식별자 또는 사용자 정의 기준 함수를 사용할 수 있습니다.

 

4. 학습

케라스 모델들은 입력 데이터와 라벨로 구성된 Numpy 배열 위에서 이루어집니다. 모델을 학습기키기 위해서는 일반적으로 fit함수를 사용합니다. 여기서 자세한 정보를 알 수 있습니다.

 

 

 

 

 

Guide to the Sequential model - Keras Documentation

케라스 Sequential 모델 시작하기 Sequential 모델은 레이어를 선형으로 연결하여 구성합니다. 레이어 인스턴스를 생성자에게 넘겨줌으로써 Sequential 모델을 구성할 수 있습니다. from keras.models import Seq

keras.io