여러 LSTM을 스태킹하면 어떤 이점이 있습니까?


25

딥 네트워크에서 여러 개의 LSTM을 나란히 쌓아 두는 이점은 무엇입니까? LSTM을 사용하여 일련의 입력을 단일 입력으로 나타냅니다. 그래서 일단 그 단일 표현을 가졌는데 왜 다시 통과해야합니까?

나는 자연어 생성 프로그램에서 이것을 보았 기 때문에 이것을 요구하고 있습니다.


1
LSTM이 수평으로 (시간 간격을 따라) 나란히 쌓인 것을 의미 했습니까, 아니면 수직으로 쌓인 것을 의미 했습니까 (각 시간 간격에 대해 여러 LSTM 셀)?
wabbit

답변:


18

세로로 쌓인 LSTM 레이어를 참조한다고 생각합니다 (가로축이 시간축이라고 가정).

이 경우 LSTM을 쌓는 주된 이유는 더 큰 모델 복잡성을 허용하기위한 것입니다. 간단한 피드 포워드 네트의 경우 레이어를 쌓아 입력 데이터의 계층 적 특징 표현을 생성 한 다음 일부 기계 학습 작업에 사용할 수 있습니다. 스택 LSTM에도 동일하게 적용됩니다.

매번 반복 입력 외에 LSTM 단계. 입력이 이미 LSTM 계층 (또는 피드 포워드 계층)의 결과 인 경우 현재 LSTM은 현재 입력의보다 복잡한 피쳐 표현을 생성 할 수 있습니다.

이제 피처 입력과 LSTM 레이어 사이에 피드 포워드 레이어를 갖는 것과 다른 LSTM 레이어를 갖는 것의 차이점은 피드 포워드 레이어 (완전히 연결된 레이어)가 이전 시간 단계로부터 피드백을 수신하지 않으므로 특정 사항을 설명 할 수 없다는 것입니다 패턴. LSTM 대신 (예 : 스택 LSTM 표현 사용) 모든 레이어에서보다 복잡한 입력 패턴을 설명 할 수 있습니다.


4
레이어 내의 LSTM 셀은 이미 완전히 완전히 서로 연결되어 있습니다 (레이어의 출력은 동일한 레이어의 모든 입력에 연결되어 있음). 따라서 개별 셀은 이미 한 계층 내에서 다른 셀의 출력 위에 기능을 결합 할 수 있습니다. 여러 레이어가 더 복잡한 패턴을 만드는 이유를 자세히 설명해 주시겠습니까?
danijar

6

{1}에서 :

더 깊은 아키텍처에서 얻는 추가 성능이 무엇인지 이론적으로는 명확하지 않지만, 일부 작업에서는 더 깊은 RNN이 더 얕은 RNN보다 더 잘 작동한다는 것이 경험적으로 관찰되었습니다. 특히 Sutskever et al (2014)은 4 층 딥 아키텍처가 인코더 디코더 프레임 워크에서 우수한 기계 번역 성능을 달성하는 데 결정적이라고보고했습니다. Irsoy and Cardie (2014)는 또한 단일 계층 BI-RNN에서 여러 계층의 아키텍처로 이동 한 결과 개선 된 결과를보고합니다. 다른 많은 연구에서도 계층 RNN 아키텍처를 사용하여 결과를보고하지만 1 계층 RNN과 명시 적으로 비교하지는 않습니다.

참고 사항 :


참고 문헌 :


2

시퀀스 분류를 위해 LSTM을 가지고 놀면서 CNN의 모델 용량을 늘리는 것과 같은 효과를 얻었습니다 (잘 알고있는 경우). 따라서 데이터에 적합하지 않은 경우 특히 이익을 얻습니다.

물론 너무 적합하고 성능이 더 나빠질 수 있으므로 이중 모서리가 있습니다. 필자의 경우 1 LSTM에서 2의 스택으로 이동하여 거의 즉각적으로 개선되었습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.