SlideShare a Scribd company logo
1 of 28
Download to read offline
우태강
Anomaly Detection
with Generative Model
목차
목차
1. Generative Adversarial
2. GAN’s
Anomaly detection
3. AnoGAN
4. Rethinking z distribution
GAN
4
Generative model
GAN: generative adversarial networks
5
Generative model
GAN: generative adversarial networks
Z: 𝒰(0,1)
G
(generator)
D
(discriminator)
Real
Fake
Real
Discriminator training
Generator training
Real data
Fake data
6
Generative model
Z: 𝒰(0,1)
G
(generator)
D
(discriminator)
Real
Fake
Real
Discriminator training
Generator training
Real data
Fake data
min
*
max
-
𝑉 𝐷, 𝐺 = 𝔼3~56787 3 𝑙𝑜𝑔𝐷 𝑥 + 𝔼>~5? > log 1 − 𝐷 𝐺 𝑧
7
GAN training
min
*
max
-
𝑉 𝐷, 𝐺 = 𝔼3~56787 3 𝑙𝑜𝑔𝐷 𝑥 + 𝔼>~5? > log 1 − 𝐷 𝐺 𝑧
𝐺 𝑧
∇𝐵𝐶𝐸(𝐷)
𝑥
𝑥′
∇𝐵𝐶𝐸 𝐷 𝐺 𝑧
𝑧
Load
image
𝒰(0,1)
True
False
True
Fix
ℒK ℒL
1 iter
𝑥~𝑝KNON
8
Unsupervised Anomaly Detection
with GANs
9
Anomaly detection
Expect normal case
Anomaly detection
• 비정상적인 관측 데이터를 찾아내는 것
• 1 class classification (normal / abnormal)
문제점
• 솔루션 설계에서 비정상 데이터를 거의 고려하지 않거나
보통 비정상 데이터가 관측될 경우가 정상 집단에 비해 거의 없음
• 예를 들어, MRI T1 영상 기준으로 제작된 프로그램에 T2 영상을 입력하거나..
개인용 얼굴 분석기에 다른 사람의 얼굴이 입력된다거나..
10
Anomaly detection
정상 데이터만으로 비정상 데이터를 찾을 수 있을까?
model
training data
query data
encoded or decoded feature space에서 anomaly data는 outlier로 나타나지 않을까?
근데, 그 형태가 나타나는 feature space를 찾을 수 있나..?
è 정상 데이터만의 특징을 가지는(생성할 수 있는) 모델이 있으면 차이를 나타낼 수 있지 않을까?
11
Anomaly detection
정상 데이터만으로 비정상 데이터를 찾을 수 있을까?
model
‘1’ generator
‘1’ discriminator
‘1’ 이미지 데이터를 생성/판별 하는 모델로 ‘7’을 만들 수 있을까?
잘 학습된 모델이라면 7을 완벽하게 만들 수 없다.
만들어 내지 못하는 그 부분이 Anomaly area !!
query data
similar data
difference
12
AnoGAN
Step for anomaly detection
model
‘1’ generator
‘1’ discriminator
‘1’ GAN 학습
(G, D)
Fixed
G
Step 1. GAN 학습
𝑧
𝒰(0,1)
Fixed
D
query
𝓛
backprop
update Z
Step 2. 비정상 data, 영역 추론
G, D 고정하고 Loss 로 Z 를 변경
Z 는 G의 결과 ( ‘1’ ) 가
query 이미지 ( ‘7’ ) 와
비슷해 지도록 업데이트됨
13
AnoGAN
Anomaly score: loss function
Fixed
G𝑧
𝒰(0,1)
Fixed
D
query
𝓛
Residual loss
ℒR 𝑧S = T 𝑥 − 𝐺 𝑧S
ℒ- 𝑧S = T 𝐹(𝑥) − 𝐹 𝐺 𝑧S
𝐹(. ) : 𝐷’s intermediate layer output
Discriminator loss
+
𝑤X ∗ ℒ-
𝑤Z ∗ ℒR
𝑤Z = 0.9
𝑤X = 0.1
Anomaly
score
Loss 는 ℒR 과 ℒ- , 두 가지의 weighted sum으로 표현
ℒR 은 물리적 유사도, ℒ- 은 discriminator로 표현된 특징 공간에서의 유사도를 의미
14
AnoGAN
Experiments
𝑧
𝒰(0,1) 100 samples
generation
query data similar data difference
15
AnoGAN
Experiments ­ ‘1’ query image
query images predictions anomaly region
16
AnoGAN
Experiments ­ ‘2’ query image
query images predictions anomaly region
17
AnoGAN
Experiments ­ ‘3’ query image
query images predictions anomaly region
18
AnoGAN
Experiments ­ ‘4’ query image
query images predictions anomaly region
19
AnoGAN
Experiments ­ ‘5’ query image
query images predictions anomaly region
20
AnoGAN
Experiments ­ ‘6’ query image
query images predictions anomaly region
21
AnoGAN
Experiments ­ ‘7’ query image
query images predictions anomaly region
22
AnoGAN
Experiments ­ ‘8’ query image
query images predictions anomaly region
23
AnoGAN
Experiments ­ ‘9’ query image
query images predictions anomaly region
24
AnoGAN
Experiments ­ ‘0’ query image
query images predictions anomaly region
25
AnoGAN
Anomaly score ­ MNIST
0 1 2 3 4 5 6 7 8 9
class
score
26
AnoGAN
Experiments ­ discriminator inter-layer feature t-SNE
27
Discussion
• 완벽하지 않지만 어느 정도 query image에서 ‘1’인 부분을 찾아낸다.
• 𝑧~𝑝> 의 모든 z 가 ‘1’을 표현하는 것은 아니다.
[이건 아마 데이터 부족..?]
[z dimension을 100 à 50으로 낮추면 어떻게 될까?]
• 𝑧~𝑝> 에서 𝑧~𝑝> 와 같이 𝑧 의 분포를 변경하면 similar image가 변한다.
ex) 𝑧~𝒰(0,1) 에서 𝑧~𝒰(−∞, ∞) 로 변경했더니 MNIST의 경우 similar
가 query 를 기존보다 따라가는 경향을 보임 (당연한가..?)
[그럼 학습된 generator에서 z 분포를 변경하는 것만으로 학습하지 못한 이미지의 표현이 가능한가?]
• z 는 랜덤 값인데 비해 z 학습 과정에서 iteration 수가 상수이기 때문에
매번 다른 결과를 보인다.
[local minima는 존재하는가? iter 를 무한히 할 때 G(𝑧~𝑝>) 가 같은 결과로 수렴하는지?]
query images
predictions
anomaly region
REFERENCE
GAN : https://www.slideshare.net/ssuser77ee21/generative-adversarial-networks-
70896091
AnoGAN(paper) : https://arxiv.org/abs/1703.05921
AnoGAN(slide) : https://www.slideshare.net/ssuser06e0c5/anomaly-detection-with-gans
AnoGAN(code, keras) : https://github.com/yjucho1/anoGAN
AnoGAN(code, tf) : https://github.com/LeeDoYup/AnoGAN

More Related Content

What's hot

What's hot (20)

Tfk 6618 tensor_flow로얼굴인식구현_r10_mariocho
Tfk 6618 tensor_flow로얼굴인식구현_r10_mariochoTfk 6618 tensor_flow로얼굴인식구현_r10_mariocho
Tfk 6618 tensor_flow로얼굴인식구현_r10_mariocho
 
Flow based generative models
Flow based generative modelsFlow based generative models
Flow based generative models
 
A neural image caption generator
A neural image caption generatorA neural image caption generator
A neural image caption generator
 
Variational Auto Encoder, Generative Adversarial Model
Variational Auto Encoder, Generative Adversarial ModelVariational Auto Encoder, Generative Adversarial Model
Variational Auto Encoder, Generative Adversarial Model
 
Knowing when to look : Adaptive Attention via A Visual Sentinel for Image Cap...
Knowing when to look : Adaptive Attention via A Visual Sentinel for Image Cap...Knowing when to look : Adaptive Attention via A Visual Sentinel for Image Cap...
Knowing when to look : Adaptive Attention via A Visual Sentinel for Image Cap...
 
Image Deep Learning 실무적용
Image Deep Learning 실무적용Image Deep Learning 실무적용
Image Deep Learning 실무적용
 
3.neural networks
3.neural networks3.neural networks
3.neural networks
 
딥 러닝 자연어 처리 학습을 위한 PPT! (Deep Learning for Natural Language Processing)
딥 러닝 자연어 처리 학습을 위한 PPT! (Deep Learning for Natural Language Processing)딥 러닝 자연어 처리 학습을 위한 PPT! (Deep Learning for Natural Language Processing)
딥 러닝 자연어 처리 학습을 위한 PPT! (Deep Learning for Natural Language Processing)
 
코드와 실습으로 이해하는 인공지능
코드와 실습으로 이해하는 인공지능코드와 실습으로 이해하는 인공지능
코드와 실습으로 이해하는 인공지능
 
기계학습을 이용한 숫자인식기 제작
기계학습을 이용한 숫자인식기 제작기계학습을 이용한 숫자인식기 제작
기계학습을 이용한 숫자인식기 제작
 
밑바닥부터시작하는딥러닝 Ch05
밑바닥부터시작하는딥러닝 Ch05밑바닥부터시작하는딥러닝 Ch05
밑바닥부터시작하는딥러닝 Ch05
 
You Only Look Once: Unified, Real-Time Object Detection
You Only Look Once: Unified, Real-Time Object DetectionYou Only Look Once: Unified, Real-Time Object Detection
You Only Look Once: Unified, Real-Time Object Detection
 
R을 이용한 데이터 분석
R을 이용한 데이터 분석R을 이용한 데이터 분석
R을 이용한 데이터 분석
 
집단지성 프로그래밍 07-고급 분류 기법-커널 기법과 svm-01
집단지성 프로그래밍 07-고급 분류 기법-커널 기법과 svm-01집단지성 프로그래밍 07-고급 분류 기법-커널 기법과 svm-01
집단지성 프로그래밍 07-고급 분류 기법-커널 기법과 svm-01
 
Lecture 4: Neural Networks I
Lecture 4: Neural Networks ILecture 4: Neural Networks I
Lecture 4: Neural Networks I
 
딥러닝과 강화 학습으로 나보다 잘하는 쿠키런 AI 구현하기 DEVIEW 2016
딥러닝과 강화 학습으로 나보다 잘하는 쿠키런 AI 구현하기 DEVIEW 2016딥러닝과 강화 학습으로 나보다 잘하는 쿠키런 AI 구현하기 DEVIEW 2016
딥러닝과 강화 학습으로 나보다 잘하는 쿠키런 AI 구현하기 DEVIEW 2016
 
딥 러닝 자연어 처리를 학습을 위한 파워포인트. (Deep Learning for Natural Language Processing)
딥 러닝 자연어 처리를 학습을 위한 파워포인트. (Deep Learning for Natural Language Processing)딥 러닝 자연어 처리를 학습을 위한 파워포인트. (Deep Learning for Natural Language Processing)
딥 러닝 자연어 처리를 학습을 위한 파워포인트. (Deep Learning for Natural Language Processing)
 
MNIST for ML beginners
MNIST for ML beginnersMNIST for ML beginners
MNIST for ML beginners
 
Deep learning seminar_snu_161031
Deep learning seminar_snu_161031Deep learning seminar_snu_161031
Deep learning seminar_snu_161031
 
Auto-Encoders and Variational Auto-Encoders
Auto-Encoders and Variational Auto-EncodersAuto-Encoders and Variational Auto-Encoders
Auto-Encoders and Variational Auto-Encoders
 

Unsupervised anomaly detection with generative model