INTRODUCTION
- 지난 몇 년간 딥러닝 기술은 컴퓨터 비전 응용 분야에서 최첨단 이상 탐지 방법을 발전시켜왔으나, 이상 탐지 성능을 높이기 위해 종종 계산 효율성을 희생함
- 실제 세계에서 이상을 너무 늦게 감지하는 경우 경제적 피해를 입히거나 인간의 생명을 위협할 수 있기에 이상 탐지 방법의 계산 및 경제 비용에 주의를 기울이는 것이 중요함
- 해당 논문에서는 강력한 이상 탐지 성능과 높은 계산 효율성을 보이는 EfficiendAD 제시
- 정상 이미지로 사전 훈련된 teacher network에 의해 계산된 특징을 예측하기 위해 student network 훈련
- student network는 이상한 이미지에서 훈련되지 않았기에, 일반적으로 모방하지 못함
- teacher, student 출력 간의 큰 거리는 test time에 이상을 탐지할 수 있도록 함
- 이상 지역의 특징을 식별함으로써 제품의 오염물 같이 정상 이미지와 구조적으로 다른 이상을 감지할 수 있음
- 위치, 크기 배열 등 정상 객체에 대한 논리적 제약 조건 위반은 어려운 문제이기에 EfficientAD는 훈련 이미지의 논리적 제약 조건을 학습하고 test time에 위반을 감지하는 오토인코더를 포함함
METHOD
1. 사전 훈련된 신경망으로부터 효율적인 특성 추출
2. 가벼운 student-teacher 모델을 사용해 test time에 이상 특징 탐지 > student-teacher 모델 교육을 위한 loss 함수
3. 오토인코더 기반 접근 방법을 사용해 논리적 이상을 효율적으로 감지하는 방법
4. 오토인코더의 감지 결과를 student-teacher 모델의 결과와 보정하여 결합하는 솔루션 제공
Efficient Path Descriptors
- 최근 이상 탐지 방법은 일반적으로 WideResNet-101 같은 심층 사전 훈련 네트워크를 사용하지만, 본 논문에서는 특성 추출기로 크게 줄인 Convolution layer 4개의 네트워크 사용
- 각 출력 뉴런은 33*33 픽셀의 수용 영역을 가지고 있으며, 각 출력 벡터는 33*33 패치를 설명함
- 현대의 분류 아키텍처는 일반적으로 feature map의 크기와 실행 시간 및 메모리 요구 사항을 줄이기 위해 이른 downsampling 수행 -> 본 논문에서는 이를 PDN에서 제안된 strided average-pooling 레이어로 구현
- 제안된 PDN을 사용하여 256*256 크기의 이미지에 대한 특성을 NVIDIA RTX A6000 GPU에서 800 마이크로초 미만의 시간 안에 얻을 수 있음
- PDN의 높은 효율성 외에도 최근 사용된 심층 네트워크와 비교했을 때 이점은, PDN에서 생성된 특성 벡터는 해당 33*33 패치의 픽셀에만 의존한다는 것 -> 이미지 한 부분의 이상이 다른 먼 부분에서 이상한 특성 벡터를 유발할 수 없음
Lightweight Student-Teacher
- 이상 특성 벡터를 감지하기 위해 Student-Teacher(S-T) 접근 방식 사용
- Teacher은 추출한 PDN에 의해 제공되고, student에도 동일 아키텍처 적용 -> 1ms 내에 feature 추출 가능
- (-) 이상 탐지 성능을 높이기 위해 이전 방법들이 사용한 기술(여러 S-T 앙상블, S-T 간 아키텍처 불균형 사용 등) X
- => 연산량에 영향을 주지 않으면서 이상 탐지 성능을 상당히 개선하는 training loss 도입
- 표준 S-T 프레임워크에서 훈련 이미지 수를 늘리면 student가 teacher를 이상에 대해 모방하는 능력이 향상될 수 있고, 이로 인해 이상 탐지 능력이 저하됨
- 그렇다고 훈련 이미지 수를 줄이면 정상 이미지에 대한 중요 정보가 억제될 수 있음
- 목표는 student에게 충분한 데이터를 제공하여 정상 이미지에서 교사를 충분히 모방할 수 있도록 하는 동시에 이상 이미지로의 일반화를 피하는 것 -> student의 loss를 이미지의 가장 관련있는 부분에 제한할 것
- hard feature loss; 역전파를 위해 손실이 가장 높은 출력 요소만을 사용(student가 teacher를 모방하지 못하는 부분한 loss에 영향을 주도록)
- teacher T와 student S를 훈련 이미지 I에 적용하여 T(I) ∈ R^(C*W*H), S(I) ∈ R^(C*W*H) 얻음
- 각 튜플 (c, w, h)에 대해 Dc,w,h = (T (I)c,w,h − S(I)c,w,h)^2로 계산
- mining factor phard ∈[0,1]를 기반으로 D 요소의 phard-quantile 계산 후, 모든 Dc,w,h ≥ dhard의 평균을 계산하여 training loss Lhard 로 사용
- hard feature loss 외에도, 학습 중 student가 정상 훈련 이미지가 아닌 이미지에서 교사를 모방하는 것을 더 어렵게 만드는 loss penalty 사용
- student 훈련에 teacher 훈련 데이터 중 무작위 샘플링된 데이터 셋이 사용되는데, 학생의 손실을
- 훈련 이미지 I에 오토인코더 A를 적용하여 A(I) ∈ RC×W ×H를 얻은 다음, 손실 LAE = (CW H)−1 Pc ∥T (I)c − A(I)c∥2F 계산
- 인코더에서 strided convolution을 사용하고 디코더에서 bilinear upsampling을 사용하는 표준적인 합성곱 오토인코더 사용
- 패치 기반 student와 달리, 오토인코더는 64개의 latent 차원을 통한 병목 형태로 완전한 이미지를 인코딩, 디코딩해야 함
- 논리적 이상이 있는 이미지에서는 오토인코더가 일반적으로 교사의 feature space에서 이미지를 재구성하기 위한 올바른 latent 코드를 생성하지 못함
- 그러나 일반 이미지에서도 오토인코더는 미세한 패턴을 재구성하는 데 어려움을 겪기 때문에 재구성이 부정확함
- 따라서 student의 출력과 오토인코더의 재구성 차를 anomaly map으로 사용한다면 false positive 유발 가능성
- 대신 student 네트워크의 출력 채널 수를 2배로 늘리고 student가 teacher의 출력뿐 아니라 오토인코더의 출력도 예측하도록 함
- S′(I) ∈ R^(C×W ×H)는 student의 추가적 출력 채널, student의 추가적 loss는 LSTAE = (CWH)−1 Pc ∥A(I)c − S′(I)c∥2F
- training loss 는 LAE, LST, LSTAE의 합
- student는 일반 이미지에서 오토인코더의 재구성 오류, 즉 blurry reconstruction을 학습하는 동시에 이상은 학습하지 않음
- 오토인코더의 출력과 student의 출력 간 차를 anomaly map으로 계산하여 global anomaly map으롤 참조
- S-T간에 생성된 anomaly map을 locally anomaly map으로 참조
- 두 anomaly map을 평균하여 결합된 anomaly map을 계산하고, 최댓값을 이미지 이상 점수로 사용
Anomaly Map Normalization
- local, global anomaly map은 결합 전 유사한 척도로 정규화되어야 함
- 그렇지 않으면 한 map의 noise가 다른 map에서 정확한 감지를 결합된 지도에서 분간할 수 없게 함
- 정상 이미지에서의 noise scale을 추정하기 위해 학습 셋에 없던 validation image 사용
- 공식 코드는 없으나 논문 뒤의 Appendix A. Implementation Details for EfficientAD 를 보면 pseudo code 확인 가능
'AI' 카테고리의 다른 글
[논문리뷰] A Comparative Study of Time Series Anomaly Detection Models for Industrial Control Systems (0) | 2024.05.16 |
---|---|
[논문리뷰] WinCLIP: Zero-/Few-Shot Anomaly Classification and Segmentation (0) | 2024.05.13 |
[논문 리뷰] TadGAN: Time Series Anomaly Detection Using Generative Adversarial Networks (0) | 2024.05.06 |
딥러닝, 머신러닝 (0) | 2024.05.02 |
[NLP] 자연어 처리란 (0) | 2024.05.02 |