방금 RNN과 LSTM을 연구하기 시작했습니다. 내가 훑어 본 모든 자원에 대해 하나의 질문에 답을 얻지 못했습니다 :반복 NN : 매개 변수 공유의 요점은 무엇입니까? 어쨌든 패딩을하지 않습니까?
다음은 RNN에서 매개 변수 공유의 요점을 이해하는 방법입니다. 내 질문은 다음과 같습니다.
- 아래에 요약 된대로 RNN을 이해하고 있습니까?
- Keras의 실제 코드 예제에서 LSTM을 살펴 보았지만, 문장은 모두 길이가 같도록 문장을 채 웁니다. 그렇게함으로써 RNN에서 매개 변수 공유의 전체 목적을 씻어 내리지 못합니까?
일반적인 피드 포워드 신경망에서는 모든 입력 단위에 개별 매개 변수가 할당됩니다. 즉 입력 단위 (피쳐)의 수가 배울 매개 변수의 수와 일치 함을 의미합니다. 예를 들면. 이미지 데이터의 경우 입력 단위의 수는 모든 학습 예제에서 동일합니다 (대개 일정한 픽셀 크기 * 픽셀 크기 * rgb 프레임).
그러나 문장과 같은 순차 입력 데이터는 매우 다양한 길이가 될 수 있습니다. 즉, 문장의 예제에 따라 매개 변수의 수가 동일하지 않습니다. 이것이 연속 된 데이터를 효율적으로 처리하기 위해 매개 변수 공유가 필요한 이유입니다. 한 상태에서 다른 상태로의 전환이라는 측면에서 지정되었으므로 모델이 시퀀스 길이에 관계없이 항상 동일한 입력 크기를 갖도록합니다. 따라서 매 시간 단계마다 동일한 가중치 (숨겨진 가중치에 입력, 출력 가중치에 숨김, 숨겨진 가중치에 숨김)를 사용하여 동일한 전이 함수를 사용할 수 있습니다. 큰 장점은 트레이닝 세트에 나타나지 않은 시퀀스 길이를 일반화 할 수 있다는 것입니다.
고마워요.
https://stats.stackexchange.com/q/221513/130598 – Maxim
감사합니다. 좋은 힌트! –