일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- HY7714
- 흥미붙이기
- mlflow
- de
- DataProcessing
- TimeSeries
- 프레딧
- LTSF
- transformer
- pandas
- MPRO
- node.js
- express
- 프로바이오틱스
- DL
- AI
- NLinear
- RL
- YOLO
- ML
- 제발쉽게좀가르치자
- 도커로 깃블로그 만들기
- DLInear
- 엠프로
- socket.io
- 불법마약특별단속 #부산지방경찰청
- 오토트레이딩
- 강화학습
- 벨만방정식
- 강화학습으로주식하기
- Today
- Total
상황파악
NLinear 모델 구조 (Are Transformers Effective for Time Series Forecasting?) 본문
NLinear 모델 구조 (Are Transformers Effective for Time Series Forecasting?)
otch80 2023. 7. 23. 15:19- DLinear 구조
이전 글에 이어 실험에 사용된 모델인 NLinear의 구조에 대해 추가적인 설명이다
우선 DLinear는 Trend와 Remainder로 Decomposition 과정을 수행한다 (그래서 D(composition) Linear 로 추측됨)
하지만 NLinear는 D 가 아니라 N 으로 시작하는데, 이는 Normalization 을 나타낸다 (고 추측됨)
무엇을 기준으로 Normalization (정규화) 를 수행한다는 것인지 간략하게 설명하자면
Look-back window 중 가장 마지막 값을 가지고 앞의 값에 뺄셈한다
이런 과정을 수행하는 이유는 일반적으로 마지막 값이 시계열의 특성을 반영받기 때문이다
쉽게말하면, 앞선 값들이 독립적으로 전혀 무관한 값이 아니라면 이전 상태의 값에 영향을 받아왔을 것이다
우리가 예측해야 하는 미래 값도 앞선 값들을 기반으로 추측된 값이므로, 학습 과정에서 이전 값들이 마지막 값에 대비해서 얼마나 차이가 있는지 (혹은 그 이상의 의미) 파악하는게 중요할 것이다
그렇기 때문에 마지막 값을 기준으로 볼륨을 나타내고, 다시 예측이 끝난 시점에 마지막 값을 다시 더하여 최종 예측을 수행하는 것이다
-> 학습대상 : 정규화 된 (마지막 값을 기준으로 뺄셈한) 값
-> 후처리 : 예측 값에서 마지막 값을 더한 값
모델 학습 예시
위에서 사용한 Case를 기반으로 예시를 들어보자
[1,2,3,4,5] 라는 seq 가 있다고 했을 때, 마지막 값인 5를 기준으로 뺄셈을 진행하여 정규화를 수행한다
그런다음 정규화 된 값을 모델에 입력하여 3이라는 값을 출력한다
이후 기존에 정규화에 사용한 마지막 요소 값인 5를 다시 더해 역정규화를 수행하여 최종적으로 예측할 값과 비교한다.
해당 Case에서는 1의 Error를 가지게 된다
NLinear 의 Model 종류 역시 DLinear와 동일하게 S, I로 구분되어 활용할 수 있다
동일한 논문에서 제시된 방안이기에 결론 역시 DLInear와 동일하다
'AI' 카테고리의 다른 글
[MLFlow] #3. 기본 기능 이해하기 (0) | 2023.07.23 |
---|---|
[MLFlow] #2. 초기 환경 설정 (0) | 2023.07.23 |
[MLFlow] #1. 필요성 검토 (0) | 2023.07.23 |
DLinear 모델 구조 (Are Transformers Effective for Time Series Forecasting?) (0) | 2023.07.22 |