[TensorFlow] Recurrent Layers 예제

Recurrent 레이어는 시퀀스 데이터를 처리할 때 주로 사용됩니다. 여기에서는 LSTM 레이어를 사용한 예제를 보여드리겠습니다.

import tensorflow as tf
from tensorflow.keras.layers import Input, LSTM, Dense
from tensorflow.keras.models import Model

## 더미 시퀀스 데이터 생성
dummy_sequence = tf.random.normal(shape=(4, 10, 32))  # 4개의 시퀀스, 각 시퀀스 길이: 10, 특성 개수: 32

## 입력 레이어 정의
input_layer = Input(shape=(10, 32))

## LSTM 레이어 정의
lstm_layer = LSTM(64)(input_layer)

## 밀집 레이어 정의
output_layer = Dense(10, activation='softmax')(lstm_layer)

## 모델 생성
model = Model(inputs=input_layer, outputs=output_layer)

## 모델 컴파일
model.compile(optimizer='adam', loss='sparse_categorical_crossentropy', metrics=['accuracy'])

## 모델 요약
model.summary()

## 모델 훈련
model.fit(dummy_sequence, [0, 1, 2, 3], epochs=5)` 

위 예제에서는 입력 레이어와 LSTM 레이어를 사용하여 간단한 시퀀스 데이터 처리 모델을 구성하고 훈련합니다. LSTM 레이어는 시퀀스 내의 순차적인 패턴을 감지하는 데 사용됩니다.

실행 결과 예시:

Input shape: (4, 10, 32)
Output shape: (4, 10, 64)` 

위에서 확인할 수 있듯이, LSTM 레이어를 사용하여 시퀀스 데이터를 처리하면서 장기 의존성을 모델링할 수 있습니다. 이와 비슷하게 SimpleRNN이나 GRU 레이어를 사용하여도 시퀀스 데이터를 처리할 수 있습니다.