RNN(Recurrent Neutal Network)
- 기존 모델들은 연속적인 데이터가 아닌 현재의 Snap Shot만을 분석
- 순서가 있는 연속적인 데이터들 간의 관계를 효과적으로 분석하지 못함
- RNN은 데이터 분석에 시간적인 측면을 가미
- 이전 데이터와 나중 데이터 간의 관계를 효과적으로 분석
- RNN은 연속적인 데이터를 분석하는데에 최적화된 모델
RNN의 적용 분야
- Sequential 데이터를 분석하는데 사용
- 자연어 처리, 문장 처리
- 음성 처리
- 시간에 따른 센서 데이터 처리
- 주가, 부동산 데이터 처리
RNN의 주요 키워드
1. 시간(timestep)
- RNN의 데이터는 시간 순서대로 입력
- 과거의 데이터가 미래의 데이터 분석에 영향을 줄 수 있음
2. 기억(context)
- 시간에 따라 입력된 데이터들을 종합한 기억을 가짐
- 과거의 기억은 현재의 새로운 데이터로 새로운 기억으로 보정됨
RNN의 특징
- 기존 모델과는 다르게 은닉층의 출력이 다시 은닉층의 입력으로 전달
- RNN 모델은 과거에 발생한 사건들을 종합한 context 정보를 현재 시점의 입력 데이터 분석 시 사용
RNN Unfolding
- 순환되는 RNN 구조를 시간 순서대로 펼친 구조
- A(hidden layer)는 모든 step에서 동일
- 매 step마다 새로운 input(X)이 입력되어 새로운 output(h) 생성
RNN의 가중치
- 두 개의 입력 정보(x, h)를 처리하는 2개의 가중치 존재
- W_x : 해당 step(t)의 입력 정보를 처리하는 가중치
- W_h : 이전 step(t-1)에서 생성된 context 정보를 처리하는 가중치
RNN 모델링의 유형
- 기본 구조를 변형하여 다양한 유형의 문제에 적용
- one to many
- many to one
- many to many
RNN의 응용
- NLP Task : AI 스피커, 음성합성, 챗봇, 번역기 등
- 비 NLP Task : 추천 시스템, 주가 예측
- 다른 모델과의 연결 : 사진 설명하기(CNN), 썸네일 추출하기(CNN, 강화학습)
'프로젝트 > 코드프레소 체험단' 카테고리의 다른 글
시계열 데이터 처리를 위한 RNN 완벽 가이드 - 영화리뷰 데이터셋 분류 모델 구현 (0) | 2022.03.20 |
---|---|
시계열 데이터 처리를 위한 RNN 완벽 가이드 - Keras의 SimpleRNN API (0) | 2022.03.16 |
이미지 데이터 처리를 위한 CNN 완벽 가이드 - 완강 후기 (0) | 2022.03.15 |
이미지 데이터 처리를 위한 CNN 완벽 가이드 - Transfer Learning을 활용한 성능 개선 (0) | 2022.03.15 |
이미지 데이터 처리를 위한 CNN 완벽 가이드 - DataAugmentation을 활용한 성능 개선 (0) | 2022.03.15 |