KR20180037192A - 미지의 클래스들의 검출 및 미지의 클래스들에 대한 분류기들의 초기화 - Google Patents

미지의 클래스들의 검출 및 미지의 클래스들에 대한 분류기들의 초기화 Download PDF

Info

Publication number
KR20180037192A
KR20180037192A KR1020187002991A KR20187002991A KR20180037192A KR 20180037192 A KR20180037192 A KR 20180037192A KR 1020187002991 A KR1020187002991 A KR 1020187002991A KR 20187002991 A KR20187002991 A KR 20187002991A KR 20180037192 A KR20180037192 A KR 20180037192A
Authority
KR
South Korea
Prior art keywords
classes
classifier
data
class
unknown
Prior art date
Application number
KR1020187002991A
Other languages
English (en)
Other versions
KR102595399B1 (ko
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 KR20180037192A publication Critical patent/KR20180037192A/ko
Application granted granted Critical
Publication of KR102595399B1 publication Critical patent/KR102595399B1/ko

Links

Images

Classifications

    • G06K9/6256
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • 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/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • G06F18/2411Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on the proximity to a decision surface, e.g. support vector machines
    • G06K9/4628
    • G06K9/6269
    • 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/044Recurrent networks, e.g. Hopfield networks
    • G06N3/0445
    • 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
    • G06N99/005
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/44Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components
    • G06V10/443Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components by matching or filtering
    • G06V10/449Biologically inspired filters, e.g. difference of Gaussians [DoG] or Gabor filters
    • G06V10/451Biologically inspired filters, e.g. difference of Gaussians [DoG] or Gabor filters with interaction between the filter responses, e.g. cortical complex cells
    • G06V10/454Integrating the filters into a hierarchical structure, e.g. convolutional neural networks [CNN]
    • 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/774Generating sets of training patterns; Bootstrap methods, e.g. bagging or boosting
    • 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/82Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural 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/045Combinations of networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • General Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • Software Systems (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Medical Informatics (AREA)
  • Multimedia (AREA)
  • Databases & Information Systems (AREA)
  • Molecular Biology (AREA)
  • Mathematical Physics (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • Biodiversity & Conservation Biology (AREA)
  • Image Analysis (AREA)

Abstract

미지의 클래스들을 검출하는 방법이 제시되며, 방법은 복수의 제 1 클래스들에 대한 제 1 분류기를 생성하는 단계를 포함한다. 일 구성에 있어서, 제 1 분류기의 출력은 적어도 2 개의 차원을 갖는다. 방법은 또한, 입력 데이터가 다수의 제 1 클래스들에 속하는지 또는 적어도 하나의 제 2 클래스에 속하는지를 판단하기 위해 제 1 분류기의 출력을 수신하도록 제 2 분류기를 설계하는 단계를 포함한다.

Description

미지의 클래스들의 검출 및 미지의 클래스들에 대한 분류기들의 초기화{DETECTION OF UNKNOWN CLASSES AND INITIALIZATION OF CLASSIFIERS FOR UNKNOWN CLASSES}
관련 출원들에 대한 상호 참조
본 출원은 2015 년 8 월 4 일에 출원되고 명칭이 "DETECTION OF UNKNOWN CLASSES AND INITIALIZATION OF CLASSIFIERS FOR UNKNOWN CLASSES" 인 U.S. 가특허출원 제 62/201,090 호의 이익을 주장하며, 그 개시물은 그 전부가 본 명세서에 참조로서 명백히 통합된다.
분야
본 개시물의 소정의 양태들은 일반적으로 머신 학습 (machine learning) 에 관한 것이고, 특히 미지의 클래스들을 검출하고 미지의 클래스들에 대한 분류기들을 초기화하기 위한 시스템들 및 방법들을 개선하는 것에 관한 것이다.
인공 뉴런 (artificial neuron) 들 (예컨대, 뉴런 모델들) 의 상호접속된 그룹을 포함할 수도 있는 인공 신경 네트워크는 연산 디바이스이거나, 연산 디바이스에 의해 수행되어야 할 방법을 표현한다. 인공 신경 네트워크들은 생물학적 신경 네트워크들에서의 대응 구조 및/또는 기능을 가질 수도 있다.
컨벌루션 신경 네트워크 (convolutional neural network) 들은 피드-포워드 (feed-forward) 인공 신경 네트워크의 타입이다. 컨벌루션 신경 네트워크들은, 타일형 수용성 필드 (receptive field) 일 수도 있는 뉴런들의 계층들을 포함할 수도 있다. 컨벌루션 신경 네트워크 (CNN) 들은 많은 어플리케이션들을 가진다. 특히, CNN 들은 패턴 인식 및 분류의 영역에서 폭넓게 이용되었다.
심층 신뢰 네트워크 (deep belief network) 들 및 심층 컨벌루션 네트워크들과 같은 심층 학습 (learning) 아키텍처들은, 객체 인식 어플리케이션들에서 점점 더 이용되었다. 컨벌루션 심경 네트워크들과 같이, 이 심층 학습 아키텍처들에서의 연산은 하나 이상의 연산 체인 (computational chain) 들로 구성될 수도 있는 프로세싱 노드들의 집단 상에서 분산될 수도 있다. 이 멀티-계층화된 아키텍처들은, 이들이 한 번에 하나의 계층에서 훈련될 수도 있고, 역 전파를 이용하여 미세-튜닝될 수도 있기 때문에 더 큰 유연성을 제공한다.
다른 모델들이 또한, 객체 인식을 위하여 이용가능하다. 예를 들어, 지원 벡터 머신 (support vector machine; SVM) 들은 분류를 위하여 적용될 수 있는 학습 도구들이다. 지원 벡터 머신들은 데이터를 범주화하는 분리 초평면 (separating hyperplane)(예컨대, 판단 경계) 을 포함한다. 초평면은 감독된 학습에 의해 정의된다. 바람직한 초평면은 훈련 데이터의 마진을 증가시킨다. 다시 말해서, 초평면은 훈련 예들까지의 가장 큰 최소 거리를 가져야 한다.
이 해결책들은 다수의 분류 벤치마크들에 대한 우수한 결과들을 달성하지만, 그 연산 복잡도는 엄청나게 높을 수 있다. 추가적으로, 모델들의 훈련은 도전일 수도 있다.
본 개시물의 일 양태에서, 미지의 클래스들을 검출하는 방법이 개시된다. 방법은, 제 1 클래스들에 대한 제 1 분류기를 생성하는 단계를 포함한다. 일 구성에서, 제 1 분류기의 출력은 적어도 2 개의 차원 (dimension) 을 갖는다. 방법은 또한, 입력 데이터가 제 1 클래스들에 속하는지 또는 적어도 하나의 제 2 클래스에 속하는지를 판단하기 위해 제 1 분류기의 출력을 수신하도록 제 2 분류기를 설계하는 단계를 포함한다.
본 개시물의 다른 양태는 제 1 클래스들에 대한 제 1 분류기를 생성하기 위한 수단을 포함하는 장치에 관련된다. 일 구성에서, 제 1 분류기의 출력은 적어도 2 개의 차원을 갖는다. 장치는 또한, 입력 데이터가 제 1 클래스들에 속하는지 또는 적어도 하나의 제 2 클래스에 속하는지를 판단하기 위해 제 1 분류기의 출력을 수신하도록 제 2 분류기를 설계하기 위한 수단을 포함한다.
본 개시물의 또 다른 양태는, 미지의 클래스들을 검출하기 위한 컴퓨터 프로그램 제품이 개시된다. 컴퓨터 프로그램 제품은 비일시적 프로그램 코드가 기록된 비일시적 컴퓨터 판독가능 저장 매체를 갖는다. 프로그램 코드는 프로세서에 의해 실행되고, 제 1 클래스들에 대한 제 1 분류기를 생성하는 프로그램 코드를 포함한다. 일 구성에서, 제 1 분류기의 출력은 적어도 2 개의 차원을 갖는다. 프로그램 코드는 또한, 입력 데이터가 제 1 클래스들에 속하는지 또는 적어도 하나의 제 2 클래스에 속하는지를 판단하기 위해 제 1 분류기의 출력을 수신하도록 제 2 분류기를 설계하는 프로그램 코드를 포함한다.
본 개시물의 또 다른 양태는 미지의 클래스들을 검출하기 위한 장치에 관련되며, 장치는 메모리 및 메모리에 커플링된 하나 이상의 프로세서들을 갖는다. 프로세서(들)은 제 1 클래스들에 대한 제 1 분류기를 생성하도록 구성된다. 일 구성에서, 제 1 분류기의 출력은 적어도 2 개의 차원을 갖는다. 프로세서(들)은 또한, 입력 데이터가 제 1 클래스들에 속하는지 또는 적어도 하나의 제 2 클래스에 속하는지를 판단하기 위해 제 1 분류기의 출력을 수신하도록 제 2 분류기를 설계하도록 구성된다.
본 개시물의 일 양태에서, 종합적인 네거티브 데이터를 생성하는 방법이 개시된다. 방법은 다수의 클래스들로부터 기지의 데이터를 획득하는 단계를 포함한다. 방법은 또한, 기지의 데이터의 함수로서 네거티브 데이터를 종합적으로 생성하는 단계를 포함한다.
본 개시물의 또 다른 양태는 다수의 클래스들로부터 기지의 데이터를 획득하기 위한 수단을 포함하는 장치에 관련된다. 장치는 또한, 기지의 데이터의 함수로서 네거티브 데이터를 종합적으로 생성하기 위한 수단을 포함한다.
본 개시물의 또 다른 양태에서, 종합적인 네거티브 데이터를 생성하기 위한 컴퓨터 프로그램 제품이 개시된다. 컴퓨터 프로그램 제품은 비일시적 프로그램 코드가 기록된 비일시적 컴퓨터 판독가능 저장 매체를 갖는다. 프로그램 코드는 프로세서에 의해 실행되고 다수의 클래스들로부터 기지의 데이터를 획득하는 프로그램 코드를 포함한다. 프로그램 코드는 또한, 기지의 데이터의 함수로서 네거티브 데이터를 종합적으로 생성하는 프로그램 코드를 포함한다.
본 개시물의 또 다른 양태는 종합적인 네거티브 데이터를 생성하기 위한 장치에 관련되며, 장치는 메모리 및 메모리에 커플링된 하나 이상의 프로세서들을 갖는다. 프로세서(들)은 다수의 클래스들로부터 기지의 데이터를 획득하도록 구성된다. 프로세서(들)은 또한, 기지의 데이터의 함수로서 네거티브 데이터를 종합적으로 생성하도록 구성된다.
개시물의 추가적인 특징들 및 장점들이 이하에서 설명될 것이다. 이 개시물은 본 개시물의 동일한 목적들을 수행하기 위한 다른 구조들을 수정하거나 설계하기 위한 기초로서 쉽게 사용될 수도 있다는 것이 당해 분야의 당업자들에 의해 인식되어야 한다. 또한, 이러한 등가적인 구성들은 첨부된 청구항들에서 기재된 바와 같은 개시물의 교시들로부터 벗어나지 않는다는 것이 당해 분야의 당업자들에 의해 실현되어야 한다. 그 편성 및 동작 방법의 양자에 대하여, 개시물의 특성인 것으로 믿어지는 신규한 특징들은 추가의 목적들 및 장점들과 함께, 동반된 도면들과 관련하여 고려될 때에 다음의 설명으로부터 더욱 양호하게 이해될 것이다. 그러나, 도면들의 각각은 본 개시물의 제한들의 정의로서 의도된 것이 아니라, 오직 예시 및 설명의 목적들을 위하여 제공된다는 것이 명백히 이해되어야 한다.
본 개시물의 특징들, 본질, 및 장점들은 유사한 참조 부호들이 이에 대응하여 전반에 걸쳐 식별하는 도면들과 함께 취해질 때에 이하에서 기재된 상세한 설명으로부터 더욱 분명해질 것이다.
도 1 은 본 개시물의 소정의 양태들에 따른, 범용 프로세서를 포함하는 시스템-온-칩 (system-on-a-chip; SOC) 을 이용하여 신경 네트워크를 설계하는 일 예의 구현을 도시한다.
도 2 는 본 개시물의 양태들에 따른 시스템의 일 예의 구현을 도시한다.
도 3a 는 본 개시물의 양태들에 따른 신경 네트워크를 도시하는 다이어그램이다.
도 3b 는 본 개시물의 양태들에 따른 예시적인 심층 컨벌루션 네트워크 (deep convolutional network; DCN) 를 도시하는 블록 다이어그램이다.
도 4 는 본 개시물의 양태들에 따른 인공 지능 (artificial intelligence; AI) 기능들을 모듈화할 수도 있는 예시적인 소프트웨어 아키텍처를 도시하는 블록 다이어그램이다.
도 5 는 본 개시물의 양태들에 따른 스마트폰 상에서의 AI 어플리케이션의 실행 시간 (run-time) 동작을 도시하는 블록 다이어그램이다.
도 6 및 도 7 은 본 개시물의 양태들에 따른 이진 분류기들의 예들을 도시한다.
도 8a 및 도 8b 는 본 개시물의 양태들에 따른 미지의 클래스들을 검출하기 위한 방법들을 도시한다.
도 9a 및 도 9b 는 본 개시물의 양태들에 따른 종합적인 미지의 데이터를 생성하기 위한 방법들을 도시한다.
도 10 은 본 개시물의 양태들에 따른 미지의 클래스 검출을 위한 방법을 도시하는 플로우 다이어그램이다.
도 11 은 본 개시물의 양태들에 따른 종합적인 미지의 데이터를 생성하기 위한 방법을 도시하는 플로우 다이어그램이다.
도 12 는 본 개시물의 양태들에 따른 미지의 클래스 검출 및 종합적인 미지의 데이터를 생성하기 위한 방법을 도시하는 플로우 다이어그램이다.
하기에 기재된 상세한 설명은 첨부된 도면들과 관련하여, 다양한 구성들의 설명으로서 의도되고, 본 명세서에서 설명된 개념들이 실시될 수도 있는 유일한 구성들을 표현하도록 의도된 것이 아니다. 상세한 설명은 다양한 개념들의 철저한 이해를 제공하는 목적을 위한 특정 세부사항들을 포함한다. 그러나, 이 개념들은 이 특정 세부사항들 없이 실시될 수도 있다는 것이 당해 분야의 당업자들에게 명백할 것이다. 일부 사례들에서는, 이러한 개념들을 모호하게 하는 것을 회피하기 위하여, 잘 알려진 구조들 및 컴포넌트들이 블록 다이어그램 형태로 도시되어 있다.
교시들에 기초하여, 당해 분야의 당업자는 개시물의 범위가, 개시물의 임의의 다른 양태에 관계 없이 또는 이와 조합하여 구현되든지 간에, 개시물의 임의의 양태를 커버하도록 의도된다는 것을 인식해야 한다. 예를 들어, 기재된 임의의 수의 양태들을 이용하여 장치가 구현될 수도 있거나 방법이 실시될 수도 있다. 게다가, 개시물의 범위는 기재된 개시물의 다양한 양태들에 추가하여, 또는 이 다양한 양태들 이외에, 다른 구조, 기능성, 또는 구조 및 기능성을 이용하여 실시된 이러한 장치 또는 방법을 커버하도록 의도된다. 개시된 개시물의 임의의 양태는 청구항의 하나 이상의 엘리먼트들에 의해 구체화될 수도 있다는 것이 이해되어야 한다.
단어 "예시적" 은 "예, 사례, 또는 예시로서 작용함" 을 의미하기 위하여 본 명세서에서 이용된다. "예시적" 으로서 본 명세서에서 설명된 임의의 양태는 다른 양태들에 비해 바람직하거나 유익한 것으로 반드시 해석되어야 하는 것은 아니다.
특정한 양태들이 본 명세서에서 설명되지만, 이 양태들의 많은 변형들 및 치환들은 개시물의 범위 내에 속한다. 바람직한 양태들의 일부 이득들 및 장점들이 언급되지만, 개시물의 범위는 특정한 이득들, 용도들, 또는 목적들에 제한되도록 의도된 것이 아니다. 오히려, 개시물의 양태들은 상이한 기술들, 시스템 구성들, 네트워크들, 및 프로토콜들에 폭넓게 적용가능하도록 의도되며, 이들의 일부는 바람직한 양태들의 도면들 및 다음의 설명에서 예로서 예시되어 있다. 상세한 설명 및 도면들은 제한하는 것이 아니라 개시물의 단지 예시이고, 개시물의 범위는 첨부된 청구항들 및 그 등가물들에 의해 정의된다.
지원 벡터 머신 (SVM) 과 같은 종래의 분류기는 2 이상의 클래스들 사이에서 판단 경계들을 결정할 수도 있다. 멀티-클래스 분류에 대하여, 수개의 분류기 판단 경계들이 샘플을 분류하기 위해 생성될 수도 있다. 분류는 네트워크를 훈련시키는데 사용되었던 클래스와 샘플을 연관시키는 것을 지칭한다. 예를 들어, 얼굴 인식을 위해, 이미지 검출기는 특정 사람 (예를 들어, 클래스) 에 속하는 것으로서 얼굴의 이미지를 분류할 수도 있다.
또한, 종래 분류기들은 각각의 클래스에 속하는 샘플의 확률을 표시하는 점수들의 벡터를 생성한다. 최고 확률을 갖는 클래스는 승리 클래스로서 선택될 수도 있다.
여전히, 일부 경우들에서, 샘플은 분류기를 훈련시키는데 사용되었던 클래스들 중 임의의 것에 속하지 않는다. 따라서, 기지의 클래스에 속하거나 또는 미지의 클래스에 속하는 (또는 적어도 하나의 미지의 클래스) 객체를 라벨링하기 위해 분류기를 초기화하도록 프레임워크를 생성하는 것이 바람직할 수도 있다. 일 구성에서, 제 1 분류기는 샘플에 대한 분류 점수들을 결정하기 위해 특정된다. 또한, 제 1 분류기는 분류 점수들에 기초하여 기지 또는 미지로서 샘플을 범주화하기 위해 특정될 수도 있다. 게다가, 또 다른 구성에서, 미지의 클래스에 대한 분류 경계는 기지의 클래스들을 배제하고 및/또는 종합적으로 생성된 네거티브 클래스 데이터를 포함하는 샘플들을 랜덤 훈련시키는 것에 기초하여 정의될 수도 있다. 네거티브 클래스 데이터는 미지의 클래스 데이터 또는 미지의 데이터로서 지칭될 수도 있다.
도 1 은 본 개시물의 소정의 양태들에 따른 범용 프로세서 (CPU) 또는 멀티-코어 범용 프로세서 (CPU) 들 (102) 을 포함할 수도 있는, 시스템-온-칩 (SOC) (100) 을 사용하여 상술한 미지의 클래스 검출, 미지의 분류기 초기화, 및/또는 종합적인 네거티브 데이터 생성의 일 예의 구현을 도시한다. 변수들 (예를 들어, 신경 신호들 및 시냅틱 가중치들), 연산 디바이스와 연관된 시스템 파라미터들 (예를 들어, 가중치들을 갖는 신경 네트워크), 지연들, 주파수 빈 정보, 및 태스크 정보는 신경 프로세싱 유닛 (NPU)(108)(예를 들어, 적어도 하나의 프로세서) 과 연관된 메모리 블록 (예를 들어, 적어도 하나의 메모리 유닛) 또는 전용 메모리 블록 (118) 에 저장될 수 있다. 범용 프로세서 (102) 에서 실행되는 명령들은 CPU (102) 와 연관된 프로그램 메모리로부터 로딩될 수도 있거나 전용 메모리 블록 (118) 으로부터 로딩될 수도 있다. SOC (100) 는 또한 그래픽 프로세싱 유닛 (GPU)(104), 디지털 신호 프로세서 (DSP)(106), 제 4 세대 롱 텀 에볼루션 (4G LTE) 접속성, 비허가 Wi-Fi 접속성, USB 접속성, 블루투스 접속성 등을 포함할 수도 있는 접속성 블록 (110), 및 예를 들어, 제스쳐들을 검출 및 인식할 수도 있는 멀티미디어 프로세서 (112) 와 같은 특정의 기능들에 맞춰진 추가적인 프로세싱 블록들을 포함할 수도 있다. SOC (100) 는 또한 센서 프로세서 (114), 이미지 신호 프로세서들 (ISP들), 및/또는 글로벌 포지셔닝 시스템을 포함할 수도 있는 내비게이션 (120) 을 포함할 수도 있다. SOC 는 ARM 명령 세트에 기초할 수도 있다.
SOC (100) 는 또한, GPU (104), DSP (106), 4 세대 롱텀 에볼루션 (4G LTE) 접속성, 비허가 Wi-Fi 접속성, USB 접속성, 블루투스 접속성 등을 포함할 수도 있는 접속성 블록 (110), 및 예를 들어, 제스처들을 검출할 수도 있고 인식할 수도 있는 멀티미디어 프로세서 (112) 와 같은, 특정 기능들에 맞추어진 추가적인 프로세싱 블록들을 포함할 수도 있다. 일 구현에서, NPU 는 CPU, DSP, 및/또는 GPU 에서 구현된다. SOC (100) 는 또한, 센서 프로세서 (114), 이미지 신호 프로세서 (ISP) 들, 및/또는 글로벌 포지셔닝 시스템을 포함할 수도 있는 내비게이션 (120) 을 포함할 수도 있다.
SOC (100) 는 ARM 명령 세트에 기초할 수도 있다. 본 개시물의 일 양태에서, 범용 프로세서 (102) 에 로딩된 명령들은 제 1 분류들에 대한 제 1 분류기를 생성하기 위한 코드를 포함할 수도 있다. 일 구성에서, 출력은 적어도 2 개의 차원을 갖는다. 범용 프로세서 (102) 에 로딩된 명령들은 또한, 입력 데이터가 제 1 클래스들에 속하는지 또는 적어도 하나의 제 2 클래스에 속하는지를 판단하기 위해 제 1 분류기의 출력을 수신하도록 제 2 분류기를 설계하기 위한 코드를 포함할 수도 있다.
부가적으로, 본 개시물의 다른 양태에서, 범용 프로세서 (102) 에 로딩된 명령들은 다수의 클래스들로부터 기지의 데이터를 획득하기 위한 코드를 포함할 수도 있다. 범용 프로세서 (102) 에 로딩된 명령들은 또한, 기지의 데이터의 함수로서 네거티브 데이터를 종합적으로 생성하기 위한 코드를 포함할 수도 있다.
도 2 는 본 개시물의 소정의 양태들에 따른 시스템 (200) 의 일 예의 구현을 도시한다. 도 2 에서 도시된 바와 같이, 시스템 (200) 은 본 명세서에서 설명된 방법들의 다양한 동작들을 수행할 수도 있는 다수의 로컬 프로세싱 유닛들 (202) 을 가질 수도 있다. 각각의 로컬 프로세싱 유닛 (202) 은 로컬 상태 메모리 (204), 및 신경 네트워크의 파라미터들을 저장할 수도 있는 로컬 파라미터 메모리 (206) 를 포함할 수도 있다. 게다가, 로컬 프로세싱 유닛 (202) 은 로컬 모델 프로그램을 저장하기 위한 로컬 (뉴런) 모델 프로그램 (LMP) 메모리 (208), 로컬 학습 프로그램을 저장하기 위한 로컬 학습 프로그램 (LLP) 메모리 (210), 및 로컬 접속 메모리 (212) 를 가질 수도 있다. 또한, 도 2 에 도시된 바와 같이, 각각의 로컬 프로세싱 유닛 (202) 은 로컬 프로세싱 유닛의 로컬 메모리들을 위한 구성들을 제공하기 위한 구성 프로세서 유닛 (214) 과 인터페이싱할 수도 있고, 로컬 프로세싱 유닛들 (202) 사이의 라우팅을 제공하는 라우팅 접속 프로세싱 유닛 (216) 과 인터페이싱할 수도 있다.
심층 학습 아키텍처들은 각각의 계층에서의 추상화의 연속적으로 상위 레벨들에서 입력들을 표현하는 것을 학습함으로써 객체 인식 태스크를 수행할 수도 있고, 이것에 의해, 입력 데이터의 유용한 피처 표현을 구축할 수도 있다. 이러한 방법으로, 심층 학습은 전통적인 머신 학습의 주요한 병목 현상을 해결한다. 심층 학습의 출현 이전에, 객체 인식 문제에 대한 머신 학습 접근법은 아마도 얕은 분류기 (shallow classifier) 와 조합하여, 인간 공학적 피처들에 과도하게 의존하였을 수도 있다. 얕은 분류기는 입력이 어느 클래스에 속하는지를 예측하기 위하여, 피처 벡터 컴포넌트들의 가중화된 합계가 임계와 비교될 수도 있는 예를 들어, 2-클래스 선형 분류기일 수도 있다. 인간 공학적 피처들은 도메인 전문지식을 갖는 공학자들에 의해 특정 문제 도메인에 맞추어진 템플릿 (template) 들 또는 커널 (kernel) 들일 수도 있다. 대조적으로, 심층 학습 아키텍처들은, 인간 공학자가 설계한 것과 유사한 피처들을 표현하도록 학습할 수도 있지만, 훈련을 통해 학습할 수도 있다. 또한, 심층 네트워크는 인간이 고려하지 않았을 수도 있는 새로운 타입들의 피처들을 표현하고 인식하는 것을 학습할 수도 있다.
심층 학습 아키텍처는 피처들의 계위를 학습할 수도 있다. 예를 들어, 시각적 데이터를 제시받을 경우, 제 1 계층은 입력 스트림에서 에지 (edge) 들과 같은 간단한 피처들을 인식하는 것을 학습할 수도 있다. 청각적 데이터가 제시될 경우, 제 1 계층은 특정 주파수들에서의 스펙트럼 파워를 인식하는 것을 학습할 수도 있다. 제 1 계층의 출력을 입력으로서 취하는 제 2 계층은 시각적 데이터를 위한 간단한 형상들 또는 청각적 데이터를 위한 사운드들의 조합들과 같은 피처들의 조합들을 인식하는 것을 학습할 수도 있다. 상위 계층들은 시각적 데이터에서의 복잡한 형상들 또는 청각적 데이터에서의 단어들을 표현하는 것을 학습할 수도 있다. 더욱 더 상위 계층들은 공통의 시각적 객체들 또는 발화된 어구 (spoken phrase) 들을 인식하는 것을 학습할 수도 있다.
심층 학습 아키텍처들은 자연 계위 구조를 가지는 문제들에 적용될 때에 특히 양호하게 수행할 수도 있다. 예를 들어, 자동차의 분류는 휠 (wheel), 윈드실드 (windshield), 및 다른 피처들을 인식하기 위한 첫번째 학습으로부터 이익을 얻을 수도 있다. 이 피처들은 승용차, 트럭, 및 비행기를 인식하기 위하여 상이한 방식들로 상위 계층들에서 조합될 수도 있다.
신경 네트워크들은 다양한 접속성 패턴들로 설계될 수도 있다. 피드-포워드 네트워크들에서, 정보는 하위로부터 상위 계층들로 전달되고, 주어진 계층에 있는 각각의 뉴런은 상위 계층들에 있는 뉴런들로 통신한다. 계위적 표현은 위에서 설명된 바와 같이, 피드-포워드 네트워크의 연속적인 계층들에서 구축될 수도 있다. 신경 네트워크들은 또한, 회귀적 또는 피드백 (또한 하향식 (top-down) 으로 칭해짐) 접속들을 가질 수도 있다. 회귀적 접속에서, 주어진 계층에 있는 뉴런으로부터의 출력은 동일한 계층에 있는 또 다른 뉴런으로 통신된다. 회귀적 아키텍처는 순차적으로 신경 네트워크에 전달되는 하나보다 많은 입력 데이터 청크 (chunk) 들에 걸치는 패턴들을 인식하는데 도움이 될 수도 있다. 주어진 계층에 있는 뉴런으로부터 하위 계층에 있는 뉴런으로의 접속은 피드백 (또는 하향식) 접속으로 칭해진다. 하이-레벨 개념의 인식이 입력의 특정 로우-레벨 피처들을 구별하는 것을 보조할 수도 있을 때 다수의 피드백 접속들을 갖는 네트워크가 도움이 될 수도 있다.
도 3a 를 참조하면, 신경 네트워크의 계층들 사이의 접속들은 완전히 접속 (302) 될 수도 있거나, 국부적으로 접속 (304) 될 수도 있다. 완전히 접속된 네트워크 (302) 에서, 제 1 계층에 있는 뉴런은 그 출력을 제 2 계층에 있는 매 뉴런으로 통신할 수도 있어서, 제 2 계층에 있는 각각의 뉴런은 제 1 계층에 있는 매 뉴런으로부터 입력을 수신할 것이다. 대안적으로, 국부적으로 접속된 네트워크 (304) 에서, 제 1 계층에 있는 뉴런은 제 2 계층에 있는 제한된 수의 뉴런들에 접속될 수도 있다. 컨벌루션 네트워크 (306) 는 국부적으로 접속될 수도 있고, 제 2 계층에 있는 각각의 뉴런에 대한 입력들과 연관된 접속 강도들이 공유 (예컨대, 308) 되도록 추가로 구성된다. 더욱 일반적으로, 네트워크의 국부적으로 접속된 계층은 계층에 있는 각각의 뉴런이 동일하거나 유사한 접속성 패턴을 가지도록, 그러나, 상이한 값들을 가질 수도 있는 접속 강도들로 구성될 수도 있다 (예컨대, 310, 312, 314, 및 316). 주어진 영역에 있는 상위 계층 뉴런들이 네트워크에 대한 총 입력의 한정된 부분의 특성들에 대한 훈련을 통해 튜닝되는 입력들을 수신할 수도 있기 때문에, 국부적으로 접속된 접속성 패턴은 상위 계층에서 공간적으로 별개의 수용성 필드들을 야기시킬 수도 있다.
국부적으로 접속된 신경 네트워크들은 입력들의 공간적 위치가 의미 있는 문제들에 매우 적합할 수도 있다. 예를 들어, 차재 카메라로부터 시각적 피처들을 인식하도록 설계된 네트워크 (300) 는 이미지의 하부 대 상부 부분과의 그 연관성에 의존하여 상이한 특성들을 갖는 높은 계층 뉴런들을 개발할 수도 있다. 이미지의 하부 부분과 연관된 뉴런들은 예를 들어, 차선 표기들을 인식하는 것을 학습할 수도 있는 한면, 이미지의 상부 부분과 연관된 뉴런들은 신호등, 교통 표지 등을 인식하도록 학습할 수도 있다.
DCN 은 감독된 학습으로 훈련될 수도 있다. 훈련하는 동안, DCN 은 속도 제한 표지의 크롭핑된 (cropped) 이미지와 같은 이미지 (326) 로 제시될 수도 있고, 그 후 "포워드 패스 (forward pass)" 가 출력 (322) 을 생성하기 위하여 연산될 수도 있다. 출력 (322) 은 "표지", "60", 및 "100" 과 같은 피처들에 대응하는 값들의 벡터일 수도 있다. 네트워크 설계자는 DCN 이, 예를 들어, 훈련되었던 네트워크 (300) 에 대한 출력 (322) 에 나타낸 바와 같은 "표지" 및 "60" 에 대응하는 것들인, 출력 피처 벡터에서의 뉴런들의 일부에 대한 높은 점수를 출력하기를 원할 수도 있다. 훈련하기 전에, DCN 에 의해 생성된 출력은 올바르지 않을 가능성이 있고, 따라서 실제 출력과 타겟 출력 사이에서 에러가 계산될 수도 있다. 그 후, DCN 의 가중치들은 DCN 의 출력 점수들이 타겟과 더 근접하게 정렬되도록 조정될 수도 있다.
가중치들을 조정하기 위하여, 학습 알고리즘은 가중치들에 대한 기울기 벡터 (gradient vector) 를 연산할 수도 있다. 기울기는 가중치가 약간 조정되었을 경우 에러가 증가하거나 감소하는 양을 표시할 수도 있다. 최상부 계층에서, 기울기는 마지막에서 두 번째 계층에 있는 활성화된 뉴런 및 출력 계층에 있는 뉴런을 접속하는 가중치의 값에 직접적으로 대응할 수도 있다. 하위 계층들에서, 기울기는 가중치들의 값과, 상위 계층들의 연산된 에러 기울기들에 의존할 수도 있다. 그 후, 가중치들은 에러를 감소시키도록 조정될 수도 있다. 가중치들을 조정하는 이러한 방식은 그것이 신경 네트워크를 통한 "백워드 패스 (backward pass)" 를 수반하므로 "역 전파" 로서 지칭될 수도 있다.
실제적으로, 가중치들의 에러 기울기는 계산된 기울기가 참 (true) 에러 기울기에 근사하도록, 작은 수의 예들을 통해 계산될 수도 있다. 이 근사화는 확률론적 기울기 하강 (stochastic gradient descent) 으로서 지칭될 수도 있다. 확률론적 기울기 하강은 전체 시스템의 달성가능한 에러 레이트가 감소하는 것이 정지하였을 때까지, 또는 에러 레이트가 타겟 레벨에 도달하였을 때까지 반복될 수도 있다.
학습한 후에, DCN 은 새로운 이미지들 (326) 을 제시받을 수도 있고, 네트워크를 통한 포워드 패스는 DCN 의 추론 또는 예측으로 고려될 수도 있는 출력 (322) 을 산출할 수도 있다.
심층 신뢰 네트워크 (DBN) 들은 은닉된 노드들의 다수의 계층들을 포함하는 확률적 모델 (probabilistic model) 들이다. DBN 들은 훈련 데이터 세트들의 계위적 표현을 추출하기 위하여 이용될 수도 있다. DBN 은 한정된 볼쯔만 머신 (Restricted Boltzmann Machine; RBM) 들의 계층들을 적층함으로써 획득될 수도 있다. RBM 은 입력들의 세트을 통해 확률 분포를 학습할 수 있는 인공 신경 네트워크의 타입이다. RBM들은 각각의 입력이 범주화되어야 하는 클래스에 관한 정보의 부재 시에 확률 분포를 학습할 수 있기 때문에, RBM들은 자율적 (unsupervised) 학습에서 종종 이용된다. 하이브리드의 자율적 및 감독된 패러다임을 이용하면, DBN 의 하부 RBM들은 자율적 방식으로 훈련될 수도 있고 피처 추출기들로서 작용할 수도 있고, 최상부 RBM 은 (이전의 계층 및 타겟 클래스들로부터의 입력들의 공동 분포 상에서) 감독된 방식으로 훈련될 수도 있고 분류기로서 작용할 수도 있다.
심층 컨벌루션 네트워크 (DCN) 들은 부가적인 풀링 (pooling) 및 정규화 (normalization) 계층들로 구성된 컨벌루션 네트워크들의 네트워크들이다. DCN들은 많은 태스크들에 대한 최신 기술의 성능을 달성하고 있다. DCN들은 입력 및 출력 타겟들 양자 모두가 많은 견본 (exemplar) 들에 대하여 알려져 있고 기울기 하강 방법들의 이용에 의해 네트워크의 가중치들을 수정하는데 이용되는 감독된 학습을 이용하여 훈련될 수 있다.
DCN 들은 피드-포워드 네트워크들일 수도 있다. 게다가, 위에 기재된 바와 같이, DCN 의 제 1 계층에 있는 뉴런으로부터 다음 상위 계층에 있는 뉴런들의 그룹으로의 접속들은 제 1 계층에 있는 뉴런들에 걸쳐 공유된다. DCN 들의 피드-포워드 및 공유된 접속들은 고속 프로세싱을 위하여 활용될 수도 있다. DCN 의 연산 부담은 회귀적 또는 피드백 접속들을 포함하는 유사한 사이즈의 신경 네트워크 보다 예를 들어, 훨씬 더 작을 수도 있다.
컨벌루션 네트워크의 각각의 계층의 프로세싱은 공간적으로 불변인 템플릿 또는 기본 투영 (basis projection) 으로 고려될 수도 있다. 입력이 컬러 이미지의 적색, 녹색, 및 청색 채널들과 같은 다수의 채널들로 먼저 분해되면, 그 입력에 대해 훈련된 컨벌루션 네트워크는 이미지의 축들을 따라 2 개의 공간적 차원들 및 컬러 정보를 캡처하는 제 3 차원을 갖는 3 차원으로 고려될 수도 있다. 컨벌루션 접속들의 출력들은 후속 계층 (318 및 320) 에서 피처 맵을 형성하는 것으로 고려될 수도 있고, 피처 맵 (예컨대, 320) 의 각각의 엘리먼트는 이전의 계층 (예컨대, 318) 에 있는 뉴런들의 범위로부터, 그리고 다수의 채널들의 각각으로부터 입력을 수신한다. 피처 맵에서의 값들은 비-선형성, 예컨대 교정 (rectification), max(0,x) 으로 추가로 프로세싱될 수도 있다. 인접한 뉴런들로부터의 값들은 추가로 풀링될 수도 있는데, 이는 다운 샘플링에 대응하고, 부가적인 로컬 불변성 및 차원성 감소를 제공할 수도 있다. 백색화 (whitening) 에 대응하는 정규화는 또한, 피처 맵에서의 뉴런들 사이의 측방향 억제 (lateral inhibition) 를 통해 적용될 수도 있다.
심층 학습 아키텍처들의 성능은 더 많은 라벨링된 데이터 포인트들이 이용가능해짐에 따라, 또는 연산력이 증가함에 따라 증가할 수도 있다. 최신 심층 신경 네트워크들은 단지 15 년 전에 전형적인 연구자에 의해 이용가능하였던 것보다 수천 배 더 큰 연산 리소스들로 일상적으로 훈련된다. 새로운 아키텍처들 및 훈련 패러다임들은 심층 학습의 성능을 더 부스팅할 수도 있다. 교정된 선형 유닛들은 소실 기울기 (vanishing gradient) 들로서 기지의 훈련 쟁점을 감소시킬 수도 있다. 새로운 훈련 기법들은 오버-피팅을 감소시킬 수도 있고, 이에 따라 더 큰 모델들이 우수한 일반화를 달성하는 것을 가능하게 할 수도 있다. 캡슐화 (encapsulation) 기법들은 주어진 수용성 필드에서 데이터를 추상화 (abstract) 할 수도 있고, 전체적인 성능을 추가로 부스팅할 수도 있다.
도 3b 는 예시적인 심층 컨벌루션 네트워크 (350) 를 도시하는 블록 다이어그램이다. 심층 컨벌루션 네트워크 (350) 는 접속성 및 가중치 공유에 기초한 다수의 상이한 타입들의 계층들을 포함할 수도 있다. 도 3b 에 나타낸 바와 같이, 예시적인 심층 컨벌루션 네트워크 (350) 는 다수의 컨벌루션 블록들 (예컨대, C1 및 C2) 을 포함한다. 컨벌루션 블록들의 각각은 컨벌루션 계층, 정규화 계층 (LNorm), 및 풀링 계층으로 구성될 수도 있다. 컨벌루션 계층들은 피처 맵을 생성하기 위하여 입력 데이터에 적용될 수도 있는 하나 이상의 컨벌루션 필터들을 포함할 수도 있다. 단지 2 개의 컨벌루션 블록들만이 도시되어 있지만, 본 개시물은 그렇게 제한하지 않고, 대신, 임의의 수의 컨벌루션 블록들이 설계 선호도에 따라 심층 컨벌루션 네트워크 (350) 내에 포함될 수도 있다. 정규화 계층은 컨벌루션 필터들의 출력을 정규화하는데 사용될 수도 있다. 예를 들어, 정규화 계층은 백색화 또는 측방향 억제를 제공할 수도 있다. 풀링 계층은 국부적 불변성 및 차원성 감소를 위해 공간에 걸쳐 다운 샘플링 집성 (down sampling aggregation) 을 제공할 수도 있다.
예를 들어, 심층 컨벌루션 네트워크의 병렬 필터 뱅크들은 높은 성능 및 낮은 전력 소비를 달성하기 위해, 옵션으로 ARM 명령 세트에 기초하여, SOC (100) 의 CPU (102) 또는 GPU (104) 상에 로딩될 수도 있다. 대안의 실시형태들에서, 병렬 필터 뱅크들은 SOC (100) 의 DSP (106) 또는 ISP (116) 상에 로딩될 수도 있다. 게다가, DCN 은 센서들 (114) 및 내비게이션 (120) 에 전용된 프로세싱 블록들과 같은, SOC 상에 존재할 수도 있는 다른 프로세싱 블록들에 액세스할 수도 있다.
심층 컨벌루션 네트워크 (350) 는 또한, 하나 이상의 완전히 접속된 계층들 (예컨대, FC1 및 FC2) 을 포함할 수도 있다. 심층 컨벌루션 네트워크 (350) 는 로지스틱 회귀 (logistic regression; LR) 계층을 더 포함할 수도 있다. 심층 컨벌루션 네트워크 (350) 의 각각의 계층 사이에는 업데이트될 가중치들 (도시되지 않음) 이 있다. 각각의 계층의 출력은 제 1 컨벌루션 블록 (C1) 에서 공급된 입력 데이터 (예컨대, 이미지들, 오디오, 비디오, 센서 데이터, 및/또는 다른 입력 데이터) 로부터의 계위적 피처 표현들을 학습하기 위하여 심층 컨벌루션 네트워크 (350) 에서의 연속 계층의 입력의 역할을 할 수도 있다.
도 4 는 인공 지능 (AI) 기능들을 모듈화할 수도 있는 예시적인 소프트웨어 아키텍처 (400) 를 도시하는 블록 다이어그램이다. 아키텍처를 이용하여, SOC (420) 의 다양한 프로세싱 블록들 (예를 들어, CPU (422), DSP (424), GPU (426), 및/또는 NPU (428)) 로 하여금 어플리케이션 (402) 의 실행 시간 동작 동안의 연산들을 지원하는 것을 수행하게 할 수도 있는 어플리케이션들 (402) 이 설계될 수도 있다.
AI 어플리케이션 (402) 은 예를 들어, 디바이스가 현재 동작하는 위치를 표시하는 장면의 검출 및 인식을 제공할 수도 있는 사용자 공간 (404) 에 정의된 함수들을 호출하도록 구성될 수도 있다. AI 어플리케이션 (402) 은 예를 들어, 인식된 장면이 사무실, 강당, 식당, 또는 호수와 같은 실외 세팅인지 여부에 따라 상이하게, 마이크로폰 및 카메라를 구성할 수도 있다. AI 어플리케이션 (402) 은 현재의 장면의 추정을 제공하기 위하여 장면검출 (SceneDetect) 어플리케이션 프로그래밍 인터페이스 (API) (406) 에서 정의된 라이브러리와 연관된 컴파일링된 프로그램 코드에 대한 요청을 행할 수도 있다. 이 요청은 예를 들어, 비디오 및 포지셔닝 데이터에 기초하여 장면 추정들을 제공하도록 구성된 심층 신경 네트워크의 출력에 궁극적으로 의존할 수도 있다.
실행 시간 프레임워크 (Runtime Framework) 의 컴파일링된 코드일 수도 있는 실행 시간 엔진 (408) 은 AI 어플리케이션 (402) 에 의해 추가로 액세스가능할 수도 있다. AI 어플리케이션 (402) 은 실행 시간 엔진으로 하여금, 예를 들어, 특정한 시간 간격으로, 또는 어플리케이션의 사용자 인터페이스에 의해 검출된 이벤트에 의해 트리거링된 장면 추정을 요청하게 할 수도 있다. 장면을 추정하게 될 때, 실행 시간 엔진은 이어서 신호를, SOC (420) 상에서 실행되는 리눅스 커널 (Linux Kernel)(412) 과 같은 오퍼레이팅 시스템 (410) 으로 전송할 수도 있다. 오퍼레이팅 시스템 (410) 은 이어서, 연산이 CPU (422), DSP (424), GPU (426), NPU (428), 또는 그 일부 조합 상에서 수행되게 할 수도 있다. CPU (422) 는 오퍼레이팅 시스템에 의해 직접적으로 액세스될 수도 있고, 다른 프로세싱 블록들은 DSP (424), GPU (426), 또는 NPU (428) 를 위한 드라이버 (414 내지 418) 와 같은 드라이버를 통해 액세스될 수도 있다. 예시적인 예에서, 심층 신경 네트워크는 CPU (422) 및 GPU (426) 와 같은, 프로세싱 블록들의 조합 상에서 실행되도록 구성될 수도 있거나, 존재할 경우, NPU (428) 상에서 실행될 수도 있다.
도 5 는 스마트폰 (502) 상에서의 AI 어플리케이션의 실행 시간 동작 (500) 을 예시하는 블록 다이어그램이다. AI 어플리케이션은 이미지 (506) 의 포맷을 변환하고 그 다음으로, 이미지 (508) 를 크롭핑하고 및/또는 사이즈 조절 (resize) 하도록 (예를 들어, JAVA 프로그래밍 언어를 이용하여) 구성될 수도 있는 프리-프로세스 모듈 (504) 을 포함할 수도 있다. 그 후 프리-프로세싱된 이미지는 시각적 입력에 기초하여 장면들을 검출하고 분류하도록 (예를 들어, C 프로그래밍 언어를 이용하여) 구성될 수도 있는 장면검출 백엔드 엔진 (512) 을 포함하는 분류 어플리케이션 (510) 으로 통신될 수도 있다. 장면검출 백엔드 엔진 (512) 은 스케일링 (516) 및 크롭핑 (518) 에 의해 이미지를 추가로 프리프로세싱 (514) 하도록 구성될 수도 있다. 예를 들어, 이미지는 결과의 이미지가 224 화소들 x 224 화소들이 되도록 스케일링되고 크롭핑될 수도 있다. 이 차원들은 신경 네트워크의 입력 차원들로 매핑할 수도 있다. 신경 네트워크는 SOC (100) 의 다양한 프로세싱 블록들로 하여금 심층 신경 네트워크로 이미지 화소들을 추가로 프로세싱하게 하도록 심층 신경 네트워크 블록 (520) 에 의해 구성될 수도 있다. 그 후 심층 신경 네트워크의 결과들은 임계화 (522) 되고 분류 어플리케이션 (510) 에 있는 지수 평활화 블록 (524) 을 통해 패스될 수도 있다. 그 후, 평활화된 결과들은 스마트폰 (502) 의 설정들 및/또는 디스플레이의 변경을 야기할 수도 있다.
일 구성에 있어서, 머신 학습 모델은 생성하고, 설계하고, 획득하고, 및/또는 종합적으로 생성하기 위해 구성된다. 모델은 생성 수단, 설계 수단, 획득 수단 및/또는 종합적 생성 수단을 포함한다. 일 양태에서, 생성 수단, 설계 수단, 획득 수단, 및/또는 종합적 생성 수단은 범용 프로세서 (102), 범용 프로세서 (102) 와 연관된 프로그램 메모리, 메모리 블록 (118), 로컬 프로세싱 유닛들 (202), 및 또는 언급된 기능들을 수행하도록 구성된 라우팅 접속 프로세싱 유닛들 (216) 일 수도 있다. 또 다른 구성에서, 상술한 수단은 상술한 수단에 의해 언급된 기능들을 수행하도록 구성된 임의의 모듈 또는 임의의 장치일 수도 있다.
본 개시물의 소정의 양태들에 따라, 각각의 로컬 프로세싱 유닛 (202) 은 네트워크의 원하는 하나 이상의 기능적 피처들에 기초하여 네트워크의 파라미터들을 결정하고, 결정된 파라미터들이 추가로 적응되고, 튜닝되고, 업데이트될 때, 원하는 기능적 피처들을 향해 하나 이상의 기능적 피처들을 개발하도록 구성될 수도 있다.
미지의 클래스들의 검출 및 분류기들의 초기화
대부분의 시스템들에서, 지원 벡터 머신과 같은 분류기는 피처 추출기와 협력하여 작동하도록 특정된다. 예를 들어, 심층 컨벌루션 네트워크는 입력으로부터 피처들을 추출하고 분류기는 추출된 피처들에 기초하여 입력을 범주화한다. 즉, 분류기는 피처들이 기지의 클래스에 속하는지 또는 미지의 클래스에 속하는지를 결정한다. 또한, 입력은 추출된 피처들에 할당된 클래스들에 기초하여 분류될 수도 있다.
이전에 논의된 바와 같이, 멀티 클래스 분류기는 클래스와 수신된 샘플을 연관시키기 위해 다수의 클래스들로 훈련될 수도 있다. 예를 들어, 멀티 클래스 분류기는 차량의 이미지를 수신하고 훈련된 클래스들에 기초하여 차량의 타입을 결정할 수도 있다. 여전히, 일부 경우들에서, 예컨대 네트워크의 테스트 동안, 샘플은 멀티 클래스 분류기를 훈련시키는데 사용되었던 클래스들 중 임의의 것에 속하지 않을 수도 있다. 따라서, 기지의 클래스에 속하거나 또는 미지의 클래스에 속하는 것으로서 객체를 라벨링하기 위해 멀티 클래스 분류기를 초기화하도록 프레임워크를 생성하는 것이 바람직할 수도 있다. 멀티 클래스 분류기는 분류기로서 지칭될 수도 있다.
일 구성에서, 이진 분류기는 샘플이 기지의 또는 미지의 클래스에 속하는지 를 결정하기 위해, 지원 벡터 머신과 같은, 분류기와 협력하여 사용된다. 구체적으로, 이러한 구성에 있어서, 멀티 클래스 분류기의 서브세트 또는 멀티 분류기에 의해 생성된 점수들의 벡터는, 이진 분류기를 구축하기 위해 피처 벡터로서 사용된다. 이진 분류기는 기지 또는 미지로서 샘플을 분류하기 위해 특정된다.
부가적으로, 일부 경우들에서, 분류기에 대해 하나의 클래스만이 있을 수도 있다. 예를 들어, 분류기는 객체가 개인지 여부를 결정하기 위해 특정될 수도 있다. 이 예에서, 이미지가 분류기에 제시될 때, 객체는 개 또는 개가 아닌 것으로서 분류된다. 여전히, 하나의 기지의 클래스에 속하는 것으로서 입력을 인식하거나 또는 미지의 라벨을 입력에 할당하기 위해 분류기를 초기화하도록 프레임워크를 생성하는 것이 바람직할 수도 있다.
이전에 논의된 바와 같이, 분류기는 각각의 클래스에 속하는 샘플의 신뢰도 (confidence)(예를 들어, 확률) 를 표시하는 점수들의 벡터를 생성할 수도 있다. 대부분의 경우, 점수들은 각각의 클래스에 대해 신뢰도를 생성하기 위해 정규화되고 최고 신뢰도를 갖는 클래스는 승리 클래스로서 선택될 수도 있다.
일 구성에 있어서, 정규화되지 않은 (예를 들어, 원 (raw)) 점수들은 이진 분류기에 대해 사용될 수도 있다. 대부분의 경우, 기지의 샘플이 수신될 때, 하나 이상의 클래스들의 원 점수들은 감소된 값들을 갖고 특정 클래스의 원 점수는 증가된 값을 갖도록 원 점수들이 분포될 수도 있다. 또한, 미지의 샘플이 수신될 때, 원 점수들의 값들은 클래스들 사이에서 균일할 수도 있고, 예를 들어 균일하게 낮을 수도 있다. 신뢰도 (예를 들어, 점수들) 가 모든 클래스들에 대해 낮으면, 이미지가 미지인 것으로 결정될 수 있다. 이 예에서, 원 점수는 0 에서 1, 예컨대 -10 에서 10 의 정규화된 점수 범위를 넘는 범위를 가질 수도 있으며, 여기서 10 은 최고 신뢰도이고 -10 은 최저 신뢰도이다. 물론, 범위는 -10 에서 10 으로 제한되지 않으며 임의의 범위일 수도 있다. 본 개시물에서, 원 점수는 점수로서 지칭될 수도 있다.
이러한 구성에 있어서, 점수 벡터는 이진 분류기를 훈련시키는데 사용될 수도 있다. 즉, 이진 분류기가 샘플이 기지인지 또는 미지인지를 인식할 수도 있도록 이진 분류기는 점수들의 패턴을 인식하기 위해 훈련될 수도 있다. 따라서, 일 구성에서, 이진 분류기는, 그 분류기가 클래스를 샘플에 할당하기 전에 샘플이 기지인지 또는 미지인지를 결정한다. 예를 들어, 샘플이 미지의 클래스인 경우, 분류기는 클래스를 결정하지 않을 수도 있다. 대안으로, 샘플이 기지의 클래스에 속하는 경우, 분류기는 클래스를 결정하기 위해 특정될 수도 있다.
본 개시물은 기지 및 미지의 클래스들로 제한되지 않고, 이진 분류기는 남자/여자, 안경을 쓴 얼굴/안경을 쓰지 않은 얼굴, 및/또는 긴 머리/짧은 머리와 같은, 이진 구별들의 다른 타입들을 수행하기 위해 특정될 수도 있다. 예를 들어, 분류기는 상이한 여자의 얼굴들을 검출하기 위한 클래스들을 가질 수도 있다. 이 예에서, 이진 분류기가 남자 및 여자를 결정하기 위해 특정되는 경우, 분류기는 이진 분류기가 입력이 남자의 얼굴이라고 결정한다면 클래스를 결정하지 않을 수도 있다.
또한, 이진 분류기는 n-엘리먼트 점수 벡터의, 샘플에 대한 상위 2 개의 점수들과 같은 다수의 점수들의 각각의 점수에 대한 임계에 기초하여 특정될 수도 있으며, 여기서 n 은 클래스들의 수이다. 즉, 이 예에서, 임계는 상위 2 개의 점수들의 각각에 대해 특정될 수도 있다. 또한, 샘플은 샘플의 점수가 상위 2 개의 점수들의 각각에 대해 임계 미만인 경우 미지인 것으로서 분류될 수도 있다. 대안으로, 샘플은 샘플의 점수가 상위 2 개의 점수들에 대해 임계 초과인 경우 기지인 것으로 분류될 수도 있다.
도 6 은 n-엘리먼트 점수 벡터의 상위 2 개의 점수들의 각각에 대한 임계 세트에 기초하는 2 차원 이진 분류기 (610) 의 일 예를 도시한다. 도 6 에 나타낸 바와 같이, x 축은 샘플에 대한 상위 점수 클래스의 점수들의 범위이고 y 축은 샘플에 대한 제 2 상위 점수 클래스의 점수들의 범위이다.
일 예에서, 도 6 에 나타낸 바와 같이, 샘플이 4 의 상위 점수 및 -6 의 제 2 상위 점수를 갖는 경우, 샘플은 기지의 샘플로서 분류될 수도 있다. 또한, 다른 예에 있어서, 도 6 에 나타낸 바와 같이, 샘플이 -2 의 상위 점수 및 - 2 의 제 2 상위 점수를 갖는 경우, 샘플은 미지인 것으로 분류될 수도 있다. 즉, 이러한 예에서, 샘플은 점수가 2 차원 이진 분류기 (610) 를 초과하는 경우 기지의 것으로서 분류되고, 점수가 2 차원 이진 분류기 (610) 미만인 경우 샘플은 미지인 것으로 분류된다. 보다 구체적으로, 2 차원 이진 분류기 (610) 의 좌측으로의 샘플들은 미지인 것으로 분류되고 2 차원 이진 분류기 (610) 의 우측으로의 샘플들은 기지의 샘플들로서 분류된다.
여전히, 도 6 에 나타낸 바와 같이, 거짓 포지티브들 및 거짓 네거티브들이 2 차원 이진 분류기 (610) 에 기초하여 생성될 수도 있다. 거짓 포지티브들은 기지의 샘플들로서 분류될 수도 있는 미지의 샘플들을 지칭한다. 부가적으로, 거짓 네거티브들은 미지의 샘플들로서 분류될 수도 있는 기지의 샘플들을 지칭한다. 게다가, 도 6 에 나타낸 바와 같이, 일부 샘플들은 정확하게 분류되는 기지의 샘플들일 수도 있다.
일부 경우들에서, 거짓 포지티브들 및 거짓 네거티브들의 수는 이진 분류기에 대한 임계들을 조정하는 것에 의해 감소될 수도 있다. 또한, 결과들을 개선하기 위해 이진 분류기에 대해 사용된 차원들의 수를 증가시키는 것이 바람직할 수도 있다. 여전히 일차원 이진 분류기를 사용하는 것이 바람직할 수도 있다.
도 7 은 일차원 이진 분류기 (710) 의 일 예를 나타낸다. 도 7 에 나타낸 바와 같이, 임계는 n-엘리먼트 점수 벡터로부터 샘플에 대해 수신된 상위 점수에 대해 0 으로 설정될 수도 있다. 이 예에서, 샘플은 점수가 일차원 이진 분류기 (710) 를 초과하는 경우 기지인 것으로 분류되고, 점수가 일차원 이진 분류기 (710) 미만인 경우 샘플은 미지인 것으로 분류된다. 여전히, 도 7 에 나타낸 바와 같이, 일차원 이진 분류기 (710) 에 대한 거짓 네거티브들의 수는 이차원 이진 분류기 (610) 에 대한 거짓 네거티브들의 수보다 크다. 따라서, 1 보다 큰 차원을 갖는 이진 분류기를 특정하는 것이 바람직할 수도 있다.
일 구성에서, 미지의 샘플들의 증가된 수가 수신될 때, 미지의 샘플들은 미지의 클래스를 생성하기 위해 클러스터화될 수도 있다. 미지의 클래스는 분류기에서 기지의 클래스를 초기화하고 및/또는 기존의 미지의 클래스를 수정하기 위해 사용될 수도 있다. 게다가, 일 구성에서, 사용자는 미지의 데이터가 기지의 데이터가 되도록 그 기지의 데이터가 라벨링되어야 하는지를 결정하기 위해 폴링될 수도 있다.
일부 경우들에서, 분류기는 하나의 기지의 클래스로서 초기화될 수도 있다. 따라서, 하나 이상의 미지의 클래스들을 부가하기 위해 분류기를 초기화하는 것이 바람직할 수도 있다. 따라서, 일 구성에 있어서, 하나 이상의 부가 훈련 세트들은 기지의 그룹들 외부의 클래스들로부터 취해진 샘플들의 그룹을 포함한다. 하나 이상의 부가 훈련 세트들은 미지의 샘플들을 분류하기 위해 미지의 분류기들을 초기화하는데 사용될 수도 있다. 예를 들어, 부가적인 분류기 경계가 미지의 클래스로부터 모든 기지의 클래스들을 분류하기 위해 생성될 수도 있다.
일 구성에 있어서, 미지의 샘플들은 기지의 클래스들을 배제하는 분포로부터의 랜덤 훈련 샘플들일 수도 있다. 즉, 샘플들은 훈련되고 있는 클래스의 하나 이상의 네거티브 예들 뿐만 아니라 포지티브 예들을 포함할 수도 있다. 예를 들어, 클래스가 차량의 특정 모델의 이미지들 상에서 훈련되고 있는 경우, 포지티브 예들은 특정 차량 모델의 예들을 포함하고 네거티브 예들은 다른 차량 모델들의 예들을 포함한다.
또 다른 구성에서, 미지의 예들은 종합적인 샘플들이다. 즉, 종합적인 미지의 클래스 피처들은, 피처 공간에 있어서, 거리 메트릭과 같은 메트릭을 사용하여 기지의 클래스를 다른 기지의 클래스들로부터 분리하기 위해 각각의 기지의 클래스 피처들에 대해 변형을 적용하는 것에 의해 생성될 수도 있다.
일 구성에 있어서, 피처 공간에서의 클래스를 기술하는 다수의 포인트들은 네거티브 클래스를 생성하기 위해 특정된다. 예를 들어, 포인트들의 클라우드가 클래스를 기술하는 경우, 벡터는 각각의 샘플로부터 클라우드의 중간까지 생성된다. 게다가, 이러한 예에 있어서, 각각의 벡터는 플립핑될 수도 있고 네거티브 샘플은 플립핑된 벡터의 종단으로부터 생성된다. 또 다른 구성에 있어서, 클래스를 둘러싸는 벡터 공간에서의 포인트들은 네거티브 클래스들을 생성하기 위해 특정된다. 포인트들은 포지티브 샘플들로부터 생성된 벡터들을 지칭할 수도 있다.
도 8a 는 본 개시물의 일 양태에 따른 네거티브 클래스를 생성하기 위해 포지티브 포인트들 (800) 을 사용하는 예를 도시한다. 도 8a 에 나타낸 바와 같이, 다수의 포지티브 포인트들 (800) 은 피처 공간에서 클러스터를 형성한다. 또한, 도 8a 에 나타낸 바와 같이, 제 1 벡터 (804) 는 제 1 포인트 (802) 로부터 클러스터의 중심까지 계산된다. 부가적으로, 제 2 벡터 (806) 는 제 1 벡터 (804) 를 플립핑하는 것에 의해 생성된다. 최종적으로, 제 1 종합적인 네거티브 포인트 (808) 가 제 2 벡터 (806) 에 기초하여 생성된다. 이 예에서, 종합적인 클래스는 각각의 포지티브 포인트의 벡터로부터 생성된 종합적인 네거티브 포인트들에 기초하여 생성된다. 즉, 매 포지티브 포인트에 대해, 종합적인 네거티브 포인트가 생성된다. 도 8a 에 개시된 양태들은 특정 클러스터에 제한되지 않으며 클러스터들의 상이한 그룹들에 대해 또한 고려된다.
도 8b 는 본 개시물의 일 양태에 따른 네거티브 클래스를 생성하기 위해 포지티브 포인트들 (850) 을 사용하는 예를 도시한다. 도 8b 에 나타낸 바와 같이, 다수의 포지티브 포인트들 (850) 은 피처 공간에서 클러스터를 형성한다. 또한, 이러한 예에서, 각각의 클래스에서의 다수의 포지티브 포인트들 (850) 의 전역 중심 (858) 이 결정되고 각각의 클래스 중심으로부터 전역 중심까지 중심 방향을 정의하기 위해 사용된다. 네거티브 벡터 (854) 는 또한 클러스터 중심 및 각각의 포인트로부터 벡터의 네거티브로서 각각의 포인트에 대해 정의된다. 네거티브 벡터 (854) 및 중심 벡터 (852) 사이의 각도에 기초하여, 네거티브 벡터들은 중심 벡터 (852) 와 동일한 일반적인 방향에서 가리킬 때 유지되며, 여기서 일반적인 방향은 네거티브 벡터 및 중심 벡터의 도트 곱에 의해 정의된다.
예를 들어, 벡터들 사이에서 90 도 미만의 각도를 갖는 그 벡터들은 도 8b 에 나타낸 바와 동일한 일반적인 방향에서 가리키는 것으로 고려될 수 있다. 네거티브 포인트 (856) 는 중심 벡터의 일반적인 방향에서 가리키지 않는 것들을 제거한 후 잔류하는 각각의 네거티브 벡터 (854) 로부터 생성된다. 부가적으로, 네거티브 클래스는 네거티브 포인트들 (856) 로부터 생성된다. 도 8a 및 도 8b 에 개시된 양태들은 특정 클러스터에 제한되지 않고 또한 클러스터들의 상이한 그룹들에 대해 고려된다.
도 9a 는 본 개시물의 일 양태에 따른 네거티브 클래스를 생성하기 위해 클러스터들 (900, 902, 910) 을 사용하는 예를 도시한다. 도 9a 에 나타낸 바와 같이, 다수의 클러스터들 (900, 902, 910) 은 피처 공간에서 포지티브 포인트들로부터 형성될 수도 있다. 이 예에 있어서, 중심 벡터는 각각의 클러스터로부터 클러스터들 (900, 902, 910) 의 전역 중심까지 계산된다. 예를 들어, 도 9a 에 나타낸 바와 같이, 제 1 벡터 (904) 는 제 1 클러스터 그룹 (902) 으로부터 전역 중심 (912) 까지 계산된다. 최종적으로, 하나 이상의 네거티브 포인트들 (908) 은 포지티브 클래스에서의 포인트들의 일부 또는 전부에 중심 벡터 (예를 들어, 904) 의 스케일링된 버전을 부가하는 것에 의해 생성된다. 이 예에서, 종합적인 네거티브 클래스는 네거티브 포인트들 (908) 에 기초하여 생성된다 (클러스터들 (900, 910) 로부터의 벡터들은 도시되지 않음).
도 9b 는 본 개시물의 일 양태에 따른 네거티브 클래스를 생성하기 위해 클러스터들 (950, 962, 972) 을 사용하는 예를 도시한다. 도 9b 에 나타낸 바와 같이, 다수의 클러스터들 (950, 962, 972) 은 피처 공간에서 포지티브 포인트들로부터 형성될 수도 있다. 또한, 이 예에서, 클러스터 (962) 에서 클러스터들 (950 및 972) 까지의 2 개의 클러스터 벡터들 (952) 이 결정된다. 클러스터 벡터들 (952) 에 기초하여, 네거티브 벡터들 (954)(2 개만 나타냄) 은 클러스터 (962) 에서의 포인트들에 대해 생성된다. 네거티브 벡터들 (954) 은 클러스터에서의 포인트들의 전부 또는 일부에 대해 생성될 수도 있다. 또한, 하나 이상의 네거티브 포인트들 (956) 은 각각의 네거티브 벡터 (954) 로부터 생성된다. 부가적으로, 네거티브 클래스는 네거티브 포인트들 (956) 로부터 생성된다.
또 다른 양태에서, 자율적 학습은 미지의 클래스에서 발생한다. 미지의 클래스는 클러스터를 획득하기 위해 분석된다. 클러스터는 그 후 클러스터를 식별하기 위해 보다 고도화된 (sophisticated) 네트워크로 전송될 수 있다.
도 10 은 미지의 클래스 검출을 위한 방법 (1000) 을 도시한다. 블록 (1002) 에서, 네트워크는 다수의 제 1 클래스들에 대한 제 1 분류기를 생성한다. 일 구성에 있어서, 출력은 적어도 2 개의 차원을 갖는다. 또한, 블록 (1004) 에서, 네트워크는 입력 데이터가 다수의 제 1 클래스들에 속하는지 또는 하나 이상의 제 2 클래스들에 속하는지를 판단하기 위해 제 1 분류기의 출력을 수신하도록 제 2 분류기를 설계한다. 제 2 분류기는 선형 또는 비선형 중 하나일 수 있다.
도 11 은 종합적인 네거티브 데이터를 생성하기 위한 방법 (1100) 을 도시한다. 블록 (1102) 에서, 네트워크는 다수의 클래스들로부터 기지의 데이터를 획득한다. 또한, 블록 (1104) 에서, 네트워크는 기지의 데이터의 함수로서 네거티브 데이터를 종합적으로 생성한다.
도 12 는 본 개시물의 일 양태에 따른 미지의 클래스 검출을 위한 플로우 다이어그램 (1200) 을 도시한다. 블록 (1202) 에서, 제 1 분류기는 입력을 수신한다. 분류기는 입력의 추출된 데이터에 기초하여 입력을 분류하거나 입력의 추출된 데이터에 기초하여 제 2 분류기를 훈련시킨다. 일 예로서, 입력은 이미지이다. 제 1 분류기는 단일 클래스 분류기 또는 멀티 클래스 분류기일 수도 있다.
제 1 분류기는 하나 이상의 클래스들에 속하는 샘플의 신뢰도 (예를 들어, 확률) 를 표시하는 점수들의 벡터를 출력한다. 종래의 시스템들에 있어서, 점수들은 각각의 클래스에 대한 신뢰도를 생성하기 위해 정규화되고 최고 신뢰도를 갖는 클래스는 승리 클래스로서 선택될 수도 있다. 일 구성에 있어서, 정규화되지 않은 (예를 들어, 원) 점수들은 이진 분류기와 같은, 제 2 분류기를 훈련시키는데 사용될 수도 있다. 즉, 제 2 분류기는 하나 이상의 기지의 클래스들에 속하는 데이터 및 하나 이상의 기지의 클래스들에 속하지 않는 데이터의 예들로 훈련될 수도 있다.
일 구성에 있어서, 하나 이상의 기지의 클래스들에 속하지 않는 데이터는 기지의 데이터의 함수로서 종합적으로 생성된 네거티브 데이터이다. 따라서, 옵션으로서, 블록 (1204) 에서, 네거티브 데이터는 기지의 데이터의 함수로서 종합적으로 생성된다. 또한, 블록 (1206) 에서, 제 2 분류기는 기지의 데이터 및 미지의 데이터의 점수들 상에서 훈련된다. 즉, 이진 분류기는, 샘플이 기지인지 또는 미지인지를 이진 분류기가 인식할 수도 있도록 점수들의 패턴을 인식하도록 훈련될 수도 있다.
훈련 후, 제 1 분류기는 입력을 수신하고 원 점수들을 훈련된 제 2 분류기에 출력할 수도 있다. 블록 (1208) 에서, 제 2 분류기는 제 1 분류기가 추출된 피처에 클래스를 할당하기 전에 샘플이 기지인지 또는 미지인지를 판단한다. 예를 들어, 추출된 피처가 미지의 클래스인 경우, 제 1 분류기는 클래스를 결정하지 않을 수도 있고 제 2 분류기는 미지인 것으로서 추출된 피처들을 분류한다 (블록 (1212)). 대안으로, 추출된 피처가 기지의 클래스에 속하는 경우, 제 1 분류기는 클래스를 결정하기 위해 특정될 수도 있다 (블록 (1210)).
위에서 설명된 방법들의 다양한 동작들은 대응하는 기능들을 수행할 수 있는 임의의 적당한 수단에 의해 수행될 수도 있다. 수단은 회로, 주문형 집적 회로 (ASIC), 또는 프로세서를 포함하지만, 이것으로 제한되지는 않는 다양한 하드웨어 및/또는 소프트웨어 컴포넌트(들) 및/또는 모듈(들) 을 포함할 수도 있다. 일반적으로, 도면들에 도시된 예시된 동작들이 있을 경우, 그 동작들은 유사하게 넘버링되는 상응하는 대응 기능 플러스 수단 (means-plus-function) 을 가질 수도 있다.
본 명세서에서 이용된 바와 같이, 용어 "결정" 은 폭넓게 다양한 액션 (action) 들을 망라한다. 예를 들어, "결정" 은 계산, 연산 (computing), 프로세싱, 유도, 조사, 룩업 (look up) (예컨대, 테이블, 데이터베이스 또는 또 다른 데이터 구조에서의 룩업), 확인 등을 포함할 수도 있다. 추가적으로, "결정" 은 수신 (예컨대, 정보를 수신하는 것), 액세스 (예컨대, 메모리에서 데이터를 액세스하는 것) 등을 포함할 수 있다. 또한, "결정" 은 해결, 선택, 선정, 확립 등을 포함할 수도 있다.
본 명세서에서 이용된 바와 같이, 항목들의 리스트 중의 "적어도 하나" 를 지칭하는 어구는 단일 부재들을 포함하는 그러한 항목들의 임의의 조합을 지칭한다. 예로서, "a, b, 또는 c 중의 적어도 하나" 는 a, b, c, a-b, a-c, b-c, 및 a-b-c 를 커버하도록 의도된다.
본 개시물과 관련하여 설명된 다양한 예시적인 논리적 블록들, 모듈들, 및 회로들은 범용 프로세서, 디지털 신호 프로세서 (DSP), 주문형 집적 회로 (ASIC), 필드 프로그래밍가능한 게이트 어레이 신호 (FPGA) 또는 다른 프로그래밍가능한 로직 디바이스 (PLD), 별개의 게이트 또는 트랜지스터 로직, 별개의 하드웨어 컴포넌트들, 또는 본 명세서에서 설명된 기능들을 수행하도록 설계된 그 임의의 조합으로 구현되거나 수행될 수도 있다. 범용 프로세서는 마이크로프로세서일 수도 있지만, 대안으로 프로세서는 임의의 상업적으로 입수가능한 프로세서, 제어기, 마이크로제어기 또는 상태 머신일 수도 있다. 프로세서는 또한, 컴퓨팅 디바이스들의 조합, 예컨대, DSP 및 마이크로프로세서, 다수의 마이크로프로세서들, DSP 코어와 함께 하나 이상의 마이크로프로세서들, 또는 임의의 다른 이러한 구성의 조합으로서 구현될 수도 있다.
본 개시물과 관련하여 설명된 방법 또는 알고리즘의 단계들은 하드웨어로, 프로세서에 의해 실행된 소프트웨어 모듈로, 또는 이들 양자의 조합으로 직접 구체화될 수도 있다. 소프트웨어 모듈은 당해 분야에서 알려져 있는 저장 매체의 임의의 형태로 상주할 수도 있다. 이용될 수도 있는 저장 매체들의 일부 예들은 랜덤 액세스 메모리 (RAM), 판독 전용 메모리 (ROM), 플래시 메모리, 소거가능 프로그래밍가능 판독-전용 메모리 (EPROM), 전기적 소거가능 프로그래밍가능 판독-전용 메모리 (EEPROM), 레지스터들, 분리가능한 디스크, CD-ROM 등을 포함한다. 소프트웨어 모듈은 단일 명령 또는 다수의 명령들을 포함할 수도 있고, 몇몇 상이한 코드 세그먼트들 상에서, 상이한 프로그램 사이에서, 그리고 다수의 저장 매체들엘 걸쳐 분산될 수도 있다. 저장 매체는 프로세서가 저장 매체로부터 정보를 판독할 수 있고 정보를 저장 매체에 기록할 수 있도록 프로세서에 결합될 수도 있다. 대안적으로, 저장 매체는 프로세서에 일체적일 수도 있다.
본 명세서에서 개시된 방법들은 설명된 방법을 달성하기 위한 하나 이상의 단계들 또는 액션들을 포함한다. 방법 단계들 및/또는 액션들은 청구항들의 범위로부터 벗어나지 않으면서 서로 상호교환될 수도 있다. 다시 말해서, 단계들 또는 액션들의 특정 순서가 특정되지 않으면, 특정 단계들 및/또는 액션들의 순서 및/또는 이용은 청구항들의 범위로부터 벗어나지 않으면서 수정될 수도 있다.
설명된 기능들은 하드웨어, 소프트웨어, 펌웨어, 또는 그 임의의 조합으로 구현될 수도 있다. 하드웨어로 구현될 경우, 일 예의 하드웨어 구성은 디바이스에서의 프로세싱 시스템을 포함할 수도 있다. 프로세싱 시스템은 버스 아키텍처로 구현될 수도 있다. 버스는 프로세싱 시스템의 특정 어플리케이션 및 전체적인 설계 제약들에 따라 임의의 수의 상호접속하는 버스들 및 브릿지 (bridge) 들을 포함할 수도 있다. 버스는 프로세서, 머신 판독가능 매체들, 및 버스 인터페이스를 포함하는 다양한 회로들을 함께 연결할 수도 있다. 버스 인터페이스는 그 중에서도, 네트워크 어댑터를 버스를 통해 프로세싱 시스템에 접속하기 위하여 이용될 수도 있다. 네트워크 어댑터는 신호 프로세싱 기능들을 구현하기 위하여 이용될 수도 있다. 소정의 양태들에 대하여, 사용자 인터페이스 (예컨대, 키패드, 디스플레이, 마우스, 조이스틱 등) 는 또한 버스에 접속될 수도 있다. 버스는 또한, 당해 분야에서 잘 알려져 있고, 그러므로, 더 이상 설명되지 않을 타이밍 소스들, 주변기기들, 전압 레귤레이터들, 및 전력 관리 회로들 등과 같은 다양한 다른 회로들을 연결할 수도 있다.
프로세서는 버스를 관리하는 것과, 머신 판독가능 매체들 상에서 저장된 소프트웨어의 실행을 포함하는 일반적인 프로세싱을 담당할 수도 있다. 프로세서는 하나 이상의 범용 및/또는 특수-목적 프로세서들로 구현될 수도 있다. 예들은 마이크로프로세서들, 마이크로제어기들, DSP 프로세서들, 및 소프트웨어를 실행할 수 있는 다른 회로부를 포함한다. 소프트웨어는 소프트웨어, 펌웨어, 미들웨어, 마이크로코드, 하드웨어 설명 언어, 또는 그 외의 것으로서 지칭되든지 간에, 명령들, 데이터, 또는 그 임의의 조합을 의미하도록 폭넓게 해석될 것이다. 머신 판독가능 매체들은 예로서, 랜덤 액세스 메모리 (RAM), 플래시 메모리, 판독 전용 메모리 (ROM), 프로그래밍가능 판독-전용 메모리 (PROM), 소거가능 프로그래밍가능 판독-전용 메모리 (EPROM), 전기적 소거가능 프로그래밍가능 판독-전용 메모리 (EEPROM), 레지스터들, 자기 디스크들, 광학 디스크들, 하드 드라이브들, 또는 임의의 다른 적당한 저장 매체, 또는 그 임의의 조합을 포함할 수도 있다. 머신 판독가능 매체들은 컴퓨터-프로그램 제품에 담길 수도 있다. 컴퓨터-프로그램 제품은 패키징 재료들을 포함할 수도 있다.
하드웨어 구현에서, 머신 판독가능 매체들은 프로세서로부터 분리된 프로세싱 시스템의 일부일 수도 있다. 그러나, 당해 분야의 당업자들이 용이하게 인식하는 바와 같이, 머신 판독가능 매체들 또는 그 임의의 부분은 프로세싱 시스템의 외부에 있을 수도 있다. 예로서, 머신 판독가능 매체들은 송신 라인, 데이터에 의해 변조된 반송파, 및/또는 디바이스로부터 분리된 컴퓨터 제품을 포함할 수도 있고, 그 전부는 버스 인터페이스를 통해 프로세서에 의해 액세스될 수도 있다. 대안적으로 또는 추가적으로, 머신 판독가능 매체들 또는 그 임의의 부분은 캐시 및/또는 일반적인 레지스터 파일들에서 그러한 바와 같이, 프로세서 내로 통합될 수도 있다. 논의된 다양한 컴포넌트들은 로컬 컴포넌트와 같이, 특정 위치를 가지는 것으로서 설명될 수도 있지만, 그것들은 또한, 분산된 컴퓨팅 시스템의 일부로서 구성되는 소정의 컴포넌트들과 같이, 다양한 방법들로 구성될 수도 있다.
프로세싱 시스템은 외부 버스 아키텍처를 통해 다른 지원 회로부와 함께 모두 연결된, 프로세서 기능성을 제공하는 하나 이상의 마이크로프로세서들 및 머신 판독가능 매체들의 적어도 부분을 제공하는 외부 메모리를 갖는 범용 프로세싱 시스템으로서 구성될 수도 있다. 대안으로, 프로세싱 시스템은 본 명세서에서 설명된 신경 시스템들의 모델들 및 뉴런 모델들을 구현하기 위한 하나 이상의 뉴로모픽 프로세서들을 포함할 수도 있다. 또 다른 대안으로서, 프로세싱 시스템은 프로세서, 버스 인터페이스, 사용자 인터페이스, 지원 회로부, 및 단일 칩 내로 통합된 머신 판독가능 매체들의 적어도 부분을 갖는 주문형 집적 회로 (ASIC), 또는 하나 이상의 필드 프로그래밍가능 게이트 어레이 (FPGA) 들, 프로그래밍가능 로직 디바이스 (PLD) 들, 제어기들, 상태 머신들, 게이팅된 로직, 별개의 하드웨어 컴포넌트들, 또는 임의의 다른 적당한 회로부, 또는 이 개시물의 전반에 걸쳐 설명된 다양한 기능성을 수행할 수 있는 회로들의 임의의 조합으로 구현될 수도 있다. 당해 분야의 당업자들은 특정한 어플리케이션 및 전체적인 시스템에 부과된 전체적인 설계 제약들에 따라 프로세싱 시스템을 위한 설명된 기능성을 어떻게 최상으로 구현할 것인지를 인식할 것이다.
머신 판독가능 매체들은 다수의 소프트웨어 모듈들을 포함할 수도 있다. 소프트웨어 모듈들은, 프로세서에 의해 실행될 때, 프로세싱 시스템으로 하여금, 다양한 기능들을 수행하게 하는 명령들을 포함한다. 소프트웨어 모듈들은 송신 모듈 및 수신 모듈을 포함할 수도 있다. 각각의 소프트웨어 모듈은 단일 저장 디바이스에서 상주할 수도 있거나, 다수의 저장 디바이스들에 걸쳐 분산될 수도 있다. 예로서, 소프트웨어 모듈은 트리거링 이벤트가 발생할 때에 하드 드라이브로부터 RAM 으로 로딩될 수도 있다. 소프트웨어 모듈의 실행 동안, 프로세서는 액세스 속력을 증가시키기 위하여 명령들의 일부를 캐시로 로딩할 수도 있다. 그 다음으로, 하나 이상의 캐시 라인들은 프로세서에 의한 실행을 위하여 일반적인 레지스터 파일로 로딩될 수도 있다. 이하의 소프트웨어 모듈의 기능성을 지칭할 때, 이러한 기능성은 그 소프트웨어 모듈로부터의 명령들을 실행할 때에 프로세서에 의해 구현된다는 것이 이해될 것이다. 또한, 본 개시물의 양태들은 프로세서, 컴퓨터, 머신, 또는 이러한 양태들을 구현하는 다른 시스템에 대한 개선들로 귀착된다는 것이 인식되어야 한다.
소프트웨어로 구현될 경우, 기능들은 하나 이상의 명령들 또는 코드로서, 컴퓨터 판독가능 매체 상에 저장되거나, 컴퓨터 판독가능 매체 상에서 송신될 수도 있다. 컴퓨터 판독가능 매체들은, 하나의 장소로부터 다른 장소로 컴퓨터 프로그램의 전송을 가능하게 하는 임의의 매체를 포함하는 통신 매체들 및 컴퓨터 저장 매체들의 양자를 포함한다. 저장 매체는 컴퓨터에 의해 액세스될 수 있는 임의의 이용가능한 매체일 수도 있다. 제한이 아닌 예로서, 이러한 컴퓨터 판독가능한 매체들은 RAM, ROM, EEPROM, CD-ROM 또는 다른 광학 디스크 저장, 자기 디스크 저장, 또는 다른 자기 저장 디바이스들, 또는 명령들 또는 데이터 구조들의 형태로 바람직한 프로그램 코드를 반송 또는 저장하기 위해 이용될 수 있으며 컴퓨터에 의해 액세스될 수 있는 임의의 다른 매체를 포함할 수 있다. 게다가, 임의의 접속은 컴퓨터 판독가능 매체로 적절하게 칭해진다. 예를 들어, 동축 케이블, 광섬유 케이블, 꼬임쌍선 (twisted pair), 디지털 가입자 라인 (DSL), 또는 적외선, 라디오 (radio), 및 마이크로파와 같은 무선 기술들을 이용하여, 소프트웨어가 웹사이트, 서버, 또는 다른 원격 소스로부터 송신될 경우, 동축 케이블, 광섬유 케이블, 트위스트 페어, DSL, 또는 적외선, 라디오, 및 마이크로파와 같은 무선 기술들은 매체의 정의 내에 포함된다. 본 명세서에서 이용된 바와 같은 디스크 (disk) 및 디스크 (disc) 는 컴팩트 디스크 (CD), 레이저 디스크, 광학 디스크, 디지털 다기능 디스크 (DVD), 플로피 디스크 및 BLu-ray® 디스크를 포함하고, 여기서, 디스크 (disk) 들은 통상 데이터를 자기적으로 재생하는 반면, 디스크 (disc) 들은 데이터를 레이저로 광학적으로 재생한다. 이에 따라, 일부 양태들에서, 컴퓨터 판독가능 매체들은 비-일시적인 컴퓨터 판독가능 매체들 (예컨대, 유형의 매체들) 을 포함할 수도 있다. 게다가, 다른 양태들에 대하여, 컴퓨터 판독가능 매체들은 일시적 컴퓨터 판독가능 매체들 (예컨대, 신호) 을 포함할 수도 있다. 상기의 조합들은 또한, 컴퓨터 판독가능 매체들의 범위 내에 포함되어야 한다.
이에 따라, 소정의 양태들은 본 명세서에서 제시된 동작들을 수행하기 위한 컴퓨터 프로그램 제품을 포함할 수도 있다. 예를 들어, 이러한 컴퓨터 프로그램 제품은 명령들을 그 위에 저장한 (및/또는 인코딩한) 컴퓨터 판독가능 매체를 포함할 수도 있고, 명령들은 본 명세서에서 설명된 동작들을 수행하기 위하여 하나 이상의 프로세서들에 의해 실행가능할 수도 있다. 소정의 양태들에 대하여, 컴퓨터 프로그램 제품은 패키징 재료를 포함할 수도 있다.
또한, 본 명세서에서 설명된 방법들 및 기법들을 수행하기 위한 모듈들 및/또는 다른 적절한 수단은 적용가능한 바와 같은 사용자 단말 및/또는 기지국에 의해 다운로딩될 수 있고 및/또는 이와 다르게 획득될 수 있다는 것이 인식되어야 한다. 예를 들어, 이러한 디바이스는 본 명세서에서 설명된 방법들을 수행하기 위한 수단의 전달을 용이하게 하기 위하여 서버에 결합될 수 있다. 대안적으로, 본 명세서에서 설명된 다양한 방법들은 저장 수단 (예를 들어, RAM, ROM, 물리적 저장 매체 예컨대, 컴팩트 디스크 (CD) 또는 플로피 디스크, 등) 을 통해 제공될 수 있어서, 사용자 단말 및/또는 기지국은 저장 수단을 디바이스에 결합 또는 제공 시에 다양한 방법들을 획득할 수 있다. 게다가, 본 명세서에서 설명된 방법들 및 기법들을 디바이스에 제공하기 위한 임의의 다른 적당한 기법이 사용될 수 있다.
청구항들은 위에서 예시된 정확한 구성 및 컴폰넌트들에 제한되지 않는다는 것이 이해되어야 한다. 다양한 수정들, 변경들 및 변동들은 청구항들의 범위로부터 벗어나지 않으면서, 위에서 설명된 방법들 및 장치의 배열, 동작 및 상세들로 행해질 수도 있다.

Claims (32)

  1. 미지의 클래스들을 검출하는 방법으로서,
    제 1 복수의 클래스들에 대한 제 1 분류기를 생성하는 단계로서, 상기 제 1 분류기의 출력은 적어도 2 개의 차원을 갖는, 상기 제 1 분류기를 생성하는 단계; 및
    입력 데이터가 상기 제 1 복수의 클래스들에 속하는지 또는 적어도 하나의 제 2 클래스에 속하는지를 판단하기 위해 상기 제 1 분류기의 상기 출력을 수신하도록 제 2 분류기를 설계하는 단계를 포함하는, 미지의 클래스들을 검출하는 방법.
  2. 제 1 항에 있어서,
    상기 입력 데이터가 상기 제 1 복수의 클래스들 중 하나에 속하지 않을 때 상기 입력 데이터를 적어도 하나의 미지의 클래스로 분류하는 단계를 더 포함하는, 미지의 클래스들을 검출하는 방법.
  3. 제 1 항에 있어서,
    상기 제 2 분류기를 설계하는 단계는, 상기 제 1 복수의 클래스들에 속하는 데이터 및 상기 제 1 복수의 클래스들에 속하지 않는 데이터의 예들로 상기 제 2 분류기를 훈련시키는 단계를 포함하는, 미지의 클래스들을 검출하는 방법.
  4. 제 3 항에 있어서,
    상기 제 1 복수의 클래스들에 속하지 않는 데이터는 종합적으로 생성된 네거티브 데이터를 포함하는, 미지의 클래스들을 검출하는 방법.
  5. 제 4 항에 있어서,
    상기 종합적으로 생성된 네거티브 데이터는 상기 제 1 복수의 클래스들로부터의 기지의 데이터의 함수인, 미지의 클래스들을 검출하는 방법.
  6. 제 3 항에 있어서,
    상기 제 1 복수의 클래스들 중 적어도 하나, 상기 적어도 하나의 제 2 클래스 중 하나, 또는 그 조합의 경계를 상기 제 1 복수의 클래스들에 속하지 않는 데이터에 적어도 부분적으로 기초하여 수정하는 단계를 더 포함하는, 미지의 클래스들을 검출하는 방법.
  7. 제 1 항에 있어서,
    상기 제 1 복수의 클래스들은 복수의 기지의 클래스들인, 미지의 클래스들을 검출하는 방법.
  8. 제 1 항에 있어서,
    상기 적어도 하나의 제 2 클래스는 상기 제 1 복수의 클래스들과 상이한 복수의 클래스들 또는 미지의 클래스를 포함하는, 미지의 클래스들을 검출하는 방법.
  9. 제 1 항에 있어서,
    상기 제 2 분류기는 선형 또는 비선형인, 미지의 클래스들을 검출하는 방법.
  10. 종합적인 네거티브 데이터를 생성하는 방법으로서,
    복수의 클래스들로부터 기지의 데이터를 획득하는 단계; 및
    상기 기지의 데이터의 함수로서 네거티브 데이터를 종합적으로 생성하는 단계를 포함하는, 종합적인 네거티브 데이터를 생성하는 방법.
  11. 제 10 항에 있어서,
    상기 네거티브 데이터를 종합적으로 생성하는 단계는,
    기지의 데이터의 클러스터에서의 각각의 기지의 데이터 포인트와 상기 클러스터의 중심 사이에서 제 1 벡터를 연산하는 단계; 및
    클래스 특정 클러스터들의 중심과 클래스와 관계 없는 모든 기지의 데이터 포인트들의 중심 사이에서 제 2 벡터를 연산하는 단계를 포함하는, 종합적인 네거티브 데이터를 생성하는 방법.
  12. 제 11 항에 있어서,
    상기 제 2 벡터로부터의 네거티브 데이터 또는 상기 제 1 벡터의 네거티브 벡터를 생성하는 단계를 더 포함하는, 종합적인 네거티브 데이터를 생성하는 방법.
  13. 제 10 항에 있어서,
    상기 네거티브 데이터에 대해 분류기를 훈련시키는 단계를 더 포함하는, 종합적인 네거티브 데이터를 생성하는 방법.
  14. 제 10 항에 있어서,
    적어도 기존의 기지의 클래스, 기존의 미지의 클래스, 또는 그 조합의 경계를 상기 네거티브 데이터에 적어도 부분적으로 기초하여 수정하는 단계를 더 포함하는, 종합적인 네거티브 데이터를 생성하는 방법.
  15. 미지의 클래스들을 검출하기 위한 장치로서,
    적어도 하나의 메모리 유닛; 및
    상기 메모리 유닛에 커플링된 적어도 하나의 프로세서를 포함하고,
    상기 적어도 하나의 프로세서는,
    제 1 복수의 클래스들에 대한 제 1 분류기를 생성하는 것으로서, 상기 제 1 분류기의 출력은 적어도 2 개의 차원을 갖는, 상기 제 1 분류기를 생성하고; 그리고
    입력 데이터가 상기 제 1 복수의 클래스들에 속하는지 또는 적어도 하나의 제 2 클래스에 속하는지를 판단하기 위해 상기 제 1 분류기의 상기 출력을 수신하도록 제 2 분류기를 설계하도록 구성되는, 미지의 클래스들을 검출하기 위한 장치.
  16. 제 15 항에 있어서,
    상기 적어도 하나의 프로세서는 또한, 상기 입력 데이터가 상기 제 1 복수의 클래스들 중 하나에 속하지 않을 때 상기 입력 데이터를 적어도 하나의 미지의 클래스로 분류하도록 구성되는, 미지의 클래스들을 검출하기 위한 장치.
  17. 제 15 항에 있어서,
    상기 적어도 하나의 프로세서는 또한, 상기 제 1 복수의 클래스들에 속하는 데이터 및 상기 제 1 복수의 클래스들에 속하지 않는 데이터의 예들로 상기 제 2 분류기를 훈련시키도록 구성되는, 미지의 클래스들을 검출하기 위한 장치.
  18. 제 17 항에 있어서,
    상기 제 1 복수의 클래스들에 속하지 않는 데이터는 종합적으로 생성된 네거티브 데이터를 포함하는, 미지의 클래스들을 검출하기 위한 장치.
  19. 제 18 항에 있어서,
    상기 종합적으로 생성된 네거티브 데이터는 상기 제 1 복수의 클래스들로부터의 기지의 데이터의 함수인, 미지의 클래스들을 검출하기 위한 장치.
  20. 제 17 항에 있어서,
    상기 적어도 하나의 프로세서는 또한, 상기 제 1 복수의 클래스들 중 적어도 하나, 상기 적어도 하나의 제 2 클래스 중 하나, 또는 그 조합의 경계를 상기 제 1 복수의 클래스들에 속하지 않는 데이터에 적어도 부분적으로 기초하여 수정하도록 구성되는, 미지의 클래스들을 검출하기 위한 장치.
  21. 제 15 항에 있어서,
    상기 제 1 복수의 클래스들은 복수의 기지의 클래스들인, 미지의 클래스들을 검출하기 위한 장치.
  22. 제 15 항에 있어서,
    상기 적어도 하나의 제 2 클래스는 상기 제 1 복수의 클래스들과 상이한 복수의 클래스들 또는 미지의 클래스를 포함하는, 미지의 클래스들을 검출하기 위한 장치.
  23. 제 15 항에 있어서,
    상기 제 2 분류기는 선형 또는 비선형인, 미지의 클래스들을 검출하기 위한 장치.
  24. 종합적인 네거티브 데이터를 생성하기 위한 장치로서,
    적어도 하나의 메모리 유닛; 및
    상기 메모리 유닛에 커플링된 적어도 하나의 프로세서를 포함하고,
    상기 적어도 하나의 프로세서는,
    복수의 클래스들로부터 기지의 데이터를 획득하고; 그리고
    상기 기지의 데이터의 함수로서 네거티브 데이터를 종합적으로 생성하도록 구성되는, 종합적인 네거티브 데이터를 생성하기 위한 장치.
  25. 제 24 항에 있어서,
    상기 적어도 하나의 프로세서는 또한,
    기지의 데이터의 클러스터에서의 각각의 기지의 데이터 포인트와 상기 클러스터의 중심 사이에서 제 1 벡터를 연산하고; 그리고
    클래스 특정 클러스터들의 중심과 클래스와 관계 없는 모든 기지의 데이터 포인트들의 중심 사이에서 제 2 벡터를 연산하도록 구성되는, 종합적인 네거티브 데이터를 생성하기 위한 장치.
  26. 제 25 항에 있어서,
    상기 적어도 하나의 프로세서는 또한, 상기 제 2 벡터로부터의 네거티브 데이터 또는 상기 제 1 벡터의 네거티브 벡터를 생성하도록 구성되는, 종합적인 네거티브 데이터를 생성하기 위한 장치.
  27. 제 24 항에 있어서,
    상기 적어도 하나의 프로세서는 또한, 상기 네거티브 데이터에 대해 분류기를 훈련시키도록 구성되는, 종합적인 네거티브 데이터를 생성하기 위한 장치.
  28. 제 24 항에 있어서,
    상기 적어도 하나의 프로세서는 또한, 적어도 기존의 기지의 클래스, 기존의 미지의 클래스, 또는 그 조합의 경계를 상기 네거티브 데이터에 적어도 부분적으로 기초하여 수정하도록 구성되는, 종합적인 네거티브 데이터를 생성하기 위한 장치.
  29. 프로그램 코드가 기록된 비일시적 컴퓨터 판독가능 저장 매체로서,
    상기 프로그램 코드는 프로세서에 의해 실행되고,
    제 1 복수의 클래스들에 대한 제 1 분류기를 생성하는 프로그램 코드로서, 상기 제 1 분류기의 출력은 적어도 2 개의 차원을 갖는, 상기 제 1 분류기를 생성하는 프로그램 코드; 및
    입력 데이터가 상기 제 1 복수의 클래스들에 속하는지 또는 적어도 하나의 제 2 클래스에 속하는지를 판단하기 위해 상기 제 1 분류기의 상기 출력을 수신하도록 제 2 분류기를 설계하는 프로그램 코드를 포함하는, 비일시적 컴퓨터 판독가능 저장 매체.
  30. 프로그램 코드가 기록된 비일시적 컴퓨터 판독가능 저장 매체로서,
    상기 프로그램 코드는 프로세서에 의해 실행되고,
    복수의 클래스들로부터 기지의 데이터를 획득하는 프로그램 코드; 및
    상기 기지의 데이터의 함수로서 네거티브 데이터를 종합적으로 생성하는 프로그램 코드를 포함하는, 비일시적 컴퓨터 판독가능 저장 매체.
  31. 미지의 클래스들을 검출하기 위한 장치로서,
    제 1 복수의 클래스들에 대한 제 1 분류기를 생성하기 위한 수단으로서, 상기 제 1 분류기의 출력은 적어도 2 개의 차원을 갖는, 상기 제 1 분류기를 생성하기 위한 수단; 및
    입력 데이터가 상기 제 1 복수의 클래스들에 속하는지 또는 적어도 하나의 제 2 클래스에 속하는지를 판단하기 위해 상기 제 1 분류기의 상기 출력을 수신하도록 제 2 분류기를 설계하기 위한 수단을 포함하는, 미지의 클래스들을 검출하기 위한 장치.
  32. 종합적인 네거티브 데이터를 생성하기 위한 장치로서,
    복수의 클래스들로부터 기지의 데이터를 획득하기 위한 수단; 및
    상기 기지의 데이터의 함수로서 네거티브 데이터를 종합적으로 생성하기 위한 수단을 포함하는, 종합적인 네거티브 데이터를 생성하기 위한 장치.
KR1020187002991A 2015-08-04 2016-07-20 미지의 클래스들의 검출 및 미지의 클래스들에 대한 분류기들의 초기화 KR102595399B1 (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201562201090P 2015-08-04 2015-08-04
US62/201,090 2015-08-04
US14/849,518 2015-09-09
US14/849,518 US20170039469A1 (en) 2015-08-04 2015-09-09 Detection of unknown classes and initialization of classifiers for unknown classes
PCT/US2016/043146 WO2017023551A2 (en) 2015-08-04 2016-07-20 Detection of unknown classes and initialization of classifiers for unknown classes

Publications (2)

Publication Number Publication Date
KR20180037192A true KR20180037192A (ko) 2018-04-11
KR102595399B1 KR102595399B1 (ko) 2023-10-27

Family

ID=56555818

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020187002991A KR102595399B1 (ko) 2015-08-04 2016-07-20 미지의 클래스들의 검출 및 미지의 클래스들에 대한 분류기들의 초기화

Country Status (6)

Country Link
US (1) US20170039469A1 (ko)
EP (1) EP3332362A2 (ko)
JP (1) JP6776331B2 (ko)
KR (1) KR102595399B1 (ko)
CN (1) CN107924491A (ko)
WO (1) WO2017023551A2 (ko)

Families Citing this family (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170178346A1 (en) * 2015-12-16 2017-06-22 High School Cube, Llc Neural network architecture for analyzing video data
US11188823B2 (en) * 2016-05-31 2021-11-30 Microsoft Technology Licensing, Llc Training a neural network using another neural network
DE102016008218A1 (de) * 2016-07-06 2018-01-11 Audi Ag Verfahren zum verbesserten Erkennen von Objekten durch ein Fahrerassistenzsystem
US10719770B2 (en) 2016-09-28 2020-07-21 International Business Machines Corporation System and method for enhanced chatflow application
US11095590B2 (en) * 2016-09-28 2021-08-17 International Business Machines Corporation System and method for enhanced chatflow application
US10417530B2 (en) 2016-09-30 2019-09-17 Cylance Inc. Centroid for improving machine learning classification and info retrieval
US10621210B2 (en) * 2016-11-27 2020-04-14 Amazon Technologies, Inc. Recognizing unknown data objects
US10747994B2 (en) 2016-12-28 2020-08-18 Captricity, Inc. Identifying versions of a form
CN108269224B (zh) * 2017-01-04 2022-04-01 意法半导体股份有限公司 可重新配置的互连
CN110651276A (zh) 2017-03-17 2020-01-03 纽拉拉股份有限公司 标注和标记用于深度神经网络和神经网络应用的数据流的在线增量实时学习
US11531876B2 (en) * 2017-03-29 2022-12-20 University Of Florida Research Foundation, Incorporated Deep learning for characterizing unseen categories
US10242486B2 (en) 2017-04-17 2019-03-26 Intel Corporation Augmented reality and virtual reality feedback enhancement system, apparatus and method
US11829848B2 (en) 2017-05-09 2023-11-28 Microsoft Technology Licensing, Llc Adding negative classes for training classifier
KR20200028330A (ko) 2017-05-09 2020-03-16 뉴럴라 인코포레이티드 네트워크 연산 에지 전반에 걸쳐 연속적으로 애플리케이션을 작동하는 딥 러닝과 인공 지능에서 지속적인 메모리 기반 학습을 가능하게 하는 시스템 및 방법
US20180336439A1 (en) * 2017-05-18 2018-11-22 Intel Corporation Novelty detection using discriminator of generative adversarial network
JP6967201B2 (ja) * 2017-09-26 2021-11-17 株式会社アイシン 情報処理装置
CN113536019A (zh) * 2017-09-27 2021-10-22 深圳市商汤科技有限公司 一种图像检索方法、装置及计算机可读存储介质
KR102018788B1 (ko) * 2017-12-15 2019-11-04 서울시립대학교 산학협력단 이미지 분류 시스템 및 방법
US10528800B2 (en) * 2018-01-10 2020-01-07 International Business Machines Corporation Automated facial recognition detection
JP6933164B2 (ja) * 2018-03-08 2021-09-08 株式会社Jvcケンウッド 学習用データ作成装置、学習用モデル作成システム、学習用データ作成方法、及びプログラム
US20200057918A1 (en) * 2018-08-17 2020-02-20 Perfect Price, Inc. Systems and methods for training artificial intelligence to predict utilization of resources
CN109635863B (zh) * 2018-12-06 2023-08-25 邵凌霜 智能判断用户乘车的方法和装置
US11687761B2 (en) * 2018-12-11 2023-06-27 Amazon Technologies, Inc. Improper neural network input detection and handling
US10621473B1 (en) * 2019-01-30 2020-04-14 StradVision, Inc. Method for providing object detecting system capable of updating types of detectable classes in real-time by using continual learning and devices using the same
US11790275B2 (en) * 2019-04-18 2023-10-17 Teledyne Scientific & Imaging, Llc Adaptive continuous machine learning by uncertainty tracking
CN110047506B (zh) * 2019-04-19 2021-08-20 杭州电子科技大学 一种基于卷积神经网络和多核学习svm的关键音频检测方法
CN110188197B (zh) * 2019-05-13 2021-09-28 北京一览群智数据科技有限责任公司 一种用于标注平台的主动学习方法及装置
WO2020260925A1 (en) * 2019-06-24 2020-12-30 Mcguinness Fergal System for evaluating and replicating acturial calculation patterns using neural imaging and method thereof
EP3992906A4 (en) * 2019-06-25 2022-07-27 Panasonic Intellectual Property Management Co., Ltd. INFORMATION PROCESSING PROCEDURES AND INFORMATION PROCESSING SYSTEM
US11586982B2 (en) 2019-09-18 2023-02-21 Samsung Electronics Co., Ltd. Electronic and atomic structure computation utilizing machine learning
US11537898B2 (en) 2019-10-02 2022-12-27 Samsung Electronics Co., Ltd. Generative structure-property inverse computational co-design of materials
JP7354063B2 (ja) * 2020-05-14 2023-10-02 株式会社東芝 分類システム、プログラム及び学習システム
DE102020209130B4 (de) * 2020-07-21 2023-05-11 Magna Exteriors Gmbh Verkleidungsanordnung zur Verkleidung eines Karosserieelements für ein Kraftfahrzeug, sowie ein Verfahren zur zwangsgesteuerten Verlagerung einer Luftleitvorrichtung einer Verkleidungsanordnung
US11803575B2 (en) * 2022-01-24 2023-10-31 My Job Matcher, Inc. Apparatus, system, and method for classifying and neutralizing bias in an application
CN114241526B (zh) * 2022-02-28 2022-05-17 南京甄视智能科技有限公司 分类模型、训练方法、分类方法、电子设备及存储介质

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120054184A1 (en) * 2010-08-24 2012-03-01 Board Of Regents, The University Of Texas System Systems and Methods for Detecting a Novel Data Class

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010030794A1 (en) * 2008-09-10 2010-03-18 Digital Infuzion, Inc. Machine learning methods and systems for identifying patterns in data

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120054184A1 (en) * 2010-08-24 2012-03-01 Board Of Regents, The University Of Texas System Systems and Methods for Detecting a Novel Data Class

Also Published As

Publication number Publication date
BR112018002248A2 (pt) 2018-09-18
CN107924491A (zh) 2018-04-17
EP3332362A2 (en) 2018-06-13
US20170039469A1 (en) 2017-02-09
JP6776331B2 (ja) 2020-10-28
WO2017023551A3 (en) 2017-04-13
JP2018528525A (ja) 2018-09-27
WO2017023551A2 (en) 2017-02-09
KR102595399B1 (ko) 2023-10-27

Similar Documents

Publication Publication Date Title
KR102595399B1 (ko) 미지의 클래스들의 검출 및 미지의 클래스들에 대한 분류기들의 초기화
US10878320B2 (en) Transfer learning in neural networks
US10515304B2 (en) Filter specificity as training criterion for neural networks
US10275719B2 (en) Hyper-parameter selection for deep convolutional networks
US11334789B2 (en) Feature selection for retraining classifiers
US10332028B2 (en) Method for improving performance of a trained machine learning model
US11423323B2 (en) Generating a sparse feature vector for classification
US10325202B2 (en) Incorporating top-down information in deep neural networks via the bias term
US20160283864A1 (en) Sequential image sampling and storage of fine-tuned features
KR20180036709A (ko) 미디어 분류
KR20180063189A (ko) 선택적 역전파
WO2023146868A1 (en) Causal representation learning for instantaneous temporal effects
BR112018002248B1 (pt) Detecção de classes desconhecidas e inicialização de classificadores para classes desconhecidas

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant