[DL] 장단기 메모리(LSTM)

juyeon lee·2023년 7월 21일

Deep Learning

목록 보기
4/5
post-thumbnail

1. 바닐라 RNN


바닐라 RNN : 가장 단순한 형태의 RNN

1-1 바닐라 RNN의 한계

  • 이전 계산 결과에 의존
  • 짧은 시퀀스에만 효과적
    = 시점이 길어질수록 앞 정보가 뒤까지 전달되기 힘들다
    시점이 길어져 계산이 진행될수록 점점 정보가 손실되어감
    = 시점이 길어졌을 때 x1x_1의 영향력 미미
    ➡️기억력 小 ➡️ 장기 의존성 문제

2. LSTM(Long Shor Term Memory)


LSTM : 전통적인 RNN의 단점을 보완한 RNN의 일종


2-1 LSTM 내부

📌 바닐라 RNN과의 다른 점

  • CtC_t 셀 상태값 (=장기 상태) 추가
  • 은닉 상태 계산식 복잡해짐
    ➡️ RNN보다 긴 시퀀스 처리에 탁월한 성능을 보임!

2-2 은닉 상태 / 셀 상태 계산

2-2-1 입력 게이트

  • 현재 정보 기억하기 위한 게이트
  • 시그모이드 함수를 지나 과 1 사이의 값 iti_t와 하이퍼볼릭탄젠트 함수를 지나 -1과 1사이의 값을 가지는gtg_t를 이용해 기억할 정보의 양을 정함

2-2-2 삭제 게이트

  • 기억을 삭제하기 위한 게이트
  • 현재 시점 t의 값과 이전 시점 t-1의 은닉 상태가 시그모이드 함수를 지남
  • 삭제 과정을 거친 정보의 양이
    0에 가까울수록 정보가 많이 삭제
    1에 가까울수록 정보를 온전히 기억

2-2-3 출력 게이트

  • 현재 시점 t의 은닉 상태를 결정
  • 셀 상태의 값이 하이퍼볼릭탄젠트 함수를 지나 -1과 1사이의 값
  • 현재, 이점 시점의 은닉 상태가 시그모이드 함수를 지나 현재 시점의 은닉 상태를 결정
  • 은닉 상태 값은 출력층으로 향함

2-2-4 셀 상태

📌입력 게이트에서 구한 두 값에 대해 원소별 곱 진행

Ct=(ft×Ct1)+(it×gt)C_t = (f_t × C_t-_1) + (i_t × g_t)

(ft×Ct1)(f_t × C_t-_1) : 삭제 게이트 결과값
(it×gt)(i_t × g_t) : 기억할 값 = 같은 위치끼리 성분 곱

이 셀 상태 값은 t+1시점의 LSTM으로 넘겨짐

📌 삭제 게이트와 입력 게이트의 영향력

☑️ 삭제 게이트 출력값 ft=0f_t = 0 : 입력 게이트 연 상태
↕️
☑️ 입력 게이트 출력값 it=0i_t = 0 : 삭제 게이트 연 상태

따라서,
삭제 게이트이전 시점의 입력을 얼마나 반영하는가?
입력 게이트현재 시점의 입력을 얼마나 반영하는가?
를 의미한다.



위키독스 PyTorch로 시작하는 딥 러닝 입문를 기반으로 작성함.

0개의 댓글