RNN
- 깊은 신경망에 대해 vanishing gradient 문제
- 시점간의 간격이 커진다면 멀리 떨어진 과거 시점 정보의 영향력이 약해지는 장기 의존성 문제
CNN : 시간 순서에 따라 filter를 적용함으로써 과거와 현재 정보 사이의 관계를 파악
- time step이 달라도 동일한 filter로 각 시점 정보를 파악해야 한다.
- 또한 좋은 성능을 내기 위해서 filter를 직접 튜닝해 주어야 한다.
- filter안에서 local한 dependency를 파악하기 때문에 장기 의존성 문제가 존재함
Attention
- 서로 다른 시점의 정보들 간의 관계를 바탕으로 (attention) score를 부여하여 활용하고자 함.
- long range dependency를 학습하기 용이하다는 장점
"장기시계열 예측 문제(LSTF)"
(a) long-range alignment ability -> Transformer가 만족
(b) efficient operations on long sequence input/output -> Transformer도 long sequence에 대해 취약함
Transformer 활용 방향
- long-range dependency 장점을 유지
- self-attention mechanism의 연산, 메모리, 속도 측면의 효율성 개선
- prediction capacity 향상
Sparse Attention
Sparse Attention 목적
: Input length에 Quadratic하게 증가하는 비용 대신에. Linear하게 증가하도록 만드는 것
Sparse Attention 효과
: Input이 길어진다면 Downstream Task에 사용되는 단서가 많아진다.
-> 시계열 예측의 관점에서는 더 긴 sequence를 받아서 더 긴 sequence를 예측할 수 있게 된다.
+LogSparse Self-attention 방법론 제안 -> 이렇게 임의로 설정해도 되나? 왜 log로?
Informer
"기존의 Transformer 모델을 연산, 메모리, 구조적 측면에서 효율적이게 향상시키면서도 높은 예측 성능을 유지할 수는 없을까?"
기존 Transformer의 한계점
◆ self-attention 측면
1. self-attention에서 각 layer 별 dot-product연산의 복잡도
2. J개의 stack된 encoder/decoder layer를 고려하면, Input의 길이에 따른 복잡도 증가
◆ Decoder 측면
3. dynamic decoding방식은 inference 단계에서 step-by-step decoding을 수행하므로 느린 속도를 보임.
Encoder-decoder architecture
순차적 예측(첫번째 결과를 받아야 두번째 결과 예측 진행 가능)이 아닌 한번의 forward step으로 예측 진행 가능
Input Representation
- Scalar는 input을 dmodel 차원으로 projection 시킨 값
- Local Time Stamp는 일반적인 transformer의 Positional Encoding 방식으로 fixed 값을 사용하고, Global Time Stamp는 학습 가능한 embedding 사용
Informer의 Encoder Input과 Decoder Input 구성
예측해야 하는 부분은 0으로 padding된다.
Part1. Efficient Self-attention Mechanism
[단점]
Quadratic한 횟수의 dot-product 연산과 메모리 사용
[선행 연구들]
위 수식 중에 유의미한 영향을 끼치지 않는 것을 제외하는 "selective" counting strategies를 고안 또는 attention score를 근사하는 kernel function을 고안함.
[Sparse Attention의 한계점]
1. query나 key를 선택할 때 잠재된 어떠한 실질적 의미/역할을 고려하는 것이 아니라 단순히 random하게 혹은, 일정 window 구간으로 한정하는 방식 등을 사용함.
2. multi-head self attention에서 각 head 모두 동일한 선택 전략을 적용하고 있다는 점에서 이론적으로 한계가 있음
[Informer의 새로운 selective strategy 전략]
- Idea 제안 배경
- 소수의 dot-product pairs만이 주요 어텐션에 기여하고 다른 dot-product pairs는 trivial attention, 즉 영향력이 낮은 attnetion을 생성한다.
- 핵심 IDEA : 어떻게 유의미한 dot-product pair를 구분해낼 것인가?
- Dominant dot-product pairs는 uniform분포로부터 상이함
- 즉 p(k|q)의 분포가 uniform 분포인 q(k|q) = 상수에 근사한다면, self-attention score로 value V를 가중합 할 때 trivial한 영향을 주게 되고 상대적으로 불필요한 query로 작용하게 됨
- 따라서 p분포와 q분포의 유사도는 중요한 query를 구분해 내는 지표로 사용될 수 있음
- p분포(관측된 attention 분포)와 q분포(Uniform 분포, 기준 분포)의 유사도는 Kullback-Leibler divergence로 계산
=> 위 수식의 값이 높을 수록 diverse한 확률값을 가지게 될 것이고 유의미한 dot-product pairs를 가질 가능성이 더 높아짐.
- ProbSparse self-attention이란?
- 앞선 sparsity 측정 지표를 바탕으로 유의미한 query를 top-u개만 선택하여 attention을 계산하는 방법
- Multi-head관점에서 보면, 각 head 별로 각기 다른 query-key 쌍을 생성하게 되기 때문에 sampling으로 인한 심각한 정보 손실을 방지할 수 있다는 효과를 가짐.
- ProbSparse self-attention 구현
- step1 : query 중요도 계산 (샘플링된 Key에 대해서)
- step2 : 중요도를 기준으로 top-u 개 query 선택
- step3 : top-u 개의 query와 모든 (샘플링하지 않았던) key set에 대해 attention을 구함
※ Key를 샘플링해서 사용해도 되는 것인가?
- 경험적인 증명 결과, 샘플링한 것으로 계산한 값이 원래 key로 계산한 값을 대표할 수 있음을 보임.
Part2. Encoder
'Paper Review' 카테고리의 다른 글
CoST: Contrastive learning of disentangled seasonal-trend representation for time series forecasting (0) | 2022.04.14 |
---|---|
N-HiTS: Neural Hierarchical Interpolation for Time Series Forecasting (0) | 2022.04.01 |
Autoformer (0) | 2022.03.25 |