요약
Global Trend을 잃지 않으면서도 정규화, 역정규화가 가능하며, 특히 내부 아키텍처 수준의 정규화, 역정규화를 통해 TrandAD의 트랜스포머 어텐션에 더 적합한 연산을 수행하였다.

기존 Recon-based methods의 한계는 이상 데이터 패턴에 과적합 되는 점이다.
그 이유는, 다수의 정상 샘플에 대해서는 훈련이 잘 되어있어 에러값이 작게 나오지만, 소수의 정상 샘플에 대해서는 훈련이 잘 되어있지 않아 에러값이 크게 나오기 때문이다.

이 한계를 해결하기 위해 RevIN과 같이 정규화, 역정규화 단계를 거친다.
하지만 RevIN 같은 경우는 Real-world data의 역동성에 부족한 모습을 보인다.
그 이유는, 정규화, 역 정규화가 외부 아키텍처 수준에서 수행되기 때문이다.

위 RevIN의 한계를 해결하기 위해 내부 아키텍처 수준으로 정규화, 역정규화를 수행한다.
특히 내부 모델인 트랜스포머에 맞게 정규화, 역정규화가 수행 된다.

위 그림을 보면 (1)만 이상 구간이며, 왼쪽의 보라박스는 이상 구간이 아니다.
(2)에서 보면 Trand AD에서는 이상 구간으로 잡았지만 RT detector은 이상 구간으로 잡지 않았다.
즉, RT Detector가 이상-정상을 더 잘 구분한다는걸 알수 있다.

본 논문에서 몇가지의 챌린지를 주고있다.
첫째로, 정규화로 예측은 좋아지지만 분포 변화 정보가 날아가서 AD 성능이 떨어진다라는 점이다.
이를 해결위해, 정규화만 하지말고 RTE을 통해 역정규화까지 해서 원래 분포 변화를 복원한다.
두번째로 윈도우 + 전체 시퀀스로 changing trend는 어느 정보도 보게 했지만, 아키텍처가 재구성 트렌드 복원용으로 설계되지 않아 진짜 recon trend는 못잡는다는 점이다.(즉 recon trend를 좀 더 잘 잡을 필요가 있다는 말이다.)
이를 해결위해, focus socre (Trand AD에 나옴)을 통해 self-conditioning을 해준다.
정규화/역정규화 정보를 Attention과 Self-conditioning 구조 안에 녹인다.
내가 느낀 점은 ... 이 두가지가 근데... 그렇게 큰 기여를 하는게 맞냐는거다.
1번째 정규화, 역정규화든 2번째 focus-score든 모두 다 있던 기법이고 단지 Transformer에 적용한게 전부인것 같다.

참고로 RTE는 Reconstruction Trend Enhancement의 약자로 Global Trend을 통해 재생성 트렌드를 강화시켜주는 기법이다.
특히, Global Trend라 함은, 정규화 하기 전의 본래 데이터의 트렌드를 말한다. 역정규화시 이 트렌드를 사용해준다.

그리고 위에서 윈도우 + 전체 시퀀스라는 말을 했는데
전체 시퀀스는, C를 뜻하며 Complete Sequence이다.
지금 시점이 5라면, 1~5까지의 시점을 말한다.

윈도우 시퀀스는, W을 뜻하며,
지금 시점이 5이고 윈도우 사이즈가 3이라면, 3~5까지의 시점을 말한다.

본 논문의 기여는, RTE 차용, RT-Attention 제안, 높은 성능 제시

Figure2는 RT Detector Arch이고, Figure1은 TrandAD Arch이다.
보다시피 상당히 유사하며, 큰 차이는 못느낄 것이다. 가령 두 모델에는 Focus Score가 존재하고,

두개의 디코더도 존재한다.

다른점이라고 하면 MLP을 통해 Global Trend 정보를 전달해주고, 정규화, 역정규화가 있으며,
정규화에 적합한 트랜스포머 모델이 되기 위한 RT-Attention이 있다는 정도이다.

즉, 본 논문의 모델은 TranAD의 상당부분을 차용한것을 볼 수 있다.
그래서 우리는 TranAD의 모델 먼저 살펴보겠다. (공통영역)
C,W는 전체, 윈도우 시퀀스이다.
Focus Score은 이며, 이는 단순한 Recon loss이다.
recon loss을 self-conditioning에 사용하는 Focus Score로 받는 이유는 이상 시점에 대해 더 큰 값을 형성하기 위함이다.
recon loss 특성상 정상일시 작게, 비정상일시 크게 값이 형성 되며, 이게 시계열 데이터에선 이상 시점에 더 큰 값을 갖게 된다. 이를 가중치처럼 써줘서 C에 Focus Score로써 곱해주게 된다.
두개의 인코더는 GAN과 같이 MinMax Game을 하게 되며,
정상 샘플은 Recon Loss 작게, 이상 샘플은 Recon Loss 크게 한다.
즉 discrepancy을 크게 해준다. 이상-정상 분류를 더 쉽게 해준다.

이번엔 RTdectector 모델을 보게 되면 정규화, 비정규화가 있다.

수식 2에 보면 정규화 공식이 있다. 이는 매우 일반적이며, 꽤 오래전부터 정규화 관행이다.
참고로 MinMax Scalcer같은게 아니라 정규화 임을 유의하자.
특히, 정규화에서는 평균 와 편차 가 존재함을 인지하자.

그리고 역정규화 단계에서는 위와 같이 수식 2의 역순을 수행해준다.


다음으로 Focus Score에 대해 자세히 알아보겠다.
TranAD와 같이 C에 self-conditiong을 하는 역할을 하며,
다만 차이점이 있다면 수식 4에 정규화를 위한 평균 와 편차 가 추가로 들어감을 인지해주자.


이번엔 두개의 디코더에 대해 자세히 설명하겠다.
위에서도 말했듯이 기본적으로 GAN과 같이 Min-Max Game으로 이루어지며,
phase1에선 단순히 recon error을 최소화 하도록 훈련되지만,
phase2에서야 Min-Max Game을 수행한다.
phase2에서,
L1은, Focus Score을 매우 작게 형성하려고 한다.
이를 통해 정상 샘플은 Focus Score이 매우 작게 형성되며,
이상 샘플은 정상 샘플에 비해 Focus Score이 덜 작게 형성되긴 하지만, 작게 형성 된다.
L2은, Focus Score을 크게 형성하려고 한다.
근데 문제가 Focus Score이 크게 형성 되려면,
정상이든 이상이든 recon이 잘 되지 않게 훈련되어야 한다.
그리고 특히, 정상 샘플 개수가 압도적으로 많기에 정상 샘플이 전체적으로 Recon loss가 커지도록 될것이다. 이를 예방하기 위해 L1이 있었던 것이다.
즉, L1을 통해 정상 샘플의 Recon Error가 작게 형성되도록 하며,
L2을 통해 정상보단 이상의 Recon Error가 크게 형성되도록 한다.
이를 통해 Discrepancy가 최대화 된다.
그리고 다시 말하지만, 위 Focus Score 수식에는 정규화를 위한 Global Trend의 평균, 편차가 추가로 들어가며 RTdetector Arch의 MLP가 이 Global Trend 정보를 입력하기 위해 필요한 것이다.

수식 7은 여태껏 본 어텐션에 들어가는 Q,K,V에 대한 내용이며 특히 가 있는 이유는 값이 입력될때 너무 큰 값이 들어가게 되면 훈련에 방해되기 때문이다.
그리고 수식 7의 는 최종적으로 정규화 한 내역이 들어가야기에 수식 9로 치환된다.
치환되는 과정에 수식 8에 대한 내용이 들어가는데,
Q,K에 대해서 정규화된 Q',K'에 대한 내용이다.
핵심은, Q을 얻기 위해선 f(x)을 해야하는데, Q'을 얻어야하니 f(x')을 수행한단 것이고, f'을 정규화 식으로 전개한다는 내용이다.

수식 10은 수식 7,8,9을 통해 얻은 결과를 적용시킨 것이며,
수식 11은 softmax의 특성을 소개하며, 상수는 제외할수 있다고 말하고 있다.
수식 12는 수식 11의 특성에 의해 수식 10의 뒷 부분이 생략될수 있음을 명시하고, 앞부분만 최종식으로 채택됨을 알린다.

위에서 잠깐 언급했듯이 MLP는 어텐션 인코더에 Global Trend을 입력하기 위함이다.

Attention에 넣기 전에 Global Trend인 τ,Δ을 MLP로부터 얻고,
정규화하여 얻은 Q',K',V'또한 입력해준다.
이렇게하여 Attention Calculation이 가능하며, 이를 통해 효율적으로 학습이 가능해진다.

RTdetector의 메커니즘을 통해, Anomaly Detection Score을 구한다.
위 RTdetector 과정들을 통해,
Global Trend을 잃지 않으면서도 정규화, 역정규화가 가능하며, 특히 내부 아키텍처 수준의 정규화, 역정규화를 통해 TrandAD의 트랜스포머 어텐션에 더 적합한 연산을 수행하였다.