다른 많은 사람들이 가지고 있듯이 LSTM 셀을 이해하는 데 여기 와 여기 의 리소스 가 매우 유용하다는 것을 알았습니다 . 나는 가치가 어떻게 흐르고 업데이트되는지를 잘 알고 있으며 언급 된 “구멍 연결”등을 추가 할만큼 확신합니다.
예 내에서, I는 각 시간 단계에서의 길이의 입력 벡터가 i
길이의 출력 벡터 o
어디에, o < i
.
실제로 다루지 않은 페이지는 어떻게 정리되고 훈련되는지입니다.
두 가지 질문이 있습니다.
- 훈련 데이터에는 많은 시간 단위에 해당하는 많은 입력 / 출력 벡터 쌍이 있습니다. 모든 데이터를 사용하여 LSTM을 학습한다고 가정합니다. 그런 다음 임의 길이의 입력 세트를 실행할 수 있습니까? 내 말은, 2015 년과 2016 년 전체에 대한 교육 데이터가있는 경우 2017 년 동안 네트워크를 통해 데이터를 실행할 수 있습니까? 아니면 2017 년에서 2020 년 사이일까요?
- 내가 읽은 것에 따르면, 시간 단위 당 하나의 LSTM 셀이있는 것처럼 느껴지므로 시간 단위가 많은 경우 많은 체인 LSTM 셀이 있습니다. 체인의 길이는 네트워크를 통해 실행하려는 데이터의 길이에 따라 다르며 아마도 임의적이므로 아마도 단일 LSTM 셀만 훈련 한 다음 숫자를 복제하지 않으면 어떻게 훈련하는지 알 수 없습니다 타임스. 따라서 단일 LSTM 셀을 훈련 한 다음
n
주어진 길이의 입력 벡터 목록에 대해 함께 연결하는 것처럼 보n
입니까? 단일 LSTM 셀에 많은 요소와 기능이 포함되어 있지만 너무 작은 정보로 너무 많은 정보를 캡처하는 것만으로는 충분하지 않다고 생각합니까?
감사. 구현 세부 사항을 이해하는 데 도움이되는 다른 리소스 (상대적으로 빠르게)를 사용할 수 있습니까? 위의 2 개의 링크는 진행 상황에 대한 환상적인 고급 그림을 제공했지만 이러한 세부 사항을 포착하지 못했습니다.
답변
모든 데이터를 사용하여 LSTM을 학습한다고 가정합니다. 그런 다음 임의 길이의 입력 세트를 실행할 수 있습니까?
초록색입니다. 그러나 일부 소프트웨어 구현에는 변수가 고정 크기 여야하는지 여부 또는 변수 크기가 될 수 있는지에 대한 엄격한 규칙이 있으므로 프로그래밍 측면에서 올바르게 구현하고 있는지 확인해야합니다.
그래서 단일 LSTM 셀을 훈련 한 다음 길이 n의 주어진 입력 벡터 목록에 대해 n을 함께 묶는 것처럼 보입니까?
아니요. 각 셀은 모든 시간 단위를 처리합니다. 이것이 반복 되는 이유 입니다. 셀은 셀의 메모리 상태를 업데이트하여 입력 를 처리합니다 . 다음에 장치는 이전 메모리 상태의 함수이다 새로운 입력 .