Keras LSTM의 시간 단계 및 기능 이해
질문에 답하기 위해 시간 단계 및 관련 기능의 개념을 더 깊이 파헤쳐 보겠습니다. Keras에서 구현된 LSTM에 적용됩니다.
시간 단계 및 기능
제공된 Keras 예제에서 trainX 데이터는 다음 모양으로 재구성됩니다.
(trainX.shape[0], look_back, 1)
Karpathy의 블로그에서 링크한 이미지와 관련하여 각 "분홍색" 직사각형은 하나의 특성을 나타내며, "녹색" 직사각형은 시간 단계를 나타냅니다. 따라서 이미지의 다이어그램은 3개의 시간 단계와 2개의 특징이 있는 시계열에 해당합니다.
Stateful LSTM
Stateful LSTM은 이를 허용하는 내부 상태를 유지합니다. 주어진 시퀀스를 처리하는 동안 배운 내용을 기억합니다. Keras와 함께 사용할 때는 상태 저장 매개변수를 True로 설정합니다.
귀하의 예에서는 배치_크기를 1로 설정하고 shuffle=False로 훈련하기 위해 model.fit()을 사용합니다. 이는 각 배치에 단일 시퀀스가 포함되어 있고 LSTM이 훈련 데이터에 나타나는 것과 동일한 순서로 시퀀스를 처리한다는 의미입니다. 결과적으로 LSTM의 상태는 배치 전반에 걸쳐 보존되어 전체 시퀀스에서 학습할 수 있습니다.
훈련 에포크 사이에 LSTM의 상태를 재설정하면 각 에포크의 학습 프로세스를 효과적으로 "다시 시작"할 수 있습니다. . 그러나 LSTM은 여러 시대에 걸쳐 학습한 전체 패턴을 여전히 기억합니다.
중요 사항
위 내용은 시간 단계와 기능이 Keras LSTM 성능에 어떤 영향을 미칩니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!