KR20200138074A - 머신-러닝과 크라우드-소싱된 데이터 주석을 통합하기 위한 시스템 및 방법 - Google Patents

머신-러닝과 크라우드-소싱된 데이터 주석을 통합하기 위한 시스템 및 방법 Download PDF

Info

Publication number
KR20200138074A
KR20200138074A KR1020200065191A KR20200065191A KR20200138074A KR 20200138074 A KR20200138074 A KR 20200138074A KR 1020200065191 A KR1020200065191 A KR 1020200065191A KR 20200065191 A KR20200065191 A KR 20200065191A KR 20200138074 A KR20200138074 A KR 20200138074A
Authority
KR
South Korea
Prior art keywords
machine
crowdworker
learning algorithm
interface
crowd
Prior art date
Application number
KR1020200065191A
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 KR20200138074A publication Critical patent/KR20200138074A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • G06F9/453Help systems
    • 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
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/70Information retrieval; Database structures therefor; File system structures therefor of video data
    • G06F16/78Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
    • G06F16/783Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/903Querying
    • G06F16/9032Query formulation
    • G06F16/90332Natural language query formulation or dialogue systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/907Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
    • G06F16/908Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content
    • 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
    • G06F18/2113Selection of the most significant subset of features by ranking or filtering the set of features, e.g. using a measure of variance or of feature cross-correlation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/40Software arrangements specially adapted for pattern recognition, e.g. user interfaces or toolboxes therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/166Editing, e.g. inserting or deleting
    • G06F40/169Annotation, e.g. comment data or footnotes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/30Semantic analysis
    • G06F40/35Discourse or dialogue representation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • 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/778Active pattern-learning, e.g. online learning of image or video features
    • G06V10/7784Active pattern-learning, e.g. online learning of image or video features based on feedback from supervisors
    • G06V10/7788Active pattern-learning, e.g. online learning of image or video features based on feedback from supervisors the supervisor being a human, e.g. interactive learning with a human teacher
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/20Scenes; Scene-specific elements in augmented reality scenes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/40Scenes; Scene-specific elements in video content
    • G06V20/41Higher-level, semantic clustering, classification or understanding of video scenes, e.g. detection, labelling or Markovian modelling of sport events or news items
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/50Context or environment of the image
    • G06V20/52Surveillance or monitoring of activities, e.g. for recognising suspicious objects
    • G06V20/54Surveillance or monitoring of activities, e.g. for recognising suspicious objects of traffic, e.g. cars on the road, trains or boats
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/103Static body considered as a whole, e.g. static pedestrian or occupant recognition

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Artificial Intelligence (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Evolutionary Computation (AREA)
  • Multimedia (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Mathematical Physics (AREA)
  • Computing Systems (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Library & Information Science (AREA)
  • Human Computer Interaction (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Molecular Biology (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Image Analysis (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

머신-러닝 시스템용 데이터 주석 시스템은 입력 데이터의 데이터 주석을 생성하기 위한 머신-러닝 알고리즘을 실행하도록 구성된 컴퓨팅 시스템을 포함한다. 컴퓨팅 시스템은 또한 비전문가에게 검토를 위해 머신-러닝 알고리즘의 결과들 및 예측들을 통신하기 위한 인터페이스를 실행하도록 추가로 구성된다. 이 인터페이스는 피드백을 도출하기 위해 시각화 및 자연 언어를 사용하여 비전문가 워커와 통신하여 머신-러닝 알고리즘의 성능을 향상시킨다.

Description

머신-러닝과 크라우드-소싱된 데이터 주석을 통합하기 위한 시스템 및 방법{SYSTEM AND METHOD FOR INTEGRATING MACHINE LEARNING AND CROWD-SOURCED DATA ANNOTATION}
본 출원은 일반적으로 크라우드-소싱 작업과 머신-러닝 알고리즘에 의한 협력적 데이터 주석 시스템에 관한 것이다.
많은 시스템들이 의사 결정에 인공 지능(AI)과 머신-러닝 개념을 포함시키키 시작하고 있다.
머신-러닝 시스템들은 다양한 입력에 대한 적절한 응답을 학습하기 위해 대량의 입력 데이터를 필요로 한다. 예를 들어, 입력 데이터는 다양한 입력 조합 및 학습되어야 할 해당 결과를 포함할 수 있다. 대량의 원시 소스 데이터가 사용 가능할 수 있다. 그러나, 원시 소스 데이터는 머신-러닝 알고리즘에 적절한 입력을 제공하도록 처리되어야 한다. 머신-러닝 알고리즘을 올바르게 훈련시키기 위해 관련 피쳐(features) 및 예측 결과는 입력 데이터와 연관되어야 한다. 따라서, 입력 데이터에 주석을 달기 위한 효율적인 방법이 요구된다.
데이터 주석 시스템은 입력 데이터세트로부터 미리 결정된 피쳐로서의 피쳐 및 대응하는 신뢰도 수준을 식별하도록 프로그래밍된 머신-러닝 알고리즘을 실행하도록 프로그래밍된 컴퓨팅 시스템을 포함한다. 컴퓨팅 시스템은 임계값을 초과한 후 저-신뢰도 임계값보다 작게 상기 대응하는 신뢰도 수준이 감소하는 상기 대응하는 신뢰도 수준을 사용하여 상기 피쳐를 식별하는 것에 응답하여, 상기 머신-러닝 알고리즘에 의해 식별된 상기 피쳐 및 상기 입력 데이터세트를 디스플레이하고 상기 감소의 이유를 식별하기 위해 크라우드 워커(crowd worker)로부터의 피드백을 수신하도록 구성된 대화식 작업을 생성하기 위해 프로그래밍된 크라우드 워커 인터페이스를 실행하도록 추가로 프로그래밍된다.
상기 크라우드 워커 인터페이스는 디스플레이 화면상에 텍스트 대화가 디스플레이되도록 추가로 프로그래밍될 수 있고, 상기 텍스트 대화는 상기 크라우드 워커가 상기 대화식 작업의 완료시에 안내하는 명령들을 포함한다. 상기 크라우드 워커 인터페이스는 상기 크라우드 워커로부터 상기 피드백을 디스플레이 화면상에 그려진 요소들에 대응하는 데이터로서 수신하도록 추가로 프로그래밍될 수 있다. 상기 크라우드 워커 인터페이스는 상기 크라우드 워커로부터의 상기 피드백을 디스플레이 화면상에 입력된 온-스크린 객체의 텍스트 주석으로서 수신하도록 추가로 프로그래밍될 수 있다. 상기 크라우드 워커 인터페이스는 디스플레이 화면상에 디스플레이되는 상기 감소에 대응하는 상기 입력 데이터세트에 응답하여, 상기 크라우드 워커에게 상기 감소를 알리는 상기 디스플레이 화면상에 대화 요소가 디스플레이되도록 추가로 프로그래밍될 수 있다. 상기 크라우드 워커 인터페이스는 상기 크라우드 워커가 신뢰도 수준에서 유사한 감소가 발생될 것으로 예상되는 피쳐들을 식별하도록 명령하는 대화 요소가 디스플레이 화면상에 디스플레이되도록 추가로 프로그래밍될 수 있다. 상기 크라우드 워커 인터페이스는 머신-러닝 알고리즘 표현들과 인간이 이해하기에 적합한 시각적 표현들 사이를 변환하도록 추가로 프로그래밍될 수 있다. 상기 입력 데이터세트는 복수의 이미지 프레임들로 구성된 비디오 세그먼트일 수 있다. 상기 컴퓨팅 시스템은 모니터링을 위해 무작위로 선택되는 상기 입력 데이터세트에 응답하여 상기 크라우드 워커 인터페이스를 실행하도록 추가로 프로그래밍될 수 있다.
방법은 머신-러닝 알고리즘에 의해, 입력 데이터세트로부터 미리 결정된 피쳐로서의 피쳐 및 대응하는 신뢰도 수준을 식별하는 단계를 포함한다. 상기 방법은 임계값을 초과한 후 저-신뢰도 임계값보다 작게 신뢰도 수준이 감소하는 상기 신뢰도 수준을 사용하여 상기 피쳐를 식별하는 것에 응답하여, 상기 머신-러닝 알고리즘에 의해 식별된 상기 피쳐 및 상기 입력 데이터세트를 디스플레이 화면상에 디스플레이하고 크라우드 워커로부터 피드백을 수신하여 상기 감소의 이유를 식별하도록 크라우드 소싱(crowd sourcing)을 위한 대화식 작업을 생성하는 단계를 포함한다.
상기 방법은 상기 대화식 작업의 완료시에 상기 크라우드 워커를 안내하기 위한 명령들을 포함하는 텍스트 대화를 디스플레이 화면상에 디스플레이되도록 하는 단계를 추가로 포함할 수 있다. 상기 방법은 상기 디스플레이 화면상에 디스플레이되는 상기 감소에 대응하는 상기 입력 데이터세트에 응답하여, 상기 감소를 상기 크라우드 워커에 알리는 상기 디스플레이 화면상에 대화 요소가 디스플레이되게 하는 단계를 추가로 포함할 수 있다. 상기 방법은 신뢰도 수준에서 유사한 감소가 발생될 것으로 예상되는 피쳐들을 상기 크라우드 워커가 식별하도록 명령하는 대화 요소가 상기 디스플레이 화면상에 디스플레이되도록 하는 단계를 추가로 포함할 수 있다. 상기 방법은 상기 크라우드 워커로부터 수신된 상기 피드백을 사용하여 상기 머신-러닝 알고리즘을 위한 데이터세트를 업데이트하는 단계를 추가로 포함한다. 상기 방법은 모니터링을 위해 무작위로 선택되는 입력 데이터세트에 응답하여, 상기 머신-러닝 알고리즘에 의해 식별된 피쳐들과 입력 데이터세트를 디스플레이 화면상에 디스플레이하고 크라우드 워커로부터 피드백을 수신하여 부정확한 피쳐 식별을 식별하도록 크라우드 소싱을 위한 상기 대화식 작업을 생성하는 단계를 추가로 포함할 수 있다. 상기 방법은 상기 크라우드 워커가 상기 머신-러닝 알고리즘을 이해하도록 돕기 위해 상기 머신-러닝 알고리즘의 오퍼레이션 세부사항들을 포함하는 대화를 디스플레이되게 하는 단계를 추가로 포함할 수 있다.
데이터 주석 시스템은 입력 데이터세트로부터 미리 결정된 피쳐로서의 피쳐를 식별하도록 프로그래밍된 머신-러닝 알고리즘을 실행하도록 프로그래밍된 컴퓨팅 시스템을 포함한다. 컴퓨팅 시스템은 부정확하게 식별되는 피쳐를 나타내는 조건들의 존재에 응답하여, (i) 크라우드 워커에 의한 완료를 위해 대화식 작업을 생성하고, (ii) 상기 대화식 작업이 상기 크라우드 워커에 의해 개시될 때, 상기 대화식 작업에 대해, 상기 머신-러닝 알고리즘에 의해 식별된 피쳐를 상기 입력 데이터세트상에 오버레이된 미리 결정된 피쳐로서 디스플레이하고 상기 크라우드 워커로부터 피드백을 수신하여 상기 피쳐가 부정확하게 식별된 이유를 식별하도록, 프로그래밍된 크라우드 워커 인터페이스를 실행하도록 프로그래밍된, 상기 컴퓨팅 시스템을 포함한다.
상기 크라우드 워커 인터페이스는 상기 머신-러닝 알고리즘의 예측들을 시각적으로 통신하고 관심 영역들을 자연 언어로 식별하도록 추가로 프로그래밍될 수 있다. 상기 머신-러닝 알고리즘은 상기 미리 결정된 피쳐로서 식별된 피쳐들에 대응하는 신뢰도 수준을 생성하도록 추가로 프로그래밍될 수 있고, 부정확하게 식별된 상기 미리 결정된 피쳐를 나타내는 상기 조건들은 저-신뢰도 임계값보다 작은 상기 신뢰도 수준을 포함할 수 있다. 상기 머신-러닝 알고리즘은 상기 미리 결정된 피쳐로서 식별된 피쳐들에 대응하는 신뢰도 수준을 생성하도록 추가로 프로그래밍될 수 있고, 부정확하게 식별된 상기 미리 결정된 피쳐를 나타내는 상기 조건들은 미리 결정된 임계값보다 커진 다음에 저-신뢰도 임계값보다 작은 상기 신뢰도 수준에서 감소되는 상기 신뢰도 수준을 포함할 수 있다.
본 발명에 따른 시스템들 및 방법들은 머신-러닝 알고리즘의 성능을 개선시킴으로써 데이터 주석을 개선시킨다. 정확한 머신-러닝 알고리즘은 인간보다 훨씬 빠르고 저렴한 비용으로 주석 데이터를 생성할 수 있다.
도 1은 데이터 주석 시스템에 대한 가능한 구성을 도시한 도면.
도 2는 데이터 주석 시스템을 위한 디스플레이 인터페이스의 예를 도시한 도면.
도 3은 머신-러닝 알고리즘 예측들을 또한 포함하는 데이터 주석 시스템에 대한 디스플레이 출력의 예를 도시한 도면.
도 4는 다른 시간에 머신-러닝 알고리즘 예측들을 포함하는 데이터 주석 시스템에 대한 디스플레이 출력의 예를 도시한 도면.
도 5는 작업 실행기에 의해 삽입된 주석들을 포함하는 데이터 주석 시스템에 대한 디스플레이 출력의 예를 도시한 도면.
도 6은 작업 실행기에 의해 삽입된 주석들의 추가적인 예들을 포함하는 데이터 주석 시스템에 대한 디스플레이 출력의 예를 도시한 도면.
도 7은 추가적인 머신-러닝 알고리즘 피쳐들을 포함하는 데이터 주석 시스템에 대한 디스플레이 출력의 예를 도시한 도면.
도 8은 설명 대화 요소들을 포함하는 데이터 주석 시스템에 대한 디스플레이 출력의 예를 도시한 도면.
도 9는 데이터 주석 시스템에 대한 가능한 흐름도.
본 개시의 실시예들이 여기에 설명된다. 그러나, 개시된 실시예들은 단지 예이고, 다른 실시예들은 다양하고 대안적인 형태를 취할 수 있음을 이해해야 한다. 수치가 반드시 비례하는 것은 아니다. 일부 피쳐들은 특정 구성요소들의 세부 사항들을 표시하기 위해 과장되거나 최소화될 수 있다. 그러므로, 여기에 개시된 특정 구조적 및 기능적 세부 사항들은 제한적인 것으로서 해석되어서는 안되며, 단지 본 발명을 다양하게 사용하도록 당업자에게 교시하기 위한 대표적인 근거로서 해석될 수 있다. 당업자라면 이해할 수있는 바와 같이, 도면들중 임의의 하나를 참조하여 예시되고 설명된 다양한 피쳐들은 하나 이상의 다른 도면에 예시된 피쳐과 조합되어 명시적으로 도시되거나 설명되지 않은 실시예를 생성할 수 있다. 도시된 피쳐들의 조합들은 전형적인 응용에 대한 대표적인 실시예를 제공한다. 그러나, 그 피쳐들의 다양한 조합들 및 수정안들은 본 개시의 교시와 일치한다.
많은 제품들이 인공 지능(AI)과 머신-러닝 개념을 통합하여 의사 결정을 내린다. 효과적이기 위해, AI 시스템들은 많은 양의 훈련 데이터로 훈련될 수 있다. 훈련 데이터는 AI 시스템에 의해 생성된 파라미터에 대한 예상 출력과 함께 다양한 센서 입력 조합들을 포함할 수 있다. 예를 들어, 객체들을 식별하는 AI 시스템은 비디오 또는 이미지 입력들을 사용할 수 있다. 훈련 데이터는 한 세트의 이미지들 및 그 이미지들내에 위치된 객체들의 대응 위치를 포함할 수 있다. 데이터 주석은 그 관련 데이터 라벨링 또는 식별을 포함한다.
머신-러닝 알고리즘들 및 크라우드-소싱은 대량의 데이터에 주석을 달기 위해 사용될 수 있다. 각 방법은 그 자체의 제한들이 있다. 머신-러닝 알고리즘들 및 크라우드-소싱은 데이터 주석을 위해 함께 적용될 수 있다. 일부 작업흐름 전략들은 기계와 군중간에 핸드오프 모델을 사용할 수 있다. 즉, 머신-러닝 알고리즘들과 크라우드 워커들은 각각 직접적인 상호 작용없이 각자의 작업을 수행하고 상대방의 입력을 사용한다. 본 명세서에는 데이터 주석을 위해 크라우드 워커와 머신-러닝 알고리즘들간의 적극적인 파트너십을 구현하기 위한 시스템 및 방법이 개시된다. 머신-러닝 알고리즘들을 블랙박스들로 취급하는 대신 머신-러닝 알고리즘들의 세부 사항들 및 관련 정보는 머신-러닝 프로세스를 설명하기 위해 크라우드 워커들에게 제공된다. 머신-러닝 알고리즘들은 실시간으로 크라우드 워커들에게 명시적으로 도움을 요청하고 피드백에 따라 즉시 조정할 수 있다. 크라우드 워커들은 머신-러닝 알고리즘들의 성능을 관찰하고 필요할 때 도움을 제공할 수 있다. 일례에서, 일련의 도로 장면에서 보행자를 위한 경계 박스들을 생성하는 것과 같이, 비디오 이미지들에 주석을 달기 위해 적극적인 파트너십이 적용된다. 이 시스템은 데이터 주석을 위한 군중과 AI 협업의 효과적인 모델을 정의하고 전문가들로부터 비전문가까지 설명가능한 머신-러닝 청중을 확장한다.
머신-러닝 알고리즘들은 최근 몇 년 동안 크게 개선되어 왔고, 특정 작업에서 인간보다 성능이 우수할 수 있다. 가장 고성능의 알고리즘들은 슈퍼바이징된다. 슈퍼바이징된 알고리즘은 대량의 라벨이 있거나 주석이 달린 데이터가 필요할 수 있다(예 : 수만 개의 레이블이 있는 이미지). 비용 및 성능 측면에서 대량의 데이터에 정확하고 효율적이며 신속하게 라벨을 부착하는 것이 바람직하다. 그러나 큰 데이터세트에 대해 각 단일 이미지에 정확하게 레이블을 지정하려면 사람의 상당한 노력이 필요하다. 사람의 노력을 줄이는 한 가지 방법은 머신-러닝 알고리즘들에 의해 데이터를 사전 라벨 지정하는 것이다. 그러나, 많은 경우에, 비전 알고리즘의 라벨링 정확도는 낮고, 사전 라벨링 오류들(예 : 객체의 부정확한 경계들)의 수정은 그것을 직접적으로 라벨링하는 것보다 더 많은 노력을 요구한다. 이러한 정확도가 낮은 주된 이유는 비전 모델들이 일반적으로 다른 데이터세트들에 대해 훈련되고 주석이 필요한 새로운 데이터세트들에 적용되기 때문이며, 비전 모델들의 전달성이 낮은 것은 잘 알려져 있다.
크라우드-소싱 시스템들은 높은 인지 작업들을 전문적인 스킬(예 : 광범위한 도메인 지식이 없음)없이 일반 인간 근로자들에 의해 쉽게 완료할 수 있는 상대적으로 낮은 인지 작업들로 분해하여 높은 인지 작업들(예 : 사진의 감지 또는 텍스트 작성)을 달성하는 데 사용될 수 있다. 크라우드 워커들은 Amazon Mechanical Turk와 같은 크라우드-소싱 마켓에 등록될 수 있다. 크라우드-소싱은 비교적 저렴한 비용과 높은 데이터 처리 속도로 인해 머신-러닝 알고리즘들에 어려운 작업을 수행하는데 사용되어 왔다. 그러나, 크라우드 워커들의 성능은 신뢰할 수 없으며 크라우드 워커들을 이용하면 많은 비용이 들 수 있다. 이러한 요인들은 자율 주행 분야에서 데이터 주석에 대한 장벽을 구성할 수 있으며, 이는 카메라 및 다른 센서들로부터 수집된 대량의 정확하게 주석이 달린 데이터를 필요로 한다. 크라우드 워커 관점에서, 보행자용 경계 상자 그리기와 같은 데이터 주석은 지루할 수 있다. 결과적으로, 크라우드 워커들은 그러한 작업들을 하지 않거나 낮은 품질의 결과들을 생산한다.
개시된 접근법은 머신-러닝 모델들과 크라우드 워커들 사이에 쌍방의 한계를 극복할 수 있는 적극적인 파트너십을 구축하는 것을 목적으로 한다. 머신-러닝 모델들은 머신-러닝 알고리즘들이 실행되는 동안, 테스트 데이터세트들의 성능 및 데이터 특성과 관련하여 크라우드 워커들로부터 동적 입력을 적극적으로 유도하고 스스로 설명하도록 구성될 수 있다. 예를 들어, 머신-러닝 알고리즘이 겪는 특정 문제에 대해 머신-러닝 알고리즘이 크라우드 워커에게 지시할 수 있다면 도움이 될수 있다. 이 접근법은 머신-러닝 정확도를 높이고 크라우드 워커들이 고품질 주석을 제공하도록 동기를 부여할 것으로 예상된다.
도 1은 협력적인 크라우드/머신 개념을 사용하여 데이터에 주석을 달기 위한 시스템을 구현하는 데이터 주석 시스템(100)을 도시한 것이다. 예를 들어, 데이터 주석 시스템(100)은 자율 주행 시스템을 지향할 수 있다. 데이터 주석 시스템(100)은 적어도 하나의 컴퓨팅 시스템(102)을 포함할 수 있다. 컴퓨팅 시스템(102)은 메모리 유닛(108)에 오퍼레이션적으로 연결된 적어도 하나의 프로세서(104)를 포함할 수 있다. 프로세서(104)는 중앙 처리 장치(CPU, (106))의 기능을 구현하는 하나 이상의 집적 회로를 포함할 수 있다. CPU(106)는 x86, ARM, 전원, 또는 MIPS 명령어 세트 패밀리 중 하나와 같은 명령어 스테트(instruction stet)를 구현하는 상업적으로 이용 가능한 처리 장치일 수 있다. 오퍼레이션 동안, CPU(106)는 메모리 유닛(108)으로부터 검색된 저장된 프로그램 명령어들을 실행할 수 있다. 저장된 프로그램 명령어들은 여기에 설명된 오퍼레이션을 수행하기 위해 CPU(106)의 오퍼레이션을 제어하는 소프트웨어를 포함할 수 있다. 일부 예들에서, 프로세서(104)는 CPU(106), 메모리 유닛(108), 네트워크 인터페이스, 및 입력/출력 인터페이스들의 기능을 단일 통합 장치에 통합시키는 SoC(system on a chip)일 수 있다. 컴퓨팅 시스템(102)은 오퍼레이션의 다양한 양상들을 관리하기 위한 운영 체제를 구현할 수 있다.
메모리 유닛(108)은 명령어들 및 데이터를 저장하기 위한 휘발성 메모리 및 비휘발성 메모리를 포함할 수 있다. 비휘발성 메모리는 NAND 플래시 메모리, 자기 및 광학 저장 매체와 같은 고체 상태 메모리, 또는 컴퓨팅 시스템(102)이 비활성화되거나 전력이 손실될 때 데이터를 유지하는 임의의 다른 적절한 데이터 저장 장치를 포함할 수 있다. 휘발성 메모리는 프로그램 명령어들 및 데이터를 저장하는 정적 및 동적 랜덤 액세스 메모리(RAM)를 포함할 수 있다. 예를 들어, 메모리 유닛(108)은 머신-러닝 모델(110) 또는 알고리즘, 머신-러닝 모델(110)에 대한 훈련데이터세트(112), 데이터 주석의 결과들을 저장하기 위한 주석 달린 데이터세트(114), 원시 소스 데이터세트(115), 및 크라우드 워커 인터페이스(116) 프로세스를 저장할 수 있다.
컴퓨팅 시스템(102)은 외부 시스템들 및 장치들과의 통신을 제공하도록 구성된 네트워크 인터페이스 장치(122)를 포함할 수 있다. 예를 들어, 네트워크 인터페이스 장치(122)는 IEEE(Institute of Electrical and Electronics Engineers) 802.11 표준 패밀리에 의해 정의된 유선 및/또는 무선 이더넷 인터페이스를 포함할 수 있다. 네트워크 인터페이스 장치(122)는 셀룰러 네트워크(예를 들어, 3G, 4G, 5G)와 통신하기 위한 셀룰러 통신 인터페이스를 포함할 수 있다. 네트워크 인터페이스 장치(122)는 외부 네트워크(124) 또는 클라우드에 통신 인터페이스를 제공하도록 추가로 구성될 수 있다.
외부 네트워크(124)는 월드 와이드 웹 또는 인터넷으로 지칭될 수 있다. 외부 네트워크(124)는 컴퓨팅 장치들 사이에 표준 통신 프로토콜을 설정할 수 있다. 외부 네트워크(124)는 정보 및 데이터가 컴퓨팅 장치들과 네트워크 사이에서 쉽게 교환될 수 있게 한다. 하나 이상의 서버(130)는 외부 네트워크(124)와 통신할 수 있다.
컴퓨팅 시스템(102)은 디지털 및/또는 아날로그 입력들 및 출력들을 제공하도록 구성될 수 있는 입력/출력(I/O) 인터페이스(120)를 포함할 수 있다. I/O 인터페이스(120)는 외부 장치들(예를 들어, USB(Universal Serial Bus) 인터페이스)와 통신하기 위한 추가의 직렬 인터페이스들을 포함할 수 있다.
컴퓨팅 시스템(102)은 데이터 주석 시스템(100)이 제어 입력을 수신할 수 있게 하는 임의의 장치를 포함할 수 있는 인간-머신 인터페이스 장치(HMI, (118))를 포함할 수 있다. 입력 장치들의 예는 키보드, 마우스, 터치 스크린, 음성 입력 장치, 및 다른 유사한 장치와 같은 휴먼 인터페이스 입력들을 포함할 수 있다. 컴퓨팅 시스템(102)은 디스플레이 장치(132)를 포함할 수 있다. 컴퓨팅 시스템(102)은 그래픽 및 텍스트 정보를 디스플레이 장치(132)에 출력하기 위한 하드웨어 및 소프트웨어를 포함할 수 있다. 디스플레이 장치(132)는 전자 디스플레이 스크린, 프로젝터, 프린터, 또는 정보를 사용자 또는 운영자에게 표시하기 위한 다른 적합한 장치를 포함할 수 있다. 컴퓨팅 시스템(102)은 네트워크 인터페이스 장치(122)를 통해 원격 HMI 및 원격 디스플레이 장치들과의 상호 작용을 허용하도록 추가로 구성될 수 있다.
데이터 주석 시스템(100)은 하나 또는 복수의 컴퓨팅 시스템들을 사용하여 구현될 수 있다. 이 예는 설명된 모든 피쳐들을 구현하는 단일 컴퓨팅 시스템(102)을 도시하지만, 서로 통신하는 복수의 컴퓨팅 유닛들에 의해 다양한 피쳐들 및 기능들이 분리되고 구현될 수 있음을 의도하고 있다. 선택된 특정 시스템 아키텍처는 다양한 요소들에 의존할 수 있다. 예로서, 크라우드 워커 인터페이스(116) 프로세스는 별도의 컴퓨팅 시스템에서 구현될 수 있다.
크라우드 워커들(128)은 워크 스테이션들(126)을 이용하여 외부 네트워크 (124)에 액세스할 수 있다. 크라우드 워커들(128)은 작업 실행자들(task executor)로 지칭될 수도 있다. 크라우드 워커들(128)은 도메인 전문 지식을 갖지 않을 것으로 예상된다. 크라우드 워커들(128)은 Amazon Mechanical Turk와 같은 하나 이상의 크라우드-소싱 시장들에 등록될 수 있다. 크라우드-소싱 시장은 서버들(130) 중 하나에서 구현될 수 있다. 크라우드-소싱 시장은 크라우드 워커들(128)에 의해 완료를 위해 작업 요청자가 작업들을 업로드하도록 허용할 수 있다. 크라우드 워커들(128)은 워크스테이션들(126)을 사용하여 크라우드-소싱 시장에 액세스할 수 있다. 워크스테이션들(126)은 컴퓨팅 시스템(102)과 유사한 구성요소들을 포함할 수 있다. 워크스테이션들(126)은 입력 및 출력을 위한 사용자 인터페이스를 포함하는 개인용 컴퓨팅 장치들일 수 있다. 워크스테이션들(126)은 디스플레이 장치를 포함할 수 있다. 예를 들어, 워크스테이션들(126)은 디스플레이 및 키보드를 갖춘 컴퓨터일 수 있다. 워크스테이션들(126)은 태블릿들 및 휴대폰들을 포함할 수 있다.
데이터 주석 시스템(100)은 주석 달린 데이터세트(114)를 생성하기 위해 원시 소스 데이터세트(115)를 분석하도록 구성된 머신-러닝 알고리즘(110)을 구현할 수 있다. 원시 소스 데이터세트(115)는 머신-러닝 시스템용의 입력 데이터세트를 대표할 수 있는 원시 또는 미처리 센서 데이터를 포함할 수 있다. 원시 소스 데이터세트(115)는 비디오, 비디오 세그먼트들, 이미지들, 텍스트 기반 정보, 및 원시 또는 부분적으로 처리된 센서 데이터(예를 들어, 객체들의 레이더 맵)를 포함할 수 있다. 일부 예들에서, 머신-러닝 알고리즘(110)은 미리 결정된 기능을 수행하도록 설계된 신경망 알고리즘일 수 있다. 예를 들어, 신경망 알고리즘은 비디오 이미지들에서 보행자들을 식별하기 위해 자동차 애플리케이션들에 구성될 수 있다. 머신-러닝 알고리즘(110)은 다른 머신-러닝 시스템들에 의해 사용하기 위해 주석 달린 데이터세트(114)를 생성하도록 구성될 수 있다. 예를 들어, 주석 달린 데이터세트(114)는 자동차 애플리케이션을 위한 보행자 검출 시스템용의 훈련 데이터로서 사용될 수 있다.
주석 달린 데이터세트(114)는 원시 소스 데이터세트(115) 외에 주석들을 포함할 수 있다. 예를 들어, 원시 소스 데이터세트(115)가 비디오 이미지들인 경우, 주석 달린 데이터세트(114)에 통합된 각각의 프레임은 대응하는 주석들을 가질 수 있다. 주석들은 이미지 프레임의 식별된 좌표들과 관련된 설명들을 포함할 수 있다. 예를 들어, 주석들은 특정한 피쳐들에 대한 경계 상자들을 포함할 수 있다. 주석들은 특정 피쳐들의 컬러 코딩을 포함할 수 있다. 주석들은 이미지에서 발견된 피쳐들에 대한 텍스트 라벨들 또는 설명들을 정의할 수 있다.
데이터 주석 시스템(100)은 머신-러닝 알고리즘(110)에 대한 훈련 데이터세트(112)를 저장할 수 있다. 훈련 데이터세트(112)는 머신-러닝 알고리즘(110)을 훈련하기 위해 미리 주석 달린 데이터세트를 나타낼 수 있다. 훈련 데이터세트(112)는 신경망 알고리즘과 관련된 가중 요소들을 학습하기 위해 머신-러닝 알고리즘(110)에 의해 사용될 수 있다. 한다. 훈련 데이터세트(112)는 머신-러닝 알고리즘(110)이 학습 프로세스를 통해 복제하려고 하는 대응 결과 또는 결실을 갖는 한 세트의 소스 데이터를 포함할 수 있다. 일 예에서, 머신-러닝 알고리즘(110)은 비디오 이미지들에서 보행자들의 존재 및 위치를 식별하고 그에 따라 데이터에 주석을 달도록 설계될 수 있다. 이 예에서, 훈련 데이터세트(112)는 보행자를 포함하거나 포함하지 않는 소스 비디오들 및 대응하는 존재 및 위치 정보를 포함할 수 있다. 소스 비디오들은 보행자들이 식별되는 다양한 시나리오들을 포함할 수 있다.
머신-러닝 알고리즘(110)은 훈련 데이터세트(112)를 입력으로서 사용하여 학습 모드로 운영될 수 있다. 머신-러닝 알고리즘(110)은 훈련 데이터세트(112)로부터의 데이터를 사용하여 다수의 반복에 걸쳐 실행될 수 있다. 각각의 반복을 통해, 머신-러닝 알고리즘(110)은 달성된 결과에 기초하여 내부 가중 요소를 업데이트할 수 있다. 예를 들어, 머신-러닝 알고리즘(110)은 출력 데이터들(예를 들어, 주석들)을 훈련 데이터세트(112)에 포함된 것들과 비교할 수 있다. 훈련 데이터세트(112)가 예상된 결과들을 포함하므로, 머신-러닝 알고리즘(110)은 언제 성능이 허용가능한지를 결정할 수 있다. 머신-러닝 알고리즘(110)이 미리 결정된 성능 레벨(예를 들어, 훈련 데이터세트(112)와 연관된 결과와 100% 일치)을 달성한 후, 머신-러닝 알고리즘(110)은 훈련 데이터세트(112)에 없는 데이터를 사용하여 실행될 수 있다. 훈련된 머신-러닝 알고리즘(110)은 새로운 데이터세트에 적용되어 주석 달린 데이터를 생성할 수 있다.
머신-러닝 알고리즘(110)은 원시 소스 데이터(115)에서 특정 피쳐를 식별하도록 구성될 수 있다. 원시 소스 데이터(115)는 주석 결과들이 요구되는 복수의 인스턴스 또는 입력 데이터세트를 포함할 수 있다. 예를 들어, 머신-러닝 알고리즘(110)은 비디오 이미지들에서 보행자의 존재를 식별하여 그 발생들에 주석을 달도록 구성될 수 있다. 머신-러닝 알고리즘(110)은 특정 피쳐들의 존재를 식별하기 위해 원시 소스 데이터(115)를 처리하도록 프로그래밍 될 수 있다. 머신-러닝 알고리즘(110)은 원시 소스 데이터(115)내의 피쳐를 미리 결정된 피쳐(예를 들어, 보행자)으로서 식별하도록 구성될 수 있다. 원시 소스 데이터(115)는 다양한 소스들로부터 도출될 수 있다. 예를 들어, 원시 소스 데이터(115)는 주석 달린 데이터세트(114)를 사용하는 머신-러닝 시스템에 의해 수집된 실제 입력 데이터일 수 있다. 원시 소스 데이터(115)는 데이터 주석 시스템을 테스트하기 위해 기계로 생성될 수 있다. 예를 들어, 원시 소스 데이터(115)는 카메라로부터의 원시 비디오 이미지들을 포함할 수 있다.
예에서, 머신-러닝 알고리즘(110)은 원시 소스 데이터(115)를 처리하여 보행자의 존재의 표시를 출력할 수 있다. 출력은 또한 비디오 이미지들내의 보행자의 상대적 위치를 포함할 수 있다. 이러한 정보는 주석의 일부일 수 있다. 또한, 출력은 출력의 정확도 예측 또는 신뢰도 수준을 포함할 수 있다. 머신-러닝 알고리즘(110)은 생성된 각각의 출력에 대한 신뢰도 수준 또는 요인을 생성할 수 있다. 예를 들어, 미리 결정된 고-신뢰도 임계값을 초과하는 신뢰도 값은 머신-러닝 알고리즘(110)이 그 식별된 피쳐가 특정 피쳐에 대응한다는 것을 확신함을 나타낼 수 있다. 저-신뢰도 임계값보다 작은 신뢰도는 머신-러닝 알고리즘(110)이 그 특정 피쳐가 존재한다는 것에 다소 불확실성을 가지고 있음을 나타낼 수 있다.
컴퓨팅 시스템(102)은 머신-러닝 알고리즘(110)과 크라우드 워커들(128) 사이에 인터페이스를 제공하도록(작업 스테이션들(126)을 통해) 프로그래밍된 크라우드 워커 인터페이스 프로세스(116)를 추가로 포함할 수 있다. 크라우드 워커 인터페이스(116)는 머신-러닝 알고리즘(110)의 개발자에 의해 미리 정의 및/또는 프로그래밍 될 수 있다. 개발자는 머신-러닝 알고리즘(110)이 원시 소스 데이터(115)에 부적절하게 주석을 달게 할 수 있는 미리 결정된 에러 세트를 식별할 수 있다. 미리 결정된 에러 세트에 대응하여, 개발자는 각각의 에러에 대한 스크립트된 대화를 생성할 수 있다. 스크립트된 대화는 특정 방식으로 입력을 제공하기 위해 크라우드 워커(128)에 대한 특정 요청을 포함할 수 있다. 예를 들어, 비디오 이미지들에 주석을 달기 위해, 크라우드 워커 인터페이스(116)는 크라우드 워커(128)가 그 디스플레이된 이미지의 영역에 원을 그리거나 하이라이트 하도록 요청할 수 있다. 다른 예들에서, 크라우드 워커 인터페이스(116)는 텍스트 입력을 요청할 수 있다. 다른 예들에서, 크라우드 워커 인터페이스(116)는 크라우드 워커(128)에게 그 디스플레이된 이미지상의 관심 영역들을 가리키고 클릭하도록 요청할 수 있다. 크라우드 워커 인터페이스(116)는 머신-러닝 알고리즘(110)에서 부정확성을 야기하는 각각의 유형의 에러를 식별하도록 구성될 수 있다. 크라우드 워커 인터페이스(116)는 머신-러닝 알고리즘(110)의 오퍼레이션을 모니터링하여 부정확성이 존재할 수 있는 상황들을 검출할 수 있다. 예를 들어, 크라우드 워커 인터페이스(116)는 머신-러닝 알고리즘(110)의 내부 변수들에 액세스하여 정확도 및 성능을 결정할 수 있다.
크라우드 워커(128)는 원시 소스 데이터(115)를 처리하여 특정 피쳐가 존재 하는지를 판단할 수 있다. 시각적 작업을 위해, 크라우드 워커(128)는 원시 소스 데이터(115)에서 특정 피쳐(예를 들어, 보행자)의 존재를 신뢰성있게 표시할 수 있다. 또한, 크라우드 워커(128)는 머신-러닝 알고리즘(110)이 식별에 문제를 갖게 할 수 있는 다른 피쳐들을 식별하는데 적합할 수 있다. 또한, 머신-러닝 알고리즘(110)에 의해 생성된 주석 결과들이 표시될 때, 크라우드 워커(128)는 결과가 합리적인지를 판단할 수 있다.
크라우드 워커 인터페이스(116)는 크라우드-소스 작업을 생성할 수 있다. 신뢰도 수준이 낮을 때, 대화식 크라우드-소스 작업을 통해 출력을 확인하거나 검증하는 것이 유용할 수 있다. 다른 경우에, 원시 소스 데이터(115) 중 일부는 크라우드-소스 작업에 의한 모니터링을 위해 무작위로 선택될 수 있다. 크라우드-소스 작업은 크라우드-소싱 마켓플레이스를 호스팅하는 서버(130)에 업로드 될 수 있다. 크라우드-소스 작업은 마켓플레이스에 등록된 크라우드 워커들(128) 중 하나에 의해 할당되거나 선택될 수 있다. 크라우드 워커(128)는 워크 스테이션(126)을 사용하여 외부 네트워크(124)를 통해 작업에 액세스할 수 있다. 일부 구성들에서, 대화 식 작업은 크라우드 워커 워크스테이션(126)상에 다운로드되고 실행되는 실행가능한 프로그램일 수 있다. 실행가능한 프로그램은 그래픽 인터페이스를 포함하고 외부 네트워크(124)를 통해 크라우드 워커 인터페이스(116)와 통신을 설정할 수 있다. 그리고나서, 크라우드 워커 인터페이스(116)는 데이터를 교환하기 위해 작업과 통신할 수 있다. 다른 예들에서, 작업은 크라우드 워커 인터페이스(116)와 연관된 웹 페이지에 대한 링크일 수 있다. 작업은 워크스테이션(126)상에서 실행된 웹브라우저를 이용하여 크라우드 워커(128)에 의해 액세스 될 수 있다. 작업은 크라우드 워커 인터페이스(116)와 크라우드 워커(128) 사이에 통신 링크를 설정한다. 크라우드 워커 인터페이스(116)는 크라우드 워커 워크스테이션(126)상에 디스플레이될 콘텐츠를 제공할 수 있다. 크라우드 워커 워크스테이션(126)은 크라우드 워커 입력 데이터를 크라우드 워커 인터페이스(116)에 제공하도록 구성될 수 있다.
크라우드-소스 작업의 실행 동안, 크라우드 워커 인터페이스(116)는 원시 소스 데이터세트(115)로부터의 입력 데이터의 특정 세트에 대해 머신-러닝 알고리즘(110)을 실행할 수 있다. 크라우드 워커 인터페이스(116)는 크라우드-소스 작업이 진행됨에 따라 머신-러닝 알고리즘(110)의 시작 및 정지를 관리할 수 있다. 크라우드 워커 인터페이스(116)는 또한 크라우드 워커(128)에 의해 생성되고 반환된 입력에 기초하여 머신-러닝 알고리즘(110)에 대한 입력 데이터를 업데이트 할 수도 있다. 입력 데이터세트가 시간 간격에 대한 성능을 나타내는 구성들에 대해, 크라우드 워커 인터페이스(116)는 머신-러닝 알고리즘(110)의 시퀀싱을 제어할 수 있다. 예를 들어, 크라우드 워커 인터페이스(116)는 각각의 시간 단위(예를 들어, 입력 데이터세트의 샘플링 간격)에 대한 머신-러닝 알고리즘(110)의 실행을 단계별로 허용할 수 있다.
크라우드 워커 인터페이스(116)는 머신-러닝 알고리즘(110)의 정보를 비전문가가 이해할 수 있는 자연 언어 표현으로 변환하도록 구성될 수 있다. 크라우드 워커 인터페이스(116)는 크라우드 워커들이 자연 언어로 된 머신-러닝 알고리즘(110)의 가능한 부정확함에 주의를 기울이도록 상기시키는 대화 요소들을 생성할 수 있다. 크라우드 워커 인터페이스(116)는 또한 인간에 의해 쉽게 해석될 수 있는 시각적 방식으로(예를 들어, 시각화) 머신-러닝 알고리즘(110) 예측들을 통신하도록 구성될 수 있다. 예를 들어, 크라우드 워커 인터페이스(116)는 머신-러닝 알고리즘(110)에 의해 사용된 두드러진 피쳐들의 열 지도를 출력할 수 있다. 크라우드 워커 인터페이스(116)는 크라우드 워커들(128)과 머신-러닝 알고리즘(110) 사이의 상호 작용을 지원하기 위해 대화 에이전트를 구현할 수 있다. 크라우드 워커 인터페이스(116)는 크라우드 워커(128)에 의해 디스플레이 스크린상에 그려지거나 타이핑된 요소들에 대응하는 데이터로서 크라우드 워커(128)로부터의 피드백을 수신하도록 프로그래밍 될 수 있다.
도 2는 크라우드 워커 인터페이스(116)에 의해 생성된 디스플레이 스크린 (201)의 제 1 스냅샷(200)의 가능한 예를 도시한 것이다. 크라우드 워커 인터페이스(116)는 크라우드 워커(128)와 텍스트 기반 정보를 교환하기 위한 채팅 창(202)을 포함하도록 정의될 수 있다. 채팅 창(202)은 크라우드 워커(128)가 텍스트 정보를 입력할 수 있는 텍스트 입력 필드(204)를 포함할 수 있다. 채팅 창(202)은 크라우드 워커 인터페이스(116)에 의해 생성된 대화를 표시할 수 있다. 대화는 작업의 개시시에 소개 정보를 포함할 수 있다. 예를 들어, 대화는 크라우드 워커(128)로부터 필요한 작업을 간략하게 설명할 수 있다. 대화는 머신-러닝 알고리즘(110)의 관련 세부 사항들에 관한 정보를 더 포함할 수 있다. 채팅 창(202)은 또한 크라우드 워커(128)에 의해 입력된 텍스트 응답을 표시할 수도 있다. 채팅 창(202)의 내용들은 추후 분석을 위해 메모리 유닛(108)에 저장될 수 있다. 이 경우, 대화는 크라우드 워커(128)를 환영하는 인사를 포함한다.
크라우드 워커 인터페이스(116)는 정의된 작업과 관련된 이미지들 및/또는 비디오들을 디스플레이하기 위한 이미지 창(208)을 추가로 정의할 수 있다. 크라우드 워커 인터페이스(116)는 스크린 기반 오퍼레이션들을 제어하기 위한 하나 이상의 가상 버튼들(210)을 추가로 정의할 수 있다. 예를 들어, 가상 버튼들(210)은 현재 프레임에서 비디오를 일시 정지하도록 구성되는 일시 정지 명령(222)을 포함할 수 있다. 가상 버튼들(210)은 단일 프레임만큼 명시된 방향으로 비디오를 진행시키기 위해 다음 프레임 명령(218) 및 이전 프레임 명령(220)을 포함할 수 있다. 가상 버튼들(210)은 프레임들을 자동으로 전진시키도록 구성된 재생 명령을 포함할 수 있다. 일부 구성들에서, 일시 정지 명령(222) 및 재생 명령은 동적으로 라벨링된 가상 버튼을 공유할 수 있다.
가상 버튼들(210)은 또한 크라우드 워커(128)가 비디오 이미지들과 상호 작용할 수 있게 하는 명령들을 포함할 수 있다. 예를 들어, 가상 버튼들(210)은 디스플레이된 이미지상에서 박스 그리기 세션을 개시하기 위한 박스 그리기 명령(212)을 포함할 수 있다. 박스 그리기 명령(212)은 크라우드 워커(128)가 특정 피쳐를 하이라이트하기 위해 도면상의 임의의 영역을 포함할 수 있게 한다(예를 들어, 박스 모양에 제한되지 않음). 예를 들어, 크라우드 워커(128)는 커서를 화면 위치로 이동시키고, 버튼 또는 키를 누르고, 둘러쌀 영역 주위로 커서를 이동시켜, 박스를 그릴 수 있다. 크라우드 워커 인터페이스(116)는 커서가 이동함에 따라 선을 연장할 수 있다. 다른 예들에서, 박스 그리기 명령(212)은 박스 모양을 형성하는 것에 제한될 수 있다.
가상 버튼들(210)은 디스플레이된 이미지상에서 선 그리기 세션을 개시하도록 구성된 선 그리기 명령(214)을 포함할 수 있다. 크라우드 워커(128)는 커서를 화면 위치로 이동시키고, 버튼 또는 키를 누르고, 커서를 최종 위치로 이동시키고, 버튼 또는 키를 놓음으로써 선을 그릴 수 있다. 크라우드 워커 인터페이스(116)는 커서가 이동함에 따라 선을 그릴 수 있다.
가상 버튼들(210)은 스크린상의 객체가 삭제되도록 구성된 삭제 명령(216)을 포함할 수 있다. 예를 들어, 크라우드 워커(128)는 삭제 명령(216)을 선택하고, 커서로 아이템을 가리키고, 버튼 또는 키를 눌러서 화면에 표시된 아이템을 삭제할 수 있다. 다른 구성들에서, 크라우드 워커(128)는 스크린상의 아이템을 하이라이트한 다음 삭제 명령(216)을 선택할 수 있다. 예에서 묘사된 명령들은 가상 버튼이지만, 명령들은 풀-다운 또는 팝-업 메뉴들로 구현될 수도 있다. 다른 구성들에서, 명령들은 키스트로크로 정의될 수 있다.
크라우드 워커 인터페이스(116)는 시스템 아키텍트/디자이너에 의해 미리 정의될 수 있고 머신-러닝 알고리즘(110)에 유용한 정보를 도출하도록 구성될 수 있다. 크라우드 워커 인터페이스(116)는 하이퍼텍스트 마크 업 언어(HTML)로 작성된 웹-기반 인터페이스로서 구현될 수 있다. 예를 들어, 크라우드 워커(128)는 웹 브라우저를 사용하고 컴퓨팅 시스템(102)과 관련된 웹사이트를 네비게이팅하여 크라우드 워커 인터페이스(116)에 액세스할 수 있다.
도 2는 크라우드-소스 작업의 개시시에 디스플레이 스크린을 나타낼 수 있다. 도 3 내지 도 8은 작업이 실행될 때 추가적인 디스플레이 스크린 콘텐츠들을 나타내며 여기에 설명된다. 도 3은 작업 실행의 또다른 부분을 나타낼 수 있는 디스플레이 스크린(201)의 제 2 스냅샷(300)의 예를 도시한다. 제 2 이미지 프레임(308)이 디스플레이 스크린(201)상에 디스플레이될 수 있다. 또한, 머신-러닝 알고리즘(110)에 의해 생성된 피쳐들 또는 데이터(예를 들어, 주석들)가 이미지상에 오버레이될 수 있다. 예를 들어, 경계 박스(310)는 머신-러닝 알고리즘(110)에 의해 인식된 특정 유형의 객체를 반영하도록 그려질 수 있다. 또한, 경계 박스(310) 근처에 설명 텍스트(312)가 디스플레이될 수 있다. 예에서, 경계 박스(310)는 머신-러닝 알고리즘(110)에 의해 식별된 보행자를 나타내고 설명 텍스트(312)는 경계 박스(310)와 연관된 신뢰도 수준이다. 이 예에서, 설명 텍스트(312)는 100%의 신뢰도 수준을 나타낸다.
크라우드 워커 인터페이스(116)는 또한 채팅 창(206)에서 설명적 대화(306)를 생성할 수도 있다. 이 예에서, 설명적 대화(306)는 디스플레이 콘텐츠에 관한 정보를 제공하고 크라우드 워커로부터 필요로 될 수 있는 지원의 표시를 제공한다.
도 4는 작업 실행의 또다른 부분을 나타낼 수 있는 디스플레이 화면(201)의 제 3 화면 스냅샷(400)의 예를 도시한다. 제 3 이미지(408)는 디스플레이 화면 (201)상에 디스플레이될 수 있다. 예에서, 이미지는 크라우드 워커 인터페이스(116)에 의해 스트리밍 또는 제공되는 비디오의 프레임이다. 머신-러닝 알고리즘(110)에 의해 생성 및 추적되는 피쳐들 및/또는 데이터는 이미지상에 오버레이 될 수 있다. 예에서, 경계 박스(410)는 디스플레이되고 설명 텍스트(412)는 경계 박스(410)에 근접하여 디스플레이된다. 이 예에서, 설명 텍스트는 신뢰도 수준이 50 %임을 나타낸다. 제 3 화면 스냅샷(400)은 추적된 객체와 관련된 신뢰도 수준이 이전 스냅샷에서 감소된 상황을 나타낸다. 이 예에서, 크라우드 워커 인터페이스는 채팅 창(206)내에 명령 대화(406)를 디스플레이할 수 있다. 이 예에서, 명령 대화(406)는 크라우드 워커(128)에게 비디오를 일시 정지하고 트래킹된 객체와 임의의 근처의 객체들사이에 경계를 그리도록 명령한다. 이 경우, 자동차는 경계 박스(410)가 자동차의 일부를 포함하도록 추적된 보행자의 시야를 부분적으로 방해한다.
도 5는 작업 실행의 또다른 부분을 나타낼 수 있는 디스플레이 화면(201)의 제 4 화면 스냅샷(500)의 예를 도시한다. 이 경우, 디스플레이 화면(201)상에 디스플레이된 콘텐츠들은 크라우드 워커(128)가 콘텐츠를 분석할 수 있도록 일시 정지될 수 있다. 제 4 이미지(508)는 디스플레이 화면(201)상에 디스플레이될 수 있다. 제 4 화면 스냅샷(500)은 크라우드 워커 입력들이 추가된 제 3 화면 스냅샷(400)과 유사할 수 있다. 머신-러닝 알고리즘(110)에 의해 생성되고 추적된 피쳐들 및/또는 데이터는 이미지상에 오버레이될 수 있다. 예에서, 경계 박스(410)는 디스플레이되고, 설명 텍스트(412)는 경계 박스(410)에 근접하여 디스플레이된다. 이 예에서, 설명 텍스트는 머신-러닝 알고리즘(110)이 자동차의 경로로 이동하고 있는 보행자를 추적하는데 어려움이 있음을 나타내는 50%의 신뢰도 수준을 나타낸다. 예에서, 크라우드 워커(128)는 선 그리기 명령(516)을 하이라이트하거나 선택했다. 크라우드 워커(128)는 또한 추적된 보행자(예를 들어, 경계 박스(410))로부터 방해 차량을 분리하는 선(512)을 그렸다. 또한, 크라우드 워커(128)는 차량에 텍스트 라벨(514) ( "자동차")을 배치했다. 크라우드 워커(128)에 의해 입력된 정보는 추가 처리를 위해 크라우드 워커 인터페이스(116)로 전송될 수 있다.
크라우드 워커 인터페이스(116)는 다른 경우들도 다루도록 구성될 수 있다. 다른 예들에서, 추적된 피쳐는 광 조건들(light conditions)의 변화들로 인해 손실될 수 있다. 예를 들어, 햇빛에서 그늘로 걸어가는 보행자는 머신-러닝 알고리즘(110)에 인식하기 어려워질 수 있다. 이러한 경우에, 크라우드 워커(128)는 보행자가 그늘 영역으로 걸어갔음을 나타내는 입력을 제공할 수 있다. 이러한 조건들은 저녁에 가로등 근처에서 발생할 수 있다. 이러한 조건들은 차량이나 보행자가 이동할 때 광 조건들이 변할 수 있는 터널이나 지하도 근처에도 존재할 수 있다.
도 6은 작업 실행의 다른 부분을 나타낼 수 있는 디스플레이 화면(201)의 제 5 화면 스냅샷(600)의 예를 도시한다. 제 5 이미지(608)가 디스플레이 화면(201) 상에 디스플레이될 수 있다. 제 5 화면 스냅샷(500)은 추가적인 크라우드 워커 입력을 갖는 제 4 화면 스냅샷(400)과 유사할 수 있다. 또한, 크라우드 워커 인터페이스(116)는 또다른 명령 대화(606)가 채팅 창(206)에 디스플레이되게 한다. 이 예에서, 명령 대화(606)는 유사한 문제가 발생할 수 있는 이미지상의 추가 영역들을 표시하도록 크라우드 워커(128)에게 요청한다. 이것은 유사한 실수가 발생할 수 있는 머신-러닝 알고리즘(110) 예측을 조정하는데 사용될 수 있는 추가 데이터를 시스템에 제공한다. 이 예에서, 크라우드 워커(128)는 차 주위에 경계(612)를 그리고 또다른 보행자를 제 2 박스(614)로 하이라이트했다. 이 경우에, 머신-러닝 알고리즘(110)은 새로 식별된 보행자가 자동차에 의해 보이지 않게 되는 것과 동일한 문제를 가질 가능성이 있다. 입력된 데이터는 추가 처리를 위해 크라우드 워커 인터페이스(116)에 전송될 수 있다.
도 7은 작업 실행의 또다른 부분을 나타낼 수 있는 디스플레이 화면(201)의 제 6 화면 스냅샷(700)의 예를 도시한다. 제 6 이미지(708)는 디스플레이 화면 (201)상에 디스플레이될 수 있다. 이 예에서, 크라우드 워커 인터페이스(116)는 머신-러닝 알고리즘(110)에 대한 초점 포인트들을 나타내는 요소들(702)을 디스플레이한다. 또한, 크라우드 워커 인터페이스(116)는 또다른 명령 대화(706)를 채팅 창(206)내에 야기한다. 이 예에서, 명령 대화는 이미지를 그려서 초점 포인트를 삭제 또는 추가하도록 크라우드 워커(128)에게 지시한다. 이것은 크라우드 워커(128)에게 머신-러닝 알고리즘(110)의 기능과 관련하여 추가적인 수준의 세부 사항을 제공할 수 있다. 또한, 이는 크라우드 워커(128)가 머신에 의해 사용되는 포커스 포인트들의 정확도를 평가할 수 있게 한다. 인터페이스는 머신-러닝 알고리즘(110)에 의해 사용되는 다른 내부 선택 기준을 포함하도록 확장될 수 있다.
도 8은 작업 실행의 또다른 부분을 나타낼 수 있는 디스플레이 화면(201)의 제 7 화면 스냅샷(800)의 예를 도시한다. 제 7 이미지(808)는 디스플레이 화면(201)상에 디스플레이될 수 있다. 이 예에서, 크라우드 워커 인터페이스(116)는 설명적 대화(806)가 채팅 창(206)내에 디스플레이되게 했다. 설명적 대화(806)는 특정 용어들을 설명하거나 추가 정보를 제공하는 정보를 포함할 수 있다. 설명적 대화(806)는 크라우드 워커 요청에 응답하여 디스플레이될 수 있다. 예를 들어, 설명적 대화(806)의 디스플레이는 "피쳐는 무엇인가?"와 같은 요청을 타이핑하는 크라우드 워커(128)에 대한 응답일 수 있다. 다른 예들에서, 설명적 대화(806)는 대화(206)내의 텍스트 용어 위에 커서를 미리 결정된 시간동안 유지함으로써 제시될 수 있다. 다른 예들에서, 시스템은 음성 인터페이스를 포함할 수 있고 크라우드 워커(128)로부터의 구두 요청에 응답할 수 있다. 설명적 대화(806)는 머신-러닝 알고리즘(110)이 어떻게 예측을 수행하고 알고리즘들의 오퍼레이션에 통찰을 제공하는지를 설명할 수 있다.
크라우드 워커 인터페이스(116)는 머신-러닝 알고리즘(110)에 의해 사용된 용어들 및 언어를 설명하도록 구성될 수 있다. 크라우드 워커 인터페이스(116)는 크라우드 워커(128)에 의해 수행될 작업들을 설명하는 출력 텍스트 대화를 디스플레이하게 할 수 있다. 텍스트 대화는 크라우드 워커(128)가 머신-러닝 알고리즘(110)을 이해하는데 도움을 줄 수 있다. 또한, 텍스트 대화는 크라우드 워커(128)가 머신-러닝 알고리즘(110)에 대한 정확한 입력을 생성하는데 도움이 되는 정보를 제공할 수 있다.
도 2 내지 도 8은 실행중인 가능한 크라우드-소스 작업의 일부들을 나타낸다. 대화식 작업은 데이터 주석 프로세스에서 머신-러닝 알고리즘(110)을 보조하도록 구성될 수 있다. 대화식 작업은 또한 머신-러닝 알고리즘(110)에 대한 추가 정보를 제공함으로써 크라우드 워커(128)의 관심을 유지하도록 구성될 수 있다.
도 9는 컴퓨팅 시스템(102)에 의해 구현될 수 있는 가능한 오퍼레이션 시퀀스에 대한 흐름도(900)를 도시한다. 오퍼레이션(902)에서, 데이터 주석 시스템은 주석 세부 사항들을 식별할 수 있다. 머신-러닝 알고리즘(110)은 한 세트의 입력 데이터내의 미리 결정된 피쳐들을 식별하도록 실행될 수 있다. 단계(904)에서, 주석 결과들은 모니터링될 수 있다. 예를 들어, 대응하는 신뢰도 수준들이 확인될 수 있다. 다른 경우들에서, 무작위 샘플링이 구현될 수 있다. 머신-러닝 알고리즘(110)에 의해 제공된 주석에서 부정확성을 검출하기 위해 추가 기준이 모니터링될 수 있다. 예를 들어, 다수의 식별된 피쳐들 또는 제로 식별된 피쳐들을 포함하는 주석이 추가 검토를 위해 선택될 수 있다.
단계(906)에서, 주석 결과들이 크라우드 워커(128)에 의해 검토되어야 하는지를 결정하기 위한 확인이 수행된다. 예를 들어, 신뢰도 수준이 저-신뢰도 임계값 아래인 것에 응답하여 확인이 개시될 수 있다. 신뢰도 수준이 임계값을 초과한 후 신뢰도 수준이 저-신뢰도 임계값보다 작은 신뢰도 수준으로 감소하여 미리 결정된 피쳐를 식별하는데 대응하여 확인을 개시할 수 있다. 다른 경우들에서, 검토는 품질 관리 목적을 위해 무작위로 개시될 수 있다. 검토가 개시되면, 오퍼레이션(908)이 수행될 수 있다. 검토가 개시되지 않으면 다음 주석 주기까지 실행이 중지될 수 있다.
오퍼레이션(908)에서, 대화식 작업을 개시할 수 있다. 예를 들어, 작업은 크라우드-소싱 서비스로 등록될 수 있다. 대화식 작업은 여기서 앞에서 설명한 것과 같을 수 있다. 오퍼레이션(910)에서, 데이터 주석 시스템은 대화식 작업 실행의 일부로서 기술된 바와 같이 크라우드 워커(128)와 상호작용할 수 있다. 오퍼레이션(912)에서, 데이터 주석 시스템은 크라우드 워커의 입력을 수신할 수 있다. 크라우드 워커의 입력은 머신-러닝 알고리즘(110)에 의해 생성된 출력에서 부정확한 형상 식별 또는 다른 부정확성을 식별하기 위한 정보를 포함할 수 있다. 오퍼레이션(914)에서, 크라우드 워커의 입력은 주석 프로세스에 통합될 수 있다. 각 주석 사이클에 대해 오퍼레이션들은 반복될 수 있다. 전체 시퀀스는 반복적일 수 있으며 주석 데이터를 생성하기 위해 머신-러닝 알고리즘(110)이 사용될 때마다 수행될 수 있다.
크라우드 워커 인터페이스(116)는 다른 머신-러닝 알고리즘(110)들을 위해 구성될 수 있다. 각각의 머신-러닝 알고리즘(110)은 다른 주석 요구 사항들을 가질 수 있다. 예를 들어, 차량 애플리케이션용 머신-러닝 알고리즘들은 도로에서 다른 객체들을 식별하도록 구성될 수 있다. 머신-러닝 알고리즘들은 다른 차량들, 보행자들, 표지판들, 다리들과 같은 도로 위 또는 근처의 다양한 객체들을 식별하도록 훈련될 수 있다. 각각의 머신-러닝 알고리즘은 이미지의 다른 피쳐들에 초점을 맞출 수 있다. 따라서, 각 유형의 알고리즘에 대한 명령들은 약간 다를 수 있다. 시스템 설계자는 효과적인 크라우드 워커 지원을 용이하게 하기 위해 각 알고리즘들에 대한 인터페이스를 수정할 수 있다.
제시된 예에서, 크라우드 워커 인터페이스(116)는 머신-러닝 알고리즘(110)이 어려움을 겪고 있는 프레임을 식별하였다. 무작위로 선택된 모니터링과 같은 다른 경우들에서, 다른 인터페이스가 제공될 수 있다. 크라우드 워커(128)는 긍정 오류들을 식별하는 임무를 수행할 수 있다. 보행자 예에서, 이것은 머신-러닝 알고리즘(110)이 객체가 보행자임에 고-신뢰도를 갖지만 실제로는 그렇지 않은 경우일 수 있다. 크라우드 워커(128)는 비디오를 일시 정지하고 오 분류를 식별할 수 있다. 예를 들어, 크라우드 워커(128)는 객체를 하이라이트하고 라벨을 입력하여 객체에 주석을 달 수 있다. 다른 경우들에서, 크라우드 워커(128)는 부정 오류들을 식별하는 임무를 수행할 수 있다. 보행자 예에서, 이것은 머신-러닝 알고리즘(110)이 명백하게 보행자인데 보행자로서 객체를 식별하지 않는 경우일 수 있다.
크라우드 워커 인터페이스(116)는 머신-러닝 알고리즘(110)과 크라우드 워커(128) 사이의 용어들 및 요소들을 효과적으로 통신하기 위한 번역 또는 변환 기능을 포함할 수 있다. 머신-러닝 알고리즘(110)은 특정 방식으로 일부 피쳐들을 나타낼 수 있다. 예를 들어, 경계 박스들은 한 세트의 이미지 좌표들로 표현될 수 있다. 크라우드 워커 인터페이스(116)는 적절한 위치에서 이미지 좌표들 세트를 이미지 프레임상의 박스로 변환할 수 있다. 마찬가지로, 크라우드 워커(128)는 디스플레이 화면에 박스를 그릴 수 있다. 크라우드 워커 인터페이스(116)는 화면상에 표시된 박스를 머신-러닝 알고리즘(110)에 의해 이해되는 좌표들로 변환할 수 있다. 또한, 텍스트 주석들은 머신-러닝 알고리즘(110)에 의해 사용가능한 형태로 변환될 수 있다. 텍스트 주석들은 크라우드 워커(128)에 의해 그려진 경계와 관련될 수 있다.
크라우드 워커 인터페이스(116)는 주어진 알고리즘 결정에 대한 신뢰도가 낮은 이유를 설명하기 위해 크라우드 워커들(128)로부터 피드백을 유도하도록 설계될 수 있다. 따라서, 신뢰도 수준들이 낮은 알려진 상황들이 있을 수 있다. 디자이너는 알려진 상황들을 커버하도록 크라우드 워커 인터페이스(116)를 프로그래밍할 수 있다. 크라우드 워커 인터페이스(116)는 미리 결정된 질문들을 크라우드 워커(128)에 제시하도록 구성될 수 있다. 예를 들어, 질문 대화는 채팅 창(206)에 디스플레이될 수 있다. 자동차에 의해 보이지 않게 된 보행자가 자주 발생하는 경우, 질문 대화는 “하이라이트된 보행자의 시야를 자동차가 막고 있습니까?”와 같은 질문을 할수 있다. 크라우드 워커(128)는 질문 대화에 응답하여 "예" 또는 "아니오"를 입력할 수 있다.
크라우드 워커 인터페이스(116)는 결정을 내리기 위해 머신-러닝 알고리즘(110)에 의해 사용된 피쳐들을 묘사할 수 있다. 예를 들어, 크라우드 워커 인터페이스(116)는 결정하게 된 하이라이트 영역들로서 포커스 포인트들을 디스플레이할 수 있다. 크라우드 워커(128)는 포커스 포인트들이 특정 결정에 유효하고 유용하다는 것을 검증하도록 유도될 수 있다. 크라우드 워커 인터페이스(116)는 의사-결정 프로세스에서 사용되는 다양한 요소를 디스플레이할 수 있다. 이는 크라우드 워커(128)에게 머신-러닝 알고리즘(110)으로의 창을 제공한다. 또한 크라우드 워커(128)가 머신-러닝 알고리즘(110)에 의해 사용되는 요소들 또는 피쳐들을 개선할 수 있게 한다. 예들에서, 포커스 포인트들의 업데이트는 머신-러닝 알고리즘(110)이 결정에 도달하는 방식에서 변화를 이끌 수 있다. 예들에서, 보행자가 차량에 의해 부분적으로 가려진 동안 일부 포커스 포인트들의 삭제는 가려진 동안에 추적이 개선될 수 있다. 예를 들어, 보행자의 머리가 차량을 가로질러 이동하는 것처럼 보일 때 보행자 머리의 추적을 향상시키기 위해 포커스 포인트가 재정의될 수 있다.
크라우드-소스 작업들부터 수신된 입력들은 머신-러닝 알고리즘(110)에 대한 훈련 데이터세트(112)를 업데이트하는데 사용될 수 있다. 머신-러닝 알고리즘(110)은 업데이트된 훈련 데이터세트(112)를 사용하여 가중 요소들을 재학습할 수 있다. 훈련 데이터세트(112)를 개선함으로써, 머신-러닝 알고리즘(110)이 시간이 지남에 따라 더욱 정확해질 것으로 예상된다.
설명된 시스템들 및 방법들은 머신-러닝 알고리즘의 성능을 개선시킴으로써 데이터 주석을 개선시킨다. 정확한 머신-러닝 알고리즘은 인간보다 훨씬 빠르고 저렴한 비용으로 주석 데이터를 생성할 수 있다. 데이터 주석 시스템은 머신-러닝 과정을 일반인에게 설명하여 그러한 시스템을 더 잘 이해시키려고 시도한다. 이것은 머신-러닝 시스템의 인식과 이해에 기여할 수 있다. 기술된 바와 같은 시스템은 머신-러닝 시스템이 정확도가 부족하다는 것을 인식하는 경우 및 머신-러닝 시스템이 올바르게 동작하는 것으로 보이는 경우에 사용된다.
여기에 개시된 프로세스, 방법 또는 알고리즘은 임의의 기존의 프로그램가능한 전자 제어 유닛 또는 전용의 전자 제어 유닛을 포함할 수 있는, 처리 장치, 제어기, 또는 컴퓨터에 의해 전달/구현될 수 있다. 유사하게, 프로세스들, 방법들, 또는 알고리즘들은 ROM 장치와 같은 기록 불가능한 저장 매체에 영구적으로 저장된 정보 및 플로피 디스크들, 자기 테이프들, CD들, RAM 장치들, 및 다른 자기 및 광학 매체와 같은 쓰기 가능한 저장 매체상에 변경 가능하게 저장된 정보를 포함하지만 이에 제한되지 않는 다수 형태로, 제어기 또는 컴퓨터에 의해 실행 가능한 데이터들 및 명령들로서 저장될 수 있다. 프로세스들, 방법들, 또는 알고리즘들은 소프트웨어 실행가능 오브젝트로 구현될 수도 있다. 대안적으로, 프로세스들, 방법들, 또는 알고리즘들은 ASIC(Application Specific Integrated Circuit)들, FPGA (Field-Programmable Gate Array)들, 상태 머신들, 제어기들 또는 다른 하드웨어 구성요소들 또는 장치들, 또는 하드웨어, 소프트웨어 및 펌웨어 구성요소들의 조합과 같은, 적절한 하드웨어 구성요소들을 사용하여, 전체적으로 또는 부분적으로 구현될 수 있다.
예시적인 실시예들이 상기 설명되었지만, 이들 실시예들은 청구범위에 포함된 모든 가능한 형태들을 설명하는 것으로 의도된 것은 아니다. 본 명세서에서 사용된 단어들은 제한이 아니라 설명을 위한 단어이며, 개시의 정신 및 범위에서 벗어나지 않고 다양한 변화들이 이루어질 수 있는 것으로 이해된다. 본 개시의 사상 및 범위를 벗어나지 않고 다양한 변경이 이루어질 수 있음이 이해된다. 전술한 바와 같이, 다양한 실시예들의 피쳐들은 명시적으로 설명되거나 나타내지 않은 본 발명의 추가 실시예들을 형성하도록 조합될 수 있다. 다양한 실시예들이 하나 이상의 원하는 특성들과 관련하여 다른 실시예 또는 종래 기술의 구현들에 대해 장점을 제공하거나 바람직한 것으로 설명될 수 있지만, 당업자들은 하나 이상의 피쳐들 또는 특성들이, 특정 응용 및 구현에 따라 달라지는 원하는 전체 시스템 속성들을 실현하도록 절충될 수 있음을 인식한다. 이들 속성들은 비용, 강도, 내구성, 수명주기 비용, 시장성, 외관, 패키징, 크기, 서비스 능력, 중량, 제조 능력, 조립의 용이함 등을 포함할 수 있지만, 이에 제한되지는 않는다. 따라서, 하나 이상의 특성들에 대한 다른 실시예들 또는 종래 기술의 구현들보다 덜 바람직한 것으로 설명된 실시예들이 개시의 범위를 벗어나지 않고 특정의 응용들에 바람직할 수 있다.
102: 컴퓨팅 시스템 112: 훈련 데이터세트
115: 원시 소스 데이터세트 116: 크라우드 워커 인터페이스

Claims (20)

  1. 데이터 주석 시스템에 있어서,
    컴퓨팅 시스템으로서,
    입력 데이터세트로부터 미리 결정된 피쳐(feature)로서의 피쳐 및 대응하는 신뢰도 수준을 식별하도록 프로그래밍된 머신-러닝 알고리즘을 실행하고,
    임계값을 초과한 후 저-신뢰도 임계값보다 작게 상기 대응하는 신뢰도 수준이 감소하는 상기 대응하는 신뢰도 수준을 사용하여 상기 피쳐를 식별하는 것에 응답하여, 상기 머신-러닝 알고리즘에 의해 식별된 상기 피쳐 및 상기 입력 데이터세트를 디스플레이하고 상기 감소의 이유를 식별하기 위해 크라우드 워커(crowd worker)로부터 피드백을 수신하도록 구성된 대화식 작업을 생성하기 위해 프로그래밍된 크라우드 워커 인터페이스를 실행하도록 프로그래밍된, 상기 컴퓨팅 시스템을 포함하는, 데이터 주석 시스템.
  2. 제1항에 있어서, 상기 크라우드 워커 인터페이스는 디스플레이 화면상에 텍스트 대화가 디스플레이되도록 추가로 프로그래밍되고, 상기 텍스트 대화는 상기 크라우드 워커가 상기 대화식 작업의 완료시 안내하는 명령들을 포함하는, 데이터 주석 시스템.
  3. 제1항에 있어서, 상기 크라우드 워커 인터페이스는 상기 크라우드 워커로부터 상기 피드백을 디스플레이 화면상에 그려진 요소들에 대응하는 데이터로서 수신하도록 추가로 프로그래밍되는, 데이터 주석 시스템.
  4. 제1항에 있어서, 상기 크라우드 워커 인터페이스는 상기 크라우드 워커로부터의 상기 피드백을 디스플레이 화면상에 입력된 온-스크린 객체의 텍스트 주석으로서 수신하도록 추가로 프로그래밍된, 데이터 주석 시스템.
  5. 제1항에 있어서, 상기 크라우드 워커 인터페이스는 디스플레이 화면상에 디스플레이되는 상기 감소에 대응하는 상기 입력 데이터세트에 응답하여, 상기 크라우드 워커에게 상기 감소를 알리는 상기 디스플레이 화면상에 대화 요소가 디스플레이되도록 추가로 프로그래밍되는, 데이터 주석 시스템.
  6. 제1항에 있어서, 상기 크라우드 워커 인터페이스는 상기 크라우드 워커가 신뢰도 수준에서 유사한 감소가 발생될 것으로 예상되는 피쳐들을 식별하도록 명령하는 대화 요소가 디스플레이 화면상에 디스플레이되도록 추가로 프로그래밍되는, 데이터 주석 시스템.
  7. 제1항에 있어서, 상기 크라우드 워커 인터페이스는 머신-러닝 알고리즘 표현들과 인간이 이해하기에 적합한 시각적 표현들 사이를 변환하도록 추가로 프로그래밍되는, 데이터 주석 시스템.
  8. 제1항에 있어서, 상기 입력 데이터세트는 복수의 이미지 프레임들로 구성된 비디오 세그먼트인, 데이터 주석 시스템.
  9. 제8항에 있어서, 상기 컴퓨팅 시스템은 모니터링을 위해 무작위로 선택되는 상기 입력 데이터세트에 응답하여 상기 크라우드 워커 인터페이스를 실행하도록 추가로 프로그래밍되는, 데이터 주석 시스템.
  10. 방법에 있어서,
    머신-러닝 알고리즘에 의해, 입력 데이터세트로부터 미리 결정된 피쳐로서의 피쳐 및 대응하는 신뢰도 수준을 식별하는 단계; 및
    임계값을 초과한 후 저-신뢰도 임계값보다 작게 신뢰도 수준이 감소하는 상기 신뢰도 수준을 사용하여 상기 피쳐를 식별하는 것에 응답하여, 상기 머신-러닝 알고리즘에 의해 식별된 상기 피쳐 및 상기 입력 데이터세트를 디스플레이 화면상에 디스플레이하고 크라우드 워커로부터 피드백을 수신하여 상기 감소의 이유를 식별하도록 크라우드 소싱(crowd sourcing)을 위한 대화식 작업을 생성하는 단계를 포함하는, 방법.
  11. 제10항에 있어서, 상기 대화식 작업의 완료시에 상기 크라우드 워커를 안내하기 위한 명령들을 포함하는 텍스트 대화를 디스플레이 화면상에 디스플레이되도록 하는 단계를 추가로 포함하는, 방법.
  12. 제10항에 있어서, 상기 디스플레이 화면상에 디스플레이되는 상기 감소에 대응하는 상기 입력 데이터세트에 응답하여, 상기 감소를 상기 크라우드 워커에 알리는 상기 디스플레이 화면상에 대화 요소가 디스플레이되게 하는 단계를 추가로 포함하는, 방법.
  13. 제10항에 있어서, 신뢰도 수준에서 유사한 감소가 발생될 것으로 예상되는 피쳐들을 상기 크라우드 워커가 식별하도록 명령하는 대화 요소가 상기 디스플레이 화면상에 디스플레이되도록 하는 단계를 추가로 포함하는, 방법.
  14. 제10항에 있어서, 상기 크라우드 워커로부터 수신된 상기 피드백을 사용하여 상기 머신-러닝 알고리즘을 위한 데이터세트를 업데이트하는 단계를 추가로 포함하는, 방법.
  15. 제10항에 있어서, 모니터링을 위해 무작위로 선택되는 입력 데이터세트에 응답하여, 상기 머신-러닝 알고리즘에 의해 식별된 피쳐들과 입력 데이터세트를 디스플레이 화면상에 디스플레이하고 크라우드 워커로부터 피드백을 수신하여 부정확한 피쳐 식별을 식별하도록 크라우드 소싱을 위한 상기 대화식 작업을 생성하는 단계를 추가로 포함하는, 방법.
  16. 제10항에 있어서, 상기 크라우드 워커가 상기 머신-러닝 알고리즘을 이해하도록 돕기 위해 상기 머신-러닝 알고리즘의 오퍼레이션 세부사항들을 포함하는 대화를 디스플레이되게 하는 단계를 추가로 포함하는. 방법.
  17. 데이터 주석 시스템에 있어서,
    컴퓨팅 시스템으로서,
    입력 데이터세트로부터 미리 결정된 피쳐로서의 피쳐를 식별하도록 프로그래밍된 머신-러닝 알고리즘을 실행하고,
    부정확하게 식별되는 피쳐를 나타내는 조건들의 존재에 응답하여, (i) 크라우드 워커에 의한 완료를 위해 대화식 작업을 생성하고, (ii) 상기 대화식 작업이 상기 크라우드 워커에 의해 개시될 때, 상기 머신-러닝 알고리즘에 의해 식별된 피쳐를 상기 입력 데이터세트상에 오버레이된 미리 결정된 피쳐로서 디스플레이하고 상기 크라우드 워커로부터 피드백을 수신하여 상기 피쳐가 부정확하게 식별된 이유를 식별하도록, 프로그래밍된 크라우드 워커 인터페이스를 실행하도록 프로그래밍된, 상기 컴퓨팅 시스템을 포함하는, 데이터 주석 시스템.
  18. 제17항에 있어서, 상기 크라우드 워커 인터페이스는 상기 머신-러닝 알고리즘의 예측들을 시각적으로 통신하고 관심 영역들을 자연 언어로 식별하도록 추가로 프로그래밍되는, 데이터 주석 시스템.
  19. 제17항에 있어서, 상기 머신-러닝 알고리즘은 상기 미리 결정된 피쳐로서 식별된 피쳐들에 대응하는 신뢰도 수준을 생성하도록 추가로 프로그래밍되고, 부정확하게 식별된 상기 미리 결정된 피쳐를 나타내는 상기 조건들은 저-신뢰도 임계값보다 작은 상기 신뢰도 수준을 포함하는, 데이터 주석 시스템.
  20. 제17항에 있어서, 상기 머신-러닝 알고리즘은 상기 미리 결정된 피쳐로서 식별된 피쳐들에 대응하는 신뢰도 수준을 생성하도록 추가로 프로그래밍되고, 부정확하게 식별된 상기 미리 결정된 피쳐를 나타내는 상기 조건들은 미리 결정된 임계값보다 커진 다음에 저-신뢰도 임계값보다 작은 상기 신뢰도 수준에서 감소되는 상기 신뢰도 수준을 포함하는, 데이터 주석 시스템.
KR1020200065191A 2019-05-31 2020-05-29 머신-러닝과 크라우드-소싱된 데이터 주석을 통합하기 위한 시스템 및 방법 KR20200138074A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US16/428,468 2019-05-31
US16/428,468 US11126847B2 (en) 2019-05-31 2019-05-31 System and method for integrating machine learning and crowd-sourced data annotation

Publications (1)

Publication Number Publication Date
KR20200138074A true KR20200138074A (ko) 2020-12-09

Family

ID=70738412

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200065191A KR20200138074A (ko) 2019-05-31 2020-05-29 머신-러닝과 크라우드-소싱된 데이터 주석을 통합하기 위한 시스템 및 방법

Country Status (4)

Country Link
US (1) US11126847B2 (ko)
EP (1) EP3745301A1 (ko)
KR (1) KR20200138074A (ko)
CN (1) CN112016585A (ko)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021142069A1 (en) * 2020-01-07 2021-07-15 Alegion, Inc. System and method for guided synthesis of training data
US11574246B2 (en) * 2020-01-21 2023-02-07 Microsoft Technology Licensing, Llc Updating training examples for artificial intelligence
US11328178B2 (en) * 2020-03-12 2022-05-10 Fujifilm Business Innovation Corp. System and method for automated photo-ideophone matching and placement
US11049044B1 (en) * 2020-07-07 2021-06-29 Blackshark.Ai Gmbh Visual image annotation utilizing machine learning for in-time feedback
EP4092565A1 (en) * 2021-05-19 2022-11-23 Continental Autonomous Mobility Germany GmbH Device and method to speed up annotation quality check process
WO2024004076A1 (ja) * 2022-06-29 2024-01-04 株式会社Sphia 情報処理システム、情報処理方法およびプログラム

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10382300B2 (en) * 2015-10-06 2019-08-13 Evolv Technologies, Inc. Platform for gathering real-time analysis
US20190385610A1 (en) * 2017-12-08 2019-12-19 Veritone, Inc. Methods and systems for transcription
US10949608B2 (en) * 2018-02-21 2021-03-16 Oracle International Corporation Data feedback interface
US11676062B2 (en) * 2018-03-06 2023-06-13 Samsung Electronics Co., Ltd. Dynamically evolving hybrid personalized artificial intelligence system
US20200019898A1 (en) * 2018-07-13 2020-01-16 Salesforce.Com, Inc. Evaluation of nodes writing to a database

Also Published As

Publication number Publication date
US11126847B2 (en) 2021-09-21
CN112016585A (zh) 2020-12-01
US20200380258A1 (en) 2020-12-03
EP3745301A1 (en) 2020-12-02

Similar Documents

Publication Publication Date Title
US11126847B2 (en) System and method for integrating machine learning and crowd-sourced data annotation
US10474440B2 (en) Computer-vision based execution of graphical user interface (GUI) application actions
KR102139513B1 (ko) 인공지능 vils 기반의 자율주행 제어 장치 및 방법
CN107666987A (zh) 机器人过程自动化
EP3281403A1 (en) Methods and apparatus for augmented reality applications
KR102664916B1 (ko) 익스플레이너블 셀프-포커스드 어텐션을 이용하여 행동 예측을 수행하는 방법 및 장치
JP7031685B2 (ja) モデル学習装置、モデル学習方法及びコンピュータプログラム
US11017690B1 (en) System and method for building computational models of a goal-driven task from demonstration
CN114730407A (zh) 使用神经网络对工作环境中的人类行为进行建模
WO2023164069A1 (en) Methods and systems for training and execution of improved learning systems for identification of components in time-based data streams
US11625608B2 (en) Methods and systems for operating applications through user interfaces
JP2021057031A (ja) 通過可能性のティーチングのための埋め込みおよびサポートベクトルマシン
JP2024524036A (ja) 自律車両テストのためのサポート・ツール
JP2020047007A (ja) 業務分析サーバ、業務分析方法、および業務分析プログラム
KR20230104592A (ko) 센서 데이터의 주석을 다는 방법 및 시스템
NL2025739B1 (en) Artificial intelligence and augmented reality system and method
EP4086855A1 (en) Time-line based object tracking annotation
CN110543304A (zh) 方案实现方法和装置
US11704141B2 (en) Real-time context preserving visual guidance
CN113643590A (zh) 一种积木编程参数输入方法、装置、系统及介质
JP2022056744A (ja) アノテーション装置、アノテーション方法、及び、アノテーションプログラム
CN117043551A (zh) 机器人几何相机校准以及监测警报配置和测试
WO2022248693A1 (en) Tools for performance testing autonomous vehicle planners
KR20240104390A (ko) 객체 검출기 최적화 장치 및 방법
WO2022248701A1 (en) Tools for performance testing autonomous vehicle planners