KR20210039927A - 제품 분류 시스템 및 방법 - Google Patents

제품 분류 시스템 및 방법 Download PDF

Info

Publication number
KR20210039927A
KR20210039927A KR1020200092355A KR20200092355A KR20210039927A KR 20210039927 A KR20210039927 A KR 20210039927A KR 1020200092355 A KR1020200092355 A KR 1020200092355A KR 20200092355 A KR20200092355 A KR 20200092355A KR 20210039927 A KR20210039927 A KR 20210039927A
Authority
KR
South Korea
Prior art keywords
data set
classifier
prediction
probability
additional data
Prior art date
Application number
KR1020200092355A
Other languages
English (en)
Inventor
이장환
Original Assignee
삼성디스플레이 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성디스플레이 주식회사 filed Critical 삼성디스플레이 주식회사
Publication of KR20210039927A publication Critical patent/KR20210039927A/ko

Links

Images

Classifications

    • G06N3/0454
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/088Non-supervised learning, e.g. competitive learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/047Probabilistic or stochastic networks
    • G06N7/005
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N7/00Computing arrangements based on specific mathematical models
    • G06N7/01Probabilistic graphical models, e.g. probabilistic networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • General Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • General Engineering & Computer Science (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Biophysics (AREA)
  • Molecular Biology (AREA)
  • General Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • Biomedical Technology (AREA)
  • Health & Medical Sciences (AREA)
  • Probability & Statistics with Applications (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Evolutionary Biology (AREA)
  • Algebra (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Image Analysis (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Medical Informatics (AREA)

Abstract

본 발명의 한 실시예에 따른 제품 분류 방법은, 처리기에 의하여, 제1 분류기의 적어도 제1 및 제2 인스턴스를 생성하는 단계, 입력 데이터 집합에 기초하여 상기 인스턴스를 훈련시키는 단계, 상기 입력 데이터 집합에 기초하여 상기 입력 데이터 집합과 연관된 잠재 공간의 표현을 학습하는 제2 분류기를 훈련시키는 단계, 상기 잠재 공간에서 미분류 데이터 집합인 제1 추가 데이터 집합을 생성하는 단계, 상기 제1 분류기의 상기 제1 인스턴스에 기초하여 상기 제1 추가 데이터 집합을 분류하기 위한 제1 예측을 생성하는 단계, 상기 제1 분류기의 상기 제2 인스턴스에 기초하여 상기 제1 추가 데이터 집합을 분류하기 위한 제2 예측을 생성하는 단계, 상기 제1 예측 및 상기 제2 예측에 기초하여 상기 제1 추가 데이터 집합용 분류 주석을 생성하는 단계, 그리고 적어도 상기 입력 데이터 집합 및 상기 주석 달린 제1 추가 데이터 집합에 기초하여 제3 분류기를 훈련시키는 단계를 포함한다.

Description

제품 분류 시스템 및 방법 {SYSTEM AND METHOD OF CLASSIFYING MANUFACTURED PRODUCTS}
본 발명은 제품 분류 시스템 및 방법에 관한 것으로서, 특히 분류기를 훈련시키는 시스템 및 방법에 관한 것이다.
본 출원은 2019년 10월 1일에 미국 특허청에 출원한 미국 특허출원번호 제62/909,053호를 우선권 주장하며, 여기에 인용함으로써 이 출원의 전체 내용을 본원에 포함한다.
최근 몇 년 동안 모바일 표시 장치 산업이 급격하게 성장하였다. 새로운 유형의 표시판 모듈과 생산 방법을 사용함에 따라 기존의 방법만으로는 표면 결함을 찾아내기가 어려워지고 있다. 제작한 표시판 모듈이 불량인지 아닌지[예를 들면 "불량(no good)"으로 분류되는지 아니면 "우량(good)"으로 분류되는지]를 인공 지능(AI: artificial intelligence)을 사용하여 자동으로 예측하는 것이 바람직하다. 실제로, 표시판 모듈뿐 아니라 다른 하드웨어 제품에 대해서도 인공 지능을 사용하여 결함을 예측하는 것이 바람직할 것이다.
새로운, 기존에 없었던 데이터에 잘 적용될 수 있는 AI/ML(machine learning) 모델("일반화 ML 모델"이라고 함)은 이러한 과제에 적합하다. 그러나 학습 데이터 집합(training dataset)이 불충분하고 매우 불균형한 경우에는 일반화 ML 모델을 만들어 내는 것이 어렵다. 데이터 집합의 특성으로 인하여, 불충분과 클래스 불균형은 피할 수 없는 쟁점이고 일반화 기계 학습 모델(generalized machine learning)을 생성하는 도전 과제를 준다.
따라서 이진 클래스에 대하여 불균형한 학습 데이터의 한정된 양으로부터 AI/ML 모델을 꾸준하고 안정적으로 구축하기 위한 향상된 시스템 및 방법이 필요하다.
본 발명의 한 실시예에 따른 제품 분류 방법은, 제조 과정을 통해서 제조된 제품의 분류 방법으로서, 처리기(processor)에 의하여, 입력 데이터 집합을 수신하는 단계, 상기 처리기에 의하여, 제1 분류기의 적어도 제1 및 제2 인스턴스를 생성하는 단계, 상기 처리기에 의하여, 상기 입력 데이터 집합에 기초하여 상기 제1 분류기의 상기 제1 및 제2 인스턴스를 훈련시키는 단계, 상기 처리기에 의하여, 상기 입력 데이터 집합에 기초하여 상기 입력 데이터 집합과 연관된 잠재 공간(latent space)의 표현을 학습하는 제2 분류기를 훈련시키는 단계, 상기 처리기에 의하여, 상기 잠재 공간에서 미분류 데이터 집합인 제1 추가 데이터 집합을 생성하는 단계, 상기 처리기에 의하여, 상기 제1 분류기의 상기 제1 인스턴스에 기초하여 상기 제1 추가 데이터 집합을 분류하기 위한 제1 예측을 생성하는 단계, 상기 처리기에 의하여, 상기 제1 분류기의 상기 제2 인스턴스에 기초하여 상기 제1 추가 데이터 집합을 분류하기 위한 제2 예측을 생성하는 단계, 상기 처리기에 의하여, 상기 제1 예측 및 상기 제2 예측에 기초하여 상기 제1 추가 데이터 집합용 분류 주석을 생성하는 단계, 그리고 상기 처리기에 의하여, 적어도 상기 입력 데이터 집합 및 상기 주석 달린 제1 추가 데이터 집합에 기초하여 제3 분류기를 훈련시키는 단계를 포함하며, 상기 기훈련 제3 분류기는 분류할 제품의 데이터를 수신하고 상기 수신한 데이터에 기초하여 상기 제품에 대한 예측을 출력한다.
본 발명의 한 실시예에 따르면, 상기 제1, 제2 및 제3 분류기 각각은 신경망일 수 있다.
본 발명의 한 실시예에 따르면, 상기 제2 분류기는 VAE(variational autoencoder)일 수 있다.
본 발명의 한 실시예에 따르면, 상기 잠재 공간은 상기 입력 데이터 집합의 압축 표현을 제공할 수 있다.
본 발명의 한 실시예에 따르면, 상기 제1 추가 데이터 집합의 생성 단계는, 상기 잠재 공간에서 임의 데이터 원소를 생성하는 단계를 포함할 수 있다.
본 발명의 한 실시예에 따르면, 상기 분류 주석의 생성 단계는, 상기 제1 예측 및 상기 제2 예측에 기초하여 다수 클래스를 결정하는 단계, 그리고 상기 다수 클래스에 기초하여 상기 제1 추가 데이터 집합을 분류하는 단계를 포함할 수 있다.
본 발명의 한 실시예에 따르면, 상기 분류 주석의 생성 단계는, 상기 제1 예측의 제1 확률과 상기 제2 예측의 제2 확률을 결정하는 단계, 상기 제1 확률과 상기 제2 확률의 평균을 계산하는 단계, 그리고 상기 계산한 평균에 기초하여 상기 제1 추가 데이터 집합용 클래스를 정의하는 단계를 포함할 수 있다.
본 발명의 한 실시예에 따르면, 상기 분류 주석의 생성 단계는, 상기 제1 예측에 기초하여, 다수 클래스의 제1 확률 및 소수 클래스의 제2 확률을 결정하는 단계, 상기 제2 예측에 기초하여, 상기 다수 클래스의 제3 확률 및 상기 소수 클래스의 제4 확률을 결정하는 단계, 상기 제1 확률과 상기 제3 확률의 제1 평균을 계산하는 단계, 상기 제2 확률과 상기 제4 확률의 제2 평균을 계산하는 단계, 그리고 상기 계산한 제1 및 제2 평균에 기초하여 상기 제1 추가 데이터 집합을 분류하는 단계를 포함할 수 있다.
본 발명의 한 실시예에 따른 분류 방법은, 상기 잠재 공간의 과샘플링에 기초하여 제2 추가 데이터 집합을 생성하는 단계, 그리고 상기 입력 데이터 집합, 상기 주석 달린 제1 추가 데이터 집합 및 제2 추가 데이터 집합에 기초하여 상기 제3 분류기를 훈련시키는 단계를 더 포함할 수 있다.
본 발명의 한 실시예에 따른 제품 분류 시스템은 제조 과정을 통해서 제조된 제품의 분류 시스템으로서, 처리기, 그리고 메모리를 포함하며, 상기 메모리는 내부에 인스트럭션을 저장하고 있으며, 상기 처리기는 상기 인스트럭션을 실행하여, 입력 데이터 집합을 수신하고, 제1 분류기의 적어도 제1 및 제2 인스턴스를 생성하고, 상기 입력 데이터 집합에 기초하여 상기 제1 분류기의 상기 제1 및 제2 인스턴스를 훈련시키고, 상기 입력 데이터 집합에 기초하여 상기 입력 데이터 집합과 연관된 잠재 공간(latent space)의 표현을 학습하는 제2 분류기를 훈련시키고, 상기 잠재 공간에서 미분류 데이터 집합인 제1 추가 데이터 집합을 생성하고, 상기 제1 분류기의 상기 제1 인스턴스에 기초하여 상기 제1 추가 데이터 집합을 분류하기 위한 제1 예측을 생성하고, 상기 제1 분류기의 상기 제2 인스턴스에 기초하여 상기 제1 추가 데이터 집합을 분류하기 위한 제2 예측을 생성하고, 상기 제1 예측 및 상기 제2 예측에 기초하여 상기 제1 추가 데이터 집합용 분류 주석을 생성하고, 적어도 상기 입력 데이터 집합 및 상기 주석 달린 제1 추가 데이터 집합에 기초하여 제3 분류기를 훈련시키며, 상기 기훈련 제3 분류기는 분류할 제품의 데이터를 수신하고 상기 수신한 데이터에 기초하여 상기 제품에 대한 예측을 출력한다.
본 발명의 한 실시예에 따른 분류 시스템은, 제조 부품을 우량 또는 불량으로 분류하는 시스템으로서, 입력 데이터 집합을 수집하는 데이터 수집 회로, 그리고 상기 데이터 수집 회로와 연결되고 로직을 포함하는 처리 회로를 포함하며, 상기 처리 회로의 로직은, 상기 수집된 입력 데이터 집합을 수신하고, 제1 분류기의 적어도 제1 및 제2 인스턴스를 생성하고, 상기 입력 데이터 집합에 기초하여 상기 제1 분류기의 상기 제1 및 제2 인스턴스를 훈련시키고, 상기 입력 데이터 집합에 기초하여 상기 입력 데이터 집합과 연관된 잠재 공간(latent space)의 표현을 학습하는 제2 분류기를 훈련시키고, 상기 잠재 공간에서 미분류 데이터 집합인 제1 추가 데이터 집합을 생성하고, 상기 제1 분류기의 상기 제1 인스턴스에 기초하여 상기 제1 추가 데이터 집합을 분류하기 위한 제1 예측을 생성하고, 상기 제1 분류기의 상기 제2 인스턴스에 기초하여 상기 제1 추가 데이터 집합을 분류하기 위한 제2 예측을 생성하고, 상기 제1 예측 및 상기 제2 예측에 기초하여 상기 제1 추가 데이터 집합용 분류 주석을 생성하고, 적어도 상기 입력 데이터 집합 및 상기 주석 달린 제1 추가 데이터 집합에 기초하여 제3 분류기를 훈련시키며, 상기 기훈련 제3 분류기는 분류할 제품의 데이터를 수신하고 상기 수신한 데이터에 기초하여 상기 제품에 대한 예측을 출력한다.
이와 같이 함으로써, 이진 클래스에 대하여 불충분하고 불균형한 훈련 데이터를 확장하여 분류기를 꾸준하고 안정적으로 구축할 수 있다.
도 1은 본 발명의 한 실시예에 따라 부품을 불량 또는 우량으로 분류하는 시스템이다.
도 2는 본 발명의 한 실시예에 따른, 도 1의 분류기 엔진 개념의 블록도이다.
도 3은 본 발명의 한 실시예에 따라 학생 모델을 생성하고 훈련시키기 위하여 도 2의 분류기 엔진이 실행하는 과정의 흐름도이다.
도 4는 본 발명의 한 실시예에 따른 도 2의 VAE(variational autoencoder)의 상세한 블록도이다.
도 5는 본 발명의 한 실시예에 따른 잠재 공간 과샘플링 과정을 상세하게 나타낸 흐름도이다.
도 6의 (a)는 심층 학습 모델을 훈련시키는 데 사용될 수 있는 입력 데이터 집합의 한 예의 분포 그래프이다.
도 6의 (b)-(e)는 도 6(a)의 입력 데이터 집합에 기초하여 서로 다른 판단 범위를 생성하는 복수의 분류기 인스턴스의 예를 나타낸 그래프이다.
도 7의 (a)는 추가 데이터로 확장된 입력 데이터 집합의 한 예의 분포 그래프이다.
도 7의 (b)는 도 7(a)의 확장 훈련 데이터 집합에 기초하여 서로 다른 판단 범위를 생성하는 복수의 분류기 인스턴스의 그래프를 나타낸다.
이제 첨부한 도면을 참고하여 뒤에서 설명할 상세한 설명은 데이터 확장 시스템 및 방법의 실시예에 관한 것으로서, 본 발명에 의하여 구현 또는 이용될 형태를 모두 표현한 것은 아니다. 이제 첨부한 도면을 참고하여 본 발명의 실시예에 대하여 상세하게 설명한다. 그러나 서로 다른 실시예에서 구현되는 것과 동일한 또는 균등한 기능과 구조도 본 발명의 범위 내에 포함된다. 명세서 전체를 통하여 동일 또는 유사한 구성요소에 대해서는 동일한 도면 부호를 붙였다.
모바일 표시 장치 생산 과정 등의 제조 과정에서 모바일 표시 장치 제품을 생산하는 동안 디지털 흔적 데이터(digital trace data)를 얻을 수 있다. 모바일 표시 장치 제품을 예로 들었지만, 본 발명의 실시예는 다른 유리 제품 및 유리가 아닌 제품, 예를 들면 웨이퍼 및 반도체 유리 등을 생산하는 공정에도 적용될 수 있다는 것을 당업자가 알아야 한다.
흔적 데이터는, 예를 들어 생산 과정에서 제품을 운반하는 컨베이어 위에 위치한 하나 이상의 감지기를 통하여 수집할 수 있다. 감지기는 감지한 움직임(activity)을 무엇이든 기록한다. 감지기는, 예를 들어 생산 과정에서 시간에 따른 온도와 압력의 측정치를 탐지하는 복수의 온도 및 압력 감지기일 수 있다. 각 감지기는 여러 번[체임버에서 제조하는 하나의 유리 기판(glass) 또는 웨이퍼에 대하여 수 초마다] 샘플링될 수 있다.
"우량" 제품으로부터 불량 제품을 예측하는 분류기(classifier)를 사용하여 흔적 데이터를 자동으로 분석할 수 있다. 따라서 데이터 표본을 두 개의 클래스, 즉 "우량" 및 "불량" 중 하나에 할당하도록 분류기를 학습시킬 필요가 있다. 그러나 이러한 분류기에 사용하는 학습 데이터는 극심한 불균형 상태에 있다. 예를 들면, 전자 부품을 제조하는 제조 공정에서, 부품의 대부분은 용인(acceptable) 또는 "우량"이고, 일부만이 어떤 점에서 흠이 있거나 "불량"인 경우이다. "우량" 부품은 불량품의 100 배 내지 200 배에 이른다. 이러한 이유 때문에, 데이터를 제조 및 검사 과정에서 얻으면, 대부분의 데이터는 양품으로부터 나온 것이므로 학습 데이터에 불균형이 생기는 것이다. 또한, 제품 모델이 빠르게 바뀌기 때문에 심층 학습 모델을 훈련할 충분한 양의 데이터 집합을 기대하기가 어려운 것이 일반적이다. 제품 모델의 짧은 수명으로 인하여 충분한 데이터 표본을 모으기가 어렵다. 새로운 제품 모델의 불량 조건을 감지하기 위한 새로운 AI/ML 모델을 생성할 필요가 있는 것 또한 일반적이다. 따라서 한정된 데이터 집합으로 일반화 모델을 생성하는 것이 통상의 도전 과제이다.
훈련 데이터 집합의 크기를 인위적으로 확대하는 데 사용되는 데이터 확장(data augmentation) 기술이 존재한다. 예를 들면, 모든 가능한 데이터 표본의 경우들을 생성하여 훈련 데이터로 사용할 수 있다. 그러나 모든 가능한 경우들은 하나의 데이터 집합으로 만들기에는 너무 크다. 또한, 표본들을 확장하더라도 모든 표본들이 다 모델 훈련에 의미 있는 것은 아닐 수도 있다.
다른 예로는 데이터 증류(data distillation) 기술이 있으며 시각 인식(visual recognition)/영상 분류(image classification)에 자주 사용된다. 데이터 증류는 분류되지 않은 데이터 또는 미분류 데이터(unlabeled data)의 주석을 생성함으로써 분류되지 않은 데이터로부터 얻은 지식을 증류하는 일반적인 총지도 학습(omni-supervised learning) 방법이다. 주석은 많은 양의 분류 데이터로 훈련 받은 모델을 사용하여 생성한다. 이어 추가 생성 주석(extra generated annotations)을 사용하여 모델을 재훈련 시킨다. 추가 미분류 데이터는 분류 데이터의 기하/공간 변환[보기: 플립(flip), 시프트(shift) 및/또는 회전(rotation)]을 통하여 생성할 수 있다. 데이터 증류에 대한 추가 정보는 Ilija Radosavovic 등의 논문, "Data Distillation: Towards Omni-Supervised Learning," Computer Vision and Pattern Recognition (2018) (https :// arxiv . org /abs/1712.04440 에서 입수 가능)에 나와 있으며, 이를 여기에 인용함으로써 본 명세서의 내용에 포함한다.
그러나 영상 분류를 위하여 데이터를 확장하는 데 주로 사용되는 기하 변환은 흔적 데이터에 적용할 수 없는데, 이는 변환을 적용한 후에 입력 데이터의 특성이 남을지 아닐지를 알 수 없기 때문이다. 또한, 결함 표본에 대하여 일반적으로 제조 과제와 결함 패턴 생성 사이의 상관 관계가 있기 때문에, 알려진 데이터 확대 기술을 적용함으로써 분류기의 품질을 개선한다는 보장이 없다. 그러므로 기존의 데이터 확장 기술은 훈련 목적으로 결함이나 흔적 데이터를 확장하기에 부적절하다. 데이터 증류는 인터넷 수준의 데이터 집합으로부터 미분류 데이터 집합을 사용하는 것을 제시하지만, 특정 회사의 제조 데이터 집합에 대하여 유사한 데이터 표본을 인터넷에서 찾을 수는 없다.
종래 기술의 단점 하에서, 기대하는 것은 분류 데이터 집합에서의 데이터 불충분과 클래스 불균형이라는 문제를 다루는 일반화 ML 모델을 생성하기 위한 총지도 학습 시스템 및 방법이다. 본 발명의 실시예에 따르면, 심층 생성 모델(deep generative model)을 통한 데이터 확장을 통하여 입력 데이터 집합의 불충분 및 클래스 불균형을 다룬다. 특히, 입력 데이터 공간 대신 다체(manifold) [잠재(latent)] 공간에서 데이터 확장을 수행한다.
또한, 일반화 M/L 모델을 생성할 때 주된 문제 중 하나가 불충분한 데이터 집합이므로 심층 생성 모델 데이터 생성을 사용하여 데이터 집합에 더욱 많은 변이(variance)를 융합시킴으로써 이 문제를 해결한다. 본 발명의 한 실시예에 따르면, 확장/추가(augmented/supplemental) 데이터는 임의 입력(random input)을 사용하여 잠재 공간에서 생성된 미분류 데이터 집합이다. 본 발명의 한 실시예에 따르면, 확장 데이터는 잠재 공간 과샘플링(oversampling)으로부터 얻은 합성 데이터 표본(synthetic data sample)으로 이루어진다.
본 발명의 한 실시예에 따르면, 기준 기계 학습 모델(baseline machine learning model)의 복수 인스턴스(instance)로부터 지식을 증류하여 미분류 데이터 집합에 주석을 달고 새로운 주석 데이터 집합(annotated dataset)을 생성한다. 미분류 데이터 집합을 기훈련 ML 모델(trained ML model)의 복수 인스턴스 각각에 공급함으로써 복수 인스턴스로부터의 지식을 증류할 수 있다. 이어 앙상블 메커니즘(ensemble mechanism)을 사용하여 ML 모델 인스턴스 각각의 출력에 기초하여 미분류 데이터를 분류할 수 있다. 이와 같이 낮은 데이터 밀도 모델(less data intense models)(보기: 개별 ML 모델 인스턴스)로부터 지식 증류를 달성할 수 있으며, 종래 모델보다 나은 분류 정확도를 가지도록 ML 모델을 일반화할 수 있다. 일단 훈련을 받은 일반화 ML 모델은 제조 과정에서 생기는 불량 부품을 예측하는 데 사용할 수 있다.
도 1은 본 발명의 한 실시예에 따라 부품을 불량 또는 우량으로 분류하는 시스템이다. 본 발명의 한 실시예에 따르면, 시스템은 하나 이상의 데이터 수집 회로(data collection circuit)(105), 데이터 전처리 회로(data preprocessing circuit)(110) 및 분류기 엔진(classifier engine)(115)을 포함한다. 데이터 수집 회로(105)는 예를 들어 온도 및 압력 감지기, 증폭기 및/또는 아날로그-디지털 변환기를 포함할 수 있고, 데이터 전처리 회로(110)는 뒤에서 상세하게 설명하겠지만 데이터의 포맷을 바꿀 수 있으며, 분류기 엔진(115)은 심층 학습(DL) 신경망을 생성할 수 있다.
데이터 전처리 회로(110)는 데이터 수집 회로(105)로부터 원시 흔적 데이터(보기: 앞서 설명한 시간 흔적의 수)를 수신하고, 수신한 데이터를 예를 들어 2 차원 배열(보기: 224 x 224 배열)로 바꿀 수 있다. 본 발명의 한 실시예에 따르면, 데이터 전처리 회로(110)는 원시 흔적 데이터를 저장하는 하나 이상의 데이터 기억 장치를 포함한다. 이차원 배열의 크기는 신경망이 일반적으로 분류하는 영상의 크기 정도가 되도록 선택할 수 있다. 포맷 변환(reformatting)은 영상의 신경망 분류기를 동작시키는 코드의 특정 부분을 재사용할 수 있도록 하는데 이를 본 발명의 일부 실시예에 사용할 수 있다.
포맷 변환된 입력 데이터는 분류기 엔진(115)에 공급되어 DL 신경망을 통한 예측 훈련 또는 예측에 사용될 수 있다. 이러한 점에서, 분류기 엔진(115)은 하나 이상의 실재하는, 기계로 읽을 수 있는 매체에 저장되어 신경망을 통하여 예측 생성, 예측 훈련 및 예측 수행하는 하나 이상의 처리 장치에 의하여 실행되는 논리 또는 인스트럭션으로 이루어질 수 있다.
도 2는 본 발명의 한 실시예에 따른 분류기 엔진(115) 개념의 블록도이다. 훈련하는 동안, 분류 입력 데이터 집합(200)을 전처리 회로(110)로부터 수신한다. 분류 입력 데이터 집합(200)은 "우량" (또는 "G")으로 분류된 제1 개수의 데이터 표본[보기: 수 천 데이터 원소(data element)] 및 "불량" (또는 "NG")으로 분류된 제2 개수의 데이터 표본(보기: 10에서 100 사이의 데이터 원소)을 포함한다.
분류 입력 데이터 집합(200)은 예를 들어 VAE(variational autoencoder)(202) 등의 심층 학습 신경망(deep learning neural network)일 수 있는 분류기를 훈련시키는 데 사용된다. VAE를 예로 들었지만, 당업자라면 VAE 대신 다른 심층 생성 모델, 예를 들어 생성적 대립 신경망(GAN: generative adversarial network), 자기 회기 모델(autoregression models) 등도 사용할 수 있음을 알고 있다. VAE를 사용하는 실시예에서는, VAE(202)가 입력 데이터 집합(200)에 대한 잠재(latent)/비밀(hidden)/다체(manifold) 공간의 표현을 학습한다. 일반적으로 잠재 공간은 입력 데이터 집합(200)의 간략(simpler)/압축(compressed) 표현(보기: 낮은 차원)인 잠재 벡터로 이루어진다.
본 발명의 한 실시예에 따르면, 훈련 받은 VAE(202)는 추가 훈련 데이터(합성 데이터 표본이라고도 함)를 통계적으로 생성할 때 실행된다. 이와 관련하여 VAE(202)는 과샘플링 모듈(204) 및 임의 생성 모듈(206)과 연결될 수 있다. 과샘플링 모듈(204)은 VAE(202)가 학습하는 잠재 공간을 과샘플링할 때 실행되어, 추가 "불량" 표본을 생성한다. 임의 생성 모듈(206)은 임의 입력을 사용하여 잠재 공간 내 추가 표본을 생성할 때 실행된다. 본 발명의 한 실시예에 따르면, 임의 생성된 데이터 표본은 미분류 데이터 표본이다.
본 발명의 한 실시예에 따르면, 분류기 엔진(115)은 또한 이진 기준 분류기의 복수(보기: 2 이상) 인스턴스(208a-208c)(이들을 집합적으로 208로 표시함)를 생성한다. 각 분류기/모델 인스턴스(208)는 예를 들어 신경망일 수 있다.
임의 생성 모듈(206)로부터 임의 생성된 데이터 표본을 지식 증류를 위해 다양한 분류기 인스턴스(208)에 공급한다. 이와 관련하여, 임의 생성 데이터 표본에 대한 분류기 인스턴스(208)로부터의 예측 앙상블은 학생 분류기/모델(210)을 훈련시키는 데 사용된다. 즉, 다양한 분류기 인스턴스(208)에 의한 예측 모음은 새로운 지식을 생성하고, 생성된 새로운 지식을 증류하여 학생 분류기(210)를 훈련시키는 데 사용할 수 있다.
본 발명의 한 실시예에 따르면, 분류기 인스턴스(208)로부터의 증류 지식 외에, 원본 분류 데이터 집합(200) 및/또는 과샘플링 모듈(204)로부터의 추가 표본을 학생 분류기(210) 훈련에 사용할 수 있다. 일단 훈련 받은 학생 분류기(210)는 새로 제조된 제품에서 얻은 새로운 흔적 데이터와 함께 제공되어 그 제품이 "우량"인지 "불량"인지를 예측한다. 본 발명의 한 실시예에 따르면, 훈련 받은 학생 분류기(210)는 새로 제조된 제품에 대한 이러한 예측 유형을 만드는 예측 시스템(도시하지 않음)에 의하여 사용될 수 있다. 본 발명의 한 실시예에 따르면, 예측 시스템은 제품이 "불량"인 것으로 예측되는 경우, 취해야 할 조치(action)에 대한 권고 또는 메시지를 출력할 수 있다. 조치의 예로는 불량품을 제거하여 더 검사하거나, 수리 또는 폐기하는 것을 들 수 있다. 실험 결과, 기훈련 모델(210)이 새로운 흔적 데이터에 대해서 분류 정확도의 문턱 값(보기: 90 % 이상의 정확도) 안에서 꾸준하게 동작할 것임을 알 수 있었다.
도 3은 본 발명의 한 실시예에 따라 학생 모델(210)을 생성하고 훈련시키기 위하여 분류기 엔진(115)이 실행하는 과정의 흐름도이다. 블록(300)에서, 분류기 엔진(115)은 분류된 입력 데이터 집합(200)을 수신한다.
블록(302)에서, 입력 데이터 집합(200)은 기준 분류기의 2 이상의 인스턴스(208)를 (예를 들어 지도 학습을 사용하여) 훈련시키는 데 사용된다. 각 분류기 인스턴스(208)는 기준 분류기를 임의 초기 상태로 초기화함으로써 생성될 수 있다. 예를 들면, 기준 분류기의 초기 중량은 초기화 시에 임의로 설정될 수 있다. 간혹 크고 복잡한 개별 독립 모델에 대립되는 것으로서 단일 모델의 인스턴스를 훈련시킴으로써, (컴퓨터 자원의 관점에서) 더욱 편리하고 비용 효율이 높은 학습이 나올 수 있다.
블록(300)에서 받은 입력 데이터 집합(200)은 또한 블록(308)에서 VAE(202)를 훈련시키는 데에도 사용된다. 본 발명의 한 실시예에 따르면, VAE(202)를 훈련시켜 잠재 공간에서의 입력 데이터 집합(200)의 표현을 습득하게 한다. 일단 훈련을 마친 VAE(202)는 블록(310, 314)에서 확장 데이터를 생성하는 데 사용할 수 있다. 이와 관련하여, 블록(310)에서, 분류기 엔진(115)은 기훈련 VAE 모델을 실행하여 잠재 공간 내 추가 미분류 데이터 표본(312)을 생성한다. 추가 데이터 표본은 예를 들어 임의 입력을 사용하여 생성할 수 있다.
블록(304a-304c)에서, 분류기 인스턴스(208) 각각은 추가 미분류 데이터 표본(312)을 수신하고 수신한 표본에 대한 예측을 생성한다.
블록(306)에서, 여러 분류기 인스턴스(208)에서 생성한 예측 결과 앙상블은 추가 미분류 데이터 표본(312)에 대한 주석을 생성하는 데 사용되어, 주석 달린 데이터 집합(annotated dataset)(316)을 생성한다. 이와 같이 하여, 각각의 분류기 인스턴스(208)를 실행하여 얻은 지식을 학생 분류기(210)로 증류할 수 있다. 여러 분류기 인스턴스(208)의 예측 모음을 고려함으로써, 각각의 모델 인스턴스(208)를 독립적으로 고려할 때는 오류가 생길 수 있다 하더라도, 기훈련 학생 모델(210)의 오류를 줄일 수 있다. 앙상블 메커니즘의 사용은 기훈련 학생 모델(210)의 안정성을 꾸준히 확보하기에 바람직하다.
여러 가지 앙상블 방법 중 하나는 추가 미분류 데이터 집합(312)의 주석을 생성하는 데 사용될 수 있다. 이러한 앙상블 방법으로는 하드 보팅(hard voting), 소프트 보팅(soft voting), 지식 증류 등이 있으나 이에 한정되지는 않는다. 하드 보팅 앙상블 기반 방법은 분류기 인스턴스(208)의 다수 예측을 취하고, 다수결에 기초하여 추가 데이터 집합을 분류한다. 예를 들면, 분류기 인스턴스 A(208a) 및 분류기 인스턴스 B(208b)가 특정 데이터 표본에 대해서 "우량" 클래스를 예측하고, 분류기 인스턴스 C(208c)가 "불량" 클래스를 예측한다면, 그 데이터 표본을 "우량" 클래스로 분류한다.
소프트 보팅 앙상블 기반 방법은 다음과 같이 여러 분류기 인스턴스(208)의 예측 확률의 평균을 취한다.
p(x) =
Figure pat00001
,
여기에서 K는 분류기 인스턴스의 개수이다.
예를 들면, 분류기 인스턴스 A(208a)가 99%의 확률로 "우량"을 예측하고, 분류기 인스턴스 B(208b)가 49%의 확률로 "우량"을 예측하고, 분류기 인스턴스 C(208c)가 49%의 확률로 "우량"을 예측한다면, 그 데이터 표본이 "우량"일 확률은 (99 + 49 + 49) / 3 = 65.67%이다. 따라서 그 데이터 표본에 대한 앙상블 예측은 "우량"이 된다.
지식 증류 기반 앙상블 방법은 다수 클래스(보기: "우량")뿐 아니라 소수 클래스(보기: "불량")까지 고려하여 모델의 복수 인스턴스의 평균 확률을 취한다. 이와 같이, 다수 클래스와 소수 클래스 양자의 평균 확률을 데이터에 대한 앙상블 판단으로서 출력한다. 본 발명의 한 실시예에 따르면, 지식 증류는 복수 클래스 모델로 확장될 수 있다. 이러한 실시예에서는, 복수 클래스에 대한 모델의 복수 인스턴스에 대해서 평균 확률을 구할 수 있다.
본 발명의 한 실시예에 따르면, 분류기 엔진(115)은 또한 블록(314)에서 학생 모델(210) 훈련용 추가 데이터 표본을 생성한다. 이와 관련하여, 과샘플링 알고리즘을 적용하여 과샘플링 데이터 집합(318)을 만들기 위하여 소수 클래스(보기: "불량" 클래스)에 추가 데이터 표본을 생성한다. 본 발명의 한 실시예에 따르면, 원본 또는 다른 잠재 공간 대신 VAE 잠재 공간으로부터 과샘플링한다.
블록(320)에서, 분류기 엔진(115)은 i) 원본 입력 데이터 집합(200), ii) 주석 달린 데이터 집합(316) 및/또는 iii) 과샘플링 데이터 집합(318)을 사용하여 학생 분류기(210)를 훈련시킨다. 이어 기학습 학생 분류기(210)를 이진 분류기로서 사용하여, 새로이 제조된 제품에 대해서 얻은 새로운 흔적 데이터에 기초하여 그 제품을 "우량" 또는 "불량" 등으로 분류할 수 있다.
도 4는 본 발명의 한 실시예에 따른 VAE(202)의 상세한 블록도이다. 일반적으로 VAE(202)는 부호기망(encoder network)(줄여서 "부호기"라 함)(400) 및 복호기망(decoder network)(줄여서 "복호기"라 함)(402)을 포함하는 신경망이다. 부호기(400)는 입력 데이터(200) 등 수신한 각각의 데이터 원소(element)를 잠재 벡터(404)로 사상(map) 또는 부호화할 수 있는데, 이는 잠재 벡터(404)가 단위 가우스 분포에 근사한(즉, 벡터의 원소가, 예를 들면 평균과 편차를 각각 가지는 독립적인 가우스 분포인) 분포를 가진다는 제한 하에서 행해진다. 이와 같이, VAE(202)는 평균 벡터(406)와 표준 편차 벡터(408)를 적용하여 수신한 데이터 원소 각각을 잠재 벡터(404)로 부호화한다. 당업자라면 잠재 벡터(404)가 입력 데이터(200)의 압축된 저차원 표현이라는 것을 알아야 한다. 모든 잠재 벡터(404)의 공간을 잠재 공간이라 할 수 있다.
복호기(402)는 부호기(400)의 대략적인 역동작을 수행할 수 있는데, 부호기(400)가 생성한 각각의 잠재 벡터(404)를 부호기(400)가 잠재 벡터(404)로 사상한 데이터 원소에 근사한 (합성) 데이터 원소로 사상할 수 있다. 부호기(400) 및 복호기(402)는 함께 입력 데이터(200)로 훈련 받을 수 있다.
부호기(400) 및 복호기(402)의 훈련을 마치면, 블록(310)(도 3)을 실행하여 잠재 공간에서 추가 데이터를 생성할 수 있다. 예를 들면, 잠재 공간을 임의 샘플링하여 (단위 가우스 분포를 가지는) 임의 벡터를 생성할 수 있으며, 생성한 임의 벡터를 합성 데이터 원소를 생성하는 [예를 들어 추가 데이터 집합(312)을 생성하는] 복호기(402)에 제공할 수 있다. VAE(202)를 두 개의 클래스로부터의 데이터 원소(즉, "우량" 데이터 원소와 "불량" 데이터 원소)로 훈련 시키기 때문에, 추가 데이터 집합(312)은 미분류 상태이다.
도 5는 본 발명의 한 실시예에 따른 블록(314)(도 3)의 잠재 공간 과샘플링 과정을 상세하게 나타낸 흐름도이다. 블록(500)에서, 블록(308)에서 VAE 모델을 훈련시켜 얻은 잠재 공간 데이터 집합을 과샘플링 모듈(502)에 입력한다. 본 발명의 한 실시예에 따르면, 과샘플링 모듈(502)은 소수 클래스("불량" 클래스) 내에 있는 인스턴스로부터 속성(attribute)을 샘플링하여 합성 표본[보기: 과샘플링된 데이터 집합(318)]을 생성한다. 원본 입력 데이터 집합을 사용하여 원본 입력 데이터 집합 내에서 소수 클래스를 확장하는 종래의 과샘플링과는 달리, 본 발명의 실시예에서는 습득한 잠재 공간에서 소수 클래스 데이터를 확장할 수 있다.
과샘플링은 SMOTE(Synthetic Minority Over-sampling Technique), ADASYN(Adaptive Synthetic) 과샘플링 등의 알고리즘을 사용하여 수행할 수 있다. 일반적으로 SMOTE는 복사본을 생성하는 대신 소수 클래스로부터 합성 표본을 생성하는 과샘플링 방법이다. 본 발명의 한 실시예에 따르면, 알고리즘은 잠재 공간에서 [거리 척도(distance measure)를 사용하여] 2 이상의 비슷한 인스턴스를 선택하고, 인접한 인스턴스와의 차이 내에서 임의의 양만큼 한 번에 한 속성씩 인스턴스를 변화시킨다.
ADASYN는 각각의 데이터 원소에 작은 임의 벡터[또는 "오프세트(offset)"]을 더함으로써 이들을 변화시켜(offset), 소수 클래스로부터의 합성 표본이 다른 클래스(보기: "우량" 클래스 등 다수 클래스)와 간섭할 가능성을 줄인다.
블록(504)에서 잠재 공간의 과샘플링 데이터 집합을 출력한다.
도 6의 (a)는 심층 학습 모델을 훈련시키는 데 사용될 수 있는 입력 데이터 집합[입력 데이터 집합(200)과 유사함]의 한 예의 분포 그래프이다. 도 6(a)의 예에서, 입력 데이터 집합(200)은 작고, "우량"으로 분류된 데이터(600)와 "불량"으로 분류된 데이터(602)를 포함한다.
도 6의 (b)-(e)는 도 6(a)의 입력 데이터 집합(200)에 기초하여 서로 다른 판단 범위(604a-604d)를 생성하는 복수의 분류기 인스턴스[보기: 분류기 인스턴스(208)]의 예를 나타낸 그래프이다. 본 발명의 한 실시예에 따르면, 판단 범위(604a-604d)의 차이는 입력 훈련 데이터가 적기 때문이다. 판단 범위(604a-604d) 차이로 인하여, 각 모델은 나중 데이터에 대해서 서로 다른 분류 판단을 할 것으로 예상된다.
도 7의 (a)는 본 발명의 한 실시예에 따른 데이터 확장 메커니즘에 따라 추가 훈련 데이터(700)로 확장된 입력 데이터 집합의 한 예[도 6(a)의 데이터 집합과 유사함]의 분포 그래프이다. 추가 표본은 입력 데이터 집합(200)이 적음으로 인한 입력 데이터에서의 간극을 채워준다. 추가 표본은 심층 생성 모델을 사용하여 앞에서 설명한 것과 같은 데이터 확장을 통하여 생성된다.
도 7의 (b)는 도 7(a)의 확장 훈련 데이터 집합에 기초하여 서로 다른 판단 범위(704a-704c)를 생성하는 복수의 분류기 인스턴스[보기: 분류기 인스턴스(208)]의 그래프를 나타낸다. 도 7(b)에 도시한 바와 같이, 입력 데이터의 간극을 추가 표본(700)으로 채우지만, 복수 분류기 인스턴스 각각은 여전히 서로 다른 판단 범위(704a-704c)를 생성하는 경향이 있다. 그러나 화살표(706a-706c)로 나타낸 것처럼 복수 분류기 인스턴스로부터 지식 증류를 적용하면, 개별 모델 인스턴스 각각보다 안정적이고 정확한 새로운 학생 분류기용 판단 범위(704d)를 정의할 수 있다.
실험 결과, 모델 인스턴스로부터 지식 증류를 적용함으로써, 전체 테스트 데이터 집합에 대해서 알지 못해도 일반화 ML 모델이 꾸준하고 안정적으로 생성될 것임을 알 수 있었다. 예를 들면, "불량" 데이터에 대한 개별 모델 인스턴스 일부의 유효 정확도는 80% 로 낮다. 그러나 본 발명의 실시예에 따른 데이터 확장 및 지식 증류 메커니즘으로 생성된 일반화 ML 모델은 "불량" 데이터에 대해서 90% 이상의 유효 정확도를 나타낸다.
본 발명의 한 실시예에 따르면, 하나 이상의 데이터 전처리 회로(110), 분류기 엔진(115), 앞서 설명한 다양한 모듈 및 모델/분류기는 하나 이상의 처리 회로에 의하여 수행될 수 있다. "처리 회로"는 하드웨어, 펌웨어, 소프트웨어 또는 이들의 조합을 사용하여 구현할 수 있다. 처리 회로는 예를 들면, 응용 주문형 집적 회로(ASIC), 범용 또는 전용 중앙 처리 장치(CPU), 디지털 신호 처리기(DSP), 그래픽 처리 장치(GPU), FPGA 등의 프로그램가능 논리 장치를 포함할 수 있다. 처리 회로에서 각각의 함수는 그 기능을 수행하는 유선 하드웨어 또는 비순간(non-transitory) 저장 매체에 저장된 명령을 수행하는 CPU 등의 범용 하드웨어로 수행될 수 있다. 처리 회로는 하나의 인쇄 회로 기판(PCB)에 제작되거나 서로 연결된 PCB에 분산 배치될 수 있다. 처리 회로는 다른 처리 회로를 포함할 수 있는데, 예를 들면 PCB 상에서 서로 연결된 FPGA와 CPU를 포함할 수 있다.
"제1", "제2", "제3" 등의 용어를 여러 가지 원소, 성분, 영역, 층, 부분 등에 사용하지만, 이들은 이런 수식어에 의하여 한정되지 않는다. 이러한 용어는 어떤 원소, 성분, 영역, 층, 부분을 다른 원소, 성분, 영역, 층, 부분과 구별하기 위하여 사용하는 것이며 본 발명의 취지와 범위를 벗어나지 않는다.
여기에서 사용된 용어는 특정 실시예를 설명할 목적으로 사용할 뿐이며 본 발명을 제한하고자 하는 것은 아니다. 여기에서 "실질적으로", "약", "대체로" 및 이와 비슷한 표현은 근사를 나타내는 표현일 뿐 "정도"를 나타내는 것이 아니며, 당업자가 알 수 있는 측정값 또는 계산 값의 고유 오차를 나타내는 데 사용한다.
여기에서 수를 특별히 언급하지 않으면 단수 또는 복수의 경우를 모두 포함한다. 어떤 특징, 단계, 동작, 부분, 성분 등을 "포함"한다는 표현은 해당 부분 외에 다른 특징, 단계, 동작, 부분, 성분 등도 포함할 수 있다는 것을 의미한다. "및/또는"이라는 표현은 나열된 것들 중 하나 또는 둘 이상의 모든 조합을 포함한다. 나열 목록 앞에 기재한 "적어도 하나" 등의 표현은 목록 전체를 수식하는 것이지 목록 내의 각각의 것을 수식하는 것은 아니다. 또한, 본 발명의 실시예를 설명할 때 사용하는 "수 있다"는 표현은 "본 발명의 하나 이상의 실시예"에 적용 가능하다는 것을 뜻한다. "예시적인"이라는 용어는 예 또는 도면을 나타낸다. "사용", "이용" 등은 이와 유사한 다른 표현과 함께 비슷한 의미로 사용될 수 있다.
부분, 층, 영역, 성분 등이 다른 부분, 층, 영역, 성분의 "위에" 있거나 "연결되어" 있는 것으로 기재하는 경우 "바로" 위에 있거나 또는 "직접" 연결되어 있는 경우뿐 아니라 중간에 다른 부분, 층, 영역, 성분 등이 더 끼어 있는 경우도 포함한다. 그러나 "바로 위에" 있거나 "직접 연결"되어 있는 것으로 기재하면 중간에 다른 부분이 없다는 것을 뜻한다.
여기에 기재한 수치 범위는 해당 범위 안에 포함되는 동일한 정확도의 모든 부분 범위(sub-range)를 포함한다. 예를 들면, "1.0 내지 10.0"의 범위는 최소값 1.0과 최대값 10.0 및 그 사이에 있는 모든 부분 범위, 즉, 1.0 이상의 최소값과 10.0 이하의 최대값을 가지는 부분 범위, 예를 들면 2.4 내지 7.6을 포함한다. 여기에서 언급한 최대값은 그 안에 포함되고 그보다 작은 모든 수치 한계를 포함하고, 본 명세서에 기재한 최소값은 그 안에 포함되고 그보다 큰 모든 수치 한계를 포함한다.
이상에서 모델 인스턴스(model instance)에 대한 지식 증류(knowledge distillation) 시스템 및 방법의 실시예에 대하여 설명 및 도시하였지만, 당업자라면 이러한 실시예를 변경 및 수정할 수도 있다. 따라서 여기에서 제시한 원리에 따라 구성된 다른 지식 증류 시스템 및 방법도 본 발명에 포함된다. 본 발명은 다음의 청구범위 및 그 등가물에 의하여 정의된다.
105: 데이터 수집 회로
110: 전처리 회로
115: 분류기 엔진
200: 입력 데이터 (집합)
202: VAE(variational autoencoder)
204: 과샘플링 모듈
208: 인스턴스
210: 분류기/모델
312: 추가 데이터 집합/미분류 데이터 표본
316: 주석 달린 데이터 집합
318: 과샘플링 데이터 집합
400: 부호기
402: 복호기
404: 잠재 벡터
406: 평균 벡터
408: 표준 편차 벡터
502: 과샘플링 모듈
600: 우량 데이터
602: 불량 데이터
700: 추가 표본/추가 훈련 데이터
604a-604d, 704a-704d: 판단 범위

Claims (19)

  1. 처리기(processor)에 의하여, 입력 데이터 집합을 수신하는 단계,
    상기 처리기에 의하여, 제1 분류기의 적어도 제1 및 제2 인스턴스를 생성하는 단계,
    상기 처리기에 의하여, 상기 입력 데이터 집합에 기초하여 상기 제1 분류기의 상기 제1 및 제2 인스턴스를 훈련시키는 단계,
    상기 처리기에 의하여, 상기 입력 데이터 집합에 기초하여 상기 입력 데이터 집합과 연관된 잠재 공간(latent space)의 표현을 학습하는 제2 분류기를 훈련시키는 단계,
    상기 처리기에 의하여, 상기 잠재 공간에서 미분류 데이터 집합인 제1 추가 데이터 집합을 생성하는 단계,
    상기 처리기에 의하여, 상기 제1 분류기의 상기 제1 인스턴스에 기초하여 상기 제1 추가 데이터 집합을 분류하기 위한 제1 예측을 생성하는 단계,
    상기 처리기에 의하여, 상기 제1 분류기의 상기 제2 인스턴스에 기초하여 상기 제1 추가 데이터 집합을 분류하기 위한 제2 예측을 생성하는 단계,
    상기 처리기에 의하여, 상기 제1 예측 및 상기 제2 예측에 기초하여 상기 제1 추가 데이터 집합용 분류 주석을 생성하는 단계, 그리고
    상기 처리기에 의하여, 적어도 상기 입력 데이터 집합 및 상기 주석 달린 제1 추가 데이터 집합에 기초하여 제3 분류기를 훈련시키는 단계
    를 포함하며,
    상기 기훈련 제3 분류기는 분류할 제품의 데이터를 수신하고 상기 수신한 데이터에 기초하여 상기 제품에 대한 예측을 출력하는
    제조 과정을 통해서 제조된 제품의 분류 방법.
  2. 제1항에서,
    상기 제1, 제2 및 제3 분류기 각각은 신경망인 분류 방법.
  3. 제2항에서,
    상기 제2 분류기는 VAE(variational autoencoder)인 분류 방법.
  4. 제1항에서,
    상기 잠재 공간은 상기 입력 데이터 집합의 압축 표현을 제공하는 분류 방법.
  5. 제1항에서,
    상기 제1 추가 데이터 집합의 생성 단계는, 상기 잠재 공간에서 임의 데이터 원소를 생성하는 단계를 포함하는 분류 방법.
  6. 제1항에서,
    상기 분류 주석의 생성 단계는,
    상기 제1 예측 및 상기 제2 예측에 기초하여 다수 클래스를 결정하는 단계, 그리고
    상기 다수 클래스에 기초하여 상기 제1 추가 데이터 집합을 분류하는 단계
    를 포함하는
    분류 방법.
  7. 제1항에서,
    상기 분류 주석의 생성 단계는,
    상기 제1 예측의 제1 확률과 상기 제2 예측의 제2 확률을 결정하는 단계,
    상기 제1 확률과 상기 제2 확률의 평균을 계산하는 단계, 그리고
    상기 계산한 평균에 기초하여 상기 제1 추가 데이터 집합용 클래스를 정의하는 단계
    를 포함하는
    분류 방법.
  8. 제1항에서,
    상기 분류 주석의 생성 단계는,
    상기 제1 예측에 기초하여, 다수 클래스의 제1 확률 및 소수 클래스의 제2 확률을 결정하는 단계,
    상기 제2 예측에 기초하여, 상기 다수 클래스의 제3 확률 및 상기 소수 클래스의 제4 확률을 결정하는 단계,
    상기 제1 확률과 상기 제3 확률의 제1 평균을 계산하는 단계,
    상기 제2 확률과 상기 제4 확률의 제2 평균을 계산하는 단계, 그리고
    상기 계산한 제1 및 제2 평균에 기초하여 상기 제1 추가 데이터 집합을 분류하는 단계
    를 포함하는
    분류 방법.
  9. 상기 잠재 공간의 과샘플링에 기초하여 제2 추가 데이터 집합을 생성하는 단계, 그리고
    상기 입력 데이터 집합, 상기 주석 달린 제1 추가 데이터 집합 및 제2 추가 데이터 집합에 기초하여 상기 제3 분류기를 훈련시키는 단계
    를 더 포함하는 분류 방법.
  10. 처리기, 그리고
    메모리
    를 포함하며,
    상기 메모리는 내부에 인스트럭션을 저장하고 있으며,
    상기 처리기는 상기 인스트럭션을 실행하여,
    입력 데이터 집합을 수신하고,
    제1 분류기의 적어도 제1 및 제2 인스턴스를 생성하고,
    상기 입력 데이터 집합에 기초하여 상기 제1 분류기의 상기 제1 및 제2 인스턴스를 훈련시키고,
    상기 입력 데이터 집합에 기초하여 상기 입력 데이터 집합과 연관된 잠재 공간(latent space)의 표현을 학습하는 제2 분류기를 훈련시키고,
    상기 잠재 공간에서 미분류 데이터 집합인 제1 추가 데이터 집합을 생성하고,
    상기 제1 분류기의 상기 제1 인스턴스에 기초하여 상기 제1 추가 데이터 집합을 분류하기 위한 제1 예측을 생성하고,
    상기 제1 분류기의 상기 제2 인스턴스에 기초하여 상기 제1 추가 데이터 집합을 분류하기 위한 제2 예측을 생성하고,
    상기 제1 예측 및 상기 제2 예측에 기초하여 상기 제1 추가 데이터 집합용 분류 주석을 생성하고,
    적어도 상기 입력 데이터 집합 및 상기 주석 달린 제1 추가 데이터 집합에 기초하여 제3 분류기를 훈련시키며,
    상기 기훈련 제3 분류기는 분류할 제품의 데이터를 수신하고 상기 수신한 데이터에 기초하여 상기 제품에 대한 예측을 출력하는
    제조 과정을 통해서 제조된 제품의 분류 시스템.
  11. 제10항에서,
    상기 제1, 제2 및 제3 분류기 각각은 신경망인 분류 시스템.
  12. 제11항에서,
    상기 제2 분류기는 VAE(variational autoencoder)인 분류 시스템.
  13. 제10항에서,
    상기 잠재 공간은 상기 입력 데이터 집합의 압축 표현을 제공하는 분류 시스템.
  14. 제10항에서,
    상기 처리기는, 상기 인스트럭션을 실행하여 상기 제1 추가 데이터 집합을 생성할 때, 상기 잠재 공간에서 임의 데이터 원소를 생성하는 분류 시스템.
  15. 제10항에서,
    상기 처리기는, 상기 인스트럭션을 실행하여 상기 분류 주석을 생성할 때,
    상기 제1 예측 및 상기 제2 예측에 기초하여 다수 클래스를 결정하고,
    상기 다수 클래스에 기초하여 상기 제1 추가 데이터 집합을 분류하는
    분류 시스템.
  16. 제10항에서,
    상기 처리기는, 상기 인스트럭션을 실행하여 상기 분류 주석을 생성할 때,
    상기 제1 예측의 제1 확률과 상기 제2 예측의 제2 확률을 결정하고,
    상기 제1 확률과 상기 제2 확률의 평균을 계산하고,
    상기 계산한 평균에 기초하여 상기 제1 추가 데이터 집합용 클래스를 정의하는
    분류 시스템.
  17. 제10항에서,
    상기 처리기는, 상기 인스트럭션을 실행하여 상기 분류 주석을 생성할 때,
    상기 제1 예측에 기초하여, 다수 클래스의 제1 확률 및 소수 클래스의 제2 확률을 결정하고,
    상기 제2 예측에 기초하여, 상기 다수 클래스의 제3 확률 및 상기 소수 클래스의 제4 확률을 결정하고,
    상기 제1 확률과 상기 제3 확률의 제1 평균을 계산하고,
    상기 제2 확률과 상기 제4 확률의 제2 평균을 계산하고,
    상기 계산한 제1 및 제2 평균에 기초하여 상기 제1 추가 데이터 집합을 분류하는
    분류 시스템.
  18. 제10항에서,
    상기 처리기는, 상기 인스트럭션을 실행하여,
    상기 잠재 공간의 과샘플링에 기초하여 제2 추가 데이터 집합을 생성하고,
    상기 입력 데이터 집합, 상기 주석 달린 제1 추가 데이터 집합 및 제2 추가 데이터 집합에 기초하여 상기 제3 분류기를 훈련시키는
    분류 시스템.
  19. 입력 데이터 집합을 수집하는 데이터 수집 회로, 그리고
    상기 데이터 수집 회로와 연결되고 로직을 포함하는 처리 회로
    를 포함하며,
    상기 처리 회로의 로직은,
    상기 수집된 입력 데이터 집합을 수신하고,
    제1 분류기의 적어도 제1 및 제2 인스턴스를 생성하고,
    상기 입력 데이터 집합에 기초하여 상기 제1 분류기의 상기 제1 및 제2 인스턴스를 훈련시키고,
    상기 입력 데이터 집합에 기초하여 상기 입력 데이터 집합과 연관된 잠재 공간(latent space)의 표현을 학습하는 제2 분류기를 훈련시키고,
    상기 잠재 공간에서 미분류 데이터 집합인 제1 추가 데이터 집합을 생성하고,
    상기 제1 분류기의 상기 제1 인스턴스에 기초하여 상기 제1 추가 데이터 집합을 분류하기 위한 제1 예측을 생성하고,
    상기 제1 분류기의 상기 제2 인스턴스에 기초하여 상기 제1 추가 데이터 집합을 분류하기 위한 제2 예측을 생성하고,
    상기 제1 예측 및 상기 제2 예측에 기초하여 상기 제1 추가 데이터 집합용 분류 주석을 생성하고,
    적어도 상기 입력 데이터 집합 및 상기 주석 달린 제1 추가 데이터 집합에 기초하여 제3 분류기를 훈련시키며,
    상기 기훈련 제3 분류기는 분류할 제품의 데이터를 수신하고 상기 수신한 데이터에 기초하여 상기 제품에 대한 예측을 출력하는
    제조 부품을 우량 또는 불량으로 분류하는 시스템.

KR1020200092355A 2019-10-01 2020-07-24 제품 분류 시스템 및 방법 KR20210039927A (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201962909053P 2019-10-01 2019-10-01
US62/909,053 2019-10-01
US16/682,815 US11710045B2 (en) 2019-10-01 2019-11-13 System and method for knowledge distillation
US16/682,815 2019-11-13

Publications (1)

Publication Number Publication Date
KR20210039927A true KR20210039927A (ko) 2021-04-12

Family

ID=72665198

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200092355A KR20210039927A (ko) 2019-10-01 2020-07-24 제품 분류 시스템 및 방법

Country Status (5)

Country Link
US (2) US11710045B2 (ko)
EP (1) EP3800588B1 (ko)
JP (1) JP2021057042A (ko)
KR (1) KR20210039927A (ko)
CN (1) CN112598017A (ko)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11604984B2 (en) * 2019-11-18 2023-03-14 Shanghai United Imaging Intelligence Co., Ltd. Systems and methods for machine learning based modeling
US11494644B2 (en) * 2019-11-20 2022-11-08 Rakuten Group, Inc. System, method, and computer program for recommending items using a direct neural network structure
US11663528B2 (en) * 2020-06-30 2023-05-30 Intuit Inc. Training an ensemble of machine learning models for classification prediction using probabilities and ensemble confidence
CN113219357B (zh) * 2021-04-28 2024-07-16 东软睿驰汽车技术(沈阳)有限公司 电池包健康状态计算方法、系统及电子设备
CN113222034B (zh) * 2021-05-20 2022-01-14 浙江大学 基于知识蒸馏的细粒度多类别不平衡故障分类方法
CN113269266B (zh) * 2021-06-08 2023-09-19 清华大学 多故障模式下基于知识蒸馏的晶圆制造过程故障检测方法
CN113850012B (zh) * 2021-06-11 2024-05-07 腾讯科技(深圳)有限公司 数据处理模型生成方法、装置、介质及电子设备
US12062080B2 (en) 2021-07-14 2024-08-13 Rakuten Group, Inc. Reducing sample selection bias in a machine learning-based recommender system
JPWO2023053216A1 (ko) * 2021-09-28 2023-04-06
US20230136110A1 (en) * 2021-11-01 2023-05-04 Kla Corporation Knowledge distillation for semiconductor-based applications
CN114119959A (zh) * 2021-11-09 2022-03-01 盛视科技股份有限公司 一种基于视觉的垃圾桶满溢检测方法及装置
CN114861977B (zh) * 2022-03-31 2024-08-16 国网河南省电力公司经济技术研究院 一种面向不均衡电力数据的蒸馏集成模式感知方法及系统
CN114972952B (zh) * 2022-05-29 2024-03-22 重庆科技学院 一种基于模型轻量化的工业零部件缺陷识别方法
CN114722886A (zh) * 2022-06-10 2022-07-08 四川大学 基于知识蒸馏的曲轴内部缺陷检测方法及检测设备
WO2024086771A1 (en) * 2022-10-21 2024-04-25 Ohio State Innovation Foundation System and method for prediction of artificial intelligence model generalizability

Family Cites Families (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7899625B2 (en) 2006-07-27 2011-03-01 International Business Machines Corporation Method and system for robust classification strategy for cancer detection from mass spectrometry data
WO2011109864A2 (en) 2010-03-08 2011-09-15 National Ict Australia Limited Performance evaluation of a classifier
US20130097103A1 (en) 2011-10-14 2013-04-18 International Business Machines Corporation Techniques for Generating Balanced and Class-Independent Training Data From Unlabeled Data Set
US9037518B2 (en) 2012-07-30 2015-05-19 Hewlett-Packard Development Company, L.P. Classifying unclassified samples
US20150278470A1 (en) 2012-10-25 2015-10-01 Koninklijke Philips N.V. Combined use of clinical risk factors and molecular markers fro thrombosis for clinical decision support
US9224104B2 (en) 2013-09-24 2015-12-29 International Business Machines Corporation Generating data from imbalanced training data sets
US20160092789A1 (en) 2014-09-29 2016-03-31 International Business Machines Corporation Category Oversampling for Imbalanced Machine Learning
GB201508032D0 (en) 2015-05-12 2015-06-24 Rolls Royce Plc Methods and apparatus for predicting fault occurrence in mechanical systems and electrical systems
US20160358099A1 (en) 2015-06-04 2016-12-08 The Boeing Company Advanced analytical infrastructure for machine learning
CN105589806B (zh) 2015-12-17 2018-05-18 北京航空航天大学 一种基于SMOTE+Boosting算法的软件缺陷倾向预测方法
US10043261B2 (en) 2016-01-11 2018-08-07 Kla-Tencor Corp. Generating simulated output for a specimen
KR101744194B1 (ko) 2016-08-19 2017-06-09 인하대학교 산학협력단 반도체 fab 제조공정에서 유클리드 거리를 활용한 웨이퍼 자동 불량 검사 분류 예측 장치 및 방법
US11205103B2 (en) 2016-12-09 2021-12-21 The Research Foundation for the State University Semisupervised autoencoder for sentiment analysis
JP7017861B2 (ja) 2017-03-23 2022-02-09 株式会社日立製作所 異常検知システムおよび異常検知方法
WO2018175098A1 (en) * 2017-03-24 2018-09-27 D5Ai Llc Learning coach for machine learning system
CN107103332B (zh) 2017-04-07 2018-06-26 武汉理工大学 一种面向大规模数据集的相关向量机分类方法
CN107391370B (zh) 2017-07-13 2020-05-12 武汉大学 一种基于数据过采样和集成学习的软件缺陷数目预测方法
AU2017424316A1 (en) 2017-07-21 2020-01-02 Landmark Graphics Corporation Deep learning based reservoir modeling
MX2018011305A (es) 2017-09-18 2019-07-04 Tata Consultancy Services Ltd Técnicas para corregir el desvío de entrenamiento lingüístico en los datos de entrenamiento.
IL256480B (en) 2017-12-21 2021-05-31 Agent Video Intelligence Ltd A system and method for use in training machine learning
CN108563556A (zh) 2018-01-10 2018-09-21 江苏工程职业技术学院 基于差分演化算法的软件缺陷预测优化方法
US10832092B2 (en) * 2018-02-07 2020-11-10 Applied Materials Israel Ltd. Method of generating a training set usable for examination of a semiconductor specimen and system thereof
US11372893B2 (en) 2018-06-01 2022-06-28 Ntt Security Holdings Corporation Ensemble-based data curation pipeline for efficient label propagation
US10832003B2 (en) * 2018-08-26 2020-11-10 CloudMinds Technology, Inc. Method and system for intent classification
US11366982B2 (en) 2018-09-24 2022-06-21 Sap Se Computer systems for detecting training data usage in generative models
US20200143274A1 (en) 2018-11-06 2020-05-07 Kira Inc. System and method for applying artificial intelligence techniques to respond to multiple choice questions
US11928610B2 (en) * 2018-11-19 2024-03-12 Koninklijke Philips N.V. Clinical case search and generation system and method based on a probabilistic encoder-generator framework
US11610098B2 (en) 2018-12-27 2023-03-21 Paypal, Inc. Data augmentation in transaction classification using a neural network

Also Published As

Publication number Publication date
US11710045B2 (en) 2023-07-25
EP3800588B1 (en) 2024-07-17
TW202129528A (zh) 2021-08-01
EP3800588A1 (en) 2021-04-07
JP2021057042A (ja) 2021-04-08
US20230316084A1 (en) 2023-10-05
US12106226B2 (en) 2024-10-01
CN112598017A (zh) 2021-04-02
US20210097400A1 (en) 2021-04-01

Similar Documents

Publication Publication Date Title
KR20210039927A (ko) 제품 분류 시스템 및 방법
CN110945528B (zh) 产生可用于检查半导体样品的训练集的方法及其系统
US11568531B2 (en) Method of deep learning-based examination of a semiconductor specimen and system thereof
US11686689B2 (en) Automatic optimization of an examination recipe
KR20210038303A (ko) 제품 분류 시스템 및 방법
US20220222806A1 (en) Machine learning-based classification of defects in a semiconductor specimen
JP2020198092A (ja) 教師なし異常検出及び高次元センサデータの多数決投票による原因説明のための方法及びシステム
US20230281791A1 (en) Adaptive system and method for inspection of imaged items
CN112633461A (zh) 应用辅助系统和方法以及计算机可读记录介质
US11321633B2 (en) Method of classifying defects in a specimen semiconductor examination and system thereof
KR20210127069A (ko) 융합 모델 신경망의 성능 제어 방법
US20180314930A1 (en) Non-convex optimization by gradient-accelerated simulated annealing
KR102070913B1 (ko) 웨이퍼 데이터를 처리하는 방법 및 장치
CN113222884B (zh) 检查样本的方法和其系统
WO2019180868A1 (ja) 画像生成装置、画像生成方法および画像生成プログラム
JP7206892B2 (ja) 画像検査装置、画像検査のための学習方法および画像検査プログラム
JP2019144870A (ja) 対象検査のためのシステム及び方法
WO2023166776A1 (ja) 外観分析システム、外観分析方法、及びプログラム
WO2022202456A1 (ja) 外観検査方法および外観検査システム
Thangam et al. Linear Stochastic Feature Embedding based Regressive MIL Boost Data Classification for Streaming Data
Sevetlidis et al. Enhancing Weakly Supervised Defect Detection through Anomaly-Informed Weighted Training
IL276478B2 (en) Adaptive system and method for inspecting photographed objects
KR20230031000A (ko) 전력 설비 이미지 인식을 위한 ai 모델 고속 분산 처리 시스템 및 방법
JP2024067674A (ja) 検査方法、検査システム、ニューラルネットワーク
JP2023104050A (ja) 情報処理方法、制御プログラム、情報処理装置、および情報処理システム