Module 7. 『시계열 데이터 및 AI 모델 성능 최적화』 2. 합성곱 기반의 시계열 데이터 회귀

YSL·2023년 1월 25일

LG Aimers

목록 보기
29/30
post-thumbnail

📍 강의 자료 출처 : LG Aimers

2. 합성곱 신경망 기반의 다변량 시계열 데이터 회귀모형

CNN

: 시각적인 데이터를 처리하기 위해 고안된 구조로, Convolution 연산을 통해 이미지로부터 필요한 특질(feature)를 스스로 학습할 수 있는 능력을 갖춘 심층 신경망 구조

아래 4가지 경우에 대해 사용될 수 있다.

  1. Classification
  2. Classification + Localization
  3. Object Detection
  4. Instance Segmentation

컬러 이미지는 3차원 Tensor (WidthWidth X HeightHeight X 33(RGB))로 표현된다. 컴퓨터가 이미지를 인식할 때 모든 픽셀을 각각 하나의 입력 노드로 간주하고 서로 다른 가중치로 연결하게 되면 학습해야 할 parameter가 너무 많아지는 문제가 발생한다.

filter(=kernel)(= kernel)을 사용하여 특정 속성을 탐지하는 과정(Feature Learning)을 여러 번 반복하고 Flatten 과정을 통해 이미지를 1차원 벡터로 변환다.

Feature Learning
: Convolution 연산, Activation 연산(주로 ReLU), Pooling 연산의 반복

CNN은 스스로 입력 데이터로부터 filter를 학습할 수 있다.
⇒ end-to-end

  • 이미지 데이터가 갖는 특징
    • 인접 픽셀 간 높은 상관 관계 (spatially-local correlation)
    • 이미지의 부분적 특성은 고정된 위치에 등장하지 않음 (feature invariance)
      예) 이미지 상에서 '귀'를 찾을 때 모든 사진에서 동일한 위치에 '귀'가 있다고 보장 X

이러한 2가지 특징을 반영하고자 합성곱 연산을 진행한다.

  • spatially-local correlation을 고려하기 위한 Sparse connection 구성
    → 인접한 변수만을 이용하여 새로운 feature 생성

    Sparse connection
    : 전체 픽셀이 아닌 일부 픽셀만 가중치로 연결하여 연산 수행

  • Invariant feature를 추출하기 위해 Shared weight 개념 이용
    → 특정 특질을 추출하기 위한 도구로서 같은 대상 크기에는 위치가 다르더라도 동일한 가중치 적용

    Shared weight
    : 동일한 filter는 대상 영역에 상관없이 같은 가중치를 사용하여 연산 수행


CNN 작동 방식

1. Convolution

  • Filter(=Kernel)(= Kernel)
    : 특정 속성을 탐지하는 데 사용하는 matrix
    → 입력 이미지에 filterfilter를 걸어 edge를 딸 수 있다. (= 이미지의 특징 추출)

  • Stride
    : 한 번에 한 칸씩만 filter가 이동하게 된다면 학습 시간이 너무 오래 걸릴 수 있기 때문에 filter가 여러 칸 이동할 수 있도록 설정하는 변수

  • Padding
    : 원래 이미지 데이터의 테두리에 0의 값을 갖는 pad를 추가하는 과정
    → 가장자리에 있는 픽셀들이 중앙에 위치한 픽셀들에 비해 convolution 연산이 적게 수행되는 문제를 해결할 수 있다.

2. Activation

: convolution을 통해 학습된 값들의 비선형 변황을 수행하는 과정으로, 대부분 ReLU 함수를 사용한다.

3. Pooling

: 일정 영역의 정보를 축약하는 과정
고차원의 tensor를 max pooling, average pooling 등을 통해 축약할 수 있다.
cf> Average Pooling은 Strided Convolution의 특수한 케이스이다.

4. Flatten

: 평탄화 과정으로, 2차원/3차원 matric/tensor를 1차원의 vector로 변환해준다.


+) convolution filter의 크기, filter의 수, Stride의 크기, zero padding의 크기는 모델을 학습시키기 전 미리 설정해야 하는 하이퍼 파라미터이다.


CNN for Time-Series Data

Time-Series Data 가정
: 모든 변수는 동일한 주기(초, 분, 시간 등)로 수집되고 있다.

시계열 데이터를 사용하여 Classification, Regression, Anomaly Detection 등의 task를 수행할 수 있다.

1-D convolution vs. 2-D convolution

시계열 데이터는 이미지 데이터와 달리 변수들 사이의 Spatial Correlation이 존재하지 않는다.

→ 시간축으로 움직이는 합성곱 연산은 의미가 있지만 변수축으로 움직이는 합성곱 연산은 의미를 가지지 못한다.

  • 1-D convolution
    : 모든 변수를 한 번에 고려하여 시간 축에 대해서만 합성곱 연산을 수행한다.

    → filter의 크기가 정사각형이 아니다. ( 필터의 세로 크기 == 변수의 차원 수)

Dilated Convolution

: 시계열 데이터에 대해 합성곱 연산을 띄엄띄엄 수행하는 방식

기존 합성곱 연산은 stride를 적용해도 항상 연속된 시점의 데이터에 대해 수행되기 때문에 데이터의 개수가 많아지면 filtering 과정이 비효율적일 수 있다.

→ Dilated Convolution을 통해 보다 긴 길이의 시계열 데이터를 효율적으로 처리할 수 있다.


0개의 댓글