AI Math - RNN

Ko Hyejung·2021년 12월 11일
0

NAVER AI TECH - precourse

목록 보기
11/15

시퀀스 데이터의 개념과 특징, 그리고 이를 처리하기 위한 RNN을 소개합니다.
RNN에서의 역전파방법인 BPTT와 기울기 소실문제에 대해 설명합니다.

시퀀스 데이터만이 가지는 특징과 종류, 다루는 방법, 그리고 이를 위한 RNN(Recurrent Neural Network)의 구조를 앞선 강의에서 배웠던 CNN이나 다른 MLP(Multi Layer Perceptron)와 비교하면서 공부하시면 좋겠습니다.

RNN에서의 역전파 방법인 BPTT(Back Propagation Through Time)를 수식적으로 이해하고, 여기서 기울기 소실문제가 왜 발생할 수 있는지, 이에 대한 해결책은 어떤 것들이 있는지를 집중해서 보시기 바랍니다.

sequence data

소리, 문자열, 주가 등의 데이터를 sequence data로 분류
시계열 데이터 (time-series) 데이터는 시간 순서에 따라 나열된 데이터로 시퀀스 데이터에 속함
시퀀스 데이터는 독립동등분포 independent identical distribution 가정을 위배하기 쉽다
따라서 순서를 바꾸거나 과거 정보에 손실이 발생하면 데이터의 확률 분포도 바뀜

시퀀스 데이터 다루는 방법

이전 시퀀스의 정보를 가지고 앞으로 발생할 데이터의 확률분포를 다루기위해 조건부 확률 이용

시퀀스 데이터를 분석할 때 모든 과거 정보가 필요한 것은 아님

시퀀스 데이터를 다루기 위해서는 길이가 가변적인 데이터를 다룰 수 있는 모델일 필요

고정된 길이 t만큼의 시퀀스를 사용하는 경우 autoregressive model 자기회귀모델이라고 부름

또 다른 방법은 바로 이전 정보를 제외한 나머지 정보들을 Ht라는 잠재변수로 인코딩해서 활용하는 잠재 AR 모델

잠재변수 Ht를 신경망을 통해 반복해서 사용하여 시퀀스 데이터의 패턴을 학습하는 모델이 바로 RNN

Recurrent Neural Network

가장 기본적인 RNN 모형은 MLP와 유사함

But 이 모델은 과거의 정보를 다룰 수 없음
오로지 t번째 데이터만 들어오기 때문에 과거의 정보, 즉 잠재변수를 다루지 못함

따라서 RNN은 이전 순서의 잠재변수와 현재의 입력을 활용하여 모델링
잠재변수인 Ht를 복제해서 다음 순서의 잠재변수를 인코딩하는데 사용

RNN의 역전파는 잠재변수의 연결 그래프에 따라 순차적으로 계산
BPTT Backpropagation Through Time, RNN의 역전파 방법

BPTT

BPTT를 통해 RNN의 가중치행렬의 미분을 계산해보면 아래와 같이 미분의 곱으로 이루어진 항이 계산됨

시퀀스 길이가 길어질수록 이 항은 불안정해지기 쉬움

기울기 소실의 해결책? Gradient Vanishing Probelm

시퀀스 길이가 길어지는 경우 BPTT를 통한 역전파 알고리즘의 계산이 불안저해지므로 길이를 끊는 것이 필요 -> truncated BPTT

But 완전한 해결책은 아님
Vanilla RNN은 길이가 긴 시퀀스를 처리하는데 문제가 있음
-> LSTM, GRU와 같은 advanced RNN을 사용

0개의 댓글