오늘 배운 내용은 Sequential 데이터를 처리하는 모델인 RNN!
Sequential Model
입력이 여러번 들어왔을 때 다음에 어떤 데이터가 나올 지 예측하는데, 앞의 데이터들을 다 고려해야되기 때문에 input이 많으면 고려해야될 것이 많아진다.
Autoregressive Model
과거의 고정된(fixed) 입력만 고려한다.
Markov Model
시스템의 미래 상태가 현재 상태에만 의존하고 과거 상태에는 의존하지 않는다는 마르코프 속성을 가진 확률 모델. 현실과는 동 떨어진 모델이다.
Latent Autoregressive Model
중간에 과거의 정보를 요약(summury)하는 hidden state(Latent State)가 있다고 본다. 그래서 현재 상태는 바로 과거의 한 상태와 이전을 요약한 latent State를 고려한다.
입력 Xt와 이전 단계의 은닉 상태 Ht-1를 사용하여 현재 단계의 출력 Ht를 계산하는 방식으로 동작한다. Ht는 Xt에만 dependent한게 아니라, 이전의 self state에도 dependent하다.
활성함수로 Tanh를 사용한다.
위의 문제를 해결하기 위해 등장했다. cell state와 게이트 구조를 도입하여 장기 의존성을 효과적으로 학습할 수 있다.
기본적으로 은닉 상태(hidden state)와 셀 상태(cell state)라는 두 가지 상태를 가진다.
셀 상태는 정보를 오랫동안 유지하는 역할을 하며, 게이트를 통해 셀 상태의 정보를 추가하거나 삭제할 수 있다.
셀 상태는 내부적으로 다음 셀 상태로만 누적되면서 이동하며 밖으로 나가지 않는다.
활성함수로 Sigmoid와 Tanh를 사용한다.
Forget Gate : 이전 상태의 정보 중에서 어떤 정보를 삭제할지 결정
Input Gate : 새로운 정보를 셀 상태에 추가할지 결정
Output Gate : 업데이트된 셀 상태의 정보를 기반으로 out되는 Ht를 생성
LSTM과 마찬가지로 장기 의존성 문제를 해결하고자 고안되었다. 2개의 게이트만으로 LSTM과 비슷하게 작동한다. 그래서 LSTM보다 나은 성능을 일반적으로 가진다. (최근엔 RNN들은 다 transformer로 넘어가서 다 잘 안쓰는 추세이긴 하다)
cell state 없이 hidden state만 존재한다. hidden state가 곧 output이고 그것이 계속 내부에서 흘러간다.
Update Gate : 이전 상태의 정보를 얼마나 보존할지 결정
Reset Gate : 새로운 입력과 이전 상태를 얼마나 혼합할지 결정
본 포스트의 학습 내용은 부스트클래스 <AI 엔지니어 기초 다지기 : 부스트캠프 AI Tech 준비과정> 강의 내용을 바탕으로 작성되었습니다.