RNN, LSTM

TaeWoo Lee / Kris·2022년 3월 4일
0

언어 모델 (Language Model)

  • 언어모델

    • 문장과 같은 단어 시퀀스에서 각 단어의 확률을 계산하는 모델
  • 통계적 언어모델

    • 단어의 등장 횟수를 바탕으로 조건부 확률을 계산
    • 희소성의 문제를 가지고 있음
  • 신경망 언어 모델

    • Word2Vec 이나 fastText 등이 출력값인 임베딩 벡터를 사용하기 때문에 말뭉치에 등장하지 않더라도 의미적 문법적으로 유사한 단어라면 선택 될 수 있음

순환 신경망(Recurrent Neural Network:RNN)

  • 연속형 데이터가 순서대로 입력되더라도 순서 정보를 모두 기억하기 때문에 연속형 데이터를 다룰 때 RNN을 많이 사용

  • 다양한 형태의 RNN

    • one-to-many : 이미지 캡셔닝(Image captioning)에 사용
    • many-to-one : 감성 분석(Sentiment analysis)에 사용
    • many-to-many(1) : 기계 번역(Machine translation)에 사용
    • many-to-many(2) : 비디오를 프레임별로 분류(Video classification per frame)하는 곳에 사용
  • RNN의 장점과 단점

    • 장점 : 모델이 간단하며 어떤 길이의 sequential 데이터라도 처리할 수 있다
    • 단점 : 순차적으로 입력이 되기 때문에 병렬화(parallelization) 불가능, 기울기 폭발(Exploding Gradient), 기울기 소실(Vanishing Gradient)

LSTM (Long Term Short Memory, 장단기기억망)

  • RNN에 기울기 정보 크기를 조절하기 위한 Gate를 추가한 모델을 LSTM (LSTM이 등장한 배경은 기울기 소실(Vanishing gradient) 문제를 해결하기 위함)
  • gate
    • Forget Gate : 과거 정보를 얼마나 유지할 것인가?
    • Input Gate : 새로 입력된 정보는 얼마만큼 활용할 것인가?
    • Output Gate : 두 정보를 계산하여 나온 출력 정보를 얼마만큼 넘겨줄 것인가?

GRU (Gated Recurrent Unit)

  • Input Gate
  • Forget Gate

Attention

  • 각 인코더의 Time-step 마다 생성되는 Hidden-state 벡터를 간직
profile
일단 저지르자! 그리고 해결하자!

0개의 댓글