본문 바로가기

Programming/Deep Learning

딥러닝 겉핥기 with pytorch - 합성곱신경망/시계열분석

본 글은 "딥러닝 파이토치 교과서" 책을 겉핥으면서 개인 공부 목적으로 작성되었습니다.

 

왜 합성곱층이 필요한가?

순전파-역전파 과정에서 계산 과정이 복잡하고 많은 자원을 잡아먹음.
이미지 전체를 한 번에 계산하는 것이 아니라 이미지의 국소적 부분을 계산함으로써 시간과 자원을 절약하여 이미지의 세밀한 부분 분석
2D 이미지의 공간적 구조를 무시하는 문제점 해결

합성곱 신경망 구조

입력층(Input layer)
Height * Width * Channel의 3차원 입력 데이터

합성곱층
입력 데이터에서 특성을 추출하는 역할 수행
입력 이미지에 필터/커널을 통해 모든 영역을 훑으면서 특성 맵(feature map) 추출.
필터는 주로 3*3, 5*5로 잡으며 스트라이드(stride)를 통해 간격만큼 이동하면서 이미지를 분석.
필터의 채널 수는 입력 데이터와 동일하게 맞춰줘야 함
하이퍼파라미터: 필터개수 K, 필터크기 F, 스트라이드 S, 패딩 P
출력 데이터: (W-F+2P)/S+1 * (H-F+2P)/S+1 * K

풀링층
특성맵의 차원을 다운샘플링하여 연산량을 감소시키는 역할과 주요 특성 벡터 추출역할을 함
최대풀링: 대상영역 최댓값 추출
평균풀링: 대상영역 평균값 반환
평균풀링은 중요 가중치 값의 특성이 희미해질 수 있기에 최대풀링을 많이 활용함.

완전연결층
3차원 벡터를 1차원 벡터로 펼쳐주게 됨

출력층
소프트 맥스 활성화함수 주로 활용

 

시계열 분석

시계열 분석은 시간에 따라 변하는 데이터를 사용하여 추이를 분석
e.g., 불규칙 변동, 추세 변동, 순환 변동, 계절 변동

시간을 하나의 독립 변수로 사용하는 머신러닝
1. AR 모델: 이전 관측값이 이후 관측값에 영향을 주는 자기회귀 모델(AutoRegressive)
2. MA 모델: Moving Average, 윈도우 크기만큼 슬라이딩하며 분석, 트렌드 분석에 적합
3. ARMA 모델: AR+MA
4. ARIMA 모델: AR integrated MA, 과거 데이터의 선형관계 + 추세 함께 고려

RNN: 이전 은닉층이 현재 은닉층의 입력이 되면서 반복되는 순환구조를 가짐.
LSTM: RNN에서는 가중치가 업데이트 되는 시점에서 기울기 소멸문제 발생 해결(망각 게이트와 입력 게이트의 이전 단계 셀 정보의 합 계산을 통해)
GRU: LSTM의 망각 게이트와 입력 게이트를 하나로 합친 개념. 하나의 게이트 컨트롤러에서 모두 제어.