본문 바로가기

Data Analysis/Deep Learning

Long Short-Term Memory(LSTM)

장기 의존성 문제(the problem of Long-Term Dependencies)

Vanlia RNN (Keras에서는 Simple RNN이라고 부름)은 Sequence의 길이가 길수록 성능이 떨어진다.

시점(time step)이 길어질수록 앞의 정보가 충분히 전달되지 못하는 현상이 발생한다.

이를 장기 의존성 문제라고 한다.

위의 그림은 첫번째 입력값인 x_1의 정보량을 짙은 남색으로 표현했을 때, 색이 점차 얕아지는 것으로 시점이 지날수록 x_1의 정보량이 손실되어가는 과정을 표현하였다. 뒤로 갈수록 x_1의 정보량은 손실되고, 시점이 충분히 긴 상황에서는 x_1의 전체 정보에 대한 영향력은 거의 의미가 없을 수도 있다.

 

바닐라 RNN의 내부 구조

LSTM에 대해서 이해해보기 전에 바닐라 RNN의 뚜껑을 열어보겠다. 위의 그림은 바닐라 RNN의 내부 구조를 보여줍니다. 이 책에서는 RNN 계열의 인공 신경망의 그림에서는 편향 b를 생략합니다. 위의 그림에 편향 b를 그린다면 x_t 옆에 tanh로 향하는 또 하나의 입력선을 그리면 된다.

바닐라 RNN은 x_t와 h_{t−1}이라는 두 개의 입력이 각각의 가중치와 곱해져서 메모리 셀의 입력이 된다. 그리고 이를 하이퍼볼릭탄젠트 함수의 입력으로 사용하고 이 값은 은닉층의 출력인 은닉 상태가 된다.

 


Long Short-Term Memory(LSTM)

전통적인 RNN의 이러한 단점을 보완한 RNN의 일종을 장단기 메모리(Long Short-Term Memory)라고 한다.

LSTM은 은닉 상태(hidden state)를 계산하는 식이 전통적인 RNN보다 조금 더 복잡해졌으며 셀 상태(cell state)라는 값을 추가하였다

LSTM의 전체적인 내부 모습

LSTM은 은닉층의 메모리 셀에 입력 게이트, 망각 게이트, 출력 게이트를 추가하여 불필요한 기억을 지우고, 기억해야할 것들을 정한다. 위의 그림에서는 t시점의 셀 상태를 C_t로 표현하고 있다. LSTM은 RNN과 비교하여 긴 시퀀스의 입력을 처리하는데 탁월한 성능을 보인다.

셀 상태는 위의 그림에서 왼쪽에서 오른쪽으로 가는 굵은 선이다. 셀 상태 또한 이전에 배운 은닉 상태처럼 이전 시점의 셀 상태가 다음 시점의 셀 상태를 구하기 위한 입력으로서 사용된다.

은닉 상태의 값과 셀 상태의 값을 구하기 위해서 새로 추가 된 3개의 게이트를 사용한다. 각 게이트는 삭제 게이트, 입력 게이트, 출력 게이트라고 부르며 이 3개의 게이트에는 공통적으로 시그모이드 함수가 존재한다. 시그모이드 함수를 지나면 0과 1사이의 값이 나오게 되는데 이 값들을 가지고 게이트를 조절한다. 

 

 

입력 게이트, 삭제 게이트, 셀 상태, 출력 게이트, 은닉 상태

아래의 내용을 참고로 각 게이트에 대해서 알아보겠다.

 

 

입력 게이트(좌), 삭제 게이트(우)
셀 상태(좌), 출력 게이트와 은닉 상태(우)

입력 게이트: 현재 정보를 기억하기 위한 게이트

  • 현재 시점의 입력을 얼마나 반영할지를 의미한다.

삭제 게이트: 기억을 삭제하기 위한 게이트

  • 시그모이드 함수를 지나면 0과 1 사이의 값이 나오게 되는데, 이 값이 곧 삭제 과정을 거친 정보의 양이다.
  • 0에 가까울수록 정보가 많이 삭제된 것이고 1에 가까울수록 정보를 온전히 기억한 것이다. 
  • 이전 시점의 입력을 얼마나 반영할지를 의미한다.

셀 상태: 삭제 게이트에서 일부 기억을 잃은 상태.

  • 입력 게이트에서 구한 i_t, g_t이 두 개의 값에 대해서 원소별 곱(entrywise product)을 진행한다.
  • 입력 게이트에서 선택된 기억을 삭제 게이트의 결과값과 더한다(현재 시점 t의 셀 상태)는 다음 t+1 시점의 LSTM 셀로 넘겨진다.

출력 게이트와 은닉 상태

  • 출력 게이트는 현재 시점 t의 은닉 상태를 결정하는 일에 쓰이게 된다.
  • 셀 상태의 값이 하이퍼볼릭탄젠트함수를 지나 -1과 1 사이의 값이 되고, 해당 값은 출력 게이트의 값과 연산되면서, 값이 걸러지는 효과가 발생하여 은닉 상태가 된다. 은닉 상태의 값은 출력층으로도 향한다.

 

 

 

 

 

References

https://wikidocs.net/22888

 

2) 장단기 메모리(Long Short-Term Memory, LSTM)

바닐라 아이스크림이 가장 기본적인 맛을 가진 아이스크림인 것처럼, 앞서 배운 RNN을 가장 단순한 형태의 RNN이라고 하여 바닐라 RNN(Vanilla RNN)이라고 합니다 ...

wikidocs.net