[Week 6] RNN,LSTM and GRU

PangDae·2021년 9월 15일
0

LSTM

  • LSTM 이란?

RNN에서 발생하는 Long term dependency를 해결할 수 있는 Model 이다.

LSTM의 구조

  • LSTM의 Gate

LSTM은 어떻게 RNN 구조에서 가지는 근본적인 문제인 Long term dependency를 해결 할 수 있을까? 그 정답은 위 사진에 보이는 4개의 Gate들 이다. LSTM은 Input Gate, Forget Gate, Output Gate, Gate Gate 4가지의 종류의 Gate를 가지고 있다. 여기서 Output Gate는해당 Time Step의 output이고, Gate Gate는 이전 Time Step들의 정보를 담고있는, Gate이다.

Forget Gate

  • Forget Gate
    이전 정보들 중 어떤 것을 잊어야하고, 어떤 것을 기억해야하 할지 판단 하는 Gate이다.
  • 수식 해석
    위 사진의 왼쪽 상단의 식을 해석해보자. 현재 Time Step의 input인 Xt와 이전 Time Step의 결과값인 Ht-1을 Wight parameter Wf와 연산한다. 이 후 활성함수인 시그모이드를 거쳐 나오게된 결과 vector와 Ct를 곱해주어 이전 정보들의 중 필요하지 않은 정보들을 잊어주게 된다.
    (이때, 당연히 두개의 Ct와 시그모이드를 거쳐나온 Ft의 차원은 같아야한다.)

Input Gate and Gate Gate

  • Input Gate
    이전 정보들을 담고 있는 Cell State에 현재 Time Step에 들어온 Xt를 반영 하여 Updatae해야 한다. 이 때 사용되는 게이트가 Input gate이다.

  • Gate Gate
    Input Gate와 마찬가지로 Cell State를 업데이트 할 때, 사용되는 게이트이다. 한번의 선형변환만으로 Cell State에 업데이트할 값을 구하기 힘든 정보들이 있음으로, 여러번의 선형변환을 거치기위해 Gate Gate를 사용한다.

  • 수식 해석
    먼저, 위 사진의 It를 수식을 보자. Input Gate는 이전 Time Step의 output인 Ht-1과 현재 Time Step의 input인 Xt를 Wgiht Parameter 연산하여 나온 결과를 시그모이드에 통과시키는 형태로 구한다.

    두번째 ^Ct의 수식을 보자 위의 Input gate와 수식은 비슷하지만, 다른 활성함수를 거치게 된다. 이를 통해 한번의 선형변환으로 얻기 힘든 정보들을 여러번 선형변환을 걸쳐 정보를 얻을 수 있게 한다.

위의 두가지 Gate의 연산과 Forget Gate를 거친이전 Cell state값을 더해 줌으로써, RNN이 가졌던 단점을 해결 할수 있게되었다.

GRU

  • GRU 란?

GRU는 LSTM을 경량화한 Model이다. LSTM에 쓰였던 Cell State를 대신 Ht-1를 사용하는 방식을 선택하여 경량화하는 방법을 선택했다. LSTM과 비슷한 성능을 내거나 오히려 좋은 성능을 보일 때도 있다.

profile
개발이 하고싶습니다.

0개의 댓글