LSTM: Difference between revisions

From CS Wiki
No edit summary
 
(6 intermediate revisions by the same user not shown)
Line 2: Line 2:
;Long Short Term Memory
;Long Short Term Memory


h<sub>t</sub> = f<sub>W</sub>(h<sub>t-1</sub>, x<sub>t</sub>)
== [[RNN]]의 문제 ==
* h<sub>t</sub> = 새로운 상태
;RNN의 수식 표현 h<sub>t</sub> = f<sub>W</sub>(h<sub>t-1</sub>, x<sub>t</sub>)
* f<sub>W</sub> = 파라미터 W에 대한 활성화 함수
* 문장 구성 수 만큼 Hidden Layer 형성하여 매우 Deep한 구조
* h<sub>t-1</sub> = 예전 상태
** Recurrent에 따른 동일한 가중치(f<sub>W</sub>)가 곱해지게 되므로 아래 문제 발생
* x<sub>t</sub> = 현재 상태의 입력 벡터
* f<sub>W</sub> < 1 인 경우, '''Vanishing Gradient'''
* f<sub>W</sub> > 1 인 경우, '''Exploding Gradient'''
* 즉, 관련 정보와 그 정보를 사용하는 지점이 먼 경우 학습 능력 저하
** 장기 기억을 사용하지 못하고 단기 기억만을 사용
* '''LSTM(Long Short Term Memory)는 이 문제를 해결'''


== RNN의 문제 ==
[[파일:RNN vs LSTM Cell State 개념도.png]]
* 문장 구성 수 만큼 Hidden Layer 형성하여 매우 Deep한 구조
* Recurrent에 따른 동일한 가중치(f<sub>W</sub>)가 곱해지게 되므로 아래 문제 발생
* f<sub>W</sub> < 1 = Vanishing Gradient
* f<sub>W</sub> > 1 = Exploding Gradient


== 구성 요소 ==
== 구성 요소 ==
[[파일:LSTM 개념도.png|600px]]
{| class="wikitable"
{| class="wikitable"
|-
|-

Latest revision as of 22:25, 25 January 2020

Long Short Term Memory

RNN의 문제[edit | edit source]

RNN의 수식 표현 ht = fW(ht-1, xt)
  • 문장 구성 수 만큼 Hidden Layer 형성하여 매우 Deep한 구조
    • Recurrent에 따른 동일한 가중치(fW)가 곱해지게 되므로 아래 문제 발생
  • fW < 1 인 경우, Vanishing Gradient
  • fW > 1 인 경우, Exploding Gradient
  • 즉, 관련 정보와 그 정보를 사용하는 지점이 먼 경우 학습 능력 저하
    • 장기 기억을 사용하지 못하고 단기 기억만을 사용
  • LSTM(Long Short Term Memory)는 이 문제를 해결

RNN vs LSTM Cell State 개념도.png

구성 요소[edit | edit source]

LSTM 개념도.png

구성 요소 설명
Forget Gate Layer
  • 어떠한 정보를 반영할지에 대한 결정
  • sigmoid 활성화 함수를 통해 0~1사이의 값을 출력
Input Gate Layer
  • 새로운 정보가 cell state에 저장이 될지 결정하는 게이트
  • sigmoid layer, tanh layer로 구성
Update Cell State
  • forget gate와 input gate에서 출력된 값들을 cell state로 업데이트
Output Gate Layer
  • 출력값 결정 단계