
Normalizing Flow: 특징 맵을 정규 분포로 변환하는 기본 아이디어
- 모델은 학습 과정에서 정상 데이터의 분포를 학습하고, 이를 표준 정규 분포로 변환하는 함수 를 최적화함.(학습 과정에서 를 최대화하여 모델 최적화)
즉, 정상 데이터가 표준 정규 분포에서 높은 확률(likelihood)을 갖도록 학습됨- 정상 데이터의 로그 가능도를 최대화하면, 이상 데이터와의 분포 차이를 극대화할 수 있음
- 이상 데이터는 정상 분포에서 벗어나므로 낮은 로그 가능도를 갖게 됨
- 이상치 탐지 시에는 낮은 likelihood를 가진 구간을 효과적으로 찾을 수 있음
**Affine Coupling Layer : “입력을 두 부분으로 분리하여 한 쪽을 조건으로 다른 쪽을 변환하는” 구조
- 입력 데이터에 대해 가역적(역변환이 가능한)인 변환을 적용하는 방법
- 주요 아이디어는 입력 데이터를 두 부분으로 나눈 후, 한 부분은 그대로 두고 다른 부분에 대해 스케일(scale)과 이동(translation) 변환을 적용하는 것 => 역변환 가능하게 됨
- 여기서 s(⋅)와 t(⋅)는 보통 신경망으로 구현되며, 의 정보를 바탕으로 에 대한 스케일과 이동 값을 계산
- 반적으로 Affine Coupling Layer에서 s(⋅)와 t(⋅) 함수는 Conv2d + ReLU + Conv2d와 같은 블록으로 구현. 이 블록은 입력 특징 맵을 받아서 각 위치별로 스케일과 이동 파라미터를 계산하는 역할을 하며, 이를 통해 해당 채널에 대해 비선형 변환을 수행함
- 이러한 Affine Coupling Layer를 여러 번 쌓음으로써 복잡한 데이터 분포를 효과적으로 모델링하고, 학습 과정에서 확률 분포를 정규 분포로 변환하는 데 사용
비지도 학습 기반 이상 탐지 및 로컬라이제이션은 라벨링이 어려운 현실적인 문제를 해결하기 위해 연구됨.
그래서 점차 NormalizingFlow 등장
Through a trainable process that maximizes the log-likelihood of normal image features, they embed normal image features into standard normal distribution and use the probability to identify and
locate anomalies.
기존의 비지도 학습 기반 이상 탐지 기법들의 한계를 극복하고자함
✅ 기존 방법론의 한계점
✅ FastFlow가 해결하려는 문제
🏆 End-to-End 방식의 효율적인 이상 탐지 구조 제안
🏆 KNN 없이 직접 확률 밀도를 학습하는 모델
🏆 모든 픽셀을 한 번에 처리하는 2D Normalizing Flow 적용
🏆 ResNet과 ViT(Visual Transformer) 백본 활용하여 강력한 특징 추출
🏆 픽셀 단위(Local) + 전역(Global) 정보 반영하여 이상 탐지 성능 향상
✅ FastFlow: 2D Normalizing Flow 기반 비지도 이상 탐지 및 로컬라이제이션 모델 제안
기존의 1D Normalizing Flow를 2D로 확장하여 공간 정보를 보존.
Convolution 기반의 연산을 적용하여 공간적 특성을 유지하면서도 이상 탐지를 수행.
✅ 가벼운 네트워크 구조
3×3 및 1×1 컨볼루션을 교차 배치하여 모델 크기를 줄이고 계산량을 최적화함.
슬라이딩 윈도우 없이도 효율적인 이상 탐지 수행.
✅ SOTA 성능 달성
MVTec AD, BTAD, CIFAR-10 등 다양한 데이터셋에서 최고 성능 달성.
특히, 99.4% AUC를 달성하며 기존 방법 대비 정확도와 속도 모두 향상.
✅ 문제정의
비지도 이상 탐지(One-class Classification & Out-of-Distribution Detection)
기존 Representation-based Method
✅ FastFlow는 이러한 방식 대신, Feature Distribution을 표준 정규 분포에 직접 매핑하는 방식 채택!
FastFlow는 Feature Extractor + 2D Normalizing Flow의 두 가지 주요 모듈로 구성됨.

1️⃣ Feature Extractor
ResNet & ViT 기반의 Feature Extractor 사용
2️⃣ 2D Normalizing Flow
✅ 기본 개념
입력 특징 벡터 를 역변환 가능 함수(Bijective Function) 를 통해 정규 분포 로 변환
학습된 확률 밀도(likelihood) 를 기반으로 이상 여부 판별
이상 데이터는 학습된 정상 데이터의 분포를 벗어나므로 낮은 확률(likelihood) 을 가짐
✅ FastFlow 전체 파이프라인
특징 맵을 정규 분포(standard normal distribution)로 변환하기 위해 Normalizing Flow 기반 모델을 사용
3×3 Flow와 1×1 Flow를 교차(stacking)하여 모델을 구성
변환된 특징 맵을 기반으로 확률(likelihood) 맵을 생성
이상 영역(anomalous regions)은 확률이 낮으며, 이를 heatmap 형태로 시각화 가능
✅ 개별 Flow Step (Flow Block 구조)
1) 입력 특징 맵(Channel C) → ActNorm & Channel Permute
2) Split (특징을 두 부분으로 분할, c/2 채널씩 나눔)
3) Affine Coupling Layer (비선형 변환 수행)
4) 변환된 부분을 다시 결합 (Concat)
✅ FastFlow의 확률 밀도 변환 과정
2️⃣-1️⃣ 확률 밀도 변환

: 원본 데이터의 확률 밀도
: 변환된 공간에서의 확률 밀도 (표준 정규 분포)
: Jacobian Determinant, 변환 함수의 미분 행렬
2️⃣-2️⃣ 로그 가능도(log-likelihood) 계산

학습 과정에서 를 최대화하여 모델 최적화
이상 데이터는 학습된 정상 분포에서 벗어나므로 낮은 로그 가능도 값을 가짐
왜 를 최대화해야 하는가?
정상 데이터의 확률을 높여야 함
모델은 학습 과정에서 정상 데이터의 분포를 학습하고, 이를 표준 정규 분포로 변환하는 함수 를 최적화함.
즉, 정상 데이터가 표준 정규 분포에서 높은 확률(likelihood)을 갖도록 학습됨.
이상 데이터는 정상 분포에서 벗어나므로 낮은 로그 가능도를 갖게 됨
정상 데이터는 학습 과정에서 분포를 맞추지만, 이상 데이터는 학습된 정상 분포에 포함되지 않음.
따라서 이상 데이터는 모델이 학습한 정상 분포에서 벗어나며 낮은 확률(likelihood) 값을 가짐.
이상 탐지는 이 낮은 확률을 감지하여 수행됨.
즉, 정상 데이터의 로그 가능도를 최대화하면, 이상 데이터와의 분포 차이를 극대화할 수 있음
🎯 2D Normalizing Flow 설계
FastFlow는 K개의 변환 블록(transform block)으로 구성

모든 변환 는 Affine Coupling Layer 기반으로 설계됨
CNN 기반 3×3 및 1×1 컨볼루션 을 활용하여 공간적 특징을 유지
✅ 1. 데이터셋
MVTec AD: 15개 산업 제품, 5,354개 이미지 (정상 & 이상 데이터 포함)
BTAD: 산업 제품 3개 카테고리 (2,540개 이미지)
CIFAR-10: 10개 카테고리에서 1개 카테고리를 이상치로 간주
AUROC (Area Under ROC Curve) 기준으로 평가
✅ 2. 비교 실험
1) MVTec AD 데이터셋에서 Anomaly Detection 및 Localization 성능 비교

FastFlow는 기존 SOTA 모델들보다 더 높은 Image-level (99.4%) 및 Pixel-level AUC (98.5%)를 기록.
기존 모델들과 비교했을 때 정확도와 효율성(추론 속도)에서 우수한 성능을 보임.
특히 PatchCore, CFlow 대비 향상된 Pixel-level 성능을 보이며, 이상 패턴을 더욱 정밀하게 탐지 가능.

2) BTAD 데이터셋에서 Anomaly Localization 성능 비교

FastFlow는 BTAD 데이터셋에서도 가장 높은 97%의 Pixel-level AUC를 기록
기존 Autoencoder 기반 기법(AE MSE, AE MSE+SSIM)보다 최대 19% 향상된 성능
이상 데이터의 픽셀 단위 탐지(localization)에서 매우 효과적
3) CIFAR-10 데이터셋에서 Anomaly Detection 성능 비교

CIFAR-10과 같은 자연 이미지에서도 FastFlow는 가장 높은 AUC(66.7%)를 기록
기존 이상 탐지 기법(OCSVM, KDE, VAE, PixelCNN 등)보다 높은 성능을 보임
하지만 MVTec AD, BTAD 대비 상대적으로 낮은 성능 → 자연 이미지에서의 이상 탐지는 더 어려운 문제
✅ 3. Ablation Study
Ablation Study - FastFlow의 컨볼루션 커널 실험

3×3 + 1×1 커널을 교차적으로 사용하는 것이 성능과 속도에서 균형 잡힌 선택
3-3 (3×3 only) 모델은 더 많은 파라미터를 가지지만 성능 향상은 미미함
3-1 (3×3 + 1×1 혼합) 모델은 비슷한 성능을 유지하면서도 파라미터 수와 계산량을 절약
Wide-ResNet50-2와 CaiT 기반 모델에서 가장 높은 성능 기록
99.4% (CaiT), 99.3% (Wide-ResNet50-2)로 최고 성능
✅ Feature Visualization and Generation

1️⃣ 순방향 과정 (Forward Process)
입력 이미지(Input Image) → 특징 추출(Feature Extractor, FE) → FastFlow 변환(FF) → 확률 맵(Probability Map)
1) 입력 이미지가 FE(Feature Extractor, 예: ResNet, ViT)를 통해 특징 벡터로 변환됨
2) FastFlow(FF):
3) 최종적으로, 이미지의 각 픽셀에 대해 "이상 탐지 확률 맵(Probability Map)"이 생성됨
빨간색 화살표 (Red Arrow) → 원래 존재했던 이상 영역 (Original Anomaly)
2️⃣ 역방향 과정 (Inverse Process, FF⁻¹)
확률 맵(Probability Map) → FastFlow 역변환(FF⁻¹) → 생성된 특징 맵(Generated Visual Feature)
1) FastFlow의 역변환(FF⁻¹)을 수행하여 원래의 특징 벡터를 복원
2) 특정 영역(노란색 화살표 부분)에 노이즈를 추가하여 변형된 확률 맵을 생성
3) 이 변형된 확률 맵을 다시 FastFlow 역변환을 통해 시각적 특징으로 변환
FastFlow는 단순히 이상 탐지만 수행하는 것이 아니라 역방향 변환을 통해 데이터 분포를 복원하는 능력도 가짐!
추가된 노이즈에 대해 모델이 어떻게 반응하는지 평가하여, 이상 탐지의 신뢰성을 검증할 수 있음!
✅ FastFlow는 2D Normalizing Flow를 기반으로 한 비지도 이상 탐지 및 로컬라이제이션 기법.
✅ 기존 방식 대비 추론 속도 향상 및 정확도 증가.
✅ CNN뿐만 아니라 Transformer 백본에도 적용 가능하여 확장성이 뛰어남.
✅ MVTec AD, BTAD, CIFAR-10 데이터셋에서 최고 성능을 달성.
✅ 향후 연구 방향: 보다 정밀한 이상 탐지 및 다양한 백본 네트워크와의 조합 최적화.