240610 TIL #421 AI Tech #35 RNN

김춘복·2024년 6월 9일
0

TIL : Today I Learned

목록 보기
421/550

Today I Learned

오늘 배운 내용은 Sequential 데이터를 처리하는 모델인 RNN!


Sequential Model

  • Sequential Model
    입력이 여러번 들어왔을 때 다음에 어떤 데이터가 나올 지 예측하는데, 앞의 데이터들을 다 고려해야되기 때문에 input이 많으면 고려해야될 것이 많아진다.

  • Autoregressive Model
    과거의 고정된(fixed) 입력만 고려한다.

  • Markov Model
    시스템의 미래 상태가 현재 상태에만 의존하고 과거 상태에는 의존하지 않는다는 마르코프 속성을 가진 확률 모델. 현실과는 동 떨어진 모델이다.

  • Latent Autoregressive Model
    중간에 과거의 정보를 요약(summury)하는 hidden state(Latent State)가 있다고 본다. 그래서 현재 상태는 바로 과거의 한 상태와 이전을 요약한 latent State를 고려한다.


RNN(Recurrent Neural Network)

  • 시퀀스 데이터를 처리하는 데 사용되는 인공 신경망 모델로 순환적인 구조를 가지고 있어 이전 단계의 출력이 다음 단계의 입력으로 사용된다.

  • 입력 Xt와 이전 단계의 은닉 상태 Ht-1를 사용하여 현재 단계의 출력 Ht를 계산하는 방식으로 동작한다. Ht는 Xt에만 dependent한게 아니라, 이전의 self state에도 dependent하다.

  • 활성함수로 Tanh를 사용한다.


Short-term dependencies

  • 기초적인 RNN은 몇 스텝 전의 정보는 고려하기 좋지만, 멀어진 예전의 정보들은 고려하기 힘들다.
  • 음성인식의 경우 문장이 길어지면 전에 얘기한 내용을 잊어먹는다.
  • ReLu를 사용하면 음수 정보는 사라지고(vanishing), 양수 정보는 무한히 커지는 문제가 발생한다.

LSTM(Long Short-Term Memory)

  • 위의 문제를 해결하기 위해 등장했다. cell state와 게이트 구조를 도입하여 장기 의존성을 효과적으로 학습할 수 있다.

  • 기본적으로 은닉 상태(hidden state)와 셀 상태(cell state)라는 두 가지 상태를 가진다.

  • 셀 상태는 정보를 오랫동안 유지하는 역할을 하며, 게이트를 통해 셀 상태의 정보를 추가하거나 삭제할 수 있다.

  • 셀 상태는 내부적으로 다음 셀 상태로만 누적되면서 이동하며 밖으로 나가지 않는다.

  • 활성함수로 Sigmoid와 Tanh를 사용한다.

  • Forget Gate : 이전 상태의 정보 중에서 어떤 정보를 삭제할지 결정
    Input Gate : 새로운 정보를 셀 상태에 추가할지 결정
    Output Gate : 업데이트된 셀 상태의 정보를 기반으로 out되는 Ht를 생성


GRU(Gated Recurrent Unit)

  • LSTM과 마찬가지로 장기 의존성 문제를 해결하고자 고안되었다. 2개의 게이트만으로 LSTM과 비슷하게 작동한다. 그래서 LSTM보다 나은 성능을 일반적으로 가진다. (최근엔 RNN들은 다 transformer로 넘어가서 다 잘 안쓰는 추세이긴 하다)

  • cell state 없이 hidden state만 존재한다. hidden state가 곧 output이고 그것이 계속 내부에서 흘러간다.

  • Update Gate : 이전 상태의 정보를 얼마나 보존할지 결정
    Reset Gate : 새로운 입력과 이전 상태를 얼마나 혼합할지 결정


본 포스트의 학습 내용은 부스트클래스 <AI 엔지니어 기초 다지기 : 부스트캠프 AI Tech 준비과정> 강의 내용을 바탕으로 작성되었습니다.

profile
Backend Dev / Data Engineer

0개의 댓글