Long Short-Term Memory - LSTM

딥러닝

목록 보기
4/4
post-thumbnail

Recurrent Neural Network: 순환신경망

  • RNN은 스스로 반복하면서 이전 단계에서 얻은 정보가 지속된다.
  • 즉, 순환 신경망은 여러 개의 데이터가 순서대로 입력되었을 때 앞서 입력 받은 데이터를 잠시 기억해놓고, 그 기억된 데어가 얼마나 중요한지 별도의 가중치를 줘서 다음 데이터로 넘긴다.
  • 그래서 다음 층을 넘어가기 전에 같은 층을 맴도는 것처럼 보이기 때문에 순환 신경망이라고 부른다.
  • 다수 입력 단일 출력(감정분석), 단일 입력 다수 출력(사진 캡션), 다수 입력 다수 출력(번역) 등 다양한 상황에서 적용할 수 있다.

LSTM Network: 장단기 기억 네트워크

  • RNN의 결과를 개선하기 위한 노력 중 하나가 LSTM 방법을 함께 사용하는 것이다.
  • LSTM은 한 층 안에서 반복을 많이 해야하는 RNN 특성상 기울기 소실 문제라는 단점을 보완한 방법이다.
  • 반복되기 전에 다음 층으로 기억된 값을 넘길지 안 넘길지 관리한다.
    1. cell state : 정보가 바뀌지 않고 그대로 흐르도록 하는 역할
    2. forget gate : cell state로부터 어떤 정보를 버릴 것인지 정하는데,
    시그모이드 결과로 0이면 버리고 1이면 모든 정보를 보존한다.
    3. input gate : 현재 정보를 저장할지 결정하는 과정
    4. update : 과거 cell state(Ct-1)를 새로운 state로(Ct)로 업데이트
    5. output gate : 어떤 값을 출력할지 결정

Bi-LSTM: 양방향 장단기 기억 네트워크

  • RNN과 LSTM은 은닉 계층에 과거의 데이터 정보를 기억하기 때문에 시계열 예측에 적합하다.
  • 그러나 기존 LSTM이 입력 순서를 시간 순서대로 입력하기 때문에 직전 패턴을 기반으로 수렴하는 경향을 보이는데 이러한 단점을 보완한다.
  • 출력값에 대한 손실을 최소화하는 과정에서 모든 파라미터들이 동시에 학습되는 종단간 학습이 가능하다.
  • 단어와 구(phrase)간 유사성을 입력벡터에 내재화해 성능이 개선되었다.
  • LSTM의 기본적인 성능과 Atention 메커니즘을 도입하여 데이터의 길이가 길어져도 성능저하를 막을 수 있다.
profile
나 응애👶 개발자, 딥린이👨‍💻, 언어 연구자 👨‍🎓

0개의 댓글