KR20220004933A - 비단사적 변환을 포함하는 이미지 분류기 - Google Patents

비단사적 변환을 포함하는 이미지 분류기 Download PDF

Info

Publication number
KR20220004933A
KR20220004933A KR1020210085705A KR20210085705A KR20220004933A KR 20220004933 A KR20220004933 A KR 20220004933A KR 1020210085705 A KR1020210085705 A KR 1020210085705A KR 20210085705 A KR20210085705 A KR 20210085705A KR 20220004933 A KR20220004933 A KR 20220004933A
Authority
KR
South Korea
Prior art keywords
transform
image
inverse
training
transformation
Prior art date
Application number
KR1020210085705A
Other languages
English (en)
Inventor
디드릭 닐슨
에미엘 후게붐
카스파 사크만
막스 뷀링
막스 ?磁?
프리얀크 자이니
Original Assignee
로베르트 보쉬 게엠베하
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 로베르트 보쉬 게엠베하 filed Critical 로베르트 보쉬 게엠베하
Publication of KR20220004933A publication Critical patent/KR20220004933A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • 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
    • G06K9/6277
    • 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/211Selection of the most significant subset of features
    • 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/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
    • G06F18/2155Generating training patterns; Bootstrap methods, e.g. bagging or boosting characterised by the incorporation of unlabelled data, e.g. multiple instance learning [MIL], semi-supervised techniques using expectation-maximisation [EM] or naïve labelling
    • 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
    • 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/25Fusion techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/048Activation functions
    • 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
    • G06N7/005
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N7/00Computing arrangements based on specific mathematical models
    • G06N7/01Probabilistic graphical models, e.g. probabilistic networks
    • 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/7715Feature extraction, e.g. by transforming the feature space, e.g. multi-dimensional scaling [MDS]; Mappings, e.g. subspace methods
    • 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/776Validation; Performance evaluation
    • 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
    • G06F18/24133Distances to prototypes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/28Determining representative reference patterns, e.g. by averaging or distorting; Generating dictionaries

Landscapes

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

Abstract

레이블링된 및/또는 레이블링되지 않은 훈련 이미지들의 임의의 조합을 사용하는 이미지 분류기를 훈련하는 컴퓨터에 의해 구현되는 방법(600)이 제공된다. 이미지 분류기는 각자의 변환 입력들과 변환 출력들 사이의 변환들의 세트를 포함한다. 이미지 분류기의 결정론적 비단사적 변환의 경우, 그 역원이 확률적 역변환에 의해 근사화되는 역방향 모델이 정의된다. 훈련 동안, 주어진 훈련 이미지에 대해, 이러한 변환에 대한 우도 기여분은 그 변환 출력들이 주어지면 그 변환 입력들이 확률적 역변환에 의해 생성되는 확률에 기초하여 결정된다. 이러한 우도 기여분은 최대화될 훈련 이미지(및 훈련 이미지가 레이블링되면, 그 레이블)에 대한 로그 우도를 결정하는 데 사용되며, 그에 기초하여 모델 파라미터들이 최적화된다.

Description

비단사적 변환을 포함하는 이미지 분류기{AN IMAGE CLASSIFIER COMPRISING A NON-INJECTIVE TRANSFORMATION}
본 발명은 이미지 분류기를 훈련하는 컴퓨터에 의해 구현되는 방법 및 대응하는 시스템에 관한 것이다. 본 발명은 또한 이미지 분류 및/또는 이미지 생성을 위해 훈련된 이미지 분류기를 사용하는 컴퓨터에 의해 구현되는 방법 및 대응하는 시스템에 관한 것이다. 본 발명은 또한 위의 방법들 및/또는 훈련된 이미지 분류기를 나타내는 모델 데이터 중 하나를 수행할 명령어들을 포함하는 컴퓨터 판독 가능 매체에 관한 것이다.
많은 컴퓨터 제어 시스템들에서 중요한 작업은 입력 이미지가 주어진 클래스들의 세트의 클래스로 분류되는 이미지 분류이다. 이미지 분류 작업들은 예를 들어 (반)자율 차량들의 제어 시스템들에서 발생하여, 예를 들어 차량이 운행 중인 교통 상황에 관한 유용한 정보를 추출한다. 이미지 분류는 또한 제조, 건강관리 등에도 적용된다.
많은 실제 이미지 분류 문제들의 경우, 머신 학습 기술들이 매우 적합하다는 것으로 드러났다. 머신 학습을 사용할 때, 분류는 파라미터화된 모델을 입력 이미지에 적용함으로써 수행된다. 모델은 최상의 분류 결과들을 초래하는 파라미터들의 세트에 대한 값들을 학습하도록 훈련된다. 이러한 훈련은 주어진 클래스 세트로부터의 각자의 훈련 클래스들로 레이블링되는 레이블링된 훈련 이미지들의 훈련 데이터세트에 기초한 전형적으로 감독 훈련(supervised training)이다.
특히 심층 학습 분야로부터의 머신 학습 기술들은 실제로 잘 작동하는 것으로 발견되었다. 일반적으로, 이미지 분류기는 범주 분포(categorical distribution) 의 형태
Figure pat00001
를 취할 수 있으며, 여기서
Figure pat00002
는 입력 이미지이고
Figure pat00003
는 레이블이다. 심층 학습을 사용할 때,
Figure pat00004
는 컨볼루션 계층들, 풀링 계층들 및/또는 조밀하게 연결된 계층들을 포함하는 컨볼루션 신경망을 사용하여 전형적으로 클래스 확률들(π)에 결정론적으로 매핑된다.
머신 학습 및 특히 심층 학습은 양호한 결과들을 제공할 수 있기는 하지만, 일부 실제적인 문제들도 있다. 만족스러운 성능에 도달하기 위해, 전형적으로 다량의 훈련 데이터가 필요하다. 더욱이, 이러한 훈련 데이터는, 예를 들어, 수동으로 레이블링되어야 한다. 많은 경우에, 충분한 훈련 데이터를 획득하기가 어렵고, 일부 경우에는 그러한 데이터를 수집하는 것이 (예를 들어, 자율 주행 애플리케이션에서) 위험하기 조차하거나 또는 그렇지 않으면 실행 불가능할 수 있다. 더욱이, 모든 훈련 데이터를 수동으로 레이블링하는 것은 많은 경우들에서 엄청나게 많은 비용이 든다.
대응하는 훈련 클래스들로 레이블링된 훈련 이미지들뿐만 아니라, 클래스가 알려지지 않은 레이블링되지 않은 훈련 이미지들도 사용하여, 반감독 방식으로 훈련될 수 있는 이미지 분류기를 갖는 것이 바람직하다. 이미지 분류기를 사용하여, 예를 들어, 클래스 조건부 방식으로, 훈련 데이터세트의 이미지들과 유사한 추가 이미지들을 생성할 수 있게 하는 것이 또한 바람직할 것이다. 클래스 조건부로 추가 이미지들을 생성할 수 있게 하는 것은 레이블링된 훈련 데이터가 거의 이용 가능하지 않은 상황들에서 특히 바람직한데, 왜냐하면 이것은, 예를 들어, 그러하지 않았다면 데이터가 수집하기 어려웠을 코너 케이스들의 샘플들(예를 들어, 위험한 교통 상황들을)을 더 많이 생성할 수 있기 때문이다.
본 발명의 제1 양태에 따르면, 청구항 1 및 청구항 13에 의해 각자 정의되는 바와 같이, 이미지 분류기를 훈련하기 위한 컴퓨터에 의해 구현되는 방법 및 대응하는 시스템이 제공된다. 본 발명의 다른 양태에 따르면, 청구항 9 및 청구항 14에 의해 각자 정의되는 바와 같이, 이러한 이미지 분류기를 사용하여 이미지들을 분류 및/또는 생성하기 위한 컴퓨터에 의해 구현되는 방법 및 대응하는 시스템이 제공된다. 본 발명의 양태에 따르면, 컴퓨터 판독 가능 매체는 청구항 15에 의해 정의되는 바와 같이 설명된다.
본 발명자들이 깨달은 바와 같이, 반감독 방식으로 이미지 분류기를 훈련하는 것과 추가 입력을 생성하도록 이미지 분류기를 사용하는 것은 둘 모두 이미지 분류기에 대한 역방향 모델(inverse model), 다시 말해서, 이미지 분류기의 출력 클래스들
Figure pat00005
을 입력 이미지들
Figure pat00006
에 매핑하는 모델을 정의함으로써 가능해질 수 있다.
아래에서 보다 상세히 논의되는 바와 같이, 이러한 역방향 모델이 주어지면, 이미지 분류기에 의해 결정되는 입력 이미지들 및 클래스들의 결합 확률 분포(joint probability distribution)
Figure pat00007
가 정의될 수 있다. 따라서, 레이블링된 훈련 이미지들은 그 결합 확률 분포에 따라 발생하는 레이블링된 훈련 이미지의 로그 우도(log-likelihood)를 최대화함으로써 이미지 분류기를 훈련하는데 사용될 수 있다. 그러나 흥미롭게도, 역방향 모델은 역방향 모델에 의해 생성되는 이미지들의 확률 분포
Figure pat00008
를 정의할 수 있도록 하기도 한다. 따라서, 확률 분포
Figure pat00009
에 따라 발생하는 레이블링되지 않은 훈련 이미지의 로그 우도를 최대화함으로써, 레이블링되지 않은 훈련 이미지들 또한 역방향 모델을 훈련하는데 사용할 수 있고 그에 따라 이미지 분류기 자체를 또한 간접적으로 훈련하는데 사용될 수 있다. 따라서, 레이블링된 및/또는 레이블링되지 않은 훈련 이미지들의 임의의 조합에 기초한 이미지 분류기의 훈련이 가능해지며, 특히 이미지 분류기의 반감독 학습이 가능해진다.
더욱이, 아래에서도 보다 자세히 논의되는 바와 같이, 이미지 분류기에 대한 역방향 모델을 정의하는 것은 이미지 분류기를, 예를 들어, 확률 분포
Figure pat00010
에 따라 클래스 조건부 생성적 모델(class-conditional generative model)로서 사용될 수 있게 한다. 확률 분포
Figure pat00011
로부터 샘플링함으로써 클래스와는 독립적인 이미지들을 생성하는 것 또한 가능하다. 역방향 모델은 이미지 분류 모델에 대응하고 따라서 그 훈련 가능한 많은 파라미터들을 이미지들로부터 클래스들로의 정방향 매핑과 공유하기 때문에, 매우 대표적인 이미지들이 생성된다.
이 외에도, 분류 방향에서, 단지 조건부 확률 분포
Figure pat00012
만이 아니라 결합 확률 분포
Figure pat00013
를 나타내는 분류기의 사용은 섭동에 대한 견고성을 증가시킨다고 생각한다. 훈련은 또한 생성적 모델을 별도로 훈련하는 것보다 더 효율적일 수 있고, 과적합(overfitting)이 감소될 수 있다. 클래스 조건부 생성기는 주어진 클래스로부터 이미지들을 직접 생성할 수 있고 이처럼 클래스 조건부 생성을 위한, 예를 들어 거부 샘플링 유형 접근 방식(rejection sampling-type approach)들보다 더 효율적이다. 이미지들은 또한 주어진 클래스가 아닌 클래스 확률들의 주어진 벡터에 따라 생성될 수 있거나, 또는 보다 일반적으로는 모델의 내부 계층에서 명시된 값들에 따라 생성될 수 있고, 그럼으로써 이미지 생성을 사용자 정의하여, 예를 들어, 결정 경계에 가깝고/가깝거나 여러 특성들을 결합하는 이미지들을 생성할 수 있다.
생성적 모델링의 맥락에서, 예를 들어, 소위 "정규화 흐름(normalizing flow)"들의 프레임워크를 사용하여 역방향 모델이 정의될 수 있는 모델들을 사용하는 것이 알려져 있다. 이러한 프레임워크에서, 확률 밀도들은 미분 가능한 역원(inverse)이 있는 미분 가능한 전단사(bijection)들을 통해 표현된다. 이러한 전단사 함수는 함수의 야코비 행렬식(Jacobian determinant)의 형태로 확률 분포들의 로그 우도들에 기여한다.
그러나 불행히도, 정규화 흐름 프레임워크는 이미지 분류기들에 적용할 수 없다. 흐름을 정규화하는데 사용되는 변환들의 전단사적 특성은, 예를 들어, 이미지 분류에 필요한 차원수(dimensionality)를 변경하는 능력을 제한한다. 특히, 이미지 분류기는 전단사적 함수가 아니다. 즉, 이것은 다수의 상이한 입력 이미지들을 동일한 클래스에 매핑할 수 있다. 이미지 분류기는 각자의 변환 입력들과 변환 출력들 간의 다수의 변환들로 구성된 것으로 간주될 수 있다. 이러한 변환들 중 일부는 전단사적 함수들일 수 있다. 그러나 이미지 분류기는 비단사적이고, 따라서 결정론적 역원(deterministic inverse)이 없는 하나 이상의 변환들을 또한 전형적으로 포함한다. 예를 들어, 이것은 이미지 분류기들에서 일반적으로 사용되는 최대 풀링 및 조밀하게 연결된 계층들과 같은 차원수 감소 계층(dimensionality-reducing layer)들을 포함한다. 따라서 이러한 계층들은 정규화 흐름들에서 모델링될 수 없다.
흥미롭게도, 발명자들은 그럼에도 이미지 분류기에 대한 역방향 모델을, 즉, 확률적 역변환
Figure pat00014
에 의해, 비단사적 변환
Figure pat00015
의 역원을 근사화함으로써, 정의할 수 있다는 것을 깨달았다. 따라서
Figure pat00016
는 함수를 정의하지 않을 수 있고 대신에 변환 출력들
Figure pat00017
이 주어지면 변환 입력들
Figure pat00018
에 대한 조건부 확률 분포
Figure pat00019
를 정의할 수 있다. 이러한 역변환은 변환 출력
Figure pat00020
가 주어지면, 정의된 확률 분포의 지원이 변환 출력에 매핑되는 변환 입력들
Figure pat00021
로 제한된다는 의미에서 역원일 수 있다. 예를 들어,
Figure pat00022
이면,
Figure pat00023
이다. (이러한 속성은 또한, 예를 들어, 특정 문턱치 초과의 확률들
Figure pat00024
만을 고려하고/하거나
Figure pat00025
가 주어진 허용 오차로
Figure pat00026
에 근사화하도록 요구함으로써, 약간 완화될 수 있다.) 따라서, 역변환은 먼저 역원을 적용한 다음 정변환을 적용하는 것이 식별 맵에 대응한다는 의미에서 오른쪽 역원일 수 있다.
아래에서 더 논의되는 바와 같이, 이미지 분류에 사용되는 다양한 변환들은 확률적 역원들을 가진 그러한 결정론적 변환들을 사용하여 구현될 수 있다. 예를 들어, 이미지 분류기는 최대 풀링, ReLU, 및/또는 이러한 변환들을 사용하여 구현된 차원 축소 조밀 연결 계층(dimension-reducing densely connected layer)들을 포함할 수 있다.
각자의 변환들의 (근사화된) 역원들을 조합함으로써, 이미지 분류기에 대한 확률적 역방향 모델을 획득될 수 있다. 이미지 분류기는 결정론적 함수
Figure pat00027
일 수 있거나, 또는 보다 일반적으로는, 입력 이미지가 주어진다면 클래스의 확률 분포
Figure pat00028
일 수 있다. 역방향 모델은
Figure pat00029
이면,
Figure pat00030
또는 적어도
Figure pat00031
이라는 의미에서 역원일 수 있다. 그런 의미에서 이것은 이미지 분류기의 오른쪽 역원 또는 적어도 오른쪽 역원에 대한 근사치로 간주될 수 있다.
발명자들은 역방향 모델을 사용하여 레이블링된 것뿐만 아니라 레이블링되지 않은 훈련 이미지들에 대한 로그 우도들을 결정하는 특히 매력적인 방법을 발견했다. 즉, 발명자들은 결정론적, 비단사적 변환
Figure pat00032
의 변환 출력들
Figure pat00033
및 변환 입력들
Figure pat00034
의 로그 한계 밀도(log marginal density)들의 차이는 변환 출력들
Figure pat00035
가 주어지면 확률적 역변환에 의해 변환 입력들
Figure pat00036
의 확률
Figure pat00037
가 생성된다는 것에 기초하는 우도 기여분(likelihood contribution)에 의해 근사화될 수 있다는 것을 깨달았다. 다음으로 로그 한계 밀도들 간의 이러한 차이는 레이블링된 훈련 이미지들에 대한 결합 로그 우도
Figure pat00038
및 레이블링되지 않은 훈련 이미지들에 대한 로그 우도
Figure pat00039
둘 모두를 계산하는데 사용될 수 있다.
따라서, 특정 훈련 이미지가 주어지면, 그 이미지에 대한 로그 우도는 분류기를 적용하여 변환
Figure pat00040
의 입력들 및 출력들을 획득하고; 입력들 및 출력들을 사용하여 우도 기여분을 계산하고; 우도 기여분을 사용하여 (연관된 레이블이 있는 또는 없는) 훈련 이미지에 대한 로그 우도를 계산함으로써 몬테카를로(Monte Carlo) 방식으로 평가될 수 있다. 레이블링된 및/또는 레이블링되지 않은 학습 예들에 대한 로그 우도들을 최대화하기 위해 이미지 분류기의 파라미터들을 최적화함으로써, 이미지 분류기는 임의의 이용 가능한 레이블들뿐만 아니라 훈련 입력 이미지들의 분포를 학습하도록 훈련될 수 있다. 따라서 제공된 기술들을 사용하여 비감독, 준감독 또는 완전 감독 훈련의 임의의 조합이 수행될 수 있다.
실제로, 발명자들은 우도 기여분 항이 결정론적, 비단사적 변환들뿐만 아니라 다른 유형들의 변환들에 대해서도 정의될 수 있음을 깨달았다.
발명자들은 이미지 분류기에서 유익하게 사용될 수 있는 네 가지 유형의 변환들을 식별했다: 1) 변환과 그 역원은 둘 다 결정론적이다(본 명세서에서는 "전단사적 변환(bijective transformation)"이라고 함); 2) 변환과 그 역원은 모두 확률적이다(본 명세서에서는 "확률적 변환(stochastic transformation)"이라고 함); 3) 변환은 결정론적이고 그 역원은 확률적이다(본 명세서에서는 "추론 전사적 변환(inference surjective transformation)" 또는 "추론 전사(inference surjection)"라고 함); 또는 4) 변환은 확률적이고 그 역원은 결정론적이다(본 명세서에서는 "생성적 전사적 변환(generative surjective transformation)" 또는 "생성적 전사(generative surjection)"라고 함). 위에서 논의한 바와 같이, 결정론적, 비단사적 변환은 결정론적 역원을 갖지 않고 그래서 제2 유형이다. "전사적"이라는 용어는 본 명세서에서 전단사들과 대조적으로, 비전단사이라는 것을 의미하는데 사용된다. 단일 추론/생성적 전사는 "계층"으로 지칭될 수 있다. 하나 이상의 전단사적, 전사적 및/또는 확률적 변환들의 구성은 "흐름(flow)"이라 지칭될 수 있다.
발명자들은 이러한 네 가지 유형들의 변환 각각에 대해, 변환 입력들 및 출력들의 로그 한계 확률들 간의 차이가 우도 기여분 항과 경계 느슨(bound looseness) 항의 합으로 근사화될 수 있다는 것을 깨달았다. 추론 전사들 및 전단사들의 경우, 경계 느슨 항은 0일 수 있다. 확률적 변환들 및 생성적 전사들의 경우, 증거 하한 경계의 갭(gap in evidence lower bound)을 나타내는 0이 아닌 경계 느슨 항이 정의될 수 있다. 따라서, 훈련 이미지들에 대한 로그 우도들은 변환 세트의 각자의 변환들에 대한 우도 기여분들을 결합함으로써, 예를 들어, 로그 차이들로서 표현된 우도 기여분을 합산함으로써 (또는 로그를 사용하지 않는 우도 기여분들을 곱함으로써) 결정될 수 있다. 결과는 훈련 동안 전형적으로 평가되지 않는 경계 느슨 항들에 의해 주어진 근사적인 근사치일 수 있다. 따라서 다양한 유형들의 변환들은 임의로 결합될 수 있으면서 훈련 이미지들에 대한 로그 우도들을 여전히 효율적으로 계산될 수 있게 할 수 있다.
차원수를 감소시키는 비단사적 변환들을 다룰 수 있는 것과 별개로, 다양한 비전단사적 변환들을 사용하는 것은 분리된 구조 또는 연결되지 않은 컴포넌트들, 예를 들어, 연결되지 않은 컴포넌트들을 포함하는 이미지들 내의 구조들을 가진 이산 데이터 및 분포들의 개선된 모델링을 또한 가능하게 할 수 있다. 예들이 본 명세서에 제공된다.
논의된 바와 같이, 이미지 분류기는 전형적으로 적어도 하나의 추론 전사를 포함한다. 예를 들어, 적어도 하나의 추론 전사는 이미지 분류기의 내부 계층에 있을 수 있다, 예를 들어, 이것에는 하나 이상의 다른 변환들이 선행 및 후행될 수 있다. 이미지 분류기의 다수의 계층들에서 추론 전사들이 있을 수 있다. 예를 들어, 추론 전사의 입력은 다수의 다른 추론 전사들 및/또는 다른 변환들을 연속적으로 적용함으로써 결정될 수 있다. 예를 들어, 추론 전사 출력은 다수의 다른 추론 전사들 및/또는 다른 변환들을 연속적으로 적용하는데 사용될 수 있다. 적어도 하나의 전단사적 변환에는 추론 전사가 선행 및/또는 후행될 수 있다.
실시예에서, 이미지 분류기는 임의로 확률적 출력 계층을 사용하는 것과 별개로, 단지 전단사적 및 추론 전사적 변환들로 구성될 수 있다. 이것은 결과적으로 (출력 계층과는 별도로) 정방향에서 결정론적인 이미지 분류기를 생성할 수 있다. 이것은 효율적인 분류가 가능하다는 장점이 있다; 많은 전통적인 이미지 분류기 모델들은 이런 종류의 것이다.
그러나 생성적 전사적 및/또는 확률적 변환들을 사용하는 것 또한 가능하다; 예들이 본 명세서에 제공된다. 예를 들어, 이미지들 등에서의 대칭들 및 연결되지 않은 컴포넌트들을 모델링하는데 특히 적합한 다양한 변환들이 본 명세서에 설명된다.
일반적으로, 변환 및/또는 그 역원은 이미지 분류기를 훈련할 때 학습된 파라미터들에 의해 파라미터화될 수 있다. 이것은 추론 전사적 변환에 적용되지만 생성적 전사적, 전단사적 및 확률적 변환들에도 적용된다. (그러나 파라미터들이 없는 변환들 또한 가능하다.) 변환 및 그 역원의 파라미터들은 많은 경우에 부분적으로 겹치거나 심지어 일치하기도 한다. 변환의 파라미터들의 세트가 그 역원의 파라미터 세트의 서브세트가 되는 것이 또한 가능하고, 또는 역원이 파라미터들을 갖지만 변환 자체가 없는 것 등도 가능하다. 이러한 후자의 경우들은 변환 자체가, 예를 들어, 결정론적 함수를 계산하고 변환 출력들이 주어진다면 역원이 파라미터들을 사용하여 변환 입력들을 효과적으로 추측하는 추론 전사적 변환들에 특히 적용 가능하다. 추론 전사적 변환에 대한 우도 기여분은 분류기를 적용할 때 역원의 파라미터들이 사용되지 않더라도 전형적으로 파라미터들을 사용한다는 것(따라서 이러한 파라미터들이 훈련된다는 것)이 유의된다.
이미지 분류 자체에서 알려진 다양한 빌딩 블록들은 결정론적 단사적 변환들을 사용하여 구현될 수 있다. 특정 애플리케이션에 대한 필요에 따라 임의로 결합될 수 있는 몇 가지 예들이 아래에 설명된다. 이미지 분류에서 흔히 볼 수 있듯이, 다양한 변환들에 대해 입력들 및/또는 출력은 하나 이상의 채널들을 포함하는 3차원 볼륨들로 표현될 수 있다. 각 채널에서, 입력 이미지는 2차원 방식으로 표현되어, 표현과 입력 이미지 사이의 공간적 대응성의 정도를 전형적으로 유지할 수 있다.
임의로, 이미지 분류기는 선형 전단사적 변환 및 슬라이싱 변환(slicing transformation)을 사용하여 구현된 차원수 감소 조밀 연결 컴포넌트를 포함할 수 있다. 선형 전단사적 변환은 차원수 보존 선형 변환(dimensionality-preserving linear transformation)을 적용할 수 있다. 그 다음에 슬라이싱 변환은 선형 전단사적 변환의 출력들의 서브세트를 선택할 수 있다. 흥미롭게도, 임의의 차원수 감소 선형 변환은 이러한 방식으로 표현될 수 있다. 슬라이싱을 적용한 후에(또는 대안적으로, 그 전에), 활성화 함수, 예를 들어, 비선형 전단사적 함수 또는 본 명세서에 설명된 ReLU와 같은 추론 전사들이 적용될 수 있다.
슬라이싱 변환은 이것이 차원수를 감소시키기 때문에 결정론적, 비전단사적 변환이다. 그 역원은 확률적 역변환에 의해 역방향 모델에서 근사화될 수 있다. 역변환은 선택되지 않은 출력들을 그대로 유지하면서, 예를 들어 선형 전단사적 변환의 선택된 출력들이 주어지면 선형 전단사적 변환을 위해 선택되지 않은 출력들을 샘플링할 수 있다. 임의로, 역변환은 파라미터화될 수 있으며, 따라서 선택된 출력들이 주어지면 선택되지 않은 출력들을 귀속시키도록 효과적으로 학습할 수 있다.
임의로, 이미지 분류기는 컨볼루션 커플링 변환(convolutional coupling transformation)을 포함할 수 있다. 이것은 적용되는 함수들이 컨볼루션들인 그 자체로 알려진 커플링 계층이다. 커플링 계층에서, 제1 변환 입력을 제2 변환 입력의 제1 함수, 예를 들면,
Figure pat00041
와 결합하여 제1 변환 출력을 얻고, 제2 변환 입력을 제1 변환 출력의 제2 함수, 예를 들어,
Figure pat00042
와 결합하여 제2 변환 출력을 얻음으로써 제1 및 제2 변환 입력들
Figure pat00043
이 주어지면 제1 및 제2 변환 출력들
Figure pat00044
이 결정될 수 있다.
전형적으로, 제1 및 제2 변환 입력들은 입력 활성화 볼륨의 채널들의 서브세트들이고, 유사하게, 제1 및 제2 변환 출력들은 각각 출력 활성화 볼륨의 하나 이상의 채널들을 제공한다. 변환들은 역원성을 제공하기 위해 전형적으로 스트라이드 1로 하여, 그의 입력들에 컨볼루션 방식으로 적용된다.
컨볼루션들은 이미지 분류에 유용한 것으로 잘 알려져 있다; 결합 계층들의 사용은 이들 계층이 이러한 변환에 대한 확률적 역원을 필요로 하지 않고 효율적으로 역으로 되기 때문에 현재 설정에서 특히 유익하다. 컨볼루션 결합 변환에는 임의로 슬라이싱 변환이 뒤이어져서 출력의 채널들의 서브세트를 선택할 수 있다.
임의로, 이미지 분류기는 최대 값 변환(maximum value transformation)을 포함할 수 있다. 최대 값 변환은 변환 출력을 다수의 변환 입력들의 최대치로서 계산할 수 있다. 이것은 이미지 분류에 자주 사용되는 변환의 또 다른 유형이다. 예를 들어, 최대 풀링 계층은 입력 볼륨에 걸쳐 최대 값 변환을 컨볼루션 방식으로 적용함으로써 구현될 수 있다. 최대 값 변환은 결정론적, 비단사적 변환이다. 역방향 모델에서, 변환 출력이 주어지면 최대 변환 입력의 인덱스를 샘플링하고, 변환 출력과 최대 변환 입력의 인덱스가 주어진 최대가 아닌 변환 입력들의 값들을 샘플링함으로써 그 역원이 근사화될 수 있다. 되풀이 하면, 역방향 모델은 변환 입력에 대해 최적의 추측을 하는 것을 학습하기 위해 파라미터화될 수 있지만, 이것은 필요하지 않다.
임의로, 이미지 분류기는 주어진 간격으로부터의 변환 입력을 주어진 상수에 매핑함으로써 변환 출력을 계산하는 ReLU 변환(ReLU transformation)을 포함할 수 있다, 예를 들어,
Figure pat00045
는 간격 [-∞, 0]의 입력을 0에 매핑하는 것이다. 또한 이러한 변환은 결정론적이고 비단사적이다. 그 역원은 변환 출력이 주어진 상수와 같으면, 주어진 간격으로부터 변환 입력을 샘플링하는 역변환에 의해 역방향 모델에서 근사화될 수 있다.
임의로, 이미지 분류기는 클래스 확률들의 각자의 클래스들에 대한 벡터를 결정하고, 출력 계층에서, 그로부터 클래스를 결정함으로써 입력 이미지를 클래스로 분류하도록 구성될 수 있다. 이렇게 결정하는 것은 결정론적일 수 있는데, 예를 들어, 확률에 따라 샘플링함으로써 가장 가능성이 높은 클래스를 선택하는 것 또는 확률적으로 선택하는 것일 수 있다. 역방향 모델에서, 출력 계층의 역원은 일반적으로 훈련 가능한 파라미터들을 이용하여, 결정된 클래스가 주어지면 클래스 확률들의 벡터에 대한 조건부 확률 분포에 기초하여 근사화될 수 있다. 이러한 조건부 확률 분포는, 예를 들어, 베이즈의 규칙(Bayes' rule)에 따라, 클래스 확률들에 기초하여 클래스를 결정하는 데에도 또한 사용될 수 있다. 이것은 상대적으로 적은 수의 파라미터들로 출력 및 그 역원을 정의하는 방법을 원칙적인 방식으로 제공한다.
임의로, 이미지 분류기는 결정론적 역변환, 다시 말해서, 생성적 전사적 변환을 갖는 확률적 변환(stochastic transformation)을 포함할 수 있다. 이 경우, 또한 우도 기여분이 계산될 수 있지만, 이제 이것은 반대로 하지 않고, 다른 변환 입력들이 주어지면 변환의 변환 출력들이 생성되는 확률에 기초할 수 있다. 생성적 전사적 변환들은 다양한 종류들의 이미지 데이터를 보다 정확하게 모델링하는데 사용될 수 있다. 예를 들어, 본 명세서에서 논의되는 생성적 반올림 전사(generative rounding surjection)는 이산 이미지 데이터를 연속 값들로 효과적으로 역양자화하는 초기 계층으로서 사용될 수 있다.
흥미롭게도, 본 명세서에 제시된 기술들에 따라 훈련된 이미지 분류기들은 이미지들을 분류하는데 사용될 수 있을 뿐만 아니라, 역방향 모델을 사용함으로써 추가 이미지들을 생성하는 데에도 사용될 수 있다. 위에서 언급한 바와 같이, 이미지 분류기를 구성하는 변환들 및 그 역원들의 파라미터들은 반드시 동일하진 않을 수 있다. 따라서 분류기를 이미지들을 분류하기 위해서만 또는 이미지들을 생성하기 위해서만 사용할 때, 훈련된 분류기의 파라미터들의 각자의 서브세트만 액세스되어야 할 수 있다.
구체적으로, 역방향 모델은 타겟 클래스를 획득하고, 역방향 모델을 적용하여 타겟 클래스를 나타내는 이미지를 생성함으로써 클래스 조건부 생성적 모델로서 사용될 수 있다. 예를 들어, 타겟 클래스에 기초하여, 클래스 확률들의 벡터는 다른 곳에서도 논의된 바와 같이, 출력 계층의 역원에 따라 결정될 수 있다. 클래스 확률들의 벡터는 다수의 클래스들과의 명시된 대응성을 갖는 이미지들을 생성하기 위해 임의로 설정될 수도 있다. 먼저 타겟 클래스를 샘플링한 다음 그 클래스로부터 이미지를 샘플링하여 전체 훈련 데이터세트를 나타내는 이미지를 획득하는 것이 또한 가능하다. 역방향 모델을 적용함으로서 생성된 이미지들은, 예를 들어, 추가의 머신 학습 모델을 훈련시키는 훈련 및/또는 테스트 데이터로서 사용될 수 있다.
임의로, 이미지 분류기는 결정된 분류의 신뢰도 점수를 결정하도록 구성될 수 있다. 로그 우도들에 기초한 훈련 때문에, 신뢰도 점수는 입력 이미지가 결정된 클래스에 실제로 속하는 확률을 정확하게 나타낼 수 있다.
관련 기술분야의 통상의 기술자라면, 본 발명의 위에서 설명한 실시예들, 구현들, 및/또는 임의적인 양태들 중 둘 이상은 유용하다고 간주되는 임의의 방식으로 조합될 수 있다는 것이 이해될 것이다.
대응하는 컴퓨터에 의해 구현되는 방법의 설명된 수정들 및 변경들에 대응하는 임의의 시스템 및/또는 임의의 컴퓨터 판독 가능 매체의 수정들 및 변경들은 본 설명에 기초하여 관련 기술분야의 통상의 기술자에 의해 수행될 수 있다.
본 발명의 이러한 양태 및 다른 양태는 다음의 설명에서 예로서 설명된 실시예들을 참조하고 첨부 도면들을 참조하여 명백해지고 더 자세히 설명될 것이다.
도 1은 모델을 훈련하기 위한 시스템을 도시한다.
도 2는 훈련된 모델을 사용하기 위한 시스템을 도시한다.
도 3은 이미지 분류기를 사용하는 (반)자율 차량을 도시한다.
도 4a 내지 도 4d는 변환들의 상세한 예들을 도시한다.
도 4e는 훈련된 모델의 상세한 예를 도시한다.
도 5a는 출력 계층의 상세한 예를 도시한다.
도 5b는 슬라이싱 변환의 상세한 예를 도시한다.
도 5c는 최대 값 변환의 상세한 예를 도시한다.
도 5d는 이미지 분류기의 상세한 예를 도시한다.
도 6은 모델을 훈련하는 컴퓨터에 의해 구현된 방법을 도시한다.
도 7은 훈련된 모델을 사용하는 컴퓨터에 의해 구현된 방법을 도시한다.
도 8은 데이터를 포함하는 컴퓨터 판독 가능 매체를 도시한다.
도면들은 순전히 도식적이며 축척에 따라 그려지지 않았다는 것을 유의해야 한다. 도면들에서, 이미 설명된 요소들에 대응하는 요소들은 동일한 참조 번호들을 가질 수 있다.
도 1은 모델을 훈련하기 위한 시스템(100)을 도시한다. 모델은 입력 인스턴스가 주어지면 모델 출력을 결정하도록 구성될 수 있다. 실시예에서, 입력 인스턴스는 이미지일 수 있다. 실시예에서, 모델은 입력 인스턴스를 클래스들의 세트의 클래스로 분류하도록 구성된 분류 모델일 수 있다.
시스템(100)은 훈련 데이터세트(030)에 액세스하기 위한 데이터 인터페이스(120)를 포함할 수 있다. 훈련 데이터세트(030)는 훈련 모델 출력들(예를 들어, 클래스 세트의 클래스)로 레이블링되는 적어도 하나의 레이블링된 훈련 인스턴스(예를 들어, 이미지)를 포함할 수 있다. 그 대신에 또는 추가로, 훈련 데이터세트(030)는 적어도 하나의 레이블링되지 않은 훈련 인스턴스(예를 들어, 이미지)를 포함할 수 있다. 예를 들어, 훈련 데이터세트는 적어도 1000 개, 적어도 100000 개, 또는 적어도 10000000개의 훈련 인스턴스들을 포함할 수 있다. 훈련 인스턴스들로부터, 예를 들어, 최대한 또는 적어도 1 %, 최대한 또는 적어도 5 %, 또는 최대한 또는 적어도 10 %가 레이블링될 수 있다.
도면에 예시된 바와 같이, 데이터 인터페이스(120)는 또한 훈련되는 모델을 나타내는 모델 데이터(040)에 액세스하기 위한 것일 수 있다. 특히, 모델 데이터는 훈련 받고 있는 모델의 파라미터들의 세트를 포함할 수 있다. 예를 들어, 모델은 적어도 1000 개, 적어도 10000 개 또는 적어도 100000개의 훈련 가능한 파라미터들을 포함할 수 있다. 모델 데이터는 입력 인스턴스가 주어지면 모델 출력들을 결정하기 위한 정방향 모델 및 모델 출력들로부터 입력 인스턴스들을 결정하기 위한 역방향 모델을 정의할 수 있다. 정방향 및 역방향 모델들의 파라미터 세트들은 전형적으로 겹친다; 이러한 세트들은 일치할 수 있지만 반드시 그런 것은 아니고, 예를 들어, 역방향 모델은 추가 파라미터들을 포함할 수 있다. 훈련된 모델은 모델을 본 명세서에서 설명된 방법에 따라, 예를 들어, 도 2의 시스템(200)에 의해 적용하고/하거나 입력 인스턴스들을 생성하는데 사용될 수 있다. 시스템들(100 및 200)은 또한 단일 시스템으로 결합될 수 있다.
예를 들어, 도 1에서 또한 예시된 바와 같이, 데이터 인터페이스(120)는 데이터 저장소(021)로부터의 데이터(030, 040)에 액세스할 수 있는 데이터 저장소 인터페이스(120)로 구성될 수 있다. 예를 들어, 데이터 저장소 인터페이스(120)는 메모리 인터페이스 또는 영구 저장소 인터페이스, 예를 들어, 하드 디스크 또는 SSD 인터페이스일수 있을뿐만 아니라, 불루투스(Bluetooth), 지그비(Zigbee) 또는 Wi-Fi 인터페이스와 같은 개인, 근거리 또는 광역 네트워크 인터페이스 또는 이더넷 또는 광섬유 인터페이스일 수 있다. 데이터 저장소(021)는 하드 드라이브 또는 SSD와 같은 시스템(100)의 내부 데이터 저장소일 수 있을뿐만 아니라, 외부 데이터 저장소, 예를 들어, 네트워크 액세스 가능한 데이터 저장소일 수 있다. 일부 실시예들에서, 데이터(030, 040)는 각각 상이한 데이터 저장소로부터, 예를 들어, 데이터 저장소 인터페이스(120)의 상이한 서브시스템을 통해 액세스될 수 있다. 각각의 서브시스템은 데이터 저장소 인터페이스(120)에 대해 위에서 설명된 바와 같은 유형의 것일 수 있다.
시스템(100)은 시스템(100)의 동작 동안, 모델에 대한 역방향 모델을 정의하도록 구성될 수 있는 프로세서 서브시스템(140)을 더 포함할 수 있으며, 여기서 모델은 변환들의 세트를 포함한다. 변환 세트는 적어도 하나의 결정론적, 비단사적 변환을 포함할 수 있으며, 그 역원은 확률적 역변환에 의해 역방향 모델에서 근사될 수 있다. 대신에 또는 추가로, 변환 세트는 결정론적 역변환을 갖는 적어도 하나의 확률적 변환을 포함할 수 있다.
프로세서 서브시스템(140)은 시스템(100)의 동작 동안, 로그 우도 최적화를 사용하여 모델을 훈련시키도록 추가로 구성될 수 있다. 최적화 동안, 훈련 데이터세트(030)로부터 훈련 인스턴스가 선택될 수 있다. 모델(040)은 훈련 인스턴스에 적용될 수 있다. 이것은 훈련 이미지에 기초하여 각자의 변환들에 대한 변환 입력들을 결정하는 것 및 변환들을 적용하여 각자의 변환 출력들을 획득하는 것을 포함할 수 있다.
결정론적, 비단사적 변환의 경우, 프로세서 서브시스템(140)은 변환의 변환 출력들이 주어지면 확률적 역변환에 의해 변환의 변환 입력들이 생성되는 확률에 기초하여 우도 기여분을 결정하도록 구성될 수 있다. 결정론적 역원을 갖는 확률적 변환의 경우, 프로세서 서브시스템(140)은 확률적 변환의 변환 입력들이 주어지면 변환에 의해 확률적 변환의 변환 출력들이 생성되는 확률에 기초하여 우도 기여분을 결정하도록 구성될 수 있다.
시스템(100)은 레이블링된 훈련 인스턴스들을 사용하도록 구성될 수 있으며, 이 경우 프로세서 서브시스템(140)은, 선택된 훈련 인스턴스가 레이블링되면, 결정된 우도 기여분을 사용하여, 모델에 의해 결정된 입력 인스턴스들 및 출력들의 결합 확률 분포에 따라 레이블링된 훈련 인스턴스 및 그 레이블에 대한 로그 우도를 결정하도록 구성될 수 있다.
시스템(100)은 대신에 또는 추가로, 레이블링되지 않은 훈련 인스턴스들을 사용하도록 구성될 수 있으며, 이 경우 프로세서 서브시스템(140)은, 선택된 훈련 인스턴스가 레이블링되어 있지 않으면, 결정된 우도 기여분을 사용하여 역방향 모델에 의해 입력 인스턴스들이 생성되는 확률 분포에 따라 레이블링되지 않은 훈련 인스턴스에 대한 로그 우도를 결정하도록 구성될 수 있다.
시스템(100)은 학습된(또는 '훈련된') 모델을 나타내는 모델 데이터(040)를 출력하기 위한 출력 인터페이스를 더 포함할 수 있다. 예를 들어, 도 1에서 또한 예시된 바와 같이, 출력 인터페이스는 데이터 인터페이스(120)에 의해 구성될 수 있으며, 여기서 상기 인터페이스는 이러한 실시예들에서 입력/출력(input/output)('IO') 인터페이스이고, 이를 통해 훈련된 모델 데이터(040)는 데이터 저장소(021)에 저장될 수 있다. 예를 들어, '훈련되지 않은' 모델을 정의하는 모델 데이터는, 가중치들 및 신경망들의 다른 유형들의 파라미터들과 같은 모델의 파라미터들이 훈련 데이터(030)에 대해 받은 훈련을 반영하도록 적응될 수 있다는 점에서, 훈련 동안 또는 그 후에 훈련된 모델의 모델 데이터(040)로 적어도 부분적으로 대체될 수 있다. 이것은 또한 도 1의 모델 데이터(040)에 의해 예시된다. 다른 실시예들에서, 훈련된 모델 데이터(040)는 '훈련되지 않은' 모델을 정의하는 모델 데이터와는 별도로 저장될 수 있다. 일부 실시예들에서, 출력 인터페이스는 데이터 저장소 인터페이스(120)와 별개일 수 있지만, 일반적으로 데이터 저장 인터페이스(120)에 대해 위에서 설명한 바와 같은 유형의 것일 수 있다.
도 2는 훈련된 모델을 사용하기 위한 시스템(200)을 도시한다. 모델은 입력 인스턴스가 주어지면 모델 출력을 결정하도록 구성될 수 있다. 실시예에서, 입력 인스턴스는 이미지일 수 있다. 실시예에서, 모델은 입력 인스턴스를 클래스들의 세트의 클래스로 분류하도록 구성된 분류 모델일 수 있다.
시스템(200)은 도 1의 시스템(100)에 의해 결정될 수 있는 또는 다른 곳에서 설명된 바와 같은 훈련된 모델을 나타내는 모델 데이터(040)에 액세스하기 위한 데이터 인터페이스(220)를 포함할 수 있다. 도 1과 관련하여서도 논의된 바와 같이, 모델 데이터는 입력 인스턴스들로부터 모델 출력들을 결정하기 위한 정변환들의 파라미터들 및/또는 모델 출력들로부터 입력 인스턴스들을 결정하기 위한 역변환들의 파라미터들을 포함할 수 있다; 이러한 파라미터들은 부분적으로 겹칠 수 있다. 시스템(200)은 훈련된 모델을 사용하여 모델 출력을 결정하도록 구성될 수 있으며, 이 경우 모델 데이터(040)는 적어도 정변환들의 파라미터들을 포함할 수 있지만, 반드시 역변환들의 파라미터들을 포함해야 할 필요는 없다. 대신에 또는 추가로, 시스템(200)은 훈련된 모델을 사용하여 입력 인스턴스를 결정하도록 구성될 수 있으며, 이 경우 모델 데이터(040)는 적어도 역변환들의 파라미터들을 포함할 수 있다.
예를 들어, 도 2에서 또한 도시된 바와 같이, 데이터 인터페이스는 데이터 저장소(022)로부터의 데이터(040)에 액세스할 수 있는 데이터 저장소 인터페이스(220)로 구성될 수 있다. 일반적으로, 데이터 인터페이스(220) 및 데이터 저장소(022)는 데이터 인터페이스(120) 및 데이터 저장소(021)에 대해 도 1을 참조하여 설명된 것과 동일한 유형의 것일 수 있다. 데이터 저장소는 또한, 예를 들어, 모델에 적용될, 센서 데이터를 포함하는 입력 인스턴스를 선택적으로 포함할 수 있다. 입력 인스턴스는 또한 데이터 저장소 인터페이스(220)를 통해 데이터 저장소(022)로부터 액세스되는 대신에 다른 유형의 인터페이스인 센서 인터페이스(260)를 통해 센서(072)로부터 직접 수신될 수 있다.
시스템(200)은 시스템(200)의 동작 동안 훈련된 모델을 사용하도록 구성될 수 있는 프로세서 서브시스템(240)을 더 포함할 수 있다. 이렇게 사용하는 것은 입력 인스턴스를 획득하는 것 및 모델 입력을 결정하도록, 예를 들어, 입력 이미지를 클래스 세트의 클래스로 분류하도록 모델을 적용하는 것을 포함할 수 있다. 대신에 또는 추가로, 모델을 사용하는 것은 합성 인스턴스를 생성하도록 역방향 모델을 적용하는 것을 포함할 수 있다. 이것은, 예를 들어, 확률적 역변환에 따른 상기 변환의 변환 출력들에 기초한 결정론적 및 비단사적 변환의 샘플링 변환 입력들을 포함할 수 있다. 결정된 모델 출력 또는 인스턴스는 다른 곳에서 설명된 바와 같은 데이터/출력 인터페이스를 사용하여 출력될 수 있다.
도 1의 프로세서 서브시스템(140)에 대한 것과 동일한 고려 사항들 및 구현 옵션들이 프로세서 서브시스템(240)에 적용된다는 것이 인식될 것이다. 달리 언급되지 않는 한, 도 1의 시스템(100)에 대한 것과 동일한 고려 사항들 및 구현 옵션들이 일반적으로 시스템(200)에 적용될 수 있다는 것이 또한 인식될 것이다.
도 2는 또한 시스템(200)의 다양한 임의적 컴포넌트들을 도시한다. 예를 들어, 일부 실시예들에서, 시스템(200)은 환경(082)에서 센서(072)에 의해 획득된 센서 데이터(224)에 직접 액세스하기 위한 센서 인터페이스(260)를 포함할 수 있다. 모델이 적용되는 입력 인스턴스는 센서 데이터(224)에 기초할 수 있거나 또는 이를 포함할 수 있다. 센서는 환경(082)에 배열될 수 있지만, 예를 들어, 수량(들)이 원격으로 측정될 수 있다면, 환경(082)으로부터 원격으로 배열될 수도 있다. 센서(072)는 시스템(200)의 일부일 수 있지만 그 일부일 필요는 없다.
센서(072)는 이미지 센서, 라이더 센서, 레이더 센서, 압력 센서, 컨테인 온도 센서(contain temperature sensor) 등과 같은 임의의 적합한 형태를 가질 수 있다. 이 도면에서, 이미지 데이터를 제공하기 위한 센서, 예를 들어, 비디오 센서, 레이더 센서, LiDAR 센서, 초음파 센서, 모션 센서 또는 열 이미지 센서가 도시된다.
일부 실시예들에서, 센서 데이터(072)는 상이한 물리량들을 감지하는 2개 이상의 상이한 센서들로부터 획득될 수 있다는 점에서 상이한 물리량들의 측정치들일 수 있다. 센서 데이터 인터페이스(260)는, 예를 들어, 이것으로 제한되는 것은 아니지만 I2C 또는 SPI 데이터 통신에 기초한 저수준 통신 인터페이스 또는 데이터 인터페이스(220)에 대해 위에서 설명된 바와 같은 유형의 데이터 저장소 인터페이스를 비롯한, 센서 유형에 대응하는 임의의 적합한 형태를 가질 수 있다.
일부 실시예들에서, 시스템(200)은 제어 데이터(226)를 환경(082)의 액추에이터(도시되지 않음)에 제공하기 위한 액추에이터 인터페이스(280)를 포함할 수 있다. 이러한 제어 데이터(226)는 프로세서 서브시스템(240)에 의해 생성되어 모델에 적용하는 출력에 기초하여 및/또는 생성된 입력 인스턴스에 기초하여 액추에이터를 제어할 수 있다. 액추에이터는 시스템(200)의 일부일 수 있다. 예를 들어, 액추에이터는 전기, 유압, 공압, 열, 자기 및/또는 기계 액추에이터일 수 있다. 구체적이지만 비제한적인 예는 전기 모터들, 전기 활성 폴리머들, 유압 실린더들, 압전 액추에이터들, 공압 액추에이터들, 서보메커니즘들, 솔레노이드들, 스텝퍼 모터들 등을 포함한다. 이러한 유형의 제어는 (반)자율 차량에 대해 도 3을 참조하여 설명된다.
다른 실시예들(도 2에 도시되지 않음)에서, 시스템(200)은 결정된 모델 출력 또는 생성된 입력 인스턴스에 기초하여 생성될 수 있는 감각 지각 가능한 출력 신호를 생성하는데 사용될 수 있는 디스플레이, 광원, 라우드스피커, 진동 모터 등과 같은 렌더링 디바이스와의 출력 인터페이스를 포함할 수 있다. 예를 들어, 신호는, 예를 들어, 컴퓨터 제어 시스템의 안내, 내비게이션 또는 다른 유형의 제어에 사용하기 위한 것일 수 있다.
또 다른 실시예들(도 2에 도시되지 않음)에서, 시스템(200)은, 예를 들어, 도 1과 관련하여 논의된 바와 같이, 추가의 머신 학습 모델을 훈련시키는 훈련 및/또는 테스트 데이터로서 사용하기 위한 역방향 모델을 적용함으로써 생성된 다수의 입력 인스턴스들을 출력하기 위한 출력 인터페이스를 포함할 수 있다. 예를 들어, 입력 인스턴스들은 레이블링된 데이터로서 사용될 수 있거나, 또는 (예를 들어, 수동으로) 임의로 레이블링되어 레이블링된 데이터로서 사용될 수 있다. 입력 인스턴스들은 또한 모델(040)을 개선하는데 사용될 수 있으며, 예를 들어, 시스템(200)은 모델(040)을 개선하기 위해 생성된 인스턴스들(및 임의로는 이들의 레이블들)을 시스템(100)에 제공할 수 있다.
일반적으로, 이것으로 제한되는 것은 아니지만 도 1의 시스템(100) 및 도 2의 시스템(200)을 포함하는 본 명세서에 설명된 각각의 시스템은 워크스테이션 또는 서버와 같은 단일 디바이스 또는 장치로서 또는 그 안에서 구현될 수 있다. 디바이스는 임베디드 디바이스일 수 있다. 디바이스 또는 장치는 적절한 소프트웨어를 실행하는 하나 이상의 마이크로프로세서들을 포함할 수 있다. 예를 들어, 각자의 시스템의 프로세서 서브시스템은 단일 중앙 처리 유닛(Central Processing Unit)(CPU)에 의해 구현될 수 있을뿐만 아니라, 이러한 CPU 및/또는 다른 유형의 처리 유닛들의 조합 또는 시스템에 의해 구현될 수도 있다. 소프트웨어는 다운로드되고/다운로드되거나 대응하는 메모리, 예를 들어, RAM과 같은 휘발성 메모리 또는 플래시와 같은 비휘발성 메모리에 저장되어 있을 수 있다. 대안적으로, 각자의 시스템의 프로세서 서브시스템은, 예를 들어, 필드 프로그램 가능 게이트 어레이(Field-Programmable Gate Array)(FPGA)와 같은 프로그램 가능한 로직의 형태로 디바이스 또는 장치에서 구현될 수 있다. 일반적으로, 각자의 시스템의 각각의 기능 유닛은 회로의 형태로 구현될 수 있다. 각자의 시스템은 또한, 예를 들어, 분산된 로컬 또는 클라우드 기반 서버들과 같은 상이한 디바이스 또는 장치를 수반하는 분산 방식으로 구현될 수 있다. 일부 실시예들에서, 시스템(200)은 차량, 로봇 또는 유사한 물리적 엔티티의 일부일 수 있고/있거나, 물리적 엔티티를 제어하도록 구성된 제어 시스템을 나타낼 수 있다.
시스템(200)에 대한 다양한 구체적인 애플리케이션들이 예상된다. 실시예에서, 시스템(200)은 (예를 들어, 인간) 눈들의 이미지들에서 녹내장 검출을 위해 사용될 수 있다. 실시예에서, 시스템(200)은 제조된 제품들의 이미지들에 기초하여 제조 프로세스에서 결함 검출을 위해 사용될 수 있다. 실시예에서, 시스템(200)은 비료 및 살충제 수요들을 결정하기 위해 식물들 또는 잡초들을 분류하는데 사용될 수 있다.
도 3은 시스템(200)이 환경(50)에서 동작하는 (반)자율 차량(62)의 제어 시스템인 것으로 도시된 위의 예를 도시한다. 자율 차량(62)은 자율 주행 시스템 또는 운전 보조 시스템 - 후자는 반자율 시스템이라고도 함 - 을 포함할 수 있다는 점에서 자율적일 수 있다. 훈련된 모델은 이 경우 차량(62)에 통합된 비디오 카메라(22)로부터 획득된 이미지 데이터에 적용되는 이미지 분류기일 수 있다.
자율 차량(62)은 예를 들어 이미지 데이터에 기초하여 자율 차량의 스티어링 및/또는 제동을 제어하기 위해 시스템(200)을 통합할 수 있다. 예를 들어, 시스템(200)은 자율 차량(62)이 위험한 교통 상황에 처해 있는 경우, 예를 들어, 교통 참가자와 충돌할 것으로 예상되는 경우에 전기 모터(42)를 제어하여 (회생) 제동을 수행할 수 있다. 시스템(200)은, 예를 들어, 교통 참가자와의 충돌을 피하기 위해 스티어링 및/또는 제동을 제어할 수 있다. 이를 위해, 시스템(200)은 비디오 카메라로부터 획득된 이미지 데이터에 기초하여, 차량(62)의 환경을 나타내는 이미지를 위험 또는 비위험으로 분류할 수 있다.
다른 예로서, 시스템(200)은 근접장 물체 높이 분류를 수행하기 위해, 예를 들어, 차량(62)의 초음파 센서로부터 획득된 입력 이미지를 분류할 수 있다. 시스템(200)은 또한 카메라(22)로부터의 비디오 데이터에서 자유 공간 검출을 수행하는데 사용될 수 있으며, 예를 들어, 훈련된 모델은 이 경우 의미론적 분할 모델일 수 있다. 보다 일반적으로, 차량의 환경에서 다양한 유형들의 물체들, 예를 들어, 교통 표지판들, 도로 표면들, 보행자들 및/또는 다른 차량들의 존재에 대해 이미지 분류기에 의한 검출은, 예를 들어, 운전 지원 시스템에서 (반)자율 차량을 제어 및/또는 모니터링할 때 다양한 업스트림 작업에 사용될 수 있다.
(반)자율 주행에서, 훈련 데이터를 수집하고 레이블링하는 것은 비용이 많이 들고 위험하기 조차할 수 있고, 따라서, 이미지 분류기를 훈련하기 위해 레이블링되지 않은 훈련 데이터를 사용할 수 있는 것 및/또는 추가의 합성 훈련 데이터를 생성할 수 있는 것이 특히 유리하다.
아래에서는 이미지 분류를 주요 애플리케이션으로 사용하는 다양한 기술들이 실증된다. 그러나 관련 기술분야의 통상의 기술자가 이해하는 바와 같이, 제공된 기술들은 또한 다른 유형들의 데이터를 일반화하며, (개선된 반감독 학습, 생성적 모델의 개선된 훈련 및 특정 유형들의 데이터세트, 예를 들어, 이산 또는 대칭 데이터를 모델링하는 개선된 능력을 비롯한) 제공된 장점들 또한 이러한 경우들에 적용된다.
다양한 실시예들은 훈련 가능한 모델들(예를 들어, 이미지 분류기들) 및 그 역원들에 관한 것이다. 이러한 훈련 가능한 모델은 변환 입력들과 변환 출력들 사이에 하나 이상의 각자의 변환들을 구성함으로써 구축될 수 있다.
수학적으로,
Figure pat00046
Figure pat00047
를 두개의 랜덤 변수들로 한다. 각
Figure pat00048
에 대해,
Figure pat00049
가 분포
Figure pat00050
를 갖는 랜덤 변수이면, 변환
Figure pat00051
는 확률적 매핑이라고 할 수 있으며, 즉,
Figure pat00052
이고 여기서
Figure pat00053
이다. 또한
Figure pat00054
이라면
Figure pat00055
는 전단사적이라고 할 수 있고,
Figure pat00056
가 되도록 하는 고유
Figure pat00057
가 존재하며
Figure pat00058
Figure pat00059
이면
Figure pat00060
이다.
생성적 모델링의 맥락에서, 논문(D. Rezende et al.의 "Variational Inference with Normalizing Flows"(본 명세서에 참조로 포함되고 https://arxiv.org/abs/1505.05770에서 입수 가능함))은 정규화 흐름들을 논하고 있다. 이들은 전단사적 변환들
Figure pat00061
을 이용하여 단순 기본 밀도
Figure pat00062
를, 변수 변경 공식
Figure pat00063
을 사용하는 보다 표현적인 밀도
Figure pat00064
로 변환한다.
또한 생성적 모델링의 맥락에서, 논문(D. Kingma et al.의 "Auto-Encoding Variational Bayes"(본 명세서에 참조로 포함되고 https://arxiv.org/abs/1312.6114에서 입수 가능함))은 가변 자동 인코더(variational autoencoder)(VAE)들을 논하고 있다. VAE들은 각각의 관측된 변수
Figure pat00065
가 생성적 프로세스와의 연관된 잠재 변수
Figure pat00066
를 갖는 확률적 그래픽 모델을
Figure pat00067
로서 정의하며, 여기서
Figure pat00068
는 확률적 변환으로 간주될 수 있다. VAE들은 상각된 변동 분포(amortized variational distribution)
Figure pat00069
와의 변동 추론을 사용하여 증거 하한(evidence lower bound)(ELBO), 예를 들어,
Figure pat00070
로서 알려진
Figure pat00071
의 하한의 계산을 용이하게 하는 전형적으로 다루기 힘든 사후 확률(posterior)
Figure pat00072
을 근사화한다.
발명자들은 전단사적 및 확률적 변환들을 둘 모두 포함하는 모델들을 훈련하고 사용하는 것이 바람직하다는 것을 깨달았다. 그러나 본 발명자들은 또한 많은 경우에 있어서, 특히 이미지 분류에 있어서 추가적인 유형들의 변환들을 갖는 것이 바람직하다는 것을 깨달았다. 실제로, 전단사적 변환들은 결정론적이며 정확한 우도 계산을 가능하게 하지만, 차원수를 보존하는 것을 필요로 한다. 반면에, 확률적 변환들은 랜덤 변수들의 차원수를 변경할 수 있지만 우도의 확률적 하한 추정치만 제공한다. 흥미롭게도, 발명자들은 차원들을 바꿀 수 있으면서, 정확한 우도 평가를 또한 가능하게 하는 변환들을 포함하는 모델들을 훈련하고 사용하는 기술들을 고안했다.
상이한 유형들의 변환들의 임의의 조합들을 용이하게 하기 위해, 발명자들은 3개의 컴포넌트들: (i) 연관된 조건부 확률
Figure pat00073
을 갖는 정변환,
Figure pat00074
, (ii) 연관된 분포
Figure pat00075
를 갖는 역변환,
Figure pat00076
및 (iii) 로그 우도 계산들에 사용되는, 변환 입력들 및 출력들의 한계 확률 분포들 간의 차이를 근사화하는 우도 기여분 항의 관점에서 변환들을 나타낼 것으로 예상했다. 구체적으로, 발명자들은 임의의 변환 하에서 다음과 같이 고쳐 언급함으로써 밀도
Figure pat00077
를 나타낼 것으로 예상했다.
Figure pat00078
여기서
Figure pat00079
Figure pat00080
는 각자 우도 기여분 및 경계 느슨 항들이라고 한다. 용어
Figure pat00081
는, 용어
Figure pat00082
자체가 다른 변환(들)의 출력으로서 결정될 수 있기 때문에, 이러한 표현이 그러한 다수의 변환들이 구성되어 있는 모델에서 사용될 수 있다는 것을 보여준다. 용어
Figure pat00083
Figure pat00084
에 의해
Figure pat00085
를 근사화하는 하한을 나타낸다.
도 4a 및 도 4b는 본 명세서에 설명된 모델들에서 사용될 수 있는 변환들의 상세하지만 비제한적인 예들을 도시한다.
도 4a는 전단사적 변환(bijective transformation)(BT)(441)을 도시한다. 각자의 변환 입력들(431-433)이 전단사적 변환에 의해 각자의 변환 출력들(451-453)에 매핑된다는 것을 도면으로부터 알 수 있다. 변환 출력들(451-453)을 각자의 변환 입력들(431-433)에 매핑하는 역변환이 고유하게 정의된다. 입력을 출력에 매핑하고 출력을 다시 입력에 매핑하면 결과적으로 원래 입력이 된다. 마찬가지로, 출력을 입력에 매핑하고 다시 출력에 매핑하면 결과적으로 원래 출력이 된다.
도 4b는 확률적 변환(stochastic transformation)(ST, 442), 예를 들어,
Figure pat00086
를 도시한다. 적어도 일부 변환 입력들(431-433)은 고유 변환 출력들(451-453)에 결정론적으로 매핑되지 않는다(예를 들어, 도면에 도시된 변환 입력(431)은 0이 아닌 확률로 변환 출력(451)에 매핑되고 0이 아닌 확률로 변환 출력(452)에 매핑되는 등으로 매핑된다). 역변환은, 전형적으로 변동 분포
Figure pat00087
가 사후 확률
Figure pat00088
에 근사화된 것으로 보여진다. 또한 역원의 경우, 적어도 일부 변환 출력들(451-453)은 고유 변환 입력들(431-433)에 결정론적으로 매핑되지 않는다(예를 들어, 도면에 도시된 변환 출력(451)은 0이 아닌 확률로 변환 입력(431)에 매핑되고 0이 아닌 확률로 변환 입력(432)에 매핑된다). 따라서, 변환 입력에 변환을 적용하고 역원을 적용한다고 해서 결과적으로 반드시 원래 입력이 되는 것은 아니며, 변환 출력에 역원을 적용하고 변환을 적용한다고 해서 결과적으로 반드시 원래 출력이 되는 것은 아니다.
전단사적 변환(BT) 및 확률적 변환(ST)은 다음과 같이 정변환, 역변환 및 우도 기여분의 관점들에서 설명될 수 있다.
정변환: 확률적 변환(ST)의 경우, 정변환은 조건부 분포
Figure pat00089
에 의해 정의될 수 있다. 전단사적 변환(BT)의 경우, 정변환은 결정론적 함수, 예를 들어
Figure pat00090
Figure pat00091
또는
Figure pat00092
일 수 있다.
역변환: 전단사적 변환(BT)의 경우, 역원은 또한 결정론적 함수이다, 예를 들어,
Figure pat00093
이다. 확률적 변환(ST)의 경우, 역원 또한 확률적이다. 역원은 베이즈 정리에 따라, 예를 들어,
Figure pat00094
로서 정의될 수 있다. 많은 경우에,
Figure pat00095
는 다루기 어렵거나 계산하기에 너무 비용이 많이 들며, 그래서 변동 근사
Figure pat00096
가 사용될 수 있다.
우도 기여분: 전단사(BT)의 경우, 밀도
Figure pat00097
는 다음과 같이 변수 변경 공식을 사용하여
Figure pat00098
및 매핑(
Figure pat00099
)로부터 계산될 수 있다.
Figure pat00100
여기서
Figure pat00101
Figure pat00102
의 야코비 행렬
Figure pat00103
의 행렬식의 절대 값이다. 따라서, 전단사적 변환(
Figure pat00104
)에 대한 우도 기여분 항은 하한
Figure pat00105
Figure pat00106
로서 정의될 수 있다.
확률적 변환(ST)의 경우, 한계 밀도
Figure pat00107
는 다음과 같이 다시 작성될 수 있다:
Figure pat00108
이 방정식에서 ELBO(
Figure pat00109
)은 단일 몬테 카를로(Monte Carlo)를 사용하여 다음과 같이 평가될 수 있다:
Figure pat00110
따라서 확률적 변환(ST)에 대한 우도 기여분 항은 변환 입력들이 주어지면 변환 출력들 및 변환 출력들이 주어지면 변환 입력들의 로그 우도들의 차이, 예를 들어,
Figure pat00111
로서 정의될 수 있다. 경계 느슨 항은
Figure pat00112
일수 있다. 전단사(BT)에 대한 변수 변경 공식은 디랙 델타 함수(Dirac delta function)들을 사용함으로써 확률적 변환(ST)에 대한 공식으로부터 복구될 수 있다는 것이 유의될 수 있다.
예로서, 각자의 전단사적 및 확률적 변환들
Figure pat00113
을 구성함으로써 획득되는 모델의 경우, 입력 인스턴스들에 대해 사전 분포
Figure pat00114
가 주어지면 모델 출력(
Figure pat00115
)의 로그 우도는 다음의 코드에 따라 근사화될 수 있다:
Figure pat00116
관련 기술분야의 통상의 기술자가 이해하는 바와 같이, 이러한 코드는 본 명세서에서 논의된 바와 같이, 마찬가지로 생성적 전사들 및 추론 전사들을 망라하도록 적용될 수 있다.
도 4c는 본 명세서에 설명된 모델들에서 사용될 수 있는 변환의 상세하지만 비제한적인 예를 도시한다. 이 도면에 표시된 변환은 생성적 전사적 변환(generative surjective transformation)(GST)(443)이다.
Figure pat00117
Figure pat00118
를 두개의 랜덤 변수들이라 한다. 생성적 전사(GST)는 (예를 들어, 클래스들로부터 이미지들로 가는) 생성적 방향에서 결정론적 함수
Figure pat00119
로서 나타낼 수 있다. 예를 들어, 함수는 도면에 도시된 바와 같이 변환 입력들(431-433)을 변환 출력들(451-452)에 매핑할 수 있다. 함수
Figure pat00120
는, 예를 들어, 적어도 일부 세트
Figure pat00121
의 경우 전사적이므로
Figure pat00122
이다. 그러나 함수
Figure pat00123
는 단사적인 것이 아니므로 전단사적이 아니며, 예를 들어
Figure pat00124
이고
Figure pat00125
이면,
Figure pat00126
은 반드시
Figure pat00127
와 동일하진 않을 수 있다. 즉, 다수의 입력들이 단일 출력에 매핑될 수 있다. 예를 들어, 변환 입력(432) 및 변환 입력(433)은 모두 변환 출력(452)에 매핑될 수 있다. 따라서, 생성적 전사(GST)를 역으로 할 때, 입력이 역을 통해 복구되는 것이 보장되지 않기 때문에 정보 손실이 발생할 수 있다.
흥미롭게도, 발명자들은 생성적 전사(GST) 또한 정변환, 역변환 및 우도 기여분으로 표현될 수 있다는 것을 깨달았다.
정변환: 도 4a의 전단사와 유사하게, 전사적 변환(GST)은 결정론적 정변환
Figure pat00128
또는
Figure pat00129
로 나타낼 수 있다.
역변환: 그러나 도 4a의 전단사와 대조적으로, 전사
Figure pat00130
는 다수의 입력들이 동일한 출력에 매핑될 수 있기 때문에 역으로 할 수 없다. 그러나 (예를 들어, 이미지들로부터 클래스들로 가는) 추론 방향에서 전사에 대해 오른쪽 역원이 정의될 수 있다, 예를 들어, 함수
Figure pat00131
이므로
Figure pat00132
가 되지만 반드시
Figure pat00133
가 되는 것은 아니다. 역변환은 베이즈의 공식에 따라 정의될 수 있다. 그러나 효율성의 이유들 때문에, 일반적으로 확률적 변환
Figure pat00134
에 의해 역변환을 근사화하는 것이 통상 바람직하다. 이러한 확률적 변환은 랜덤 오른쪽 역원
Figure pat00135
을 통해 변환 출력
Figure pat00136
을 효과적으로 전달할 수 있다. 바람직하게는, 변환 출력
Figure pat00137
에 대한 확률적 변환
Figure pat00138
은 그 변환 출력, 예를 들어,
Figure pat00139
에 매핑되는 변환 입력들
Figure pat00140
의 세트에 대해서만 지원한다.
우도 기여분: 우도 기여분은 다음과 같이 정의될 수 있다:
Figure pat00141
임에 따라,
Figure pat00142
결정론적 한계에서, 이 항은
Figure pat00143
로 단순화할 수 있다. 일반적으로, 생성적 전사들(GST)은 0이 아닌 더 낮은 우도 추정치일 때 우도 기여분의 확률적 근사치를 산출할 수 있다.
도 4d는 본 명세서에 설명된 모델들에서 사용될 수 있는 변환의 상세하지만 비제한적인 예를 도시한다. 이 도면에는 추론 전사적 변환(inference surjective transformation)(IST)(444)이 도시된다.
정변환: (예를 들어, 클래스들로부터 이미지들로 가는) 생성적 방향
Figure pat00144
에서 전사적인 도 4c의 변환과 대조적으로, 이 변환은 (예를 들어, 이미지들로부터 클래스들로 가는) 추론 방향
Figure pat00145
에서 전사적이다. 따라서 생성적 방향에서, 정변환
Figure pat00146
는 확률적일 수 있다, 예를 들어, 적어도 하나의 변환 입력(431-432)은 변환 출력(451-453)에 고유하게 매핑되지 않는다. 예를 들어, 도면에 도시된 바와 같이, 변환 입력(432)은 0이 아닌 확률로 변환 출력(452)에 매핑될 수 있고 0이 아닌 확률로 변환 출력(453)에 매핑될 수 있다. 정변환은 또한 베이즈의 정리에 따라 역변환으로부터 도출될 수 있다.
역변환: 역변환은 결정론적일 수 있다, 예를 들어, 각 변환 출력은 고유 변환 입력에 매핑된다; 그러나 단사적인 것은 아니다, 예를 들어, 동일한 변환 입력(432)에 매핑되는 두개의 변환 출력들(452, 453)이 있다. 바람직하게는, 주어진 변환 입력에 대한 확률적 정변환은 그 변환 입력에 매핑되는 변환 출력들의 세트에 대해서만 지원한다.
우도 기여분: 우도 기여분은 다음과 같이 정의될 수 있다:
Figure pat00147
임에 따라,
Figure pat00148
결정론적 한계에서, 이 항은
Figure pat00149
로 단순화할 수 있다. 도 4c의 생성적 전사들은 일반적으로 우도 기여분의 확률적 추정치들을 산출하고 더 낮은 우도 추정치를 도입하지만, 흥미롭게도, 발명자들은 추론 전사들이, 예를 들어, 경계 느슨 항이 0 이 되는 정확한 우도 계산을 가능하게 한다는 것을 증명할 수 있었다.
다음의 표는 도 4a 내지 도 4d와 관련하여 논의된 변환들, 역변환들, 우도 기여분 및 경계 느슨 항들을 요약한다:
Figure pat00150
도 4e는 훈련된 모델, 구체적으로 이미지 분류기의 상세하지만 비제한적인 예를 도시한다. 도면은 입력 이미지(input image)(II)(410)를 클래스들의 세트의 클래스(class)(CL)(460)로 분류하기 위해 적용되는 이미지 분류기(image classifier)(IC)(420)를 도시한다. 입력 이미지(II)는 예를 들어 2D 볼륨으로서 또는 하나 이상의 채널들(예를 들어, 그레이 스케일의 경우 1 또는 컬러의 경우 3)을 포함하는 3D 볼륨으로서 표현될 수 있다. 클래스 세트는, 예를 들어, 2개 이상의 클래스들, 최대한 또는 적어도 5개의 클래스들, 최대한 또는 적어도 10개의 클래스들의 유한의 미리 정의된 세트일 수 있다. 클래스들은 상호 배타적일 필요가 없다, 예를 들어, 클래스들은 속성들(예를 들어, 교통 상황에서: "오토바이 라이더", "곧장 달리기", "추월")로서 간주될 수 있고, 이미지 분류기는 클래스를 속성 세트 중 하나 이상을 갖는 것으로 분류하도록 구성된다.
흥미롭게도, 발명자들은 이미지 분류기(IC)가 도 4a 내지 도 4d와 관련하여 설명된 바와 같이 하나 이상의 변환들의 조합을 사용하여 구현될 수 있다는 것을 깨달았다. 구체적으로, 도 4a 내지 도 4d의 변환들이 생성적 방향에서 변환들
Figure pat00151
로 간주되면, 이미지 분류기(IC)는 도 4a 내지 도 4d와 관련하여 설명된 바와 같이 추론 방향
Figure pat00152
에서, 역변환들로 구성된 변환
Figure pat00153
인 것으로 간주될 수 있다. 이미지 분류기에 대한 역방향 모델은 예를 들어 도 4a 내지 도 4d와 관련하여 설명된 정변환들을 사용함으로써 이미지 분류기(IC)를 구성하는 각자의 변환들을 역으로 함으로써 정의될 수 있다. 따라서, 이미지 분류기(IC)에 대한 역방향 모델은 클래스(CL)로부터 입력 이미지(II)로 가는 클래스-조건부 생성적 모델
Figure pat00154
을 정의할 수 있다.
유리하게는, 제공된 기술들은 이미지 분류기(IC)가 확률적 역방향 모델
Figure pat00155
을 갖는 결정론적 함수
Figure pat00156
가 될 수 있도록 한다. 이것은, 예를 들어, 이미지 분류기를 나타내는 함수
Figure pat00157
가 전단사가 아니기 때문에 전단사적 변환들만 사용할 때는 불가능하다(다수의 입력 이미지들(II)은 동일한 클래스에 매핑될 수 있다). 이것은 이미지들로부터 클래스들로의 확률적 맵을 초래하기 때문에 확률적 변환만 사용할 때는 역시 불가능하다.
대신에, 이것은, 예를 들어, 도 4d와 관련하여 설명된 바와 같이, 적어도 하나의 추론 확률적 변환(IST)(444)을 이미지 분류기(IC)에 포함시킴으로써 가능해질 수 있다. 이것은 추론 방향에서, 결정론적이고 비전단사적인 변환이다.
이미지 분류기(IC)는, 이미지 분류기의 각자의 변환들을 추론 방향으로 적용함으로써, 입력 이미지를 클래스(CL)로 분류하도록 입력 이미지(II)에 적용될 수 있다. 따라서, 변환(IST)의 변환 입력들(transformation input(TI)(430)은 입력 이미지(II)로부터 결정될 수 있고, 그런 다음 변환은 결정론적 함수
Figure pat00158
로서 변환 입력들(TI)에 적용되어 변환 출력(transformation output)(TO)들(450)을 획득할 수 있다. 그 다음에 출력 분류 CL는 변환 출력들(TO)에 기초하여 결정될 수 있다. 함수
Figure pat00159
는 이미지 분류기(IC)의 파라미터들의 세트에 의해 파라미터화될 수 있다.
이미지 분류기(IC)는 또한 이미지 분류기의 변환들의 각자의 역원들을 생성적 방향으로 적용함으로써 합성 입력 이미지들(II)을 생성하는데 사용될 수 있다. 예를 들어, 이미지 분류기는 클래스(CL)(또는 다수의 상호 배타적이지 않은 속성들)가 주어지면 또는 보다 일반적으로는 모델의 내부 또는 출력 계층에서 주어진 값들이 주어지면 입력 이미지를 생성할 수 있다. 도 4d와 관련하여 또한 설명된 바와 같이, 추론 전사(IST)의 역원은 확률적 역변환(정변환이라고 함)에 의해 역방향 모델에서 근사화될 수 있다. 확률적 역변환은 변환 출력들(TO)이 주어지면 변환 입력들(TI)에 대한 확률 분포
Figure pat00160
를 정의할 수 있다. 다시 말해서, 확률적 역변환은 변환 출력들(TO)이 주어지면 변환 입력들(TI)을 확률적으로 생성하도록 구성될 수 있다. 확률 분포
Figure pat00161
의 정의는 이미지 분류기 CL의 파라미터들의 세트에 의해 파리미터화될수 있으며, 아마도 함수
Figure pat00162
의 파라미터들과 겹칠 수 있다. 따라서, 이미지(II)를 생성할 때, 변환 입력들(TI)은 확률 분포에 따라 변환 출력들(TO)이 주어지면 샘플링될 수 있다.
(도 4d는 생성적 방향의 변환을 설명했다; 따라서, 도 4e의 변환 입력들(TI)은 도 4d의 변환 출력들(451-453)에 대응하고, 도 4e의 변환 출력들(TO)은 도 4d의 변환 입력들(431-432)에 대응한다는 것을 유의한다.)
이미지 분류기(IC)는 최대 우도 추정을 사용하여 훈련될 수 있다. 즉, 추론 전사(IST)의 (정변환 및/또는 추론 변환)의 파라미터들을 포함하는 이미지 분류기(IC)의 파라미터들이 목적 함수에 대해 최적화될 수 있는 최적화가 수행될 수 있다. 목적 함수는 훈련 데이터세트의 이미지들에 대한 로그 우도들을 포함할 수 있으며 최대화될 수 있다. 목적 함수는 추가 항들, 예를 들어, 정규화기들 등을 포함할 수 있다.
흥미롭게도, 이미지 분류기(IC)는, 즉, 연관된 훈련 클래스가 이용 가능한 레이블링된 훈련 이미지들과, 연관되지 않은 훈련 클래스가 이용 가능할 수 있는 레이블링되지 않은 훈련 이미지들의 임의의 조합을 포함하는 훈련 데이터세트에 기초하여 훈련될 수 있다. 레이블링된 훈련 이미지의 경우, 최대화될 로그 우도는 입력 이미지들 및 이미지 분류기(IC)에 의해 결정된 클래스들의 결합 확률 분포에 따라 레이블링된 훈련 이미지 및 그 레이블에 대한 로그 우도
Figure pat00163
일 수 있다. 레이블링되지 않은 훈련 이미지의 경우, 최대화될 로그 우도는 역방향 모델에 의해 생성되는 입력 이미지들의 확률 분포에 따라 레이블링되지 않은 훈련 이미지에 대한 로그 우도
Figure pat00164
일 수 있다.
흥미롭게도, 두 경우들 모두, 로그 우도는 도 4a 내지 도 4d와 관련하여 설명된 바와 같이 다양한 변환들의 우도 기여분들에 기초하여 효율적으로 계산될 수 있다. 우도 기여분들은 변환 출력들과 변환 출력들 사이의 로그 우도의 차이를 추정할 수 있고, 그래서 각자의 변환들의 우도 기여분들의 합산은 결합된 변환의 입력들과 출력들 사이에 로그 우도의 차이를 추정할 수 있다. 그런 다음 이러한 차이는 이미지들을 훈련하기 위한 로그 우도들을 계산하는데 사용될 수 있다.
전형적으로, 훈련은 확률적 최적화, 예를 들어, 확률적 경사 하강법(stochastic gradient descent)을 사용하여 수행된다. 예를 들어, 아담 최적화기(Adam optimizer)가 Kingma 및 Ba, "Adam: A Method for Stochastic Optimization"(본 명세서에서 참조로 포함되고 https://arxiv.org/abs/1412.6980에서 입수 가능함)에 개시된 바와 같이 사용될 수 있다. 알려진 바와 같이, 이러한 최적화 방법들은 휴리스틱일 수 있고/있거나 로컬 최적에 도달할 수 있다. 훈련은, 예를 들어, 최대한 또는 적어도 64개 또는 최대한 또는 적어도 256개 인스턴스들의 인스턴스별로 또는 배치 단위로 수행될 수 있다.
이미지 분류기는 도 4a 내지 도 4d와 관련하여 설명된 바와 같이 변환들만으로 구성될 필요가 없다는 것이 유의된다. 구체적으로, 분류기의 출력은, 예를 들어, 도 5a와 관련하여 논의된 바와 같이 출력 계층을 사용하여 결정될 수 있다. 출력 계층은 변환 세트에 속하는 것으로 간주되지 않는다. 임의로 출력 계층을 사용하는 것과 별개로, 일부 실시예들에서 이미지 분류기(IC)는 설명된 4개 유형의 변환들로 전적으로 구성될 수 있다. 임의로 출력 계층을 사용하는 것과 별개로, 일부 실시예들에서 이미지 분류기(IC)는 전단사적 및 추론 전사적 변환들로 전적으로 구성될 수 있다. 그러나 이미지 분류기들에서 생성적 전사적 및/또는 확률적 변환들을 사용하는 것 또한 가능하다.
더욱이, 관련 기술분야의 통상의 기술자가 이해하는 바와 같이, 이미지 분류기(IC)를 적합하게 적응시킴으로써, 비이미지 입력 인스턴스들(예를 들어, 다른 유형들의 센서 데이터) 및/또는 비분류 작업들(예를 들어, 회귀, 데이터 생성 등)에도 또한 사용할 수 있다.
이미지 분류기(IC) 또는 다른 훈련된 모델들에서 사용될 수 있는 다양한 유리한 모델 컴포넌트들이 아래에서 설명된다. 이러한 컴포넌트들에 기초한 이미지 분류기(IC)의 다양한 예시적인 모델 아키텍처들이 또한 아래에서 논의된다.
도 5a는, 예를 들어, 이미지 분류기(IC) 또는 다른 분류기에서 사용하기 위한 출력 계층의 상세하지만 비제한적인 예를 도시한다. 이미지 분류기는 각자의 클래스들에 대한 입력 이미지의 클래스 확률들의 벡터(π1 ..., πk)(531)를 결정하도록 구성될 수 있다. 이것은 도 4e와 관련하여서도 논의된 바와 같이, 도 4a 내지 도 4d의 유형들의 변환 세트를 사용하여 전형적으로 수행된다. 그 다음에 이미지 분류기의 출력 계층은 클래스 확률들(πi)로부터 입력 이미지의 클래스(y)(551)를 결정할 수 있다.
이 도면에서 논의되는 출력 계층은 변환 집합의 일부인 것으로 간주되지 않는다. 이것은
Figure pat00165
Figure pat00166
가 확률적으로 정의된다는 의미에서 확률적 변환들과 유사하지만, 흥미롭게도, 분석적으로 평가될 수 있고, 그렇게 함으로써 변동 추론을 피할 수 있다.
도면에 도시된 바와 같이, 출력 계층은 결정된 클래스가 주어지면 클래스 확률들의 벡터에 대한 조건부 확률 분포
Figure pat00167
에 의해 정의될 수 있다. 이러한 조건부 확률 분포는 도면에 도시된 바와 같이 예를 들어 정규 분포
Figure pat00168
와 같은 각자의 클래스들에 대한 각자의 확률 분포에 의해 정의될 수 있다.
훈련 동안, 훈련 이미지들에 대한 로그 우도들은 이러한 조건부 확률 분포에 기초하여 계산될 수 있다. 클래스 레이블들에 대해 주어진 사전 분포, 예를 들어,
Figure pat00169
- 여기서
Figure pat00170
는 클래스들의 수임 - 를 사용될 수 있다고 가정하면, 예를 들어 다음과 같이 클래스 확률들의 벡터의 한계 확률을 계산하는 것이 가능하고,
Figure pat00171
그렇게 함으로써 클래스 확률들의 벡터
Figure pat00172
가 주어지면 클래스의 조건부 확률을, 예를 들어 베이즈의 규칙을 사용하여, 계산하는 것이 또한 가능하다.
레이블링되지 않은 훈련 이미지들의 경우, 클래스 벡터의 한계 확률과 변환 세트의 우도 기여분들을 결합함으로써 훈련 이미지에 대한 로그 우도가, 예를 들어 다음과 같이 결정될 수 있다:
Figure pat00173
레이블링된 훈련 이미지의 경우, 레이블들에 대한 사전 분포, 클래스가 주어지는 경우 클래스 벡터들의 조건부 확률 및 우도 기여분들을 결합함으로써 로그 우도가, 예를 들어 다음과 같이 결정될 수 있다:
Figure pat00174
여기서, 값들
Figure pat00175
은 도 4a 내지 도 4e와 관련하여서도 논의된 바와 같이, 이미지 분류기를 구성하는 변환들의 우도 기여분들이다.
구체적으로, 훈련 동안, 이미지가 선택될 수 있고, 이미지 분류기가 적용되어 클래스 확률들(π)을 획득할 수 있다. 레이블링되지 않은 훈련 이미지들의 경우, 클래스 확률들에 기초하여,
Figure pat00176
가 결정될 수 있다. 각자의 변환들에 대한 우도 기여분들은 그 각자의 변환 입력들 및 출력들에 기초하여 결정될 수 있으며, 우도 기여분들은 위에서 설명한 바와 같이 합산되어
Figure pat00177
를 획득할 수 있다. 레이블링된 훈련 이미지들의 경우, 마찬가지로, 위에서 설명한 바와 같이
Figure pat00178
Figure pat00179
는 우도 기여분과 결합되어
Figure pat00180
를 획득될 수 있다. 레이블링된 및/또는 레이블링되지 않은 훈련 예들에 대한 로그 우도들은, 예를 들어, 이미지 분류기의 파라미터들과 관련하여 로그 우도들의 경사를 평가하고 경사 하강법을 사용함으로써 최대화될 수 있다.
훈련된 이미지 분류기는, 예를 들어, 입력 이미지에 대한 클래스 확률들(π)을 결정하고 베이즈의 규칙을 사용하여 클래스에 속하는 이미지의 확률을 결정함으로써 입력 이미지들을 클래스들로 분류하는데 사용될 수 있다, 예를 들어:
Figure pat00181
최종 출력 레이블
Figure pat00182
은 결정론적으로, 예를 들어, 가장 높은 확률을 갖는 클래스로서 선택되거나, 또는 확률적으로, 예를 들어 클래스 확률들에 따라
Figure pat00183
를 샘플링함으로써 선택될 수 있다. 예를 들어, 일부 또는 모든 클래스들에 대해 결정된 확률들
Figure pat00184
을 출력하는 것 또한 가능하다. 특히, 가장 가능성이 높은 클래스는 신뢰도 점수가 주어지면
Figure pat00185
로 반환될 수 있다.
훈련된 이미지 분류기는 클래스가 주어지면 클래스 벡터에 대한 그리고 벡터가 주어지면 역변환들에 대한 확률 분포에 따라 이미지를 샘플링함으로써 클래스 조건부 생성적 모델
Figure pat00186
로서도 또한 사용될 수 있다, 예를 들어:
Figure pat00187
여기서
Figure pat00188
는 변환 세트의 조합의 확률적 역원이다. 훈련된 이미지 분류기는, 예를 들어, 클래스 확률들의 세트에서 시작하여 그로부터 입력 이미지를 생성함으로써,
Figure pat00189
에 기초한 생성적 모델로서도 또한 사용될 수 있다. 이렇게 하면 출력 클래스들의 주어진 조합이 달성될 수 있다.
도 5b는 이미지 분류기 또는 다른 유형의 훈련된 모델에서 사용하기 위한 추론 전사적 슬라이싱 변환의 상세하지만 비제한적인 예를 도시한다.
슬라이싱 변환은 변환 입력, 예를 들어, 주어진 변환 입력
Figure pat00190
의 요소들의 (엄격하고 비어 있지 않은) 서브세트를 취함으로써 변환 입력(x1, x2)(532)으로부터 변환 출력(z)(552)를 결정할 수 있는데, 이것은 변환 출력을
Figure pat00191
로서 결정할 수 있다.
도면에 도시된 바와 같이, 슬라이싱 변환을 위한 확률적 역변환은 변환 입력으로부터 선택된 요소를 변환 출력에서와 같이 설정할 수 있다, 예를 들어,
Figure pat00192
. 선택되지 않은 요소들은 이것들을 변환 출력으로부터 샘플링함으로써 근사화될 수 있다, 예를 들어,
Figure pat00193
.
추론 전사적 변환들을 위한 우도 기여분에 대한 일반 공식을 채움으로서, 이러한 변환에 대한 우도 기여분은
Figure pat00194
로서, 예를 들어, 슬라이싱된 요소들
Figure pat00195
을 추론하는데 사용되는 확률 분포의 엔트로피로서 결정될 수 있다.
다른 곳에서도 설명한 바와 같이, 생성적 전사적 슬라이싱 변환은 유사하게 정의될 수 있다.
도 5c는 이미지 분류기 또는 다른 유형의 훈련된 모델에서 사용하기 위한 추론 전사적 최대 값 변환의 상세하지만 비제한적인 예를 도시한다.
최대 값 변환은 변환 출력(z)(553)을 다수의 변환 입력들(x1, ..., xk, ..., xK)(533) 중 최대치로서 결정할 수 있다.
도면에 도시된 바와 같이, 확률적 역변환은 (i) 예를 들어,
Figure pat00196
이도록 최대 변환 입력의 인덱스(
Figure pat00197
)를 샘플링하고, (ii)
Figure pat00198
Figure pat00199
에 결정론적으로 매핑하고, (ii)
Figure pat00200
의 나머지 비최대 변환 입력 값들
Figure pat00201
이 모두
Figure pat00202
보다 작도록
Figure pat00203
이들 값들을 샘플링함으로써 진행될 수 있다. 여기서,
Figure pat00204
Figure pat00205
의 인덱스들을 말하고,
Figure pat00206
Figure pat00207
의 요소들의 수이며,
Figure pat00208
는 요소
Figure pat00209
를 제외한
Figure pat00210
이다.
확률 분포
Figure pat00211
는 분류기로서 훈련되거나 고정, 예를 들어,
Figure pat00212
될 수 있다. 역변환이 정변환의 오른쪽 역원이 되는 경우,
Figure pat00213
는 바람직하게
Figure pat00214
에서만 지원되도록 정의된다. 이렇게 하면,
Figure pat00215
가 실제로 최대 값이다.
예를 들어,
Figure pat00216
는 출력이 그의 어떤 입력에도 동일하게 복사될 가능성이 높도록 정의될 수 있다. 나머지 입력들은 복사된 값이 가장 큰 값으로 유지되도록 샘플링될 수 있다, 예를 들어, 이들은 최대 값에서 표준의 반정규 분포(standard half-normal distribution), 예를 들어, 양수 값들만 있는 가우스 분포로부터 노이즈를 뺀 값과 동일하게 설정될 수 있다.
이러한 변환에 대한 우도 기여분은 다음과 같은 일반 공식으로부터 결정될 수 있다:
Figure pat00217
, 여기서
Figure pat00218
,
Figure pat00219
.
예를 들어, 이미지 분류기는 입력 볼륨의 각자의 서브세트에 대해 동작하는 최대 값 전사들의 세트로서 구현되는, 다운 샘플링 시 사용하기 위한 최대 풀링 계층을 포함할 수 있다. 최대 값 변환은 최소값을 계산하는 데에도 적응될 수 있다.
다른 곳에서도 설명한 바와 같이, 생성적 전사적 최대 값 변환은 유사하게 정의될 수 있다.
본 명세서에서 사용하기 위한 다른 유리한 변환은 변환 입력을 취하고 이것을 반올림하는, 예를 들어 그 바닥을 계산하는 반올림 전사(rounding surjection)이다. 정변환은 이산적이고 결정론적이며 비단사적 함수, 예를 들어,
Figure pat00220
의 경우,
Figure pat00221
일 수 있다. 확률적 역변환
Figure pat00222
은 예를 들어,
Figure pat00223
내 특정 수로 반올림되는 값 세트를 지원하여 결정될 수 있다. 이러한 변환은 생성적 전사적 변환으로서 사용될 수 있으며, 이 경우 우도 기여분은, 예를 들어,
Figure pat00224
로서 또는 우도 기여분이, 예를 들어,
Figure pat00225
로서 결정될 수 있는 전단사적 전사적 변환으로서 결정될 수 있다. 반올림 변환은 더 정확한 모델 이산 데이터, 예를 들어, 이산 이미지 데이터에 사용될 수 있다.
본 명세서에서 사용하기 위한 다른 유리한 변환은 입력의 크기,
Figure pat00226
를 반환하는 절대 값 전사(absolute value surjection)이다. 추론 전사로서, 그 정 및 역변환들은 다음과 같이 나타낼 수 있다:
Figure pat00227
,
Figure pat00228
여기서
Figure pat00229
Figure pat00230
에 대응하는 결정론적이다. 역변환
Figure pat00231
은 다음과 같은 단계들: (i) 변환 출력
Figure pat00232
에 대해 조건이 지정된 변환 입력의 부호
Figure pat00233
를 샘플링하는 단계, (ii) 부호를 변환 출력
Figure pat00234
에 적용하여 변환 입력
Figure pat00235
을 획득하는 단계를 포함할 수 있다. 절대 값 전사들은 대칭들이 있는 데이터를 모델링하는데 유용하다.
부호를 샘플링하기 위한 확률 분포
Figure pat00236
는 분류기로서 훈련되거나 또는 예를 들어,
Figure pat00237
로 고정될 수 있다. 부호를 고정하는 것은 원점에 걸쳐 정확한 대칭성을 따르게 하는데 특히 유용할 수 있다.
추론 전사에 대한 우도 기여분은
Figure pat00238
로서 결정될 수 있으며, 여기서
Figure pat00239
.
생성적 전사로서, 정변환 및 역원은 다음과 같이 정의될 수 있다:
Figure pat00240
,
Figure pat00241
여기서 정변환
Figure pat00242
은 완전히 결정론적이며
Figure pat00243
에 대응한다. 추론 방향은 두 단계들, 1) 변환 출력
Figure pat00244
에 따라 변환 입력
Figure pat00245
의 부호
Figure pat00246
를 샘플링하는 단계, 및 2) 변환 출력
Figure pat00247
Figure pat00248
에 결정론적으로 매핑하는 단계를 포함한다. 여기서, 부호
Figure pat00249
에 대한 확률 분포는 분류기로서 훈련되거나 또는 예를 들어,
Figure pat00250
로 고정될 수 있다. 마지막 선택은
Figure pat00251
가 대칭일 때 특히 유용하다.
이 경우에 우도 기여분은
Figure pat00252
로서 결정될 수 있으며, 여기서
Figure pat00253
.
절대 값 전사들은, 예를 들어, 전개(unfolding)를 학습하기 위한 훈련 가능한 분류기
Figure pat00254
를 사용하여, 반대칭을 모델링하는데 유용하게 사용될 수 있다.
본 명세서에서 사용하기 위한 다른 유리한 변환은 소트 전사(sort surjection)이다. 소트 전사는 생성적 전사
Figure pat00255
또는 추론 전사
Figure pat00256
로서 사용될 수 있다.
생성적 전사로서, 소트 전사는 다음과 같이 나타낼 수 있다.
Figure pat00257
,
Figure pat00258
여기서
Figure pat00259
는 순열 인덱스들의 세트를 말하고,
Figure pat00260
는 역순열 인덱스를 말하며,
Figure pat00261
는 인덱스들
Figure pat00262
에 따라 순열된
Figure pat00263
의 요소들을 말한다.
Figure pat00264
개의 가능한 순열들이 있다는 것을 유의한다.
정변환
Figure pat00265
는 완전히 결정론적이며 입력들의 소팅,
Figure pat00266
에 대응한다. 추론 방향은: 1) 소팅된 변환 출력
Figure pat00267
에 조건이 지정된 순열 인덱스들
Figure pat00268
을 샘플링하고, 2) 역순열
Figure pat00269
에 따라 변환 출력
Figure pat00270
를 결정론적으로 순열하여 변환 입력
Figure pat00271
를 획득함으로써 구현된다. 여기서, 순열 인덱스들을 정의하는 확률 분포
Figure pat00272
는 분류기로서 훈련되거나 또는 예를 들어,
Figure pat00273
로 고정될 수 있다.
이러한 변환에 대한 우도 기여분은 다음과 같이 계산할 수 있다:
Figure pat00274
, 여기서
Figure pat00275
추론 전사로서, 소트 전사는 다음과 같이 나타낼 수 있다:
Figure pat00276
,
Figure pat00277
여기서
Figure pat00278
는 순열 인덱스들의 세트를 말하고,
Figure pat00279
는 역순열 인덱스를 말하며,
Figure pat00280
는 인덱스들
Figure pat00281
에 따라 순열된
Figure pat00282
의 요소들을 말한다.
Figure pat00283
개의 가능한 순열들이 있다는 것을 유의한다.
변환
Figure pat00284
는 완전히 결정론적이며 입력들의 소팅,
Figure pat00285
에 대응한다. 역변환은 1) 변환 출력들
Figure pat00286
의 조건 지정된 순열 인덱스들
Figure pat00287
을 샘플링하고, 2) 역순열
Figure pat00288
에 따라 변환 출력들
Figure pat00289
을 결정론적으로 순열하여 변환 입력들
Figure pat00290
을 획득하는 것을 포함한다. 여기서, 순열 인덱스들을 정의하는 확률 분포
Figure pat00291
는 분류기로서 훈련되거나 또는 예를 들어,
Figure pat00292
로 고정될 수 있다.
이러한 변환에 대한 우도 기여분은 다음과 같이 계산할 수 있다:
Figure pat00293
, 여기서
Figure pat00294
.
소트 전사들은 자연적으로 소팅된 데이터를 모델링하고, 순서 통계들을 학습하고, 흐름들을 사용하여 교환 가능한 모델을 학습하는 데 특히 유용하다. 특히, 교환 가능한 데이터는 소팅 전사와 함께 임의의 수의 변환들을 구성함으로써 모델링될 수 있다.
다른 유리한 변환은 확률적 순열(stochastic permutation)이다. 이것은 입력을 랜덤하게 순열하는 확률적 변환이다. 정방향 패스(forward pass)를 미러링하는 역패스가 정의될 수 있다.
정 및 역변환들은 다음과 같이 정의될 수 있다:
Figure pat00295
, (43)
Figure pat00296
, (44)
여기서
Figure pat00297
는 순열 인덱스들의 세트를 말하고,
Figure pat00298
는 역순열 인덱스를 말하며,
Figure pat00299
는 인덱스들
Figure pat00300
에 따라 순열된
Figure pat00301
의 요소들을 말한다.
Figure pat00302
개의 가능한 순열들이 있다는 것을 유의한다.
변환은 확률적이며 양방향들에서 동일한 단계들: 1) 순열 인덱스들
Figure pat00303
를, 예를 들어, 랜덤하게 균일하게 샘플링하는 단계, 및 2) 샘플링된 인덱스들
Figure pat00304
에 따라 입력을 결정론적으로 순열하는 단계를 포함할 수 있다.
균일하게 랜덤한 샘플링을 사용할 때, 이것은 우도 기여분이 0이라는 것이 증명될 수 있다. 확률적 순열들은 확률적 순열 계층으로 임의의 수의 변환들을 구성함으로써 교환 가능한 데이터를 모델링하는데 유용하고, 따라서 순열 불변성을 따르게 한다.
예를 들어, 교환 가능한 데이터는 포지셔널 인코딩(positional encoding)을 사용하지 않는, 트랜스포머 네트워크(Transformer network)(A. Vaswani et al., "Attention Is All You Need", https://arxiv.org/abs/1706.03762에서 입수 가능하며 본 명세서에서 참조로 포함됨)들에 의해 파라미터화된 하나 이상의 커플링 흐름들을 사용하여 모델링될 수 있다. 예를 들어, 확률적 순열들은 각자의 커플링 계층들 사이에 삽입될 수 있거나, 또는 초기 소팅 전사는 정렬을 유도하기 위해 사용될 수 있으며, 이때 고정된 순열들은 이후에 사용된다.
다음의 표는 본 명세서에 설명된 몇 가지 유리한 추론 전사 계층들을 요약 한다.
Figure pat00305
다음의 표는 본 명세서에 설명된 몇 가지 유리한 생성적 전사 계층들을 예측 계층들을 요약한다.
Figure pat00306
위의 변환들의 다양한 유리한 조합들이 정의될 수 있다. 이미지 분류기는 신경망일 수 있다, 예를 들어, 적어도 추론 방향에서, 입력 이미지에 대한 클래스 확률들은 신경망에 의해 표현될 수 있는 함수에 의해 결정될 수 있다. 예를 들어, 이것은 훈련 가능한 부분들이 신경망들에 의해 주어지는 전단사들 및 추론 전사들을 사용할 때의 경우일 수 있다.
일반적으로, 이미지 분류기는 입력 볼륨(예를 들어, m×n×c의 크기)이 계층에 의해 출력 볼륨(예를 들어, m'×n'×c'의 크기)으로 변환되고 입력과 출력 볼륨 사이의 공간적 대응성이 보존되는 하나 이상의 컨볼루션 계층들을 포함할 수 있다. 이러한 계층은 본 명세서에 설명된 바와 같이 하나 이상의 변환들에 의해 구현될 수 있다. 이러한 계층들을 포함하는 이미지 분류기는 컨볼루션 모델이라 지칭될 수 있다. 예를 들어, 이미지 분류기는 컨볼루션 신경망일 수 있다. 이미지 분류기는 예를 들어 최대한 또는 적어도 5 개, 최대한 또는 적어도 10개, 또는 최대한 또는 적어도 50개의 컨볼루션 계층들을 포함할 수 있다.
예를 들어, 이미지 분류기는 다른 곳에서도 설명된 바와 같이, 컨볼루션 커플링 변환을 포함할 수 있다. 실시예에서, 이미지 분류기는 ReLU 변환을 입력 벡터의 각자의 부분에 적용하는 ReLU 계층을 포함한다. 실시예에서, 이미지 분류기는 최대 변환을 입력 볼륨에 컨볼루션 방식으로 적용하고, 따라서 입력 볼륨의 공간 차원들을 축소하는 최대 풀링 계층을 포함한다. 실시예에서, 이미지 분류기는 채널들의 서브세트를 선택하는 슬라이싱 변환을 포함하며, 이것은 채널들의 수를 줄여준다.
컨볼루션 계층들에는 하나 이상의 비컨볼루션 계층들, 예를 들어, 하나 이상의 조밀하게 연결된 계층들이 뒤따를 수 있다. 이러한 조밀하게 연결된 계층은, 예를 들어, 선형 전단사적 변환과 슬라이싱 변환을 결합함으로써 구현될 수 있다. 예를 들어, 비컨볼루션 계층들의 수는 1개, 2개, 최대한 또는 적어도 5개, 또는 최대한 또는 적어도 10개일 수 있다.
도 5d는, 예를 들어, 도 4e의 이미지 분류기에 기초한 이미지 분류기의 상세하지만 비제한적인 예를 도시한다.
구체적으로, 도면에는 입력 이미지(x)(510)가 변환들의 시퀀스에 의해 각자의 클래스들에 대해, 클래스 확률들(π)(560)의 세트로 변환되는 것이 도시된다. 클래스 확률 세트에 기초하여, 클래스는, 예를 들어, 도 5a와 관련하여 논의된 바와 같이 결정될 수 있다. 이러한 예의 이미지 분류기는 전단사적 및 추론 전사적 변환만 사용하며, 따라서
Figure pat00307
는 결정론적 함수에 의해 주어진다.
구체적으로, 예에는 입력 이미지(x)에 적용되는 컨볼루션 커플링 변환(convolutional coupling transformation)(CC)(541)이 도시된다. 이것은 전단사적 변환이다. 다른 곳에서도 설명된 바와 같이, 이러한 계층은, 예를 들어, 문헌(A. Gomez et al., "The Reversible Residual Network: Backpropagation Without Storing Activations"(https://arxiv.org/abs/1707.04585에서 입수 가능하며 본 명세서에서 참조로 포함됨))에 개시된 바와 같이, 2개의 변환들을 적용함으로써 제1 및 제2 변환 입력들에 기초하여 제1 및 제2 변환 출력을 계산할 수 있다. 적용된 두 변환 모두 각자의 입력 볼륨들에 적용된 컨볼루션들이다.
컨볼루션 커플링 변환 후에, 이 예에서, 다른 곳에서도 설명된 바와 같이, ReLU 계층(542)이 적용된다. 이것은 추론 전사적 계층이다. 다음으로, 최대 풀링 계층(max pooling layer)(MP)(543)이 적용된다. 이 계층은 입력에 걸쳐 최대 변환을 컨볼루션 방식으로 적용함으로써 규모 축소를 수행한다.
계층들(541-543)은 각자의 입력 볼륨들로부터 각자의 출력 볼륨들을 결정하는 컨볼루션 계층들이다. 계층들(541-543)은 개별적으로 또는 조합하여 여러 번 반복될 수 있다.
평탄화 계층(flatten layer)(F)(544)이 추가로 적용되어, 마지막 컨볼루션 계층의 출력을 1차원 특징 벡터로 변환한다. 그런 다음 텐서 슬라이싱 계층(tensor slicing layer)(TS)(545)이 적용되어 특징들의 서브세트를 선택한다.
이러한 특정 예에서, 훈련을 위한 로그 우도들은 각자의 변환에 대한 우도 기여분들, 예를 들어,
-
Figure pat00308
, 컨볼루션 커플링 변환(CC)의 경우;
-
Figure pat00309
, ReLU 계층의 경우;
-
Figure pat00310
, 최대 풀링 계층(MP)의 경우
-
Figure pat00311
, 평탄화 층(F)의 경우;
-
Figure pat00312
, 여기서
Figure pat00313
Figure pat00314
, 텐서 슬라이싱 계층(TS)의 경우).
의 합을 계산함으로써 계산될 수 있다.
관련 기술분야의 통상의 기술자에 의하면 많은 변형들이 예상될 수 있다. 특히, ReLU 계층은 문헌(M. Finzi et al., "Invertible Convolutional Networks", proceedings First workshop on Invertible Neural Networks and Normalizing Flows at ICML 2019)에 의한 "Sneaky ReLU" 활성 함수로 대체될 수 있다. 흥미롭게도, 이러한 활성화 함수는 가역적이며 폐쇄형 역원 및 로그 행렬식들을 갖는다. 임의로, 모델은 또한 초기 생성적 반올림 전사를 포함하여 입력 이미지 데이터의 이산적인 특성을 수용하고 이것이 훈련 동안 발산을 유발하는 것을 방지할 수 있다. 또한, 입력 채널들의 수를, 예를 들어, 1개 계층(그레이 스케일) 또는 3개 계층들(컬러 이미지)에서 더 큰 수의 N, 예를 들어, N≥5 로 증가시키기 위해 본 명세서에 설명된 바와 같은 생성적 슬라이싱 전사를 포함시키는 것이 모델 성능을 개선하는 것으로 발견되었다. 모델은 또한 예를 들어 평탄화 후에 본 명세서에 설명된 바와 같이 조밀하게 연결된 부분을 포함할 수 있다.
도 6은 모델, 예를 들어, 이미지 분류기를 훈련시키는 컴퓨터에 의해 구현되는 방법(600)의 블록도를 도시한다. 모델은 입력 인스턴스로부터의 모델 출력을 결정하여, 예를 들어, 입력 이미지를 클래스 세트의 클래스로 분류하도록 구성될 수 있다. 방법(600)은 도 1의 시스템(100)의 동작에 대응할 수 있다. 그러나, 이것은 방법(600)이 다른 시스템, 장치 또는 디바이스를 사용하여 수행될 수도 있다는 점에서 제한이 아니다.
방법(800)은 "훈련 데이터에 액세스(ACCESS TRAINING DATA)"라는 제목의 동작에서, 훈련 데이터세트에 액세스하는 단계(610)를 포함할 수 있다. 훈련 데이터세트는 모델 출력(예를 들어, 클래스)으로 레이블링된 적어도 하나의 레이블링된 훈련 인스턴스들 및/또는 적어도 하나의 레이블링되지 않은 훈련 인스턴스를 포함할 수 있다.
방법(600)은 "역방향 모델을 정의(DEFINE INVERSE MODEL)"라는 제목의 동작에서, 모델에 대한 역방향 모델을 정의하는 단계(620)를 포함할 수 있다. 모델은 변환들의 세트를 포함할 수 있다. 변환 세트는 적어도 하나의 결정론적 비전단사적 변환을 포함한다. 이러한 변환의 역원은 확률적 역변환에 의해 역방향 모델에서 근사화될 수 있다. 대신에 또는 추가로, 변환 세트는 결정론적 역변환을 갖는 적어도 하나의 확률적 변환을 포함할 수 있다.
방법(600)은 "모델을 훈련(TRAIN MODEL)"이라는 제목의 동작에서, 로그 우도 최적화를 사용하여 모델을 훈련하는 단계(630)를 포함할 수 있다.
훈련 동작(630)의 일부로서, 방법(600)은 "훈련 인스턴스를 선택(SELECT TRAINING INSTANCE)"이라는 제목의 동작에서, 훈련 데이터세트로부터 훈련 인스턴스를 선택하는 단계(632)를 포함할 수 있다.
훈련 동작(630)의 일부로서, 방법(600)은 "모델을 인스턴스에 적용(APPLY MODEL TO INSTANCE)"이라는 제목의 동작에서, 모델을 훈련 인스턴스에 적용하는 단계(634)를 더 포함할 수 있다. 이것은 변환을 변환 입력들에 적용하여 변환의 변환 출력들을 획득하는 것을 포함할 수 있다.
훈련 동작(630)의 일부로서, 방법(600)은 "우도 기여분을 결정(DETERMINE LIKELIHOOD CONTRIBUTION)"이라는 제목의 동작에서, 변환에 대한 우도 기여분을 결정하는 단계(636)를 더 포함할 수 있다. 결정론적, 비단사적 변환의 경우, 이러한 기여분은 변환의 변환 출력들이 주어지면 확률적 역변환이 변환의 변환 입력들을 생성할 확률에 기초할 수 있다. 결정론적 역원을 갖는 확률적 변환의 경우, 변환 입력들이 주어지면 확률적 변환이 변환 출력들을 생성할 확률에 기초할 수 있다.
훈련 동작(630)의 일부로서, 훈련 인스턴스가 레이블링되면, 방법(600)은 "결합 로그 우도를 결정(DETERMINE JOINT LOG-LIKELIHOOD)"이라는 제목의 동작에서, 결정된 우도 기여분을 사용하여 이미지 분류기에 의해 결정된 입력 인스턴스들과 클래스들의 결합 확률 분포에 따라 레이블링된 훈련 인스턴스들 및 그 레이블에 대한 로그 우도를 결정하는 단계(638)를 포함할 수 있다.
훈련 동작(630)의 일부로서, 훈련 인스턴스가 레이블링되어 있지 않으면, 방법 (600)은 "로그 우도를 결정(DETERMINE LOG-LIKELIHOOD)"이라는 제목의 동작에서, 결정된 우도 기여분을 사용하여 역방향 모델에 의해 생성되는 입력 인스턴스들의 확률 분포에 따라 레이블링되지 않은 훈련 인스턴스에 대한 로그 우도를 결정하는 단계(639)를 포함할 수 있다.
훈련 동작(630)의 다양한 단계들(632-639)은, 예를 들어, 고정된 횟수의 반복 동안 및/또는 수렴될 때까지 모델을 훈련시키기 위해 1회 이상 수행될 수 있다.
도 7은 훈련된 모델, 예를 들어, 이미지 분류기를 사용하는 컴퓨터에 의해 구현되는 방법(700)의 블록도를 도시한다. 모델은 입력 인스턴스로부터의 모델 출력을 결정하여, 예를 들어, 입력 이미지를 클래스 세트의 클래스로 분류하도록 구성될 수 있다. 방법(700)은 도 2의 시스템(200)의 동작에 대응할 수 있다. 그러나, 이것은 방법(700)이 또한 다른 시스템, 장치 또는 디바이스를 사용하여 수행될 수 있다는 점에서 제한이 아니다.
방법(700)은 "모델 데이터에 액세스(ACCESS MODEL DATA)"라는 제목의 동작에서, 훈련된 모델을 나타내는 모델 데이터에 액세스하는 단계(710)를 포함할 수 있다. 모델은 본 명세서에 설명된 방법에 따라 훈련되었을 수 있다. 모델이 모델 출력을 결정하는 데 사용되면, 모델 데이터는 훈련된 모델의 적어도 정변환들의 파라미터들을 포함하지만, 역변환들의 파라미터들을 포함할 필요는 없다. 모델이 모델 입력을 생성하는 데 사용되면, 모델 데이터는 적어도 역변환들의 파라미터들을 포함하지만, 정변환들의 파라미터들을 포함할 필요는 없다.
방법(700)은 훈련된 모델을 사용하는 단계를 더 포함할 수 있다.
훈련된 모델은 "입력 인스턴스를 획득(OBTAIN INPUT INSTANCE)"이라는 동작에서, 입력 인스턴스를 획득(720)한 다음 "모델을 인스턴스에 적용(APPLY MODEL TO INSTANCE)"이라는 동작에서, 예를 들어, 입력 이미지를 클래스 세트의 클래스로 분류하기 위해 모델을 입력 인스턴스에 적용(722)함으로써 사용될 수 있다.
동작(720) 대신에 또는 추가로, "역방향 모델을 적용(APPLY INVERSE MODEL)"이라는 동작에서, 훈련된 모델은 훈련된 모델에 대한 역방향 모델을 적용하여 합성 입력 인스턴스, 예를 들어, 합성 이미지를 생성(730)함으로써 사용될 수 있다. 이것은, 예를 들어, 확률적 역변환에 따라 상기 변환의 변환 출력들에 기초하여 훈련된 모델의 결정론적 및 비단사적 변환의 변환 입력들을 샘플링하는 것을 포함할 수 있다.
일반적으로, 도 6의 방법(600) 및 도 7의 방법(700)의 동작들은, 적용 가능하다면, 예를 들어, 입력/출력 관계들에 의해 필요해지는 특정 순서를 거치는 임의의 적합한 순서로, 예를 들어, 연속적으로, 동시에 또는 이들의 조합으로 수행될 수 있다는 것이 인식될 것이다. 방법들 중 일부 또는 전부는 또한 조합될 수 있다, 예를 들어, 훈련된 모델을 사용하는 방법(700)은 나중에 방법(600)에 따라 훈련된 이 모델에 적용될 수 있다.
방법(들)은 컴퓨터에 의해 구현되는 방법으로서, 전용 하드웨어로서 또는 둘 모두의 조합으로서 컴퓨터에서 구현될 수 있다. 도 8에서 또한 예시된 바와 같이, 컴퓨터에 대한 명령어들, 예를 들어, 실행 코드는 컴퓨터 판독 가능 매체(800)에, 예를 들어, 일련의 머신 판독 가능 물리적 마크들(810)의 형태 및/또는 상이한 전기적, 예를 들어, 자기적 또는 광학적 특성들 또는 값들을 갖는 일련의 요소들로서 저장될 수 있다. 실행 코드는 일시적 또는 비일시적 방식으로 저장될 수 있다. 컴퓨터 판독 가능 매체의 예들은 메모리 디바이스들, 광학 저장 디바이스들, 집적 회로들, 서버들, 온라인 소프트웨어 등을 포함한다. 도 8은 광학 디스크(800)를 도시한다. 대안적으로, 컴퓨터 판독 가능 매체(800)는 본 명세서에서 설명된 방법에 따라 훈련된 모델을 나타내는 모델 데이터, 특히, 모델 출력을 획득하기 위해 모델을 입력 인스턴스에 적용하기 위한 정변환들의 파라미터들을 제공하는 모델 데이터 및/또는 입력 인스턴스를 생성하기 위해 모델의 역방향 모델을 사용하기 위한 역변환들의 파라미터들을 제공하는 모델 데이터를 나타내는 일시적 또는 비일시적 데이터(810)를 포함할 수 있다. 모델 데이터는 모델의 각자의 변환들의 파라미터들을 포함할 수 있으며, 각자의 변환들의 유형, 예를 들어, 추론 전사적, 생성적 전사적, 전단사적 또는 확률적 유형을 표시할 수 있다.
비제한적인 것으로 시사하든지 여부에 관계없이, 예들, 실시예들 또는 임의적 특징들은 청구된 바와 같이 본 발명을 제한하는 것으로 이해되어서는 안된다.
위에서 언급한 실시예들은 본 발명을 제한하기보다는 예시하며, 관련 기술분야의 통상의 기술자는 첨부된 청구항들의 범위를 벗어나지 않는 많은 대안적인 실시예들을 설계할 수 있을 것이라는 점에 유의해야 한다. 청구항들에서, 괄호들 안에 있는 임의의 참조 부호들은 청구항을 제한하는 것으로 해석되어서는 안된다. "포함하다"라는 동사와 그 활용형들의 사용은 청구항들에 명시된 것들 이외의 요소들 또는 단계들의 존재를 배제하지 않는다. 요소 앞의 관사 "a" 또는 "an"는 그러한 복수의 요소들의 존재를 배제하지 않는다. "적어도 하나"와 같은 표현들은 요소들의 목록 또는 그룹 앞에 있을 때 목록 또는 그룹으로부터 요소들의 전체 또는 임의의 서브세트의 선택을 나타낸다. 예를 들어, "A, B 및 C 중 적어도 하나"라는 표현은 A만, B만, C만, A와 B 둘 모두, A와 C 둘 모두, B와 C 둘 모두 또는 A, B 및 C의 모두를 포함하는 것으로 이해해야한다. 본 발명은 여러 별개의 요소들을 포함하는 하드웨어에 의해 그리고 적합하게 프로그램된 컴퓨터에 의해 구현될 수 있다. 여러 수단들을 열거하는 디바이스 청구항에서, 이러한 수단들 중 몇 가지는 하나의 동일한 항목의 하드웨어에 의해 구현될 수 있다. 특정 조치들이 상호 상이한 종속 항들에 언급되어 있다는 단순한 사실은 이러한 조치들의 조합이 이점으로 사용될 수 없다는 것을 시사하지 않는다.

Claims (15)

  1. 이미지 분류기를 훈련하는 컴퓨터에 의해 구현되는 방법(600) - 상기 이미지 분류기는 입력 이미지를 클래스들의 세트의 클래스로 분류하도록 구성됨 - 으로서,
    - 훈련 데이터세트에 액세스하는 단계(610) - 상기 훈련 데이터세트는 상기 클래스 세트로부터의 훈련 클래스로 레이블링된 적어도 하나의 레이블링된 훈련 이미지 및/또는 적어도 하나의 레이블링되지 않은 훈련 이미지를 포함함 -;
    - 상기 이미지 분류기에 대한 역방향 모델을 정의하는 단계(620) - 상기 이미지 분류기는 변환들의 세트를 포함하고, 상기 변환 세트는 적어도 하나의 결정론적 및 비단사적(non-injective) 변환을 포함하고, 상기 변환의 역원은 확률적 역변환에 의해 상기 역방향 모델에서 근사화됨 -;
    - 로그 우도 최적화(log-likelihood optimization)를 사용하여 상기 이미지 분류기를 훈련하는 단계(630)
    를 포함하고,
    상기 훈련하는 단계는,
    - 상기 훈련 데이터세트로부터 훈련 이미지를 선택하는 단계(632);
    - 상기 변환을 상기 변환의 변환 입력들에 적용하여 상기 변환의 변환 출력들을 획득하는 것을 포함하는, 상기 이미지 분류기를 상기 훈련 이미지에 적용하는 단계(634);
    - 상기 변환 출력들이 주어지면 상기 확률적 역변환이 상기 변환 입력들을 생성할 확률에 기초하여 상기 변환에 대한 우도 기여분(likelihood contribution)을 결정하는 단계(636);
    - 상기 훈련 이미지가 레이블링된 훈련 이미지이면, 상기 우도 기여분을 사용하여 상기 이미지 분류기에 의해 결정된 입력 이미지들 및 클래스들의 결합 확률 분포(joint probability distribution)에 따라 상기 레이블링된 훈련 이미지 및 그 레이블에 대한 로그 우도(log-likelihood)를 결정하는 단계(638);
    - 상기 훈련 이미지가 레이블링되지 않은 훈련 이미지이면, 상기 결정된 우도 기여분을 사용하여 상기 역방향 모델에 의해 생성되는 입력 이미지들의 확률 분포에 따라 상기 레이블링되지 않은 훈련 이미지에 대한 로그 우도를 결정하는 단계(639)
    를 포함하는, 방법(600).
  2. 제1항에 있어서,
    상기 훈련 이미지에 대한 상기 로그 우도를 결정하는 단계는 상기 변환 세트의 각자의 변환들에 대한 우도 기여분들의 합을 결정하는 단계를 포함하는, 방법(600).
  3. 제2항에 있어서,
    상기 이미지 분류기는 선형 전단사적 변환(linear bijective transformation) 및 슬라이싱 변환(slicing transformation)에 의해 주어진 조밀하게 연결된 컴포넌트를 포함하고, 상기 슬라이싱 변환은 상기 선형 전단사적 변환의 출력들의 서브세트를 선택하도록 구성되고, 상기 슬라이싱 변환의 역원은 상기 선형 전단사적 변환의 상기 선택된 출력들에 기초하여 상기 선형 전단사적 변환에 대해 선택되지 않은 출력들을 샘플링하도록 구성된 확률적 역변환에 의해 상기 역방향 모델에서 근사화되는, 방법(600).
  4. 제2항 또는 제3항에 있어서,
    상기 이미지 분류기는 제1 및 제2 변환 입력들이 주어지면 제1 변환 출력을 획득하기 위해 제1 변환 입력을 제2 변환 입력의 제1 함수와 결합하고, 상기 제2 변환 입력을 상기 제1 변환 출력의 제2 함수와 결합함으로써 상기 제1 및 제2 변환 출력들을 결정하도록 구성된 커플링 변환(coupling transformation)을 포함하고, 상기 제1 및 제2 함수들은 컨볼루션들인, 방법(600).
  5. 제1항 내지 제4항 중 어느 한 항에 있어서,
    상기 이미지 분류기는 변환 출력을 다수의 변환 입력들의 최대치로서 계산하는 최대 풀링 변환(max pooling transformation)을 포함하고, 상기 최대 풀링 변환의 역원은 최대 변환 입력의 인덱스 및 최대가 아닌 변환 입력들의 값들을 샘플링하도록 구성된 역변환에 의해 상기 역방향 모델에서 근사화되는, 방법(600).
  6. 제1항 내지 제5항 중 어느 한 항에 있어서,
    상기 이미지 분류기는 간격으로부터의 변환 입력을 상수로 매핑함으로써 변환 출력을 계산하도록 구성된 ReLU 변환(ReLU transformation)을 포함하고, 상기 ReLU 변환의 역원은, 상기 주어진 상수와 동일한 변환 출력이 주어지면, 상기 주어진 간격으로부터 변환 입력을 샘플링하도록 구성된 역변환에 의해 상기 역방향 모델에서 근사화되는, 방법(600).
  7. 제1항 내지 제6항 중 어느 한 항에 있어서,
    상기 이미지 분류기는 각자의 클래스들에 대한 클래스 확률들의 벡터를 결정하고, 출력 계층에서, 상기 벡터로부터 상기 클래스를 결정함으로써 상기 입력 이미지를 상기 클래스로 분류하도록 구성되고, 상기 출력 계층의 역원은 상기 결정된 클래스가 주어지면 상기 클래스 확률들의 벡터에 대한 조건부 확률 분포에 기초하여 상기 역방향 모델에서 근사화되는, 방법(600).
  8. 제1항 내지 제7항 중 어느 한 항에 있어서,
    상기 이미지 분류기는 결정론적 역변환(deterministic inverse transformation)을 갖는 확률적 변환(stochastic transformation)을 더 포함하고, 상기 방법은 상기 확률적 변환의 상기 변환 입력들이 주어지면 상기 변환이 상기 확률적 변환의 상기 변환 출력들을 생성할 확률에 기초하여 상기 확률적 변환의 우도 기여분을 계산하는 단계를 포함하는, 방법(600).
  9. 훈련된 이미지 분류기를 사용하는 컴퓨터에 의해 구현되는 방법(700) - 상기 훈련된 이미지 분류기는 입력 이미지를 클래스들의 세트의 클래스로 분류하도록 구성됨 - 으로서,
    - 상기 훈련된 이미지 분류기를 나타내는 모델 데이터에 액세스하는 단계(710) - 상기 이미지 분류기는 제1항 내지 제8항 중 어느 한 항의 상기 방법에 따라 훈련됨 -;
    - 상기 훈련된 이미지 분류기를,
    - 입력 이미지를 획득(720)하고 상기 입력 이미지를 상기 클래스 세트의 클래스로 분류하기 위해 상기 훈련된 이미지 분류기를 적용(722)함으로써, 및/또는,
    - 확률적 역변환(stochastic inverse transformation)에 따라 상기 변환의 변환 출력들에 기초하여 상기 훈련된 모델의 결정론적 및 비단사적 변환들의 변환 입력들을 샘플링하는 것을 포함하는, 합성 이미지를 생성하기 위해 상기 훈련된 이미지 분류기에 대한 상기 역방향 모델을 적용(730)
    함으로써 사용하는 단계
    를 포함하는, 방법(700).
  10. 제9항에 있어서,
    타겟 클래스를 획득하는 단계, 및 상기 타겟 클래스에 기초하여 상기 역방향 모델을 적용하여 상기 타겟 클래스를 나타내는 합성 이미지를 생성하는 단계를 포함하는, 방법(700).
  11. 제9항 또는 제10항에 있어서,
    상기 역방향 모델을 적용함으로써 다수의 이미지들을 생성하는 단계, 및 상기 생성된 이미지들을 머신 학습 모델을 훈련시키는 훈련 및/또는 테스트 데이터로서 사용하는 단계를 포함하는, 방법(700).
  12. 제9항에 있어서,
    상기 이미지 분류기는 상기 클래스로 상기 분류하는 것의 신뢰도 점수를 결정하도록 추가로 구성되는, 방법(700).
  13. 이미지 분류기를 훈련하기 위한 시스템(100) - 상기 이미지 분류기는 입력 이미지를 클래스들의 세트의 클래스로 분류하도록 구성됨 - 으로서,
    - 훈련 데이터세트(030)에 액세스하기 위한 데이터 인터페이스(120) - 상기 훈련 데이터세트는 상기 클래스 세트로부터의 훈련 클래스로 레이블링된 적어도 하나의 레이블링된 훈련 이미지 및/또는 적어도 하나의 레이블링되지 않은 훈련 이미지를 포함함 -;
    - 프로세서 서브시스템(140)
    을 포함하고,
    상기 프로세서 서브시스템은,
    - 상기 이미지 분류기에 대한 역방향 모델을 정의하고 - 상기 이미지 분류기는 변환들의 세트를 포함하고, 상기 변환 세트는 적어도 하나의 결정론적 및 비단사적 변환을 포함하고, 상기 변환의 역원은 확률적 역변환에 의해 상기 역방향 모델에서 근사화됨 -;
    - 로그 우도 최적화를 사용하여 상기 이미지 분류기를 훈련하도록 구성되고,
    상기 훈련하는 것은,
    - 상기 훈련 데이터세트로부터 훈련 이미지를 선택하는 것;
    - 상기 변환을 상기 변환의 변환 입력들에 적용하여 상기 변환의 변환 출력들을 획득하는 것을 포함하는, 상기 이미지 분류기를 상기 훈련 이미지에 적용하는 것;
    - 상기 변환 출력들이 주어지면 상기 확률적 역변환이 상기 변환 입력들을 생성할 확률에 기초하여 상기 변환에 대한 우도 기여분을 결정하는 것;
    - 상기 훈련 이미지가 레이블링된 훈련 이미지이면, 상기 결정된 우도 기여분을 사용하여 상기 이미지 분류기에 의해 결정된 입력 이미지들 및 클래스들의 결합 확률 분포에 따라 상기 레이블링된 훈련 이미지 및 그 레이블에 대한 로그 우도를 결정하는 것;
    - 상기 훈련 이미지가 레이블링되지 않은 훈련 이미지이면, 상기 결정된 우도 기여분을 사용하여 상기 역방향 모델에 의해 생성되는 입력 이미지들의 확률 분포에 따라 상기 레이블링되지 않은 훈련 이미지에 대한 로그 우도를 결정하는 것
    을 포함하는, 시스템(100).
  14. 훈련된 이미지 분류기를 사용하기 위한 시스템(200) - 상기 훈련된 이미지 분류기는 입력 이미지를 클래스들의 세트의 클래스로 분류하도록 구성됨 - 으로서,
    - 상기 훈련된 이미지 분류기를 나타내는 모델 데이터(040)에 액세스하기 위한 데이터 인터페이스(220) - 상기 이미지 분류기는 제1항 내지 제8항 중 어느 한 항의 상기 방법에 따라 훈련됨 -;
    - 프로세서 서브시스템(240)
    을 포함하고,
    상기 프로세서 서브시스템은
    - 입력 이미지를 획득하고 상기 입력 이미지를 상기 클래스 세트의 클래스로 분류하기 위해 상기 훈련된 이미지 분류기를 적용함으로써, 및/또는,
    - 확률적 역변환에 따라 상기 변환의 변환 출력들에 기초하여 상기 훈련된 모델의 결정론적 및 비단사적 변환들의 변환 입력들을 샘플링하는 것을 포함하는, 합성 이미지를 생성하기 위해 상기 훈련된 이미지 분류기에 대한 상기 역방향 모델을 적용함으로써
    상기 훈련된 이미지 분류기를 사용하도록 구성되는, 시스템(200).
  15. 일시적 또는 비일시적 데이터(810)를 포함하는 컴퓨터 판독 가능 매체(800)로서,
    상기 일시적 또는 비일시적 데이터는,
    - 프로세서 시스템에 의해 실행될 때, 상기 프로세서 시스템으로 하여금 제1항 내지 제8항 중 어느 한 항 및/또는 제9항 내지 제12항 중 어느 한 항에 따른 상기 컴퓨터에 의해 구현되는 방법을 수행하게 하는 명령어들;
    - 제1항 내지 제8항 중 어느 한 항의 상기 컴퓨터에 의해 구현되는 방법에 따라 훈련된 이미지 분류기를 나타내는 모델 데이터
    중 하나 이상을 나타내는, 컴퓨터 판독 가능 매체(800).
KR1020210085705A 2020-07-03 2021-06-30 비단사적 변환을 포함하는 이미지 분류기 KR20220004933A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP20183862.0 2020-07-03
EP20183862.0A EP3933692A1 (en) 2020-07-03 2020-07-03 An image classifier comprising a non-injective transformation

Publications (1)

Publication Number Publication Date
KR20220004933A true KR20220004933A (ko) 2022-01-12

Family

ID=71465150

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210085705A KR20220004933A (ko) 2020-07-03 2021-06-30 비단사적 변환을 포함하는 이미지 분류기

Country Status (5)

Country Link
US (1) US20220012549A1 (ko)
EP (1) EP3933692A1 (ko)
JP (1) JP2022013919A (ko)
KR (1) KR20220004933A (ko)
CN (1) CN113963227A (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11636286B1 (en) * 2020-05-01 2023-04-25 Amazon Technologies, Inc. Concurrent ensemble model training for open sets
CN114580521B (zh) * 2022-02-28 2023-04-07 中国科学院软件研究所 一种知识与数据共同驱动的人像构图指引方法及装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10007866B2 (en) * 2016-04-28 2018-06-26 Microsoft Technology Licensing, Llc Neural network image classifier

Also Published As

Publication number Publication date
US20220012549A1 (en) 2022-01-13
EP3933692A1 (en) 2022-01-05
JP2022013919A (ja) 2022-01-18
CN113963227A (zh) 2022-01-21

Similar Documents

Publication Publication Date Title
CN109754078B (zh) 用于优化神经网络的方法
CN106796580B (zh) 用于处理多个异步事件驱动的样本的方法、装置和介质
US10776691B1 (en) System and method for optimizing indirect encodings in the learning of mappings
KR20200132727A (ko) 다수의 섭동 유형들에 대해 강건한 분류
KR20220004933A (ko) 비단사적 변환을 포함하는 이미지 분류기
EP3913538A1 (en) Classification model calibration
EP3789924A1 (en) Stochastic data augmentation for machine learning
KR102597787B1 (ko) 멀티스케일 딥 평형 모델들을 위한 시스템 및 방법
CN115605878A (zh) 使用基于自注意力的神经网络处理图像
EP3929814A1 (en) Making time-series predictions using a trained decoder model
US20210019621A1 (en) Training and data synthesis and probability inference using nonlinear conditional normalizing flow model
US11921817B2 (en) Unsupervised training of a video feature extractor
CN114418030A (zh) 图像分类方法、图像分类模型的训练方法及装置
CN112241756A (zh) 具有标准化流的机器可学习系统
US20230068516A1 (en) On-the-fly calibration of an image classifier
JP2020191088A (ja) 半定値計画問題を解く層を有するニューラルネットワーク
JP6935868B2 (ja) 画像認識装置、画像認識方法、およびプログラム
US20210133567A1 (en) Determining an output signal by aggregating parent instances
US11804034B2 (en) Training a function to respond predictably to differences
US20220277554A1 (en) Image analysis model comprising a discrete coupling layer
US11995151B2 (en) Image generation model based on log-likelihood
US20220277559A1 (en) Image analysis model comprising an integer coupling layer
KR20220156470A (ko) 상대적 객체 스케일을 추정하기 위한 머신 학습가능 모델의 훈련
JP2024045070A (ja) ロングテール分類用のマルチ教師グループ蒸留のためのシステム及び方法
EP3796220A1 (en) Training a generator based on a confidence score provided by a discriminator