본문 바로가기



AI 관련 기술들/AI

시계열 데이터와 딥러닝

우리가 얻을 수 있는 데이터는 다양한 형태를 가지고 있습니다.
이런 데이터의 형태는 딥러닝과 어떤 관계가 있을까요?
한 번쯤은 궁금했던 적이 있으신가요?

 

 


우리가 선택할 수 있는 많은 딥러닝 교육들 중에서 가장 쉽게 만나는 딥러닝 모델에는 이미지, 영상에 대한 분류 ,인식, 검출, 변환 등의 작업에 많이 활용되는 CNN(Convolutional Neural Network, 합성곱 신경망)이 있습니다.
대부분의 딥러닝 강좌에서는 신경망의 구조, 다중 퍼셉트론 등의 기초 개념을 설명한 후 바로 CNN의 설명으로 넘어가는 경우가 많습니다.
그리고 CNN을 비롯하여 영상, 이미지에 관련된 다양한 알고리즘과 예제들을 살펴보고 나면 강의가 끝나버립니다. 
장기 강좌를 신청하지 않으면 말이죠.
기간이 넉넉한 강좌라면 CNN을 마치고 RNN(Recurrent Neural Network, 순환신경망)까지 강의하는 강좌도 있습니다.

왜 CNN이니... RNN이니.. 하는 이야기를 꺼냈을까요?

어차피 우리가 다루는 데이터는 그 형태를 막론하고 숫자 또는 문자들로 이루어진 것들이라서 어떤 모델을 사용하더라도 딥러닝을 통한 학습을 수행할 수 있습니다.
이미지 데이터도 결국 각 픽셀에 대한 수치들이 배열의 형태로 모여있는 것이니 동일하다고 보시면 됩니다.
대신 각 모델에 따라 처리의 효율성은 다르겠죠.

그럼 대표적으로 떠올릴 수 있는 두 가지의 딥러닝 모델인 CNN과 RNN을 간단히 비교해 보겠습니다.

우리가 가장 쉽게 접하는 CNN은 이미지처럼 여러 값이 격자형태로 구성된 입력 데이터를 처리하는 것에 특화된 모델입니다.
영상에서의 인식, 분류 등에서는 현재까지 가장 뛰어난 결과를 보여주고 있습니다.
이미지, 영상 분야에는 CNN외에 YOLO, GAN 등 다양한 모델과 알고리즘이 있지만 대부분의 모델이 CNN 모델을 기반으로 구성되어 있습니다.
또한 CNN은 입력된 이미지보다 너비와 높이가 더 큰 이미지로 손쉽게 확장할 수 있다는 특징도 가지고 있습니다.

이러한 CNN 모델과는 다르게 RNN은 순차열, 즉 순서가 있는 일련의 값을 처리하는데 특화되어 있는 모델입니다.
CNN이 더 큰 이미지로 쉽게 확장이 가능한 것처럼 RNN도 더욱 긴 순차열로 쉽게 확장할 수 있습니다.
여기서 말하는 더 긴 순차열이라는 것은 단순히 조금 더 긴 데이터를 의미하는 것이 아니라, 순차열에 특화되지 않은 다른 신경망으로는 처리하는 것이 비현실적이라고 할만큼 긴 것을 말합니다.
또한 RNN을 비롯하여 대부분의 순환 신경망은 가변 길이의 순차열 데이터도 처리할 수 있습니다.

 

 


그럼 이제 제목에서 이야기하는 시계열 데이터에 대하여 알아보도록 하겠습니다.

시계열 데이터는 Time Series Data라고 하죠.
이름 그대로 시간의 순서대로 일정한 주기에 따라 측정, 저장된 데이터를 시계열 데이터라고 합니다.
시간 순서대로 저장되어 있으니 시계열 데이터도 순차열 데이터라고 볼 수 있겠죠.

시계열 데이터를 가장 많이 활용하는 분야는 데이터를 기반으로 한 예측 분야입니다.
시간의 흐름에 따라 순서대로 저장된 데이터이기 때문에 그 변화도 이전의 데이터, 즉 과거의 데이터에 영향을 많이 받게 되어있죠.
그러한 데이터의 변화패턴을 분석하여 앞으로 어떤게 변할것인가를 예측하는 것이 목적입니다.
가끔 시계열 데이터를 분석하여 장애 검출에도 쓸 수 있다고 이야기 하시는 분들도 있습니다만 그것도 결국 예측을 이용하는 것입니다.
입력되는 데이터를 순서대로 살펴보면 조금씩 어긋나는 데이터를 찾을 수 있고 그 어긋난 데이터의 범위가 서서히 커지는 것을 이용하여 언제쯤이면 장애기준에 포함되는 범위까지 갈 것인가를 예측하는 것이 여기에서 말하는 장애 검출입니다.
결국 시계열 데이터는 시간에 따른 변화를 보고 패턴을 분석하여 이후에 어떤 데이터를 얻을 것인지 예측하는게 가장 큰 목적이자 활용분야라고 볼 수 있습니다.

그러나 실제의 데이터는 주변의 환경과 특정 이벤트들로부터 많은 영향을 받게 됩니다.
그래서 단순히 과거의 데이터를 이용한 패턴분석만으로는 다양한 대상에 대하여 잘 예측하기가 쉽지 않은 거죠.
또한 데이터에서 어떤 값과 어떤 변수를 중심으로 분석하는가에 따라서도 많은 성능변화가 일어날 수 있습니다.
이런 이유로 영향력이 큰 요인을 분석해내는 여러 기술, 알고리즘 등이 연구되었고, 딥러닝을 활용하여 더 좋은 예측을 해 보자~라는 분야도 확산되기 시작한 것입니다.

 

아래의 그림은 시계열 데이터가 어떻게 영향을 받아서 구성되어 왔고, 어떻게 이 후의 데이터를 예측하는가에 대한 개념을 간략하게 보여줍니다.

 

시계열 데이터의 구성과 예측에 대한 개념도

 

앞에서 말씀드린 것처럼 이러한 시계열 데이터는 순차열 데이터라고 볼 수 있기때문에 CNN계열의 모델보다는 RNN계열의 모델에서 더욱 높은 정확성과 효율성을 기대할 수 있습니다.
다음 글에서는 방금 언급한 RNN 계열의 모델에 대하여 살펴보도록 하겠습니다.

 

 

 

반응형