Ⅰ. 서론
이상 징후 검출은 정상 상태의 데이터와 비정상 상태의 데이터가 함께 존재하는 상황에서 비정상 상태의 데이터를 검출하는 방법이다. 비정상 상태의 데이터는 정상 상태의 데이터 범주에 벗어나는 제품 결함 같은 부적절한 데이터를 의미한다. 최근 산업 분야의 자동화의 발전에 따라 이상 징후 검출은 다양한 분야에서 활용되고 있다[1,2,3]. 산업 분야에서 이상 징후 검출은 육안 검사, 카메라 검사, 머신비전 카메라 검사, 센서 데이터 검사 등에 의해 다양하게 시행중이지만 다양한 문제점을 가지고 있다. 이 문제점들을 해결하기 위해 딥러닝 기반의 기술이 등장하여 이상 징후 검출 분야에서 높은 성능을 보여주고 있다.
딥러닝 기반의 이상 징후 검출은 사용하는 데이터에 따라 다양한 방법이 있다[4,5,6,7,8,9]. 먼저 지도 학습 기반으로 정상 상태의 데이터와 비정상 상태의 데이터가 모두 존재하는 상황에서 사용되는 방법이다. 이 방법은 다른 방법에 비해 높은 성능을 도달할 수 있지만, 일반적인 산업 현장에서는 비정상 상태의 데이터가 정상 상태의 데이터에 비해 현저히 낮은 비중을 차지하기 때문에 데이터 불균형 문제가 발생한다. 다른 방법은 비지도 학습 기반으로 모든 데이터가 정상 상태의 데이터라는 가정 하에 이상 징후 검출을 수행하는 방법이다. 이 방법은 다른 방법들에 비해 데이터 수집에 대한 문제를 해결할 수 있지만 정확도가 높지 않고 딥러닝 과정 중의 튜닝이 파라미터에 민감하여 학습이 불안정한 문제가 발생한다. 또 다른 방법인 준지도 학습 기반으로는 정상 상태의 데이터만 사용하여 이상 징후를 검출하는 방법이다. 비정상 상태의 데이터를 획득하기 어려운 문제를 해결하기 위한 방법으로 지도 학습 기반의 데이터 불균형 문제를 해결할 수 있다. 또한, 비지도 학습의 불안정한 상태와 낮은 성능을 해결할 수 있어 최근 활발하게 연구되고 있는 방법이다.
따라서 본 연구에서는 기존의 이상 징후 검출 문제를 해결하기 위해 준지도 학습 기반인 정상 샘플 이미지의 기하학적 변환 네트워크를 적용한다[10]. 제안하는 방법은정상 상태의 데이터를 72개의 기하학적 변환을 사용하여 딥러닝 학습을 진행하는 것이다. 딥러닝 학습은 데이터 특징을 추출하여 학습을 진행하는데 기하학적 변환을 사용하면 72개의 데이터 특징을 추출하여 딥러닝 학습의 성능을 높일 수 있다. 데이터를 72개의 기하학적 변환을 통해 특징을 학습하고, 한 개의 데이터가 72개의 기하학적 변환된 상태를 분류한다. 분류 모델 딥러닝 네트워크가 72개의 기하학적 변환을 높은 확률로 분류하면 정상상태의 데이터, 낮은 확률로 분류되면 비정상 상태의 데이터라고 판정하게 된다. 기존의 연구에 사용된 벤치마크 데이터를 사용하지 않고, 실제 산업 현장에 사용되는 데이터를 활용하여 본 연구의 방법을 일반화할 수 있다. 또한, 비정상 상태의 데이터를 일부 학습하는 방법인 특이치 노출을 추가하여 성능을 향상시킨다. 일부의 비정상 상태의 데이터를 같이 학습하여 특이치 특징을 노출시켜 이상 징후 검출에 대한 성능을 개선하는 방법이다. 다양한 모양의 자동차 부품과 오픈 데이터베이스인 MVTec 실험을 통해 본 연구에서 제안하는 방법에 대해 증명한다.
Ⅱ. 제안하는 방법
1. 기하학적 변환 모델
기하학적 변환 모델[11]은 입력 데이터를 다양한 기하학적 변환을 적용하여 데이터에 대한 특징을 딥러닝 학습하는 방법이다. 입력 데이터 셋 X에 대하여 M개의 하위공간으로 변환한다고 할 수 있다. 입력 데이터 x∈X 를 기하학적 변환을 적용하면 T(x,1)~T(x,M)으로 표현할 수 있다.
\(\left. \begin{array} { l } { P ( m ^ { \prime } | T ( x , m ) ) } \\ { = \frac { P ( T ( x , m ) \in X _ { m ^ { \prime } } ) P ( m ^ { \prime } ) } { \sum _ { \tilde { m } } P ( T ( x , m ) \in X _ { \tilde { m } } ) P ( \tilde { m } ) } } \\ { = \frac { P ( T ( x , m ) \in X _ { \tilde { m } } ) } { \sum _ { \tilde { m } } P ( T ( x , m ) \in X _ { \tilde { m } } ) } } \end{array} \right.\) (1)
식 (1)은 입력 데이터 x가 전체 기하학적 변환 M개를 정확하게 분류할 확률값을 나타낸다. 여기서 m은 기하학적 변환을 적용한 실제 라벨이고, m′은 기하학적 변환을 결정하는 예측 라벨이다. 따라서 식 (1)은 입력 데이터 x가 특정 기하학적 변환을 제대로 예측하는지 못하는지에 대한 확률이다. 확률로서 1의 값에 가까울수록 정확하게 분류한다는 의미이고, 0의 값에 가까울수록 정확하게 분류하지 못하는 것을 의미한다.
본 논문에서는 다양한 기하학적 변환 중 좌우반전 2가지, 이동(위, 중간, 아래) 및 이동(왼쪽, 중간, 오른쪽) 9가지, 회전(0˚, 90˚, 180˚, 270˚) 4가지로 총 72개의 기하학적 변환을 사용한다. 그림 1은 입력 데이터에 대한 기하학적 변환을 적용한 데이터를 보여준다.
그림 1. 기하학적 변환 데이터
Fig. 1. Geometric transformation data
2. 특이치 노출
기존 방법은 정상 상태의 데이터만 사용하여 딥러닝 학습을 진행하였는데, 특이치 노출[12]은 비정상 상태의 데이터 셋을 보조 데이터 셋으로 같이 학습하여 성능을 높이는 방법이다. 이 방법은 비정상 상태의 데이터를 보조 데이터 셋으로 같이 딥러닝 학습하게 되면 정상 상태의 데이터만 사용했을 경우보다 좀 더 이상 징후를 검출하는 일반화 성능을 높일 수 있다. 비정상 상태의 데이터의 종류는 무궁무진하기 때문에 일부분의 종류를 노출시켜 이상 징후 검출을 잘 할 수 있도록 도와준다.
그림 2. 전체 네트워크 구조
Fig. 2. Overall network structure
\(\left. \begin{array} { l } { E _ { ( x , y ) \sim D _ { \text { normal } } } [ L ( f ( x ) , y ) ] } \\ { \quad + \lambda E _ { x ^ { \prime } \sim D _ { \text { abnarmal } } } [ L _ { O E } ( f ( x ^ { \prime } ) , f ( x ) , y ) ] } \end{array} \right.\) (2)
식 (2) 기존 이상 징후 검출 방법에 특이치 노출을 추가한 목적함수이다. 식 (2)의 E(x,y)는 정상 상태의 입력데이터 x에 대하여 출력 라벨 y를 정확하게 분류하도록 하는 목적함수이고, Ex′는 비정상 상태의 입력 데이터 x′를 노출시키는 목적함수이다. 매개변수 λ는 비정상상태의 데이터가 정상 상태의 데이터를 훼손시키지 않기위해 실험적으로 수치를 결정한다.
3. 전체 모델
그림 2는 정상 상태의 데이터만 사용한 기하학적 변화 모델과 비정상 상태의 데이터를 보조 데이터 셋으로 같이 딥러닝 학습을 진행하는 특이치 노출을 결합한 네트워크 구조를 나타낸다. 그림 2의 정상 상태의 데이터 셋 부분은 입력 데이터를 72개의 기하학적 변환을 적용하여 분류기를 통해 딥러닝 학습하는 과정이고, 비정상 상태의 데이터 셋 부분은 입력 데이터를 72개의 기하학적 변환을 적용하여 분류기를 통해 딥러닝 학습하는 과정을 보여준다.
\(\left. \begin{array} { l } { \operatorname { min } E _ { ( x , y ) \sim D _ { \text { normal } } } [ - \operatorname { log } f _ { y } ( x ) ] } \\ { \quad + \lambda E _ { x ^ { \prime } \sim } D _ { \text { adnormal } } [ H ( U ; f ( x ^ { \prime } ) ) ] } \end{array} \right.\) (3)
식 (3)은 기하학적 변환 모델과 특이치 노출을 결합한 목적함수를 나타낸다. E(x,y)는 정상 상태의 데이터 x에 대한 손실함수로 cross-entropy loss[13]를 사용한다.
Ex′는 비정상 상태의 데이터 x′에 대한 손실함수이다. 여기서 H는 cross-entropy loss이고, 는 비정상 상태의 데이터가 기하학적 변환을 통해 나온 결과를 균일 분포로 만들어 정상 상태의 데이터에 영향을 끼치지 않도록 한다. 이 방법은 비정상 상태의 데이터가 모든 기하학적 변환을 예측하지 못하게 만들어 비정상 상태의 데이터로 판단하게 만들기 위함이다. 그림 2의 Wide-ResNet 분류기(WRN classifier)[14]는 일반적인 분류 모델에 사용되는 분류기로 다른 분류기에 비해 속도와 성능이 우수하여 본 논문에서 사용한다.
Ⅲ. 실험 및 결과
1. 실험 환경
실험에 사용된 데이터는 CIFAR-10, CIFAR-100, ImageNet[15, 16]같은 일반적인 벤치마크 데이터를 사용하지 않고 이상 징후 검출에 사용되는 데이터 셋으로 자체수집 데이터 셋과 MVTec 데이터 셋[17]을 사용한다. 일반적인 벤치마크 데이터는 단순히 실험의 성능을 위한 평가로 실제 산업에 적용하기 어려운 부분이 있다. 따라서 본 논문에서는 그림 3과 같이 실제 산업 현장에 사용되는 자동차 부품 데이터를 사용하여 실험으로 검증한다. 또한, 그림 4는 MVTec 데이터 셋의 일부를 보여준 다. 데이터셋의 일부분은 기하학적 변환 적용이 어려워 전체 데이터를 사용하지 않고 일부분만 사용한다. 자동차 부품 데이터는 160 × 160 × 3 픽셀 크기를 가지는 10종류의 데이터를 사용한다. 실험은 1종류를 정상 상태의 데이터로 설정하고, 나머지 종류의 데이터를 비정상상태의 데이터로 설정한다. 종류별로 900장의 데이터를 사용하고 식 (3)의 목적함수를 최적화하기 위해 Adam Optimizer[18]를 사용한다. 각 종류별로 28회 반복 학습을 진행하고, 전체 10종류에 대하여 실험한다.
그림 4. MVTec 데이터 셋으로 점선 위쪽은 실험에 사용한 데이터, 점선 아래쪽은 기하학적 변환 실험에 적합하지 않은 데이터
Fig. 4. In the MVTec dataset, the upper part of the dotted line is the data used in the experiment, and the lower part of the dotted line is the data not suitable for the geometric transformation experiment
그림 3. 자동차 부품 데이터
Fig. 3. Automobile parts data
2. 자동차 부품 데이터 실험 결과
자동차 부품 데이터 10종류에 대해 제안하는 네트워크에 학습을 진행한다. 실험 결과는 기존의 기하학적 변환을 사용한 방법과 특이치 노출을 추가한 방법을 비교 한다. 표 1은 특이치 노출의 파라미터 λ의 변화에 따른 정확도를 보여준다. λ값이 0인 경우 특이치 노출을 적용하지 않은 방법이다. 파라미터 λ와 데이터의 종류에 따라 다양한 정확도를 나타낸다. 파라미터 λ는 정상 상태의 데이터 학습에 비정상 상태의 데이터를 얼마나 노출시켰는지에 대한 비율을 나타낸다. 따라서 정상 상태의 데이터와 비정상 상태의 데이터의 유사성이 높으면 파라미터 λ가 낮을수록 높은 정확도를 나타내고, 유사성이 낮으면 파라미터 λ가 높을수록 높은 정확도를 나타낸다. 표 1의 결과가 대부분 특이치 노출 방법을 적용하였을 때 기존 방법보다 높은 정확도를 얻는 것을 알 수 있어, 본 논문에서 제안하는 방법이 이상 징후 검출에 대해 적합하다고 볼 수 있다.
표 1. 자동차 부품 데이터에 대한 정확도
Table 1. Accuracy for automobile parts data
표 2. MVTec 데이터에 대한 정확도
Table 2. Accuracy for MVTec data
3. MVTec 데이터 셋 실험 결과
이상 징후 검출의 오픈 벤치마크 데이터인 MVTec를 사용한다. 총 15종류의 데이터이지만 기하학적 변환에 적합한 8종류의 데이터만 사용한다. 그림 4의 점선 위쪽 데이터는 샘플 모양이 기하학적 변환에 영향을 끼쳐 딥러닝 학습에 사용할 수 있지만, 점선 아래쪽 데이터는 기하학적 변환을 적용하여도 딥러닝 학습으로 인한 특징을 추출하기 어려워 사용하지 않는다. 마찬가지로 기존의 기하학적 변환 방법과 특이치 노출을 추가한 방법을 비교한다. 표 2는 파라미터 λ의 변화에 따른 정확도를 나타낸다. 특정 파라미터 값이 높은 정확도를 도출한다고 하긴 어려우나, 특이치 노출을 추가한 방법이 기존 방법에 비해 높은 정확도를 도출한다. 따라서 본 논문에서 제안한 방법이 이상 징후 검출에 적합하다고 볼 수 있다.
4. 비정상 상태의 데이터 유사도에 대한 비교
특이치 노출 방법에 사용되는 비정상 상태의 데이터의 유사도가 미치는 영향에 대한 실험이다. 같은 종류의 데이터 셋을 비정상 상태의 데이터로 적용하는 것이 아닌 다른 데이터 셋을 적용하여 성능을 비교한다. 표 3은 정상 상태의 데이터를 자동차 부품 데이터로 지정하고, 특이치 노출에 사용되는 데이터를 달리 적용한 결과이다. 첫 번째 방법은 특이치 노출에 사용하는 비정상 상태의 데이터를 비슷한 종류인 자동차 부품 데이터를 사용하여 실험하였다. 두 번째 방법은 특이치 노출에 사용되는 비정상 상태의 데이터는 전혀 다른 데이터 종류인 MVTec 데이터 셋을 사용하여 실험하였다. 표 3의 정확도를 보면 두 번째 방법보다 첫 번째 방법의 실험이 더 높은 정확도를 나타내고 있다. 이는 정상 상태의 데이터와 비정상 상태의 데이터가 유사성이 높은 수록 더 좋은 성능을 도출하는 것을 알 수 있다.
표 3. 비정상 데이터에 따른 비교(자동차 부품 데이터와 MVTec 데이터)
Table 3. Comparison by anomaly data (auto-mobile parts data and MVTec data)
Ⅳ. 결론
본 논문은 기하학적 변환과 특이치 노출을 결합하여 이상 징후 검출에 대한 방법을 제안한다. 기존의 방법에 성능 개선을 위한 방법을 추가하여 이를 실험적으로 증명하였다. 기하학적 변환 방법은 데이터의 기하학적 유형에 따라 성능이 차이가 나지만 대부분 높은 성능을 도출하였다. 특이치 노출의 추가로 비정상 상태의 데이터를 일부 드러냄으로써 방대한 종류의 이상 징후를 검출하는데 도움을 주는 것을 실험으로 증명하였다. 또한, 벤치마크 데이터 셋을 사용한 기존 방법들과 달리 실제 산업 현장에서 사용되는 데이터 및 이상치 오픈 데이터베이스 MVTec 데이터 셋을 사용하여 최근 빠르게 확산되고 있는 산업현장의 자동화 공정에 적용될 수 있음을 보였다.
참고문헌
- V. Chandola, A. Banerjee, and V. Kumar, "Anomaly detection: A survey," ACM Computing Surveys (CSUR), vol. 41, no. 3, pp. 1-58, 2009. DOI:https://doi.org/10.1145/1541880.1541882.
- W. Choi, "Multi-MEMS-Sensor Based Machinery Fault Diagnosis System of Mechanical Device," The Journal of Korean Institute of Information Technology, vol. 18, no. 6, pp/ 17-23, 2020 DOI:https://doi.org/10.14801/jkiit.2020.18.6.17.
- N. Choi, J. Oh, J. Ahn, and K. Kim, "A Development of Defeat Prediction Model Using Machine Learning in Polyurethane Foaming Process for Automotive Seat," Journal of the Korea Academia-Industrial Cooperation Society, vol. 22, no. 6, pp. 36-42, 2021. DOI:https://doi.org/10.5762/KAIS.2021.22.6.36.
- R. Chalapathy, A. K. Menon, and S. Chawla, "Anomaly detection using one-class neural networks," arXiv Preprint arXiv:1802.06360, 2018. DOI:https://doi.org/10.48550/arXiv.1802.06360.
- H. Ringberg, A. Soule, J. Rexford, and C. Diot, "Sensitivity of PCA for traffic anomaly detection," pp. 109-120, 2007. DOI:https://doi.org/10.1145/1269899.1254895.
- L. Ruff, R. Vandermeulen, N. Goernitz, L. Deecke, S. A. Siddiqui, A. Binder, E. Muller, and M. Kloft, "Deep one-class classification," pp. 4393-4402, 2018.
- L. Ruff, R. A. Vandermeulen, N. Gornitz, A. Binder, E. Muller, K. Muller, and M. Kloft, "Deep semi-supervised anomaly detection," arXiv Preprint arXiv:1906.02694, 2019. DOI:https://doi.org/10.48550/arXiv.1906.02694.
- T. Seo, M. Kang, and D. Kang, "Anomaly Detection of Generative Adversarial Networks considering Quality and Distortion of Images," The Journal of the Institute of Internet, Broadcasting and Communication, vol. 20, no. 3, pp. 171-179, 2020. DOI:https://doi.org/10.7236/JIIBC.2020.20.3.171.
- S. Akcay, A. Atapour-Abarghouei, and T. P. Breckon, "Ganomaly: Semi-supervised anomaly detection via adversarial training," pp. 622-637, 2018. DOI:https://doi.org/10.1007/978-3-030-20893-6_39.
- Y. Kwon, D. Kang, "Anomaly Detecting Geometric Transformation Network with Outlier Exposure for Defect Inspection of Real Industrial Data," International Journal of Precision Engineering and Manufacturing, submitted, 2022
- I. Golan and R. El-Yaniv, "Deep anomaly detection using geometric transformations," arXiv Preprint arXiv:1805.10917, 2018.
- D. Hendrycks, M. Mazeika, and T. Dietterich, "Deep anomaly detection with outlier exposure," arXiv Preprint arXiv:1812.04606, 2018. DOI:https://doi.org/10.48550/arXiv.1812.04606.
- R. Y. Rubinstein and D. P. Kroese, The cross-entropy method: a unified approach to combinatorial optimization, Monte-Carlo simulation and machine learning, Springer Science & Business Media, 2013. DOI:https://doi.org/10.1108/03684920510595562.
- S. Zagoruyko and N. Komodakis, "Wide residual networks," arXiv Preprint arXiv:1605.07146, 2016. DOI:https://doi.org/10.5244/c.30.87.
- A. Krizhevsky and G. Hinton, "Learning multiple layers of features from tiny images,", 2009.
- J. Deng, W. Dong, R. Socher, L. Li, K. Li, and L. Fei-Fei, "Imagenet: A large-scale hierarchical image database," pp. 248-255, 2009. DOI:https://doi.org/10.1109/cvpr.2009.5206848.
- P. Bergmann, M. Fauser, D. Sattlegger, and C. Steger, "MVTec AD-A comprehensive real-world dataset for unsupervised anomaly detection," pp. 9592-9600, 2019. DOI:https://doi.org/10.1109/cvpr.2019.00982.
- D. P. Kingma and J. Ba, "Adam: A method for stochastic optimization," arXiv Preprint arXiv:1412.6980, 2014. DOI:https://doi.org/10.48550/arXiv.1412.6980.