RNN / LSTM 네트워크의 가중치가 시간이 지남에 따라 공유되는 이유는 무엇입니까?


20

최근에 LSTM에 관심을 갖게되었으며 시간이 지남에 따라 가중치가 공유된다는 사실에 놀랐습니다.

  • 시간이 지남에 따라 가중치를 공유하면 입력 시간 시퀀스가 ​​가변 길이가 될 수 있습니다.

  • 공유 가중치를 사용하면 훈련 할 매개 변수가 훨씬 적습니다.

내 이해에서 LSTM을 다른 학습 방법과 비교하는 이유는 데이터에 배우고 싶은 시간적 / 순차적 구조 / 의존성이 있다고 생각하기 때문입니다. 가변 길이 '럭셔리'를 희생하고 계산 시간이 길어지면 공유 가중치가없는 RNN / LSTM (즉, 매 단계마다 다른 가중치가 있음)이 더 잘 수행되지 않거나 내가 누락 된 것이 있습니까?

답변:


17

허용되는 답변은 질문의 실질적인 측면에 중점을 둡니다. 매개 변수가 공유되지 않으면 많은 리소스가 필요합니다. 그러나 RNN에서 매개 변수를 공유하기로 결정한 것은 심각한 계산이 문제가 되었을 때 (1980 년대 위키 에 따르면 ) 이루어 졌으므로 주요 주장이 아니라고 생각합니다 (아직도 유효합니다).

매개 변수 공유에 대한 이론적 인 순수한 이유가 있습니다.

  • 길이가 다른 예에 모델을 적용하는 데 도움이됩니다. 시퀀스를 읽는 동안 RNN 모델이 훈련 중 각 단계마다 다른 매개 변수를 사용하는 경우 길이가 다른 보이지 않는 시퀀스를 일반화하지 않습니다.

  • 종종 시퀀스는 시퀀스 전체에서 동일한 규칙에 따라 작동합니다. 예를 들어 NLP에서 :

                                                     "월요일 눈이 내렸다"

                                                     "월요일 눈이왔다"

...이 두 문장은 세부 사항이 순서의 다른 부분에 있지만 동일한 것을 의미합니다. 매개 변수 공유는 각 단계에서 동일한 작업을 수행하고 있다는 사실을 반영하므로 문장의 각 지점에서 규칙을 다시 배울 필요가 없습니다.

LSTM은 이런 의미에서 다르지 않으므로 공유 매개 변수도 사용합니다.


4
이것이 대답보다 훨씬 더 중요한 이유입니다!
jlh

나는 내 대답이 여기에 잘못 묘사되어 있다고 생각합니다. 나는 무게 분담없이 더 많은 계산 자원이 필요할 것이라고 말했지만, 이것이 핵심은 아닙니다. 특히, 나는 가중치를 공유하지 않는 모델이 훨씬 더 유연 해져서 과적 합하기 쉽다고 썼습니다. 시간이 지남에 무게를 공유하는 것은 이것을 극복하는 방법입니다. 여기서 지적한 것처럼이 전략은 각 규칙에서 동일한 규칙이 적용되는 '사전'에 해당합니다. 따라서 두 가지 답변이 일치하지 않습니다.
user20160

12

'공유 가중치'관점은 피드 포워드 네트워크가 시간이 지남에 따라 풀린 RNN에 대한 생각에서 비롯됩니다. 각 순간에 가중치가 다른 경우 이는 피드 포워드 네트워크 일뿐입니다. 그러나 다른 방법으로 생각할 때 가중치가 시간에 따라 변하는 RNN (가변 길이 시퀀스 처리 기능을 유지할 수 있음)이라고 생각합니다.

이렇게하면 시간 단계 수에 따라 매개 변수 수가 선형으로 늘어납니다. 이는 길이가 매우 긴 시퀀스에 대한 매개 변수가 크게 폭발 한 것입니다. 네트워크를 실행하는 데 엄청난 양의 컴퓨팅 리소스가 있고이를 제한하기 위해 대규모 데이터가 있다면 실제로 네트워크를 더욱 강력하게 만들 것입니다. 긴 시퀀스의 경우 계산이 불가능하고 오버 피팅 될 수 있습니다. 실제로 사람들은 일반적으로 시간이 지남에 따라 잘린 역 전파를 실행하여 반대 방향으로 진행합니다. 이는 전체 시퀀스가 ​​아닌 짧은 시간 동안 네트워크를 풀기 만합니다. 이것은 계산 타당성을 위해 수행됩니다. 흥미롭게도, 반복 단위가 이전부터 메모리를 저장할 수 있기 때문에 RNN은 절단 길이를 넘어 확장되는 시간적 구조를 여전히 배울 수 있습니다.


가중치를 공유하지 않아도 시간이 지남에 따라 셀 상태가 계속 유지됩니다. 고유 한 시간 가중치를 가진 롤링되지 않은 LSTM은 각 '계층'이 시간 조각을 나타내는 피드 포워드 네트와 같지만 각 '계층'에는 들어오는 셀 상태 정보가 있습니다. 피드 포워드와 비슷하지만 셀 상태가 추가됩니다.
beeCwright

0

숨겨진 숨겨 지은 되풀이 (및 시간 공유 가중치)가있는 RNN은 Universal Turing Machine과 동일하므로 시간 단계마다 다른 가중치를 부여해도 더 강력하지는 않습니다.


"강력한"의 의미에 대해 자세히 설명해 주시겠습니까? Turing Machines에 대한 언급은 귀하가 생각하는 것과 통계의 의미가 완전히 다를 수 있음을 나타냅니다.
whuber

RNN은 일련의 데이터를 처리하는 데 사용됩니다. 가장 일반적인 유형 중 하나는 입력으로 시퀀스를 가져오고 다른 시퀀스를 출력 (예 : 언어 번역 시스템)으로 생성합니다. RNN 모델 군 M1이 다른 RNN 모델 군 M2보다 강력하다고 말하면 (예를 들어 입력 시퀀스 세트를 출력 시퀀스 세트에 매핑하는 등) M1에이 문제를 해결할 수있는 일부 모델 m1이있는 경우 그러나 M2에는 그 문제를 해결할 수있는 모델이 없습니다.
Hossein
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.