프로젝트/코드프레소 체험단

시계열 데이터 처리를 위한 RNN 완벽 가이드 - RNN 모델

KimCookieYa 2022. 3. 16. 02:31

RNN(Recurrent Neutal Network)

 - 기존 모델들은 연속적인 데이터가 아닌 현재의 Snap Shot만을 분석

 - 순서가 있는 연속적인 데이터들 간의 관계를 효과적으로 분석하지 못함

 - RNN은 데이터 분석에 시간적인 측면을 가미

 - 이전 데이터와 나중 데이터 간의 관계를 효과적으로 분석

 - RNN은 연속적인 데이터를 분석하는데에 최적화된 모델

 

 

RNN의 적용 분야

 - Sequential 데이터를 분석하는데 사용

 - 자연어 처리, 문장 처리

 - 음성 처리

 - 시간에 따른 센서 데이터 처리

 - 주가, 부동산 데이터 처리

 

 

RNN의 주요 키워드

1. 시간(timestep)

 - RNN의 데이터는 시간 순서대로 입력

 - 과거의 데이터가 미래의 데이터 분석에 영향을 줄 수 있음

 

2. 기억(context)

 - 시간에 따라 입력된 데이터들을 종합한 기억을 가짐

 - 과거의 기억은 현재의 새로운 데이터로 새로운 기억으로 보정됨

 

 

RNN의 특징

 - 기존 모델과는 다르게 은닉층의 출력이 다시 은닉층의 입력으로 전달

 - RNN 모델은 과거에 발생한 사건들을 종합한 context 정보를 현재 시점의 입력 데이터 분석 시 사용

RNN 모델

 

 

RNN Unfolding

 - 순환되는 RNN 구조를 시간 순서대로 펼친 구조

 - A(hidden layer)는 모든 step에서 동일

 - 매 step마다 새로운 input(X)이 입력되어 새로운 output(h) 생성

RNN Unfolding

 

 

RNN의 가중치

 - 두 개의 입력 정보(x, h)를 처리하는 2개의 가중치 존재

 - W_x : 해당 step(t)의 입력 정보를 처리하는 가중치

 - W_h : 이전 step(t-1)에서 생성된 context 정보를 처리하는 가중치

RNN의 가중치

 

 

RNN 모델링의 유형

 - 기본 구조를 변형하여 다양한 유형의 문제에 적용

 - one to many

 - many to one

 - many to many

RNN 모델링의 유형

 

 

RNN의 응용

 - NLP Task : AI 스피커, 음성합성, 챗봇, 번역기 등

 - 비 NLP Task : 추천 시스템, 주가 예측

 - 다른 모델과의 연결 : 사진 설명하기(CNN), 썸네일 추출하기(CNN, 강화학습)