KR20230032985A - 이미지 분류기의 즉석 보정 - Google Patents

이미지 분류기의 즉석 보정 Download PDF

Info

Publication number
KR20230032985A
KR20230032985A KR1020220109168A KR20220109168A KR20230032985A KR 20230032985 A KR20230032985 A KR 20230032985A KR 1020220109168 A KR1020220109168 A KR 1020220109168A KR 20220109168 A KR20220109168 A KR 20220109168A KR 20230032985 A KR20230032985 A KR 20230032985A
Authority
KR
South Korea
Prior art keywords
training
image
label
classifier
image classifier
Prior art date
Application number
KR1020220109168A
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 KR20230032985A publication Critical patent/KR20230032985A/ko

Links

Images

Classifications

    • 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
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent
    • 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/0464Convolutional networks [CNN, ConvNet]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/09Supervised learning
    • 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/46Descriptors for shape, contour or point-related descriptors, e.g. scale invariant feature transform [SIFT] or bags of words [BoW]; Salient regional features
    • G06V10/469Contour-based spatial representations, e.g. vector-coding
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/74Image or video pattern matching; Proximity measures in feature spaces
    • G06V10/75Organisation of the matching processes, e.g. simultaneous or sequential comparisons of image or video features; Coarse-fine approaches, e.g. multi-scale approaches; using context analysis; Selection of dictionaries
    • G06V10/751Comparing pixel values or logical combinations thereof, or feature values having positional relevance, e.g. template matching
    • 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/771Feature selection, e.g. selecting representative features from a multi-dimensional feature space
    • 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/98Detection or correction of errors, e.g. by rescanning the pattern or by human intervention; Evaluation of the quality of the acquired patterns
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/50Context or environment of the image
    • G06V20/56Context or environment of the image exterior to a vehicle by using sensors mounted on the vehicle
    • G06V20/58Recognition of moving objects or obstacles, e.g. vehicles or pedestrians; Recognition of traffic objects, e.g. traffic signs, traffic lights or roads
    • G06V20/582Recognition of moving objects or obstacles, e.g. vehicles or pedestrians; Recognition of traffic objects, e.g. traffic signs, traffic lights or roads of traffic signs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/70Labelling scene content, e.g. deriving syntactic or semantic representations

Landscapes

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

Abstract

본 발명은 이미지 분류기를 훈련하는 방법(700)에 관한 것이다. 이미지 분류기는 입력 이미지에 대한 클래스 확률들의 예측 벡터를 결정한다. 먼저, 하나 이상의 초기 훈련 단계가 수행되어 이미지 분류기의 훈련가능한 파라미터들에 대한 현재 값들을 야기한다. 훈련 이미지 및 대응하는 클래스 레이블이 선택되고, 훈련 이미지에 대한 이미지 분류기를 훈련하기 위한 현재 레이블 벡터가 결정된다. 이를 위해, 현재 파라미터 값들에 따라 훈련 이미지에 이미지 분류기가 적용된다. 이미지 분류기에 의해 예측된 클래스가 클래스 레이블과 동일한 경우, 현재 레이블 벡터는 예측 벡터에 기초하여 소프트 레이블로서 결정된다. 훈련 이미지에 대해 이미지 분류기를 훈련하는 현재 훈련 단계는 현재 레이블 벡터를 사용하여 수행된다.

Description

이미지 분류기의 즉석 보정{ON-THE-FLY CALIBRATION OF AN IMAGE CLASSIFIER}
본 발명은 이미지 분류기를 훈련하는 컴퓨터로 구현된 방법(computer-implemented method) 및 대응하는 시스템에 관한 것이다. 본 발명은 또한 훈련된 이미지 분류기를 사용하는 컴퓨터로 구현된 방법 및 대응하는 시스템에 관한 것이다. 본 발명은 또한 컴퓨터 판독가능한 매체에 관한 것이다.
심층 신경망들과 같은 이미지 분류를 위한 머신 러닝가능 기술들은 오늘날 컴퓨터 비전 태스크들에서 기존 방법들을 능가할 수 있으며, 운전자 지원 시스템 및 의료 이미징과 같은 삶에 중요한 애플리케이션들에 점점 더 많이 배치되고 있다. 이러한 유형의 애플리케이션에서는, 이미지 분류기가 올바른 분류를 출력하는 것(예를 들어, 멀티-클래스 분류에서 이미지에 대한 올바른 클래스를 예측하거나, 객체 검출에서 이미지 내의 올바른 객체(들)를 검출하거나, 이미지 분할에서 입력 이미지의 각각의 부분들에 대한 올바른 클래스들을 예측하는 것)만이 중요하지는 않다. 이미지 분류기가 가능성들(likelihoods)을 정확하게 추정할 수 있는 것, 예를 들어 클래스에 대해 해당 클래스가 올바를 가능성을 정확하게 나타내는 클래스 확률을 출력할 수 있는 것이 또한 중요하다. 예를 들어, 운전자 지원 시스템은 이러한 확률들을 사용하여 환경의 다른 이용가능한 측정들에 대하여 분류의 중요성을 가중하거나, 이미지 분류기가 확신하지 못하는 경우 안전 모드로 전환할 수 있다.
많은 이미지 분류기가 처음 보는 데이터(unseen data)에 대한 올바른 가능성을 추정하지 못하는 것으로 알려져 있다. 이 현상은 오보정(miscalibration)이라고 지칭되며 종종 이미지 분류기의 과도 신뢰(over-confidence)로 이어진다. 이것은 높은 보증 세팅들(high-assurance settings)에 대한 문제이다. 예를 들어, 자율 주행 자동차가 매우 높은 신뢰도를 갖고서 정지 표지판을 속도 제한 없음 표지판으로 인식할 수 있는 경우, 사고가 발생하여 인명을 위협할 수 있다. 그 정확도와 일치하는 적절한 신뢰도로 예측들을 출력하는 분류기들이 요구된다. 그라운드 트루스(ground truth)로부터의 신뢰도의 편차는 예를 들어, 예상 보정 에러(Expected Calibration Error) 및 음의 로그 가능성(Negative Log Likelihood)과 같은 다양한 메트릭에 따라 측정될 수 있다.
일반적으로, 이미지 분류기의 보정을 개선하기 위해 사후 보정(post-hoc calibration)과 즉석 보정(on-the-fly calibration)의 두 가지 유형의 기술이 알려져 있다. 사후 보정에서, 이미지 분류기 자체는 변경되지 않은 채로 남아있지만, 훈련된 보정 모델이 그것의 출력들에 적용된다. 즉석 보정은 이미지 분류기가 훈련되는 방식을 변경한다. 공지된 즉석 보정 방법은 레이블 평활화(Label Smoothing)라고 지칭되며, C. Szegedy 등의 "컴퓨터 비전을 위한 인셉션 아키텍처의 재고(Rethinking the Inception Architecture for Computer Vision)", Proceedings CVPR 2016(https://arxiv.org/abs/1512.00567에서 입수가능하고 본 명세서에 참조로 포함됨)에 개시된다. 클래스 레이블들의 원-핫 인코딩들(one-hot encodings)을 나타내는 레이블 벡터들을 사용하여 이미지 분류기를 훈련하는 대신에, 레이블 평활화는 레이블 벡터들의 모든 비-타겟 클래스에 작지만 제로는 아닌 확률 질량을 할당한다. 이는 결과적으로, 그라운드 트루스 분포가 덜 뾰족하기 때문에, 평가 샘플들에 대해 더 낮은 신뢰도를 출력하는 이미지 분류기들이 야기된다. 이것이 과도 신뢰 문제를 줄여주지만, 여전히 이미지 분류기들의 가능성 추정을 더 개선할 필요가 있다.
본 발명의 제1 양태에 따르면, 각각 청구항 1 및 13에 의해 정의된 바와 같이, 이미지 분류기를 훈련하는 컴퓨터로 구현된 방법 및 대응하는 시스템이 제공된다. 본 발명의 다른 양태에 따르면, 각각 청구항 10 및 14에 의해 정의된 바와 같이, 훈련된 이미지 분류기를 사용하는 컴퓨터로 구현된 방법 및 대응하는 시스템이 제공된다. 본 발명의 양태에 따르면, 컴퓨터 판독가능한 매체는 청구항 15에 의해 정의된 바와 같이 기술된다.
다양한 양태들은 이미지 분류를 위한 즉석 보정 기술, 및 이러한 즉석 보정 기술에 따라 훈련된 이미지 분류기들에 관한 것이다. 이미지 분류기는 입력 이미지에 대한 예측 벡터를 결정하도록 구성될 수 있다. 예측 벡터는 복수의 개별 클래스에 대해, 예를 들어 이미지 분류기가 멀티 클래스 분류기인 경우에는 전체 이미지에 대해, 또는 이미지 분류기가 멀티 클래스 의미론적 분할 모델인 경우에는 입력 이미지의 각각의 부분들에 대해, 클래스 확률들을 포함할 수 있다. 제공된 기술들의 목적은 이미지 분류기에 의해 출력되는 클래스 확률들에 의해 형성되는 가능성 추정들을 개선하는 것이다.
이미지 분류기는 각각의 훈련 단계들을 수행함으로써 훈련될 수 있다. 이러한 훈련 단계에서, 이미지 분류기는 그것의 훈련가능한 파라미터들의 현재 값들에 따라 훈련 이미지에 적용되어 현재 예측 벡터를 야기할 수 있다. 훈련 신호는 현재 예측 벡터와 레이블 벡터를 비교함으로써 도출될 수 있다. 종래 기술에서, 이러한 레이블 벡터는 전형적으로 알려진 클래스 레이블의 원-핫 인코딩이다. 레이블 평활화에서, 이러한 원-핫 인코딩이 평활화된다. 이러한 훈련 신호에 기초하여, 이미지 분류기의 훈련가능한 파라미터들은 예를 들어 경사 하강법에 의해 업데이트될 수 있다. 전형적으로, 이미지 분류기의 훈련은 예를 들어 복수의 에포크(epoch)에 걸쳐 수행되는 복수의 그러한 훈련 단계를 포함한다.
본 발명자들은 알려진 레이블 평활화가 작동하는 방식을 연구했고 그것의 효능을 약화시키는 다수의 요인을 발견했다. 특히, 레이블 평활화는 훈련 전반에 걸쳐 일정한 평활화 계수를 사용하고, 이는 오보정을 완화하는 그것의 효능을 감소시킨다. 본 발명자들은 레이블 평활화가 훈련의 초기 단계들에서 과도 신뢰를 감소시킬 수 있지만, 나중의 훈련 단계에서는 이전 평활화 계수가 지나치게 크고 모델의 현재 상태에 맞지 않는다는 것을 발견했다. 다시 말해서, 본 발명자들은 레이블 평활화가 실질적으로 오버킬(overkill)하고 훈련의 나중 단계에서 일부 예측들을 과소 신뢰적이게 한다는 것을 인식했다. 이러한 새로운 오보정의 도입으로 인해, 레이블 평활화는 훈련이 끝날 때 기준선보다 그 이점을 축소시킬 수 있다.
알려진 레이블 평활화의 다른 양태는 그 비-타겟 클래스들에 대한 균일 분포의 사용이다. 비-타겟 클래스들의 더 정확한 상대 에러가 더 효과적인 훈련 신호로 이어지기 때문에, 이는 바람직하지 않다. 예를 들어, "자동차"는 "당근"보다 "트럭"과 더 많은 특징을 공유하기 때문에, 임의의 "자동차" 이미지가 "트럭"에 대해 잘못 분류될 확률은 "당근"에 대해 잘못 분류되는 것보다 클 것으로 예상될 수 있다. 본 발명자들이 인식하는 바와 같이, 레이블 평활화는 이러한 상대적인 에러 정보를 효과적으로 제거하여 차선의 훈련 성능을 야기한다.
알려진 레이블 평활화의 또 다른 양태는 그것의 클래스 내의 모든 샘플에 대해 동일한 레이블을 취한다는 것이다. 예를 들어, CIFAR-100 데이터세트의 "아기(baby)" 클래스에서, 일부 샘플들은 "여자 아기(baby girl)"인 한편 다른 샘플들은 "남자 아기(baby boy)"이다. 둘 다에 대한 타겟 클래스 "아기" 외에도, 이러한 클래스들에 걸쳐 공유되는 특징들을 고려하면, 전자의 샘플 그룹에 대해서는 비-타겟 클래스 "소녀(girl)"에 대한 더 큰 확률 질량이 예상될 수 있는 반면, 후자에 대해서는 비-타겟 클래스 "소년(boy)"에 대한 더 큰 확률 질량이 합리적이다. 본 발명자들은 레이블 평활화가 이러한 종류의 적응성을 고려하지 않기 때문에 오보정을 줄이는 데 있어서 효율성이 감소한다는 것을 인식했다.
흥미롭게도, 본 발명자들은 종래 기술의 이미지 분류기들에 의해 제공되는 가능성 추정들을 개선하는 효과적인 즉석 보정 기술을 발견했다. 이러한 기술에 따르면, 이미지 분류기는, 이미지 분류기가 현재 올바르게 분류하는 훈련 이미지들에 대해 이미지 분류기 자체에 의해 출력된 예측 벡터에 기초하여 소프트 레이블들로서 결정되는 레이블 벡터들을 사용하여 훈련된다. 소프트 레이블은 원-핫 인코딩이라고도 알려진 하드 레이블과 달리, 제로가 아닌 복수의 확률을 포함하는 레이블 벡터이다.
일반적으로, 이미지 분류기의 훈련 동안의 한 지점에서, 하나 이상의 초기 훈련 단계가 수행되어, 이미지 분류기의 훈련가능한 파라미터들에 대한 현재 파라미터 값들이 생성된다. 이미지 분류기는 보정된 레이블 벡터들을 결정하기 위해 이러한 현재 파라미터 값들에 따라 사용될 수 있다. 즉, 이미지 분류기는 현재 파라미터 값들에 따라 훈련 이미지에 적용될 수 있고, 그에 의해 훈련 이미지들에 대한 클래스 확률들의 예측 벡터를 야기한다. 예측된 클래스는 예측 벡터로부터 추론될 수 있고, 훈련 데이터세트의 그라운드 트루스 클래스 레이블과 비교될 수 있다. 예측된 클래스가 클래스 레이블과 동일한 경우, 소프트 레이블은 예측 벡터에 기초하여 결정될 수 있고 후속 훈련 단계들을 위해 사용될 수 있다.
따라서, 제공된 기술들에 따르면, 이미지 분류기의 훈련 단계는 이미지 분류기의 현재 상태, 또는 예를 들어 현재 또는 이전 훈련 단계에서 결정된, 적어도 비교적 최근의 것에 기초하여 결정되는 레이블 벡터를 사용하여 수행될 수 있다. 특히, 훈련 동안의 한 지점에서, 이미지 분류기는 레이블 벡터를 결정하는 것, 및 예를 들어 경사 하강법에 의해 파라미터들이 업데이트되는 훈련 단계를 수행하는 것 둘 다를 위해, 동일한 파라미터 세트에 따라 사용될 수 있다. 레이블 벡터들은 훈련 동안, 예를 들어 고정된 수의 훈련 에포크가 수행된 후에 또는 매 훈련 단계마다 한 번씩, 복수 회 업데이트될 수 있다. 이에 의해, 이미지 클래스를 훈련하는 데 사용되는 현재 레이블 벡터들은 이미지 분류기의 시간적으로 보정된 올바른 예측들에 기초하여 결정될 수 있다.
예측에 의한 레이블 평활화(Label Smoothing from Predictions)(LSP)라고 지칭되는, 제공되는 즉석 보정 기술은 다수의 이점을 갖는다. 예측들을 소프트 레이블들로서 사용함으로써, 훈련은 이미지 분류기가 의미론적으로 모호하고 부적절하게 레이블링된 샘플들에 대해 높은 신뢰도를 생성하는 것을 능동적으로 중지한다. 반면에, 예측들이 사용되기 때문에, 그것은 불필요한 과소 신뢰를 도입하지 않는다. 결과로서, 제공된 기술들이 다양한 데이터세트들 및 이미지 분류기 아키텍처들에 걸쳐 최신 기술들을 능가하는 것으로 나타났다. LSP는 또한 상이한 사후 보정 방법들과 광범위한 훈련 기술들 및 스케줄들과의 양호한 호환성을 보여준다. 예를 들어, 적절한 훈련 스케줄이 알려진 이미지 분류기가 주어지면, 이미지 분류기는 하이퍼파라미터 커스텀화가 거의 또는 전혀 없는 동일한 훈련 스케줄을 사용하여 LSP로 재훈련될 수 있다. 사후 보정과 비교하여, 사후 보정을 훈련하기 위한 추가 홀드아웃 세트가 필요하지 않기 때문에, 제공된 기술들은 추가 보정 컴포넌트를 갖는 오버헤드를 피하고 더 적은 훈련 데이터를 요구하면서, 향상된 효능을 갖는다. 베이지안 모델들과 같은 완전 확률 모델들(fully probabilistic models)과 비교할 때, 본 명세서에 설명된 바와 같이 훈련된 이미지 분류기들은 훈련 및 사용에 더 효율적이므로, 더 크고 복잡한 데이터에 적용가능하며 전형적으로 더 높은 정확도를 또한 제공한다.
특히, 본 발명자들은 오보정을 유발할 수 있는 여러 유형의 훈련 이미지들을 식별했다. 이러한 유형들 중 하나 이상의 유형의 훈련 이미지들을 포함하는 훈련 데이터세트들에 대해, 제공된 기술들이 특히 효과적이다. 일반적으로, 이러한 유형들의 훈련 이미지들은 의미론적으로 모호하고/거나 부적절하게 레이블링된다. 특히, 이하의 6가지 유형이 식별되었다: (a) 동일한 이미지 내에 복수의 객체, 예를 들어 기차와 숲이 공존하는 것; (b) 단일 객체가 두 개의 클래스에 속하는 것, 예를 들어 객체는 동시에 단풍나무 및 숲일 수 있음; (c) 단일 객체가 인식불가능한 것, 예를 들어 낮은 해상도, 불량한 조명 또는 유사한 특징들로 인해, 그것이 캥거루인지 다람쥐인지 말하기가 어려움; (d) 단일 객체가 그것의 클래스에 있어서 비정형인 것, 예를 들어 훈련 세트 내의 대부분의 배(pear)는 실제 객체들인 것처럼 보이지만 이 배는 만화처럼 보임; (e) 단일 객체가 가려지는 것, 예를 들어 악어의 머리가 가려짐; (f) 단일 객체가 부적절하게 레이블링되는 것, 예를 들어 훨씬 더 적절한 레이블은 평지가 아니라 도로임. 종래 기술들에 따르면, 하드 레이블들은 이미지 분류기가 이러한 샘플들에 대해 100% 신뢰도로 예측들을 출력하고 그들의 고유한 불확실성을 무시하도록 장려한다. 결과로서, 훈련된 이미지 분류기는 이러한 샘플들에 오버피팅(overfit)되고 오보정될 수 있다. 반대로, LSP는 보정된 소프트 레이블들을 사용하여 이미지 분류기를 훈련하므로, 수정된 그라운드 트루스에서 자연스러운 불확실성을 유지하고 이미지 분류기가 덜 과도 신뢰되게 한다.
중요하게도, 훈련에 사용되는 레이블 벡터들은 이미지 분류기 자체의 예측들에 기초할 수 있으며 이미지 분류기의 훈련이 진행됨에 따라 업데이트될 수 있다. 이것은 다른 사전 훈련된 분류기에 의한 예측들을 사용하는 지식 정제 기술들(knowledge distillation techniques)과 대조된다. 이러한 기술들은 예를 들어 더 고급 모델을 사용하여 더 간단한 모델을 훈련하는 데 유용할 수 있지만, 제공된 기술들로 수행되는 것처럼 과도한 신뢰를 줄이는 데는 도움이 되지 않는다.
본 명세서에 설명된 바와 같이 훈련된 이미지 분류기들은 다양한 방식으로 사용될 수 있다. 입력 이미지가 주어지면, 입력 이미지에 대한 예측 벡터를 결정하기 위해 이미지 분류기가 적용될 수 있고, 예측 벡터에 기초하여 예측이 출력될 수 있다. 예측은 예를 들어 클래스로의 분류, 특정 클래스에 대한 클래스 확률, 또는 클래스 확률들의 예측 벡터 자체일 수 있다. 예를 들어, 제공된 기술들을 사용함으로써, 더 정확하고 따라서 예를 들어 제어 시스템에서 더 안전하게 사용될 수 있는 예측된 클래스 확률들이 출력될 수 있다. 또한, 이미지 분류기의 분류들이 더 정확할 수 있으며, 특히 이미지 분류기가 처음 보는 예들(unseen examples)에 더 잘 일반화된다는 것도 발견되었다. 따라서, 단지 특정 클래스로의 분류를 출력할 때에도, 설명된 바와 같이 훈련된 분류기들이 유리하다. 또한, 역시 다른 곳에서 논의된 바와 같이, 분포-외 샘플들(out-of-distribution samples)을 인식하는 능력의 향상도 발견되었다. 마지막으로, 특징 추출기로서의 이미지 분류기의 성능도 향상된다. 이를 위해, 입력 이미지에 전체 이미지 분류기를 적용하는 대신에 초기 부분만이 적용될 수 있는데, 예를 들어 컨볼루션 부분에 후속하여 아마도 모델의 완전 연결 레이어들의 서브세트가 이어질 수 있고, 그에 의해 입력 이미지의 특징 공간 표현(feature space representation)을 획득한다. 또한, 이러한 특징 공간 표현은 제공된 기술들의 사용으로 인해, 처음 보는 예들에 더 잘 일반화되는 것으로 나타났다.
임의적으로(optionally), 훈련 이미지의 결정된 현재 레이블 벡터는 훈련 이미지에 대해 이미지 분류기를 훈련하는 복수의 훈련 단계에서 사용될 수 있다. 예를 들어, 레이블 벡터는 훈련 데이터세트의 훈련 이미지에 대해 결정될 수 있고, 그 후 이 레이블 벡터를 사용하여, 훈련의 복수의 에포크, 예를 들어 적어도 10 또는 적어도 20 에포크가 수행될 수 있다. 이것은 이미지에서 수행되는 각각의 훈련 단계에 대해 이미지의 레이블 벡터를 업데이트하는 것과 비교하여 훈련의 효율성과 안정성을 증가시킨다. 본질적으로, 이는 레이블 벡터가 훈련의 수렴이 불가능한 움직이는 타겟이 되는 것을 방지한다.
임의적으로, 이미지 분류기를 훈련하는 하나 이상의 초기 훈련 단계는 이미지 분류기와 독립적으로 결정되는 레이블 벡터들을 사용하여, 예를 들어 클래스 레이블들의 원-핫 인코딩으로서 수행될 수 있다. 따라서, 훈련은 클래스 레이블들로부터 도출되는 레이블 벡터들이 사용되는 제1 부분에 이어, 올바른 분류들을 위해 예측 벡터들에 기초하는 소프트 레이블들이 사용되는 제2 부분을 포함할 수 있고, 소프트 레이블들은 이러한 제2 부분 동안 임의적으로 업데이트된다. 제1 부분에서는, 훈련의 제2 부분이 특히 효과적일 수 있도록 충분한 정확도와 편향의 제거에 도달할 수 있다. 이러한 초기 훈련 단계들을 수행하지 않으면, 훈련된 이미지 분류기의 성능이 저하될 수 있다. 양호한 선택은 제1 부분이 예를 들어 학습률의 제1 감쇠(decaying) 후의 미리 정의된 수의 에포크(예를 들어, 1 또는 2)까지 지속되는 것이다.
임의적으로, 훈련은 복수의 훈련 단계에서 수행될 수 있으며, 여기서 이러한 훈련 단계는 학습률 감쇠로 시작한다. 다수의 훈련 단계가 수행된 후에만, 예를 들어 훈련 단계 내로 1, 2 또는 다른 고정된 수의 에포크가 수행된 후에만, 그러한 훈련 단계 동안 레이블 벡터들을 업데이트하는 것이 유리한 것으로 나타났다. 이는 업데이트된 레이블 벡터들이 학습률 감쇠에 연관된 신뢰도 및 정확도 증대를 사용할 수 있다는 장점을 갖는데, 왜냐하면 이러한 증대는 전형적으로 다수의 훈련 단계를 거쳐야 하기 때문이다. 다음으로, 훈련 단계의 나머지 부분은 예를 들어 업데이트된 레이블 벡터들 및 감쇠된 학습률을 사용할 수 있다.
특히, 이미지 분류기의 하나 이상의 이전 훈련 단계는 이전 학습률들에 따라, 그리고 이전 레이블 벡터들에 따라 수행될 수 있으며, 그 후에 이전 학습률이 감쇠될 수 있다. 학습률 감쇠 후, 감쇠된 학습률 및 이전 레이블 벡터들을 사용하여 이미지 분류기를 훈련하는 하나 이상의 추가 훈련 단계가 수행될 수 있고, 이는 훈련가능한 파라미터들에 대한 업데이트된 파라미터 값들로 이어진다. 다음으로, 훈련 이미지들에 대한 레이블 벡터들은 업데이트된 파라미터 값들에 따라 이미지 분류기를 적용함으로써 업데이트될 수 있고, 다음으로, 업데이트된 레이블 벡터들은 단계의 추가 훈련 단계를 수행하기 위해 사용될 수 있다. 예를 들어, 레이블 벡터들은 각각의 학습률 감쇠 후마다, 매 2회 학습률 감쇠 후마다 등으로 업데이트될 수 있다.
임의적으로, 학습률의 감소와 레이블 벡터의 업데이트 사이에 수행되는 훈련 단계는 하나의 훈련 에포크를 형성한다. 이는 언급된 증대가 충분히 효과를 나타내기 시작하는 것을 허용하지만 단계의 나머지 부분이 업데이트된 레이블들을 사용하는 것을 허용하므로, 대부분의 아키텍처들 및 데이터세트들에 양호한 선택인 것으로 나타났다.
임의적으로, 이미지 분류기에 의해 훈련 이미지에 대해 예측된 클래스가 해당 훈련 이미지에 대한 클래스 레이블과 동일하지 않은 경우, 현재 레이블 벡터는 예측 벡터와 독립적으로 클래스 레이블에 기초하여 결정될 수 있다. 예를 들어, 레이블 벡터는 클래스 레이블의 원-핫 인코딩으로 설정될 수 있다. 예를 들어 종래 기술의 레이블 평활화에 따라 소프트 레이블을 사용하는 것도 가능하지만, 하드 원-핫 인코딩을 사용하는 것이 더 바람직한 것으로 나타났고: 이는 모델이 이미지를 올바르게 분류하도록 장려하고, 소프트 레이블을 사용할 필요가 없도록, 그 잘못된 예측에서의 모델의 신뢰도를 감소시키는 효과를 이미 갖는다.
임의적으로, 제공된 기술들은 사후 보정 모델과 결합될 수 있다. 사후 보정 모델은 예측 벡터로부터 현재 레이블 벡터를 결정하기 위해 훈련 동안 적용될 수 있다. 예측된 클래스는 원래의 예측 벡터로부터 또는 사후 분류 결과로부터 추론될 수 있고; 사후 분류는 전형적으로 예측된 클래스에 영향을 미치지 않기 때문에 둘 다 가능하다. 그러나, 훈련 단계의 일부로 이미지 분류기를 적용할 때는 사후 분류가 적용되지 않는다. 사용 시, 사후 보정 모델은 이미지 분류기에 의해 결정된 예측 벡터에 적용될 수 있다. 흥미롭게도, 본 명세서에 설명된 바와 같은 즉석 보정을 사후 보정 방법과 결합함으로써, 그리고 특히 즉석 보정 기반 훈련 동안 이미 사후 보정을 사용함으로써, 두 기술을 별도로 적용하는 것보다 전반적으로 더 양호한 보정된 가능성들이 획득될 수 있음이 발견되었다. 다양한 사후 보정 방법들, 예를 들어 온도 스케일링(Temperature Scaling) 및 잠재 가우시안 프로세스들(latent Gaussian processes)과 같은 스케일링 방법들; 또는 히스토그램 비닝, 특히 I-MAX와 같은 비닝 방법들(binning methods)이 그 자체로 알려져 있고 여기에서 사용될 수 있다.
임의적으로, 사후 보정 모델은 예를 들어 사후 보정 모델이 이미지 분류기의 파라미터 값들의 새로운 세트에 적용될 때마다 이미지 분류기에 대해 훈련될 수 있다. 이렇게 하면, 훈련 전반에 걸쳐 사후 보정 모델이 이미지 분류기와 함께 발전할 수 있다.
임의적으로, 사용 시에, 훈련된 이미지 분류기는 이미지 분류기에 의해 출력된 예측 벡터로부터 입력 이미지에 대한 분포-외 점수를 결정하기 위해 사용될 수 있다. 예를 들어, 예측 벡터의 엔트로피에 기초하여 분포-외 점수가 결정될 수 있다. 흥미롭게도, 과도한 신뢰가 덜하다는 추가 이점으로서, 제공된 기술들은 이미지 분류기가 분포-외 샘플들을 인식하는 능력을 향상시킬 수 있다는 것이 발견되었다. 알려진 많은 이미지 분류기는 분포-외 샘플들에 대해 높은 신뢰도를 출력하는 경향이 있다. 분포-외 점수를 결정하는 측면에서도, 제공된 기술들은 종래 기술의 즉석 보정 방법들을 능가하는 것으로 관찰되었다. 또한, 제공된 기술들에 대해 작은 분산(variance)이 관찰되어, 상이한 데이터 및 아키텍처들에 대한 그 견고성을 보여준다.
일반적으로, 제공된 기술들은 비디오 데이터, 레이더 데이터, LiDAR 데이터, 초음파 데이터, 모션 데이터, 열 이미지들 또는 소나 데이터를 포함하는 다양한 유형의 이미지 데이터에 적용된다. 이미지 데이터는 예를 들어 픽셀 값들(예를 들어, 2D 이미지 데이터의 경우), 복셀 값들(예를 들어, 3D 이미지 데이터의 경우), 또는 포인트 클라우드(예를 들어, 2D 또는 3D 이미지 데이터의 경우)에 의해 표현될 수 있다. 이미지 데이터는 또한 ECG 이미지로서 표현되는 ECG 데이터, 스펙트로그램에 의해 표현되는 오디오 데이터 등과 같은 다양한 유형의 센서 데이터를 표현할 수 있다.
특히, 이미지 분류기에 입력된 이미지들은 컴퓨터 제어되는 시스템(computer-controlled system) 및/또는 그것의 환경을 나타낼 수 있으며, 이미지 분류기를 사용하여, 컴퓨터 제어되는 시스템을 제어하기 위한 제어 데이터가 추론될 수 있다. 예를 들어, 시스템은 자율 또는 반자율 차량과 같은 차량, 로봇, 제조 기계, 빌딩 등일 수 있다. 원칙적으로, 제공된 기술들은 다른 유형의 데이터, 예를 들어 센서 측정값들의 시계열과 같은 센서 데이터에도 적용될 수 있다.
당면한 콘텐츠의 종류 및 데이터의 유형들에 따라 적절하게, 다양한 모델 아키텍처들 및 파라미터들이 이미지 분류기에 사용될 수 있다. 예를 들어, 이미지 분류기는 심층 신경망, 예를 들어, 컨볼루션 신경망 또는 완전 컨볼루션 신경망일 수 있다. 이미지 분류기는 입력 이미지의 각각의 부분들에 대한 클래스 확률을 계산하도록 구성된 의미론적 분할 모델일 수 있다.
임의적으로, 훈련된 이미지 분류기의 일부를 적용함으로써 획득된 특징 공간 표현은 추가 훈련된 모델에 대한 입력으로서 사용될 수 있다. 추가 훈련된 모델은 예를 들어 컴퓨터 제어되는 시스템을 제어하기 위한 제어 데이터를 추론하기 위해 사용될 수 있다. 따라서, 이미지 분류기는 다른 다운스트림 태스크들에 대한 기초로서 사용될 수 있다. 이러한 방식으로, 이미지 분류기는 전이 학습을 통해 지식이 다른 태스크에 전달되는 특징 추출기로서 사용될 수 있다. 이미지 분류기의 분류 태스크에 대한 불확실성 보정이 향상되므로, 다운스트림 태스크들에서 대응하는 더 양호한 예측 불확실성이 획득될 수 있다.
본 기술분야의 통상의 기술자는 본 발명의 상기 언급된 실시예들, 구현들, 및/또는 임의적인 양태들 중 둘 이상이 유용한 것으로 간주되는 임의의 방식으로 결합될 수 있음을 인식할 것이다.
대응하는 컴퓨터로 구현된 방법의 설명된 수정들 및 변형들에 대응하는 임의의 시스템 및/또는 임의의 컴퓨터 판독가능한 매체의 수정들 및 변형들은 본 설명에 기초하여 본 기술분야의 통상의 기술자에 의해 수행될 수 있다.
본 발명의 이들 및 다른 양태들은 이하의 설명에서 예로서 설명되는 실시예들을 참조하여, 그리고 첨부 도면들을 참조하여, 명백해지고 더 설명될 것이다.
도 1은 분류기를 훈련하기 위한 시스템을 도시한다.
도 2는 분류기를 사용하기 위한 시스템을 도시한다.
도 3은 분류기의 상세한 사용 예를 도시한다.
도 4는 분류기를 훈련하는 방법의 상세한 예를 도시한다.
도 5a는 분류기를 훈련하는 방법의 상세한 예를 도시한다.
도 5b는 레이블 보정의 상세한 예를 도시한다.
도 6은 이미지 분류기의 상세한 예를 도시한다.
도 7은 분류기를 훈련하는 컴퓨터로 구현된 방법을 도시한다.
도 8은 분류기를 사용하는 컴퓨터로 구현된 방법을 도시한다.
도 9는 데이터를 포함하는 컴퓨터 판독가능한 매체를 도시한다.
도면들은 순전히 도식적이며 축척에 맞게 그려진 것이 아님에 유의해야 한다. 도면들에서, 이미 설명된 요소들에 대응하는 요소들은 동일한 참조번호들을 가질 수 있다.
도 1은 분류기를 훈련하기 위한 시스템(100)을 도시한다. 분류기는 입력 인스턴스에 대한 예측 벡터를 결정하도록 구성될 수 있다. 예를 들어, 분류기는 입력 이미지에 작용하는 이미지 분류기일 수 있다. 예측 벡터는 복수의 개별 클래스에 대한 클래스 확률들을 포함할 수 있다.
시스템(100)은 데이터 인터페이스(120)를 포함할 수 있다. 데이터 인터페이스(120)는 복수의 훈련 인스턴스 및 대응하는 클래스 레이블들을 포함하는 훈련 데이터세트(030)에 액세스하기 위한 것일 수 있다. 예를 들어, 훈련 인스턴스들의 수는 적어도 1000, 적어도 10000, 또는 적어도 100000일 수 있다. 대신에 또는 추가로, 데이터 인터페이스(120)는 분류기의 훈련가능한 파라미터들(040)에 액세스하기 위한 것일 수 있다. 파라미터들(040)은 예를 들어 도 2의 시스템(200) 또는 도 3의 시스템(300)에 의해 본 명세서에 설명된 방법에 따라 분류기를 사용하기 위한 것일 수 있다.
예를 들어, 도 1에 또한 도시된 바와 같이, 데이터 인터페이스(120)는 데이터 저장소(021)로부터의 데이터(030, 040)에 액세스할 수 있는 데이터 저장소 인터페이스(120)에 의해 구성될 수 있다. 예를 들어, 데이터 저장소 인터페이스(120)는 메모리 인터페이스 또는 영구 저장소 인터페이스, 예를 들어 하드 디스크 또는 SSD 인터페이스뿐만 아니라, Bluetooth, Zigbee 또는 Wi-Fi 인터페이스 또는 이더넷 또는 광섬유 인터페이스와 같은 개인, 로컬 또는 광역 네트워크 인터페이스일 수 있다. 데이터 저장소(021)는 하드 드라이브 또는 SSD와 같은 시스템(100)의 내부 데이터 저장소일 수 있지만, 또한 외부 데이터 저장소, 예를 들어, 네트워크 액세스가능한 데이터 저장소일 수 있다. 일부 실시예들에서, 데이터(030, 040)는 예를 들어 데이터 저장소 인터페이스(120)의 상이한 서브시스템을 통해 상이한 데이터 저장소로부터 각각 액세스될 수 있다. 각각의 서브시스템은 데이터 저장소 인터페이스(120)에 대해 위에서 설명된 바와 같은 유형일 수 있다.
시스템(100)은 시스템(100)의 동작 동안 분류기를 훈련하도록 구성될 수 있는 프로세서 서브시스템(140)을 더 포함할 수 있다. 프로세서 서브시스템(140)에 의한 훈련은 훈련가능한 파라미터들(040)에 대한 현재 파라미터 값들을 획득하기 위해 분류기를 훈련하는 하나 이상의 초기 훈련 단계를 수행하는 것을 포함할 수 있다. 프로세서 서브시스템(140)에 의한 훈련은 훈련 데이터세트(030)로부터 훈련 인스턴스 및 대응하는 클래스 레이블을 선택하는 것을 포함할 수 있다. 프로세서 서브시스템(140)에 의한 훈련은 훈련 인스턴스에 대해 분류기를 훈련하기 위한 현재 레이블 벡터를 결정하는 것을 포함할 수 있다. 현재 레이블을 결정하기 위해, 프로세서 서브시스템(140)은 예측 벡터를 획득하기 위해 현재 파라미터 값들에 따라 분류기를 훈련 인스턴스에 적용하고; 예측 벡터로부터 복수의 클래스의 예측된 클래스들을 추론하고; 예측된 클래스를 클래스 레이블과 비교하며; 예측된 클래스가 클래스 레이블과 동일한 경우, 예측 벡터에 기초하여 현재 레이블 벡터를 소프트 레이블로 결정할 수 있다. 프로세서 서브시스템(140)에 의한 훈련은 현재 레이블 벡터를 사용하여 훈련 인스턴스에 대해 분류기를 훈련하는 현재 훈련 단계를 수행하는 것을 포함할 수 있다.
시스템(100)은 학습된(또는 '훈련된') 모델의 파라미터들을 나타내는 훈련된 데이터(040)를 출력하기 위한 출력 인터페이스를 더 포함할 수 있다. 예를 들어, 도 1에 또한 도시된 바와 같이, 출력 인터페이스는 데이터 인터페이스(120)에 의해 구성될 수 있으며, 이러한 실시예들에서 상기 인터페이스는 입력/출력('IO') 인터페이스이며, 이를 통해 훈련된 파라미터들(040)이 데이터 저장소(021)에 저장될 수 있다. 예를 들어, '훈련되지 않은' 모델의 훈련가능한 파라미터들은 훈련 데이터(030)에 대한 훈련을 반영하기 위해, 훈련 동안에 또는 훈련 후에 신경망들의 가중치들 및 다른 유형의 파라미터들과 같은 훈련된 파라미터들에 의해 적어도 부분적으로 대체될 수 있다. 이것은 또한 훈련되지 않은 파라미터들 및 훈련된 파라미터들 둘 다를 나타내는 레코드(040)에 의해 도 1에 도시된다. 다른 실시예들에서, 훈련된 파라미터들(040)은 '훈련되지 않은' 파라미터들과 별개로 저장될 수 있다. 일부 실시예들에서, 출력 인터페이스는 데이터 저장소 인터페이스(120)로부터 분리될 수 있지만, 일반적으로 데이터 저장소 인터페이스(120)에 대해 위에서 설명된 바와 같은 유형일 수 있다.
도 2는 예를 들어 도 1의 디바이스(100)에 의해 본 명세서에 설명된 바와 같이 훈련된 분류기를 사용하기 위한 시스템(200)을 도시한다. 시스템(200)은 분류기의 훈련된 파라미터들(040)에 액세스하기 위한 데이터 인터페이스(220)를 포함할 수 있다. 시스템은 모델을 사용하는 것에 추가하여 모델을 훈련할 수 있으며, 예를 들어 도 1의 시스템과 결합될 수 있다.
예를 들어, 도 2에 또한 도시된 바와 같이, 데이터 인터페이스는 데이터 저장소(022)로부터의 데이터(040)에 액세스할 수 있는 데이터 저장소 인터페이스(220)에 의해 구성될 수 있다. 일반적으로, 데이터 인터페이스(220) 및 데이터 저장소(022)는 데이터 인터페이스(120) 및 데이터 저장소(021)에 대해 도 1을 참조하여 설명된 것과 동일한 유형일 수 있다. 저장소는 시스템(200)의 일부일 수 있다. 이 도면에는 도시되지 않았지만, 저장소(022)는 또한 분류기가 적용될 수 있는 입력 인스턴스를 포함할 수 있다.
시스템(200)은 시스템(200)의 동작 동안, 입력 인스턴스, 예를 들어 입력 이미지를 획득하도록 구성될 수 있는 프로세서 서브시스템(240)을 더 포함할 수 있다. 프로세서 서브시스템(240)은 분류기를 입력 인스턴스에 적용하여 입력 인스턴스에 대한 예측 벡터를 결정하고, 예측 벡터에 기초하여 예측을 출력하도록 더 구성될 수 있다. 대신에 또는 추가로, 프로세서 서브시스템(240)은 분류기의 일부를 입력 인스턴스에 적용하여 입력 인스턴스의 특징 공간 표현을 획득하고 특징 공간 표현을 출력하도록 구성될 수 있다.
도 1의 프로세서 서브시스템(140)에 대한 것과 동일한 고려사항들 및 구현 옵션들이 프로세서 서브시스템(240)에 적용된다는 것을 이해할 것이다. 또한, 달리 명시되지 않는 한, 도 1의 시스템(100)에 대한 것과 동일한 고려사항들 및 구현 옵션들이 일반적으로 시스템(200)에 적용된다는 것을 이해할 것이다.
도 2는 시스템(200)의 다양한 임의적인 컴포넌트들을 더 도시한다. 예를 들어, 일부 실시예들에서, 시스템(200)은 환경(082)에서 센서(072)에 의해 취득된 센서 데이터(224)에 직접 액세스하기 위한 센서 인터페이스(260)를 포함할 수 있다. 센서는 환경(082) 내에 배열될 수 있지만, 예를 들어 양(들)이 원격으로 측정될 수 있는 경우에는 환경(082)으로부터 원격으로 배열될 수도 있다. 센서(072)는 시스템(200)의 일부일 수 있지만 반드시 그럴 필요는 없다. 센서(072)는 이미지 센서, 라이더 센서, 레이더 센서, 압력 센서, 포함 온도 센서 등과 같은 임의의 적절한 형태를 가질 수 있다. 예를 들어, 도면에 도시된 바와 같이, 센서(072)는 시스템(200) 및/또는 그것의 환경을 나타내는 입력 이미지(226)를 캡처하는 카메라일 수 있다. 센서 데이터 인터페이스(260)는 유형 면에서, 예를 들어 I2C 또는 SPI 데이터 통신에 기반한 저수준 통신 인터페이스, 또는 데이터 인터페이스(220)에 대해 위에서 설명된 것과 같은 유형의 데이터 저장소 인터페이스를 포함하지만 그에 제한되지 않는 센서의 유형에 대응하는 임의의 적절한 형태를 가질 수 있다.
일부 실시예들에서, 시스템(200)은 환경(082) 내의 액추에이터(도시되지 않음)에 제어 데이터(226)를 제공하기 위한 액추에이터 인터페이스(280)를 포함할 수 있다. 이러한 제어 데이터(226)는 분류기를 사용하는 것에 기초하여, 예를 들어 분류기에 의한 예측에 기초하여 액추에이터를 제어하기 위해 프로세서 서브시스템(240)에 의해 생성될 수 있거나, 또는 분류기의 일부를 적용함으로써 획득된 특징 공간 표현에 기초하여, 그리고 특징 공간 표현에 추가 훈련된 모델을 적용하여 제어 데이터(226)를 추론함으로써 생성될 수 있다. 액추에이터는 시스템(200)의 일부일 수 있다. 예를 들어, 액추에이터는 전기, 유압, 공압, 열, 자기 및/또는 기계 액추에이터일 수 있다. 구체적이지만 제한이 아닌 예들은 전기 모터, 전기활성 폴리머, 유압 실린더, 압전 액추에이터, 공압 액추에이터, 서보 메커니즘, 솔레노이드, 스테퍼 모터 등을 포함한다. 이러한 유형의 제어는 (반)자율 차량에 대해 도 3을 참조하여 설명된다.
다른 실시예들(도 2에 도시되지 않음)에서, 시스템(200)은 디스플레이, 광원, 라우드스피커, 진동 모터 등과 같은 렌더링 디바이스에 대한 출력 인터페이스를 포함할 수 있으며, 이는 분류기를 사용하는 것에 기초하여 생성될 수 있는 감각 지각가능한 출력 신호(sensory perceptible output signal)를 생성하기 위해 사용될 수 있다. 감각 지각가능한 출력 신호는 분류자에 의해 출력된 분류, 클래스 확률, 및/또는 특징 공간 표현을 직접적으로 나타낼 수 있지만, 또한 예를 들어 시스템(200)의 안내, 내비게이션 또는 다른 유형의 제어에 사용하기 위한 도출된 감각 지각가능한 출력 신호를 나타낼 수 있다.
일반적으로, 도 1의 시스템(100) 및 도 2의 시스템(200)을 포함하지만 이에 제한되지 않는 본 명세서에 설명된 각각의 시스템은 워크스테이션 또는 서버와 같은 단일 디바이스 또는 장치로서, 또는 그 내부에 구현될 수 있다. 디바이스는 임베디드 디바이스일 수 있다. 디바이스 또는 장치는 적절한 소프트웨어를 실행하는 하나 이상의 마이크로프로세서를 포함할 수 있다. 예를 들어, 각각의 시스템의 프로세서 서브시스템은 단일 중앙 프로세싱 유닛(CPU)에 의해 구현될 수 있지만, 이러한 CPU들 및/또는 다른 유형의 프로세싱 유닛들의 조합 또는 시스템에 의해서도 구현될 수 있다. 소프트웨어는 대응하는 메모리, 예를 들어 RAM과 같은 휘발성 메모리 또는 플래시와 같은 비휘발성 메모리에 다운로드 및/또는 저장되었을 수 있다. 대안적으로, 각각의 시스템의 프로세서 서브시스템은 예를 들어 필드 프로그래밍가능한 게이트 어레이(Field-Programmable Gate Array)(FPGA)와 같은 프로그래밍가능한 로직의 형태로 디바이스 또는 장치에서 구현될 수 있다. 일반적으로, 각각의 시스템의 각각의 기능 유닛은 회로의 형태로 구현될 수 있다. 각각의 시스템은 또한 예를 들어 분산된 로컬 또는 클라우드 기반 서버들과 같은 상이한 디바이스들 또는 장치들을 포함하는 분산 방식으로 구현될 수 있다. 일부 실시예들에서, 시스템(200)은 차량, 로봇 또는 유사한 물리적 엔티티의 일부일 수 있고/있거나 물리적 엔티티를 제어하도록 구성된 제어 시스템을 나타낼 수 있다.
도 3은 시스템(200)이 환경(50)에서 동작하는 (반)자율 차량(62)의 제어 시스템인 것으로 도시된다는 점에서 위의 예를 도시한다. 자율 차량(62)은 자율 주행 시스템 또는 운전 보조 시스템을 포함할 수 있다는 점에서 자율적일 수 있으며, 후자는 반자율 시스템이라고도 지칭된다. 자율 차량(62)은 예를 들어 차량(62)에 통합된 비디오 카메라(22)로부터 획득된 센서 데이터에 기초하여 자율 차량의 조향 및 제동을 제어하기 위해 시스템(200)을 통합할 수 있다. 예를 들어, 시스템(200)은 예를 들어 자율 차량(62)이 교통 참가자와 충돌할 것으로 예상되는 경우와 같이 예기치 않은 교통 상황의 경우에 (재생) 제동을 수행하도록 전기 모터(42)를 제어할 수 있다. 시스템(200)은 예를 들어 교통 참가자와의 충돌을 피하기 위해 위험한 상황에 대한 조향 및/또는 제동을 제어할 수 있다. 시스템(200)은 비디오 카메라에 의해 제공되는 입력 이미지에 이미지 분류기를 적용할 수 있다. 시스템은 예를 들어 이미지 분류기에 의한 분류가 임계값을 초과하는 클래스 확률을 갖거나 갖지 않음, 또는 입력 이미지가 임계값을 초과하는 분포-외 점수를 갖거나 갖지 않음을 결정할 수 있다. 이에 기초하여, 시스템(200)은 예를 들어 차량(62)을 제어하기 위해 분류 또는 예측 벡터를 사용하기로 결정할 수 있거나(예를 들어, 클래스 확률 및/또는 분포-외 점수가 충분한 신뢰도를 나타내는 경우), 또는 폴백 제어 메커니즘, 예를 들어 제동 메커니즘을 대신 사용하기로 결정할 수 있다(예를 들어, 클래스 확률 및/또는 분포-외 점수가 불충분한 신뢰도를 나타내는 경우).
이하에서는, 종래 기술의 즉석 보정 방법인 레이블 평활화(LS)의 여러 병목 현상이 평가되고 논의된다. 레이블 평활화는 분류기 자체에 의한 예측 벡터들이 아니라 그라운드 트루스 클래스 레이블들만을 사용하여 레이블 벡터들을 결정한다. LS는 WRN-28-10에 대한 데이터세트 CIFAR-100의 교차-엔트로피 원-핫 코딩 기준선과 비교된다. 평활화 계수 0.1이 사용된다. 여러 병목 현상이 확인되었다.
시간 경과에 따른 일정한 평활화 계수: 예상 보정 에러(Expected Calibration Error)(ECE)를 사용하여, 모델들이 잘 보정된 상태로부터 얼마나 벗어났는지가 경험적으로 조사될 수 있다. 그러나, 이 경우에서는 편차의 부호가 알려지지 않는데, 왜냐하면 ECE에서의 절대 차이 계산이 이 정보를 제거하기 때문이다. 따라서, ECE에서의 절대 차이를 합으로 대체하는, FlatECE라고 지칭되는 대체 메트릭이 제안된다. FlatECE는 공식적으로 다음과 같이 정의될 수 있다:
Figure pat00001
. 모든 빈이 과도 신뢰인 경우, 예를 들어
Figure pat00002
이면, FlatECE는 ECE와 등가이다. 일부 빈이 과소 신뢰인 경우에는 FlatECE가 ECE보다 작고, 모든 빈이 과소 신뢰인 경우에는 심지어 네거티브 ECE와 동일하다. 본 발명자들은 LS-0.1에 대한 ECE 및 FlatECE를 계산했다. 3개의 학습률 감쇠는 훈련을 4개의 단계로 나눈다. 단계 1 및 단계 2에서, LS-0.1은 기준선보다 훨씬 낮은 ECE를 가지며, 이는 LS-0.1이 분류기들의 과도 신뢰를 상쇄하는 효과를 보여준다. 그러나, 단계 3 및 단계 4에서, 기준선에 비해 LS-0.1의 ECE 이점이 현저히 줄어든다. LS-0.1에 대해, FlatECE 및 ECE의 점진적 분할 곡선들은 단계 3 및 단계 4에서의 LS-0.1의 대부분의 보정 에러가 실제로 과소 신뢰의 성장에서 비롯됨을 나타낸다. 조기 중지는 일반화와 보정 사이의 트레이드오프이므로, 훈련을 중지하고 현재 체크포인트를 취하는 것은 실현가능한 옵션이 아니다. 평활화 계수 0.1은 이 지점에서 오버킬하고 과소 신뢰를 야기한 것으로 결론지어진다. 그것이 동적으로 조절되는 경우, 여기서 감소되는 경우, 완전한 훈련 후에 더 양호한 보정 성능이 예상될 수 있다.
다양한 클래스들 및 인스턴스들에 대한 일정한 평활화 계수: LS는 모든 비-타겟 클래스에 대해 균일한 분포 확률들을 가정한다. 이 가정은 비판받을 수 있다. 일부 비-타겟 클래스의 확률이 다른 비-타겟 클래스들보다 높은 것은 직관적이다. 예를 들어, CIFAR-10에서 자동차로 레이블링된 이미지들에 대해, 특정 이미지를 보지 않고서, 고양이나 개가 아닌 트럭에 더 큰 비-타겟 확률 질량이 할당되어야 한다. 트럭은 고양이나 개보다 자동차와 더 유사한 모습을 갖기 때문이다.
LS의 또 다른 가정은 클래스 내의 모든 샘플에 대해 동일한 평활화된 레이블이다. 이는 클래스 내의 상이한 샘플들에 걸쳐 동일한 특징들이 공유되는 것으로 가정됨을 의미한다. 반례를 들 수 있다. 예를 들어, 아기로 주석이 달린 두 개의 이미지를 고려한다. 하나의 사진에서, 아기는 나머지 사진의 아기보다 약간 더 "여성적"으로 보일 수 있으며 더 많은 "여성적" 특징들을 갖는다. 이 경우, 비-타겟 클래스의 소녀에게는 다른 사진에서보다 더 큰 확률적 가중치가 제공되어야 한다.
도 4는 분류기를 훈련하는 방법에 대한 상세하지만 제한이 아닌 예를 보여준다. 실례로서, 이미지 분류기가 사용된다.
이미지 분류기(IC)(420)는 입력 이미지에 적용될 수 있다. 예를 들어, 도면은 이미지 분류기(IC)가 훈련 데이터세트의 훈련 이미지(TI)(431)에 적용되는 것을 보여준다. 일반적으로, 입력 이미지들은 다양한 상이한 방식들로, 예를 들어 픽셀 값들(예를 들어, 적어도 128, 또는 적어도 1024 픽셀), 복셀 값들(예를 들어, 적어도 128, 또는 적어도 1024 복셀), 또는 포인트 클라우드(예를 들어, 포인트 클라우드의 적어도 1024 또는 적어도 4096 포인트)에 의해 표현될 수 있다. 이미지들은 예를 들어 흑백, 회색조 또는 컬러 이미지들일 수 있다.
이미지 분류기(IC)는 입력 이미지에 대한 예측 벡터를 결정하도록 구성될 수 있다. 예측 벡터는 복수의 개별 클래스에 대한 클래스 확률들을 포함할 수 있다. 예를 들어, 도면은 클래스 확률들(CP1(421), ..., CPn(422))을 획득하기 위해 이미지 분류기(IC)가 훈련 이미지(TI)(431)에 적용되는 것을 보여준다. 예를 들어, 클래스들의 수는 적어도 3, 적어도 10, 또는 적어도 20일 수 있다. 훈련 이미지는 훈련 데이터세트, 예를 들어 훈련 이미지(TI)가 할당된 단일 클래스에 따라 그라운드 트루스 클래스 레이블(CL)(432)을 가질 수 있다. 이 도면에는 도시되지 않지만, 이미지 분류기(IC)는 입력 이미지의 각각의 부분들, 예를 들어 픽셀들에 대한 클래스 확률들(CP1, ..., CPn)의 세트들을 출력하도록 구성된 의미론적 분할 모델일 수 있으며, 이 경우 훈련 데이터세트는 훈련 이미지(TI)에 대해, 훈련 이미지(TI)의 각각의 부분들에 클래스들을 할당하는 각각의 클래스 레이블들 CL을 포함할 수 있다.
이미지 분류기(IC)는 그것이 적용될 입력 이미지에 적합한 다양한 알려진 모델 아키텍처들을 가질 수 있다. 이미지 분류기는 훈련가능한 파라미터들(PARS)(440)의 세트에 의해 파라미터화될 수 있다. 훈련가능한 파라미터들의 수는 예를 들어 적어도 1000, 적어도 10000, 또는 적어도 100000일 수 있다. 이미지 분류기(IC)는 예를 들어 심층 신경망 또는 컨볼루션 신경망과 같은 신경망일 수 있다. 이 경우, 파라미터들의 세트는 예를 들어 신경망의 노드들의 가중치들을 포함할 수 있다. 이러한 이미지 분류기의 예는 도 6과 관련하여 설명된다.
도면에 도시된 바와 같이, 이미지 분류기(IC)는 훈련 동작(Train)(460)에서 훈련될 수 있다. 훈련(Train)은 본 명세서에 설명된 바와 같이 결정된 레이블 벡터들을 사용하는 것을 제외하고는 종래 기술로부터 알려진 훈련일 수 있다. 예를 들어, 훈련은 당면한 데이터에서 잘 작동하는 것으로 알려진 훈련 스케줄 및/또는 하이퍼파라미터들을 사용할 수 있다. 일반적으로, 훈련은 이미지 분류기(IC)가 각각의 훈련 이미지들(TI)에 적용되는 각각의 훈련 단계들을 포함할 수 있다. 이러한 훈련 단계에서, 이미지 분류기(IC)는 그것의 훈련가능한 파라미터들(PARS)의 현재 값들에 따라 훈련 이미지(TI)에 적용되어, 현재 예측 벡터(CP1, ..., CPn)를 야기할 수 있다. 훈련(Train)은 현재 예측 벡터(CPi)를 훈련 이미지(TI)에 대한 레이블 벡터(LV1(451), ..., LVn(452))과 비교함으로써 훈련 신호를 도출하고, 훈련 신호에 기초하여 파라미터들(PARS)을 업데이트할 수 있다.
일례에서, 이미지 분류기(IC)는 멀티-클래스 분류기, 예를 들어 K>2 클래스에 대한 것일 수 있다.
Figure pat00003
를 N개의 샘플로 구성된 훈련 데이터세트라고 N하고, 여기서 샘플 i에 대해, 훈련 이미지(TI)(xi)는 이미지 분류기(IC)의 입력이고, yi =
Figure pat00004
이며, 그에 의해
Figure pat00005
은 레이블 벡터(LVi)이다. 샘플 i의 가장 유망한 클래스 인덱스는
Figure pat00006
이다. 예를 들어, 레이블 벡터는 클래스 레이블의 하드 레이블, 즉 원-핫 인코딩일 수 있다:
Figure pat00007
=1, 및
Figure pat00008
=0. 멀티-클래스 분류기(IC)는 xi를 확률적 예측 벡터(CPi) qi =
Figure pat00009
에 매칭할 수 있고, 그에 의해
Figure pat00010
이다. 이 경우에 이미지 분류기(IC)를 훈련하는 것은 교차 엔트로피 손실을 최소화하기 위한 최적화, 예를 들어 LCE =
Figure pat00011
를 수행하는 것을 포함할 수 있고, 여기서 n은 최적화 반복에서의 샘플들의 수이다.
예를 들어, 훈련(Train)은 확률적 경사 하강법과 같은 확률적 접근법들을 사용하여, 예를 들어 Kingma 및 Ba의 "Adam: 확률적 최적화를 위한 방법(Adam: A Method for Stochastic Optimization)"(참조에 의해 본 명세서에 포함되고 https://arxiv.org/abs/1412.6980에서 입수가능함)에 개시된 바와 같은 Adam 최적화기를 사용하여 수행될 수 있다. 알려진 바와 같이, 이러한 최적화 방법은 발견적(heuristic)일 수 있고/거나 국부 최적에 도달할 수 있다. 훈련은 인스턴스별로, 또는 예를 들어 최대 또는 적어도 64개 또는 최대 또는 적어도 256개의 인스턴스들의 배치(batch)로 수행될 수 있다.
훈련(Train)에 의해 사용되는 레이블 벡터들(LVi)을 결정하는 레이블 보정 동작(LC)(450)이 추가로 도시되어 있다. 흥미롭게도, 본 명세서에 설명된 실시예들에서, 훈련 이미지(TI)에 대한 레이블 벡터들(LVi)은 이미지 분류기(IC)를 그것의 파라미터들(PARS)의 현재 세트에 따라 훈련 이미지(TI)에 적용함으로써 획득된 예측 벡터(CPi)에 기초하여 결정될 수 있다.
전형적으로, 이미지 분류기(IC)를 훈련하는 하나 이상의 초기 훈련 단계 동안, 레이블 벡터(LVi)는 이미지 분류기(IC)에 의해 결정된 분류들 또는 클래스 확률들과 독립적으로 동작(LC)에 의해 결정된다. 예를 들어, 레이블 벡터(LVi)는 클래스 레이블(LC)의 원-핫 인코딩 또는 그와 유사한 것으로 설정될 수 있다.
훈련 동안의 한 지점에서, 레이블 보정 동작(LC)은 훈련 이미지(TI)에 대한 레이블 벡터(LVi)를 업데이트할 수 있다. 이것은 전형적으로 훈련 이미지에 대해 수행되는 모든 훈련 단계에 대해 수행되는 것이 아니라, 덜 빈번하게, 예를 들어 학습률의 매 감쇠마다 한 번씩 수행된다. 레이블 벡터(LVi)가 업데이트될 수 있는 경우의 상세한 예들은 도 5와 관련하여 제공된다. 전형적으로, 레이블 보정 동작(LC)은 훈련 데이터세트 내의 모든 이미지의 레이블 벡터들을 업데이트하지만, 이것이 필수적인 것은 아니다.
훈련 이미지(TI)에 대한 레이블 벡터(LVi)를 업데이트하기 위해, 훈련 이미지(TI)에 대한 예측 벡터(CPi)를 획득하기 위해 이미지 분류기(IC)를 그것의 현재 파라미터 값들에 따라 사용하여 추론이 수행될 수 있다. 이 예측 벡터로부터, 훈련 이미지(TI)에 대한 예측 클래스가 추론될 수 있다. 예측들은 그 정확성에 따라 분할될 수 있다. 잘못 분류된 예측들에 대해, 그 소프트 레이블들에 대한 단서가 없다. 레이블 벡터(LVi)는 이 경우에 클래스 레이블(CL)에 대한 하드 레이블을 나타내는 원-핫 코딩 레이블로 설정될 수 있거나, 그렇지 않으면 예를 들어 클래스 레이블에 대응하는 평활화된 원-핫 레이블에 의해 예측 벡터와 독립적으로 결정될 수 있다.
한편, 올바르게 분류된 샘플들에 대해, 예측 벡터(CPi)에 기초하여 레이블 벡터(LVi)가 설정될 수 있다. 특히, 한 가지 가능성은 레이블 벡터(LVi)를 예측 벡터(CPi)와 동일하게 설정하는 것이다.
또한, 도면에 도시된 바와 같이, 보정 성능을 더욱 개선하기 위한 조치는 사후 보정 모델(PHC)(470)을 예측 벡터(CPi)에 적용하고, 직접적인 예측(CPi)이 아니라 사후 보정된 예측들(CC1(471), ..., CCn(472))을 보정 프레임워크에서 소프트 레이블들(LVi)로서 사용하는 것이다.
원칙적으로, 임의의 사후 보정기(post-hoc calibrator)(PHC)가 사용될 수 있다. 사후 보정기는 예를 들어 스케일링 사후 보정기일 수 있다. 이러한 방법은 연속 보정 기능을 사용하여 이미지 분류기의 원시 출력들, 예를 들어 로짓들을 상향 또는 하향 스케일링할 수 있다. 예를 들어, 스케일링 사후 보정기는 온도 스케일링(TS) 또는 잠재 가우시안 프로세스(GP)일 수 있다. 온도 스케일링에서, 로짓들은 검증 세트에서 NLL을 최적화함으로써 획득될 수 있는 온도 계수(T)로 나누어질 수 있다. 잠재 가우시안 프로세스(GP)는 단일 온도 계수가 아닌 연속 곡선을 학습할 수 있다. 네거티브 로그 가능성(negative log-likelihood)(NLL) 메트릭에 대해, GP는 실험적으로 대부분의 상황들에서 TS를 능가하는 것으로 나타났다. 예상 보정 에러(ECE) 메트릭에 대해, 제한된 보정 샘플들이 이용가능할 때, TS가 GP보다 더 잘 작동하는 것으로 나타났다. 그렇지 않으면, GP가 그 더 많은 수의 구성 가능한 파라미터로 인해 더 잘 작동하는 것으로 나타났다.
사후 보정기(PHC)는 또한 비닝 사후 보정기일 수 있다. 비닝 사후 보정기는 이산 비닝 기능을 통해 로짓들을 조절할 수 있다. 예를 들어, 히스토그램 비닝, 특히 I-MAX 히스토그램 비닝 방법과 같이 빈 에지들(bin edges)을 최적화하는 방법들이 사용될 수 있다. I-MAX는 샘플링 효율성을 증가시키기 위해 보정 세트들로부터의 클래스별 예측들을 추가로 병합할 수 있다. 일반적으로, 스케일링 방법은 예측들의 정확도를 보존하지만, ECE 평가의 빈 수가 다를 때 ECE에서 일관된 성능을 갖지 못할 수 있다. 비닝 방법들은 정량화로 인한 정확도 손실에도 불구하고, ECE에서 보다 일관된 성능을 가질 수 있다.
바람직하게는, 사후 보정 모델(PHC)은 예를 들어 업데이트된 파라미터들(PARS)에 따라 적용될 때마다, 그 현재 파라미터들(PARS)에 따라 이미지 분류기(IC)에 대해 훈련된다. 사후 보정 모델(PHC)의 훈련은 전형적으로 이미지 분류기(IC)를 훈련하는 데 사용되는 훈련 데이터세트와 별개인 홀드아웃 세트, 예를 들어 검증 세트를 사용한다.
따라서, 레이블 보정(LC)에 의해 결정된 레이블 벡터들(LVi)은 a) 보정된 올바른 예측들, 및 b) 잘못된 샘플들에 대한 클래스 기반의, 예를 들어 원-핫 코딩 레이블들일 수 있다. 결정된 레이블들(LVi)은 후속 훈련 단계들, 전형적으로 훈련 이미지(TI) 당 복수의 훈련 단계를 위해 이미지 분류기를 훈련하기 위해 사용될 수 있다. 그 후, 업데이트된 레이블 벡터들(LVi)을 결정하는 프로세스가 이번에는 후속 훈련 단계들의 결과로 획득된 훈련된 파라미터들(PARS)을 사용하여 다시 수행될 수 있다. 따라서, 훈련 단계들(Train) 및 레이블 보정들(LC)은 훈련 스케줄이 끝날 때까지 교대될 수 있으며, 이는 추가적인 보정 레이어를 필요로 하지 않고서 일부 실시예들에서 사용될 수 있는 기본적으로 잘 보정된 이미지 분류기(IC)를 야기한다.
도 5a는 분류기, 예를 들어 이미지 분류기를 훈련하는 방법의 상세하지만 제한이 아닌 예를 도시한다. 이 예는 도 4의 예에 기초하며, 훈련 동안의 어느 지점에서 레이블 보정(LC)(550)이 적용될 수 있는지를 도시한다. 도 4와 관련하여 또한 논의된 바와 같이, 레이블 보정(LC)은 전형적으로 훈련 데이터세트의 모든 훈련 이미지에 대한 레이블 벡터들을 결정할 수 있다. 초기에, 훈련 동안 사용된 레이블 벡터들은 예를 들어 클래스 레이블의 원-핫 인코딩으로서 훈련되는 이미지 분류기와 독립적으로 결정될 수 있다. 훈련 동안의 한 지점에서, 레이블 보정(LC)은 이미지 분류기에 의해 결정된 예측 벡터들에 기초하여, 올바르게 분류된 이미지들의 레이블 벡터들을 소프트 레이블로 설정함으로써, 이미지 분류기를 그것의 훈련된 파라미터들에 대한 현재 값들에 따라 사용할 수 있고; 잘못 분류된 이미지들에 대해, 레이블 벡터들은 예측 벡터들과 독립적으로, 예를 들어 하드 레이블로서 결정될 수 있다.
이 예에서, 이미지 분류기는 다단계 스케줄러를 사용하여 확률적 경사 하강법(Stochastic Gradient Descent)(SGD)에 의해 훈련된다. 이러한 훈련은 예를 들어 딥 러닝에서 그 자체로 알려져 있다. 다단계 스케줄링은 훈련 동안 여러 번 감쇠되는 학습률을 사용하는 것을 지칭한다. 학습률 감쇠들 사이의 기간은 훈련 단계로 지칭될 수 있다. 훈련의 시작(561)에서는 학습률이 비교적 클 수 있다. 전형적으로, 정확도와 신뢰도는 먼저 증가한 다음 특정 수준에서 정체된다. 다수의 훈련 단계, 예를 들어 고정된 수의 에포크 후에, 학습률을 감소시키기 위해 학습률 감쇠(564)가 수행될 수 있다. 이것은 전형적으로 몇 번의 반복 후에 정확도와 신뢰도의 증대로 이어지고, 다음으로 이는 새로운 더 높은 수준에서 정체될 수 있는 등이다.
도면에 도시된 바와 같이, 제1 학습률의 감쇠와 제2 학습률의 감쇠 사이의 지점에서 레이블 보정(LC)에 의해 보정된 레이블들을 사용하여 훈련이 시작될 수 있다. 제1 학습률 감쇠를 기다리는 것은 전형적으로 훈련 정확도가 충분히 높고 예측이 덜 편향된다는 이점을 갖는다. 학습률 감쇠 후, 감쇠된 학습률을 사용하지만 여전히 이전 레이블 벡터들을 사용하는 하나 이상의 훈련 단계가 수행될 수 있다. 예를 들어, 고정된 수의 훈련 에포크들(ΔT)(565)이 수행된 후 레이블 보정(LC)가 수행될 수 있다. 레이블 보정 후, 훈련 단계의 추가 훈련 단계들은 업데이트된 레이블 벡터들 및 감쇠된 학습률, 예를 들어 복수의 에포크에 따라 수행될 수 있다.
이전 레이블 벡터들이 사용되는 훈련 단계의 시작 시간은 대기 단계라고 지칭될 수 있고, 이는 학습률 감쇠 이후에 몇 번의 반복을 대기한 후에만 정확도와 신뢰도의 증대가 발생하는 일반적인 훈련 효과를 지칭한다. 학습률 감쇠 후의 에포크(T)로부터의 예측들은 일반적으로 다음 학습률 감쇠 이전의 장래 예측들과 일치하므로, 또한 알려진 레이블 평활화에서와 같은 추가 오보정을 방지한다. 대부분의 아키텍처들 및 데이터세트들에 대해, T = 1이 양호한 선택인 것으로 나타났다.
또한, 후속 학습률 감쇠들 후에 레이블 보정(LC)이 적용될 수 있으며, 이 경우에도 전형적으로 동일한 수의 훈련 단계, 예를 들어 ΔT 에포크를 포함하는 대기 단계가 적용될 수 있다. 예를 들어, 레이블 보정은 학습 단계마다 한 번씩, 각각의 학습률 감쇠 후에 수행될 수 있다. 그러나, 변형들이 또한 가능한데, 예를 들어 레이블 보정은 매 2회 훈련 단계마다 한 번씩 수행될 수 있고, 제1 학습률 감쇠 대신에 제2 학습률 감쇠 후에 먼저 수행될 수 있는 등이다. 레이블 보정(LC)은 훈련(569)의 끝에 도달할 때까지 훈련 전반에 걸쳐 수행될 수 있다. 예를 들어, 이미지 분류기를 사용하는 것에 기초하여 수행되는 레이블 보정들의 수는 최대 또는 적어도 3, 또는 최대 또는 적어도 5일 수 있다. 대기 시간, 예를 들어 에포크들의 수 ΔT 및/또는 레이블 보정 빈도를 하이퍼파라미터들로서 조절하는 것이 가능하다.
도 5b는 레이블 보정(LC)(550)의 상세하지만 제한이 아닌 예를 보여준다. 이 레이블 보정(LC)은 이미지 분류기를 사용하여 훈련 이미지들에 대한 레이블 벡터들을 결정하기 위해 도 4 및/또는 도 5a와 함께 사용될 수 있다.
레이블 보정(LC)은 먼저 각각의 예측 벡터들(552)을 획득하기 위해 현재 파라미터 값들에 따라 훈련 이미지들에 이미지 분류기를 적용할 수 있다. 도면은 그러한 세 가지 예측: [0.7, 0.2, 0.1], [0.1, 0.8, 0.1] 및 [0.5, 0.3, 0.2]을 보여준다. 예측은 비교 동작(CP)(557)에서 예측 벡터로부터 예측된 클래스를 추론하고 예측된 클래스를 클래스 레이블과 비교함으로써 두 그룹으로 분할될 수 있다. 이 예에서, 예측들은 올바른 예측들(553) [0.7, 0.2, 0.1] 및 [0.1, 0.8, 0.1]과 잘못된 예측(555) [0.5, 0.3, 0.2]의 두 그룹으로 분할된다.
예측된 클래스가 클래스 레이블과 동일하지 않은 이미지들에 대해, 레이블 벡터는 예측 벡터와 독립적으로 클래스 레이블에 기초하여, 예를 들어 원-핫 인코딩으로서 결정될 수 있다. 이 예에서, 잘못된 예측(555) [0.5, 0.3, 0.2]가 이미지 분류기를 잘못 안내할 가능성이 있기 때문에 이 샘플에 대한 원래의 하드 레이블 [0.0, 0.0, 1.0]이 취해진다.
예측된 클래스가 클래스 레이블과 동일한 이미지들에 대해, 레이블 벡터는 예측 벡터(553)에 기초하여 소프트 레이블로서 결정될 수 있다. 이 예에서, 분류기들에 추가 정규화를 적용하기 위해, 올바른 예측들은 온도 스케일링(TS) 또는 잠재 가우시안 프로세스(GP)와 같은 사후 보정 모듈(PHC)(570)에 의해 보정된다. 예로서, 도면에서, 보정된 소프트 레이블들(554) [0.5, 0.3, 0.2] 및 [0.2, 0.6, 0.2]이 반환된다. 사후 보정(PHC)의 도입은 이미지 분류기에 대한 네거티브 피드백을 가능하게 한다. 예를 들어, TS가 통합된 경우, 이미지 분류기가 심하게 과도 신뢰하는 경우, 온도 계수 T > 1이 반환될 수 있고, 이는 소프트 레이블들이 더 평활화되게 하고, 따라서 더 강한 정규화를 생성하게 한다. 과도 신뢰는 장래의 훈련에서 더 완화될 수 있고, 그 반대의 경우도 마찬가지이다. 대안은 사후 보정에 의해 보정되지 않은 예측을 사용하는 것, 즉 아이덴티티 보정(identity calibration)을 적용하는 것이다.
올바르게 분류된 샘플들의 보정된 예측들(554) 및 오분류된 샘플들의 모델-독립적인 레이블들(555)은 장래의 훈련을 위해 새로운 소프트 레이블들(556) [0.5, 0.3, 0.2], [0.2, 0.6, 0.2] 및 [0.0, 0.0, 1.0]로서 결합될 수 있다(CB(552)).
도 6은 여기에 설명된 기술들과 함께 사용하기 위한 분류기(IC)(040)의 상세하지만 제한이 아닌 예를 도시한다. 이 예에서, 분류기는 신경망 분류기, 특히 심층 신경망이다. 설명된 프로세스는, 설명을 위해 컨볼루션 신경망(convolutional neural network)(CNN)에서 입력 이미지의 분류를 높은 수준에서 그리고 크게 단순화하여 설명한다. 본 기술분야의 통상의 기술자가 이해하는 바와 같이, 심층 신경망들과 같은 다른 유형의 신경망들도 사용될 수 있으며, 이하의 예는 제한이 아니며 단지 예시적이다. 많은 경우에, CNN들은 개념적으로 두 개의 컴포넌트로 나누어질 수 있다: 적어도 하나의 컨볼루션 레이어를 포함하는 컨볼루션 부분, 및 적어도 하나의 밀집 레이어(dense layer)를 포함하는 밀집(예를 들어, 완전 연결) 부분. 그러나, 밀집 레이어들을 가질 필요는 없다. 예를 들어, 훈련된 분류기(TC)는 예를 들어 임의의 완전 연결 레이어를 포함하지 않는 완전 컨볼루션 신경망일 수 있다.
입력 이미지(II)(610)는 이미지 분류기(IC)에, 보다 구체적으로는 필터들(또는 일부 경우에서는 단일 필터)의 제1 레이어(CL1)(612-1)에 입력된다. 필터들 각각은 입력 이미지(II)(610)에 걸쳐 컨볼루션하여, 활성화 볼륨 또는 "잠재 표현(latent representation)"을 함께 생성할 수 있다. 활성화 볼륨의 각각의 "슬라이스"는 상기 필터들 중 하나의 출력일 수 있다. 잠재 표현은 입력 이미지(II)와 상이한 공간 해상도를 가질 수 있다. 그 다음, 잠재 표현은 후속 레이어(CL2)(612-2)에 대한 입력으로 사용될 수 있다. 그 다음, CL2의 필터(들)는 제2 잠재 표현을 생성하기 위해 제1 레이어 CL1 에 의해 출력된 잠재 표현에 대해 컨볼루션할 수 있다. 이 프로세스는 추가 레이어들(612)에 대해 계속될 수 있다.
CNN의 컨볼루션 부분 전체에서, 입력 이미지에 대한 잠재 표현들의 공간적 관계는 유지되지만, 잠재 표현들의 공간 차원들은 잠재 표현마다, 그리고 입력 이미지의 공간 차원들과 상이할 수 있다는 점에 유의해야 한다.
CNN의 컨볼루션 부분의 마지막 레이어(CLk)(612-k) 이후(종종 마지막 컨볼루션 레이어로 지칭되지만, 일부 실시예들에서, 위에서 논의된 바와 같은 공간 관계를 보존한다면, 컨볼루션 부분의 마지막 레이어(CLk)가 반드시 컨볼루션 레이어일 필요는 없을 수도 있음), 결과적인 잠재 표현(LRk)(622)은 밀집 레이어들(614-1) 중 제1 밀집 레이어(DL1)에 입력된다. 밀집 레이어들(614)은 각각의 완전 연결 레이어의 뉴런들이 다른 층의 모든 뉴런에 연결된 완전 연결 레이어일 수 있다. CNN의 밀집 부분을 거친 후, 각각의 클래스들에 대한 클래스 확률들(CP1(621), ..., CPn(622))이 출력될 수 있다.
다양한 실시예들에서, 예측 벡터를 결정함으로써 훈련된 이미지 분류기를 사용하는 대신, 입력 이미지의 특징 공간 표현을 획득하기 위해 훈련된 이미지 분류기의 일부만을 입력 이미지에 적용함으로써 훈련된 이미지 분류기를 사용하는 것도 가능하다. 이 도면의 예시적인 이미지 분류기(IC)에서, 특징 공간 표현은 이미지 분류기의 밀집 레이어(DLi)의 출력일 수 있다. 이 특징 공간 표현은 다양한 업스트림 용도들을 가질 수 있는데, 예를 들면, 예를 들어 컴퓨터 제어 시스템을 제어하기 위한 제어 데이터를 추론하기 위해, 추가 훈련된 모델이 특징 공간 표현에 적용될 수 있다.
다양한 실시예들에서, 이미지 분류기(IC)에 의해 출력되는 예측 벡터, 예를 들어 이미지 분류기(IC)의 클래스 확률들(CPi)은 모델이 적용되는 입력 이미지에 대한 분포-외 점수를 결정하기 위해 사용될 수 있다. 과도 신뢰를 적게 하는 것의 추가적인 이점으로서, 여기에 설명된 바와 같이 훈련된 이미지 분류기들은 분포-외 샘플들을 인식하는 향상된 능력을 가질 수 있다. 알려진 이미지 분류기들은 분포-외 샘플들에 대해 높은 신뢰도를 출력하는 경향이 있다. 따라서, 알려진 이미지 분류기의 예측 벡터들에 기초하여 분포-외 점수를 결정하는 것과 비교하여, 본 명세서에 설명된 바와 같이 훈련된 분류기의 사용은 점수의 정확도를 증가시킬 수 있다. 예를 들어, 예측들의 엔트로피는 이상치 샘플들을 검출하기 위해 사용될 수 있다. 이것은 도면에 도시된 CNN에 대해서뿐만 아니라, 본 명세서에 설명된 바와 같이 훈련된 임의의 이미지 분류기에 대해 행해질 수 있다.
분포-외 점수를 결정하기 위한 이미지 분류기들의 사용은 분포-내 및 분포-외 샘플들이 상이한 레이블들을 갖는 테스트 세트를 사용하여 평가될 수 있다. 본 발명자들은 이상치 샘플들을 검출하기 위해 AUC에서 임계값으로서 예측들의 엔트로피를 사용하여 이러한 평가를 수행하였다. CIFAR-10은 분포-내 데이터로서 사용되는 한편, SVHN(Street View House Number)와 CIFAR-10-C 가우스 잡음 심각도(Gaussian Noise Severity) 5는 분포-외 데이터로서 사용되었다. 제공된 기술들은 다수의 테스트된 데이터세트-네트워크 쌍에 걸쳐 다른 즉석 보정 방법들보다 성능이 우수한 것으로 나타났다. 변동성도 다른 보정 방법에 비해 작아서, 상이한 데이터 및 아키텍처들에 대한 견고성을 보여준다.
이하에서는 일부 구현 세부사항들 및 평가 결과들이 논의된다. 분류기의 신뢰도가 정확도로부터 얼마나 벗어나는지를 측정하기 위해 널리 사용되는 메트릭은 예상 보정 에러(ECE)이다. ECE는 상위-1 예측 확률을 샘플의 신뢰도로 간주하여, 신뢰도 다이어그램의 동작을 모방한다. 샘플들은 그 신뢰도에 따라 분류되고 M개의 빈으로 분할된다. ECE는 이하의 수학식에 따라 정확도와 평균 신뢰도 간의 가중 평균 차이를 요약하고: ECE =
Figure pat00012
, 여기서 Confm 및 Accm은 빈 m의 평균 신뢰도 및 정확도이다.
Figure pat00013
은 대응하는 빈 내의 샘플들의 수를 지칭한다. ECE는 전형적으로 정적 비닝 방식(static binning scheme)을 사용하지만, 대부분의 예측들이 히스토그램의 우측에 밀집하여 위치되어 있기 때문에, 동적 비닝 방식을 사용하는 것도 가능하다.
빈들의 수 M은 중요한 하이퍼파라미터이다. 지나치게 적은 빈은 보정 에러(편향)를 과소평가할 수 있는데, 왜냐하면 많은 정보가 평활화될 수 있기 때문이다. 지나치게 많은 빈은 메트릭이 높은 분산으로 어려움을 겪게 할 수 있다. 통상적으로, 15개의 빈이 사용되지만, 최근 연구에서는 100개의 빈을 사용한 결과들도 보고되고 있다. 본 발명자들은 100-빈 정적 비닝을 사용하여 평가를 수행했는데, 왜냐하면 100개의 빈을 사용하면, 상이한 비닝 방식들이 상이한 방법들에 대한 순위를 변경하지 않는다는 것을 발견했기 때문이다.
ECE는 편리하고 대중적이다. 그러나, 그 편향-분산 트레이드오프 외에도, ECE의 또 다른 문제는 ECE를 0으로 만드는 사소한 경우들이 항상 존재한다는 것이다. 이는 분류기가 완벽하게 ECE 보정될 수 있지만, 임의의 입력에 대해 고정된 확률을 출력할 수 있음을 의미하며, 이는 바람직하지 않다. 네거티브 로그 가능성(NLL)을 메트릭으로서 사용함으로써 이러한 문제들을 우회하는 것이 문헌에서 제안되었다. NLL은 일반화와 보정을 고려한다. 두 개의 모델이 유사한 정확도를 가질 때, 낮은 NLL을 갖는 모델은 오보정으로 인한 어려움을 덜 겪는다.
평가를 위해, 제안된 기술들은 소프트웨어 PyTorchImageClassification을 사용하여 구현된다. 모든 네트워크 아키텍처에 대해, 표준 데이터 증가(무작위 자르기 및 무작위 뒤집기) 및 He/Xavier 초기화가 취해진다. 실험들은 상이한 시드들을 사용하여 5회 반복된다. 훈련 하이퍼파라미터들은 원래 모델을 훈련하는 데 사용된 것과 동일하다. 드롭아웃(dropout)을 사용하지 않고서 Nesterov 모멘텀이 0.9인 SGD 최적화기가 사용된다. 모델들은 완전한 훈련 후에 평가된다(조기 중지 없음).
WRN-28-10은 200 에포크에 대해 학습되며, 학습률은 처음 60 에포크에 대해 0.1, 다음 60 에포크에 대해 0.02, 다음 40 에포크에 대해 0.004, 및 마지막 40 에포크에 대해 0.0008이다. 훈련 배치 크기는 128로 설정되고, 가중치 감쇠는 5 × 10-4이다.
DenseNet-BC-100은 300 에포크에 대해 배치 크기 64를 사용하여 학습된다. 초기 학습률은 0.1이며, 에포크 150 및 225에서 각각 90% 감소된다. 약간 다른 가중치 감쇠가 취해지는데, 이 경우에서는 10-4이다. 실험들에서 DenseNet의 압축률은 0.5이고, 성장률 k = 12이다.
ResNeXt-29는 DenseNet-BC-100과 동일한 학습률 스케줄을 사용하며, 기본 채널들 및 초기 채널들은 64로 설정된다. 가중치 감쇠는 5 × 10-4이고, 배치 크기는 128로 설정된다.
모든 데이터세트에 대해 2% 훈련 샘플이 검증(보정)을 위해 분할되며, 이 경우, CIFAR-10/CIFAR-100에 대해서는 1000개의 샘플, 그리고 TinyImageNet에 대해서는 2000개의 샘플이다. TinyImageNet 내의 이미지들은 CIFAR를 위해 설계된 모델들을 효율적으로 사용할 수 있도록 32 × 32로 다운샘플링된다.
실험들에서는 특정 아키텍처의 훈련 스케줄에 의존하는 다수의 레이블 보정과 함께, ΔT=1 에포크의 대기 단계가 사용된다. WRN은 3회의 학습 감쇠를 가지며, 3회의 레이블 보정이 수행된다. 대조적으로, DenseNet 및 ResNeXt는 단 2회의 학습률 감쇠만을 갖는다. 이에 대응하여, 레이블 보정은 이러한 네트워크들에서 2회 수행된다.
제안된 기술들의 효율성을 평가하기 위해, WRN에 대해 CIFAR-100에서 예비 실험이 수행되었다. 이러한 기술들은 사후 보정(LSP-아이덴티티(identity)) 없이 온도 스케일링(LSP-TS)과 함께 적용되었으며, 교차-엔트로피(CE) 원-핫 코딩 기준선과 비교되었다. 성능은 상위-1 정확도(Acc@1), ECE 및 NLL의 측면에서 평가된다.
LSP-아이덴티티는 ECE 및 NLL 측면에서 기준선을 큰 차이로 능가하는 것으로 나타났다. 소프트 레이블들의 추가 혜택으로서, LSP-아이덴티티는 또한 기준선보다 더 정확하다. 사후 보정을 적용하는 것의 유리한 네거티브 피드백으로 인해, LSP-TS는 모든 메트릭에서 LSP-아이덴티티보다 더 잘 작동하는 것으로 나타났다. 이러한 이유로, LSP-TS는 이하의 실험들에서 표준 LSP 셋업으로서 사용되었으며, LSP라고도 지칭된다. 추가 실험들에서, LSP는 교차-엔트로피 기준선뿐만 아니라 엔트로피 페널티, 레이블 평활화 및 초점 손실 보정도 능가하는 것으로 나타났다. LSP는 WRN 및 ResNeXt에 대한 소프트 레이블들로부터 추가 정확도 증대를 얻는 것으로 나타났다. LSP의 정확도는 실험들 전반에 걸쳐 경쟁력이 있으며, 다른 방법들이 약간 더 높은 정확도를 제공하는 경우에서 LSP는 훨씬 더 나은 NLL을 제공하며, 이는 LSP가 다른 방법들보다 오보정으로 인한 어려움을 훨씬 더 적게 겪음을 나타낸다.
제공되는 훈련 방법들은 적어도 두 개의 하이퍼파라미터: 대기 단계의 에포크들의 수 ΔT, 및 레이블 보정 빈도에 따라 구성될 수 있다. WRN-28-10에 대해 CIFAR-100에서 최상의 하이퍼파라미터들을 철저하게 검색하기 위한 실험들이 수행되었다.
대기 단계: WRN-28-10의 훈련 스케줄에는 3회의 학습률 감쇠가 있다. 이 실험에서, 보정 빈도는 3으로 고정되고, 레이블 보정은 각각의 학습률 감쇠 후 ΔT 에포크들에서 수행된다. 최상의 ΔT∈{-20,-10,-1,0,+1,+10,+20}에 대해 검색이 수행된다. 이러한 검색은 ΔT = 1이 일반화 및 보정 둘 다에 가장 잘 작동함을 보여준다.
빈도: 상이한 빈도들의 결과를 결정하기 위해 또 다른 실험이 수행되었다. 빈도∈{1,2,3}의 실험들에서, ΔT=1은 고정되며, 상이한 학습 스테이지들에서의 레이블 보정의 영향이 조사된다. 결과들은 학습률 감쇠당 적어도 1회의 레이블 보정을 수행하는 것이 매우 유익하다는 것을 보여준다. WRN-28-10에 대해, 일반적으로 빈도 = 3이 최상의 성능을 가지며, 이것이 일반적으로 양호한 세팅일 것으로 예상된다. 빈도∈{4,6,199}의 실험들에 대해, 제1 학습률 감쇠 이전(빈도 = 4), 각각의 학습 스테이지의 중간(빈도 = 6), 또는 각각의 에포크 이후(빈도 = 199)의 추가 레이블 보정이 유익한지가 조사된다. 제1 학습률 감쇠 전에 추가 레이블 보정을 수행하면, 약 1% 더 낮은 정확도 및 불량한 NLL의 비용으로 ECE의 향상이 제공되는 것으로 나타났다. 이러한 데이터세트에서, 빈도 = 6 및 빈도 = 200에 대한 향상은 발견되지 않았다. 따라서, 학습률 감쇠에서 최대 1회 레이블 보정을 수행하는 것이 바람직하다.
실험들은 전반적으로 각각의 학습률 감쇠보다 하나의 에포크 후에 레이블 보정을 수행하는 것이 가장 유익하다는 것을 나타낸다.
추가 실험에서, 온도 평활화를 사용한 훈련은 사후 보정기로서 잠재 가우시안 프로세스를 사용한 훈련과 비교되었다. 이러한 실험들에서, LSP-GP는 NLL을 개선하지만 ECE를 약간 저하시킨다. 이는 더 많은 보정 샘플을 요구하는 GP의 높은 복잡성에 기인할 수 있다. 일반적으로, GP 사후 보정기는 제안된 훈련 기술과 결합하여 잘 작동하며, 이는 그들이 다른 보정 방법들과 잘 호환됨을 보여준다.
사후 보정을 위한 몇 가지 선택사항이 비교되었다: 없음, 온도 평활화, 잠재 가우시안 프로세스, 및 I-MAX. TinyImageNet에서 WRN-28-10에 대해, 그리고 CIFAR-100에서 WRN-28-10, DenseNet-BC-100 및 ResNeXt-29에 대해 실험이 수행되었다. 제안된 즉석 보정 기술들 없이 사후 보정만을 사용하는 것은 이미지 분류기의 정확도를 개선하지 못하고 심지어 악화시키는 것으로 나타났다. 반면에, 제안된 즉석 보정과 사후 보정을 결합하면 더 나은 일반화가 야기되는 것으로 나타났다. 또한, 대부분의 사후 보정 방법들은 NLL 및 ECE의 측면에서 오보정을 완화하는 것으로 나타났다. 제공된 기술을 사용하여 이미지 분류기를 선험적으로(a-priori) 정규화하는 경우, 오보정은 더 감소된다. I-MAX의 경우에서, 제공된 기술은 ECE의 측면에서 보정을 개선하지 않는 것으로 나타났다. 이는 비닝 방식으로서의 I-MAX가 특히 ECE 계산의 비닝 방식과 호환되고, 모든 사후 방법들 중 최상의 ECE 성능을 제공하기 때문이다. 이러한 경우들에서 본 명세서에 제안된 바와 같은 즉석 보정을 추가하는 것은 ECE의 측면에서 성능을 약간 저하시킬 수 있다. 그럼에도 불구하고, 제공된 기술들과 I-MAX의 결합은 I-MAX에 의해 야기되는 이미지 분류기의 정확도 손상을 방지할 수 있으므로 유익하다.
또 다른 실험은 제안된 기술들을 자가-정제(self-distillation)와 비교하는 것을 수반한다. 자가-정제는 하나의 모델로부터의 소프트 레이블들을 사용하여 다른 모델의 성능을 향상시킨다. 이는 자체적으로 훈련되는 모델의 소프트 레이블들을 사용하는 제공된 기술들과 대조된다. 흥미롭게도, 제공된 기술들은 자가-정제보다 더 잘 작동하는 것으로 나타났다. 특히, 제공된 기술들을 티쳐-프리 지식 정제(Teacher-free Knowledge Distillation)(자가-TfKD(TfKD-self))라고 지칭되는 기술들과 비교하는 실험이 수행되었다. Acc@1, NLL 및 ECE의 측면에서 CIFAR-10/100에서 비교가 수행된다. 파라미터들 τ= 20 및 α= 0.95가 사용되었다. 다른 하이퍼파라미터들은 다른 실험들에 대한 것과 같다.
제공된 기술들은 셋업들에 걸쳐서 훨씬 더 양호한 NLL 및 ECE를 제공하는 것으로 밝혀졌으며, 이는 오보정을 방지하는 데에 있어서 큰 개선이 있음을 시사한다. 이는 대부분의 데이터세트-모델 쌍들에서 더 낮은 정확도를 비용으로 한다. 이것은 자가-TfKD가 오보정을 방지하기 위한 것이 아니라 일반화를 위해 설계된다는 사실에 대응한다.
자가-TfKD가 제공된 기술들보다 더 불량하게 보정되는 몇 가지 이유가 확인되었다. 먼저 자가-TfKD에서는, 모든 샘플에 하드 레이블들을 사용한 교차 엔트로피 손실이 적용된다. 레이블 벡터들을 업데이트할 때, 제공된 기술들은 잘못 분류된 샘플들에 대해서만 하드 레이블들을 사용한다. 자가-TfKD에서 교차 엔트로피 앞의 계수 1-α는 통상적으로 작지만, 선택 없이 원-핫 코딩 레이블을 사용하는 것은 여전히 과도 신뢰의 위험을 증가시킨다. 과도 신뢰를 피하기 위해 α를 1로 설정하면, 훈련 정확도가 100%가 아닌 심하게 정규화된 교사 모델들(teacher models)이 잘못된 소프트 레이블들을 제공하여, 학생 모델들(student models)의 성능을 저하시킬 수 있다. 본 명세서에 설명된 샘플 선택 메커니즘은 그러한 트레이드오프에 직면할 필요가 없다.
또한, 자가-TfKD의 교사 모델들은 사전 훈련된 모델들이다. 하드 레이블들에 의해 훈련된 사전 훈련된 모델들의 예측들은 비교적 하드 레이블들에 가깝고 통상적으로 과도 신뢰한다. 자가-TfKD는 교사의 출력과 학생의 출력 간의 일관성을 강제하기 때문에, 학생 모델들에 대한 과도 신뢰가 예상될 수 있다. 반대로, 모델 훈련의 상이한 학습 단계들에서, 제공된 기술들은 보정된 예측들을 소프트 레이블들로서 사용할 수 있으며, 이는 잘 보정된 모델들을 모방하는 것과 등가이다.
또한, 자가-TfKD에서는, 완벽한 모방을 위해 교사 모델들 및 학생 모델들로부터의 로짓들에 온도 스케일링이 동시에 적용되는 반면, 제공된 기술들은 오직 교사 모델들(이전 예측들)로부터의 로짓들에 사후 보정(예를 들어, 온도 스케일링)을 임의적으로 적용한다. 이는 학생 모델들의 출력이 교사 모델들의 출력으로부터 일탈할 수 있게 하고, 이는 훈련을 위한 추가의 보정 유연성을 도입한다.
도 7은 분류기, 예를 들어 이미지 분류기를 훈련하는 컴퓨터로 구현된 방법(700)의 블록도를 도시한다. 분류기는 입력 인스턴스, 예를 들어 입력 이미지에 대한 예측 벡터를 결정하도록 구성될 수 있다. 예측 벡터는 복수의 개별 클래스에 대한 클래스 확률들을 포함할 수 있다. 방법(700)은 도 1의 시스템(100)의 동작에 대응할 수 있다. 그러나, 방법(700)이 또한 다른 시스템, 장치 또는 디바이스를 사용하여 수행될 수 있다는 점에서 이것은 제한이 아니다.
방법(700)은 "분류기가 훈련 데이터에 액세스"라는 제목의 동작에서 분류기의 훈련가능한 파라미터들, 및 복수의 훈련 인스턴스 및 대응하는 클래스 레이블들을 포함하는 훈련 데이터세트에 액세스(710)하는 것을 포함할 수 있다.
방법(700)은 분류기를 훈련하는 단계를 포함할 수 있다. 훈련은 "초기 훈련 단계들"이라는 제목의 동작에서, 훈련가능한 파라미터들에 대한 현재 파라미터 값들을 획득하기 위해 분류기를 훈련하는 하나 이상의 초기 훈련 단계를 수행(720)하는 것을 포함할 수 있다. 훈련은 "훈련 데이터 선택"이라는 제목의 동작에서, 훈련 데이터세트로부터 훈련 인스턴스, 예를 들어 훈련 이미지, 및 대응하는 클래스 레이블을 선택(730)하는 것을 포함할 수 있다.
훈련은 "레이블 벡터 결정"이라는 제목의 동작에서, 훈련 인스턴스에 대한 분류기를 훈련하기 위한 현재 레이블 벡터를 결정(740)하는 단계를 포함할 수 있다. 결정(740)은 "분류기 적용"이라는 제목의 동작에서, 예측 벡터를 획득하기 위해 현재 파라미터 값들에 따라 분류기를 훈련 인스턴스에 적용(742)하는 것을 포함할 수 있다. 결정(740)은 "클래스 추론"이라는 제목의 동작에서, 예측 벡터로부터 복수의 클래스의 예측된 클래스를 추론(744)하는 것을 포함할 수 있다. 결정(740)은 "추론된 클래스를 클래스 레이블과 비교"라는 제목의 동작에서, 예측된 클래스를 클래스 레이블과 비교(746)하는 것을 포함할 수 있다. 결정(742)은 "예측에 기초하여 레이블 벡터를 결정"이라는 제목의 동작에서, 예측된 클래스가 클래스 레이블과 동일한 경우 현재 레이블 벡터를 예측 벡터에 기초하여 소프트 레이블로서 결정(748)하는 것을 포함할 수 있다.
훈련은 "훈련 단계"라는 제목의 동작에서, 현재 레이블 벡터를 사용하여 훈련 인스턴스에 대해 분류기를 훈련하는 현재 훈련 단계를 수행(750)하는 것을 포함할 수 있다.
도 8은 훈련된 분류기, 예를 들어 이미지 분류기를 사용하는 컴퓨터로 구현된 방법(800)의 블록도를 도시한다. 방법(800)은 도 2의 시스템(200)의 동작에 대응할 수 있다. 그러나, 방법(800)이 또한 다른 시스템, 장치 또는 디바이스를 사용하여 수행될 수 있다는 점에서 이것은 제한이 아니다.
방법(800)은 "분류기 액세스"라는 제목의 동작에서, 분류기의 훈련된 파라미터에 액세스(810)하는 것을 포함할 수 있다. 분류기는 본 명세서에 설명된 방법, 예를 들어 도 7의 방법(700)에 따라 이전에 훈련되었을 수 있다.
방법(800)은 "인스턴스 획득"이라는 제목의 동작에서, 입력 인스턴스, 예를 들어 입력 이미지를 획득(820)하는 것을 포함할 수 있다.
방법(800)은 "분류기 적용"이라는 제목의 동작에서, 입력 인스턴스에 대한 예측 벡터를 결정하기 위해, 분류기를 입력 인스턴스에 적용하는 단계(830)를 포함할 수 있다. 방법(800)은 "예측 출력"이라는 제목의 동작에서, 예측 벡터에 기초하여 예측을 출력(835)하는 것을 더 포함할 수 있다.
적용(830) 및 출력(835)을 대신하여 또는 이에 더하여, 방법(800)은 "분류기 부분 적용"이라는 제목의 동작에서, 입력 인스턴스의 특징 공간 표현을 획득하기 위해, 분류기의 일부를 입력 인스턴스에 적용(840)하는 것을 포함할 수 있다. 방법(800)은 "특징 공간 표현 출력"이라는 제목의 동작에서, 특징 공간 표현을 출력(845)하는 것을 더 포함할 수 있다.
일반적으로, 도 7의 방법(700) 및 도 8의 방법(800)의 동작들은 임의의 적절한 순서로, 적용가능한 경우, 예를 들어 입력/출력 관계들에 의해 필요해지는 특정 순서들에 종속하여, 예를 들어 연속적으로, 동시에, 또는 그들의 조합으로 수행될 수 있음을 알 것이다. 방법들 중 일부 또는 전부는 또한 결합될 수 있고, 예를 들어 훈련된 분류기를 사용하는 방법(800)은 이 분류기가 방법(700)에 따라 훈련되는 것에 후속하여 적용될 수 있다.
방법(들)은 컴퓨터로 구현된 방법으로서, 전용 하드웨어로서, 또는 이 둘의 조합으로서 컴퓨터에서 구현될 수 있다. 도 11에 또한 도시된 바와 같이, 컴퓨터에 대한 명령어들, 예를 들어 실행 코드는 컴퓨터 판독가능한 매체(1100)에, 예를 들어 일련의 머신 판독가능한 물리적 마크들(1110)의 형태로 및/또는 상이한 전기적, 예를 들어 자기적 또는 광학적 속성들 또는 값들을 갖는 일련의 요소들로서 저장될 수 있다. 매체(1100)는 일시적이거나 비-일시적일 수 있다. 컴퓨터 판독가능한 매체의 예들은 메모리 디바이스들, 광학 저장 디바이스들, 집적 회로들, 서버들, 온라인 소프트웨어 등을 포함한다. 도 11은 광 디스크(1100)를 도시한다. 대안적으로, 컴퓨터 판독가능한 매체(1100)는 본 명세서에 설명된 바와 같이 훈련된 분류기의 훈련된 파라미터들을 표현하는 데이터(1110)를 포함할 수 있다.
비-제한적으로 표시되든 아니든, 예들, 실시예들 또는 임의적인 특징들은 청구된 바와 같은 본 발명을 제한하는 것으로 이해되어서는 안 된다.
위에서 언급된 실시예들은 본 발명을 제한하기보다는 예시하는 것이고, 본 기술분야의 통상의 기술자는 첨부된 청구항들의 범위로부터 벗어나지 않고서 많은 대안적인 실시예들을 설계할 수 있음에 주목해야 한다. 청구항들에서, 괄호들 사이에 있는 임의의 참조 부호들은 청구항을 제한하는 것으로 해석되어서는 안 된다. 동사 "포함한다(comprise)" 및 그것의 활용형들의 사용은 청구항에 명시된 것들 이외의 요소들 또는 스테이지들의 존재를 배제하지 않는다. 요소 앞에 있는 관사 "a" 또는 "an"은 그러한 요소들이 복수 존재하는 것을 배제하지 않는다. 요소들의 목록 또는 그룹의 앞에 있을 때의 "적어도 하나의"와 같은 표현들은 목록 또는 그룹으로부터의 요소들의 전체 또는 임의의 부분 집합의 선택을 나타낸다. 예를 들어, "A, B 및 C 중 적어도 하나"라는 표현은 A 단독, B 단독, C 단독, A 및 B 둘 다, A 및 C 둘 다, B 및 C 둘 다, 또는 A, B 및 C 모두를 포함하는 것으로 이해되어야 한다. 본 발명은 몇 가지 별개의 요소를 포함하는 하드웨어에 의해, 그리고 적절하게 프로그래밍된 컴퓨터에 의해 구현될 수 있다. 여러 수단을 열거하는 디바이스 청구항에서, 이러한 수단 중 몇 개는 하나의 그리고 동일한 하드웨어 항목에 의해 구현될 수 있다. 특정 수단들이 서로 다른 종속 청구항들에 기재되어 있다는 단순한 사실이 이러한 수단들의 조합이 유리하게 사용될 수 없다는 것을 나타내지는 않는다.

Claims (15)

  1. 이미지 분류기를 훈련하는 컴퓨터로 구현된 방법(computer-implemented method)(700)으로서,
    상기 이미지 분류기는 입력 이미지에 대한 예측 벡터를 결정하도록 구성되고, 상기 예측 벡터는 복수의 개별 클래스에 대한 클래스 확률들을 포함하고, 상기 방법은:
    - 상기 이미지 분류기의 훈련가능한 파라미터들, 및 복수의 훈련 이미지 및 대응하는 클래스 레이블들을 포함하는 훈련 데이터세트에 액세스(710)하는 단계;
    - 상기 훈련가능한 파라미터들에 대한 현재 파라미터 값들을 획득하기 위해 상기 이미지 분류기를 훈련하는 하나 이상의 초기 훈련 단계를 수행(720)하는 단계;
    - 상기 훈련 데이터세트로부터의 훈련 이미지 및 대응하는 클래스 레이블을 선택(730)하는 단계;
    - 예측 벡터를 획득하기 위해 상기 현재 파라미터 값들에 따라 상기 훈련 이미지에 상기 이미지 분류기를 적용(742)하고; 상기 예측 벡터로부터 복수의 클래스의 예측된 클래스를 추론(744)하고; 상기 예측된 클래스를 상기 클래스 레이블과 비교(746)하고; 상기 예측된 클래스가 상기 클래스 레이블과 동일한 경우, 상기 예측 벡터에 기초하여 현재 레이블 벡터를 소프트 레이블로서 결정(748)함으로써, 상기 훈련 이미지에 대해 상기 이미지 분류기를 훈련하기 위한 현재 레이블 벡터를 결정(740)하는 단계; 및
    - 상기 현재 레이블 벡터를 사용하여 상기 훈련 이미지에 대해 상기 이미지 분류기를 훈련하는 현재 훈련 단계를 수행(750)하는 단계
    를 포함하는, 방법(700).
  2. 제1항에 있어서,
    - 이전 학습률(learning rate) 및 이전 레이블 벡터들에 따라 상기 이미지 분류기의 하나 이상의 이전 훈련 단계를 수행하는 단계;
    - 상기 이전 학습률을 감쇠(decaying)시키는 단계;
    - 상기 훈련가능한 파라미터들에 대한 업데이트된 파라미터 값들을 획득하기 위해, 감쇠된 학습률 및 상기 이전 레이블 벡터들에 따라 상기 이미지 분류기를 훈련하는 하나 이상의 추가 훈련 단계를 수행하는 단계;
    - 상기 업데이트된 파라미터 값들에 따라 상기 이미지 분류기를 적용함으로써 상기 훈련 이미지에 대한 상기 현재 레이블 벡터를 결정하는 단계; 및
    - 상기 현재 레이블 벡터 및 상기 감쇠된 학습률에 따라 상기 현재 훈련 단계를 수행하는 단계
    를 포함하는, 방법(700).
  3. 제2항에 있어서, 상기 하나 이상의 추가 훈련 단계는 하나의 훈련 에포크(training epoch)를 형성하는, 방법(700).
  4. 제1항 내지 제3항 중 어느 한 항에 있어서, 상기 이미지 분류기와 독립적으로 결정된 레이블 벡터들을 사용하여 상기 하나 이상의 초기 훈련 단계를 수행하는 단계를 포함하는, 방법(700).
  5. 제1항 내지 제4항 중 어느 한 항에 있어서, 상기 이미지 분류기는 상기 입력 이미지의 각각의 부분들에 대한 상기 복수의 클래스의 클래스 확률들을 계산하도록 구성된 의미론적 분할 모델이고, 상기 방법은 상기 입력 이미지의 상기 각각의 부분들에 대한 현재 레이블 벡터들을 결정하고 사용하는 단계를 포함하는, 방법(700).
  6. 제1항 내지 제5항 중 어느 한 항에 있어서, 상기 입력 이미지는 픽셀 값들, 복셀 값들, 또는 포인트 클라우드에 의해 표현되는, 방법(700).
  7. 제1항 내지 제6항 중 어느 한 항에 있어서, 상기 예측된 클래스가 상기 클래스 레이블과 동일하지 않은 경우, 상기 예측 벡터와 독립적으로 상기 클래스 레이블에 기초하여 상기 현재 레이블 벡터를 결정하는 단계를 더 포함하는, 방법(700).
  8. 제1항 내지 제7항 중 어느 한 항에 있어서, 상기 예측 벡터에 기초하여 현재 레이블 벡터를 결정하는 단계는, 사후 보정 모델을 상기 예측 벡터에 적용하는 단계를 포함하는, 방법(700).
  9. 제8항에 있어서, 상기 이미지 분류기에 대해 상기 사후 보정 모델을 훈련하는 단계를 더 포함하는, 방법(700).
  10. 훈련된 이미지 분류기를 사용하는 컴퓨터로 구현된 방법(800)으로서,
    - 상기 이미지 분류기의 훈련된 파라미터들에 액세스(810)하는 단계 - 상기 이미지 분류기는 제1항 내지 제9항 중 어느 한 항에 따라 훈련됨 - ;
    - 입력 이미지를 획득(820)하는 단계;
    - 상기 입력 이미지에 대한 예측 벡터를 결정하기 위해 상기 이미지 분류기를 상기 입력 이미지에 적용(830)하고, 상기 예측 벡터에 기초하여 예측을 출력(835)하고; 및/또는 상기 입력 이미지의 특징 공간 표현(feature space representation)을 획득하기 위해 상기 이미지 분류기의 일부를 상기 입력 이미지에 적용(840)하고, 상기 특징 공간 표현을 출력(845)하는 단계
    를 포함하는, 방법(800).
  11. 제10항에 있어서, 상기 예측 벡터로부터 상기 입력 이미지에 대한 분포-외 점수(out-of-distribution score)를 결정하는 단계를 포함하는, 방법(800).
  12. 제10항에 있어서, 상기 입력 이미지는 컴퓨터 제어 시스템 및/또는 그것의 환경을 나타내고, 상기 방법은 상기 특징 공간 표현을 획득하기 위해 상기 이미지 분류기의 일부를 적용하고, 상기 컴퓨터 제어 시스템을 제어하기 위한 제어 데이터를 추론하기 위해 상기 특징 공간 표현에 추가 훈련된 모델을 적용하는 단계를 포함하는, 방법(800).
  13. 이미지 분류기를 훈련하기 위한 시스템(100)으로서,
    상기 이미지 분류기는 입력 이미지에 대한 예측 벡터를 결정하도록 구성되고, 상기 예측 벡터는 복수의 개별 클래스에 대한 클래스 확률들을 포함하고, 상기 시스템은:
    - 복수의 훈련 이미지 및 대응하는 클래스 레이블들을 포함하는 훈련 데이터세트(030)에 액세스하고, 상기 이미지 분류기의 훈련가능한 파라미터들(040)에 액세스하기 위한 데이터 인터페이스(120); 및
    - 프로세서 서브시스템(140)
    을 포함하고, 상기 프로세서 서브시스템(140)은:
    - 상기 훈련가능한 파라미터들에 대한 현재 파라미터 값들을 획득하기 위해 상기 이미지 분류기를 훈련하는 하나 이상의 초기 훈련 단계를 수행하는 것;
    - 상기 훈련 데이터세트로부터의 훈련 이미지 및 대응하는 클래스 레이블을 선택하는 것;
    - 예측 벡터를 획득하기 위해 상기 현재 파라미터 값들에 따라 상기 훈련 이미지에 상기 이미지 분류기를 적용하고; 상기 예측 벡터로부터 복수의 클래스의 예측된 클래스를 추론하고; 상기 예측된 클래스를 상기 클래스 레이블과 비교하고; 상기 예측된 클래스가 상기 클래스 레이블과 동일한 경우, 상기 예측 벡터에 기초하여 현재 레이블 벡터를 소프트 레이블로서 결정함으로써, 상기 훈련 이미지에 대해 상기 이미지 분류기를 훈련하기 위한 현재 레이블 벡터를 결정하는 것; 및
    - 상기 현재 레이블 벡터를 사용하여 상기 훈련 이미지에 대해 상기 이미지 분류기를 훈련하는 현재 훈련 단계를 수행하는 것
    에 의해 상기 이미지 분류기를 훈련하도록 구성되는, 시스템(100).
  14. 이미지 분류기를 사용하기 위한 시스템(200)으로서,
    - 상기 이미지 분류기의 훈련된 파라미터들(042)을 포함하는 저장소(022) - 상기 이미지 분류기는 제1항 내지 제9항 중 어느 한 항에 따라 훈련됨 - ;
    - 프로세서 서브시스템(240)
    을 포함하고, 상기 프로세서 서브시스템(240)은:
    - 입력 이미지를 획득하고;
    - 상기 입력 이미지에 대한 예측 벡터를 결정하기 위해 상기 이미지 분류기를 상기 입력 이미지에 적용하고, 상기 예측 벡터에 기초하여 예측을 출력하고; 및/또는 상기 입력 이미지의 특징 공간 표현을 획득하기 위해 상기 이미지 분류기의 일부를 상기 입력 이미지에 적용하고, 상기 특징 공간 표현을 출력하도록
    구성되는, 시스템(200).
  15. 일시적 또는 비-일시적 컴퓨터 판독가능한 매체(900)로서,
    데이터(910)를 포함하며,
    상기 데이터(910)는:
    - 프로세서 시스템에 의해 실행될 때, 상기 프로세서 시스템으로 하여금, 제1항 내지 제9항 중 어느 한 항에 따른 컴퓨터로 구현된 방법을 수행하게 하는 명령어들; 및/또는
    - 프로세서 시스템에 의해 실행될 때, 상기 프로세서 시스템으로 하여금, 제10항 내지 제12항 중 어느 한 항에 따른 컴퓨터로 구현된 방법을 수행하게 하는 명령어들; 및/또는
    - 제1항 내지 제9항 중 어느 한 항의 컴퓨터로 구현된 방법에 따라 훈련된 이미지 분류기의 훈련된 파라미터들
    을 나타내는, 일시적 또는 비-일시적 컴퓨터 판독가능한 매체(900).
KR1020220109168A 2021-08-30 2022-08-30 이미지 분류기의 즉석 보정 KR20230032985A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP21193766.9A EP4141748A1 (en) 2021-08-30 2021-08-30 On-the-fly calibration of an image classifier
EP21193766.9 2021-08-30

Publications (1)

Publication Number Publication Date
KR20230032985A true KR20230032985A (ko) 2023-03-07

Family

ID=77543376

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020220109168A KR20230032985A (ko) 2021-08-30 2022-08-30 이미지 분류기의 즉석 보정

Country Status (5)

Country Link
US (1) US20230068516A1 (ko)
EP (1) EP4141748A1 (ko)
JP (1) JP2023035976A (ko)
KR (1) KR20230032985A (ko)
CN (1) CN115731409A (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117173548B (zh) * 2023-08-10 2024-04-02 中国自然资源航空物探遥感中心 一种海底地貌智能分类模型构建方法、装置及分类方法
CN116823838B (zh) * 2023-08-31 2023-11-14 武汉理工大学三亚科教创新园 高斯先验标签分配与特征解耦的海洋船舶检测方法与系统

Also Published As

Publication number Publication date
CN115731409A (zh) 2023-03-03
EP4141748A1 (en) 2023-03-01
JP2023035976A (ja) 2023-03-13
US20230068516A1 (en) 2023-03-02

Similar Documents

Publication Publication Date Title
US11842282B2 (en) Neural networks for coarse- and fine-object classifications
CN107209873B (zh) 用于深度卷积网络的超参数选择
KR102582194B1 (ko) 선택적 역전파
KR102570706B1 (ko) 분류를 위한 강제된 희소성
US20210073630A1 (en) Training a class-conditional generative adversarial network
CN106796580B (zh) 用于处理多个异步事件驱动的样本的方法、装置和介质
CN107533669B (zh) 滤波器特异性作为用于神经网络的训练准则
KR20230032985A (ko) 이미지 분류기의 즉석 보정
US20190279105A1 (en) Hierarchical machine learning system for lifelong learning
US20170344881A1 (en) Information processing apparatus using multi-layer neural network and method therefor
KR20180044295A (ko) 트레이닝된 머신 학습 모델의 성능을 개선시키는 방법
US11256964B2 (en) Recursive multi-fidelity behavior prediction
US20200151573A1 (en) Dynamic precision scaling at epoch granularity in neural networks
KR20180036709A (ko) 미디어 분류
KR20200132727A (ko) 다수의 섭동 유형들에 대해 강건한 분류
US11163269B2 (en) Adaptive control of negative learning for limited reconstruction capability auto encoder
EP3913538A1 (en) Classification model calibration
US20220197312A1 (en) Event Camera Based Navigation Control
CN116097277A (zh) 使用渐进式知识蒸馏训练神经网络模型的方法和系统
KR20230088714A (ko) 개인화된 뉴럴 네트워크 프루닝
US20220026556A1 (en) Methods and Systems for Predicting a Trajectory of an Object
KR20220069336A (ko) 객체 검출 방법 및 장치
US11816185B1 (en) Multi-view image analysis using neural networks
JP2021177386A (ja) 差分に予測可能に応答する機能のトレーニング
JP2021179885A (ja) 分類装置、分類方法、及び、プログラム