본문 바로가기

Data/Data Science

[LSTM] 단계별 수식 정리

반응형

인터뷰중 LSTM에 관련하여 단계별로 물어보는질문이 있어서 좋은 사이트를 발견하여 정리

[출저]: https://dgkim5360.tistory.com/entry/understanding-long-short-term-memory-lstm-kr

 

Long Short-Term Memory (LSTM) 이해하기

이 글은 Christopher Olah가 2015년 8월에 쓴 글을 우리 말로 번역한 것이다. Recurrent neural network의 개념을 쉽게 설명했고, 그 중 획기적인 모델인 LSTM을 이론적으로 이해할 수 있도록 좋은 그림과 함께 한..

dgkim5360.tistory.com

사실 난 AI를 전공한게 아니라서 개념자체를 공부하기가 매우 어려웠다. 현재 많은 딥러닝 라이브러리가 편의성을 제공하여 우리가 수식같은걸 외울필요는 없지만. 어떻게 돌아가는지 대충이라도 이해하기위해서 정리해본다.

 

1. Forget gate layer

h_t-1 과 x_t를 받아서 0과 1사이의 값을 C_t-1에 보냄. 수식에서 결과값이 1이면 보존, 0이면 버림.

 

2. Input gate layer

앞단계는 어느것을 기록하고 어느것을 버릴지 정했다면, 기록하는것들중 어떤(cell state) 값을 업데이트 할지 정함

 

3. Cell state update

과거 cell state(즉 C_t-1)을 업데이트 할차례이다, 앞서 1,2단계에서 어떤 것을 잊어버릴지, 어떤 것을 업데이트할지 기록을해놨으니, 과거 cell state에 업데이트를 해주는 단계이다. 곱셈을 이용하여 잊어버릴꺼는 완전히 0으로 만들고 기록해야할것들은 덧셈을 이용하여 기록한다.

 

4. Output gate layer

무엇을 output으로 내보낼지 정하는 단계. cell state에서 전체를 내보내지않고 특정 부분만을 output으로 내보냄.

예로들어, 만약에 주어를 input으로 받았다면 주어 다음에 오게 될 예측값인 output으로 적절한 답은 아마도 동사 개념의 무언가가 될것이므로, 주어에 따라서 동사의 형태가 바뀐 output이 나올것.

반응형