[LG Aimer] 합성곱 신경망 기반의 시계열 회귀

chaeyoung·2023년 8월 10일
0

LG Aimer

목록 보기
6/7

Convolution Neural Network(CNN)

  • convolution 연산을 통해 이미지로부터 필요한 특징(feature)을 스스로 학습할 수 있는 능력을 갖춘 심층 신경망 구조
  • 이미지는 3차원의 tensor로 표현
    • 모든 pixel을 하나의 입력 노드로 간주하고 서로 다른 가중치로 연결하면 input, hidden layer사이에 수많은 weight가 생김
    • 그래서 Convolution연산을 사용, 특정 속성을 탐지하는데 사용되는 matrix(ex. edge detection)
  • 합성곱 신경망(CNN)
    • 이미지가 갖는 특징: 인접 픽셀 간 높은 상관 관계, 이미지 부분적 특성을 이용해 특징 추출
      • 합성곱 연산
        • 특정 특징(feature)을 추출하기 위해 같은 대상 크기는 위치가 다르더라도 동일한 weight사용
  • CNN 작동과정
    1.Convolution 연산:
    • output의 개수 = filter의 개수
    • Input의 Depth = filter의 개수
    • 한칸씩 이동 시 시간 증가: stride를 조절해 여러칸으로 이동하도록함
    • 가장자리 픽셀들은 중앙에 위치한 픽셀에 비해 Convolution 연산 적게 수행: Padding을 사용해 테두리에 0의 값을 추가
  1. Activation 연산
    Convolution을 통해 학습된 값들의 비선형 변환을 수행(ReLu사용)
    • 0보다 작다면 0으로 출력됨
  2. Pooling 연산
    고차원의 Tensor을 보다 Compact하게 축약하는 방법
    • Pooling: 일정 영역의 정보를 축약하는 역할
      • Max Pooling: 특정 시점이 최종적으로 영향을 크게미칠때 사용
      • Average Pooling: 전체 data가 모두 영향을 미칠때 사용
  3. Flatten(평탄화)
    2차원/3차원의 Matrix/Tensor 구조를 1차원의 Vector로 변환하는 과정
  • CNN의 Hyper Parameter
    • Convolution Filter크기
    • Convolution Filter의 개수
    • stride 크기
    • Zero Padding의 크기
  • CNN Architecture
    1. AlexNet

      - 초기 단계에서 큰 필터사이즈와 stride사용(빠르게 훑기 위해)
      - 상위 Layer로 갈수록 작은 필터사이즈와 stride사용(꼼꼼히 훑기)
      - 2개의 Fully connected layer 존재
    2. VGGNet

      - 3x3, stride=1을 기본 연산으로 하며 중간에 2x2 maxpooling수행

CNN for Time-Series Data

모든 변수는 동일한 주기(초,분,시간 등)으로 수집

  • Task1-Classification: 특정 기간 데이터를 입력으로, 특정 범주를 출력으로 하는 분류 모델(양/불 판정)
  • Task2-Regression: 특정 기간 데이터를 입력으로 하고 특정 수치를 출력으로 하는 회귀 모델
  • Task3-Regression: 일부 기간 데이터를 입력으로 하여 이후기간 데이터를 예측
  • Task4-Anomaly Detection: 일부 기간 데이터를 입력으로 하여 해당 상황의 정상/비정상 여부를 탐지
  • 1-D Convolution/ 2-D Convolution
    • 시계열 데이터는 이미지 데이터와는 달리 변수들 사이의 Spatial Correlation이 존재하지 않음
      • 시간축으로 움직이는 convolution은 의미가 있음
      • 변수축으로 움직이는 convolution은 의미가 없음
    • 2-D Convolution은 시간과 변수 두 축을 모두 convolution연산을 통해 탐색

0개의 댓글