-
Keras RNN 모델 생성 방법딥러닝/Keras 2019. 11. 14. 00:29
이번 포스팅에서는 딥 뉴럴 네트워크에서 많이 사용되고 있는 RNN Layer 사용 방법을 소개한다.
RNN의 큰 장점은 과거 상태 정보를 기억함으로써 시계열 정보를 효과적을 추출 할 수 있다.
이 포스팅에서 RNN에 대해서 자세한 내용은 다루지 않는다.
Keras에서 RNN 계열의 지원하는 Layer는 여러개가 있다. 이 포스팅에서는 그 중 가장 많이 사용되고 있는 LSTM을 살펴본다.
RNN 내용 참고: https://keras.io/layers/recurrent/
코드 출처: https://github.com/keras-team/keras/blob/master/examples/lstm_stateful.py
model = Sequential()
model.add(LSTM(20, input_shape=(lahead, 1), batch_size=batch_size, stateful=stateful))
model.add(Dense(1))
model.compile(loss='mse', optimizer='adam')해당 코드에서 Sequential()을 이용하여 모델을 생성하고, LSTM 레이어를 모델에 담는 형태이다.
※ LSTM에서 사용되는 주요 인자
1) units: 레이어의 뉴런 개수를 지정
2) input_shape: 입력 배열 크기를 지정
3) batch_size: 한번에 입력으로 들어가는 배열의 개수를 지정
4) activation: 활성 함수를 지정
5) stateful: True인 경우 지정된 한 바퀴(Time step)가 종료된 이후에도 상태를 초기화 하지 않고, 다음 바퀴에 초기 상태로 사용한다.
6) return_sequences: True인 경우 Time step 동안 받는 입력마다 매번 출력을 한다. 반대로 False인 경우 Time step 마지막 끝날 때 한번만 출력을 한다.
5번 보충 설명 그림
6번 보충 설명 그림
'딥러닝 > Keras' 카테고리의 다른 글
Keras 지원하는 활성 함수(1) (0) 2019.11.19 Keras Multi(input, output) 모델 생성 방법 (0) 2019.11.13 Keras 모델 생성 방법 (0) 2019.11.13 Ubuntu Keras 설치 (0) 2019.11.12