슬라이딩 윈도우 방식으로 훈련하면 LSTM을 과도하게 맞출 수 있습니까? 사람들이 왜 LSTM에 그것을 사용하지 않는 것 같습니까?
간단한 예를 들어, 문자 순서를 예측해야한다고 가정하십시오.
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
다음 미니 배치로 LSTM을 계속 훈련하면 나쁘거나 더 좋습니까?
A B C D E F G H I J K L M N, backprop, erase the cell
B C D E F G H I J K L M N O, backprop, erase the cell
.... and so on, shifting by 1 every time?
이전에는 항상 다음과 같이 교육했습니다.
A B C D E F G H I J K L M N, backprop, erase the cell
O P Q R S T U V W X Y Z, backprop, erase the cell
1 씩 이동하는 대신 2 개의 항목 등으로 창을 슬라이드하는 것이 더 좋습니까? 그 의미는 무엇입니까 (정밀도 / 과적 합)?
또한 Feed-forward 네트워크에서 슬라이딩 윈도우 방식을 사용한다면 과적 합이 발생합니까? 네트워크가 동일한 정보 영역에 매우 오랫동안 노출되어 있기 때문에 예라고 가정합니다. 예를 들어 E F G H I J K
장시간 노출됩니다 .
편집하다:
훈련 배치 사이에서 셀 상태가 지워 지므로 LSTM은이 시점에서 "해머 투 헤드"를 갖습니다. OPQRSTUVWXYZ 이전의 내용 을 기억할 수 없습니다 . 이것은 LSTM이 "O"가 "M"을 따른다는 것을 알 수 없다는 것을 의미합니다.
그래서 나는 (따라서 나의 전체 질문), 중간에 (중첩) 배치를주지 말아야한다고 생각했다. 궁극적으로 이는 LSTM의 슬라이딩 윈도우를 의미합니다.
답변을 수락 한 후 찾은 유용한 정보는 다음과 같습니다.
영어 번역의 첫 단어는 아마도 원문의 첫 단어와 밀접한 관련이 있습니다. 그러나 이는 디코더가 50 단계 전의 정보를 고려해야한다는 것을 의미하며 정보는 어떻게 든 벡터로 인코딩되어야합니다. 재발 신경망은 이러한 장거리 의존성을 다루는 데 문제가있는 것으로 알려져 있습니다. 이론적으로 LSTM과 같은 아키텍처는이를 처리 할 수 있어야하지만 실제로는 장거리 종속성이 여전히 문제가됩니다.
예를 들어, 연구원들은 소스 시퀀스를 반대로 바꾸면 (엔코더에 역으로 공급) 디코더에서 인코더의 관련 부분으로가는 경로가 짧아 지므로 훨씬 더 나은 결과를 얻을 수 있습니다. 마찬가지로 입력 시퀀스를 두 번 먹이면 네트워크가 더 잘 암기하는 데 도움이되는 것으로 보입니다. 예를 들어 한 교육 예제가 "John goes home"인 경우 "John이 home home home"을 네트워크에 하나의 입력으로 제공합니다.
답변을 수락 한 후 편집하십시오.
몇 달 후, 데이터를 더 잘 사용하기 때문에 슬라이딩 윈도우 접근 방식을 사용하는 경향이 더 큽니다. 그러나이 경우 ABCDEFGHIJKLMNO 직후 BCDEFGHIJKLMNO를 훈련시키고 싶지 않을 것입니다. 대신, 모든 정보를 LSTM 에 점진적으로 균일하게 "브러시"하기 위해 예제를 섞습니다. ABCDEFGHIJKLMNO 등 뒤에 HIJKLMNOPQRSTU를 부여하십시오. 이는 치명적인 잊음과 직접 관련이 있습니다. 항상 그렇듯이 Validation and Test 세트를 면밀히 모니터링하고 오류가 꾸준히 증가하는 것을 보자 마자 멈추십시오.
또한 합성 그라디언트를 사용하여 "해머 투 헤드"문제를 개선 할 수 있습니다. 여기에서 이점을보십시오 : (링크 된 답변은 긴 시퀀스의 이점에 대해 설명합니다) /datascience//a/32425/43077