RNN이란 Recurrent Neural Network의 약자로, 순환 신경망을 뜻한다.
hidden node가 방향을 가지는 에지로 연결되는 순환 구조이다.
RNN은 입력과 출력을 시퀀스 단위로 처리한다.
시퀀스 길이에 상관없이 동일한 모델 parameter로 동작한다.
시퀀스 데이터는 연속적으로 나열된 데이터이다. 예를 들어 time-series data(시계열 데이터)는 시간 순서에 따라 나열된 시퀀스 데이터의 일종이다. 시퀀스 데이터는 이전의 정보를 가지고 미래를 예측하기 때문에 조건부 확률을 이용할 수 있고 가변 길이의 데이터를 다룰 수 있는 모델이 필요하다. 다만 시퀀스 데이터를 분석할 때 모든 과거들의 정보가 필요한 것은 아니다.
해당 단원을 공부하면서 일기예보에 RNN이 많이 쓰이지 않을까 했는데 역시 그렇다고 한다. 특히 모든 과거의 정보가 필요하지 않다는 말을 듣고 더욱 확신했다. 만약에 내일의 일기예보를 작성하는데 지난 7일간의 데이터와 지난 70일간의 데이터를 기반으로 추측한다고 하면 70일 전의 기후환경은 지금과 많이 다르기 때문에 오히려 결과의 정확성을 떨어뜨릴 것이라고 생각했다.
이전 순서의 잠재변수와 현쟈의 입력을 활용하여 모델링한다. 역전 파는 잠재 변수의 연결 그래프에 따라 순차적으로 계산한다.
파란색은 순방향, 빨간색은 역전 파이다.
역전파 알고리즘을 보면 복잡한 공식이 있다.
시퀀스(input data)의 길이가 길어질수록 계산이 불안정해지고 그레디언트가 점차 감소해 결국엔 기울기가 소실해 버린다.
Vanilla RNN에서는 길이가 긴 시퀀스를 처리하는 것에 문제가 있어서 시퀀스의 길이를 끊어야 한다.
이러한 문제를 해결하기 위해 등장한 네트워크가 LSTM과 GRU이다.
<RNN 알고리즘>
LSTM, GRU) https://wooono.tistory.com/242
'AI & Data Science' 카테고리의 다른 글
2022 제4회 매치업 스마트시티 아이디어톤(AI 서비스 부문) 후기 (장려상 수상) (0) | 2022.12.26 |
---|---|
2022년 제 1회 k-ium 의료 인공지능 경진대회 후기(최우수상 수상) (0) | 2022.10.30 |
BoostCourse AI Pre-Course) CNN (0) | 2022.08.03 |
BoostCourse AI Pre-Course) 조건부 확률 & 베이즈 통계학 (0) | 2022.08.03 |
BoostCourse AI Pre-Course) 통계학 (0) | 2022.08.02 |