관리 메뉴

jisoleil's coding good thing

AI 언어지능 딥러닝 2일차 본문

AIVLE/9주차

AI 언어지능 딥러닝 2일차

jisoleil 2023. 3. 29. 02:34

RNN(바닐라 RNN)의 단점

출력 결과가 이전의 계산 결과에 의존하기 때문에 비교적 짧은 시퀀스(sequence)에 대해서만 효과를 보이는 단점이 있다.

즉, 중요한 정보가 앞에 있다면 뒤로 갈수록 앞에 있는 중요한 정보가 손실되고, 시점이 충분히 긴 상황에서는 앞에 있는 정보가 전체 정보에 대한 영향력은 거의 의미가 없을 수도 있다. 

=> 장기 의존성 문제(the problem of Long-Term Dependencies) 라고 함

 

  • LSTM(장단기 메모리, Long Short-Term Memory)

: 전통적인 RNN의 위와 같은 단점을 보완하였으며  RNN과 비교하여 긴 시퀀스의 입력을 처리하는데 탁월한 성능을 보인다.

RNN의 특징을 전부 가지고 있으면서+ '기억을 생성하고, 유지하고, 보수하는' 장치가 달려있다. 

LSTM은 은닉층의 메모리 셀에 입력 게이트, 망각 게이트, 출력 게이트를 추가하여 불필요한 기억을 지우고, 기억해야할 것들을 정합니다. 즉,  LSTM은 은닉 상태(hidden state)를 계산하는 식이 전통적인 RNN보다 조금 더 복잡해졌으며 셀 상태(cell state)라는 값을 추가하였습니다.

*눈여겨 볼 지점 : Gating 기법*

b는 편향값

  • 망각 게이트( Forget Gate)

망각 게이트는 기억을 삭제하기 위한 게이트입니다. 

현재 시점 t의 x값과 이전 시점 t-1의 은닉 상태가 시그모이드 함수를 지나게 됩니다. 시그모이드 함수를 지나면 0과 1 사이의 값이 나오게 되는데, 이 값이 곧 망각 과정을 거친 정보의 양입니다. 0에 가까울수록 정보가 많이 삭제된 것이고 1에 가까울수록 정보를 온전히 기억한 것입니다(Long term 보존, Short term 소실)

  • 입력 게이트(Input Gate)

입력 게이트는 현재 정보를 기억하기 위한 게이트입니다.

이전 시점 t-1에서 나온 정보를 tanh와 sigmoid에 함수에 각각 지나갑니다. cell state 기록할 가치가 있는 것만 남깁니다. 

 

  • 셀 상태(Update Cell State)

입력 게이트에서 선택된 기억을 삭제 게이트의 결과값과 더합니다. 이 값을 현재 시점 t의 셀 상태라고 하며, 이 값은 다음 t+1 시점의 LSTM 셀로 넘겨집니다.

즉, 처음~t-1 +t=처음~t

=>현시점의 기억=과거에 대한 정돈+현재에 대한 정돈

  • 은닉 상태(New Hidden State)

해당 값은 출력 게이트의 값과 연산되면서, 값이 걸러지는 효과가 발생하여 은닉 상태가 됩니다. 은닉 상태의 값은 또한 출력층으로도 향합니다.(gating)

#기억을 tanh를 지나가게 하여 통합된 기억은 -1~1 사이로 밀어넣는다. #

이유

  1. 정규화
  2. hidden state 규격(RNN)

 

휴우... 진짜 이론 어렵다.... 꼭 복습해야 이해하는 수준.... 힘내자! 그리고

수학 수식 쓰기 어려워서 대충 쓸 수 밖에 없구나ㅠㅠ 아쉽다ㅠㅠ

 

티스토리 관리자분... 수학 수식 편하게 쓸 수 있게 만들어 주세요!

 

 

 

 

 

 

 

사진 글 출처: https://wikidocs.net/22888

'AIVLE > 9주차' 카테고리의 다른 글

AI 언어지능 딥러닝 3일차  (1) 2023.03.30
AI 언어지능 딥러닝 1일차  (0) 2023.03.28
Comments