[TensorFlow] Long Short-Term Memory Layer 예제

tf.keras.layers.LSTM 레이어는 장기 및 단기 기억을 관리하는 순환 신경망 레이어입니다. 시퀀스 데이터 처리에 주로 사용되며, 긴 기간 동안 정보를 기억하면서 그 사이의 의존성을 잘 처리할 수 있는 능력을 갖고 있습니다. 아래는 tf.keras.layers.LSTM 레이어를 사용한 간단한 예제입니다.

import tensorflow as tf

## 입력 시퀀스 길이와 특성 차원 (예시로)
sequence_length = 10
feature_dim = 5

## LSTM 레이어 정의
lstm_layer = tf.keras.layers.LSTM(units=8, return_sequences=True, input_shape=(sequence_length, feature_dim))

## 더미 입력 시퀀스 생성
dummy_input = tf.random.normal(shape=(1, sequence_length, feature_dim))  # 배치 크기 1로 가정

## LSTM 레이어 실행
output = lstm_layer(dummy_input)

print("Input shape:", dummy_input.shape)
print("Output shape:", output.shape)` 

위 예제에서는 tf.keras.layers.LSTM 레이어를 사용하여 길이가 10인 시퀀스에 대한 레이어를 정의하고 실행합니다. units 매개변수로 LSTM 뉴런의 수를 지정하며, return_sequences=True로 설정하여 출력을 시퀀스 형태로 반환합니다.

실행 결과:

Input shape: (1, 10, 5)
Output shape: (1, 10, 8)` 

위에서 확인할 수 있듯이, 입력 시퀀스의 형태가 (1, 10, 5)이고 출력 시퀀스의 형태가 (1, 10, 8)임을 확인할 수 있습니다. LSTM 레이어는 입력 시퀀스의 각 타임 스텝마다 특징을 추출하고 출력을 생성하는 데 사용됩니다.

실제로 LSTM은 시퀀스 예측, 문장 생성, 기계 번역 등 다양한 시퀀스 데이터 처리 작업에 사용됩니다.