본문 바로가기
공부자료/Deep Learning

LSTM

by mogazi 2022. 9. 26.

RNN은 결정적 단점이 있다. 

 

 

가중치가 업데이트되는 과정에서 1보다 작은 값이 계속 곱해지기 때문에 기울기가 사라지는 기울기 소멸 문제가 발생한다. 

이를 해결하기 위해 LSTM이나 GRU 같은 확장된 RNN 방식들을 사용하고 있다.

 

 

 

 

 

 

  • LSTM 구조

 

 

  LSTM 순전파 

 

 

LSTM은 기울기 소멸 문제를 해결하기 위해 망각 게이트, 입력 게이트, 출력 게이트라는 새로운 요소를 은닉층의 각 뉴런에 추가했다.

그럼 LSTM에서 사용되는 각 게이트를 자세히 알아보자.

 

 

 

 

 

◆ 망각 게이트 (forget gate)

 

 

망각 게이트는 과거 정보를 어느 정도 기억할지 결정한다.

 

 

과거 정보와 현재 데이터를 입력받아 시그모이드를 취한 후 그 값을 과거 정보에 곱해 준다. 

따라서 시그모이드의 출력이 0이면 과거 정보는 버리고, 1이면 과거 정보는 온전히 보존한다.

 

 

 

0과 1 사이의 출력 값을 가지는 ht-1과 xt를 입력 값으로 받는다. 

이때 xt는 새로운 입력 값이고 ht-1은 이전 은닉층에서 입력되는 값이다. 

 

 

즉, ht-1과 xt를 이용하여 이전 상태 정보를 현재 메모리에 반영할지 결정하는 역할을 한다.

 

 

 

 

• 계산한 값이 1이면 바로 직전의 정보를 메모리에 유지

• 계산한 값이 0이면 초기화

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

◆ 입력 게이트 (Input gate)

 

 

입력 게이트는 현재 정보를 기억하기 위해 만들어졌다. 

 

 

과거 정보와 현재 데이터를 입력받아 시그모이드와 하이퍼볼릭 탄젠트 함수를 기반으로 현재 정보에 대한 보존량을 결정한다.

즉, 현재 메모리에 새로운 정보를 반영할지 결정하는 역할을 한다.

 

 

 

 

• 계산한 값이 1이면 입력 xt가 들어올 수 있도록 허용(open)

• 계산한 값이 0이면 차단

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

◆ 셀

 

 

각 단계에 대한 은닉 노드(hidden node)를 메모리 셀이라고 한다. 

‘총합(sum)’을 사용하여 셀 값을 반영하며, 이것으로 기울기 소멸 문제가 해결된다.

 

 

망각 게이트와 입력 게이트의 이전 단계 셀 정보를 계산하여 현재 단계의 셀 상태(cell state)를 업데이트한다.

 

 

 

 

 

 

 

 

 

 

 

 

 

◆ 출력 게이트

 

 

출력 게이트(output gate)는 과거 정보와 현재 데이터를 사용하여 뉴런의 출력을 결정한다. 

이전 은닉 상태(hidden state)와 t번째 입력을 고려해서 다음 은닉 상태를 계산한다. 

 

그리고 LSTM에서는 이 은닉 상태가 그 시점에서의 출력이 된다.

 

 

 

 

출력 게이트는 갱신된 메모리의 출력 값을 제어하는 역할을 한다.

 

 

• 계산한 값이 1이면 의미 있는 결과로 최종 출력

• 계산한 값이 0이면 해당 연산 출력을 하지 않음

 

 

 

 

 

 

 

 

 

------------------------------------------------------------------------

 

 

 

 

- LSTM 전체 게이트

 

 

 

 

 

 

 

 

 

 

 

 

  LSTM 역전파

 

 

LSTM은 셀을 통해서 역전파를 수행하기 때문에 ‘중단 없는 기울기(uninterrupted gradient flow)’라고도 한다.

 

즉, 다음 그림과 같이 최종 오차는 모든 노드에 전파되는데, 이때 셀을 통해서 중단 없이 전파된다.

 

 

 

 

 

 

이때 주의해야 할 것은 셀 단위로 오차가 전파된다고 해서 입력 방향으로 오차가 전파되지 않는 것은 아니다. 

 

다음 그림과 같이 셀 내부적으로는 오차가 입력(xt)으로 전파된다는 것도 잊지 말아야 한다.

 

 

 

- 입력층으로의 역전파

 

 

 

'공부자료 > Deep Learning' 카테고리의 다른 글

양방향 RNN  (0) 2022.09.26
GRU  (0) 2022.09.26
RNN구조 ★  (0) 2022.09.26
순환 신경망(RNN) ★  (0) 2022.09.26
AR, MA, ARMA, ARIMA  (0) 2022.09.26