KR20200144658A - 분류 장치 및 이의 동작 방법과 트레이닝 방법 - Google Patents

분류 장치 및 이의 동작 방법과 트레이닝 방법 Download PDF

Info

Publication number
KR20200144658A
KR20200144658A KR1020190072600A KR20190072600A KR20200144658A KR 20200144658 A KR20200144658 A KR 20200144658A KR 1020190072600 A KR1020190072600 A KR 1020190072600A KR 20190072600 A KR20190072600 A KR 20190072600A KR 20200144658 A KR20200144658 A KR 20200144658A
Authority
KR
South Korea
Prior art keywords
probability
classes
input
probability vector
classification
Prior art date
Application number
KR1020190072600A
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 삼성전자주식회사
Priority to KR1020190072600A priority Critical patent/KR20200144658A/ko
Priority to US16/671,639 priority patent/US11100374B2/en
Publication of KR20200144658A publication Critical patent/KR20200144658A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • G06F18/2413Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on distances to training or reference patterns
    • 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
    • G06K9/627
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/18Complex mathematical operations for evaluating statistical data, e.g. average values, frequency distributions, probability functions, regression analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/22Matching criteria, e.g. proximity measures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/23Clustering techniques
    • G06F18/232Non-hierarchical techniques
    • G06F18/2321Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • G06F18/2415Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on parametric or probabilistic models, e.g. based on likelihood ratio or false acceptance rate versus a false rejection rate
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/243Classification techniques relating to the number of classes
    • G06F18/2431Multiple classes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/243Classification techniques relating to the number of classes
    • G06F18/24317Piecewise classification, i.e. whereby each classification requires several discriminant rules
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/25Fusion techniques
    • G06F18/254Fusion techniques of classification results, e.g. of results related to same input data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • G06N20/20Ensemble 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
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/74Image or video pattern matching; Proximity measures in feature spaces
    • G06V10/761Proximity, similarity or dissimilarity measures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/764Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/77Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
    • G06V10/80Fusion, i.e. combining data from various sources at the sensor level, preprocessing level, feature extraction level or classification level
    • G06V10/809Fusion, i.e. combining data from various sources at the sensor level, preprocessing level, feature extraction level or classification level of classification results, e.g. where the classifiers operate on the same input data

Landscapes

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

Abstract

분류 장치가 개시된다. 일 실시예는 입력을 기초로 클래스들 각각의 제1 확률을 포함하는 제1 확률 벡터를 결정하고, 상기 결정된 제1 확률 벡터를 기초로 상기 클래스들에 컨퓨징(confusing) 클래스들이 있는지 여부를 결정하며, 상기 컨퓨징 클래스들이 있는 경우, 상기 클래스들 각각의 제1 확률 중 최대값 및 상기 컨퓨징 클래스들 각각의 제1 확률을 기초로 상기 결정된 제1 확률 벡터를 조정하고, 상기 입력을 기초로 상기 클래스들 각각의 제2 확률을 포함하는 제2 확률 벡터를 결정하고, 상기 결정된 제2 확률 벡터 및 상기 조정된 제1 확률 벡터 사이의 비교 결과를 기초로 상기 입력에 대한 분류를 수행한다.

Description

분류 장치 및 이의 동작 방법과 트레이닝 방법{CLASSIFICATION APPARATUS AND OPERATING METHOD THEREOF AND TRAINING METHOD}
아래 실시예들은 분류 및 트레이닝에 관한 것이다.
기존에는 분류기에 입력이 전달되면 해당 분류기는 인 도메인(in-domain)에 해당하는 클래스들 각각의 확률을 계산한다. 이 때, 해당 분류기는 계산된 확률들 중 최대값이 임계값 이상이면, 상술한 입력을 최대값을 갖는 클래스로 분류할 수 있고, 최대값이 임계값 미만인 경우, 상술한 입력이 아웃 오브 도메인(out-of-domain, OOD)에 해당한다고 결정할 수 있다. 하지만, 상술한 입력이 분류기에 의해 OOD에 해당한다고 결정된 경우라도 실제로는 상술한 입력이 최대값을 갖는 클래스에 속할 수 있다. 다시 말해, 분류기의 입력이 실제로는 인 도메인에 해당하는 클래스들 중 어느 하나에 속한다고 하여도 최대값이 임계값보다 작으면 분류기는 해당 입력을 OOD로 잘못 결정할 수 있다. 이에 따라, 기존 분류기는 분류 정확도가 떨어질 수 있다.
일 측에 따른 분류 장치의 동작 방법은 입력을 기초로 클래스들 각각의 제1 확률을 포함하는 제1 확률 벡터를 결정하는 단계; 상기 결정된 제1 확률 벡터를 기초로 상기 클래스들에 컨퓨징(confusing) 클래스들이 있는지 여부를 결정하는 단계; 상기 컨퓨징 클래스들이 있는 경우, 상기 클래스들 각각의 제1 확률 중 최대값 및 상기 컨퓨징 클래스들 각각의 제1 확률을 기초로 상기 결정된 제1 확률 벡터를 조정하는 단계; 상기 입력을 기초로 상기 클래스들 각각의 제2 확률을 포함하는 제2 확률 벡터를 결정하는 단계; 및 상기 결정된 제2 확률 벡터 및 상기 조정된 제1 확률 벡터 사이의 비교 결과를 기초로 상기 입력에 대한 분류를 수행하는 단계를 포함한다.
상기 컨퓨징 클래스들이 있는지 여부를 결정하는 단계는 상기 최대값이 임계값 이하인지 여부를 결정하는 단계; 및 상기 최대값이 상기 임계값 이하인 경우, 상기 컨퓨징 클래스들이 있는 것으로 결정하는 단계를 포함할 수 있다.
상기 결정된 제1 확률 벡터를 조정하는 단계는 미리 정해진 값과 상기 최대값 사이의 차이를 계산하는 단계; 상기 컨퓨징 클래스들 각각의 제1 확률과 상기 계산된 차이 사이의 비율을 계산하는 단계; 및 상기 컨퓨징 클래스들 각각의 계산된 제1 확률을 상기 계산된 비율들 각각으로 조정하는 단계를 포함할 수 있다.
상기 입력에 대한 분류를 수행하는 단계는 상기 결정된 제2 확률 벡터 및 상기 조정된 제1 확률 벡터 사이의 유사도를 결정하는 단계; 및 상기 결정된 유사도가 임계값 이상인 경우, 상기 입력을 상기 최대값을 갖는 클래스로 분류하는 단계를 포함할 수 있다.
상기 결정된 유사도가 상기 임계값 이하인 경우, 상기 입력을 상기 분류 장치의 아웃 오브 도메인으로 결정하는 단계를 더 포함할 수 있다.
상기 제1 확률 벡터를 결정하는 제1 분류 모델과 상기 제2 확률 벡터를 결정하는 제2 분류 모델은 별개일 수 있다.
상기 제1 확률 벡터를 결정하는 제1 분류 모델과 상기 제2 확률 벡터를 결정하는 제2 분류 모델은 일부 또는 모든 가중치들을 공유할 수 있다.
상기 입력은 텍스트 및 이미지 중 적어도 하나를 포함할 수 있다.
일 측에 따른 트레이닝 장치의 동작 방법은 입력 및 트레이닝된 제1 분류 모델을 기초로 클래스들 각각의 제1 확률을 포함하는 제1 확률 벡터를 결정하는 단계 -상기 클래스들 중 어느 하나는 상기 입력의 정답(truth) 클래스에 해당함-; 상기 결정된 제1 확률 벡터를 기초로 상기 클래스들에 컨퓨징(confusing) 클래스들이 있는지 여부를 결정하는 단계; 상기 컨퓨징 클래스들이 있는 경우, 상기 정답 클래스의 제1 확률 및 상기 컨퓨징 클래스들 각각의 제1 확률을 기초로 상기 결정된 제1 확률 벡터를 조정하는 단계; 및 상기 조정된 제1 확률 벡터 및 상기 입력을 기초로 제2 분류 모델을 트레이닝시키는 단계를 포함한다.
상기 컨퓨징 클래스들이 있는지 여부를 결정하는 단계는 상기 정답 클래스의 제1 확률이 임계값 이하인지 여부를 결정하는 단계; 및 상기 정답 클래스의 제1 확률이 상기 임계값 이하인 경우, 상기 컨퓨징 클래스들이 있는 것으로 결정하는 단계를 포함할 수 있다.
상기 결정된 제1 확률 벡터를 조정하는 단계는 미리 정해진 값과 상기 정답 클래스의 제1 확률 사이의 차이를 계산하는 단계; 상기 컨퓨징 클래스들 각각의 제1 확률과 상기 계산된 차이 사이의 비율을 계산하는 단계; 및 상기 컨퓨징 클래스들 각각의 제1 확률을 상기 계산된 비율 각각으로 조정하는 단계를 포함할 수 있다.
상기 트레이닝된 제1 분류 모델과 상기 트레이닝된 제2 분류 모델은 별개일 수 있다.
상기 트레이닝된 제1 분류 모델과 상기 트레이닝된 제2 분류 모델은 일부 또는 모든 가중치들을 공유할 수 있다.
일 측에 따른 분류 장치는 명령어들을 저장하는 메모리; 및 상기 명령어들을 실행하는 프로세서를 포함한다.
상기 프로세서는 상기 명령어들을 실행함으로써: 입력을 기초로 클래스들 각각의 제1 확률을 포함하는 제1 확률 벡터를 결정하고, 상기 결정된 제1 확률 벡터를 기초로 상기 클래스들에 컨퓨징(confusing) 클래스들이 있는지 여부를 결정하며, 상기 컨퓨징 클래스들이 있는 경우, 상기 클래스들 각각의 제1 확률 중 최대값 및 상기 컨퓨징 클래스들 각각의 제1 확률을 기초로 상기 결정된 제1 확률 벡터를 조정하고, 상기 입력을 기초로 상기 클래스들 각각의 제2 확률을 포함하는 제2 확률 벡터를 결정하고, 상기 결정된 제2 확률 벡터 및 상기 조정된 제1 확률 벡터 사이의 비교 결과를 기초로 상기 입력에 대한 분류를 수행한다.
상기 프로세서는 상기 최대값이 임계값 이하인지 여부를 결정하고, 상기 최대값이 상기 임계값 이하인 경우, 상기 컨퓨징 클래스들이 있는 것으로 결정할 수 있다.
상기 프로세서는 미리 정해진 값과 상기 최대값 사이의 차이를 계산하고, 상기 컨퓨징 클래스들 각각의 제1 확률과 상기 계산된 차이 사이의 비율을 계산하며, 상기 컨퓨징 클래스들 각각의 제1 확률을 상기 계산된 비율들 각각으로 조정할 수 있다.
상기 프로세서는 상기 결정된 제2 확률 벡터 및 상기 조정된 제1 확률 벡터 사이의 유사도를 결정하고, 상기 결정된 유사도가 임계값 이상인 경우, 상기 입력을 상기 최대값을 갖는 클래스로 분류할 수 있다.
상기 프로세서는 상기 결정된 유사도가 상기 임계값 이하인 경우, 상기 입력을 상기 분류 장치의 아웃 오브 도메인으로 결정할 수 있다.
상기 입력은 텍스트 및 이미지 중 적어도 하나를 포함할 수 있다.
도 1은 일 실시예에 따른 분류 장치를 설명하기 위한 도면이다.
도 2 내지 도 4는 일 실시예에 따른 분류 장치의 동작의 일례를 설명하기 위한 도면이다.
도 5는 일 실시예에 따른 트레이닝 장치를 설명하기 위한 도면이다.
도 6 내지 도 8은 일 실시예에 따른 트레이닝 장치의 동작의 일례를 설명하기 위한 도면이다.
도 9는 일 실시예에 따른 트레이닝 장치의 동작의 다른 일례를 설명하기 위한 도면이다.
도 10은 일 실시예에 따른 분류 장치의 분류 방법을 설명하기 위한 순서도이다.
도 11은 일 실시예에 따른 트레이닝 장치의 트레이닝 방법을 설명하기 위한 순서도이다.
도 12는 일 실시예에 따른 분류 장치를 설명하기 위한 블록도이다.
도 13은 일 실시예에 따른 분류 장치를 포함하는 수행 시스템을 설명하기 위한 도면이다.
이하, 실시예들을 첨부된 도면을 참조하여 상세하게 설명한다.
아래 설명하는 실시예들에는 다양한 변경이 가해질 수 있다. 아래 설명하는 실시예들은 실시 형태에 대해 한정하려는 것이 아니며, 이들에 대한 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
실시예에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 실시예를 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 명세서 상에 기재된 특징, 숫자, 단계, 동작, 구성 요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 실시예가 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 명세서에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
또한, 첨부 도면을 참조하여 설명함에 있어, 도면 부호에 관계없이 동일한 구성 요소는 동일한 참조 부호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다. 실시예를 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 실시예의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다.
도 1은 일 실시예에 따른 분류 장치를 설명하기 위한 도면이다.
도 1의 분류 장치(100)를 설명하기에 앞서 기존 분류 방법에 대해 설명한다.
기존 분류기는 입력을 수신하면 해당 입력이 in-domain에 해당하는 클래스들 각각에 속할 확률을 계산하고, 해당 입력이 속하는 클래스를 결정하기 위해 계산된 확률들 중 최대값과 임계값 TOOD를 비교한다. 해당 입력이 실제로는 최대값을 갖는 클래스에 속한다고 하여도 최대값이 임계값 TOOD보다 작으면, 분류기는 해당 입력을 OOD(out-of-domain)으로 결정한다. 이로 인해, 기존 분류 방법의 분류 정확도는 감소한다.
도 1을 참조하면, 일 실시예 따른 분류 장치(100)는 제1 분류기(110) 및 제2 분류기(120)를 포함한다.
도 1에 도시된 예의 경우, 분류 장치(100)는 2개의 분류기들(110 및 120)를 포함한다. 이는 예시적인 사항일 뿐, 분류 장치(100)는 셋 이상의 분류기들을 포함할 수 있다.
제1 분류기(110)는 입력을 기초로 클래스(class)들 각각의 제1 확률을 포함하는 제1 확률 벡터를 결정 또는 생성한다. 입력은, 예를 들어, 이미지, 음성, 및 텍스트 중 적어도 하나를 포함할 수 있으나, 이에 제한되지 않는다.
제1 분류기(110)는 제1 확률 벡터를 기초로 해당 클래스들에 컨퓨징 클래스들(confusing classes)이 있는지 여부를 결정한다. 일례로, 제1 분류기(110)는 클래스들 각각의 제1 확률 중 최대값이 임계값 TOOD보다 작은 경우, 해당 클래스들에 컨퓨징 클래스들이 있다고 결정할 수 있다.
제1 분류기(110)는 클래스들에 컨퓨징 클래스들이 있다고 결정한 경우, 제1 확률 벡터를 조정한다. 제1 확률 벡터 조정에 대해선 도 2를 통해 후술한다.
제2 분류기(120)는 입력을 기초로 클래스들 각각의 제2 확률을 포함하는 제2 확률 벡터를 결정 또는 생성한다. 이에 대해선 도 3을 통해 후술한다.
제2 분류기(120)는 조정된 제1 확률 벡터 및 제2 확률 벡터 사이의 비교 결과를 기초로 입력에 대한 분류를 수행한다. 이에 대해선 도 4를 통해 후술한다.
일 실시예에 따른 분류 장치(100)는 클래스들 각각의 제1 확률 중 최대값이 임계값 TOOD보다 작아도 입력이 OOD에 해당한다고 단정짓지 않고 조정된 제1 확률 벡터 및 제2 확률 벡터 사이의 비교 결과를 기초로 OOD에 해당하는지 결정할 수 있다. 이에 따라, 분류 정확도가 향상될 수 있다.
도 2 내지 도 4는 일 실시예에 따른 분류 장치의 동작의 일례를 설명하기 위한 도면이다.
일 실시예에 따르면, 제1 분류기(110)는 뉴럴 네트워크 기반의 제1 분류 모델을 포함할 수 있다. 해당 제1 분류 모델은 입력을 수신하는 경우, 클래스들 각각의 제1 확률을 계산하여 제1 확률 벡터를 결정 또는 생성할 수 있다. 여기서, 각 클래스의 제1 확률은, 예를 들어, 입력이 각 클래스에 속할 확률을 나타낼 수 있다.
아래 표 1은 갤러리 어플리케이션의 경우, 제1 분류 모델의 인 도메인에 해당하는 클래스들의 일례를 보여준다.
클래스 ID 클래스 ID에 맵핑된 기능
클래스 0 전송
클래스 1 재생
클래스 2 저장
클래스 3 삭제
클래스 4 수정
일례로, 입력이 텍스트 "어제 찍은 사진을 지워줘"인 경우, 제1 분류 모델은 해당 텍스트가 전송 기능과 맵핑된 클래스 ID 0에 속할 확률, 재생 기능과 맵핑된 클래스 ID 1에 속할 확률, 저장 기능과 맵핑된 클래스 ID 2에 속할 확률, 삭제 기능과 맵핑된 클래스 ID 3에 속할 확률, 및 수정 기능과 맵핑된 클래스 ID 4에 속할 확률을 계산할 수 있다.
위 표 1은 설명의 편의상 예로 기재한 것일 뿐, 클래스들은 위 표 1로 제한되지 않는다.
도 2에 제1 분류 모델의 동작 결과의 일례가 도시된다.
도 2를 참조하면, 제1 분류 모델의 동작 결과 C1_yh에는 [0.00, 0.00, 0.30, 0.61, 0.09]의 제1 확률 벡터가 포함된다. 도 2에 도시된 예에서, 제1 분류 모델은 클래스 ID 0 및 클래스 ID 1 각각의 확률을 0으로 계산할 수 있다. 이는, 입력이 클래스 ID 0 및 클래스 ID 1 각각으로 분류될 확률이 0임을 의미할 수 있다. 제1 분류 모델은 클래스 ID 2의 확률, 클래스 ID 3의 확률, 및 클래스 ID 4의 확률 각각을 0.3, 0.61, 및 0.09로 계산할 수 있다. 이는, 입력이 클래스 ID 2, 클래스 ID 3, 및 클래스 ID 4 각각으로 분류될 확률이 0.3, 0.61, 및 0.09임을 의미할 수 있다.
제1 분류기(110)는 클래스 ID 0 내지 클래스 ID 4에서 컨퓨징 클래스들이 있는지 여부를 결정할 수 있다. 보다 구체적으로, 제1 분류기(110)는 제1 분류 모델에 의해 계산된 제1 확률들이 클래스 ID 0 내지 클래스 ID 4 중 여러 클래스들에 걸쳐서 분산 또는 분포되어 있는 경우, 컨퓨징 클래스들이 있다고 결정할 수 있다. 일례로, 제1 분류기(110)는 클래스 ID 0 내지 클래스 ID 4 각각의 제1 확률 중 최대값을 임계값 TOOD와 비교할 수 있고, 해당 최대값이 임계값 TOOD보다 작으면 컨퓨징 클래스들이 있다고 결정할 수 있다. 도 2에 도시된 예에서, 임계값 TOOD가 0.8인 경우 최대값 0.61은 임계값 TOOD보다 작으므로, 제1 분류기(110)는 0이 아닌 확률을 갖는 클래스 ID 2와 클래스 ID 4를 최대값을 갖는 클래스 ID 3의 컨퓨징 클래스들로 결정할 수 있다. 달리 표현하면, 제1 분류기(110)는 제1 분류 모델이 클래스 ID 2, 클래스 ID 3, 및 클래스 ID 4 중에서 입력에 대응되는 클래스 ID가 무엇인지를 헷갈려 한다고 결정할 수 있다.
제1 분류기(110)는 컨퓨징 클래스들 각각의 제1 확률을 조정할 수 있다. 도 2에 도시된 예와 같이, 제1 분류기(110)는 아래 수학식 1에 따라 컨퓨징 클래스들 각각의 제1 확률을 조정할 수 있다.
Figure pat00001
위 수학식 1에서 i는 클래스 ID를 나타내고,
Figure pat00002
는 각 클래스의 조정된 제1 확률을 나타내며,
Figure pat00003
는 클래스들 각각의 제1 확률 중 최대값을 나타낸다.
도 2에 도시된 예에서, 제1 분류기(110)는 미리 정해진 값 1과 최대값 0.61 사이의 차이를 계산할 수 있다. 제1 분류기(110)는 계산된 차이 0.39 및 클래스 ID 2의 제1 확률 0.3을 기초로 연산을 수행하여 클래스 ID 2의 제1 확률을 0.77로 조정할 수 있고, 계산된 차이 0.39 및 클래스 ID 4의 제1 확률 0.09를 기초로 연산을 수행하여 클래스 ID 4의 제1 확률을 0.23으로 조정할 수 있다. 또한, 제1 분류기(110)는 클래스 ID 3의 제1 확률 0.61을 0으로 조정할 수 있다. 이에 따라, 제1 확률 벡터는 [0.00, 0.00, 0.77, 0.00, 0.23]으로 조정될 수 있다.
다시 말해, 제1 분류기(110)는 위 수학식 1을 이용하여 C1_yh를 C1_yh_confuse*로 조정할 수 있다.
일 실시예에 따르면, 제2 분류기(120)는 뉴럴 네트워크 기반의 제2 분류 모델을 포함할 수 있다. 제2 분류 모델은 주어진 학습 입력에 대한 컨퓨징 클래스들의 확률들을 학습한 모델에 해당한다. 학습에 대해선 후술한다.
제2 분류 모델은 상술한 제1 분류 모델과 별개일 수 있다. 구현에 따라, 제1 분류 모델과 제2 분류 모델은 가중치 일부 또는 전부를 공유할 수 있다.
제2 분류 모델은 입력을 수신하는 경우, 클래스들 각각의 제2 확률을 계산하여 제2 확률 벡터를 결정 또는 생성할 수 있다. 클래스들 각각의 제2 확률은 컨퓨징 클래스들 각각의 확률로 달리 표현될 수 있다. 도 3에 제2 분류 모델의 동작 결과의 일례가 도시된다.
도 3을 참조하면, 제2 분류 모델의 동작 결과 C2_yh에는 [0.00, 0.00, 0.71, 0.00, 0.29]의 제2 확률 벡터가 포함된다. 도 3에 도시된 예에서, 제2 분류 모델은 클래스 ID 0 내지 클래스 ID 4 각각의 제2 확률을 0, 0, 0.71, 0, 및 0.29로 계산할 수 있다. 이는, 클래스 ID 2는 컨퓨징 클래스로서 확률 0.71을 갖는 것을 의미할 수 있고 클래스 ID 4는 컨퓨징 클래스로서 확률 0.29를 갖는 것을 의미할 수 있다.
도 4를 참조하면, 제2 분류기(120)는 도 2를 통해 설명한 C1_yh_confuse*와 도 3을 통해 설명한 C2_yh이 서로 유사한지 여부를 결정할 수 있다. 다시 말해, 제2 분류기(120)는 조정된 제1 확률 벡터와 제2 확률 벡터 사이의 유사도(또는 거리)를 결정할 수 있다.
조정된 제1 확률 벡터와 제2 확률 벡터 사이의 유사도(또는 거리)의 일례로, 조정된 제1 확률 벡터와 제2 확률 벡터 사이의 MSE(mean squared error)이 있다. 제2 분류기(120)는 조정된 제1 확률 벡터와 제2 확률 벡터 사이의 MSE가 미리 결정된 에러값 미만인지 여부를 결정할 수 있다. 여기서, 조정된 제1 확률 벡터와 제2 확률 벡터 사이의 MSE가 미리 결정된 에러값 미만이면, 제2 분류기(120)는 조정된 제1 확률 벡터와 제2 확률 벡터가 서로 유사하다고 결정할 수 있다.
조정된 제1 확률 벡터와 제2 확률 벡터 사이의 유사도의 다른 일례로, 조정된 제1 확률 벡터와 제2 확률 벡터 사이의 cross entropy loss가 있다. 제2 분류기(120)는 조정된 제1 확률 벡터와 제2 확률 벡터 사이의 cross entropy loss가 미리 결정된 loss값 마만인지 여부를 결정할 수 있다. 여기서, 조정된 제1 확률 벡터와 제2 확률 벡터 사이의 cross entropy loss가 미리 결정된 loss값 미만이면, 제2 분류기(120)는 조정된 제1 확률 벡터와 제2 확률 벡터가 서로 유사하다고 결정할 수 있다. 앞서 설명한 MSE 및 cross entropy loss는 예시적인 사항일 뿐, 조정된 제1 확률 벡터와 제2 확률 벡터 사이의 유사도는 앞서 설명한 MSE 및 cross entropy loss로 제한되지 않는다.
제2 분류기(120)는 C1_yh_confuse*와 C2_yh이 서로 유사하다고 결정한 경우, 입력이 max(C1_yh)의 클래스에 속한다고 결정할 수 있고, C1_yh_confuse*와 C2_yh이 서로 유사하지 않다고 결정한 경우, 입력을 OOD로 결정할 수 있다. 다시 말해, 제2 분류기(120)는 조정된 제1 확률 벡터와 제2 확률 벡터가 서로 유사하다고 결정한 경우, 입력을 max(C1_yh)의 클래스로 분류할 수 있고, 조정된 제1 확률 벡터와 제2 확률 벡터가 서로 유사하지 않다고 결정한 경우, 입력은 OOD에 해당하는 것으로 결정할 수 있다.
기존 분류 방법은 max(C1_yh)이 임계값 TOOD보다 작은 경우, 입력을 OOD로 결정한다. 일 실시예 따르면, max(C1_yh)이 임계값 TOOD보다 작은 경우, 제1 분류기(110)는 입력을 OOD로 단정짓지 않는다. 대신에, 제1 분류기(110)는 C1_yh을 기초로 C1_yh_confuse*를 생성하고, 제2 분류기(120)는 C1_yh_confuse*와 C2_yh이 서로 유사할 때 입력을 max(C1_yh)의 클래스에 속한다고 결정하며, C1_yh_confuse*와 C2_yh이 서로 유사하지 않을 때 입력을 OOD로 결정한다. 이에 따라, 분류 정확도가 향상될 수 있다.
도 4에 도시되지 않았으나, 제2 분류기(120)가 입력이 max(C1_yh)의 클래스에 속한다고 결정한 경우, max(C1_yh)의 클래스에 해당하는 명령이 수행될 수 있다. 일례로, 입력이 "어제 찍은 사진을 지워져"이고 max(C1_yh)의 클래스가 위 표 1에 따라 삭제 기능에 맵핑되어 있는 경우, 시스템은 사용자가 어제 찍은 사진을 삭제할 수 있다. 제2 분류기(120)가 입력이 OOD에 해당한다고 결정한 경우, OOD에 맵핑된 출력이 사용자에게 제공될 수 있다. 일례로, 입력이 "사진을 번역하라"인 경우, 제2 분류기(120)는 C1_yh_confuse*와 C2_yh이 서로 유사하지 않다고 결정할 수 있다. 이 경우, 시스템은 "실행할 수 없다"를 사용자에게 출력할 수 있다. 시스템에 대해선 도 13을 통해 후술한다.
도 4에서 제2 분류기(120)가 C1_yh_confuse*와 C2_yh이 서로 유사한지 여부를 결정하고, 입력이 max(C1_yh)의 클래스가 속하는지 또는 OOD에 해당하는지 결정하는 것으로 설명하였다. 이러한 동작은 제1 분류기(110)에 의해서도 수행될 수 있고 또 다른 분류기에 의해서도 수행될 수 있다.
도 5는 일 실시예에 따른 트레이닝 장치를 설명하기 위한 도면이다.
도 5를 참조하면, 트레이닝 장치(500)는 분류 모델 1(510)을 트레이닝하고, 입력 및 트레이닝된 제1 분류 모델을 기초로 클래스들 각각의 제1 확률을 포함하는 "제1 확률 벡터_트레이닝"을 결정 또는 생성한다. 여기서, 클래스들 중 어느 하나는 입력의 정답(truth) 클래스에 해당한다.
트레이닝 장치(500)는 "제1 확률 벡터_트레이닝"을 기초로 클래스들에 컨퓨징 클래스들이 있는지 여부를 결정하고, 컨퓨징 클래스들이 있는 경우, 정답 클래스의 제1 확률 및 컨퓨징 클래스들 각각의 제1 확률을 기초로 "제1 확률 벡터_트레이닝"을 조정한다.
트레이닝 장치(500)는 조정된 "제1 확률 벡터_트레이닝" 및 입력을 기초로 분류 모델 2(520)를 트레이닝한다. 트레이닝된 분류 모델 2는 트레이닝된 분류 모델 1의 컨퓨징 클래스들을 학습 또는 볼 수 있게 된다.
트레이닝된 분류 모델 1은 도 2 내지 도 4를 통해 설명한 제1 분류 모델에 해당할 수 있고, 트레이닝된 분류 모델 2는 도 2 내지 도 4를 통해 설명한 제2 분류 모델에 해당할 수 있다.
트레이닝 장치(500)의 동작의 일례에 대해선 도 6 내지 도 8을 참조하면서 설명한다.
도 6 내지 도 8은 일 실시예에 따른 트레이닝 장치의 동작의 일례를 설명하기 위한 도면이다.
도 6을 참조하면, 트레이닝 장치(500)는 train set (X,Y)를 기초로 분류 모델 1(510)을 트레이닝한다. train set (X,Y)는 도 6에 도시된 것과 같이, 트레이닝 페어 (x0, y0), ... , (xn, yn)를 포함할 수 있다.
도 6에 도시된 예에서 y0 내의 클래스 ID 3이 입력 x0의 정답 클래스이다. 이 경우, 트레이닝 장치(500)는 클래스 ID 3이 1의 확률을 갖고 나머지 클래스들이 0을 갖도록 분류 모델 1(510)을 트레이닝할 수 있다. 달리 표현하면, 트레이닝 장치(500)은 분류 모델 1(510)의 출력 y가 y0와 실질적으로 동일하게 끔 분류 모델 1(510)을 트레이닝할 수 있다. 구현에 따라, 트레이닝 장치(500)는 클래스 ID 3이 0.9의 확률을 갖고 나머지 클래스들 각각이 "0.1/나머지 클래스들 개수"를 갖도록 분류 모델 1(510)을 트레이닝할 수 있다.
트레이닝 장치(500)는 (x0, y0) 이외에 하나 이상의 다른 트레이닝 페어를 기초로 분류 모델 1(510)을 트레이닝할 수 있다.
도 7을 참조하면, 트레이닝 장치(500)는 트레이닝된 분류 모델 1(710)에 x0를 입력한다.
트레이닝된 분류 모델 1(710)은 x0를 입력 받으면, 클래스 ID 0 내지 클래스 ID 4 각각의 제1 확률을 계산하여 yh_0를 출력할 수 있다. 여기서, yh_0에는 "제1 확률 벡터_트레이닝" [0.00, 0.10, 0.20, 0.65, 0.05]이 포함된다.
트레이닝 장치(500)는 클래스 ID 0 내지 클래스 ID 4에 컨퓨징 클래스들이 있는지 여부를 결정할 수 있다. 일례로, 트레이닝 장치(500)는 클래스 ID 0 내지 클래스 ID 4 각각의 제1 확률 중 최대값과 임계값 TOOD를 비교할 수 있다. 도 7에 도시된 예에서, 임계값 TOOD가 0.8인 경우, 최대값 0.65는 임계값 TOOD보다 작으므로, 트레이닝 장치(500)는 0이 아닌 확률을 갖는 클래스 ID 1, 클래스 ID 2, 및 클래스 ID 4를 정답 클래스의 컨퓨징 클래스들로 결정할 수 있다.
트레이닝 장치(500)는 컨퓨징 클래스들이 있는 경우, 아래 수학식 2를 이용하여 yh_0를 yh_confuse_0로 조정할 수 있다.
Figure pat00004
위 수학식 2에서 i는 클래스 ID를 나타내고,
Figure pat00005
는 각 클래스의 조정된 제1 확률을 나타낸다.
도 7에 도시된 예에서, 트레이닝 장치(500)는 미리 정해진 값 1과 정답 클래스의 제1 확률 0.65 사이의 차이를 계산할 수 있다. 트레이닝 장치(500)는 계산된 차이 0.35 및 클래스 ID 1의 제1 확률 0.1을 기초로 클래스 ID 1의 제1 확률을 0.29로 조정할 수 있다. 이와 유사하게, 트레이닝 장치(500)는 클래스 ID 2의 제1 확률을 0.57로 조정할 수 있고 클래스 ID 4의 제1 확률을 0.14로 조정할 수 있다. 또한, 트레이닝 장치(500)는 정답 클래스에 해당하는 클래스 ID 3의 제1 확률을 0으로 조정할 수 있다. 이에 따라, 제1 확률 벡터_트레이닝은 [0.00, 0.29, 0.57, 0, 0.14]로 조정될 수 있다.
yh_0가 yh_confuse_0로 조정된 경우, 트레이닝 장치(500)는 (xo, yh_confuse_0)의 트레이닝 페어를 생성할 수 있다. 마찬가지로, 트레이닝 장치(500)는 (x1, yh_confuse_1), ... , (xn, yh_confuse_n)의 트레이닝 페어들을 생성할 수 있다. (xo, yh_confuse_0) 내지 (xn, yh_confuse_n)의 트레이닝 페어들은 train set (X, Yh_confuse)로 표현될 수 있다.
train set (X, Yh_confuse)은 트레이닝 장치(500)가 분류 모델 2(520)를 트레이닝하는데 사용될 수 있다.
도 8을 참조하면, 트레이닝 장치(500)는 train set (X, Yh_confuse)을 기초로 분류 모델 2(520)를 트레이닝 시킬 수 있다. 일례로, 트레이닝 장치(500)는 x0를 분류 모델 2(520)에 입력할 수 있고, 분류 모델 2(520)가 yh_confuse_0를 출력할 수 있도록 분류 모델 2(520)를 트레이닝 시킬 수 있다. 마찬가지로, 트레이닝 장치(500)는 x1를 분류 모델 2(520)에 입력할 수 있고, 분류 모델 2(520)가 yh_confuse_1를 출력할 수 있도록 분류 모델 2(520)를 트레이닝 시킬 수 있으며, xn을 분류 모델 2(520)에 입력한 경우, 분류 모델 2(520)가 yh_confuse_n을 출력할 수 있도록 분류 모델 2(520)를 트레이닝 시킬 수 있다.
실시예에 있어서, 트레이닝된 분류 모델 1(710)은 트레이닝된 분류 모델 2와 별개 모델일 수 있다. 또는, 트레이닝된 분류 모델 1(710)은 트레이닝된 분류 모델 2와 일부 가중치를 공유하거나 모든 가중치를 공유할 수 있다.
도 9는 일 실시예에 따른 트레이닝 장치의 동작의 다른 일례를 설명하기 위한 도면이다.
도 9를 참조하면, 도 6을 통해 설명한 train set (X, Y)의 X는 XA와 XB로 구분될 수 있고 Y는 YA와 YB로 구분될 수 있다. 도 9에 도시된 것과 같이, XA에는 원소들 x0 내지 xα가 속하고, XB에는 원소들 xα+1 내지 xn이 속하며, YA에는 원소들 y0 내지 yα가 속하고, YB에는 원소들 yα+1 내지 yn이 속한다.
트레이닝 장치(500)는 train set (XA, YA)을 기초로 분류 모델 A를 트레이닝 시킬 수 있고, XB에 속한 xα+1를 트레이닝된 분류 모델 A(910)에 입력할 수 있다. 트레이닝된 분류 모델 A(910)는 xα+1를 입력 받으면 각 클래스의 제1 확률을 계산하여 A_yh_α+1를 출력할 수 있다. 트레이닝 장치(500)는 앞서 설명한 수학식 2를 통해 A_yh_α+1를 A_yh_confuse_α+1로 조정할 수 있고, (xα+1, A_yh_confuse_α+1)의 트레이닝 페어를 생성할 수 있다. 마찬가지로, 트레이닝 장치(500)는 (xα+2, A_yh_confuse_α+2) 내지 (xn, A_yh_confuse_n)의 트레이닝 페어들을 생성할 수 있다.
(xα+1, A_yh_confuse_α+1) 내지 (xn, A_yh_confuse_n)는 train set (XB, A_Yh_confuse)로 표현될 수 있다.
트레이닝 장치(500)는 train set (XB, YB)를 기초로 분류 모델 B를 트레이닝 시킬 수 있고, XA에 속한 x0를 트레이닝된 분류 모델 B(920)에 입력할 수 있다. 트레이닝된 분류 모델 B(920)는 x0를 입력 받으면 각 클래스의 제1 확률을 계산하여 B_yh_0를 출력할 수 있다. 트레이닝 장치(500)는 앞서 설명한 수학식 2를 통해 B_yh_0를 B_yh_confuse_0으로 조정할 수 있고, (x0, B_yh_confuse_0)의 트레이닝 페어를 생성할 수 있다. 마찬가지로, 트레이닝 장치(500)는 (x1, B_yh_confuse_1) 내지 (xα, B_yh_confuse_α)의 트레이닝 페어들을 생성할 수 있다.
(x0, B_yh_confuse_0) 내지 (xα, B_yh_confuse_α)는 train set (XA, B_Yh_confuse)로 표현될 수 있다.
트레이닝 장치(500)는 train set (XB, A_Yh_confuse)를 기초로 분류 모델 C를 트레이닝할 수 있다. 이에 따라, 분류 모델 C는 트레이닝된 분류 모델 A(910)가 헷갈려하는 클래스들을 학습 또는 볼 수 있다. 또한, 트레이닝 장치(500)은 train set (XA, B_Yh_confuse)를 기초로 분류 모델 C를 트레이닝할 수 있다. 이에 따라, 분류 모델 C는 트레이닝된 분류 모델 B(920)가 헷갈려하는 클래스들을 학습 또는 볼 수 있다.
실시예에 따르면, 분류 장치(100)에 상술한 제1 분류 모델 및 제2 분류 모델 대신에 트레이닝된 분류 모델 A, B, 및 C가 탑재될 수 있다.
도 10은 일 실시예에 따른 분류 장치의 분류 방법을 설명하기 위한 순서도이다.
도 10을 참조하면, 분류 장치(100)는 입력을 기초로 클래스들 각각의 제1 확률을 포함하는 제1 확률 벡터를 결정한다(1010). 일례로, 분류 장치(100) 내의 제1 분류 모델은 입력을 수신하면 클래스들 각각의 제1 확률을 계산하여 제1 확률 벡터를 출력할 수 있다.
분류 장치(100)는 제1 확률 벡터를 기초로 해당 클래스들에 컨퓨징 클래스들이 있는지 여부를 결정한다(1020). 일례로, 분류 장치(100)는 클래스들 각각의 제1 확률의 최대값이 임계값 미만이면 0이 아닌 확률을 갖는 클래스들을 컨퓨징 클래스들로 결정할 수 있다.
분류 장치(100)는 해당 클래스들에 컨퓨징 클래스들이 있는 경우, 해당 클래스들 각각의 제1 확률 중 최대값 및 해당 컨퓨징 클래스들 각각의 제1 확률을 기초로 제1 확률 벡터를 조정한다(1030).
분류 장치(100)는 입력을 기초로 클래스들 각각의 제2 확률을 포함하는 제2 확률 벡터를 결정한다(1040). 도 10에서 단계(1040)은 단계(1030) 뒤에 수행되는 것으로 도시되어 있으나 이는 예시적인 사항일 뿐, 단계(1040)은 단계(1010) 내지 단계(1030)와 별개로 독립적으로 수행될 수 있다.
분류 장치(100)는 조정된 제1 확률 벡터 및 제2 확률 벡터 사이의 비교 결과를 기초로 입력에 대한 분류를 수행한다(1050). 일례로, 분류 장치(100)는 조정된 제1 확률 벡터 및 제2 확률 벡터가 서로 유사하면, 입력을 상술한 최대값을 갖는 클래스로 분류할 수 있다. 분류 장치(100)는 조정된 제1 확률 벡터 및 제2 확률 벡터가 서로 유사하지 않으면, 입력은 OOD에 해당한다고 결정할 수 있다.
실시예에 따르면, 분류 장치(110)는 분류가 필요한 다양한 분야(예를 들어, 음성 인식, 글자 인식, 사람 인식, 지문 인식, 객체 인식 등)에 적용될 수 있다.
도 1 내지 도 9를 통해 기술된 사항들은 도 10을 통해 기술된 사항들에 적용될 수 있으므로, 상세한 설명을 생략한다.
도 11은 일 실시예에 따른 트레이닝 장치의 트레이닝 방법을 설명하기 위한 순서도이다.
도 11을 참조하면, 트레이닝 장치(500)는 입력 및 트레이닝된 제1 분류 모델을 기초로 클래스들 각각의 제1 확률을 포함하는 제1 확률 벡터를 결정한다(1110). 여기서, 제1 확률 벡터는 도 5 내지 도 8을 통해 설명한 "제1 확률 벡터_트레이닝"에 해당할 수 있고, 클래스들 중 어느 하나는 입력의 정답 클래스에 해당한다.
트레이닝 장치(500)는 제1 확률 벡터를 기초로 클래스들에 컨퓨징 클래스들이 있는지 여부를 결정한다(1120).
트레이닝 장치(500)는 컨퓨징 클래스들이 있는 경우, 정답 클래스의 제1 확률 및 컨퓨징 클래스들 각각의 제1 확률을 기초로 제1 확률 벡터를 조정한다(1130).
트레이닝 장치(500)는 조정된 제1 확률 벡터 및 입력을 기초로 제2 분류 모델을 트레이닝시킨다(1140).
도 1 내지 도 10을 통해 기술된 사항들은 도 11을 통해 기술된 사항들에 적용될 수 있으므로, 자세한 설명을 생략한다.
도 12는 일 실시예에 따른 분류 장치를 설명하기 위한 블록도이다.
도 12를 참조하면, 분류 장치(100)는 메모리(1210) 및 프로세서(1220)를 포함한다.
메모리(1210)는 명령어들을 저장한다.
프로세서(1220)는 명령어들을 실행한다. 이에 따라, 프로세서(1220)는 입력을 기초로 클래스들 각각의 제1 확률을 포함하는 제1 확률 벡터를 결정하고, 해당 제1 확률 벡터를 기초로 클래스들에 컨퓨징 클래스들이 있는지 여부를 결정하며, 컨퓨징 클래스들이 있는 경우, 클래스들 각각의 제1 확률 중 최대값 및 컨퓨징 클래스들 각각의 제1 확률을 기초로 제1 확률 벡터를 조정한다. 또한, 프로세서(1220)는 입력을 기초로 클래스들 각각의 제2 확률을 포함하는 제2 확률 벡터를 결정한다. 또한, 프로세서(1220)는 조정된 제1 확률 벡터 및 제2 확률 벡터 사이의 비교 결과를 기초로 입력에 대한 분류를 수행한다.
도 1 내지 도 11을 통해 기술된 사항들은 도 11을 통해 기술된 사항들에 적용될 수 있으므로, 자세한 설명을 생략한다.
도 13은 일 실시예에 따른 분류 장치를 포함하는 시스템을 설명하기 위한 도면이다.
도 13을 참조하면, 시스템(1300)은 사용자 단말(1310) 및 서버(1320)를 포함한다. 시스템(1300)은 음성 인식, 글자 인식, 사람 인식, 지문 인식, 및 객체 인식 중 어느 하나 또는 둘 이상을 구현할 수 있다.
분류 장치(100)는 서버(1320)에 포함된다.
사용자는 사용자 단말(1310)을 향해 발화(utterance)할 수 있다. 달리 표현하면, 사용자 단말(1310)은 사용자로부터 음성 신호를 수신할 수 있다. 일례로, 사용자 단말(1310)은 "어제 찍은 사진을 지워줘"의 음성 신호를 사용자로부터 수신할 수 있다.
사용자 단말(1310)은 음성 신호를 전처리하고, 전처리된 음성 신호를 서버(1320)로 전송할 수 있다.
서버(1320)는 음성 인식 엔진을 포함할 수 있고, 해당 음성 인식 엔진은 전처리된 음성 신호로부터 텍스트 "어제 찍은 사진을 지워줘"를 생성할 수 있다.
분류 장치(100)는 텍스트 "어제 찍은 사진을 지워줘"를 입력 받을 수 있고, 해당 텍스트를 기초로 클래스들 각각의 제1 확률을 포함하는 제1 확률 벡터를 생성할 수 있다. 일례로, 클래스들은 전송 기능에 해당하는 클래스, 삭제 기능에 해당하는 클래스, 수정 기능에 해당하는 클래스 등을 포함할 수 있고, 분류 장치(100)는 텍스트를 입력 받으면 해당 클래스들 각각의 제1 확률을 계산할 수 있다. 클래스들 각각의 제1 확률 중에서 클래스 ID 3의 제1 확률이 최대라 하자.
분류 장치(100)는 클래스 ID 3의 제1 확률이 임계값 TOOD 이하인지 여부를 결정할 수 있다. 여기서, 클래스 ID 3의 제1 확률이 임계값 TOOD 이상이면, 분류 장치(100)는 상술한 텍스트를 클래스 ID 3으로 분류할 수 있고, 서버(1320)는 사용자 단말(1310)에서 클래스 ID 3에 해당되는 기능이 수행되게 끔 할 수 있다. 일례로, 분류 장치(100)는 클래스 ID 3의 제1 확률이 임계값 TOOD 이상이고 클래스 ID 3에 맵핑된 기능이 삭제이면, 사용자의 의도(intent)를 사진 삭제로 분류할 수 있고, 서버(1320)는 어제 찍은 사진이 사용자 단말(1310)에서 삭제되도록 할 수 있다.
클래스 ID 3의 제1 확률이 임계값 TOOD보다 작을 수 있다. 분류 장치(100)는 상술한 분류 방법에 따라 동작하여 제2 확률 벡터와 조정된 제1 확률 벡터 사이의 유사도를 결정할 수 있고, 제2 확률 벡터와 조정된 제1 확률 벡터가 서로 유사하면, 상술한 텍스트를 클래스 ID 3으로 분류할 수 있다. 분류 장치(100)는 제2 확률 벡터와 조정된 제1 확률 벡터가 서로 유사하지 않으면 상술한 텍스트는 OOD에 해당한다고 결정할 수 있다. 이 경우, 서버(1320)는 사용자 단말(1310)에게 "기능을 수행할 수 없습니다"를 전송할 수 있고, 사용자 단말(1310)은 "기능을 수행할 수 없습니다"를 출력할 수 있다.
도 1 내지 도 12를 통해 기술된 사항들은 도 13을 통해 기술된 사항들에 적용될 수 있으므로, 상세한 설명을 생략한다.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상과 같이 실시예들이 비록 한정된 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기를 기초로 다양한 기술적 수정 및 변형을 적용할 수 있다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.
그러므로, 다른 구현들, 다른 실시예들 및 청구범위와 균등한 것들도 후술하는 청구범위의 범위에 속한다.

Claims (19)

  1. 분류 장치의 동작 방법에 있어서,
    입력을 기초로 클래스들 각각의 제1 확률을 포함하는 제1 확률 벡터를 결정하는 단계;
    상기 결정된 제1 확률 벡터를 기초로 상기 클래스들에 컨퓨징(confusing) 클래스들이 있는지 여부를 결정하는 단계;
    상기 컨퓨징 클래스들이 있는 경우, 상기 클래스들 각각의 제1 확률 중 최대값 및 상기 컨퓨징 클래스들 각각의 제1 확률을 기초로 상기 결정된 제1 확률 벡터를 조정하는 단계;
    상기 입력을 기초로 상기 클래스들 각각의 제2 확률을 포함하는 제2 확률 벡터를 결정하는 단계; 및
    상기 결정된 제2 확률 벡터 및 상기 조정된 제1 확률 벡터 사이의 비교 결과를 기초로 상기 입력에 대한 분류를 수행하는 단계
    를 포함하는,
    분류 장치의 동작 방법.
  2. 제1항에 있어서,
    상기 컨퓨징 클래스들이 있는지 여부를 결정하는 단계는,
    상기 최대값이 임계값 이하인지 여부를 결정하는 단계; 및
    상기 최대값이 상기 임계값 이하인 경우, 상기 컨퓨징 클래스들이 있는 것으로 결정하는 단계
    를 포함하는,
    분류 장치의 동작 방법.
  3. 제1항에 있어서,
    상기 결정된 제1 확률 벡터를 조정하는 단계는,
    미리 정해진 값과 상기 최대값 사이의 차이를 계산하는 단계;
    상기 컨퓨징 클래스들 각각의 제1 확률과 상기 계산된 차이 사이의 비율을 계산하는 단계; 및
    상기 컨퓨징 클래스들 각각의 계산된 제1 확률을 상기 계산된 비율들 각각으로 조정하는 단계
    를 포함하는,
    분류 장치의 동작 방법.
  4. 제1항에 있어서,
    상기 입력에 대한 분류를 수행하는 단계는,
    상기 결정된 제2 확률 벡터 및 상기 조정된 제1 확률 벡터 사이의 유사도를 결정하는 단계; 및
    상기 결정된 유사도가 임계값 이상인 경우, 상기 입력을 상기 최대값을 갖는 클래스로 분류하는 단계
    를 포함하는,
    분류 장치의 동작 방법.
  5. 제4항에 있어서,
    상기 결정된 유사도가 상기 임계값 이하인 경우, 상기 입력을 상기 분류 장치의 아웃 오브 도메인으로 결정하는 단계
    를 더 포함하는,
    분류 장치의 동작 방법.
  6. 제1항에 있어서,
    상기 제1 확률 벡터를 결정하는 제1 분류 모델과 상기 제2 확률 벡터를 결정하는 제2 분류 모델은 별개인,
    분류 장치의 동작 방법.
  7. 제1항에 있어서,
    상기 제1 확률 벡터를 결정하는 제1 분류 모델과 상기 제2 확률 벡터를 결정하는 제2 분류 모델은 일부 또는 모든 가중치들을 공유하는,
    분류 장치의 동작 방법.
  8. 제1항에 있어서,
    상기 입력은 텍스트 및 이미지 중 적어도 하나를 포함하는,
    분류 장치의 동작 방법.
  9. 트레이닝 장치의 동작 방법에 있어서,
    입력 및 트레이닝된 제1 분류 모델을 기초로 클래스들 각각의 제1 확률을 포함하는 제1 확률 벡터를 결정하는 단계 -상기 클래스들 중 어느 하나는 상기 입력의 정답(truth) 클래스에 해당함-;
    상기 결정된 제1 확률 벡터를 기초로 상기 클래스들에 컨퓨징(confusing) 클래스들이 있는지 여부를 결정하는 단계;
    상기 컨퓨징 클래스들이 있는 경우, 상기 정답 클래스의 제1 확률 및 상기 컨퓨징 클래스들 각각의 제1 확률을 기초로 상기 결정된 제1 확률 벡터를 조정하는 단계; 및
    상기 조정된 제1 확률 벡터 및 상기 입력을 기초로 제2 분류 모델을 트레이닝시키는 단계
    를 포함하는,
    트레이닝 장치의 동작 방법.
  10. 제9항에 있어서,
    상기 컨퓨징 클래스들이 있는지 여부를 결정하는 단계는,
    상기 정답 클래스의 제1 확률이 임계값 이하인지 여부를 결정하는 단계; 및
    상기 정답 클래스의 제1 확률이 상기 임계값 이하인 경우, 상기 컨퓨징 클래스들이 있는 것으로 결정하는 단계
    를 포함하는,
    트레이닝 장치의 동작 방법.
  11. 제9항에 있어서,
    상기 결정된 제1 확률 벡터를 조정하는 단계는,
    미리 정해진 값과 상기 정답 클래스의 제1 확률 사이의 차이를 계산하는 단계;
    상기 컨퓨징 클래스들 각각의 제1 확률과 상기 계산된 차이 사이의 비율을 계산하는 단계; 및
    상기 컨퓨징 클래스들 각각의 제1 확률을 상기 계산된 비율 각각으로 조정하는 단계
    를 포함하는,
    트레이닝 장치의 동작 방법.
  12. 제9항에 있어서,
    상기 트레이닝된 제1 분류 모델과 상기 트레이닝된 제2 분류 모델은 별개인,
    트레이닝 장치의 동작 방법.
  13. 제9항에 있어서,
    상기 트레이닝된 제1 분류 모델과 상기 트레이닝된 제2 분류 모델은 일부 또는 모든 가중치들을 공유하는,
    트레이닝 장치의 동작 방법.
  14. 분류 장치에 있어서,
    명령어들을 저장하는 메모리; 및
    상기 명령어들을 실행하는 프로세서
    를 포함하고,
    상기 프로세서는 상기 명령어들을 실행함으로써:
    입력을 기초로 클래스들 각각의 제1 확률을 포함하는 제1 확률 벡터를 결정하고, 상기 결정된 제1 확률 벡터를 기초로 상기 클래스들에 컨퓨징(confusing) 클래스들이 있는지 여부를 결정하며, 상기 컨퓨징 클래스들이 있는 경우, 상기 클래스들 각각의 제1 확률 중 최대값 및 상기 컨퓨징 클래스들 각각의 제1 확률을 기초로 상기 결정된 제1 확률 벡터를 조정하고, 상기 입력을 기초로 상기 클래스들 각각의 제2 확률을 포함하는 제2 확률 벡터를 결정하고, 상기 결정된 제2 확률 벡터 및 상기 조정된 제1 확률 벡터 사이의 비교 결과를 기초로 상기 입력에 대한 분류를 수행하는,
    분류 장치.
  15. 제14항에 있어서,
    상기 프로세서는,
    상기 최대값이 임계값 이하인지 여부를 결정하고, 상기 최대값이 상기 임계값 이하인 경우, 상기 컨퓨징 클래스들이 있는 것으로 결정하는,
    분류 장치.
  16. 제14항에 있어서,
    상기 프로세서는,
    미리 정해진 값과 상기 최대값 사이의 차이를 계산하고, 상기 컨퓨징 클래스들 각각의 제1 확률과 상기 계산된 차이 사이의 비율을 계산하며, 상기 컨퓨징 클래스들 각각의 제1 확률을 상기 계산된 비율들 각각으로 조정하는,
    분류 장치.
  17. 제14항에 있어서,
    상기 프로세서는,
    상기 결정된 제2 확률 벡터 및 상기 조정된 제1 확률 벡터 사이의 유사도를 결정하고, 상기 결정된 유사도가 임계값 이상인 경우, 상기 입력을 상기 최대값을 갖는 클래스로 분류하는,
    분류 장치.
  18. 제17항에 있어서,
    상기 프로세서는,
    상기 결정된 유사도가 상기 임계값 이하인 경우, 상기 입력을 상기 분류 장치의 아웃 오브 도메인으로 결정하는,
    분류 장치.
  19. 제17항에 있어서,
    상기 입력은 텍스트 및 이미지 중 적어도 하나를 포함하는,
    분류 장치.
KR1020190072600A 2019-06-19 2019-06-19 분류 장치 및 이의 동작 방법과 트레이닝 방법 KR20200144658A (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020190072600A KR20200144658A (ko) 2019-06-19 2019-06-19 분류 장치 및 이의 동작 방법과 트레이닝 방법
US16/671,639 US11100374B2 (en) 2019-06-19 2019-11-01 Apparatus and method with classification

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190072600A KR20200144658A (ko) 2019-06-19 2019-06-19 분류 장치 및 이의 동작 방법과 트레이닝 방법

Publications (1)

Publication Number Publication Date
KR20200144658A true KR20200144658A (ko) 2020-12-30

Family

ID=74038077

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190072600A KR20200144658A (ko) 2019-06-19 2019-06-19 분류 장치 및 이의 동작 방법과 트레이닝 방법

Country Status (2)

Country Link
US (1) US11100374B2 (ko)
KR (1) KR20200144658A (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220109941A (ko) * 2021-01-29 2022-08-05 한국과학기술원 조작 이미지 판별 장치 및 방법
KR20220147347A (ko) * 2021-04-27 2022-11-03 재단법인대구경북과학기술원 다중 분류 모델에 기반한 직무 훈련 컨텐츠 추천 장치 및 방법
KR102594477B1 (ko) * 2023-03-03 2023-10-26 주식회사 인피닉 스코어 재조정을 통한 객체 검출 방법

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11328125B2 (en) * 2019-05-14 2022-05-10 Korea University Research And Business Foundation Method and server for text classification using multi-task learning
US11507603B2 (en) * 2020-05-12 2022-11-22 Bayestree Intelligence Pvt Ltd. Identifying uncertain classifications
DE102021203228B3 (de) 2021-03-30 2022-06-23 Robert Bosch Gesellschaft mit beschränkter Haftung Verfahren und Vorrichtung zur Manipulationskennung an einer technischen Einrichtung in einem Kraftfahrzeug mithilfe Methoden künstlicher Intelligenz
US12019984B2 (en) * 2021-09-20 2024-06-25 Salesforce, Inc. Multi-lingual intent model with out-of-domain detection

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4599693A (en) * 1984-01-16 1986-07-08 Itt Corporation Probabilistic learning system
DE69032318T2 (de) * 1989-08-31 1998-09-24 Canon Kk Vorrichtung zur Bildverarbeitung
US5251131A (en) * 1991-07-31 1993-10-05 Thinking Machines Corporation Classification of data records by comparison of records to a training database using probability weights
DE69517249T2 (de) * 1994-02-16 2001-01-25 Koninklijke Philips Electronics N.V., Eindhoven Anordnung zur segmentierung eines diskreten datensatzes
US5768422A (en) * 1995-08-08 1998-06-16 Apple Computer, Inc. Method for training an adaptive statistical classifier to discriminate against inproper patterns
US6226409B1 (en) * 1998-11-03 2001-05-01 Compaq Computer Corporation Multiple mode probability density estimation with application to sequential markovian decision processes
US6594392B2 (en) * 1999-05-17 2003-07-15 Intel Corporation Pattern recognition based on piecewise linear probability density function
US6937994B1 (en) * 2000-02-24 2005-08-30 International Business Machines Corporation System and method for efficiently generating models for targeting products and promotions using classification method by choosing points to be labeled
US7848566B2 (en) * 2004-10-22 2010-12-07 Carnegie Mellon University Object recognizer and detector for two-dimensional images using bayesian network based classifier
US7773789B2 (en) * 2005-08-30 2010-08-10 Siemens Medical Solutions Usa, Inc. Probabilistic minimal path for automated esophagus segmentation
US8306940B2 (en) 2009-03-20 2012-11-06 Microsoft Corporation Interactive visualization for generating ensemble classifiers
US8595153B2 (en) 2010-06-09 2013-11-26 Microsoft Corporation Exploring data using multiple machine-learning models
US10062008B2 (en) 2013-06-13 2018-08-28 Sicpa Holding Sa Image based object classification
US10289962B2 (en) 2014-06-06 2019-05-14 Google Llc Training distilled machine learning models
CN106575375A (zh) 2014-08-08 2017-04-19 三菱电机株式会社 特征量分类***
US20160132786A1 (en) 2014-11-12 2016-05-12 Alexandru Balan Partitioning data for training machine-learning classifiers
US9704054B1 (en) 2015-09-30 2017-07-11 Amazon Technologies, Inc. Cluster-trained machine learning for image processing
CN108351986B (zh) 2015-10-30 2022-03-29 株式会社摩如富 学习***及装置和方法、训练数据生成装置及生成方法
US9972092B2 (en) * 2016-03-31 2018-05-15 Adobe Systems Incorporated Utilizing deep learning for boundary-aware image segmentation
US9928448B1 (en) 2016-09-23 2018-03-27 International Business Machines Corporation Image classification utilizing semantic relationships in a classification hierarchy
US11531852B2 (en) 2016-11-28 2022-12-20 D-Wave Systems Inc. Machine learning systems and methods for training with noisy labels
CN110348270B (zh) * 2018-04-03 2023-06-09 扬智科技股份有限公司 影像物件辨识方法与影像物件辨识***
US11328221B2 (en) * 2019-04-09 2022-05-10 International Business Machines Corporation Hybrid model for short text classification with imbalanced data

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220109941A (ko) * 2021-01-29 2022-08-05 한국과학기술원 조작 이미지 판별 장치 및 방법
KR20220147347A (ko) * 2021-04-27 2022-11-03 재단법인대구경북과학기술원 다중 분류 모델에 기반한 직무 훈련 컨텐츠 추천 장치 및 방법
KR102594477B1 (ko) * 2023-03-03 2023-10-26 주식회사 인피닉 스코어 재조정을 통한 객체 검출 방법

Also Published As

Publication number Publication date
US11100374B2 (en) 2021-08-24
US20200401855A1 (en) 2020-12-24

Similar Documents

Publication Publication Date Title
KR20200144658A (ko) 분류 장치 및 이의 동작 방법과 트레이닝 방법
US20240038218A1 (en) Speech model personalization via ambient context harvesting
US11450312B2 (en) Speech recognition method, apparatus, and device, and storage medium
RU2666631C2 (ru) Обучение dnn-студента посредством распределения вывода
US11776548B2 (en) Convolutional neural network with phonetic attention for speaker verification
US20210312905A1 (en) Pre-Training With Alignments For Recurrent Neural Network Transducer Based End-To-End Speech Recognition
KR102415503B1 (ko) 분류기 학습 방법 및 객체 검출 방법
US10699192B1 (en) Method for optimizing hyperparameters of auto-labeling device which auto-labels training images for use in deep learning network to analyze images with high precision, and optimizing device using the same
CN111597779B (zh) 文本生成方法、装置、设备以及存储介质
US11049045B2 (en) Classification apparatus, robot, and classification method
US20190286931A1 (en) Method and system for automatic image caption generation
US11741363B2 (en) Computer-readable recording medium, method for learning, and learning device
KR102129161B1 (ko) 컨볼루션 신경망의 하이퍼파라미터를 설정하는 방법 및 이를 수행하는 단말 장치
US20190079468A1 (en) Adaptive control of negative learning for limited reconstruction capability auto encoder
WO2022083165A1 (en) Transformer-based automatic speech recognition system incorporating time-reduction layer
KR20210051343A (ko) 비지도 도메인 적응 장치 및 방법
JP5620474B2 (ja) アンカーモデル適応装置、集積回路、AV(AudioVideo)デバイス、オンライン自己適応方法、およびそのプログラム
KR20210145490A (ko) 어텐션 기반 시퀀스 투 시퀀스 모델의 성능 향상 방법 및 장치
US20220237263A1 (en) Method for outputting, computer-readable recording medium storing output program, and output device
KR20210047467A (ko) 이미지 다중 캡션 자동 생성 방법 및 시스템
KR102296154B1 (ko) 줄거리를 통한 머신러닝 기반의 미디어 흥행 예측
JPWO2021095211A5 (ko)
KR102334388B1 (ko) 순차적 특징 데이터 이용한 행동 인식 방법 및 그를 위한 장치
KR102432854B1 (ko) 잠재 벡터를 이용하여 군집화를 수행하는 방법 및 장치
KR102278215B1 (ko) 보조 식별기가 추가된 기계학습을 통해 이미지의 생성을 가능하게 하는 생성적 적대 신경망 기반의 이미지 생성 처리 장치 및 방법