YoojLee / paper_review

paper review archive
6 stars 2 forks source link

Learning Unified Reference Representation for Unsupervised Multi-class Anomaly Detection #87

Open YoojLee opened 1 month ago

YoojLee commented 1 month ago

image

Summary

image multi-class anomaly detection을 수행하는 데에 가장 큰 걸림돌은 learning shortcuts임 (normal pattern을 잘 파악해서 normal을 복원하는 것이 아니라, 그냥 입력 그대로를 바로 내뱉도록 학습되어서 abnormal도 너무 잘 복원하게 되는 문제)

이걸 해결하기 위해, learnable reference representation을 활용하여 attention 과정에서 이걸 참조하도록 하는 것임 (input feature or image가 아니라). 이를 위해 masked learnable key attention (MLKA), local cross attention (LCA) 을 통해 모델이 reference representation이 normality를 잘 포함하는 형태로 학습하는 방향.

multi-class에서 기존보다 훨씬 좋은 성능올 보여주더라. (visa에서는 거의 4.4% 정도가 향상됨)

Method Highlights

image

feature를 복원하는 형태 -> 복원시키는 feature는 multi-scale을 사용하고 PatchCore의 local-aware aggregation 방식 활용. scale 개수마다 따로 forward하고 그때마다 reference representation도 다 따로 두는 형태. learning shortcut을 방지하기 위해 residual connection을 없앤 것이 특징.

좀 더 feature 복원을 어렵게 하기 위해 perturbation을 추가함 (빼도 큰 상관 없고, 실제로 성능 drop도 거의 없는 수준)

encoder-decoder 구조가 아닌, encoder only 구조임 (다만, encoder가 self-attention으로 구성된 게 아니라 input query가 있고, learnable matrix를 key와 value로 두는 형태.

MLKA

이 모듈은 UniAD랑 유사함 (neighbor masked attention을 사용하여 주변 영역을 참조하지 않게 하고, 이에 따라 identity shortcut을 방지하는 형태), UniAD는 learnable query embedding을 두는데 여기서는 key를 learnable하게 둔다는 점 (reference representation).

residual connection은 그 특성 상 identity shortcut에 취약하기 때문에 이를 아키텍처의 self attention 내부에서 사용하지 않는다고 함. 이렇게 되면 근데 rank collapse 문제가 발생할 수 있음. 대신 여기서는 learnable key를 둠으로써 residual connection을 disable하면서 발생할 수 있는 rank collapse 문제를 방지할 수 있다고 함. (self-attention에서 rank collapse 문제가 두드러지기 때문에, self-attention 구조를 깨버리면 된다. 이런 논리인 건가 싶은데 잘 와닿지는 않음.)

LCA

qkv attention에서 v까지 learnable reference로 대체 (value가 input이면, input 벡터가 attention 과정에서 개입하는 여지가 더 많아지기 때문에, abnormal feature를 반영할 경우가 커짐 -> 학습이든, inference든) 여기에 추가로 local aware mask를 통해서, 이번엔 반대로 local쪽만 attend하게 함 -> 이렇게 하면 reference representation이 좀 더 local semantic을 잘 담도록 학습이 될 것이다.

image 이 두 가지 attention module을 alpha라는 가중치 파라미터를 두고 가중합을 해서 ffn 네트워크에 통과시킴. 여기서 alpha 파라미터는 1보다 크기 때문에 LCA의 output을 더 많이 반영하는 구조임.

loss function

recon 에러를 MSE + cosine similarity 이용

image

Scoring function

image

Experiment Highlights

image

-> SoTA 성능 보여주고, visa 같은 경우엔 mvtec보다 기존 방법론 대비 성능 향상폭이 더 크다

image -> uniad와 비교하였을 때, prediction을 질적으로 평가했을 때도 더 잘 잡고 있음. feature도 normal feature를 잘 복원하는 걸 볼 수 있음.

image 일단 residual connection과 self-attention만 disable하더라도 훨씬 좋은 결과를 가져오게 됨. MLKA와 LCA가 추가되면 가장 좋은 성능. (LCA가 MLKA보다 조금 더 좋은 영향을 주는 듯 단독으로만 보면)

Strengths and Weaknesses