지금까지 다뤘던 인공신경망은 사실 독립적인 데이터를 다루기에 적합하다. 그러나 순서가 있는 데이터를 독립적으로 본다면 어떻게 될까? 데이터 속의 관계성이 깨질것이며 이는 곧 정보의 손실을 의미한다. 이러한 문제를 해결하기 위해 등장한 것이 바로 순환신경망(Recurrent Neural Network, RNN)이다. 간단히 말하면 연속된 데이터를 다루는데 적합한 신경망이다. 이번 장에서는 RNN에 대해서 알아볼 차례이다. 그 전에 연속된 데이터가 무엇인지 먼저 설명하겠다. 이는 RNN의 재료가 될 뿐만 아니라 RNN의 구조를 이해하는데 도움이 될 것이다.
"시계열 데이터 분석의 이해"
순서가 있는 데이터를 일반적으로 순차 데이터(sequential data)라고 부른다. 순차 데이터는 숫자와 기호 모두 포함하는데 대표적으로 전자는 시계열 데이터가 있고 후자는 텍스트 데이터가 있다. 시계열 데이터는 시간(time)의 흐름에 따라 변화하는 데이터로 주가, 환율, 물가등이 그러하다. 예를 들면 RNN을 통해 과거 10년의 주가 데이터를 학습시켜 내일의 주가가 떨어질지 올라갈지를 예측할 수 있다. 또 다른 순차 데이터의 예로는 텍스트 데이터가 있다. 텍스트 데이터는 말 그대로 ‘글자’를 의미한다. 한가지 예를 생각해보자. “나는 밥을 먹었다” 라는 문장이 있다. “밥는 먹었다 나을”이나 “밥을 나는 먹었다”과 같은 문장은 맞지 않다. 모든 글에는 문법이 존재하는데 문법이 바르고 의미가 옳게 전달되기 위해서는 앞에 나온 단어에 알맞은 조사를 사용했는지, 앞에 등장한 글자와의 어순이 맞는지를 보아야한다. 한마디로 이미 등장한 글자 혹은 단어와의 ‘순서’를 고려함으로써 텍스트의 의미를 더 잘 파악할 수 있는 것이다.
이렇게 순서가 있는 데이터인 시계열 데이터와 텍스트 데이터를 알아보았다. 이러한 순차 데이터는 이미 등장한 데이터들과 순서적으로 의존관계를 가지기 때문에 이러한 순차성을 놓치지 않고 기억해 줄수 있는 일종의 기억 장치가 필요하다. 그렇다면 RNN은 어떤 원리로 시계열 데이터를 다룰 수 있는지 알아보자.
작성자 홍다혜 ghdek11@gmail.com / 이원재 wonway333@gmail.com
'【5】RNN 기본 다지기 > 순환 신경망의 출현' 카테고리의 다른 글
예제로 다시 한번 이해하는 RNN구조 (0) | 2020.03.03 |
---|---|
독특할 뿐, 어렵지 않은 RNN 구조 (0) | 2020.02.13 |
시계열 데이터 분석을 위한 RNN (0) | 2020.02.12 |