Journal of the Korean Institute of Industrial Engineers
[ Article ]
Journal of the Korean Institute of Industrial Engineers - Vol. 49, No. 2, pp.157-166
ISSN: 1225-0988 (Print) 2234-6457 (Online)
Print publication date 15 Apr 2023
Received 24 Nov 2022 Revised 21 Feb 2023 Accepted 27 Feb 2023
DOI: https://doi.org/10.7232/JKIIE.2023.49.2.157

자기지도학습을 활용한 카메라 해상력 검사 공정 불량 예측

고병은 ; 김성범
고려대학교 산업경영공학과
Defect Prediction of Camera Resolution Inspection Process Using Self-Supervised Learning
Byeongeun Ko ; Seoung Bum Kim
Department of Industrial and Management Engineering, Korea University

Correspondence to: 김성범 교수, 02841, 서울특별시 성북구 안암로 145 고려대학교 산업경영공학부, Tel : 02-3290-3397, Fax : 02-929-5888, E-mail : sbkim1@korea.ac.kr

© 2023 KIIE

Abstract

Demand for camera modules is rapidly increasing due to the development of smart phones and vision recognition technology. The importance of the camera module inspection process is also rising. Because the camera is a highly intensive optical device, it generates a lot of noises and causes many false positives, making lower reliability of the inspection result. Therefore, it is necessary to detect and take action early to avoid false positives in the inspection process. In addition, the inspection process data are hard to analyze because they are censored. In this study, we propose a self-supervised learning method based on subset structure and mask estimator that can effectively accommodate the inspection process data. We demonstrate the effectiveness and usefulness of the proposed method by using actual camera resolution inspection process data and MNIST data.

Keywords:

Camera Resolution Inspection, Censored Data, Deep Learning, Manufacturing, Self-Supervised Learning

1. 서 론

모바일 기기가 빠르게 확산됨에 따라 카메라 모듈의 중요성 또한 동시에 증가하고 있다(Seo et al., 2007). 뿐만 아니라 비전인식 기술의 발달로 모바일 제품 외에도 다양한 제품에 카메라가 장착되고 있어 그 수요가 폭발적으로 늘어나고 있으며 이에 따라 카메라 해상력 불량 여부를 검사하는 공정의 중요성 또한 높아지고 있다(Lee, 2018). 카메라는 고도로 집약된 광학장비 이므로 검사 설비에 의하여 자동으로 검사가 이루어지고 있으며 모듈 고도화에 따라 검사 공정의 소요 시간과 검사 횟수가 비약적으로 증가하고 있다. 하지만 광학장비의 특성상 노이즈가 많이 발생하여 검사 결과의 신뢰성을 낮추는 원인이 된다. 현장에서는 이러한 노이즈에 대응하기 위하여 일반적인 기준보다 보수적인 설정 값으로 검사를 진행하고 있는 실정이다. 이러한 프로세스는 다량의 가성 불량(실제 카메라 모듈은 정상이나, 설비가 불량으로 판정한 것, false positive)을 만들게 되고 이를 다시 판정하기 위해 반복적인 검사가 이루어지고 있다. 이와 같은 지속적인 재검사가 이루어지면 병목현상이 발생하여 타 공정에도 영향을 미치므로 큰 비효율이 발생한다고 할 수 있다. 현재 대두되고 있는 스마트 팩토리로 나아가기 위해서는 효율적인 공정을 운영하는 것이 필수적이고 최소한의 자원 투입으로 최대의 생산량을 달성하는 것이 그 무엇보다 중요하다(Park, 2021). 따라서 검사 과정에서 수 없이 발생하는 가성 불량 중 진성 불량을 판정할 수 있는 모델을 개발하여 공정 효율성을 높이는 것이 반드시 필요하다. 진성 불량 판정 모델을 개발한다면 불필요한 재검사를 생략하고 불량이 예상되는 모듈을 즉시 수리 할 수 있어 <Figure 1>의 음영으로 표시된 부분(repeated inspection)을 생략할 수 있다. 이는 불필요한 설비의 가동과 카메라 모듈의 공정 리드타임(lead time)을 감소시킬 수 있으므로 공정 효율성이 향상 될 것으로 예상할 수 있다. 뿐만 아니라 검사 결과는 최소 수백 개 이상으로 이루어져 있으나 검사 설비는 이중 일부만을 단순한 규칙에 의하여 판정에 활용하고 있다. 따라서 설비에서 활용되지 않는 정보를 종합적으로 사용하여 숨겨진 정보를 찾아내는 것이 중요하며 이는 더 나아가 설비 판정 규칙의 개선으로도 이어질 수 있다.

Figure 1.

Diagram of Repeated Camera Resolution Inspection Process. Camera modules initially judged as defect(Fail) are examined repeatedly to obtain final results(Pass or Repair)

제조 공정 데이터를 활용하여 제품의 불량을 예측하는 연구는 산업 현장에서 가장 주목 받는 분야 중 하나이며 머신러닝, 딥러닝 방법론을 통해 불량을 예측하는 다양한 시도들이 활발하게 이루어지고 있다(Yang et al., 2020). 특히 설비나 부품 등의 고장이 발생하기 전에 이상을 탐지하고 예방하는 문제들이 많이 다루어지고 있으며 순환 신경망(recurrent neural network, RNN), 오토인코더(autoencoder, AE), 합성곱 신경망(convolution neural networks, CNN) 등 다양한 방법론이 사용되고 있다(Chalapathy et al., 2019). 이러한 방법들은 단순한 이상탐지 혹은 분류 문제에 효과적으로 작동할 수 있으나, 본 연구에 적용하기에는 다음과 같은 3가지의 문제점이 있다. 첫 번째로, 반복적인 재검사가 진행되는 공정 특성상 레이블을 얻기까지 많은 시간과 공수를 필요로 한다. 재검사 프로세스가 모두 종료된 후에는 해당 모듈의 결과를 쉽게 얻을 수 있지만 공정 셋업 초기 단계에서 가성불량이 다수 발생하므로 레이블된 데이터가 부족한 상황에서 짧은 시간에 모델을 개발하고 적용해야 한다. 두 번째로, 카메라 해상력 검사 공정에서 생성된 데이터는 이미지와 같은 비정형 데이터가 아닌 정형 데이터로 구성된다. 따라서 비정형 데이터에서 높은 성능을 보이는 다양한 방법론들을 적용하는데 한계가 있다. 마지막으로 해상력 검사는 다수의 세부검사로 구성되어 있으며 세부검사는 순차적으로 검사가 진행된다. 앞선 세부검사에서 불량이 발생할 경우 다음 세부검사는 수행되지 않고 조기 종료되어 <Figure 2>와 같은 절단 데이터(censored data)가 생성 된다. 이러한 문제는 기존 방법론의 정확도를 낮추는 요인이 되어 본 공정에 최적화된 모델 개발이 필요하다고 하겠다.

Figure 2.

Example of Censored Data. Some camera modules got fail(blue and red) earlier than others(yellow). Early failed modules have short inspection data

특히 레이블된 데이터가 부족한 경우에는 레이블이 없는 데이터를 활용하는 자기지도학습(self-supervised learning)이 효과적으로 사용될 수 있다. 자기지도학습은 레이블의 유무와 상관없이 주어진 데이터를 활용하여 모델을 학습 시키므로 본 공정과 같은 제약 상황 하에서도 데이터의 특징을 잘 학습할 수 있다는 장점이 있다. 이러한 장점으로 인하여 자기지도학습은 최근 다양한 분야에서 높은 성능과 많은 관심을 받고 있으며 정형 데이터를 활용한 자기지도학습 방법론 또한 활발히 연구되고 있다(Borisov et al., 2021). 따라서 본 연구에서는 정형 데이터를 위한 자기지도학습 방법론인 SubTab(Ucar et al., 2021)의 부분 집합(subset) 구조를 차용하고, VIME(Yoon et al., 2020)의 마스크 추정기(mask estimator)를 결합하여 데이터를 효과적으로 학습할 수 있는 방법론을 제안하였다. 본 연구의 주요 기여점은 아래와 같다.

  • ∙ 카메라 모듈 해상력 검사 공정에 자기지도학습을 활용한 불량 예측 모델을 제안한다. 제안 방법론은 실제 공정에서 수집된 데이터를 이용한 실험에서 기존 방법론보다 우수한 성능을 보였으며 이를 통해 반복적이고 불필요한 재검사를 생략하고 즉시 불량 모듈을 수리할 수 있다. 즉, 공정에 소요되는 시간과 비용을 줄여 공정 효율성 향상에 기여할 수 있다.
  • ∙ 절단 데이터로 구성된 정형 데이터에 적용할 수 있는 개선된 방법론을 제안하였고 타 도메인으로의 확장 가능성 확인하였다. 이는 카메라 검사 공정에 국한되지 않고 다양한 도메인에 적용할 수 있는 자기지도학습 방법론이다. 이를 검증하기 위하여 오픈 데이터 셋인 MNIST 데이터를 이용하여 실험하였고, 기존 방법론 보다 향상된 성능을 보임으로써 제안 방법론의 가능성을 확인하였다.
  • ∙ 최초 검사 결과를 바탕으로 미래의 결과를 예측하는 문제이며 이는 기존의 검사 설비가 파악할 수 없었던 특징을 추출하는 것으로 카메라 해상력 검사 공정에서 이전에 시도된 적 없는 최초의 시도이다.

본 논문의 구성은 다음과 같다. 제2장에서 배경 이론을 설명하였다. 제3장에서는 제안 방법론에 대하여 구체적으로 설명하였다. 제4장에서는 실험에 사용된 데이터와 실험 결과를 정리하였다. 끝으로 제5장에서는 본 연구의 결론 및 기대효과를 서술하였다.


2. 배경 이론

2.1 정형 데이터를 위한 자기지도학습

정형 데이터란 행과 열로 구성된 테이블 형태의 데이터이다. 데이터 관측치는 행으로 구성되며 특징(features)은 열로 표현된다. 이러한 정형 데이터는 실생활에서 접하는 데이터 중 가장 보편적인 형태이기 때문에 다양하게 분석이 진행되고 있다. 보다 높은 정확도를 위하여 정형 데이터에 머신러닝, 딥러닝을 적용하는 연구는 산업계의 주된 관심사 중 하나이며 관련 연구결과도 지속적으로 증가하고 있다(Borisov et al., 2021). 하지만 비정형 데이터(이미지, 자연어 등)와 마찬가지로 정형 데이터에서도 충분한 양의 레이블링 된 데이터를 수집하는 것은 높은 비용을 요구 한다(Bahri et al., 2021). 따라서 정형 데이터에서 소수의 레이블 데이터만이 있을 때 다수의 레이블이 없는 데이터를 사용하여 효과적으로 학습할 수 있는 자기지도학습 연구가 활발히 진행되고 있다. 하지만 비정형 데이터에서 괄목할 성능을 내는 방법론들은 정형 데이터에서는 그다지 효과적이지 못한 실정이다(Borisov et al., 2021). 이미지나 자연어 처리에 적합한 모델들은 지나치게 해당 구조에 의존적이고(Yoon et al., 2020) 정형 데이터는 연속형 데이터뿐만 아니라 범주형 데이터도 포함하고 있기 때문이다(Darabi et al., 2021). 이러한 한계점을 극복하기 위하여 다양한 방법론들이 제시되고 있으며 점차 모델의 성능이 높아져 여러 오픈 데이터 셋에서 높은 성능을 달성하고 있다(Borisov et al., 2021).

2.2 SubTab

SubTab(Subsetting features of Tabular data; Ucar et al., 2021)은 정형 데이터에 적용할 수 있는 자기지도학습 프레임워크로써 오토인코더 구조를 활용하는 인코더(encoder)와 디코더(decoder)로 구성되어 있다. 이러한 오토인코더 구조는 입력 데이터보다 낮은 차원의 신경망을 통과하여 기존 데이터를 잘 복원하도록 학습이 진행되어 데이터의 특징을 파악할 수 있다. 특히 하나의 테이블을 여러 개의 부분 집합으로 나누고 각 부분 집합이 입력 데이터 전체를 복원하도록 하는 특징적인 구조를 가지고 있어 다수의 세부공정으로 이루어진 카메라 해상력 검사 공정 데이터에 적합하다. 부분 집합의 수는 하이퍼파라미터(hyperparameter)로 사용자가 설정 가능하며 각 부분 집합 간의 교차수준(overlay)도 설정이 가능하다. 추가적으로 사영(projection) 네트워크를 통하여 대조 오차(contrastive loss)와 거리 오차(distance loss)를 제안하여 보다 효과적으로 특징을 학습할 수 있도록 구성되어 있다. 이러한 SubTab 방법론은 비교적 간단한 MLP(multi-layer perceptron)로 구성된 오토인코더를 사용하였음에도 불구하고 합성곱 신경망 기반 방법론 보다 높은 성능을 보였다(Ucar et al., 2021). 또한 계산 복잡도 측면에서도 상당한 이점을 가지고 있으며 부분 집합의 독특한 구조로 인하여 다양한 도메인에서도 적용이 가능하다. 이러한 SubTab의 구조를 <Figure 3>과 같이 도식화 하였다. 데이터의 입력부터 출력까지의 흐름을 검은색 선으로 표시하였으며 역전파(backpropagation) 알고리즘을 통한 학습 단계는 파란색 점선으로 표시하였다.

Figure 3.

Overview of SubTab structure. Subsets from input data are reconstructed by autoencoder, adjusted by backpropagation based on reconstruction loss. An optional projection network exist to make contrastive and distance losses

2.3 VIME

VIME(Value Imputation and Mask Estimation; Yoon et al., 2020)은 정형 데이터에 효과적인 자기지도학습 및 준지도학습(semi-supervised learning) 프레임워크(VIME-Self/Semi)이다. VIME-Self는 인코더, 마스크 추정기 그리고 특징 추정기(feature estimator, decoder) 총 3개의 네트워크로 특징을 학습한다. 인코더와 특징 추정기의 쌍은 오토인코더 구조를 가지고 기존데이터를 잘 복원할 수 있도록 학습된다. 마스크 추정기는 마스크로 인하여 변형이 가해진 입력 데이터를 바탕으로 어떤 데이터가 변형이 되었는지를 찾음으로써 데이터에 대한 이해도를 높이는 역할을 수행한다. Yoon et al.(2020)이 제안하는 VIME-Semi의 경우 VIME-Self에서 학습한 인코더를 변경없이 활용하고 예측기(predictor) 네트워크와 마스크를 이용한 데이터 증강(augmentation) 기법을 추가 도입하여 높은 성능의 준지도학습모델을 구축한다. VIME의 중요한 구성 중 하나인 마스크 추정기는 정형 데이터를 이해하는데 높은 효과를 보이고 있다. 특히, 특징 간의 인접 여부와 상관없이 상관관계를 잘 파악하므로 다수의 세부검사로 이루어진 카메라 해상력 검사 공정 데이터를 이해하는데 적합하다. 또한 무작위로 생성되는 마스크로 인하여 데이터가 있는 부분과 공백인 부분을 분별함으로써 절단된 데이터를 파악하는데 효과적이다. VIME-Self의 전체적인 구조는 <Figure 4>와 같으며 입력 데이터의 흐름을 검은 선, 역전파 알고리즘의 학습 진행을 파란 점선으로 표시하였다.

Figure 4.

Overview of VIME structure. Input data are corrupted by mask(the same shape of input data) and reconstructed by encoder-decoder structure. VIME understand the data effectively by using a mask estimator that identifies exact corrupted cells that matches the mask


3. 제안 방법론

3.1 기본 구조

제안 방법론의 기본 구조로서 정형 데이터를 위한 자기지도학습 방법론인 SubTab을 활용하였다. 이는 부분 집합 구조가 세부검사로 이루어진 카메라 해상력 검사 공정 데이터와 유사한 구조를 가지므로 데이터의 특징을 보다 더 잘 추출할 것으로 기대할 수 있다. 예를 들어 해상력 검사가 A, B, C의 세부검사로 이루어져 있다고 할 때, 부분 집합이 각 세부검사에 해당하는 데이터를 표현할 수 있으며 이를 <Figure 5>에서 도식화 하였다. 본 공정은 하나의 카메라 모듈을 여러 가지의 세부검사로 나누어 수행하므로 만약 카메라 모듈에 문제가 있다면 각 세부검사 또한 문제가 있을 확률이 높고 세부검사 결과를 활용하여 카메라 모듈 전체 데이터를 상당부분 복원할 수 있을 것이다. 따라서 부분 집합 구조의 SubTab의 방법론이 카메라 해상력 검사 공정 데이터의 특징을 잘 표현할 수 있을 것이다.

Figure 5.

Similarity of camera resolution inspection process and subsets of SubTab. Subsets are similar to detail inspection results(A, B, C inspection) in camera inspection data

3.2 마스크 추정기

입력 데이터의 일부를 적절히 변형시킨 뒤 변형된 데이터를 찾도록 하는 VIME의 마스크 추정기를 제안 방법론에 적용하여 데이터에 대한 이해도를 높이고자 하였다. 이때 사용한 데이터 변형 전략은 동일한 특징 열의 데이터를 무작위로 서로 교환하는 방법(column-wise swap noise)이다. 카메라 해상력 검사 공정 데이터는 세부검사 결과에 따라 <Figure 2>와 같은 절단된 데이터를 가지고 있는데 column-wise swap noise 데이터 변형 방식을 적용하면 절단 되어 데이터가 없어야 하는 곳에 데이터가 입력되게 되고, 실제 데이터가 있어야 하는 곳에는 데이터가 없게 된다. 이를 도식화 하면 <Figure 6>과 같다. 따라서 학습된 모델이 노이즈를 인식하고 분별할 수 있다는 것은 해당 카메라 모듈이 세부검사 실패로 인하여 조기 종료가 되었는지 여부를 판단하는 것과 같으므로 본 공정 데이터에 대한 이해가 더 높아질 것이라 판단하였다.

Figure 6.

Censored data with column-wise swap noise strategy. The blue boxes indicate where the original data should be empty(but there are data). The red boxes indicate the opposite situation. If mask estimator understand exact blue and red boxes, the model can recognize that camera module is terminated early or not

3.3 노이즈 전략

광학장비 특성상 데이터에 노이즈가 많이 발생하기 때문에 이를 해결하기 위해서 가우시안 노이즈(Gaussian noise)를 적용 하고자 하였다. 본 연구에서 분석하는 공정은 동일한 카메라 모듈을 검사하여도 검사 결과가 지속적으로 다른 특성을 보임으로 노이즈를 줄이고 핵심만을 표현할 수 있도록 하는 것이 중요하다. 따라서 3.2장의 column-wise swap noise와는 별개로 전체 데이터 대상으로 가우시안 노이즈를 추가하였다. 유사한 구조로 Vincent et al.(2008)의 연구인 잡음제거 오토인코더(denoising autoencoder, DAE)가 있으나 카메라 해상력 검사 공정 데이터는 노이즈가 없는 깨끗한 데이터가 없으므로 잡음제거 오토인코더를 적용하기에는 어려움이 있다. 본 추가 노이즈 전략을 통해 모델이 훈련 데이터에 지나치게 과적합(overfitting) 되는 것을 방지하고 보다 일반화된 모델을 생성하는데 도움을 줄 것이라 판단하였다.

3.4 제안 방법론 구조

앞서 설명한 아이디어를 모두 적용한 제안 방법론의 구조는 <Figure 7>과 같다. 기본적인 모델의 학습은 부분 집합으로 나누어진 입력 데이터를 인코더-디코더 구조를 통하여 복원한 뒤 입력 데이터와 복원 데이터의 차이인 재구축 오차(reconstruction loss)를 통하여 네트워크가 학습된다. 또한 마스크로부터 변형된 입력 데이터에서 변형된 항목을 찾아 교차 엔트로피 오차(cross-entropy loss)를 계산함으로써 마스크 추정기 네트워크를 학습한다. 마지막으로 부분 집합의 사영을 통한 대조 오차와 거리 오차를 계산하여 사영 네트워크를 학습한다. 이로써 제안하는 방법론은 총 4개의 네트워크를 사용하여 주어진 데이터에서 특징을 추출하는 자기지도학습 기반 방법론이다. 제안 방법론에서 사용한 4개의 네트워크는 모두 단순한 MLP로 구성되었으며 최대 2-layer를 넘지 않는 비교적 얕은 구조로 구성되었다.

Figure 7.

Overview of the Proposed Structure Consisting of Four Networks: Encoder, Decoder, Mask Estimator, and Projection Networks


4. 실험 결과

4.1 데이터 소개

본 연구에서는 카메라 해상력 검사 공정의 효율성 향상을 위하여 실제 공정에서 수집된 데이터를 사용하였고, 다양한 산업 현장에서의 적용 가능성을 확인하기 위하여 공개 되어 있는 MNIST 데이터셋을 추가로 활용하여 실험을 진행하였다.

첫 번째 데이터셋은 2021년 3분기에 삼성전자 베트남 법인 카메라 해상력 검사 공정에서 수집되었으며, 2개의 클래스(정상/불량)를 가지고 있는 정형 데이터이다. 본 공정은 표준 검사 차트를 실제 촬영하여 이루어지며 촬영 결과물을 여러 구역으로 분할하여 검사 후 검사 결과를 텍스트 형태의 로그파일로 출력하고 있다. 로그파일은 렌즈의 종류, 검사 항목, 검사 구역 등에 따라 상이한 개수의 열로 구성된다. 불량으로 판정된 모듈이 가성 불량인지 진성 불량인지 판정하는 문제이므로, 데이터셋에 수집된 데이터는 모두 최초 불량으로 판정 받았던 모듈로만 구성된다. 또한 데이터를 수집한 시점은 재검사 프로세스가 모두 완료된 후이기 때문에 최종 정상/불량 판정 결과를 레이블로 기록하여 100% 레이블링 된 데이터로 구성되어 있다. 본 연구에서는 레이블링 된 데이터가 제한적인 상황에서의 예측 모델 개발이므로 실험에서는 임의로 레이블을 가려서 활용하였으며, 해당 데이터의 전처리 과정은 4.2장에 설명하였다. 두 번째 MNIST 데이터셋은 사람이 0부터 9까지의 숫자를 필기한 내용을 28×28의 2차원 이미지로 나타낸 데이터이다. 각 픽셀에 데이터 유무 및 밝기의 차이에 따라 0과 255사이의 숫자로 구성되어 있으며 샘플 데이터를 <Figure 8(a)>에 표시하였다. MNIST 데이터셋은 일반적인 이미지와는 달리 손 글씨가 없는 부분은 <Figure 8(b)>와 같이 숫자 0으로 채워져 있으며 어떠한 정보도 담고 있지 않다. 이러한 특징은 MNIST 데이터셋이 실제 절단 데이터는 아니지만 절단 데이터와 유사한 형태를 가진다고 볼 수 있다. 뿐만 아니라 정형 데이터 연구를 위하여 활발하게 사용되는 데이터셋 이므로 성능 비교에 적합하다고 판단하였다. 본 실험에서는 MNIST 데이터셋을 펼쳐 784개의 열을 가지는 1차원 데이터로 변경하여 실험을 진행하였다. 1차원으로 변경한 샘플 데이터의 형태는 <Figure 8(c)>에서 확인할 수 있다.

Figure 8.

Sample of MNIST dataset. (a) The image of number five. The white is the data part and the black is the empty part. (b) The handwritten part is filled with numbers(0~255) and other part is filled with zeros. (c) The flatten image of (b)

4.2 카메라 해상력 검사 공정 데이터 전처리

카메라 해상력 검사 공정 데이터는 총 49,312개의 행과 402개의 열로 구성되어 있으며 다음과 같은 데이터 전처리 과정을 순차적으로 수행하였다. 중복된 데이터 또는 공백인 열을 제거 하였으며 열에 속하는 값의 분산이 0이거나 80% 이상 공백으로 이루어진 항목도 제거하였다. 범주형 데이터의 경우 원-핫 인코딩(one-hot encoding)을 적용하였다. 오류로 인하여 비정상적인 문자로 표시된 데이터도 제거하였으며 10진수가 아닌 데이터의 경우 10진수로 변환하였다. 마지막으로 절단 데이터는 어떠한 정보도 없으므로 단순 대치 방법인 0으로 대체하였다. 만약 최대/최소 또는 평균/최빈값 등의 정보를 이용하게 된다면 이는 다른 샘플 데이터의 정보가 포함되는 것과 같으므로 절단 데이터의 의미와 멀어지게 된다. 이와 같은 전처리 과정 후 최종 데이터는 46,561개의 행, 388개의 열로(레이블 포함) 구성되었다. 전처리 전/후의 데이터셋의 개요는 <Table 1>과 같다.

Summary of Camera Resolution Inspection Dataset

4.3 실험 설계 및 모델 학습

비교방법론인 SubTab과 VIME은 GitHub에 공개된 공식 코드를 사용하였고, TabNet(Arik et al., 2021)은 pytorch로 구현된 패키지를 사용하였다. 제안 방법론을 비교/평가하기 위해 하이퍼파라미터를 변경하며 최적 설정 값을 선정하였으며 선정된 주요 하이퍼파라미터는 다음과 같다. SubTab의 중요 설정 값으로 부분 집합의 개수 4, 교차수준 0.75, 집산(aggregation) concatenation, column-wise swap noise 적용 비율 0.3을 사용하였다. VIME 방법론의 경우 입력 데이터를 변형시키는 확률 p는 0.3, 오차 간의 가중치 α는 2로 설정하여 실험하였다. TabNet은 자기지도학습 시 입력 데이터의 마스킹 비율을 0.3으로 사용하였다. 제안 방법론은 동일한 SubTab 구조에 마스크 추정기와 가우시안 노이즈를 추가하였으며 제안 방법에 따른 기여 정도를 확인하기 위하여 제안 방법론의 하이퍼파라미터는 앞서 서술한 SubTab 방법론과 동일하게 설정 하였다. 그 외 설정은 공정한 비교를 위하여 모든 비교 방법론에서 기본 설정 값으로 실험을 진행하였다. 카메라 해상력 검사 공정 데이터는 학습 데이터와 테스트 데이터를 8대 2로 분할하여 학습 데이터 37,249개, 테스트 데이터 9,312개로 실험하였다. MNIST 데이터셋의 경우 6:1로 분할하여 60,000개, 10,000개를 각각 학습과 테스트에 사용하였다. 모든 실험에서 학습률(learning rate)은 0.001로 설정하였다. 또한 자기지도학습 종료 후 미세 조정(fine-tuning) 단계에서 2-Layer MLP를 공통적으로 사용하였다. 해당하는 MLP는 20개의 은닉 노드(hidden node)로 구성되어 있으며 배치 사이즈(batch size) 32, 500 에폭(epoch), 활성화 함수(activation function)는 ReLU(rectified linear unit)로 통일하였다. 미세 조정 단계에서 사용되는 데이터는 9대 1로 무작위 재분리하여 검증(validation) 데이터 셋을 만들었고, 이를 이용하여 최대 50 에폭 동안 성능의 개선이 없을 경우 조기 종료를 수행하였다. 제안 방법론의 성능 평가를 위한 각 실험 별 세부 설정은 다음과 같다. 카메라 모듈 해상력 불량 예측 실험에서는 배치 사이즈는 비교 방법론, 제안 방법론 모두 64로 설정하였고 에폭은 40으로 통일하였으며 seed를 바꿔가며 총 10회 반복실험을 통해 실험 결과를 산출하였다. MNIST 데이터 셋을 사용한 실험에서는 배치 사이즈는 32, 에폭은 15로 통일하였고 앞선 실험과 동일하게 10회 반복실험을 통하여 평균 정확도와 표준편차를 구하였다. 마지막으로 평가지표는 정확도(accuracy)를 사용하였다.

4.4 실험 결과

(1) 기본 구조 실험 결과

카메라 해상력 검사 공정 데이터를 어떤 방법론이 가장 잘 학습하고 표현하는지 확인하기 위하여 대표적인 정형 데이터 자기지도학습 방법론인 SubTab, VIME, TabNet, 그리고 오토인코더를 활용하여 실험하였다. 실험은 레이블이 있는 데이터의 사용 비율(percentage of labeled data used)에 따라 1%에서부터 100%까지 변화하며 수행하였으며 결과표에 열로 구분하여 표시하였다. 기본 구조의 실험 결과는 <Table 2>와 같으며 성능이 가장 높은 항목을 진하게, 반복실험에 따른 표준편차를 괄호안에 표시하였다. 모든 구간에서 SubTab의 성능이 가장 높았으며, 이는 세부검사로 이루어진 검사 공정의 데이터를 부분 집합으로 나누어 학습하여 특징을 잘 표현하였으며 기본 구조로 SubTab 방법론을 선택하는 것의 타당성을 보여준다. 추가적으로 지도학습 및 자기지도학습 모두 정확도가 80%를 넘지 못하는 결과를 보이는데 이는 노이즈로 인하여 동일한 입력 데이터를 가지고 있는 카메라 모듈이더라도 최종 결과는 정상과 불량으로 전혀 다른 판정을 받을 수 있다는 도메인 특성에 기인하는 것으로 판단된다.

Comparison of Accuracy Score among Supervised and Self-supervised Learning Models with Different Percentage of Labeled Data Used

(2) 제안 방법론 실험 결과(카메라 해상력 검사 공정 데이터)

제안 방법론으로 카메라 해상력 검사 공정 데이터에 적용한 실험 결과는 <Table 3>과 같다. 기본 구조로 선정한 SubTab 방법론이 타 자기지도학습 방법론 대비 가장 우수한 성능을 보였으므로 대조군으로 첫 번째 행에 표시하였고 가장 성능이 높은 항목을 진하게, 표준편차를 괄호로 표시하였다. 레이블된 데이터의 사용비율에 따른 7개의 열 중 5개에서 제안 방법론이 기존 방법론 대비 더 높은 성능을 보임을 확인할 수 있다. 또한 제안 방법론 중 가우시안 노이즈와 마스크 추정기의 기여 정도를 확인하기 위하여 케이스를 나누어 실험한 결과(ablation study)를 ①, ②, ③으로 분리하여 표시하였다. 특이사항으로 각각의 케이스 별 정확도(①, ②) 보다 가우시안 노이즈와 마스크 추정기를 함께 적용 했을 때 더 좋은 성능을(③) 보여줌으로써 각 케이스가 동시에 적용되었을 때 의도한 효과가 잘 적용되는 것을 확인할 수 있다.

Comparison of Accuracy Score between by SubTab and the Proposed Methods with Different Percentage of Labeled Data Used. Noise(G) Represents Gaussian Noise

(3) 제안 방법론 실험 결과(MNIST 오픈 데이터셋)

제안 방법론이 카메라 해상력 검사 공정에 국한되지 않고 타 데이터셋에서도 효과적인지 확인하기 위하여 오픈 데이터 셋인 MNIST를 활용하여 실험하였다. 실험 결과는 <Table 4>와 같으며 레이블된 데이터가 부족한 상황에서의 자기지도학습 방법론의 우수성을 비교하기 위하여 단순 MLP 구조로 지도학습을 실험한 결과를 첫 행에 표시하였다. 레이블이 있는 데이터의 사용 비율이 20%인 구간에서는 제안 방법론보다 기존 SubTab의 성능이 우수하게 나왔으나, 그 외 다른 구간에 대해서는 기존 방법론 대비 제안 방법론이 같거나 보다 나은 성능을 보였음을 확인하였다. MNIST 데이터셋의 경우 손 글씨를 표현한 데이터의 특성상 글씨가 없는 부분은 모두 0의 값으로 채워져 절단 데이터와 형태가 같으므로 본 연구에서 제안하는 방법론이 효과적으로 적용한 것으로 설명할 수 있다. MNIST 샘플 데이터의 절단 데이터 형태는 <Figure 8(c)>에 표현하였다. 레이블링 된 데이터의 사용 비율이 낮을수록(1% ~ 5%) 제안 방법론의 성능 향상이 높았으며, 이는 레이블링 된 데이터의 사용이 힘든 다양한 분야에서의 적용 가능성을 보여준다.

Comparison of Accuracy Score by Proposed Methods Using MNIST. Noise(G) means Gaussian noise


5. 결 론

오늘날 카메라의 중요성이 지속적으로 커지고 있으며 이러한 추세 속에서 카메라 모듈 해상력 검사 공정 고도화를 위하여 불량을 예측하는 연구를 수행하였다. 본 연구에서는 최초 불량 판정 받은 모듈의 검사 결과를 활용하여 추후 재검사 프로세스를 통해 정상 또는 불량으로 판정 받을 것인지를 예측함으로써 공정 효율성을 높이고자 하였다. 특히, 레이블링 된 데이터가 부족한 상황에서 자기지도학습을 활용하였고 절단된 데이터가 생성되는 상황에서 데이터의 특징을 보다 효과적으로 추출할 수 있는 방법론을 제안하였다. 본 연구는 제안 방법론의 성능을 평가하기 위하여 실제 공정 데이터와 오픈 데이터셋으로 실험을 진행하였고 세부 제안사항의 기여정도에 따른 분리 실험도 병행하여 진행하였다. 데이터 셋 별로 진행한 실험 모두 제안 방법론이 기존 방법론들 대비 전반적으로 높은 성능을 보여주어 제안 방법론의 효용성을 입증하였다. 다만 여러 제약 사항으로 인하여 본 연구에서 학습한 모델을 실제 현장에 적용하여 공정 효율성 향상 여부를 확인할 수 없었다는 한계점을 가진다. 하지만 개선된 방법론을 추후 신규 모델 생산 시 적용하여 불필요한 설비의 가동을 줄여 공정 효율성을 높일 수 있을 것이며 더 나아가 공정 설계의 효율화 및 검사 설비의 성능 또한 개선할 수 있을 것이라 기대한다. 마지막으로 본 연구는 카메라 검사 공정 외에도 다양한 분야에 적용할 수 있는 방법론을 제안하였다는데 의의가 있다. 특히, 레이블된 데이터를 얻는 것이 어렵고 절단된 데이터가 빈번하게 발생하는 산업 현장에서 본 제안 방법론이 유용하게 활용될 수 있으며 제조 공정 데이터에 국한되지 않고 의료, 금융 등 다양한 산업 분야에서 기여를 할 수 있을 것으로 기대된다.

Acknowledgments

This research was supported by BK21 FOUR.

References

  • Arik, S. Ö. and Pfister, T. (2021), Tabnet: Attentive interpretable tabular learning. In Proceedings of the AAAI Conference on Artificial Intelligence, 35(8), 6679-6687. [https://doi.org/10.1609/aaai.v35i8.16826]
  • Bahri, D., Jiang, H., Tay, Y., and Metzler, D. (2021), Scarf: Self-supervised contrastive learning using random feature corruption. arXiv preprint arXiv:2106.15147, .
  • Borisov, V., Leemann, T., Seßler, K., Haug, J., Pawelczyk, M., and Kasneci, G. (2021), Deep neural networks and tabular data: A survey. arXiv preprint arXiv:2110.01889, . [https://doi.org/10.1109/TNNLS.2022.3229161]
  • Chalapathy, R. and Chawla, S. (2019), Deep learning for anomaly detection: A survey. arXiv preprint arXiv:1901.03407, . [https://doi.org/10.1145/3394486.3406704]
  • Darabi, S., Fazeli, S., Pazoki, A., Sankararaman, S., and Sarrafzadeh, M. (2021), Contrastive mixup: Self-and semi-supervised learning for tabular domain. arXiv preprint arXiv:2108.12296, .
  • Lee, H. J. (2018), IT market trends, Korea Institute of Information Technology Magazine, 16(2), 1-6.
  • Park, C. K. (2021), A study on improving the level of introduction of smart factories using the extended innovation resistance model, Journal of Convergence for Information Technology, 11(3), 107-124.
  • Seo, J. and Choi, K. (2007), Technology & market trend analysis of camera module for mobile phone. In Proceedings of the Korea Contents Association Conference, 5(1), 482-486.
  • Sun, B., Yang, L., Zhang, W., Lin, M., Dong, P., Young, C., and Dong, J. (2019), Supertml: Two-dimensional word embedding for the precognition on structured tabular data. In Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition Workshops. [https://doi.org/10.1109/CVPRW.2019.00360]
  • Ucar, T., Hajiramezanali, E., and Edwards, L. (2021), Subtab: Subsetting features of tabular data for self-supervised representation learning, Advances in Neural Information Processing Systems, 34, 18853-18865.
  • Vincent, P., Larochelle, H., Bengio, Y., and Manzagol, P. A. (2008). Extracting and composing robust features with denoising autoencoders, In Proceedings of the 25th International Conference on Machine Learning, 1096-1103. [https://doi.org/10.1145/1390156.1390294]
  • Yang, J., Li, S., Wang, Z., Dong, H., Wang, J., and Tang, S. (2020), Using deep learning to detect defects in manufacturing: A comprehensive survey and current challenges, Materials, 13(24), 5755. [https://doi.org/10.3390/ma13245755]
  • Yoon, J., Zhang, Y., Jordon, J., and van der Schaar, M. (2020), Vime: Extending the success of self-and semi-supervised learning to tabular domain, Advances in Neural Information Processing Systems, 33, 11033-11043.
저자소개

고병은 : 연세대학교 수학과에서 2015년 학사학위를 취득하고 고려대학교 산업경영공학과에서 석사과정에 재학 중이다. 연구 분야는 인공지능, 머신러닝을 제조 현장에 응용하는 연구를 수행하고 있다.

김성범 : 고려대학교 산업경영공학부 교수로 2009년부터 재직하고 있으며, 인공지능공학연구소 소장 및 기업산학연협력센터 센터장을 역임했다. 미국 University of Texas at Arlington 산업공학과에서 교수를 역임하였으며, 한양대학교 산업공학과에서 학사학위를 미국 Georgia Institute of Technology에서 산업시스템공학 석사 및 박사학위를 취득하였다. 인공지능, 머신러닝, 최적화 방법론을 개발하고 이를 다양한 공학, 자연과학, 사회과학 분야에 응용하는 연구를 수행하고 있다.

Figure 1.

Figure 1.
Diagram of Repeated Camera Resolution Inspection Process. Camera modules initially judged as defect(Fail) are examined repeatedly to obtain final results(Pass or Repair)

Figure 2.

Figure 2.
Example of Censored Data. Some camera modules got fail(blue and red) earlier than others(yellow). Early failed modules have short inspection data

Figure 3.

Figure 3.
Overview of SubTab structure. Subsets from input data are reconstructed by autoencoder, adjusted by backpropagation based on reconstruction loss. An optional projection network exist to make contrastive and distance losses

Figure 4.

Figure 4.
Overview of VIME structure. Input data are corrupted by mask(the same shape of input data) and reconstructed by encoder-decoder structure. VIME understand the data effectively by using a mask estimator that identifies exact corrupted cells that matches the mask

Figure 5.

Figure 5.
Similarity of camera resolution inspection process and subsets of SubTab. Subsets are similar to detail inspection results(A, B, C inspection) in camera inspection data

Figure 6.

Figure 6.
Censored data with column-wise swap noise strategy. The blue boxes indicate where the original data should be empty(but there are data). The red boxes indicate the opposite situation. If mask estimator understand exact blue and red boxes, the model can recognize that camera module is terminated early or not

Figure 7.

Figure 7.
Overview of the Proposed Structure Consisting of Four Networks: Encoder, Decoder, Mask Estimator, and Projection Networks

Figure 8.

Figure 8.
Sample of MNIST dataset. (a) The image of number five. The white is the data part and the black is the empty part. (b) The handwritten part is filled with numbers(0~255) and other part is filled with zeros. (c) The flatten image of (b)

Table 1.

Summary of Camera Resolution Inspection Dataset

Category Row Column Fail Count Fail Rate(%)
Dataset Raw Data 49,312 402 25,047 50.8
Preprocessed 46,561 388 23,691 50.9

Table 2.

Comparison of Accuracy Score among Supervised and Self-supervised Learning Models with Different Percentage of Labeled Data Used

Type Models Percentage of Labeled Data Used
1% 2% 5% 10% 20% 50% 100%
Supervised
Learning
Logistics 0.6576
(0.013)
0.6838
(0.007)
0.7101
(0.006)
0.7275
(0.005)
0.7356
(0.004)
0.7449
(0.004)
0.7441
(0.003)
MLP 0.6531
(0.008)
0.6725
(0.009)
0.6969
(0.006)
0.7070
(0.006)
0.7267
(0.005)
0.7498
(0.005)
0.7724
(0.005)
Self-supervised
Learning
Autoencoder 0.6676
(0.006)
0.6846
(0.009)
0.7089
(0.009)
0.7231
(0.005)
0.7361
(0.011)
0.7599
(0.007)
0.7735
(0.008)
VIME-Self 0.6749
(0.013)
0.7074
(0.009)
0.7212
(0.005)
0.7374
(0.004)
0.7450
(0.003)
0.7574
(0.004)
0.7651
(0.006)
TabNet 0.6367
(0.016)
0.6530
(0.017)
0.6883
(0.007)
0.6981
(0.010)
0.7169
(0.012)
0.7459
(0.005)
0.7741
(0.007)
SubTab
0.7013
(0.008)
0.7163
(0.010)
0.7287
(0.007)
0.7448
(0.003)
0.7552
(0.004)
0.7626
(0.003)
0.7841
(0.002)

Table 3.

Comparison of Accuracy Score between by SubTab and the Proposed Methods with Different Percentage of Labeled Data Used. Noise(G) Represents Gaussian Noise

Type Models Percentage of Labeled Data Used
1% 2% 5% 10% 20% 50% 100%
Self-supervised
Learning
SubTab 0.7013
(0.008)
0.7163
(0.010)
0.7287
(0.007)
0.7448
(0.003)
0.7552
(0.004)
0.7626
(0.003)
0.7841
(0.002)
Proposed
Methods
① SubTab+Noise(G) 0.7115
(0.003)
0.7197
(0.006)
0.7334
(0.003)
0.7434
(0.004)
0.7550
(0.002)
0.7675
(0.003)
0.7803
(0.002)
② SubTab+MaskEst. 0.7012
(0.004)
0.7157
(0.005)
0.7351
(0.002)
0.7452
(0.004)
0.7524
(0.004)
0.7685
(0.003)
0.7691
(0.003)
③ SubTab+MaskEst.
+Noise(G)
0.7050
(0.004)
0.7209
(0.003)
0.7371
(0.004)
0.7466
(0.003)
0.7590
(0.005)
0.7689
(0.003)
0.7735
(0.003)

Table 4.

Comparison of Accuracy Score by Proposed Methods Using MNIST. Noise(G) means Gaussian noise

Type Models Percentage of Labeled Data Used
1% 2% 5% 10% 20% 50% 100%
Supervised
Learning
MLP 0.8295
(0.008)
0.8549
(0.005)
0.8812
(0.003)
0.8948
(0.004)
0.9096
(0.003)
0.9292
(0.003)
0.9443
(0.002)
Self-supervised
Learning
SubTab 0.9139
(0.008)
0.9332
(0.003)
0.9532
(0.003)
0.9632
(0.002)
0.9716
(0.001)
0.9768
(0.001)
0.9814
(0.001)
Proposed
Methods
SubTab+Noise(G) 0.9014
(0.007)
0.9243
(0.005)
0.9468
(0.004)
0.9588
(0.002)
0.9659
(0.001)
0.9740
(0.001)
0.9776
(0.001)
SubTab+MaskEst. 0.9169
(0.005)
0.9349
(0.003)
0.9518
(0.003)
0.9621
(0.002)
0.9698
(0.001)
0.9760
(0.001)
0.9808
(0.001)
SubTab+MaskEst.
+Noise(G)
0.9170
(0.007)
0.9368
(0.002)
0.9550
(0.002)
0.9631
(0.002)
0.9704
(0.001)
0.9777
(0.001)
0.9818
(0.000)