최효민
(Hyomin Choi)
1iD
서기성
(Kisung Seo)
†iD
-
(Department of Electronics and Computer Engineering, Seokyeong University, Korea.)
Copyright © The Korean Institute of Electrical Engineers(KIEE)
Key words
Deep learning, Anomaly Detection, Reconstruction error, GAN, Fashion-MNIST, Surface Defects
1. 서 론
이상감지는 정상 상태와 구분되는 예외적인 비정상 상태를 판별하는 방식으로 제품의 결함이나 위험 상황을 검출하는데 응용된다. 이상감지는 크게 비지도
이상감지(Unsupervised Ano- maly Detection)(1-4)와 지도 이상감지(Supervised Anomaly Detec- tion)(5,6)로 구분된다. 보통 이상 데이터는 정상 데이터에 비해 적기 때문에 학습 시 정상 데이터만을 사용하는 비지도 이상감지 기법들이 주를 이루고 있다(1-4). 이와 달리 지도 이상감지는 학습 시 정상 데이터와 이상 데이터를 모두 사용한다. 이 경우 데이터 라벨링 비용이 소모되지만, 비지도 이상감지에 비해
우수한 성능을 얻을 수 있다. 최근에는 딥러닝의 발전으로 인해 오토인코더(Autoencoder)(7)와 적대적 생성 네트워크인 GAN(Generative Adversarial Net- work)(8) 방식의 적용이 대부분을 차지하고 있다(1-6).
본 논문에서는 지도 이상감지를 다룬다. 사전 연구를 통해 Skip-GANomaly(3), ABC(5), PatchGAN(12) 등 최신의 오토인코더와 GAN 방식을 혼합하여 변형된 지도 이상감지 연구를 수행하였고 우수한 성능을 얻었다(9). 그런데 정상 데이터의 경우 흐린(블러, blur) 이미지가 생성되며, 정상과 이상에 대한 재구성 오차의 분포가 상당히 겹쳐서 둘 사이의 구분을
위한 임계값 설정에 어려움을 겪는 현상이 발생하였다.
이러한 문제점을 해결하기 위해서, 정상 데이터의 재구성 오차를 작게 하고, 이상 데이터의 재구성 오차와 거리가 멀어지도록 사전 연구(9)의 학습 구조를 개선하였다. 제안된 기법을 Fashion-MNIST(10)와 금속표면 결함(9) 데이터에 대해서 실험을 수행하여 개선된 성능을 얻었다. 또한 정상 데이터와 함께 사용한 이상 데이터의 비율을 조정하면서 영향을 관찰하였고, 이상
데이터의 비율을 1\%로 최소화하여도 이상감지 성능이 유지됨을 확인하였다.
2. 관련 연구
2.1 적대적 생성 네트워크(GAN)와 Skip-GANomaly
비지도 학습방법 중 하나인 적대적 생성 네트워크는 생성기(Generator)와 판별기(Discriminator)로 이루어져 있으며, 생성기는 진짜
데이터의 분포와 유사한 가짜 데이터를 생성하도록, 판별기는 이 둘을 구분하도록 경쟁하며 학습한다(8).
비지도 이상감지 방법 중의 하나인 Skip-GANomaly(3)는 GAN의 생성기로 U-net(11)을 이용하여 정상 데이터의 분포를 학습한다. U-net은 오토인코더 구조에 스킵-연결(Skip-connection)을 추가한 네트워크로, 병목 구간에서
손실될 수 있는 정보를 줄여준다. 테스트 시 생성기와 판별기를 이용하여 이상 클래스를 감지한다.
2.2 ABC 및 PatchGAN
지도 이상감지 기법 중 하나인 ABC(5)는 LRC(6)에서 정상과 이상 클래스의 손실함수의 크기가 다른 것을 개선하여 학습을 안정화 시켰다. 정상 클래스의 재구성 오차는 작아지도록, 이상 클래스의 재구성
오차는 커지도록 학습을 한다. 테스트 시 사전에 설정한 임계값을 이용하여 이상 클래스를 감지한다. PatchGAN(12)은 이미지 변환에서 블러 현상을 개선하기 위해 제안된 판별기이다. 기존의 판별기는 입력 데이터 전체에 대해서 진짜와 가짜 여부를 구분하지만, PatchGAN은
입력 데이터의 일부에 대해서 진위 여부를 구분한다. 기존의 판별기의 출력은 스칼라 값이지만, PatchGAN의 출력은 NxN 행렬이다.
상기의 연구들은 각자의 장점이 있으나, 이상 데이터의 적용이 안 되거나, 구조상의 단점이 일부 존재하여 이 기법들의 선택적 조합을 통해 오토인코더와
GAN 방식을 혼합하여 변형된 지도 이상감지 기법을 제안한다. 특히, 정상 데이터의 경우 흐린(블러, blur) 이미지가 생성되며, 정상과 이상에
대한 재구성 오차의 분포가 상당히 겹쳐서 둘 사이의 구분을 위한 임계값 설정에 어려움을 해결하는데 주안점을 둔다.
그림. 1. 이상감지 기법의 구조
Fig. 1. Architecture of Anomaly Detection
3. GAN기반의 지도 이상감지
3.1 제안된 네트워크
지도 이상감지 중 하나인 ABC는 정상 클래스에 대해 재구성 오차만을 손실함수로 사용한다. 이로 인해 블러 이미지가 생성 되며(12), 표준 편차가 큰 재구성 오차 분포를 가지게 되어 설정할 수 있는 임계값의 범위가 축소된다. 이러한 문제점들을 보완하기 위해서 Skip-GANomaly
방식과 PatchGAN 방식을 결합하고 이상 데이터를 학습에 반영할 수 있도록 ABC 손실함수를 추가하여, 이상감지를 위한 GAN 기반의 통합 구조를
제안한다. 이를 통해 정상과 이상 데이터의 병행 사용이 가능하고, 재구성 오차의 분포의 차이를 높여서 성능 향상을 가능하게 한다.
그림 1에 제안된 GAN 기반의 구조도가 나와 있으며, 생성기는 U-net 방식의 4개의 컨볼루션 층과 4개의 디컨볼루션 층 및 3개의 스킵-연결로 구성된다.
PatchGAN 방식의 판별기는 5개의 컨볼루션 층으로 이루어지며, 판별기와 생성기는 각각 1개씩 사용되며, 정상 데이터의 분포를 학습하도록 한다.
3.2 손실 함수
손실 함수는 정상 클래스에 대해서 4개, 이상 클래스 1개로 총 5개이다. 정상 클래스의 손실함수는 L1 loss, Latent vector loss(2), adversarial loss(G), adversarial loss(D)(8)이고, 이상 클래스의 손실함수는 ABC loss(5)이다. 각각의 손실 함수는 식(1)~(5)에 표시되어있다. 수식에서 생성기의 입력 x와 출력 x', 진짜 데이터와 가짜 데이터의 잠재변수 z와 z', 판별기 D를 의미하는 변수들이 사용된다.
식(1)의 L1 loss는 생성기의 입력과 출력의 차이를 최소화 한다. 식(2)의 Latent vector loss는 생성기 입력과 출력의 잠재변수의 차이를 최소화 한다. 식(3)의 adversarial loss(G)는 판별기를 속여 생성기가 진짜 데이터와 유사한 가짜 데이터를 생성하도록 한다. 식(4)의 adversarial loss(D)는 판별기가 진짜 데이터와 가짜 데이터를 진짜와 가짜로 구분하도록 한다. 마지막으로 식(5)의 ABC loss는 생성기의 입력과 출력의 차이를 최대화 한다.
3.3 학습 단계
학습 과정에서 입력이 정상 데이터인 경우는 식(4)를 사용하여 판별기를 학습 후, 식(1)~(3)을 결합하여 생성기를 학습시킨다. 이와 달리 입력이 이상 데이터인 경우, 식(5)를 사용하여 생성기만을 학습시킨다. 학습과 평가에 사용되는 네트워크 전체 구조가 그림 1에 나와 있다. 학습에는 전체 네트워크가 사용되고 평가에는 좌하단의 부분만 사용된다. 각 손실함수가 점선 화살표로 표시되어 있다.
3.4 테스트 단계
테스트 단계에서는 생성기와 재구성 오차만을 이용하여 성능 평가를 한다. 그림 2는 이상적인 경우에 커널 밀도 추정을 이용하여 얻은 정상 데이터와 이상 데이터의 재구성 오차에 대한 각각의 확률밀도함수 그래프를 나타낸다. 정상 데이터의
분포와 이상 데이터의 분포가 멀리 떨어져 있으면 더 넓은 범위의 임계값으로 이상감지를 명확하게 할 수 있다. 또한 정상 데이터의 재구성 오차의 평균과
표준 편차가 작으면, 해당 확률 밀도함수의 중심이 원점에 가깝고 좁게 분포된다.
그림. 2. 이상적인 확률밀도함수 그래프
Fig. 2. Ideal probability density function graph
4. 실험 및 결과 분석
4.1 실험 준비
제안된 기법을 Fashion-MNIST(10)와 금속 표면 결함 데이터(9)에 대해서 적용한다. Fashion-MNIST는 드레스, 코트, 가방 등 10개 클래스로 구성된 28x28의 회색조 이미지 데이터이며 60,000개의
학습 데이터, 10,000개의 테스트 데이터로 구성된다. 본 논문에서는 이상감지를 위해 티셔츠, 풀오버, 드레스, 코트, 셔츠는 정상 클래스로, 나머지
5개 클래스는 이상 클래스로 분류하였으며, 32x32로 크기를 조절하여 실험을 진행하였다. 실험에 사용된 Fashion-MNIST 데이터 수는 표 1에 나와 있다.
금속 표면 결함 데이터는 128x128 크기의 회색조 이미지로 표면에 스크래치, 찍힘, 얼룩과 같은 결함이 존재하는데, 표면이 매끈하지 않고 빛의
반사로 인해 결함의 식별이 어렵다. 10,000여개의 학습 데이터와 3200개의 학습 및 검증 데이터를 사용한다. 결함이 없는 데이터를 정상 클래스,
결함이 있는 데이터를 이상 클래스로 분류하였다. 실제 산업 현장에서는 정상 데이터에 비해 이상 데이터의 수는 매우 드물다. 따라서 이상 데이터가 거의
없는 경우에도 성능이 유지 되는 것을 보이기 위해 전체 학습 데이터 중 이상 데이터의 비율을 15\% ~ 1\%로 조절하여 실험을 진행하였다. 실험에
사용된 금속 표면 결함 데이터 수는 표 2에 나와 있다.
표 1. Fashion-MNIST 데이터 수
Table 1. Number of data for Fashion-MNIST
Class
|
number of training data
|
number of validation data
|
number of
test data
|
Normal
|
25,000
|
5,000
|
5,000
|
Anomaly
|
25,000
|
5,000
|
5,000
|
표 2. 금속 표면 결함 데이터 수
Table 2. Number of data for metal surface defects
Class
|
Ratio of anomaly data
|
number of training data
|
number of validation data
|
number of test data
|
Normal
|
-
|
7,972
|
2,000
|
2,000
|
Anomaly
|
15%
|
1,493
|
300
|
300
|
Anomaly
|
10%
|
885
|
300
|
300
|
Anomaly
|
5%
|
420
|
300
|
300
|
Anomaly
|
1%
|
80
|
300
|
300
|
|
|
10,850
|
3,200
|
|
실험은 GTX-1080Ti GPU 1대에서 수행되었으며 파이토치(Pytorch Framework)를 사용하여 구현하였다. 학습 파라미터는 batch
size 1, kernel size 4, epoch 200, learning rate 0.0001, decay epoch 50을 사용하였다.
이상감지의 성능 지표는 혼동 행렬(Confusion matrix)에서 얻은 FPR(False Positive Rate)과 TPR(True Positive
Rate)를 좌표로 얻은 곡선의 면적인 AUROC(13)와 정상과 이상 클래스의 재구성 오차에 대해 커널 밀도 추정을 이용하여 얻은 확률밀도함수를 사용한다. 제안된 기법이 지도 이상감지이기 때문에, 같은
방식의 최신 연구인 ABC(5)와 성능 비교를 수행하였다.
4.2 Fashion-MNIST 실험
Fashion-MNIST에 대한 AUROC 성능과 정상 데이터에 대한 재구성 오차의 평균과 표준편차가 표 3에 나와 있다. 제안 기법이 비교 대상인 ABC와 비교할 때 AUROC 수치는 0.99로 동일 하지만, 재구성 오차의 평균과 표준편차가 대폭 낮은
것을 알 수 있다. 부가적으로 그림 3에 나온 재구성 오차의 확률밀도함수 그래프를 보면, ABC의 정상 데이터의 분포는 중심이 0.5부근에 가깝고 넓게 분포되어있는 반면, 제안 기법의
정상 데이터 분포는 원점에 가깝고 좁게 분포되어있다. 여기서 x축은 재구성 오차를 의미한다. 입출력 이미지에 대한 예시가 그림 4에 나와 있다. 정상 데이터의 경우, 제안 기법이 ABC의 블러 이미지에 비해 입력과 더 유사한 출력을 생성한다. 이상 데이터의 경우, ABC와 제안
기법 모두 입력과 반전된 출력을 생성하지만, 제안기법의 반전된 형태가 조금 더 유사함을 알 수 있다. 다시 말해, 이상 데이터에 대해서는 각 픽셀에
대한 0과 1의 차이가 최대로 될수록 반전의 형태가 유사하다.
그림. 3. Fashion-MNIST 확률밀도함수 그래프(a: ABC, b: Ours)
Fig. 3. Probability density function graph of Fashion-MNIST
표 3. Fashion-MNIST의 실험 결과
Table 3. Experimental results for Fashion-MNIST
Method
|
AUROC
|
Average of reconstruction error for normal data
|
S.D. of reconstruction error for normal data
|
ABC(5)
|
0.99
|
0.56
|
0.25
|
Ours
|
0.99
|
0.19
|
0.08
|
그림. 4. Fashion-MNIST의 입력과 출력
Fig. 4. Input and Output of Fashion-MNIST
4.3 금속표면 결함 실험
금속표면 결함에 대한 AUROC 성능과 정상 데이터에 대한 재구성 오차의 평균과 표준편차가 표 4에 나와 있다. 제안 기법이 ABC와 비교해서 매우 높은 수치인 0.98을 나타내며, 재구성 오차의 평균과 표준편차도 Fashion-MNIST의 경우보다도
더욱 차이가 나는 것을 알 수 있다. 부가적으로 그림 5에 나온 재구성 오차의 확률밀도함수 그래프도 재구성 오차에 대한 제안 기법의 우수성을 입증한다.
그림 6에 나온 입출력 이미지에 대한 예시에서도 제안 기법이 ABC의 블러 이미지에 비해 정상 데이터의 입력과 더 유사한 출력을 생성한다. 이상 데이터에
대해서도, 제안기법의 반전된 형태가 조금 더 유사함을 알 수 있다.
표 4. 금속 표면 결함의 실험 결과
Table 4. Experimental results for metal surface defects
Method
|
AUROC
|
Average of reconstruction error for normal data
|
S.D. of reconstruction error for normal data
|
ABC(5)
|
0.79
|
0.57
|
0.24
|
Ours
|
0.98
|
0.01
|
0.06
|
그림. 5. 금속 표면 결함 확률밀도함수 그래프(a: ABC, b: Ours)
Fig. 5. Probility density function graph of metal surface defects
그림. 6. 금속표면 결함의 입력과 출력
Fig. 6. Input and Output of metal surface defects
표 4는 정상에 대한 이상 데이터 비율이 15\%인 경우의 결과를 나타내는데, 이상 데이터 비율을 1\%까지 단계적으로 줄이면서 추가적으로 실험한 결과가
표 5에 나와 있다. 모든 비율에 대해서 제안 기법의 AUROC 값이 ABC에 비해 성능이 우수하며, 이상 데이터의 비율이 1\%까지 줄어도 성능이 높게
유지되는 것을 알 수 있다.
표 5. 이상 데이터 비율 변화에 따른 금속표면 결함의 AUROC
Table 5. AUROC of metal surface defects according to change of ratio for anomaly data
Ratio of anomaly data
|
ABC(5)
|
Ours
|
15%
|
0.79
|
0.98
|
10%
|
0.75
|
0.97
|
5%
|
0.77
|
0.97
|
1%
|
0.73
|
0.96
|
이상의 실험에서 정상과 이상 데이터의 병행 사용을 가능하게 하는 GAN 구조가 성능 향상에 영향을 미친 것으로 판단된다. 또한, 정상과 이상 데이터에
대한 재구성 오차의 분포 차이를 크게 하는 손실함수의 조합과 적대적 학습이
그림 4와 6에서 예시로 보인 것처럼, 정상과 이상 데이터의 대한 이미지 상의 출력에서도 개선된 결과를 보여주고 있다.
5. 결 론
본 논문에서 딥러닝 지도 이상감지 기법인 ABC의 성능과 정상 데이터 출력 시의 블러 현상을 개선하기 위해, 관련 최신 기법을 혼합한 적대적 생성
네트워크를 제안하였다. Fashion- MNIST 데이터와 금속표면 결함 데이터에 대해 실험을 수행하여 블러 현상을 개선하였으며, 정상 데이터에 대해
재구성 오차의 평균과 표준편차의 감소된 결과를 얻었다. 금속 표면 결함에 대해서도 우수한 AUROC 성능과 낮은 재구성 오차 값을 얻었으며, 전체
학습 데이터 중 이상 데이터의 비율을 단계별로 낮추어 도 성능이 우수하게 유지되는 것을 보였다. 향후, 다양한 데이터에 대한 적용과 제안 기법의 네트워크
구조에 대한 개선이 필요하다.
References
P. Perera, R. Nallapati, B. Xiang, , Ocgan: One-class novelty detection using gans
with constrained latent representations, Proceedings of the IEEE Conference on Com-
puter Vision and Pattern Recognition. 2019.
S. Akcay, A. Atapour-Abarghouei, T. P. Breckon, 2018, Ganomaly: Semi-supervised anomaly
detection via adversarial training, Asian conference on computer vision. Springer,
Cham
S. Akçay, A. Atapour-Abarghouei, T. P. Breckon, 2019, Skip-ganomaly: Skip connected
and adversarially trained encoder-decoder anomaly detection, 2019 International Joint
Conference on Neural Networks (IJCNN). IEEE
T. Schlegl, P. Seebock, S. M. Waldstein, U. Schmidt-Erfurth, G. Langs, 2017, Unsupervised
anomaly detection with generative adversarial networks to guide marker discovery,
International conference on information processing in medical imaging. Springer, Cham
Y. Yamanaka, T. Iwata, H. Takahashi, M. Yamada, S. Kanai, 2019, Autoencoding binary
classifiers for supervised anomaly detection, Pacific Rim International Conference
on Artificial Intelligence. Springer, Cham, Vol. , No. , pp. -
A. Munawar, P. Vinayavekhin, G. D. Magistris, 2017, Limiting the reconstruction capability
of generative neural network using negative learning, 2017 IEEE 27th International
Workshop on Machine Learning for Signal Processing (MLSP). IEEE
G. E. Hinton, R. R. Salakhutdinov, 2006, Reducing the dimensionality of data with
neural networks, science 313.5786, pp. 504-507
I. Goodfellow, J. Pouget-Abadie, M. Mirza, B. Xu, D. Warde-Farley, S. Ozair, A. Courville
and Y. Bengio, 2014, Generative adversarial nets, Advances in neural information processing
systems.
J. Kim, K. Jeong, H. Choi, K. Seo, GAN-based Anomaly Detection in Imbalance Problems,
ECCV 2020 Workshop on Imbalance Problems in Computer Vision (IPCV).
H. Xiao, K. Rasul, R. Vollgraf, Fashion-mnist: A novel image dataset for benchmarking
machine learning algorithms, arXiv 2017, arXiv preprint arXiv:1708.07747
O. Ronneberger, P. Fischer, T. Brox, 2015, U-net: Convolutional networks for biomedical
image segmentation, International Conference on Medical image computing and computer-assisted
intervention. Springer
P. Isola, J. Zhu, T. Zhou, A. A. Efros, 2017, Image-to-image translation with conditional
adversarial networks, Proceedings of the IEEE conference on computer vision and pattern
recognition
C. X. Ling, J. Huang, H. Zhang, 2003, AUC: a statistically consistent and more discriminating
measure than accuracy, Ijcai., Vol. 3
저자소개
He received B.S. degrees from Electronics Engineering from Seokyong University, Seoul,
Korea, in 2021.
He is currently pursuing his MS degree in Electronics and Computer Engineering at
Seokyong University, His research interests include deep learning, computer vision,
and anomaly detection.
He received the BS, MS, and Ph.D degrees in Electrical Engineering from Yonsei University,
Seoul, Korea, in 1986, 1988, and 1993 respec- tively.
He joined Genetic Algorithms Research and Applications Group (GARAGe), Michigan State
University from 1999 to 2002 as a Re- search Associate.
He was also appointed Visiting Assistant Professor in Electrical & Computer Engineering,
Michigan State University from 2002 to 2003.
He was a Visiting Scholar at BEACON (Bio/computational Evolution in Action CONsortium)
Center, Michigan State University from 2011 to 2012.
He is currently Professor of Electronics Engineering, Seokyeong University.
His research interests include deep learning, evolutionary computation, computer vision,
and intelligent robotics.