KR20220143119A - 인지 시스템용 훈련 데이터 후보의 자동 식별 - Google Patents
인지 시스템용 훈련 데이터 후보의 자동 식별 Download PDFInfo
- Publication number
- KR20220143119A KR20220143119A KR1020227032509A KR20227032509A KR20220143119A KR 20220143119 A KR20220143119 A KR 20220143119A KR 1020227032509 A KR1020227032509 A KR 1020227032509A KR 20227032509 A KR20227032509 A KR 20227032509A KR 20220143119 A KR20220143119 A KR 20220143119A
- Authority
- KR
- South Korea
- Prior art keywords
- cognitive
- data
- computing device
- scene
- computer
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/77—Processing 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/778—Active pattern-learning, e.g. online learning of image or video features
- G06V10/7784—Active pattern-learning, e.g. online learning of image or video features based on feedback from supervisors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/217—Validation; Performance evaluation; Active pattern learning techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/217—Validation; Performance evaluation; Active pattern learning techniques
- G06F18/2178—Validation; Performance evaluation; Active pattern learning techniques based on feedback of a supervisor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/22—Matching criteria, e.g. proximity measures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G06N3/0454—
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/10—Interfaces, programming languages or software development kits, e.g. for simulating neural networks
- G06N3/105—Shells for specifying net layout
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/77—Processing 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/774—Generating sets of training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/70—Labelling scene content, e.g. deriving syntactic or semantic representations
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- Software Systems (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Life Sciences & Earth Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Computational Linguistics (AREA)
- Mathematical Physics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Biophysics (AREA)
- Molecular Biology (AREA)
- Biomedical Technology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Evolutionary Biology (AREA)
- Databases & Information Systems (AREA)
- Medical Informatics (AREA)
- Multimedia (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Image Analysis (AREA)
Abstract
인지 시스템의 성능을 개선하는데 사용될 훈련 데이터에 대한 인지 약점을 자동으로 식별하는 방법들이 개시된다. 시뮬레이티드 데이터의 결함도 역시 식별된다. 시스템에 통합되거나 저장 매체에 위치한 명령어에 통합될 수 있는 상기 방법들은 베이스라인 결과와 증강된 입력을 가지는 결과 간의 인지 시스템 결과를 비교하는 단계 및 상기 비교에 대한 응답으로 인지 약점을 식별하는 단계를 포함한다. 상기 인지 시스템은 재라벨링된 데이터를 사용하여 재훈련됨으로써 개선된다.
Description
본 출원은 미국 가출원 시리얼 번호 제62/979,776호, 출원일: 2020년 2월 21일, 발명의 명칭: "인지 시스템용 훈련 데이터 후보의 자동 식별"을 우선권으로 주장하며, 그 명세서 전체가 본 발명에 참조로 포함된다.
본 발명은 어떤 데이터가 예시에 기반하여 학습하는 시스템(예: 머신 러닝 형태를 사용하는 시스템)의 훈련(training)에 유용한 것인지 식별하는 방법에 대한 신규한 방법에 대한 것이다. 특히, 본 발명은 머신 러닝 등으로 구현되는, 학습 기반 시스템에서 사용될 하이 밸류(high-value) 훈련 데이터를 식별하는 방법 및 시스템에 관한 것이다. 시각 기반 인지가 일 실시예로 제시되지만, 기타 다른 시스템이 본 발명에 적용 가능하다는 것은 당업자에게 자명할 것이다.
자율주행 자동차 등 자율 시스템은 인지 시스템을 사용하여 센서 데이터(예: 비디오 카메라 데이터)를 상기 시스템 주위 세계의 모델(예: 객체 및 위치의 리스트)로 변환시킨다. 이는 훈련 데이터(예: 컨볼루션(convolutional) 신경망 기반 딥러닝 등 머신 러닝의 형태로 구현되는 훈련 데이터)에 기반하여 행동하는 시스템의 보다 일반적인 예시이다.
이러한 시스템들의 성능의 중요한 요소는 상기 훈련 데이터가 학습해야 할 행동의 중요한 측면 모두를 학습 대상이 되는 객체 각각의 충분한 범위와 충분한 예시의 개수로 커버하는지 여부이다. 각 객체 유형은 보통 여러 개의 서브 유형을 가지며, 서브 유형들 역시 훈련 데이터에 포함되어야 커버리지가 충분한 것이다. 단순한 예로, 객체 유형은 예를 들어 보행자일 수 있고, 서브 유형은 보행자가 빨간색 코트를 입었는지, 검정색 코트를 입었는지, 또는 파란색 코트를 입었는지 여부일 수 있다. 본 맥락에서의 "서브 유형"은 반드시 최종 적용에 필요한 분류 정보를 의미하는 것은 아니며, 해당 유형의 관련 객체 전체를 일반화할 수 있도록 각각 충분한 훈련 데이터를 필요로 하는 객체의 다양한 표현을 의미한다. 실제로 샘플링이 부족한 훈련 데이터로 인해 머신 러닝 과정의 결과가 편향되어 제대로 된 객체 분류 가능성을 저하시킬 수 있는데, 왜냐하면 일부 특성은 해당 객체 유형의 다른 인스턴스에 비해 차이가 충분하여 학습 결과에 잠재적인 결함을 드러내기 때문이다.
일 예로, 빨간색 코트, 검정색 코트, 파란색 코트를 입은 보행자들에 대해 확실하게 훈련된 인지 시스템을 생각해보자. 노란색 코트를 입은 보행자는, 해당 인지 시스템이 자신의 훈련 데이터를 통해 노란색을 보행자가 아닌 다른 객체와 관련된 것으로 학습한 경우 (예: 교통 경고 신호 및 교통 방어벽), 보행자로 검출될 가능성이 낮거나 또는 잠재적으로 아예 보행자로 검출되지 않는다. 이러한 상황은 노란색 코트를 입은 보행자들을 제대로 나타내지 못하는 훈련 데이터의 시스템적 편향으로 인해 발생하는 것으로 볼 수 있다.
이러한 시스템적 편향을 식별하는 하나의 방법은 베이스라인 센서 데이터 스트림과 (가우시안 노이즈 등으로) 증강된 센서 데이터 스트림 간의 객체 검출 및/또는 분류 결과의 비교에 기반한다. 이러한 방법은 2019년 11월 4일에 출원된 국제 특허 출원 PCT/US19/59619의 "인지 시스템 품질 평가 시스템 및 방법"에 개시되어 있으며, 그 전체 내용이 참조로서 본 발명에 포함된다. 해당 특허 출원에 설명된 방법은 일반적으로 인지 시스템에 대한 "약점 검출"라고 불린다. 예를 들어, 베이스라인 비디오 데이터 스트림과 가우시안 노이즈가 주입된 비디오 데이터 스트림의 비교는 "인지 약점 검출기"의 예가 된다. (이러한 검출기는 라이다(lidar) 및 레이더(radar)와 같은 다른 센서 양식에서 작동할 수 있음에 주의하라.) 약점을 검출하는 센서 데이터 샘플의 인스턴스는 "검출(detection)"로 알려져 있다.
인지 약점 검출기를 사용하는 한 가지 방법은 인간 분석가에게 약점의 예시들을 제공하는 것이다. 인간 분석가는 많은 수의 검출을 살펴보고, 패턴을 식별하여 상응하는 약점이 인지 시스템에 존재하는지 판단할 수 있다. 일단 약점이 확인되면 인지 설계자들은 더 많은 수의 유사한 데이터 샘플 예시를 검색하고 이를 사용하여 시스템을 재훈련하여 잠재적으로 성능을 향상시킬 수 있다. 충분히 많은 수의 추가 데이터 샘플로도 재훈련만을 통해 인지 시스템을 개선시키지 못한다면, 인지 설계자들은 식별된 약점에 대한 성능을 더욱 향상시키기 위해 어떤 방식으로든 시스템을 재설계해야 할 수도 있다. 인지 약점을 판단하기 위해 수동적 분석을 사용하는 것이 효과적일 수 있지만, 고숙련 전문가로서는 시간 소모가 클 수도 있다. 본 발명의 목적은 인지 시스템 성능을 개선하는 데 필요한 수동적 분석 노력을 줄이는 것이다. 실시예들에서, 인지 시스템 성능 개선은 시스템에 의해 식별되는 인지 약점 또는 결함 수의 감소로 나타날 수 있다.
상기한 바와 같이, 일단 인지 약점이 식별되면 추가적인 훈련 데이터가 식별되어야 한다. 여기에는 이전에 제공된 예시들에 따라 노란색 코트를 입은 보행자를 위해 저장된 비디오를 스캔하는 것과 같은, 상당한 수동 작업이 포함될 수 있다. 본 발명의 또 다른 목적은 그러한 훈련 데이터를 식별하는데 필요한 시간과 노력을 줄이는 것이다.
인지 시스템의 약점이 식별된 후에, 훈련 데이터가 머신 러닝 재훈련 프로세스에 공급되기 전에 상기 훈련 데이터가 라벨링되어야 한다. 라벨링은 상당한 인력 개입으로 인해 비용이 매우 많이 들 수 있다. 예를 들어, 1시간 동안 데이터를 구동할 경우 라벨링에 최대 팔백(800) 시간에 해당하는 인력이 소요될 수 있다고 보고된 바 있다. 본 발명의 또다른 목적은 재훈련 데이터로 사용됨으로써 인지 성능을 개선하는 데 실제 도움이 될, 라벨링되는 데이터의 비율을 높임으로써 라벨링 비용을 보다 낮추는 것이다. 본 명세서에서 사용된 "훈련 데이터"는 지도 학습 머신 러닝 기반 방법에서 사용되는 훈련 및 검증 데이터 모두를 의미한다. 개시된 실시예에 의해 식별된 "훈련 데이터"는 인지 시스템 설계자들과 인지 검증 활동이 유리한 것으로 간주하는 훈련 데이터 일체, 검증 데이터 일체, 또는 이 둘의 조합으로 구분될 수 있다.
이들 및 다른 특징 및 이점은 하기 상세한 설명의 해석 및 첨부 도면의 검토를 통해 명백해질 것이다. 전술한 요약, 하기 상세한 설명 및 첨부 도면은 단지 설명을 위한 것이며 청구항의 다양한 양태를 제한하지 않는 것으로 이해되어야 한다.
본 발명의 목적은 인지 시스템 성능을 개선하는 데 필요한 수동적 분석 노력을 줄이는 것이다.
본 발명의 또 다른 목적은 그러한 훈련 데이터를 식별하는데 필요한 시간과 노력을 줄이는 것이다.
본 발명의 또다른 목적은 재훈련 데이터로 사용됨으로써 인지 성능을 개선하는 데 실제 도움이 될, 라벨링되는 데이터의 비율을 높임으로써 라벨링 비용을 보다 낮추는 것이다.
제1 측면에서, 입력 데이터세트에 대한 머신 러닝(machine-learned (ML)) 인지 시스템의 라벨링 성능을 개선하는, 컴퓨터로 구현되는 방법은, 상기 입력 데이터세트를 인지 시스템으로 처리하는 단계를 포함하고, 상기 입력 데이터 세트가 처리된 후, 상기 방법은 하나 이상의 인지 약점을 식별하는 단계, 상기 하나 이상의 인지 약점을 포함하는 상기 입력 데이터세트로부터 적어도 하나의 장면을 분리시키는 단계, 상기 적어도 하나의 장면에 있는 상기 하나 이상의 인지 약점을 재라벨링하여 적어도 하나의 재라벨링된 장면을 획득하는 단계, 및 상기 적어도 하나의 재라벨링된 장면에 대하여 상기 인지 시스템을 재훈련하는 단계를 포함한다. 이에 따라 상기 ML 인지 시스템의 라벨링 성능이 개선된다.
제2 측면에서, 머신 러닝(machine-learned (ML)) 인지 시스템을 훈련하는데 사용되는 시뮬레이티드 데이터의 품질을 평가하는, 컴퓨터로 구현되는 방법이 개시된다. 특정 실시예에서, 상기 방법은 시뮬레이티드 데이터를 포함하는 입력 데이터세트를 인지 시스템으로 처리하여 하나 이상의 후보 결함을 획득하는 단계, 상기 하나 이상의 후보 결함과 관련된 시뮬레이션된 객체 렌더링을 추출하는 단계, 상기 시뮬레이션된 객체 렌더링을 객체의 다른 예시들과 비교하는 단계, 및 다른 예시들과 일치하는 낮은 신뢰도를 가지는 시뮬레이션된 객체를 플래그 지정하는 단계를 포함한다.
제3 측면에서, 시뮬레이티드 데이터로 수행되는 인지 엔진 테스팅 중 식별되는 인지 약점들의 트리거 조건을 판단하는, 컴퓨터로 구현되는 방법이 개시된다. 특정 실시예에서, 상기 방법은, 시뮬레이티드 데이터를 포함하는 입력 데이터세트를 인지 시스템으로 처리하여 제1 결과 세트를 획득하는 단계; 증강된 시뮬레이티드 데이터를 포함하는 입력 데이터세트를 상기 인지 시스템으로 처리하여 제2 결과 세트를 획득하는 단계, 결함 검출 엔진을 사용하여 상기 제1 결과 세트와 상기 제2 결과 세트를 비교하여, 복수의 파라미터로 정의되는 시뮬레이션된 객체에 의해 발생한 인지 약점을 식별하는 단계, 변경된 시뮬레이션된 객체를 생성하기 위해, 적어도 하나의 파라미터를 변경하는 단계를 포함한다. 특정 실시예에서, 상기 제3 측면은 변경된 시뮬레이션된 객체가 인지 약점에 영향을 미쳤는지 여부를 판단하기 위해 변경된 시뮬레이션된 객체를 처리하고 비교하는 단계를 반복하는 단계를 더 포함한다.
특정 실시예에서, 상기한 컴퓨터로 이용 가능한 방법들은 적어도 하나의 메모리 또는 기타 다른 데이터 저장 설비, 하나 이상의 프로세서, 및 상기 하나 이상의 프로세서에 의해 활성화되면 상기한 측면 중 하나 이상을 수행하도록 하는 명령어를 저장하는 비일시적 컴퓨터 판독가능한 매체를 포함하는 컴퓨터 시스템에 의해 활용되고 수행된다.
본 발명의 특징 및 이점의 보다 완전한 이해를 위해, 첨부 도면과 관련된 이하의 상세한 설명을 참조해야 한다.
도 1은 테스트 대상 시스템에 대한 데이터의 결함을 식별하기 위한 입력들을 도시한다.
도 2는 머신 러닝으로 학습한 시스템의 라벨링 성능을 향상시키는 방법의 워크 플로우를 나타내는 블록도이다.
도 3은 머신 러닝으로 학습한 시스템을 훈련하는데 사용되는 시뮬레이티드 데이터의 품질을 평가하는 방법의 워크 플로우를 나타내는 블록도이다.
도 1은 테스트 대상 시스템에 대한 데이터의 결함을 식별하기 위한 입력들을 도시한다.
도 2는 머신 러닝으로 학습한 시스템의 라벨링 성능을 향상시키는 방법의 워크 플로우를 나타내는 블록도이다.
도 3은 머신 러닝으로 학습한 시스템을 훈련하는데 사용되는 시뮬레이티드 데이터의 품질을 평가하는 방법의 워크 플로우를 나타내는 블록도이다.
첨부된 도면과 관련하여 아래에 제공되는 상세한 설명은 예시를 설명하는 목적으로 제공되며, 본 예시들이 구성되거나 이용될 수 있는 유일한 형태를 나타내는 것을 의도하지 않는다. 제시된 설명은 예시들의 기능 및 예시들을 구성하고 작동시키는 단계의 순서를 설명한다. 그러나 동일하거나 동등한 기능 및 순서는 또다른 예시로도 가능하다.
"하나의 실시예", "일 실시예", "예시적 실시예", "특정 실시예", "하나의 구현예", "일 구현예", "하나의 예시", "일 예시" 등과 같은 표현은 기술된 실시예, 구현예, 또는 예시가 특정한 특징, 구조 또는 특성을 포함할 수 있지만, 모든 실시예, 구현예 또는 예시가 반드시 특정한 특징, 구조 또는 특성을 포함할 수 있는 것은 아님을 의미한다. 더욱이, 그러한 문구가 반드시 동일한 실시예, 구현예 또는 예시를 가리키는 것은 아니다. 또한, 특정한 특징, 구조 또는 특성이 실시예, 구현예 또는 예시와 관련되어 설명될 때, 그러한 특징, 구조 또는 특성은 그것이 명시적으로 기술되었는지 여부와 관계없이 다른 실시예, 구현예 또는 예시와 관련하여 구현될 수 있음을 이해해야 한다.
도 1은 주어진 입력 데이터세트, 즉, 베이스라인 데이터세트(20) 내에 인지 약점(이하 "결함"이라고도 지칭함)이 존재하는지 여부를 식별하는 데 사용되는 결함 검출 엔진(10)이 사용하는 데이터세트의 일부를 도시한다. 상기 결함 검출 엔진(10)은 그 전체 내용이 본 발명에 포함되고 약한(weak) 인지 성능을 식별하기 위한 "인지 시스템 품질 평가용 시스템 및 방법"이라는 제목의 국제 출원 PCT/US2019/59619에 기술된 적절한 실시예에 해당된다.
특정 실시예에서, 상기 결함 검출 엔진(10)은 베이스라인 데이터세트(20), 증강(30), 검출기(40), 그리고 선택적으로 비교 데이터세트(50)와 같은 파라미터로 표현된다. 베이스라인 데이터세트(20)는 결함 검출 엔진(10)이 결함을 식별하기 위해 작업하게 되는 데이터의 세트이다. 일부 실시예에서, 상기 엔진(10)은 결함 검출을 용이하게 하기 위해 베이스라인 데이터세트(20)를 일정한 형태로 변경해야 할 수 있다. 증강(30)은 이를 위해 데이터가 어떻게 변경되어야 하는지를 나타내는 사양이다. 대안적인 실시예에서, 엔진에는 결함 검출 프로세스를 수행하기 위해 베이스라인 데이터세트(20)와 함께 사용될 비교 데이터세트(50)가 제공될 수 있다.
엔진(10)은 원하는 검출 프로세스(들)를 수행하기 위해 하나 이상의 계산 컴포넌트를 사용한다. 검출기(40)는 이러한 목적을 달성하기 위해 어떤 구성요소를 사용해야 하는지를 나타내는 사양이다. 상기 엔진(10)은 특정 "테스트 대상 시스템"(SUT)(60)의 베이스라인 데이터세트(20) 및 비교 데이터세트(50)에 대해 결함 검출 프로세스(들)를 실행하여 테스트 기준에 대한 성능을 평가하며, 상기 테스트 기준에 대하여 소정의 검출기(40)가 생성되었다. 특정 실시예에서, SUT(60)는 심층 컨볼루션 신경망과 같은 인지 시스템이다. 인지 약점 또는 "결함"은 본 발명의 특정 실시예에 따른 추가적인 처리 또는 라벨 검토를 위해 결함 데이터베이스(70)에 저장된다.
본 발명의 워크플로우 시스템(200)의 일 실시예가 도 2에 나와 있다. 해당 실시예는 워크플로우 시스템(200)에 의해 실행되는 작업이 일련의 작업 사양(205)으로 표현된다고 가정한다. 본 명세서에서 작업 사양(205)은 시스템(200)이 처리하는 각 작업 단위의 데이터 입력, 구성 메타데이터, 처리 단계 및 결과에 대한 기술이다. 이러한 작업 사양(205)은 오케스트레이터(210)에 의해 처리되며, 오케스트레이터는 필요에 따라 워크플로우의 구성요소를 구성하고 실행하여 전달된 각각의 작업 사양(205)을 충족하도록 한다. 워크플로우 시스템(200)의 구성 요소들은 전체 워크플로우 중 자신들의 단계를 실행하는 데 필요한 모든 파라미터가 오케스트레이터(210)에 의해 자신들에게 제공된 것으로 가정할 수 있다.
라벨링된 데이터는 머신 러닝 모델을 훈련하는데 필요하다. 품질과 다양성이 충분한 라벨링 데이터는 어떤 방식으로든 라벨링 작업 및/또는 자동화된 라벨링 지원의 품질 검사를 수행하는 인간에 의해서만 생성될 수 있다. 인간 라벨러 팀을 고용, 교육 및 관리하는 데는 많은 비용과 시간이 소요된다. 인간 라벨러 팀과 관련된 ROI를 극대화하려면 이러한 팀이 생산하는 라벨의 품질, 단가 및 가치를 최적화해야 한다. 라벨 품질은 잘 훈련된 라벨러를 고용하여 그들이 생산하는 라벨에 대해 견고한 품질 관리 프로세스를 구현함으로써 최적화된다. 라벨 단가는 품질을 유지하면서 라벨러당 생산할 수 있는 라벨 수량을 최대화하고, 라벨링될 수 있는 모든 항목 중 어떤 항목을 라벨링하는 것이 가장 좋은지 결정하는 데 필요한 노력을 최소화함으로써 최적화된다. 라벨 값은 라벨러가 생성해야 하는 라벨이 해당 라벨을 사용하여 훈련되는 모델이 최대한 많이 개선되도록 함으로써 최적화된다.
주어진 인지 시스템을 훈련하고 평가하는 데 사용되는 라벨링 자원의 활용도 및 효율은 훈련에 사용될 높은 훈련 가치 결함을 자동으로 식별함으로써 높아진다. 특정 실시예에서는 인지 결함으로 식별된 객체가 있는 장면이, 평가되는 머신 러닝 모델이 잘 훈련되지 않고 처리된 예시를 나타내기 때문에 이에 따라 훈련/평가 데이터세트에 추가될 경우 모델 행동에 긍정적인 영향을 미칠 가능성이 있다는 속성을 활용한다. 실제로 10과 같은 결함 검출 엔진에 의해 식별된 장면에서 생성된 라벨은 인지 시스템 내의 감도를 드러내는 것으로, 무작위 샘플링 또는 주관적인 인간 의사결정과 같은 다른 수단을 통해 선택된 장면에서 생성된 라벨보다 개발 프로세스에 대한 기대 가치가 더 높다. 또한 결함 검출 엔진은 인지 시스템 내에서 감도를 드러내는 장면을 식별하는데 인간의 상호 작용이 필요하지 않은 자동화 툴이므로, 라벨링할 항목을 결정하는 데 필요한 시간과 노력을 줄여 결과적으로 라벨 생성 단가를 낮춰준다. 즉, 자동 결함 식별은 인간의 지원을 받아 수행되는 결함 식별보다 높은 확장성을 가진다. 특정 실시예에서 인간 분석가는 인지 결함의 근본 원인이 무엇인지 가설을 세우는 데 사용되는 것이 아니며, 오히려 라벨링 작업은 자동화된 결함 식별에 대한 응답으로서 수행된다는 점에 주의해야 한다.
특정 실시예는 데이터 항목들이 인간 라벨링 팀에 의해 라벨링될 때 이 라벨을 소비하는 후속 모델 훈련 작업에 긍정적인 영향을 미칠 것으로 예상되는 데이터 항목들을 자동으로 식별하는 방법을 제공한다. 도 2에 도시된 바와 같이, 자율성 스택의 제어를 받는 자율 차량(예: 테스트 차량)은 세계(트랙 또는 도로)에서 주행하는 임무를 맡는다. 차량이 마주친 것이 무엇이고 차량이 어떻게 행동했는지에 관한 센서 및 행동 데이터 모두를 포함하는 도로 데이터(210)는 이러한 주행 중에 캡처된다. 그 후 도로 데이터(210)는 저장 장치(215)에 업로드되고 워크플로우 시스템(200)이 추후 액세스하도록 저장된다. 아래에서 설명할 특정 실시예에서, 상기한 동일 워크플로우는 전적으로 소프트웨어 시뮬레이션 및/또는 루프 시뮬레이션의 하이브리드 하드웨어를 포함하는 시뮬레이션된 드라이브로부터 캡처된 데이터에도 동일하게 적용될 수 있다.
아래 단계들은 도 2에 도시된 예시적인 실시예의 단계를 개략적으로 설명한다. 작업 사양(205)은 오케스트레이터(207)에 전달되어 사용 가능한 드라이브 데이터 일부에 대한 라벨링 실행을 요청한다. 일부 실시예에서 특정 작업을 수행하기 위해 수행되어야 하는 단계들의 순서를 제어하는 소프트웨어로 표현되는 알고리즘일 수 있는 오케스트레이터(207)는, 작업 사양(205)으로부터 비롯되는 파라미터 세트를 사용하여 라벨링 실행을 실행할 것을 결함 검출 엔진(220)에게 지시한다. 유익한 예로서, 지정된 입력 데이터는 센서 데이터 저장소(215)에 있는 과거 데이터로부터 선택될 수 있다.
실시예들에서, 그 후 결함 검출 엔진(220)은 지정된 입력 데이터에 대해 하나 이상의 지정된 증강을 수행할 것을 지시 받은 다음, 입력으로서 베이스라인 및 증강 데이터를 사용하여 지정된 검출을 수행한다. 다음으로, 평가의 결과로서, 후보 결함이 식별되어 결함 데이터베이스(225)에 저장된다. 선택적으로 운영 데이터(예: 데이터 분석 진행률)가 운영 대시보드에 제공되고 오케스트레이터(207)에게 분석이 완료되었음이 통지된다.
다음으로, 오케스트레이터(207)는 후보 결함의 새로운 더미가 필터링 및 라벨링 설비(240)로의 전송에 이용 가능하다는 것을 결함 검출 필터(235)에 지시한다. 그 다음, 필터(235)는 현재 작업으로부터 원하는 필터링 기준과 일치하는 결함을 추출하고, 라벨링될 장면을 표시하는 라벨링 설비(240)에 대한 명령어 세트를 생성하고, 이러한 명령어를 라벨링 설비(240)로 전송한다. 본 명세서에서 사용되는 "장면"이라는 용어는 특정 센서가 설계된 환경에서의 하나의 완전한 샘플을 의미한다. 비제한적인 예로서, 장면은 단일 비디오 프레임 또는 단일 라이다 스위프와 연관된 데이터일 수 있다.
특정 실시예에서, 필터 구성기(245)는 엔지니어링 측면에서 관심 대상인 특정 결함(예: 높이가 250 픽셀 이상인 보행자와 관련된 인지 약점)에 집중하기 위해 일부 결함을 필터링하는 방법을 선택적으로 제공한다. 연관된 뷰어는 시스템 사용자의 선택적 조정에 대한 필터 기준을 충족하는 결함의 예시를 표시한다. 그러나 사용자가 필터링 결과를 볼 필요가 없으며, 필터가 결함 데이터베이스의 하위 설정을 수행할 필요도 없다. 따라서 워크플로우의 이 파트는 최소한의 인간의 감독으로 수행되거나 인간의 감독 없이 수행할 수 있다.
라벨링 설비(240)는 요청된 장면 및 아티팩트를 라벨링하고, 훈련 및 검증 데이터베이스(250)에서 라벨링된 데이터의 이용가능한 세트에 결과를 추가하고, 라벨링이 완료되었음을 오케스트레이터(207)에 통지한다. 그 다음, 오케스트레이터(207)는 인지 시스템 재훈련(260)을 재개할 것을 시스템에 지시한다. 일단 새롭게 라벨링된 데이터와 연관된 머신 러닝 모델이 재훈련되고, 새로 훈련된 인지 엔진(265)이 이전 단계에 의해 식별된 훈련 데이터에 응답하여 생성된다. 상기 데이터가, 인지 엔진(265)이 약하게 수행된 것으로 측정되는 데이터 샘플의 라벨링된 예시를 제공하기 때문에, 그러한 샘플에 대한 훈련이 인지 성능을 향상시킬 것이라는 기대가 있다.
특정 실시예에서, 단계들은, 새로운 인지 약점을 지속적으로 식별하고, 관련 ML 모델을 훈련하는 데 사용되는 데이터세트에 재라벨링된 장면을 자동으로 통합하는 방법으로서 반복적으로 실행될 것이다. 실시예에서, 성능 대시보드는 상술한 워크플로우의 연속 실행에 대한 결함의 감소 등 현재 및 과거의 인지 엔진 성능 데이터를 표시한다.
본 발명의 특정 실시예에서, 평가기(270) 및 재설계 프로세스(275)는 브루트 포스(brute force) 재훈련이 해당 재훈련에 적합하지 않은 시스템적 문제를 드러내는 상황을 처리한다. ML 모델은 학습 및 재설계라는 두 가지 기본 축을 따라 발전하며, 시간이 지나면서 모델의 학습 대상인 데이터세트의 지속적인 확장 및 큐레이션을 통해 기능과 성능을 얻을 수 있다. 훈련 데이터세트의 크기가 더 커지고 품질이 향상됨에 따라 잘 구성된 모델의 기능과 성능이 향상될 것이다. 그러나 ML 모델에는 로컬 최대값도 적용되는데, 즉, ML 모델의 발전 중 다양한 지점에서 추가 교육이 새로운 기능을 활성화하거나 성능을 향상시키지 못한다는 것을 의미한다. 이러한 정체기에 도달하면 모델을 재설계해야 한다. 재설계의 예로는 모델에 대한 아키텍처 변경 및 당업자에게 알려진 하이퍼 파라미터 변경이 있다(예: 심층 네트워크, 토폴로지 및 훈련 방식에서 레이어 수 증가).
본 발명의 특정 실시예는 늘어나는 훈련 데이터(도 2를 통해 생성된 것과 같은 데이터) 더미에 대해 훈련된 ML 모델에 대해 실행되는 결함 검출 엔진 실행들의 순서로부터 캡처된 결과에 내재된 신호를 활용한다. 연속적인 라벨링 실행의 결과를 평가하는 것은 의도된 목표를 향한 진행 상황(추가 데이터로 계속 재교육하는 것이 유용함을 나타냄) 또는 부족함(로컬 최대값에 도달하여 라벨을 더 추가해도 더 이상 적절한 진행이 이루어지지 않으며, 모델이 재설계되어야 함을 나타냄)을 드러낼 것으로 예상된다.
언급된 바와 같이, 특정 실시예는 추가 훈련이 더 이상 효과적이지 않고 모델 재설계가 필요한 시기를 식별하기 위해 훈련 실행의 순서에 걸쳐 ML 모델의 진행을 모니터링하는 것을 포함한다. 특히, 오케스트레이터(207)는 평가기(270)에게 새로 생성된 결함 세트를 동일한 소스 데이터세트에 대한 이전 라벨링 실행으로부터 생성된 결함 세트와 비교할 것을 지시한다. 새로운 라벨들을 추가함으로써 유의미한 진행이 이루어졌다고 판단되면, 평가기(270)는 라벨링을 계속할 것을 오케스트레이터(207)에 지시한다. 새로운 라벨을 추가함으로써 유의미한 진행이 이루어졌다고 판단되면, 평가기(270)는 오케스트레이터(207)에게 모델 재훈련에 내성이 있는 것으로 입증된, 식별된 결함 세트와 관련하여 재설계를 시작하도록 지시한다. 이 맥락에서 유의미한 진행은 ML 인지 시스템에 대한 정밀도-재현율(Precision-Recall (PR)) 곡선의 개선 측면에서 측정된다. 이 곡선에 사용된 "정밀도"는 위양성 비율이고 재현율은 위음성 비율이다. 실시예에서, 곡선이 0.5% 퍼센트를 초과하는 양으로 개선된 경우, 재설계가 필요하지 않은, 여전히 유의미한 진행으로 간주된다. "유의미한 개선"의 비제한적인 예는 재라벨링 후 재현율 저하 없이 정밀도에서 0.5% 개선이 있었던 인지 시스템 결과의 실행 비교에 대한 실행이다. 그럼에도 불구하고, 당업자는 유의미한 개선이 다른 방식으로 특징지어질 수 있음을 알 수 있을 것이다.
실시예에서, 인지 시스템 재설계(275)는 모델 하이퍼 파라미터를 조정하고, 계층을 추가/변경하고, 정규화 기술 및 기타 기술을 적용하는 것을 포함할 수 있다. 완료 시 인지 시스템 재설계(275)는 새로운 작업 사양을 오케스트레이터(207)에 전달하여 새로 조정된 인지 엔진(265)을 사용하여 라벨링 및 기타 워크플로우를 다시 시작한다.
특정 실시예에서, 도 2에서 식별된 시스템은 이하의 단계에 따라 시스템 상의 훈련 오류를 검색하는 데 사용될 수도 있다.
작업 사양(205)은 오케스트레이터(207)에 전달되어, 저장된 실제 세계 드라이브 데이터의 일부에 대하여 결함 검출 실행을 요청하고, 이 요청에 따라 오케스트레이터(207)는 결함 검출 엔진(220)에게 이하의 절차에 따라 평가 실행을 실행할 것을 지시한다. 본 예시에 사용된 파라미터는 설명을 위한 것일 뿐이며 작업 사양(205)으로부터 비롯된 것일 수 있다.
이미 수집되었고 이용 가능한 실제값을 갖는 데이터는 센서 데이터 저장소(215)로부터 선택된다. 상기 데이터는 훈련 및 검증 데이터베이스(250)에도 있고 그 따라 이용 가능한 라벨을 갖는 데이터 샘플에 대응하는 것이 바람직하다. 본 실시예에 대한 데이터에서는 증강이 수행되지 않는다. 베이스라인 및 실제값 데이터를 사용하여 지정된 검출이 수행되고 결함 데이터베이스(225)에 후보 결함이 저장된다. 다음으로, 평가기(270)는 새로 생성된 결함 세트를 실제값에 대한 이전 평가 실행으로부터 생성된 결함 세트와 비교한다. 이전에 설명된 바와 같이, 실제값에 대한 마지막 평가 이후 모델에 대해 유의미한 진행이 이루어지지 않은 경우, 오케스트레이터(207)는 위에서 설명된 핵심 재설계 워크플로우를 시작한다. 특정 실시예에서, 이러한 비교는 평가기(270) 및 필터(235)의 실행 순서를 거꾸로 하여 필터링된 후 평가된, 인지 시스템 재설계(275)를 위한 결과를 전달함으로써 평가 대상인 특정 객체 유형 및 특성을 선택하는 것을 포함할 수 있다.
또다른 실시예에서, 도 2에 설명된 시스템 및 방법은 이하에 따라 분류 오류를 검색하는 데 사용될 수도 있다: 작업 사양(205)이 오케스트레이터(207)에 전달되어, 저장된, 실제 세계 이전에 수집된 데이터 중 일부에 대한 평가 실행을 요청한다. 오케스트레이터(207)는 결함 검출 실행을 실행할 것을 결함 검출 엔진(220)에 지시한다. 이전과 마찬가지로 이 예에서 사용된 파라미터는 설명을 위한 것일 뿐이며 작업 사양(205)으로부터 비롯된 것일 수 있다. 먼저, PCT/US2019/59619에 교시된 바와 같이, 이용 가능한 실제값을 가지는 데이터가 과거 데이터 센서 스토리지(215)로부터 선택되고 데이터 사본에 대해 특정 증강이 수행됨으로써 약점 검출을 향상시킨다. 그 후 증강을 이용하여 지정된 검출이 식별되고 실제값 데이터 및 결함 후보들은 결함 데이터베이스(225)에 저장된다. 다음으로, 새로 생성된 결함 세트가 실제값에 대한 이전의 평가 실행으로부터 생성된 결함 세트와 비교된다. 실제값에 대한 마지막 평가 이후 모델에 유의미한 진행이 이루어지지 않은 경우 오케스트레이터(207)는 위에 설명된 핵심 재설계 워크플로우를 시작한다. 이전에 설명된 바와 같이, 필터(235) 및 평가기(270)는 선택적으로 역순으로 실행될 수 있다. 본 실시예는, 모델의 현재 상태를 지속적으로 평가하고 추가 교육 또는 재설계가 필요한지 여부를 지속적으로 평가하는 방식으로서 반복적으로 실행될 것으로 예상된다.
또다른 실시예에서, ML 모델을 훈련하는 데 사용되는 시뮬레이션의 품질이 개선될 수 있으며, 이는 결과적으로 시뮬레이션 툴링에 대한 신뢰를 증가시킬 것이다. 자율 시스템은 시나리오 범위를 확장하고 기존 테스트 공간을 탐색하는 방법으로서 시뮬레이션을 통해 테스트된다. 그러나 시뮬레이티드 데이터에 대해 ML 모델을 평가할 때 주어진 ML 모델의 행동이 ML 모델 자체 때문인지 아니면 훈련된 시뮬레이션의 품질 때문인지 항상 의문이 있다. 시뮬레이션된 객체의 품질을 평가하는 정량적 메커니즘을 제공하면 시뮬레이션 툴링의 생산자와 사용자 모두가 시뮬레이션된 세계에 대해 ML 모델을 실행한 결과에 대한 신뢰를 구축할 수 있다.
도 3에 예시된 실시예는 시뮬레이티드 데이터에 대해 훈련된 주어진 ML 모델에 대한 결함 검출 실행의 순서로부터 캡처된 결과에 구현된 잠재 신호를 활용한다. 결함 검출 엔진이 주어진 ML 모델 내에서 약점을 생성하는 것으로 시뮬레이션된 장면의 특정 기능이나 객체를 식별할 때 장면(하나 이상의 데이터 샘플)은 기존의 실제값 정보에 대한 평가 프로세스를 통해 자동으로 실행되어 시뮬레이션된 장면 데이터 자체가 문제의 원인인지 여부를 평가할 수 있다. 다시 말해서, 본 실시예는 시뮬레이션된 특징에 대한 특정 ML 모델의 감도를 캡처하고 해당 특징에 대한 평가를 자동으로 수행하여 주어진 정량적 측정 세트에 대해 이러한 특징의 품질을 결정하는 방법을 개략적으로 설명한다.
자율성 스택의 제어를 받는 시뮬레이션된 차량은 시뮬레이션된 세계에서 주행하는 임무를 맡고 있다. 차량이 마주친 것이 무엇이고 차량이 어떻게 행동했는지에 관한 센서 및 행동 데이터는 이러한 주행 중에 캡처된 후 워크플로우 시스템의 구성 요소가 액세스할 수 있는 저장소로 이동된다.
도 3은 시뮬레이션된 물체의 품질을 평가하도록 설계된 본 발명의 특정 실시예를 도시한다. 이 워크플로우(300)에서, 작업 사양(305)이 오케스트레이터(310)에 전달되어, 저장된 시뮬레이션된 드라이브 데이터(315)의 일부에 대한 라벨링 실행을 요청한다 이는 실제 도로 데이터가 사용된 이전 실시예와 다르다. 오케스트레이터(310)는 이하의 절차에 따라 평가 실행을 실행하도록 결함 검출 엔진(320)에 지시한다. 이전과 마찬가지로 본 예시에서 사용된 파라미터는 설명을 위한 것일 뿐이며 작업 사양(305)으로부터 비롯된 것일 수 있다.
이용 가능한 실제값 데이터가 센서 데이터 저장소(315)로부터 선택되지만, 데이터에 대한 증강은 수행되지 않는다. 베이스라인 및 실제값 데이터를 사용하여, 지정된 검출이 결함 검출 엔진(320)에 의해 수행되고 후보 결함은 결함 데이터베이스(325)에 저장된다. 특정 실시예에서, 후보 결함에 관련된 장면도 데이터베이스(325)에 저장된다.
다음으로, 오케스트레이터(310)는 후보 결함으로 식별된 장면에서의 객체의 렌더링 품질을 판단하기 위해, 시뮬레이션된 객체 평가 엔진(330)을 시작한다. 특정 실시예에서, 워크플로우(300)는 후보 결함을 식별하는 각각의 바운딩 박스 내의 렌더링을 추출하고, 그것이 포함하는 시뮬레이션된 객체의 유형(들)을 판단하고, 상기 시뮬레이션된 객체와 라벨링된 실제 센서 풋티지 이미지의 기존 카탈로그에 저장된 객체의 예시와 비교하는, 자동화된 비교 기능을 실행할 것이다. 다른 실시예에서, 학습된 모델은 라벨링된 기존 객체의 라이브러리에 대해 훈련될 수 있다. 그런 다음, 일치하지 않는 항목이 있으면 새 시뮬레이션을 만들어 모델이 말하는 내용에 대해 새 객체가 더 높은 신뢰도를 갖는지 확인할 수 있다. 새 객체의 신뢰도가 더 높다면 더 좋은 것이다. 시뮬레이터가 센서 데이터를 생성했으므로, 인간의 도움을 받아 라벨링할 필요 없이 실제값을 알 수 있다.
후속 품질 평가(335)가 렌더링된 엔티티의 품질이 허용할 수 없는 품질인 것으로 결정하면, 대응하는 후보 결함은 시뮬레이션 세계 모델에 대한 업데이트를 요구하는 것으로 결함 데이터베이스(325)에 플래그 지정을 한다. 오케스트레이터(310)에게 품질 평가(335)가 완료되었음이 통지된다. 그러나 시뮬레이션 세계 모델에 대한 업데이트가 필요하지 않은 후보 결함이 남아 있으면 오케스트레이터(310)는 표준 라벨링 워크플로우의 나머지를 시작하여 필터(340) 단계, 라벨링(345)으로 넘어가서 이전에 상술한 바와 같이 라벨링된 데이터를 트레이닝 데이터베이스(360)에 저장한 후 이어서 인지 엔진(380)을 재훈련(370)시킨다. 후보 결함이 시뮬레이션 세계 모델에 대한 업데이트를 필요로 하는 것으로 플래그 지정된 경우, 오케스트레이터(310)는 업데이트 세계 모델 단계(350)에 따라 후보 결함 및 관련 메타데이터세트를 시뮬레이션 정보 베이스의 개발자/유지자에게 제공한다. 개발자 및 유지자들은 시뮬레이션 정보 베이스는 후보 결함 정보 및 메타데이터를 검사하고, 필요한 개선 사항을 식별하고, 영향을 받은 세계 모델을 업데이트한다. 영향을 받은 세계 모델에 대한 조정이 일단 완료되면 새로운 시뮬레이터(355) 실행이 시작되어 향후 평가 실행에서의 사용을 위해 센서 데이터 저장소(315)에 새로운 시뮬레이션 항목을 생성한다. 본 실시예는 시뮬레이션 툴링에 의해 제공되는 시뮬레이션된 특징의 품질을 지속적으로 평가하는 방식으로서 반복적으로 실행될 것으로 예상된다.
또다른 실시예에서, 시뮬레이티드 데이터로 모델 테스트를 하는 동안 발견된 결함에 대한 트리거 조건을 결정하기 위한 자동화된 프로세스가 제공된다. 자율 시스템을 개발할 때, 목격된 시스템의 동작에 대한 근본 사례(root case) 또는 "트리거 조건"을 결정해야 하는 경우가 많다. 본 프로세스는 일반적으로 수동 프로세스로서, 고도로 훈련되고 경험이 풍부한 인간 평가자가 데이터세트의 개별 장면을 조사하고, 표시된 행동의 잠재적 원인을 주장하고, 이러한 주장의 확정 또는 반박을 위해 실험을 수행할 것을 필요로 한다. 이러한 수동 프로세스의 실행 비용은 상당히 높기 때문에 이 프로세스를 실질적으로 또는 완전히 자동화하는 방법을 알아내는 것은 상당히 가치가 있는 작업이다.
개시된 시스템 및 방법의 특정 실시예는 시뮬레이티드 데이터에 대해 훈련된, 주어진 ML 모델에 대한 결함 검출 실행의 순서로부터 캡처된 결과에 구현된 잠재 신호를 활용한다. 결함 검출 엔진이 시뮬레이션된 장면의 특정 기능이 주어진 ML 모델 내에서 감도를 생성하는 것으로 식별할 경우, 추가적인 평가에 대해 흥미로운 조건을 자동적으로 식별한 것으로 간주할 수 있다. 또한, 시뮬레이션된 세계에서 발생한 장면의 결함을 식별한 경우, 감도를 구현하는 특정 시나리오 및 세계 모델도 식별한 것이다. 시나리오 구성 및 세계 모델은 파라미터로 나타내어지므로 하나 이상의 변경된 파라미터를 가진 원래 시나리오 및/또는 세계 모델을 사용하여 새로운 시뮬레이션 세트를 생성하는 데 사용될 수 있다. 이러한 변경된 시나리오 및/또는 세계 모델을 사용하여 생성된 시뮬레이션의 출력에서 결함 검출 엔진을 실행하면 새로운 결함 세트가 생성되어 원래 결함을 유발한 시뮬레이션 실행에서 생성된 결함과 비교될 수 있다. 시나리오 또는 세계 모델의 특정 파라미터를 변경하는 것이 일련의 실행에 걸쳐 결함 검출 엔진에 의해 생성된 결함 세트에 중대한 영향을 미치는 것으로 나타날 경우, 파라미터 중 일부 클래스에 대해 결함에 대한 트리거 조건이 변경된 파라미터의 특성으로부터 추론될 수 있다.
본 실시예는 트리거 조건의 근본 원인 분석을 위한 후보 결함을 식별하는 방법 및 이러한 결함에 대한 트리거 조건을 자동으로 추론하기 위해 시뮬레이션된 운전 데이터 평가용 결함 검출 엔진을 활용하는 메커니즘을 개략적으로 설명한다.
특정 실시예에서, 자율성 스택의 제어를 받는 시뮬레이션된 차량은 시뮬레이션된 세계를 주행하는 임무를 맡고 있다. 차량이 마주친 것이 무엇이고 차량이 어떻게 행동했는지에 관한 관한 센서 및 행동 데이터는 이러한 주행 중에 캡처된 후, 워크플로우 시스템의 구성 요소가 액세스할 수 있는 저장소로 이동된다.
다시 도 3을 참조하여, 트리거 식별 프로세스(300)의 수정된 버전을 설명한다. 작업 사양(305)은 오케스트레이터(310)에 전달되고, 오케스트레이터는 결함 검출 엔진(320)에 탐색 실행을 실행하도록 지시한다. 이전과 마찬가지로 본 예시에서 사용된 파라미터는 설명을 위한 것일 뿐이며 작업 사양(305)으로부터 비롯된다. 이용가능한 실제값을 가진 데이터(예: 이미 라벨링된 훈련 및 검증 데이터베이스(360)의 데이터, 또는 이전에 시뮬레이션된 데이터 결과)가 선택된다. 그 후, 지정된 검출이 베이스라인과 실제값 데이터를 이용하여 결함 검출 엔진(320)에 의해 수행된다. 그런 다음 후보 결함이 원래의 시뮬레이션(시뮬레이티드 데이터의 경우) 또는 라벨링된 도로 데이터의, 해설이 달린 시나리오 설명을 생성하는 데 사용된 시나리오에 대한 참조와 함께 결함 데이터베이스(325)에 저장된다. 다음으로, 오케스트레이터(310)는 하나 이상의 변경된 파라미터를 가지는 관련 시뮬레이션이 생성되도록 지시하여, 후보 결함 세트에서 식별된 특징에 인접한 시뮬레이션 공간의 탐색이 가능하게 한다.
특정 실시예에서, 각각의 후보 결함에 대한 각 바운딩 박스 내의 시뮬레이션된 객체는 연관된 실제값을 사용하여 식별될 수 있고, 워크플로우의 과거 실행으로부터, 현재 시뮬레이션 시나리오 또는 세계 모델의 파라미터 변경이 현재 실행에서 생성된 검출 세트에 중대한 영향을 주었는지 여부를 판단할 수 있다. 상기한 중대한 효과가 긍정적인 경향을 보이지만(즉, 상관 관계를 나타냄) 아직 인과 관계를 추론하기에 충분하지 않은 경우, 다음 단계는 현재 검출 세트에 의해 식별되는 엔터티와 관련된 동일 파라미터를 변경하는 하나 이상의 새로운 시뮬레이션 시나리오 또는 세계 모델을 생성하는 것이다. 그러나 상기 중대한 효과가 부정적인 경향을 보이거나 중대한 영향이 없는 경우 현재 검출 세트로 식별된 엔터티와 관련된 다른 파라미터를 변경하는 하나 이상의 새로운 시뮬레이션 시나리오 또는 세계 모델이 생성된다.
새로운 시뮬레이션 시나리오 또는 세계 모델의 경우, 새로운 시뮬레이션 인스턴스에 대한 추가적인 워크플로우 실행을 위해 새로운 작업 사양(305)이 전달된다. 하나 이상의 장면 또는 세계 모델의 파라미터 변경 간의 충분한 인과관계가 판단될 수 있으면, 파라미터 변경(들)의 세트가 결함 데이터베이스(325)의 후보 결함 세트와 함께 기록되고 전체 워크플로우가 종료된다. 하나 이상의 장면 또는 세계 모델의 파라미터 변경 사이에 인과관계가 충분하지 않다고 판단할 수 있는 경우 결함 세트는 인간의 검토를 위해 표시되고 전체 워크플로우가 종료된다.
변경될 수 있는 파라미터의 예로는 객체 속성(예: 색상, 모양, 크기, 표현 각도 또는 배우, 차량, 도로 부속시설 등), 배경(예: 색상, 질감, 밝기), 장면 특성(예: 콘트라스트, 눈부심), 환경적 특성(예: 연무, 안개, 눈, 진눈깨비, 비) 및 폐색(경미한 폐색, 부분 폐색, 과도한 폐색)가 있다.
본 실시예는 지속적으로 결함을 검색하고 이들의 트리거 조건을 식별하는 방식으로서 반복적으로 실행될 것으로 예상된다. 정확도가 충분히 높은 자동 인지 라벨링 기능이 제공된다면 라벨링이 완전히 자동화되거나 반자동될 수 있다는 것은 당업자에게 명백할 것이다.
본 발명의 다양한 실시예는 인지 재훈련에 좋은 후보를 식별하고, 체계적인 인지 시스템 약점을 식별하고, 시뮬레이터 출력의 시스템적 결함을 식별하는 데 유리하게 사용될 수 있다. 본 발명은 물리적 장치(예: 별도의 인지 시스템에 전송된 데이터 스트림을 수정하는 하드웨어 및 소프트웨어를 포함하는 증강 물리적 컴퓨팅 모듈 및 비교를 수행하는 물리적 컴퓨팅 모듈)를 통해서뿐만 아니라 편리한 컴퓨팅 플랫폼에서 진행되는 순수 소프트웨어메커니즘으로 구현될 수 있다.
본 명세서에 기재된 실시예의 특정 측면은 공정 단계를 포함한다. 실시예의 프로세스 단계는 소프트웨어, 펌웨어 또는 하드웨어로 구현될 수 있고, 소프트웨어로 구현될 때 다운로드되어 다양한 운영 체제에 의해 사용되는 여러 플랫폼에서 유지되고 작동될 수 있다는 점에 유의해야 한다. 실시예들은 또한 컴퓨팅 시스템에서 실행될 수 있는 컴퓨터 프로그램 제품에 존재할 수 있다.
실시예는 또한 본 명세서의 동작을 수행하는 시스템에 관한 것이다. 본 시스템은 특별히 구성되거나 선택된 컴퓨팅 장치 어레이와 같이 목적을 위해 특별히 구성되거나 컴퓨터에 저장된 컴퓨터 프로그램에 의해 선택적으로 활성화 또는 재구성되는 범용 컴퓨터를 포함할 수 있다. 이러한 컴퓨터 프로그램은 플로피 디스크, 광학 디스크, CD-ROM, 자기 광학 디스크, 롬(ROM), 램(RAM), EPROM, EEPROM, 자기 또는 광학 카드, 주문형 집적 회로(ASIC) 등 일 유형의 디스크, 또는 전자 명령어를 저장하는 데 적합한 모든 유형의 매체를 포함하지만 이에 국한되지 않는 임의의 컴퓨터 판독가능 저장 매체에 저장될 수 있으며, 이들 각각은 컴퓨터 시스템 버스에 연결된다. 메모리/스토리지는 일시적이거나 비일시적일 수 있다. 메모리는 정보/데이터/프로그램을 저장할 수 있는 상기 장치 및/또는 기타 장치를 포함할 수 있다. 또한, 본 명세서에서 언급된 컴퓨팅 장치는 단일 프로세서를 포함할 수 있거나 향상된 컴퓨팅 능력을 위해 다중 프로세서 설계를 사용하는 아키텍처일 수 있다.
본 발명이 바람직한 실시예 및 이의 특정한 예시를 참조하여 예시되고 설명되었지만, 다른 실시예 및 예시들이 유사한 기능을 수행하고 그리고/또는 유사한 결과를 달성할 수 있다는 것은 당업자에게 자명할 것이다. 이러한 모든 균등한 실시예 및 예시는 본 발명의 사상 및 범위 내에 있으며 이에 의해 고려되고, 청구범위에 포함된다.
Claims (17)
- 입력 데이터세트에 대한 머신 러닝(machine-learned (ML)) 인지 시스템의 라벨링 성능을 개선하는, 컴퓨터로 구현되는 방법으로서,
컴퓨팅 장치에 의해, 상기 입력 데이터세트를 인지 시스템으로 처리하는 단계;
컴퓨팅 장치에 의해, 하나 이상의 인지 약점을 식별하는 단계;
컴퓨팅 장치에 의해, 상기 하나 이상의 인지 약점을 포함하는 상기 입력 데이터세트로부터 적어도 하나의 장면을 분리시키는 단계;
상기 적어도 하나의 장면에 있는 상기 하나 이상의 인지 약점을 재라벨링하여 적어도 하나의 재라벨링된 장면을 획득하는 단계; 및
컴퓨팅 장치에 의해, 상기 적어도 하나의 재라벨링된 장면에 대하여 상기 인지 시스템을 재훈련하는 단계를 포함하고, 이에 따라 상기 ML 인지 시스템의 라벨링 성능이 개선되는 것을 특징으로 하는, 컴퓨터로 구현되는 방법. - 제1항에 있어서, 상기 하나 이상의 인지 약점을 식별하는 단계는 결함 검진 엔진에 의해 수행되는 것을 특징으로 하는, 컴퓨터로 구현되는 방법.
- 제1항에 있어서, 상기 하나 이상의 인지 약점은 바운딩 박스 안의 라벨링된 객체를 포함하는 것을 특징으로 하는, 컴퓨터로 구현되는 방법.
- 제1항에 있어서, 상기 입력 데이터세트를 처리하는 단계는, 컴퓨팅 장치에 의해, 증강된 데이터세트를 생성하고, 컴퓨팅 장치에 의해 상기 증강된 데이터세트를 인지 시스템으로 처리하고, 컴퓨팅 장치에 의해 상기 입력 데이터세트의 결과를 증강된 데이터세트의 결과와 비교하는 단계를 더 포함하는 것을 특징으로 하는, 컴퓨터로 구현되는 방법.
- 제1항에 있어서, 상기 적어도 하나의 장면을 재라벨링하는 단계는 상기 적어도 하나의 장면을 인간이 라벨링하도록 보내는 단계를 포함하는 것을 특징으로 하는, 컴퓨터로 구현되는 방법.
- 제1항에 있어서, 상기 입력 데이터세트는 하나 이상의 베이스라인 데이터, 증강된 데이터, 실제값 데이터, 및 시뮬레이티드 데이터로 구성되는 것을 특징으로 하는, 컴퓨터로 구현되는 방법.
- 제1항에 있어서, 컴퓨팅 장치에 의해, 상기 처리하는 단계의 결과를 필터링하여 엔지니어링 측면에서 관심 있는 특정 인지 약점에 집중하도록 하는 단계를 더 포함하는 것을 특징으로 하는, 컴퓨터로 구현되는 방법.
- 제1항에 있어서, 상기 방법을 반복하여 인지 시스템의 성능 개선량을 판단하기 위하여 재라벨링 이전에 발생한 상기 인지 약점과 상기 처리하는 단계에서 식별된 인지 약점을 비교하는 단계를 더 포함하는 것을 특징으로 하는, 컴퓨터로 구현되는 방법.
- 제8항에 있어서, 새로 라벨링된 장면들로 ML 인지 시스템을 재훈련하는 것이 더 이상 라벨링 성능의 유의미한 개선을 가져오지 않을 때까지 상기 처리하는 단계, 식별하는 단계, 분리시키는 단계, 재라벨링하는 단계 및 재훈련하는 단계를 반복하는 단계를 더 포함하는 것을 특징으로 하는, 컴퓨터로 구현되는 방법.
- 제9항에 있어서, 라벨링 성능이 새로 라벨링된 장면들에 의해 유의미한 개선을 보이지 않을 경우 상기 ML 인지 시스템을 재설계하는 단계를 더 포함하는 것을 특징으로 하는, 컴퓨터로 구현되는 방법.
- 머신 러닝(machine-learned (ML)) 인지 시스템을 훈련하는데 사용되는 시뮬레이티드 데이터의 품질을 평가하는, 컴퓨터로 구현되는 방법으로서,
컴퓨팅 장치에 의해, 시뮬레이티드 데이터를 포함하는 입력 데이터세트를 인지 시스템으로 처리하여 하나 이상의 후보 결함을 획득하는 단계;
컴퓨팅 장치에 의해, 상기 하나 이상의 후보 결함과 관련된 시뮬레이션된 객체 렌더링을 추출하는 단계;
컴퓨팅 장치에 의해, 상기 시뮬레이션된 객체 렌더링을 객체의 다른 예시들과 비교하는 단계; 및
컴퓨팅 장치에 의해, 다른 예시들과 일치하는 낮은 신뢰도를 가지는 시뮬레이션된 객체를 플래그 지정하는 단계를 포함하는 것을 특징으로 하는, 컴퓨터로 구현되는 방법. - 제11항에 있어서, 상기 시뮬레이션된 객체 렌더링은 이전에 라벨링된 객체의 라이브러리에 대하여 컴퓨팅 장치에 의해 훈련된, 학습 모델과 비교되는 것을 특징으로 하는, 컴퓨터로 구현되는 방법.
- 제11항에 있어서, 컴퓨팅 장치에 의해, 플래그 지정된 시뮬레이션된 객체를 새로운 시뮬레이션된 객체로 대체하여 시뮬레이션된 세계 모델을 업데이트하는 단계를 더 포함하는 것을 특징으로 하는, 컴퓨터로 구현되는 방법.
- 시뮬레이티드 데이터로 수행되는 인지 엔진 테스팅 중 식별되는 인지 약점들의 트리거 조건을 판단하는, 컴퓨터로 구현되는 방법으로서,
컴퓨팅 장치에 의해, 시뮬레이티드 데이터를 포함하는 입력 데이터세트를 인지 시스템으로 처리하여 제1 결과 세트를 획득하는 단계;
컴퓨팅 장치에 의해, 증강된 시뮬레이티드 데이터를 포함하는 입력 데이터세트를 상기 인지 시스템으로 처리하여 제2 결과 세트를 획득하는 단계;
컴퓨팅 장치에 의해, 결함 검출 엔진을 사용하여 상기 제1 결과 세트와 상기 제2 결과 세트를 비교하여, 복수의 파라미터로 정의되는 시뮬레이션된 객체에 의해 발생한 인지 약점을 식별하는 단계;
변경된 시뮬레이션된 객체를 생성하기 위해, 컴퓨팅 장치에 의해, 적어도 하나의 파라미터를 변경하는 단계; 및
변경된 시뮬레이션된 객체가 인지 약점에 영향을 미쳤는지 여부를 판단하기 위해 변경된 시뮬레이션된 객체를 처리하고 비교하는 단계를 반복하는 단계를 포함하는 것을 특징으로 하는, 컴퓨터로 구현되는 방법. - 제14항에 있어서, 트리거 조건이 식별될 때까지 상기 처리하는 단계, 비교하는 단계, 및 변경하는 단계를 반복하는 단계를 더 포함하는 것을 특징으로 하는, 컴퓨터로 구현되는 방법.
- 입력 데이터세트에 대한 머신 러닝(machine-learned (ML)) 인지 시스템의 라벨링 성능을 개선하는 컴퓨터 시스템으로서,
메모리 또는 기타 다른 데이터 저장 설비;
하나 이상의 프로세서; 및
상기 하나 이상의 프로세서에 의해 실행될 때 이하의 단계를 수행하도록 하는 명령어를 저장하는 비일시적 컴퓨터 판독가능한 매체로서, 상기 단계는
상기 입력 데이터세트를 상기 인지 시스템으로 처리하여 하나 이상의 인지 약점을 식별하는 단계;
상기 하나 이상의 인지 약점을 포함하는 상기 입력 데이터세트로부터 적어도 하나의 장면을 분리시키는 단계;
상기 적어도 하나의 장면에 있는 상기 적어도 하나의 인지 약점을 재라벨링하여 적어도 하나의 재라벨링된 장면을 획득하는 단계; 및
상기 인지 시스템을 상기 적어도 하나의 재라벨링된 장면으로 재훈련시키는 단계를 포함하고,
이에 따라 상기 ML 인지 시스템의 라벨링 성능이 개선되는 것을 특징으로 하는, 컴퓨터 시스템. - 입력 데이터세트에 대한 머신 러닝(machine-learned (ML)) 인지 시스템의 라벨링 성능을 개선하기 위한 비일시적 컴퓨터 판독가능 매체로서, 상기 매체는, 프로세서에서 실행될 때 이하의 단계를 수행하도록 하는 명령어를 저장하고, 상기 단계는:
상기 입력 데이터세트를 상기 인지 시스템으로 처리하여 하나 이상의 인지 약점을 식별하는 단계;
상기 하나 이상의 인지 약점을 포함하는 상기 입력 데이터세트로부터 적어도 하나의 장면을 분리시키는 단계;
상기 적어도 하나의 장면에 있는 상기 적어도 하나의 인지 약점을 재라벨링하여 적어도 하나의 재라벨링된 장면을 획득하는 단계; 및
상기 인지 시스템을 상기 적어도 하나의 재라벨링된 장면으로 재훈련시키는 단계를 포함하고, 이에 따라 상기 ML 인지 시스템의 라벨링 성능이 개선되는 것을 특징으로 하는, 비일시적 컴퓨터 판독가능 매체.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US202062979776P | 2020-02-21 | 2020-02-21 | |
US62/979,776 | 2020-02-21 | ||
PCT/US2021/019093 WO2021168435A1 (en) | 2020-02-21 | 2021-02-22 | Automated identification of training data candidates for perception systems |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20220143119A true KR20220143119A (ko) | 2022-10-24 |
Family
ID=77391655
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020227032509A KR20220143119A (ko) | 2020-02-21 | 2021-02-22 | 인지 시스템용 훈련 데이터 후보의 자동 식별 |
Country Status (5)
Country | Link |
---|---|
US (1) | US20230084761A1 (ko) |
EP (1) | EP4107672A4 (ko) |
JP (1) | JP2023515476A (ko) |
KR (1) | KR20220143119A (ko) |
WO (1) | WO2021168435A1 (ko) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3890244A1 (en) * | 2020-04-03 | 2021-10-06 | Mitsubishi Electric R&D Centre Europe B.V. | Method for providing multi-site orchestration in a public network for factory automation |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2015192239A1 (en) * | 2014-06-20 | 2015-12-23 | Miovision Technologies Incorporated | Machine learning platform for performing large scale data analytics |
CN111919225B (zh) * | 2018-03-27 | 2024-03-26 | 辉达公司 | 使用模拟环境对自主机器进行培训、测试和验证 |
US11068627B2 (en) * | 2018-08-09 | 2021-07-20 | Zoox, Inc. | Procedural world generation |
-
2021
- 2021-02-22 US US17/800,553 patent/US20230084761A1/en active Pending
- 2021-02-22 EP EP21756854.2A patent/EP4107672A4/en active Pending
- 2021-02-22 JP JP2022549825A patent/JP2023515476A/ja active Pending
- 2021-02-22 KR KR1020227032509A patent/KR20220143119A/ko unknown
- 2021-02-22 WO PCT/US2021/019093 patent/WO2021168435A1/en unknown
Also Published As
Publication number | Publication date |
---|---|
EP4107672A4 (en) | 2024-03-13 |
EP4107672A1 (en) | 2022-12-28 |
US20230084761A1 (en) | 2023-03-16 |
JP2023515476A (ja) | 2023-04-13 |
WO2021168435A1 (en) | 2021-08-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11144814B2 (en) | Structure defect detection using machine learning algorithms | |
CN111488789B (zh) | 用于基于图像分析的监视的行人检测方法及装置 | |
US20200364842A1 (en) | Surface defect identification method and apparatus | |
CN111369572B (zh) | 一种基于图像修复技术的弱监督语义分割方法和装置 | |
Makantasis et al. | Deep convolutional neural networks for efficient vision based tunnel inspection | |
EP3796228A1 (en) | Device and method for generating a counterfactual data sample for a neural network | |
CN110648305B (zh) | 工业图像检测方法、***与计算机可读记录介质 | |
US11307150B2 (en) | Automatic optimization of an examination recipe | |
CN114511077A (zh) | 使用基于伪元素的数据扩增来训练点云处理神经网络 | |
WO2024060529A1 (zh) | 一种道路病害识别方法、***、设备及存储介质 | |
CN117541534A (zh) | 一种基于无人机和CNN-BiLSTM模型的输电线路巡检方法 | |
Guo et al. | Surface defect detection of civil structures using images: Review from data perspective | |
KR20230023263A (ko) | 딥러닝 기반 하수도 결함 감지 방법 및 그 장치 | |
US11663815B2 (en) | System and method for inspection of heat recovery steam generator | |
KR20220143119A (ko) | 인지 시스템용 훈련 데이터 후보의 자동 식별 | |
Wang et al. | Semantic segmentation of sewer pipe defects using deep dilated convolutional neural network | |
Al-Shammri et al. | A combined method for object detection under rain conditions using deep learning | |
Mohammed et al. | End-to-end semi-supervised deep learning model for surface crack detection of infrastructures | |
WO2023212804A1 (en) | Producing an augmented dataset to improve performance of a machine learning model | |
EP3696771A1 (en) | System for processing an input instance, method, and medium | |
Marques et al. | Self-supervised subsea slam for autonomous operations | |
Dunphy et al. | Autonomous crack detection approach for masonry structures using artificial intelligence | |
CN115471725A (zh) | 用于异常检测的图像处理方法及设备和神经网络构建方法 | |
CN114241258A (zh) | 一种面向自动驾驶雷达点云数据的扩增与优化方法 | |
Kee et al. | Cracks identification using mask region-based denoised deformable convolutional network |