LSTM이란?

yoonene·2022년 8월 19일
0

면접대비

목록 보기
6/17

Q: LSTM은 왜 유용한가요?


LSTM은 메모리를 분리하여 과거의 정보를 저장하고 불필요한 정보는 잊어버리며 필요할 때 필요한 만큼 저장해놓은 정보를 활용하여 RNN의 Long-Term Dependency 문제를 해결할 수 있다.

  • RNN의 vanishing gradient & 장기 의존성 문제

RNN에서는 t 시점에 대한 도함수를 구하기 위해 chain rule이 적용된다. 이로 인해 모든 time step에 같은 값으로 공유되는 Wh의 크기가 작으면 gradient가 몹시 작아지는 기울기 소실 즉 vanishing gradient 문제가 발생한다.

결국 가까이에 위치한 dependency에 대해서만 학습되고 멀리 위치한 dependency에 대해서는 정보가 소실되어 학습이 어려워진다.

즉 weight가 long-term effects보다 near affects에 대해 update된다.

  • LSTM
    • LSTM은 2개의 hidden vector를 사용한다.
      • hidden state: short-term memory 조절
      • cell state: long-term memory 보존
    • 3개의 gate를 사용하여 매 time step의 cell state와 hidden state, input에서 취할 정보의 양을 결정한다.
      • forget gate: 이전 시점의 cell state에서 어느 정도의 정보를 가져갈 것인지 결정
      • input gate: 새로 들어온 입력 정보에서 장기 기억으로 가져갈 정보의 양 결정
      • output gate: 입력 정보에 sigmoid를 취함 -> 현재 정의된 cell state(장기기억)에서 어느 정도의 정보를 hidden state(단기기억)로 사용할지 결정

참조
cs224n-2021 winter 강의

면접 질문 출처
https://github.com/zzsza/Datascience-Interview-Questions

profile
NLP Researcher / Information Retrieval / Search

0개의 댓글