DeepST

DeepST

한마디

단순 시계열 이동 데이터를 이미지로 만들어, 시-공간을 반영하는 이동 예측 모델.

논문 간단 정리

  • 사람들의 이동 데이터를 지도로 만들어 강제로(?) convolution처리를 하게 했다.
  • 지도로 만듦으로써 이동에서 공간적(spatial) 연관성을 반영할 수 있었다.
  • 시간이 흐름에 따른 과거 데이터도 지도로 만들어 convolution을 사용해 시간적(Temporal) 연관성을 반영할 수 있었다.
  • 시간적 연관성을 3가지 연관성으로 나누었고 모두 convolution 처리를 통해 피쳐를 얻었다.
    • 짧은 시간에서의 연관성
    • 매일 같은 시각과의 연관성
    • 시즌별 시간과의 연관성
  • 2단계 convolution
    • 각 지도데이터에 convolution을 한 번을 적용하는 경우보다 두 번의 convolution을 적용하는 경우 더 넓은 지역 연관성을 반영할 수 있었다.
  • 이른 피쳐 합침(early fusion)
    • 짧은 시간, 매일 같은 시각, 시즌별 시각에서의 convolution 피쳐를 합친 뒤에 새로운 레이어에 집어넣는다. 이를 통해 비슷한 도메인의 피쳐가 일찍 결합되어 네트워크를 오래 탈 수 있게 한다.
  • 늦은 피쳐 합침(late fusion)
    • convolution 피쳐 말고, 날씨와 같은 데이터는 마지막 레이어에서 합친다. 서로 다른 도메인 데이터는 나중에 합치는 게 더 좋다고 한다.

구현 내용

각 시각마다 여러 개의 시계열 지도 이미지를 사용해서 하나의 피쳐를 만들어 낸다. 식을 살펴보면 각 시계열 이미지에 각각 컨볼루션을 처리한 피쳐들을 단순히 더하고 상수를 더해 활성함수인 f를 통과시킨다.

그리고 3가지 시각으로 구성된 convolution 피쳐에 다시 컨볼루션을 적용한 후에 단순히 더해 early fusion한다.

그 후에 추가적인 2개의 컨볼루션을 사용해 총 4개의 컨볼루션을 통해 최종적인 이미지 피쳐를 생성한다. 또한 시간 데이터와 날씨와 같은 데이터들을 dense레이어를 거치게 하고 최종 이미지 피쳐도 dense레이어를 거치게 하여 합친후 tanh 활성함수를 통해 -1 에서 1사이의 값을 반환한다.

자세하지 않은 부분

글로벌 피쳐(시간, 날씨 데이터)를 네트워크 내에서 어떻게 다룰지, 몇 개의 레이어를 거치게 할지에 대한 내용들.

Reference

댓글

이 블로그의 인기 게시물

[Linux, Unix] export, echo 명령어 알아보기

뼈속 깊이 이해하기 :: 1. 허프만 코딩

IEEE 754 부동 소수점 반올림과 근사