Keras 장단기 메모리(LSTM) 이해
데이터 및 상태 저장 LSTM 재구성
데이터 재구성
- LSTM 레이어가 시계열 데이터 시퀀스를 처리할 수 있도록 데이터 시리즈를 [샘플, 시간 단계, 특징]으로 재구성합니다.
- 시간 단계는 각 시퀀스의 시점 수를 나타내고 기능은 다양한 변수 또는 채널을 나타냅니다.
상태 저장 LSTM
- 상태 저장 LSTM 배치 전체에서 내부 상태를 유지하여 이전 출력을 기억할 수 있습니다.
- 이는 미래 이벤트를 예측하는 데 이전 시간 단계의 컨텍스트가 중요한 작업에 유용합니다.
질문 1: 시간 단계 및 기능
- 분홍색 상자가 있는 이미지는 "다대일" 사례를 보여줍니다. 블랙박스(특징) 개수는 3개이고, 분홍색 상자(시간 단계)는 가변적입니다.
- 이는 입력 시퀀스에 시간 단계당 3개의 특성이 포함되어 있음을 의미합니다.
질문 2: 상태 저장 LSTM
- 제공된 코드 예제에서는 상태 저장 LSTM이 사용되지만 배치_크기는 1로 설정됩니다.
- 이는 모델이 한 번에 하나의 시퀀스에 대해 훈련되고 셀 메모리 값이 각 배치 후에 재설정됩니다.
- 상태 저장 LSTM을 사용하는 목적은 배치 크기가 1임에도 불구하고 단일 시퀀스 내의 시간 단계에 걸쳐 컨텍스트를 보존하는 것입니다.
이미지 대응
-
첫 번째 다이어그램(Unrolled, Batch Size != 1): 각 행은 LSTM의 내부 상태(주황색 상자) 내용과 출력( 녹색 상자) 배치 내 각 시간 단계에서.
-
두 번째 다이어그램(배치 크기 = 1): 첫 번째 다이어그램과 유사하지만 각 행은 상태 내용과 출력을 나타냅니다. 단일 배치의 전체 시퀀스(배치 크기 1).
추가 참고사항
-
다변량 시리즈: 각 시간 단계에 여러 기능이 포함된 다변량 계열을 처리하려면 형태 변경 및 LSTM 레이어의 기능 수는 데이터의 전체 기능 수와 동일해야 합니다.
-
시간 분산 레이어: TimeDistributed 레이어를 사용하면 시퀀스의 각 시간 단계에 동일한 변환을 적용하여 다대다 레이어를 효과적으로 생성할 수 있습니다.
위 내용은 Stateful LSTM은 배치 크기 1에서 어떻게 작동하나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!