순환(recurrent) 네트워크에서 long-term dependencies를 학습하는 기본적인 문제는 여러 단계에 걸쳐 전파되는 기울기가 사라지거나(vanish)) 폭발하는(explode) 경향이 있다는 것이다. 대부분의 경우 vanish 문제이고 explode 문제는 드물지만 최적화에 더 어려움을 준다. 순환 관계를 다음과 같이 비선형 활성화 함수와 인풋 $x$가 없는 매우 단순한 순환 신경망으로 생각할 수 있다. $$ \boldsymbol{h}^{(t)}=\boldsymbol{W}^{\top} \boldsymbol{h}^{(t-1)} $$ 이를 다음과 같이 단순화할 수 있다. $$ \boldsymbol{h}^{(t)}=\boldsymbol{(W^t)}^{\top} \boldsymbol{h}^{(0)} $$ 만약 $\boldsymbol{W}$가 eigendecomposition이면 순환성(recurrence)은 더 단순화될 수 있다. $$ \boldsymbol{h}^{(t)}=\boldsymbol{Q}^{\top} \Lambda^t \boldsymbol{Q} \boldsymbol{h}^{(0)} $$ 고유값이 $t$승으로 상승하는 것은 크기(magnitude)가 1보다 작은 고유값은 0으로 감소하고 1보다 큰 고유값은 explode되도록 유발한다. 가장 큰 고유벡터로 정렬되지 않은 $\boldsymbol{h}^{(0)}$의 성분은 결국에는 버려질 것이다.

만약 각 time step마다 가중치가 다른 $w^{(t)}$를 가지는 비순환적 네트워크를 만들면 상황이 달라진다. 초기 상태가 1로 주어진다면, 시간 $t$에서 상태는 $\prod_{t}w^{(t)}$로 주어진다. 평균이 0이고 분산이 $v$값을 가지는 서로 독립인 $w^{(t)}$값이 랜덤하게 생성된다고 가정하면 산출물(product)의 분산은 $O(v^n)$이다. 원하는 분산 $v^*$를 얻기 위해 분산 $v=\sqrt[n]{v^*}$를 가지는 개별적인 가중치를 선택할 수 있다. 따라서 신중하게 선택한 스케일링을 가지는 매우 깊은 feedforward networks는 vanishing 과 exploding gradient problem을 피할 수 있다.

모델이 long-term dependencies가 나타날 수 있을 때마다 long-term interaction의 기울기는 short-term interaction의 기울기보다 기하급수적으로 더 작은 크기를 가진다. 이러한 의존성 대한 신호는 short-term dependencies에서 발생하는 가장 작은 변동(fluctuations)에 의해 숨겨지는 경향이 있기 때문에 long-term dependencies를 학습하는데 오랜 시간이 걸릴 수 있다.

포착해야하는 의존성의 범위가 증가함에 따라 gradient-based optimization은 점점 어려워진다. SGD를 통한 전통적인 RNN의 성공적인 트레이닝 확률이 연속적인 길이가 길어지면 (10 또는 20 등) 0에 빠르게 도달하기 때문이다.