RNN이 모델링 할 수있는 가능한 시퀀스 길이는 얼마입니까?


15

시계열 데이터 모델링을 위해 LSTM ( long short-term memory ) 버전의 RNN (Recurrent Neural Network) 을 사용하려고 합니다. 데이터의 시퀀스 길이가 길수록 네트워크의 복잡성이 증가합니다. 따라서 어느 정도의 시퀀스가 ​​좋은 정확도로 모델링 할 수 있을지 궁금합니다.

최신 방식을 구현하기가 어려운 비교적 간단한 LSTM 버전을 사용하고 싶습니다. 내 시계열의 각 관측치에는 4 개의 숫자 변수가있을 수 있으며 관측치 수는 약 100.000 ~ 1.000.000입니다.

답변:


8

그것은 데이터의 성격과 내부 상관 관계에 전적으로 달려 있으며, 경험 법칙은 없습니다. 그러나 많은 양의 데이터가있는 경우 2 계층 LSTM은 많은 시계열 문제 / 벤치 마크를 모델링 할 수 있습니다.

또한 전체 시리즈에 시간을 역 전파 전파하지 않고 일반적으로 (200-300) 마지막 단계로 전파합니다. 최적의 값을 찾으려면 그리드 검색 또는 베이지안 최적화를 사용하여 교차 유효성을 검사 할 수 있습니다. 또한 https://github.com/wojzaremba/lstm/blob/master/main.lua 에서 매개 변수를 확인할 수 있습니다 .

따라서 시퀀스 길이는 실제로 모델 교육에 영향을 미치지 않지만 더 많은 교육 예제가있는 것과 같습니다. 다시 설정하는 대신 이전 상태를 유지하면됩니다.


대일 접근 방식 인 정서 분석이 필요하다고 가정합니다 ( karpathy.github.io/2015/05/21/rnn-effectness 참조 ). 이 문장들 각각은 매우 길다 (> 200 단어). 일반적인 35 단계 만 역 전파 백 프로파일 만하면 문제가되지 않습니까? 지도 학습이기 때문에 이진 분류 대상을 "적중"할 때만 역 전파 될 수 있다고 가정합니다 y. 이런 식으로 RNN은 BPTT를 위해 선택된 35 단계 이전의 무엇을 기준으로 가중치를 어떻게 조정합니까?
pir

1
다음 교육 단계에서 동일한 가중치가 재사용되므로 문제가되지 않습니다. 또한 36 단계에서 소스 코드가 표시되면 초기화 벡터는 0이 아니라 35 단계의 상태입니다. 따라서 작은 단계를 수행하면 BPTT를 사용하여 비용 함수를 최적화 할 수 있습니다.
Yannis Assael

1
간단히 말해 : BPTT가 한 문장에 대해 한 번 또는 여러 번 실행됩니까? 한 번만 실행하면 문장의 첫 두 단어에만 영향을 미치는 패턴이 숨겨진 상태에만 영향을 미칩니다. 내 말은 .. 그래디언트는 입력의 해당 부분과 관련하여 계산되지 않습니다.
pir

1
나는 이것을 당신이 살펴보기를 희망하는 별도의 질문으로 물었습니다 : stats.stackexchange.com/questions/167482/…
pir

2
"2 계층 LSTM이 거의 모든 시계열을 모델링 할 수있는 많은 양의 데이터를 확보 할 수있었습니다." 증거는 어디에 있습니까?
nbro
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.