ANN, DNN, CNN, RNN, LSTM, GRU 등 무수히 많은 인공지능 알고리즘들이 존재한다.
그중에서 오늘은 RNN에 개념에 대해 Posting 해보고자 한다.
RNN이란 시계열 및 자연어처리 (Natural Language Processing) 문제해결을 주된 목적으로
개발도어진 알고리즘으로서 Feedforward Network와 달리 이전 시점의 내부상태를
다음 시점으로 전달해 주는 구조를 통해 시간의 흐름에 따른 데이터특성을 반영하여 학습을
진행할 수 있다는 것이 가장 큰 특징이다. 아래의 그림과 같은 기본구조를 기반하여, 현재
실전 문제해결에서 보편적으로 사용되고 있는 LSTM 및 GRU등의 알고리즘들이 탄생하게 된다.
이 RNN을 기반한 다양한 알고리즘들은 CNN기반의 영상예측 알고리즘들과 달리 딥러닝학습을 진행시,
쉽게 수렴하지 않음(복잡한 문제공간에 대하여)을 또 다른 특징으로 가진다. 시계열 흐름을 더 잘 반영
하려다보니 신경망의 깊이를 깊게 만들게 되고 이에따라 Gradient 소실문제가 뒤따르게 된다.
그렇다면 인공지능 연구자들은 어떻게 이 문제를 해결하였을까?
추후 포스팅에서 이 문제를 최소화한 알고리즘들인
LSTM(Long Short Term Memory)와 GRU(Gated Recurrent Unit)를 살펴 보도록 하자.
'Deep Learning > Terminology' 카테고리의 다른 글
Logistic Regression (로지스틱 회귀) (0) | 2020.07.14 |
---|---|
Linear Regression (선형회귀) (0) | 2020.07.14 |
Stochastic Gradient Descent (확률적 경사 하강법) (0) | 2020.07.14 |
Maximum Likelihood Estimation (최대우도추정) (0) | 2020.07.14 |