KR20230018398A - 다중 도메인 데이터 세트를 이용한 기계 학습 예측 생성 - Google Patents

다중 도메인 데이터 세트를 이용한 기계 학습 예측 생성 Download PDF

Info

Publication number
KR20230018398A
KR20230018398A KR1020227043711A KR20227043711A KR20230018398A KR 20230018398 A KR20230018398 A KR 20230018398A KR 1020227043711 A KR1020227043711 A KR 1020227043711A KR 20227043711 A KR20227043711 A KR 20227043711A KR 20230018398 A KR20230018398 A KR 20230018398A
Authority
KR
South Korea
Prior art keywords
matrix
training
input
domain index
training data
Prior art date
Application number
KR1020227043711A
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 KR20230018398A publication Critical patent/KR20230018398A/ko

Links

Images

Classifications

    • 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
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/096Transfer learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • G06N3/0455Auto-encoder networks; Encoder-decoder networks

Landscapes

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

Abstract

방법은 입력 데이터를 나타내는 입력 매트릭스를 획득하는 단계와; 입력 매트릭스의 각각의 개별 입력 값에 대해, 개별 입력값에 대응하는 출력값을 생성하는데 사용될 대응 트레이닝 데이터 분포를 나타내는 대응 도메인 인덱스 값을 포함하는 도메인 인덱스 매트릭스를 결정하는 단계와, 상기 대응 트레이닝 데이터 분포는 복수의 트레이닝 데이터 분포 중 하나이고; 복수의 트레이닝 데이터 분포를 사용하여 출력 매트릭스를 생성하도록 트레이닝된 기계 학습 모델에 상기 입력 매트릭스 및 도메인 인덱스 매트릭스를 제공하는 단계와, 상기 복수의 트레이닝 데이터 분포의 각각의 개별 트레이닝 데이터 분포는 그 복수의 트레이닝 데이터 분포의 다른 트레이닝 데이터 분포의 대응하는 속성과 상이한 속성과 관련되며; 그리고 기계 학습 모델에 의해 입력 매트릭스 및 도메인 인덱스 매트릭스에 기초하여, 입력 매트릭스의 각각의 개별 입력 값에 대해, 대응 출력 값이 상기 대응 트레이닝 데이터 분포의 속성을 나타내도록 (i) 개별 입력 값 및 (i) 대응 트레이닝 데이터 분포에 기초하여 생성된 대응하는 출력 값을 포함하는 출력 매트릭스를 생성하는 단계를 포함한다.

Description

다중 도메인 데이터 세트를 이용한 기계 학습 예측 생성
기계 학습 모델은 다른 가능성 중에서도 이미지, 시계열, 텍스트 및/또는 포인트 클라우드를 비롯하여 다양한 유형의 데이터를 처리하는데 사용될 수 있다. 기계 학습 모델의 개선은 모델이 데이터 처리를 더 빠르게 수행하거나 처리를 위해 더 적은 컴퓨팅 리소스를 사용할 수 있도록 한다.
기계 학습 모델은 복수의 트레이닝 데이터 분포를 사용하여 특정 태스크를 수행하도록 트레이닝될 수 있다. 트레이닝 데이터 분포는 서로 다를 수 있으며 각 트레이닝 데이터 분포는 서로 다른 속성과 관련된다. 기계 학습 모델은 입력 매트릭스와 도메인 인덱스 매트릭스에 기초하여 출력 매트릭스를 생성하도록 구성될 수 있다. 입력 매트릭스는 특정 태스크 수행의 일부로서 기계 학습 모델에 의해 처리될 입력 데이터를 나타낼 수 있다. 도메인 인덱스 매트릭스는 복수의 트레이닝 데이터 분포 각각이 출력 매트릭스에 영향을 미치는 정도(extent)를 제어할 수 있다. 구체적으로, 도메인 인덱스 매트릭스의 각 엘리먼트의 도메인 인덱스 값(들)은 출력 매트릭스의 하나 이상의 대응하는 출력 값의 속성을 제어할 수 있다. 따라서, 출력 매트릭스의 속성은 도메인 인덱스 매트릭스의 도메인 인덱스 값을 변경함으로써 변경될 수 있으며, 속성의 가능한 범위는 복수의 트레이닝 데이터 분포에 기초한다.
제1 예시적인 실시예에서, 방법은 입력 데이터를 나타내는 입력 매트릭스를 획득하는 단계를 포함할 수 있다. 방법은 또한 입력 매트릭스의 각각의 개별 입력 값에 대해, 개별 입력값에 대응하는 출력값을 생성하는데 사용될 대응 트레이닝 데이터 분포를 나타내는 대응 도메인 인덱스 값을 포함하는 도메인 인덱스 매트릭스를 결정하는 단계를 포함할 수 있다. 대응 트레이닝 데이터 분포는 복수의 트레이닝 데이터 분포 중 하나일 수 있다. 방법은 복수의 트레이닝 데이터 분포를 사용하여 출력 매트릭스를 생성하도록 트레이닝된 기계 학습 모델에 상기 입력 매트릭스 및 도메인 인덱스 매트릭스를 제공하는 단계를 추가로 포함할 수 있다. 복수의 트레이닝 데이터 분포의 각각의 개별 트레이닝 데이터 분포는 그 복수의 트레이닝 데이터 분포의 다른 트레이닝 데이터 분포의 대응하는 속성과 상이한 속성과 관련될 수 있다. 방법은 기계 학습 모델에 의해 입력 매트릭스 및 도메인 인덱스 매트릭스에 기초하여, 입력 매트릭스의 각각의 개별 입력 값에 대해, 대응 출력 값이 상기 대응 트레이닝 데이터 분포의 속성을 나타내도록 (i) 개별 입력 값 및 (i) 대응 트레이닝 데이터 분포에 기초하여 생성된 대응하는 출력 값을 포함하는 출력 매트릭스를 생성하는 단계를 추가로 포함할 수 있다.
제2 예시적인 실시예에서, 시스템은 프로세서 및 프로세서에 의해 실행될 때 프로세서로 하여금 제1 예시적인 실시예에 따른 동작들을 수행하게 하는 명령들을 저장한 비-일시적 컴퓨터 판독 가능 매체를 포함할 수 있다.
제3 예시적인 실시예에서, 비-일시적 컴퓨터 판독 가능 매체는 컴퓨팅 디바이스에 의해 실행될 때 컴퓨팅 디바이스로 하여금 제1 실시예에 따른 동작들을 수행하게 하는 명령들을 저장했을 수 있다.
제4 예시적인 실시예에서, 시스템은 제1 예시적인 실시예의 각각의 동작을 수행하기 위한 다양한 수단을 포함할 수 있다.
이들 뿐만 아니라 다른 실시예, 양태, 이점 및 대안은 적절한 경우 첨부된 도면을 참조하여 다음의 상세한 설명을 읽음으로써 당업자에게 명백해질 것이다. 또한, 본 명세서에 제공된 이 요약 및 기타 설명 및 도면은 단지 예로서 실시예를 예시하기 위한 것이며, 따라서 수많은 변형이 가능하다. 예를 들어, 구조적 엘리먼트 및 프로세스 단계들은 청구된 실시예의 범위 내에서 재배열, 결합, 배포, 제거 또는 변경될 수 있다.
도 1은 본 명세서에 기술된 예에 따른 컴퓨팅 디바이스를 도시한다.
도 2는 본 명세서에 기술된 예에 따른 컴퓨팅 시스템을 도시한다.
도 3은 본 명세서에 기술된 예에 따른 트레이닝 데이터 분포를 도시한다.
도 4는 본 명세서에 기술된 예에 따른 시스템을 도시한다.
도 5는 본 명세서에 기술된 예에 따른 입력 매트릭스, 도메인 인덱스 매트릭스 및 출력 매트릭스의 양태를 도시한다.
도 6은 본 명세서에 기술된 예에 따른 트레이닝 시스템을 도시한다.
도 7a는 본 명세서에 기술된 예에 따른 이미지를 도시한다.
도 7B, 7C, 7D 및 7E는 본 명세서에 기술된 예에 따른 깊이 이미지를 도시한다.
도 8은 본 명세서에 기술된 예에 따른 흐름도이다.
예시적인 방법, 디바이스 및 시스템이 본 명세서에 기술되어 있다. "예(example)" 및 "예시적인(exemplary)"이라는 단어는 본 명세서에서 "예, 인스턴스 또는 예시으로서 제공하는 것"을 의미하는 것으로 이해되어야 한다. 본 명세서에서 "예", "예시적인(exemplary)" 및/또는 "예시적인(illustrative)"으로 기술된 임의의 실시예 또는 특징은 그렇게 언급되지 않는 한 반드시 다른 실시예 또는 특징보다 바람직하거나 유리한 것으로 해석되지 않는다. 따라서, 본 명세서에 제시된 주제의 범위를 벗어나지 않고 다른 실시예가 이용될 수 있고 다른 변경이 이루어질 수 있다.
따라서, 본 명세서에 기술된 예시적인 실시예들은 제한하려는 의도가 아니다. 본 명세서에 일반적으로 기술되고 도면에 예시된 바와 같은 본 발명의 양태는 매우 다양한 상이한 구성으로 배열, 대체, 조합, 분리 및 설계될 수 있음을 쉽게 이해할 것이다.
또한, 문맥상 달리 제시되지 않는 한, 각각의 도면에 도시된 특징은 서로 조합하여 사용될 수 있다. 따라서, 도면들은 도시된 모든 특징이 각각의 실시예에 필요한 것은 아니라는 이해와 함께, 일반적으로 하나 이상의 전체 실시예의 구성 요소 측면으로 간주되어야 한다.
추가적으로, 본 명세서 또는 청구범위의 엘리먼트, 블록 또는 단계의 모든 열거는 명확성을 위한 것이다. 따라서, 이러한 열거는 이러한 엘리먼트, 블록 또는 단계가 특정 배열을 고수하거나 특정 순서로 수행되는 것을 요구하거나 암시하는 것으로 해석되어서는 안 된다. 달리 명시되지 않는 한 도면들은 축척에 맞게 그려지지 않는다.
1. 개요
기계 학습 모델은 복수 쌍의 트레이닝 입력 및 대응하는 실측(ground-truth) 출력을 포함하는 대응하는 트레이닝 데이터 세트(즉, 트레이닝 데이터 분포)를 사용하여 태스크를 수행하도록 트레이닝될 수 있다. 일부 경우, 복수의 상이한 트레이닝 데이터 세트가 주어진 태스크에 대해 이용가능할 수 있고, 트레이닝 데이터 세트의 속성은 서로 다를 수 있다. 예를 들어, 제1 트레이닝 데이터 세트는 태스크와 관련된 하나 이상의 제1 조건에 대한 정확한 실측 데이터를 포함할 수 있는 반면, 제2 트레이닝 데이터 세트는 하나 이상의 제1 조건에 대해서는 부정확하지만 하나 이상의 제2 조건에 대해서는 정확한 실측 데이터를 포함할 수 있다. 트레이닝 데이터 세트 간의 이러한 차이는 다른 가능한 요인 중에서도, 트레이닝 데이터를 생성하는데 사용되는 센서의 속성, 센서 데이터를 처리 및/또는 트레이닝 데이터 생성하는데 사용되는 알고리즘의 속성, 트레이닝 데이터의 수동 주석자(annotator) 간의 차이점 및/또는 트레이닝 데이터로 표현되는 다양한 조건의 발생 주파수를 비롯하여 정확한 실측 데이터를 획득하는 것과 관련된 다양한 실제 제약의 결과일 수 있다.
명시적으로 구분하지 않고 다수의 트레이닝 데이터 세트의 합집합을 사용하여 기계 학습 모델을 트레이닝하는 것은 기계 학습 모델 학습으로 인해 이러한 트레이닝 데이터 세트의 실측 평균에 가까운 출력을 생성할 수 있다. 그러나, 주어진 조건에 대한 실측 정보가 트레이닝 데이터 세트 간에 다를 경우, 평균 결과가 부정확할 수 있고, 그 결과 기계 학습 모델에서 일부 조건에서 부정확한 결과가 생성될 수 있다. 따라서, 기계 학습 모델은 기계 학습 모델이 출력 데이터를 생성하는데 사용할 하나 이상의 트레이닝 데이터 세트(기계 학습 모델이 이전에 트레이닝된 것을 기반으로 함)를 명시적으로 나타내기 위해, 추론 시간에 도메인 인덱스 매트릭스가 사용될 수 있도록 대신 트레이닝될 수 있다. 구체적으로, 트레이닝 동안, 기계 학습 모델은 대응하는 트레이닝 샘플이 획득된 트레이닝 데이터 세트를 알릴 수 있다. 따라서, 추론 시간에 기계 학습 모델은 도메인 인덱스 매트릭스에 의해 지정된 트레이닝 데이터 세트(들)와 동일한 속성을 갖는 출력을 생성하도록 구성될 수 있다.
구체적으로, 도메인 인덱스 매트릭스는 그 각각이 하나 이상의 도메인 인덱스 값과 관련될 수 있는 복수의 엘리먼트를 포함할 수 있다. 특정 엘리먼트의 하나 이상의 도메인 인덱스 값은 예를 들어 기계 학습 모델을 트레이닝하는데 사용되는 다양한 트레이닝 데이터 분포와 동일한 수의 값을 포함할 수 있다. 도메인 인덱스 매트릭스의 각 매트릭스 엘리먼트 및 이에 대응하는 하나 이상의 도메인 인덱스 값은 입력 매트릭스의 하나 이상의 입력 값에 대응할 수 있다. 예를 들어, 도메인 인덱스 매트릭스의 주어진 매트릭스 엘리먼트의 도메인 인덱스 값은 예를 들어, 입력 매트릭스의 1개, 2개, 4개, 8개 또는 16개의 대응하는 엘리먼트가 처리되어 출력 매트릭스의 대응하는 출력 값을 생성하는 방식을 제어할 수 있다. 따라서, 하나 이상의 도메인 인덱스 값은 기계 학습 모델에게, 하나 이상의 입력 값에 기초하여 출력 값을 생성할 때 하나 이상의 트레이닝 데이터 분포가 모델링 및/또는 모방될 것임을 나타낼 수 있다. 따라서, 출력 매트릭스의 속성은 도메인 인덱스 매트릭스를 사용하여 서로 다른 트레이닝 데이터 분포가 주어진 픽셀 및/또는 출력 매트릭스의 주어진 픽셀 그룹에 영향을 미치는 정도를 지정함으로써 픽셀 및/또는 픽셀 그룹별로 제어될 수 있다.
일부 구현에서, 기계 학습 모델은 도메인 검출 모델과 조합하여 트레이닝될 수 있다. 도메인 검출 모델은 트레이닝 입력 매트릭스 및 실측 도메인 인덱스 매트릭스에 기초하여 트레이닝 도메인 인덱스 매트릭스를 결정하기 위해 트레이닝 프로세스 동안 사용될 수 있다. 기계 학습 모델은 트레이닝 도메인 인덱스 매트릭스 및 대응하는 트레이닝 입력 매트릭스에 기초하여 트레이닝 출력 매트릭스를 생성하는데 사용될 수 있다. 트레이닝 도메인 인덱스 매트릭스를 사용한 기계 학습 모델의 트레이닝은 기계 학습 모델이 노이즈를 더 잘 처리하고, 다양한 트레이닝 데이터 분포로부터 정보를 집계하고, 및/또는 다양한 트레이닝 데이터 분포의 속성을 혼합하는 출력을 생성하는 방법을 학습하도록 허용할 수 있다.
또한, 기계 학습 모델은 트레이닝의 결과로서, 단일 입력 매트릭스에 기초하여 복수의 상이한 출력 매트릭스를 생성하도록 구성될 수 있으며, 출력 매트릭스 각각은 대응하는 도메인 인덱스 매트릭스와 연관된다. 따라서, 단일 기계 학습 모델은 그 기계 학습 모델을 재트레이닝하는 대신 도메인 인덱스 매트릭스의 값을 조정함으로써 다른 속성을 갖는 출력을 결정론적으로 생성하도록 제어될 수 있다. 추가적으로, 기계 학습 모델은 대응하는 트레이닝 데이터 분포를 사용하여 독립적으로 트레이닝된 다수의 기계 학습 모델의 합보다 더 작을 수 있으므로 더 계산으로 효율적(예를 들어, 더 빠르게 트레이닝, 메모리로부터 검색 및/또는 실행함)일 수 있다. 또한, 기계 학습 모델은 다수의 상이한 트레이닝 데이터 분포에 걸쳐 정보를 집계하기 때문에 기계 학습 모델은 개별적으로 독립적으로 트레이닝된 모델보다 더 정확하고 및/또는 더 높은 품질의 예측을 생성할 수 있다. 따라서 기계 학습 모델은 다수의 기계 학습 모델을 저장하는데 필요한 메모리의 일부보다 작은 메모리의 일부에 저장될 수 있지만 그럼에도 불구하고 독립적으로 트레이닝된 개별 모델에 비해 개선된 예측을 제공할 수 있다. 따라서 기계 학습 모델은 디바이스가 독립적으로 트레이닝된 개별 모델을 배포할 수 없도록 메모리가 제한된 디바이스에 대해 배포될 수 있다.
2. 예시적인 컴퓨팅 디바이스 및 시스템
도 1은 예시적인 컴퓨팅 디바이스(100)를 도시한다. 컴퓨팅 디바이스(100)는 모바일 폰의 폼 팩터로 도시되어 있다. 그러나, 컴퓨팅 디바이스(100)는 다른 가능성 중에서도 랩탑 컴퓨터, 태블릿 컴퓨터 및/또는 웨어러블 컴퓨팅 디바이스로 대안적으로 구현될 수 있다. 컴퓨팅 디바이스(100)는 본체(102), 디스플레이(106) 및 버튼(108 및 110)과 같은 다양한 엘리먼트를 포함할 수 있다. 컴퓨팅 디바이스(100)는 전면 카메라(104) 및 후면 카메라(112)와 같은 하나 이상의 카메라를 더 포함할 수 있다.
전면 카메라(104)는 작동 중에 일반적으로 사용자를 향하는 본체(102)의 측면(예를 들어, 디스플레이(106)과 동일한 측면)에 위치될 수 있다. 후면 카메라(112)는 전면 카메라(104) 반대편 본체(102)의 측면에 위치할 수 있다. 카메라를 전면 및 후면으로 지칭하는 것은 임의적이며, 컴퓨팅 디바이스(100)는 본체(102)의 다양한 측면에 위치한 다수의 카메라를 포함할 수 있다.
디스플레이(106)는 음극선관(CRT) 디스플레이, 발광 다이오드(LED) 디스플레이, 액정(LCD) 디스플레이, 플라즈마 디스플레이, 유기 발광 다이오드(OLED) 디스플레이, 또는 당업계에 알려진 임의의 다른 유형의 디스플레이를 나타낼 수 있다. 일부 예에서, 디스플레이(106)는 전면 카메라(104) 및/또는 후면 카메라(112)에 의해 캡처되는 현재 이미지의 디지털 표현, 이러한 카메라 중 하나 이상에 의해 캡처될 수 있는 이미지, 이러한 카메라 중 하나 이상에 의해 최근에 캡처된 이미지, 및/또는 이러한 이미지 중 하나 이상의 수정된 버전을 디스플레이할 수 있다. 따라서, 디스플레이(106)는 카메라용 뷰파인더 역할을 할 수 있다. 디스플레이(106)는 또한 컴퓨팅 디바이스(100)의 하나 이상의 양태의 설정 및/또는 구성을 조정할 수 있는 터치스크린 기능을 지원할 수 있다.
전면 카메라(104)는 이미지 센서 및 렌즈와 같은 관련 광학 엘리먼트를 포함할 수 있다. 전면 카메라(104)는 줌 기능을 제공하거나 고정된 초점 거리를 가질 수 있다. 다른 예에서, 교체 가능한 렌즈는 전면 카메라(104)와 함께 사용될 수 있다. 전면 카메라(104)는 가변 기계적 조리개와 기계적 및/또는 전자식 셔터를 가질 수 있다. 전면 카메라(104)는 또한 정지 이미지, 비디오 이미지 또는 둘 다를 캡처하도록 구성될 수 있다. 또한, 전면 카메라(104)는 예를 들어 모노스코픽, 스테레오스코픽(입체) 또는 멀티스코픽 카메라를 나타낼 수 있다. 후면 카메라(112)는 유사하거나 다르게 배열될 수 있다. 추가적으로, 전면 카메라(104) 및/또는 후면 카메라(112) 중 하나 이상은 하나 이상의 카메라의 어레이일 수 있다.
전면 카메라(104) 및/또는 후면 카메라(112) 중 하나 이상은 타겟 객체를 조명하기 위해 광 필드(light field)를 제공하는 조명 컴포넌트를 포함하거나 이와 연관될 수 있다. 예를 들어, 조명 컴포넌트는 타겟 개체의 플래시 또는 지속적인 조명을 제공할 수 있다. 조명 컴포넌트는 또한 구조광(structured light), 편광 및 특정 스펙트럼 컨텐츠를 갖는 광 중 하나 이상을 포함하는 광 필드를 제공하도록 구성될 수 있다. 객체로부터 3차원(3D) 모델을 복구하기 위해 알려지고 사용되는 다른 유형의 광 필드가 본 명세서의 예의 맥락내에서 가능하다.
컴퓨팅 디바이스(100)는 또한 카메라(104 및/또는 112)가 캡처할 수 있는 장면의 주변 밝기를 연속적으로 또는 때때로 결정할 수 있는 주변광 센서를 포함할 수 있다. 일부 구현에서, 주변광 센서는 디스플레이(106)의 디스플레이 밝기를 조정하는데 사용될 수 있다. 추가적으로, 주변광 센서는 하나 이상의 카메라(104 또는 112)의 노출 길이를 결정하거나 이러한 결정을 돕기 위해 사용될 수 있다.
컴퓨팅 디바이스(100)는 디스플레이(106)와 전면 카메라(104) 및/또는 후면 카메라(112)를 사용하여 타겟 객체의 이미지를 캡처하도록 구성될 수 있다. 캡처된 이미지는 복수의 정지 이미지 또는 비디오 스트림일 수 있다. 이미지 캡처는 버튼(108)을 활성화하거나 디스플레이(106)의 소프트키를 누르거나 다른 메커니즘에 의해 트리거될 수 있다. 구현에 따라, 이미지는 특정 시간 간격으로, 예를 들어 버튼(108)을 누를 때, 타겟 객체의 적절한 조명 조건에서, 컴퓨팅 디바이스(100)를 사전 결정된 거리로 이동하거나 또는 사전 결정된 캡처 스케줄에 따라 자동으로 캡처될 수 있다.
도 2는 예시적인 컴퓨팅 시스템(200)의 컴포넌트 중 일부를 보여주는 단순화된 블록도이다. 예로서 그리고 제한 없이, 컴퓨팅 시스템(200)은 셀룰러 모바일 전화(예를 들어, 스마트폰), 컴퓨터(예를 들어 데스크탑, 노트북, 태블릿 또는 핸드헬드 컴퓨터), 홈 자동화 컴포넌트, 디지털 비디오 레코더(DVR), 디지털 텔레비전, 리모콘, 웨어러블 컴퓨팅 디바이스, 게임 콘솔, 로봇 디바이스, 차량 또는 기타 유형의 디바이스일 수 있다. 컴퓨팅 시스템(200)은 예를 들어 컴퓨팅 디바이스(100)의 양태를 나타낼 수 있다.
도 2에 도시낸 바와 같이, 컴퓨팅 시스템(200)은 통신 인터페이스(202), 사용자 인터페이스(204), 프로세서(206), 데이터 저장소(208) 및 카메라 컴포넌트(224)를 포함할 수 있으며, 이들 모두는 시스템 버스, 네트워크 또는 다른 연결 메커니즘(210)에 의해 함께 통신적으로 링크될 수 있다. 컴퓨팅 시스템(200)은 적어도 일부 이미지 캡처 및/또는 이미지 처리 기능을 갖추고 있을 수 있다. 컴퓨팅 시스템(200)은 컴퓨팅 시스템(200)은 물리적 이미지 처리 시스템, 이미지 감지 및/또는 처리 애플리케이션이 소프트웨어에서 작동하는 특정 물리적 하드웨어 플랫폼, 또는 이미지 캡처 및/또는 처리 기능을 수행하도록 구성된 하드웨어와 소프트웨어의 다른 조합을 나타낼 수 있음을 이해해야 한다.
통신 인터페이스(202)는 컴퓨팅 시스템(200)이 아날로그 또는 디지털 변조를 사용하여 다른 디바이스, 액세스 네트워크 및/또는 전송 네트워크와 통신할 수 있게 한다. 따라서, 통신 인터페이스(202)는 기존 전화 서비스(POTS) 통신 및/또는 인터넷 프로토콜(IP) 또는 다른 패킷화된 통신과 같은 회선 교환 및/또는 패킷 교환 통신을 용이하게 할 수 있다. 예를 들어, 통신 인터페이스(202)는 무선 접속 네트워크 또는 액세스 포인트와의 무선 통신을 위해 배열된 칩셋 및 안테나를 포함할 수 있다. 또한, 통신 인터페이스(202)는 이더넷, 범용 직렬 버스(USB) 또는 고선명 멀티미디어 인터페이스(HDMI) 포트와 같은 유선 인터페이스의 형태를 취하거나 이를 포함할 수 있다. 통신 인터페이스(202)는 또한 Wi-Fi, 블루투스, GPS 또는 광역 무선 인터페이스(예를 들어, 와이멕스 3GPP 롱텀 에볼루션(LTE)와 같은 무선 인터페이스의 형태를 취하거나 포함할 수 있다. 그러나, 다른 형태의 물리적 계층 인터페이스 및 다른 유형의 표준 또는 독점 통신 프로토콜이 통신 인터페이스(202)를 통해 사용될 수 있다. 게다가, 통신 인터페이스(202)는 다수의 물리적 통신 인터페이스(예를 들어, Wi-Fi 인터페이스, 블루투스 인터페이스 및 광역 무선 인터페이스)를 포함할 수 있다.
사용자 인터페이스(204)는 컴퓨팅 시스템(200)이 사용자로부터 입력을 수신하고 사용자에게 출력을 제공하는 것과 같이 인간 또는 인간이 아닌 사용자와 상호 작용할 수 있도록 기능할 수 있다. 따라서, 사용자 인터페이스(204)는 키패드, 키보드, 터치 감지 패널, 컴퓨터 마우스, 트랙볼, 조이스틱, 마이크로폰 등과 같은 입력 컴포넌트를 포함할 수 있다. 사용자 인터페이스(204)는 또한 예를 들어 터치 감지 패널과 결합될 수 있는 디스플레이 스크린과 같은 하나 이상의 출력 컴포넌트를 포함할 수 있다. 디스플레이 스크린은 CRT, LCD 및/또는 LED 기술, 또는 현재 알려져 있거나 나중에 개발될 다른 기술에 기초할 수 있다. 사용자 인터페이스(204)는 또한 스피커, 스피커 잭, 오디오 출력 포트, 오디오 출력 디바이스, 이어폰 및/또는 다른 유사한 디바이스를 통해 가청 출력(들)을 생성하도록 구성될 수 있다. 사용자 인터페이스(204)는 또한 마이크로폰 및/또는 다른 유사한 디바이스를 통해 가청 발언(들), 잡음(들) 및/또는 신호(들)를 수신 및/또는 캡처하도록 구성될 수 있다.
일부 예에서, 사용자 인터페이스(204)는 컴퓨팅 시스템(200)에 의해 지원되는 스틸 카메라 및/또는 비디오 카메라 기능을 위한 뷰파인더 역할을 하는 디스플레이를 포함할 수 있다. 추가적으로, 사용자 인터페이스(204)는 카메라 기능의 구성 및 포커싱 및 이미지 캡처를 용이하게 하는 하나 이상의 버튼, 스위치, 노브 및/또는 다이얼을 포함할 수 있다. 이러한 버튼, 스위치, 노브 및/또는 다이얼의 일부 또는 전부가 터치 감지 패널을 통해 구현될 수 있다.
프로세서(206)는 하나 이상의 범용 프로세서(예를 들어, 마이크로프로세서) 및/또는 하나 이상의 특수 목적 프로세서(예를 들어, 디지털 신호 프로세서(DSP), 그래픽 처리 디바이스(GPU), 부동 소수점 디바이스(FPU), 네트워크 프로세서, 또는 주문형 집적 회로(ASIC)를 포함할 수 있다. 일부 경우, 특수 목적 프로세서는 다른 가능성 중에서도, 이미지 처리, 이미지 정렬 및 이미지 병합이 가능할 수 있다. 데이터 저장소(208)는 자기, 광학, 플래시 또는 유기 저장소와 같은 하나 이상의 휘발성 및/또는 비-휘발성 저장 컴포넌트를 포함할 수 있으며 프로세서(206)와 전체적으로 또는 부분적으로 통합될 수 있다. 데이터 저장소(208)는 이동식 및/또는 비-이동식 컴포넌트를 포함할 수 있다.
프로세서(206)는 본 명세서에 설명된 다양한 기능을 수행하기 위해 데이터 저장소(208)에 저장된 프로그램 명령(218)(예를 들어, 컴파일되거나 컴파일되지 않은 프로그램 로직 및/또는 머신 코드)을 실행할 수 있다. 따라서, 데이터 저장소(208)는 컴퓨팅 시스템(200)에 의해 실행될 때 컴퓨팅 시스템(200)으로 하여금 본 명세서 및/또는 첨부 문서에 개시된 방법, 프로세스 또는 동작 중 어느 하나를 수행하게 하는 프로그램 명령들을 저장한 비-일시적 컴퓨터 판독 가능 매체를 포함할 수 있다. 프로세서(206)에 의한 프로그램 명령들(218)의 실행은 프로세서(206)가 데이터(212)를 사용하게 할 수 있다.
예를 들어, 프로그램 명령(어)(218)은 운영 체제(222)(예를 들어, 운영 체제 커널, 디바이스 드라이버(들) 및/또는 다른 모듈) 및 컴퓨팅 시스템(200)에 설치된 하나 이상의 애플리케이션 프로그램(220)(예를 들어, 카메라 기능, 주소록, 이메일, 웹 브라우징, 소셜 네트워킹, 오디오-텍스트 기능, 텍스트 번역 기능 및/또는 게임 애플리케이션)을 포함할 수 있다. 운영 체제 데이터(216)는 운영 체제(222)에 주로 액세스 가능할 수 있고, 애플리케이션 데이터(214)는 하나 이상의 애플리케이션 프로그램(220)에 주로 액세스 가능할 수 있다. 애플리케이션 데이터(214)는 컴퓨팅 시스템(200)의 사용자에게 보이거나 숨겨진 파일 시스템에 배열될 수 있다.
애플리케이션 프로그램(220)은 하나 이상의 애플리케이션 프로그래밍 인터페이스(API)를 통해 운영 체제(222)와 통신할 수 있다. 이러한 API는 예를 들어 애플리케이션 프로그램(220)이 애플리케이션 데이터(214)를 읽고/쓰거나, 통신 인터페이스(202)를 통해 정보를 전송 또는 수신하고, 사용자 인터페이스(204)에서 정보를 수신 및/또는 디스플레이하는 것을 용이하게 할 수 있다.
일부 경우에, 애플리케이션 프로그램(220)은 간단히 "앱"으로 지칭될 수 있다. 추가적으로, 애플리케이션 프로그램(220)은 하나 이상의 온라인 애플리케이션 스토어 또는 애플리케이션 마켓을 통해 컴퓨팅 시스템(200)으로 다운로드 가능할 수 있다. 그러나, 애플리케이션 프로그램은 웹 브라우저를 통하거나 컴퓨팅 시스템(200) 상의 물리적 인터페이스(예를 들어, USB 포트)를 통하는 것과 같이 다른 방식으로 컴퓨팅 시스템(200)에 설치될 수도 있다.
카메라 컴포넌트(224)는 조리개, 셔터, 기록면(예를 들어, 사진 필름 및/또는 이미지 센서), 렌즈, 셔터 버튼, 적외선 프로젝터 및/또는 가시 광선 프로젝터를 포함할 수 있지만 이에 한정되지 않는다. 카메라 컴포넌트(224)는 다른 가능성 중에서도, 가시광선 스펙트럼(예를 들어, 파장이 380~700나노미터인 전자기 방사선)에서 이미지를 캡처하도록 구성된 컴포넌트 및/또는 적외선 스펙트럼(예를 들어, 701 나노미터-1 밀리미터의 파장을 갖는 전자기 방사선)에서 이미지를 캡처하도록 구성된 컴포넌트를 포함할 수 있다. 카메라 컴포넌트(224)는 프로세서(206)에 의해 실행되는 소프트웨어에 의해 적어도 부분적으로 제어될 수 있다.
3. 예시적인 트레이닝 데이터 분포
도 3은 각각이 특정 태스크를 수행하기 위해 기계 학습 모델을 트레이닝시키는데 사용될 수 있는 복수의 트레이닝 데이터 분포를 도시한다. 구체적으로, 도 3은 트레이닝 데이터 분포(300), 트레이닝 데이터 분포(320) 및 트레이닝 데이터 분포(340)를 포함하며, 이들은 집합적으로 트레이닝 데이터 분포(300-340)로 지칭될 수 있다. 각각의 트레이닝 데이터 분포는 대응하는 복수의 트레이닝 샘플을 포함할 수 있다. 구체적으로, 트레이닝 데이터 분포(300)는 트레이닝 샘플(302)을 포함할 수 있고, 트레이닝 데이터 분포(320)는 트레이닝 샘플(322)을 포함할 수 있으며, 트레이닝 데이터 분포(340)는 트레이닝 샘플(342)을 포함할 수 있다. 트레이닝 샘플(302, 322, 342)의 각각의 개별 트레이닝 샘플은 대응하는 트레이닝 입력 및 대응하는 실측 출력을 포함할 수 있다.
트레이닝 데이터 분포(300-340)는 하나 이상의 속성에서 서로 다를 수 있다. 구체적으로, 트레이닝 데이터 분포(300)는 속성(304)과 연관될 수 있고, 트레이닝 데이터 분포(320)는 속성(324)과 연관될 수 있으며, 트레이닝 데이터 분포(340)는 속성(344)과 연관될 수 있다. 일부 경우에, 속성(304, 324, 344)은 개별 트레이닝 데이터 분포의 일부로서 명시적으로 표현 및/또는 표시될 수 있다. 다른 경우에, 속성(304, 324, 344)은 대신에 각각 트레이닝 샘플(302, 322, 342)의 일부로서 고유하게 존재할 수 있지만 명시적으로 표현 및/또는 표시되지 않을 수 있다. 따라서, 속성(304, 324, 344)은 파선으로 표시된다.
속성(304)은 다른 가능성 중에서도, 예를 들어 실측 데이터 정확도(306), 주파수 컨텐츠(308), 통계 속성(310), 특징 클래스(312) 및 데이터 소스(314)를 포함할 수 있다. 마찬가지로, 속성(324)은 실측 데이터 정확도(326), 주파수 컨텐츠(328), 통계 속성(330), 특징 클래스(332) 및 데이터 소스(334)를 포함할 수 있는 반면, 속성(344)은 실측 데이터 정확도(346), 주파수 컨텐츠(348), 통계 속성(350), 특징 클래스(352), 및 데이터 소스(354)를 포함할 수 있다.
실측 데이터 정확도(306)는 샘플(302)에 의해 표현된 실측 데이터의 정확도 또는 정확성의 정도를 나타낼 수 있다. 일부 경우, 실측 데이터 정확도(306)는 하나 이상의 다른 속성에 기초하여 및/또는 하나 이상의 다른 속성의 기능에 따라 변할 수 있다. 주파수 컨텐츠(308)는 대응하는 트레이닝 입력으로 표현되는 주파수 및/또는 트레이닝 샘플(302)로 표현되는 실측 출력을 나타낼 수 있다. 일 예에서, 트레이닝 샘플(302)이 이미지 데이터를 나타낼 때, 주파수 컨텐츠(308)는 이미지 데이터에 존재하는 공간 주파수 컨텐츠를 나타낼 수 있다. 다른 예에서, 트레이닝 샘플(302)이 오디오 데이터를 나타낼 때, 주파수 컨텐츠(308)는 오디오 주파수 컨텐츠를 나타낼 수 있다.
통계적 특성(310)은 트레이닝 샘플(302)에 의해 표현되는 대응하는 트레이닝 입력 및/또는 실측 출력의 하나 이상의 통계적 특성을 나타낼 수 있다. 통계적 특성(310)은 샘플(302)의 다양한 양태의 다른 것 중에서도 평균, 중앙값(median), 모드, 범위(range), 분산 및/또는 표준 편차를 포함할 수 있다. 특징 클래스(312)는 트레이닝 샘플(302)에 존재하는 특징들의 트레이닝 샘플(302)로 표현되는 하나 이상의 분류를 나타낼 수 있다. 특징에는 예를 들어 객체, 사운드, 단어 및/또는 그의 패턴이 포함될 수 있고 트레이닝 샘플(302)에 의해 표현되는 데이터 유형(예를 들어, 이미지, 오디오, 텍스트 등)에 따라 달라질 수 있다. 데이터 소스(314)는 트레이닝 샘플(302)이 획득된 소스 및/또는 트레이닝 샘플(302)이 생성된 소스를 나타낼 수 있다. 데이터 소스(314)는 다른 가능성 중에서도, 예를 들어 샘플(302) 생성에 관련된 센서의 유형, 샘플(302) 생성에 관련된 알고리즘 및/또는 트레이닝 데이터 분포(300)와 관련된 고유 식별자를 나타낼 수 있다.
일 예에서, 트레이닝 데이터 분포(300, 320, 340)는 기계 학습 모델이 대응하는 모노스코픽 이미지에 기초하여 깊이 이미지를 생성하는 것을 학습하게 할 수 있다. 트레이닝 샘플(302, 322, 342)은 각각 (i) 개별 트레이닝 모노스코픽 이미지(예를 들어, RGB(red-green-blue) 이미지) 및 (ii) 대응하는 실측 깊이 이미지의 복수의 쌍을 포함할 수 있다. 대응하는 실측 깊이 이미지는 예를 들어, 깊이 정보의 결정을 허용하는 복수의 상이한 입력 이미지 데이터 중 하나에 기초하여 및/또는 복수의 상이한 깊이 결정 알고리즘 중 하나를 사용하여 깊이 데이터를 결정하기 위해 입력 이미지 데이터를 처리함으로써 각각의 트레이닝 샘플에 대한 복수의 방식 중 각각의 방식으로 생성되었을 수 있다. 예를 들어, 트레이닝 샘플(302)에 대해, 실측 깊이 이미지는 하나 이상의 스테레오스코픽(입체) 카메라로부터 획득된 스테레오스코픽 이미지 데이터 및/또는 시차 데이터에 기초하여 생성되었을 수 있다. 트레이닝 샘플(322)에 대해, 실측 깊이 이미지는 하나 이상의 다중 픽셀 카메라에 의해 생성된 다중 픽셀(예를 들어, 이중 픽셀) 이미지에 기초하여 생성되었을 수 있다. 트레이닝 샘플(342)에 대해, 실측 깊이 이미지는 란플트(Ranflt)에 의해 작성되었으며 arXiv:1907.01341v3로 게시된 "Towards Robust Monocular Depth Estimation: Mixing Datasets for Zero-shot Cross-dataset Transfer""라는 제목의 논문에서 논의된 MiDaS 모델과 같은 다른 기계 학습 모델에 의한 복수의 모노스코픽 이미지 처리에 기초하여 생성되었을 수 있다.
따라서, 트레이닝 샘플(302)은 고주파수 컨텐츠를 포함하는 실측 깊이 이미지를 포함할 수 있고, 따라서 다양한 특징의 깊이를 상세하게 나타낼 수 있다. 트레이닝 샘플(302)은 또한 노이즈를 포함할 수 있고, 따라서 다양한 특징의 일부 부분의 깊이를 부정확하게 나타낼 수 있다. 트레이닝 샘플(322)은 텍스처링된 특징(예를 들어, 고주파 컨텐츠가 있는 이미지 영역)의 깊이를 정확하게 나타내는 실측 이미지를 포함할 수 있지만, 텍스처가 거의 없거나 전혀 없는 기능 또는 영역(예를 들어, 저주파 컨텐츠가 있는 이미지 영역)에 대해서는 정확하지 않을 수 있다. 트레이닝 샘플(342)은 일반적으로 정확하지만 상대적으로 낮은 주파수에서 깊이를 나타내므로 높은 주파수 세부 사항이 없는 실측 이미지를 포함할 수 있다.
따라서, 각각의 트레이닝 데이터 분포(300, 320, 340)는 제1 황경/조건 세트 하에서 비교적 정확할 수 있고, 제2 세트 환경/조건 하에서는 상대적으로 덜 정확할 수 있다. 트레이닝 데이터 분포(300)를 사용하여 트레이닝된 기계 학습 모델은 트레이닝 데이터 분포(300)의 속성을 나타내는 출력을 생성할 수 있고, 트레이닝 데이터 분포(320)를 사용하여 트레이닝된 기계 학습 모델은 트레이닝 데이터 분포(320)의 속성을 나타내는 출력을 생성할 수 있으며, 트레이닝 데이터 분포(340)를 사용하여 트레이닝된 기계 학습 모델은 트레이닝 데이터 분포(340)의 속성을 나타내는 출력을 생성할 수 있다.
트레이닝 데이터 분포(300, 320, 340)의 합집합을 나타내는 결합된 데이터 세트를 사용하여 트레이닝된 기계 학습 모델은 이러한 데이터 분포와 관련된 실측의 대략적인 평균을 예측하도록 학습할 수 있다. 이것은 두 개의 트레이닝 데이터 분포가 상당히 다른 경우 하나의 분포가 정확한 실측 출력을 나타내고 다른 분포가 부정확한 실측 출력을 나타내더라도 결과 평균이 부정확할 수 있기 때문에 바람직하지 않을 수 있다. 단순히 결합된 데이터 세트를 사용하여 기계 학습 모델을 트레이닝하는 대신, 기계 학습 모델은 대신 주어진 트레이닝 샘플이 속한 분포를 인식하도록 트레이닝될 수 있으며 따라서 출력의 다른 부분이 다른 트레이닝 데이터 분포를 기반으로 하는 정도를 결정론적으로 제어할 수 있다.
4. 기계 학습 모델에 대한 도메인 선택이 포함된 예시적인 시스템
도 4는 출력을 생성하기 위해 기계 학습 모델에 의해 다수의 상이한 트레이닝 데이터 분포가 사용되는 방법에 대한 제어를 허용하도록 구성될 수 있는 시스템(400)을 도시한다. 구체적으로, 시스템(400)은 기계 학습 모델(404) 및 도메인 인덱스 매트릭스 생성기(406)를 포함할 수 있다. 시스템(400)은 입력 매트릭스(402)에 기초하여 출력 매트릭스(410)를 생성하도록 구성될 수 있다. 시스템(400)은 하드웨어, 소프트웨어 또는 이들의 조합으로 구현될 수 있다. 예를 들어, 시스템(400)은 컴퓨팅 디바이스(100) 및/또는 컴퓨팅 시스템(200)에 의해 구현될 수 있다.
입력 매트릭스(402) 및/또는 출력 매트릭스(410)는 매트릭스로 표현될 수 있는 다른 유형의 데이터 중에서도 예를 들어 이미지, 포인트 클라우드, 텍스트 및/또는 파형을 포함하는 다양한 유형의 데이터를 나타낼 수 있다. 예를 들어, 입력 매트릭스(402)는 입력 이미지(예를 들어, 입력 이미지의 픽셀과 관련된 복수의 값을 나타냄)를 나타낼 수 있는 반면, 출력 매트릭스(410)는 입력 이미지에 기초하여 생성되고 입력 이미지에 추가 컨텐츠를 포함하는 출력 이미지를 나타낼 수 있다. 입력 매트릭스(402) 및 출력 매트릭스(410)는 1 이상의 랭크를 갖는 텐서의 대표적인 예로 볼 수 있다. 예를 들어, 매트릭스(402 및/또는 410)는 H×1(즉, 열 벡터), 1×W(즉, 행 벡터), H×W(즉, 매트릭스 또는 랭크-2 텐서), H×W×D(즉, 랭크-3 텐서)의 차원을 가질 수 있다. 입력 매트릭스(402) 및/또는 출력 매트릭스(410)의 차원은 다른 요인 중에서도 그에 의해 표현되는 데이터의 유형, 기계 학습 모델(404)의 아키텍처/구조, 및/또는 기계 학습 모델(404)에 의해 수행되는 태스크에 따라 달라질 수 있다.
기계 학습 모델(404)은 입력 매트릭스(402) 및 도메인 인덱스 매트릭스(408)에 기초하여 출력 매트릭스(410)를 생성하기 위해 복수의 트레이닝 데이터 분포(예를 들어, 300, 320 및 340)를 사용하여 트레이닝되었을 수 있다. 구체적으로, 도메인 인덱스 매트릭스(408)는 출력 매트릭스(410)의 상이한 부분을 생성하는데 사용될 복수의 트레이닝 데이터 분포 중 하나 이상의 선택을 허용할 수 있다. 즉, 도메인 인덱스 매트릭스(408)를 사용하여, 기계 학습 모델(404)은 예를 들어 제1 트레이닝 데이터 분포의 속성을 나타내는 출력 매트릭스(410)의 제1 부분 및 상이한 트레이닝 데이터 분포의 속성을 나타내는 출력 매트릭스(410)의 제2 부분을 생성하도록 제어될 수 있다. 복수의 트레이닝 데이터 분포의 각각의 트레이닝 데이터 분포는 자신의 도메인을 정의하는 것으로 간주될 수 있으므로 도메인 인덱스 값에 의해 식별 및/또는 연관될 수 있다.
도메인 인덱스 매트릭스 생성기(406)는 복수의 도메인 인덱스 값을 포함할 수 있는 도메인 인덱스 매트릭스(408)를 생성하도록 구성될 수 있다. 도메인 인덱스 매트릭스(408)는 입력 매트릭스(402)의 각각의 개별 입력 값에 대해, 각각의 입력 값에 대응하는 출력 값을 생성하는데 사용될 대응하는 트레이닝 데이터 분포를 나타내는 대응 도메인 인덱스 값을 포함할 수 있다. 대응하는 트레이닝 데이터 분포는 기계 학습 모델(404)을 트레이닝시키는데 사용되었던 복수의 트레이닝 데이터 분포 중 하나일 수 있다. 도메인 인덱스 매트릭스(408)의 각각의 도메인 인덱스 값은 입력 매트릭스(402)의 하나 이상의 대응하는 입력 값과 연관될 수 있다. 따라서, 도메인 인덱스 매트릭스(408)는 출력 매트릭스(410)를 생성하는데 사용되는 트레이닝 데이터 분포를 픽셀 단위(하나의 도메인 인덱스 값이 하나의 대응하는 출력 값을 제어함) 또는 픽셀 그룹 단위(하나의 도메인 인덱스 값이 두 개 이상의 대응하는 출력 값을 제어함)로 제어할 수 있다.
일부 구현에서, 대응하는 도메인 인덱스 값은 예를 들어, 대응하는 단일 트레이닝 데이터 분포를 나타내는 단일 정수 값일 수 있다. 예를 들어, 도메인 인덱스 값은 트레이닝 데이터 분포가 300, 320, 340임을 각각 나타내는 1, 2, 3일 수 있다. 따라서, 대응하는 도메인 인덱스 값은 각각의 입력 값에 대응하는 출력 값을 생성하는데 사용될 단일 트레이닝 데이터 분포를 선택하는데 사용될 수 있다. 예를 들어, 도메인 인덱스 매트릭스(408)의 주어진 엘리먼트에 도메인 인덱스 값 2가 할당되는 경우, 기계 학습 모델(404)은 도메인 인덱스 매트릭스(408)의 주어진 엘리먼트에 대응하는 입력 매트릭스(402)의 입력 값에 기초하여 출력 매트릭스(410)의 출력 값을 생성하기 위해, 트레이닝 데이터 분포(320)를 사용하도록 구성될 수 있지만 트레이닝 데이터 분포(300 또는 340)는 사용하지 않는다.
다른 구현에서, 대응하는 도메인 인덱스 값은 복수의 도메인 값을 포함할 수 있고, 복수의 도메인 인덱스 값의 각각의 개별 도메인 인덱스 값은 개별 입력 값에 대응하는 출력 값을 생성하는데 사용될 대응하는 트레이닝 데이터 분포의 정도를 나타낸다. 따라서, 도메인 인덱스 매트릭스(408)의 각 엘리먼트는 단일 도메인 인덱스 값이 아니라 복수의 도메인 인덱스 값과 연관될 수 있다. 예를 들어, 도메인 인덱스 매트릭스(408)의 각 엘리먼트는 트레이닝 데이터 분포(300, 320, 340)가 대응하는 출력 값을 생성하는데 사용될 정도를 각각 나타내는 제1 도메인 인덱스 값, 제2 도메인 인덱스 값 및 제3 도메인 인덱스 값을 포함할 수 있다. 따라서, 각 엘리먼트의 복수의 도메인 인덱스 값은 개별 입력 값에 대응하는 출력 값을 생성하기 위해 기계 학습 모델(404)에 의해 수행될 트레이닝 데이터 분포(300, 320 및 340)의 블렌딩(혼합)을 지정할 수 있다.
일부 구현에서, 도메인 인덱스 매트릭스 생성기(406)는 사용자가 도메인 인덱스 매트릭스(408)의 적어도 일부를 지정할 수 있도록 구성된 사용자 인터페이스를 포함할 수 있다. 예를 들어, 사용자는 (예를 들어, 입력 매트릭스(402)에 의해 표현된 이미지를 봄으로써) 입력 매트릭스(402)의 수동 검사에 기초하여, 입력 매트릭스(402)의 하나 이상의 속성을 식별할 수 있고, 이러한 속성에 기초하여 도메인 인덱스 매트릭스(408)에 대한 하나 이상의 도메인 인덱스 값을 지정할 수 있다. 사용자는 하나 이상의 속성 및/또는 유사 속성과 관련된 트레이닝 데이터 분포가 출력 매트릭스(410)의 대응하는 부분을 생성하는데 사용되도록 이러한 도메인 인덱스 값을 선택할 수 있다. 도메인 인덱스 값의 다른 세트를 선택함으로써, 사용자는 기계 학습 모델(404)을 재트레이닝하지 않고 단일 입력 매트릭스에 기초하여 상이한 출력 매트릭스를 생성하기 위해 기계 학습 모델(404)을 사용할 수 있다.
다른 구현에서, 도메인 인덱스 매트릭스 생성기(406)는 입력 매트릭스(402)에 기초하여, 입력 매트릭스(402)의 하나 이상의 속성을 자동으로 결정하고, 이러한 속성에 기초하여 도메인 인덱스 매트릭스(408)에 대한 하나 이상의 도메인 인덱스 값을 생성하도록 구성될 수 있다. 예를 들어, 도메인 인덱스 매트릭스 생성기(406)는 입력 매트릭스(402)의 주파수 컨텐츠, 통계적 특성, 특징 클래스 및/또는 데이터 소스를 결정 및/또는 근사화하도록 구성될 수 있다. 도메인 인덱스 매트릭스 생성기(406)는 하나 이상의 속성 및/또는 유사 속성과 관련된 트레이닝 데이터 분포가 출력 매트릭스(410)의 대응하는 부분을 생성하는데 사용되는 반면, 유사하지 않은 속성을 갖는 트레이닝 데이터 분포는 출력 매트릭스(410)의 대응하는 부분을 생성하는데 사용되지 않도록 하나 이상의 도메인 인덱스 값을 생성할 수 있다.
도 5는 입력 매트릭스(402), 도메인 인덱스 매트릭스(408) 및 출력 매트릭스(410)의 시각적 예를 제공한다. 구체적으로, 도 5는 입력 매트릭스(402)의 예를 제공하는 6×6 입력 매트릭스(502), 도메인 인덱스 매트릭스(408)의 예를 제공하는 3×3 도메인 인덱스 매트릭스(508) 및 출력 매트릭스(410)의 예를 제공하는 6×6 출력 매트릭스(510)를 포함한다. 입력 매트릭스(502)는 대응하는 입력 값을 갖는 매트릭스 엘리먼트(520, 522, 524, 526)를 포함한다. 출력 매트릭스(510)는 대응하는 출력 값을 갖는 매트릭스 엘리먼트(540, 542, 544, 546)를 포함한다. 도메인 인덱스 매트릭스(508)는 도시된 예에서 복수의 도메인 인덱스 값(532)을 포함하는 매트릭스 엘리먼트(530)를 포함한다.
도시된 예에서, 도메인 인덱스 매트릭스(508)의 각각의 개별 엘리먼트(및 그와 관련된 도메인 인덱스 값(들))는 이들 엘리먼트의 음영으로 표시되는 바와같이, 입력 매트릭스(502)의 대응하는 4개 엘리먼트 및 출력 매트릭스(510)의 대응하는 4개의 엘리먼트에 매핑된다. 구체적으로, 도메인 인덱스 매트릭스(508)의 매트릭스 엘리먼트(530)의 값(들)은 매트릭스 엘리먼트(520, 522, 524, 526)의 입력 값에 기초하여 매트릭스 엘리먼트(540, 542, 544, 546)의 출력 값을 생성하는데 어떤 트레이닝 데이터 분포(들)가 사용될 것인지 기계 학습 모델(404)에 지시한다. 일부 구현에서, 도메인 인덱스 매트릭스(508)는 입력 매트릭스(502) 및/또는 출력 매트릭스(510)와 관련하여 상이한 크기를 가질 수 있다. 따라서, 도메인 인덱스 매트릭스(508)의 각각의 매트릭스 엘리먼트의 값은 입력 매트릭스(502) 및/또는 출력 매트릭스(510)의 더 적거나(예를 들어, 1) 또는 더 많은(예를 들어, 8) 매트릭스 엘리먼트에 대응할 수 있다.
도메인 인덱스 값(532)은 값(DI1, DI2 및 DI3 내지 DIN)(즉, 도메인 인덱스 값 DI1-DIN)을 포함할 수 있으며, 이들 각각은 대응하는 트레이닝 데이터 분포와 연관될 수 있다. 구체적으로, 도메인 인덱스 값(DI1)은 제1 트레이닝 데이터 분포(예를 들어, 트레이닝 데이터 분포(300))에 대응할 수 있고, 도메인 인덱스 값(DI2)은 제2 트레이닝 데이터 분포(예를 들어, 트레이닝 데이터 분포(320))에 대응할 수 있으며, 도메인 인덱스 값(DI3)은 제3 트레이닝 데이터 분포(예를 들어, 트레이닝 데이터 분포(340))에 대응할 수 있고, 도메인 인덱스 값(DIN)은 제N 트레이닝 데이터 분포에 대응할 수 있다.
각 도메인 인덱스 값(DI1-DIN)은 사전 결정된 범위(예를 들어, RMIN = 0 ~ RMAX = 1)로부터 선택될 수 있으며, 따라서 대응 트레이닝 데이터 분포가 대응 출력 값(즉, 매트릭스 엘리먼트(540, 542, 544, 546)의 출력 값)에 영향을 미치는 정도를 나타낼 수 있다. 예를 들어, 0의 도메인 인덱스 값은 대응하는 트레이닝 데이터 분포가 최소한으로(예를 들어, 전혀 사용되지 않음) 사용되어야 함을 나타내는 반면, 1의 도메인 인덱스 값은 대응하는 트레이닝 데이터 분포가 최대로 사용되어야 함을 나타낼 수 있다. 따라서, 제1 도메인 인덱스 값과 제2 도메인 인덱스 값 사이의 비율은 출력 값에 대한 개별 트레이닝 데이터 분포의 상대적인 기여도를 나타낼 수 있다.
일부 구현에서, 기계 학습 모델(404)은 도메인 인덱스 값(DI1 - DIN)의 합이 사전 결정된 값(즉,
Figure pct00001
, 여기서 V는 사전 결정된 값을 나타냄)인 조건 하에서 동작하도록 구성될 수 있다. 사전 결정된 값은 사전 결정된 범위에 기초할 수 있다. 일 예로, 사전 결정된 값은 사전 결정된 범위의 하이엔드(high end) RMAX와 같을 수 있다. 즉,
Figure pct00002
(예를 들어, 1의 사전 결정된 값은 0 내지 1의 범위에 해당할 수 있음)이다. 따라서, 다수의 도메인 인덱스 값이 동시에 각각 최대값을 갖도록 허용되지 않을 수 있다. 다른 예에서, t전 결정된 값은 RMAX < V ≤ NRMAX가 되도록 선택될 수 있다. 따라서, 사전 결정된 값(DIi/V)에 대한 주어진 도메인 인덱스 값의 비율은 대응하는 트레이닝 데이터 분포에 의해 기여된 대응하는 출력 값의 전체 신호의 일부를 나타낼 수 있다.
다른 구현에서, 기계 학습 모델(404)은 도메인 인덱스 값(DI1 - DIN)이 사전 결정된 값으로 합산되는 조건과 독립적으로 동작하도록 구성될 수 있다. 즉, 기계 학습 모델(404)은 도메인 인덱스 값(DI1 - DIN)의 임의의 조합에 대해 유효한 출력 값을 생성하도록 구성될 수 있다. 따라서, 도메인 인덱스 값의 합에 대한 주어진 도메인 인덱스 값의 비율(
Figure pct00003
)은 대응하는 트레이닝 데이터 분포에 의해 기여된 대응하는 출력 값의 전체 신호의 일부를 나타낼 수 있다.
일부 구현에서, 도메인 인덱스 매트릭스(508)의 차원은 기계 학습 모델(404)의 잠재 공간의 차원에 대응할 수 있다. 예를 들어, 기계 학습 모델(404)은 인코더-디코더 아키텍처를 포함할 수 있고, 잠재 공간은 디코더에 대한 입력으로서 제공되는 인코더의 출력에 대응할 수 있다. 따라서, 도메인 인덱스 매트릭스(508)는 (입력 매트릭스(502)의 잠재 공간 표현과 함께) 디코더에 대한 입력으로서 제공될 수 있지만, 인코더에 의해 처리되지 않을 수 있다. 도 5의 예에서, 잠재 공간은 3×3의 차원을 가질 수 있고, 따라서 입력 매트릭스(502)는 잠재 공간 내에서 3×3 매트릭스로 표현될 수 있다. 따라서, 매트릭스 엘리먼트(530)는 입력 매트릭스(502)의 잠재 공간 표현의 단일 매트릭스 엘리먼트에 대응할 수 있으며, 여기서 이 단일 매트릭스 엘리먼트는 집합적으로 매트릭스 엘리먼트(520, 522, 524, 526)의 값을 나타낸다. 다른 구현에서, 도메인 인덱스 매트릭스(508)는 입력 매트릭스(502)와 동일한 차원을 가질 수 있고, 따라서 인코더에 대한 입력으로 제공되어 인코더에 의해 처리될 수 있다.
5. 예시적인 트레이닝 시스템 및 프로세스
도 6은 기계 학습 모델(404)에 대한 예시적인 트레이닝 시스템 및 프로세스를 도시한다. 구체적으로, 트레이닝 시스템(600)은 기계 학습 모델(404), 도메인 검출 모델(606), 예측 손실 함수(616), 도메인 손실 함수(612) 및 모델 파라미터 조정기(630)를 포함할 수 있다. 트레이닝 시스템(600)은 트레이닝 샘플(620)에 기초하여 도메인 검출 모델(606) 및/또는 기계 학습 모델(404)에 대한 업데이트된 모델 파라미터(632)를 생성하도록 구성될 수 있다. 트레이닝 시스템(600)은 하드웨어, 소프트웨어 또는 이들의 조합으로 구현될 수 있다. 예를 들어, 트레이닝 시스템(600)은 컴퓨팅 디바이스(100) 및/또는 컴퓨팅 시스템(200)에 의해 구현될 수 있다.
구체적으로, 트레이닝 샘플(620)은 트레이닝 입력 매트릭스(622), 실측 출력 매트릭스(624) 및 실측 도메인 인덱스 매트릭스(626)를 포함할 수 있다. 일부 구현에서, 실측 도메인 인덱스 매트릭스(626)는 트레이닝 샘플(620)의 일부로서 명시적으로 제공되지 않을 수 있고, 대신 트레이닝 샘플(620)이 선택된 대응하는 트레이닝 데이터 분포에 기초하여 트레이닝 시스템(600)에 의해 결정될 수 있다. 트레이닝 샘플(620)은 트레이닝 샘플(302, 322 및/또는 342)의 대표적인 예일 수 있다.
도메인 검출 모델(606)은 트레이닝 입력 매트릭스(622) 및 실측 출력 매트릭스(624)에 기초하여 트레이닝 도메인 인덱스 매트릭스(608)를 생성하도록 구성된 기계 학습 모델을 포함할 수 있다. 트레이닝 과정에 걸쳐, 도메인 검출 모델(606)은 트레이닝 샘플(620)이 선택된 트레이닝 데이터 분포를 증가하는 정확도로 나타내도록 트레이닝 도메인 인덱스 매트릭스(608)를 결정하는 것을 학습할 수 있다. 도메인 손실 함수(612)는 트레이닝 도메인 인덱스 매트릭스(608)와 실측 도메인 인덱스 매트릭스(626)의 비교에 기초하여 도메인 손실 값(614)을 생성하도록 구성될 수 있다. 따라서, 도메인 손실 함수(612)는 도메인 검출 모델(606)이 트레이닝 샘플(620)이 선택된 트레이닝 데이터 분포를 식별하는 정확도를 정량화하도록 구성될 수 있다.
도메인 손실 함수(612)는 예를 들어, LDOMAIN =
Figure pct00004
로 표현될 수 있으며, 여기서 x는 실측 도메인 인덱스 매트릭스(626)의 모든 엘리먼트에 대해 반복되고, i는 주어진 엘리먼트(x)의 모든 영역 색인 값에 대해 반복되며, DIi TRAINING(x)는 트레이닝 도메인 색인 매트릭스(608)의 엘리먼트(x)의 특정 트레이닝 도메인 색인 값을 나타내고, DIi GT(x)는 실측 도메인 인덱스 매트릭스(626)의 대응하는 실측 도메인 인덱스 값을 나타낸다. 일부 구현에서, 도메인 손실 함수(612)는 다른 가능성 중에서도, 추가적으로 또는 대안적으로 DIi TRAINING(x) 및/또는 DIi GT(x)에 예를 들어 로그, 역(inverse), 지수, 최대, 최소, 스케일링 및/또는 다른 표준(예를 들어, L-1 norm) 등과 같은 다른 함수를 적용할 수 있다.
기계 학습 모델(404)은 트레이닝 입력 매트릭스(622) 및 트레이닝 도메인 인덱스 매트릭스(608)에 기초하여 트레이닝 출력 매트릭스(610)를 결정하도록 구성될 수 있다. 예측 손실 함수(616)는 트레이닝 출력 매트릭스(610)와 실측 출력 매트릭스(624)의 비교에 기초하여 예측 손실 값(618)을 생성하도록 구성될 수 있다. 따라서, 예측 손실 함수(616)는 기계 학습 모델(404)이 트레이닝 입력 매트릭스(622) 및 도메인 검출 모델(606)의 출력에 기초하여 실측 출력 매트릭스(624)를 결정하는 정확도를 정량화하도록 구성될 수 있다.
예측 손실 함수(612)는 예를 들어, LPREDICTION = Σy||OTRAINING(y)-OGT(y)||2 2이며, 여기서 y는 실측 출력 매트릭스(624)의 모든 엘리먼트에 대해 반복되고, OTRAINING(y)는 트레이닝 출력 매트릭스(610)의 엘리먼트(y)의 트레이닝 출력 값을 나타내고, OGT(y)는 실측 출력 매트릭스(624)의 대응하는 실측 출력 값을 나타낸다. 일부 구현에서, 예측 손실 함수(612)는 다른 가능성 중에서도, 추가적으로 또는 대안적으로 OTRAINING(y) 및/또는 OGT(y)에 예를 들어 로그, 역, 지수, 최대, 최소, 스케일링 및/또는 다른 표준((예를 들어, L-1 표준)과 같은 다른 함수를 적용할 수 있다. 예를 들어, 트레이닝 출력 매트릭스(610)가 깊이 이미지를 나타내는 경우, 예측 손실 함수(616)는 스케일 불변(scale-invariant) 깊이/시차 손실 및/또는 시프트 불변 깊이/시차 손실을 구현할 수 있다.
모델 파라미터 조정기(630)는 도메인 손실 값(614) 및/또는 예측 손실 값(618)에 기초하여 업데이트된 모델 파라미터(632)를 결정하도록 구성될 수 있다. 모델 파라미터 조정기(630)는 LTOTAL = LDOMAIN + αLPREDICTION으로 표현될 수 있는 이들 손실 값의 가중 합에 기초하여 총 손실 값을 결정하도록 구성될 수 있으며, 여기서 α 값은 대응하는 손실 값의 상대적 가중치를 나타낸다. 업데이트된 모델 파라미터(632)는 기계 학습 모델(404)의 하나 이상의 업데이트된 파라미터 및/또는 도메인 검출 모델(606)의 하나 이상의 업데이트된 파라미터를 포함할 수 있다.
모델 파라미터 조정기(630)는 예를 들어 총 손실 함수(LTOTAL)의 기울기를 결정함으로써 업데이트된 모델 파라미터(632)를 결정하도록 구성될 수 있다. 이 기울기 및 총 손실 값에 기초하여, 모델 파라미터 조정기(630)는 총 손실 값을 감소시킬 것으로 예상되는 업데이트된 모델 파라미터(632)를 선택하도록 구성될 수 있고, 따라서 모델(404 및/또는 606)의 성능이 향상될 수 있다. 업데이트된 모델 파라미터(632)를 기계 학습 모델(404) 및/또는 도메인 검출 모델(606)에 적용한 후, 총 손실 값의 다른 인스턴스를 계산하기 위해 다른 트레이닝 반복이 수행될 수 있으며, 이에 기초하여 업데이트된 모델 파라미터(632)의 다른 인스턴스가 결정되고 모델(404 및/또는 606)에 적용되어 그의 성능을 더욱 향상시킬 수 있다. 이러한 모델(404 및 606)의 트레이닝은 예를 들어 전체 손실 값이 목표 임계 손실 값 아래로 감소될 때까지 반복될 수 있다.
도메인 검출 모델(606)은 기계 학습 모델(404)의 트레이닝을 돕기 위해 사용될 수 있지만, 추론 시간에는 사용되지 않을 수 있다. 대신에, 도 4에 도시된 바와 같이, 추론 시간에 도메인 검출 모델(606)은 도메인 인덱스 매트릭스 생성기(406)로 대체될 수 있다. 구체적으로, 트레이닝 시간에 기계 학습 모델(404)에 대한 입력으로서 실측 도메인 인덱스 매트릭스(626)가 아닌 트레이닝 도메인 인덱스 매트릭스(608)를 제공함으로써, 기계 학습 모델(404)은 노이즈를 보다 견고하게 처리하고, 다른 트레이닝 데이터 분포에 기초한 예측을 개선하기 위해 하나의 트레이닝 데이터 분포로부터의 정보를 사용하고 및/또는 추론 시간에 다수의 상이한 트레이닝 데이터 분포의 속성을 결합/혼합하는 방법을 학습할 수 있다.
구체적으로, 실측 출력 매트릭스(624)는 트레이닝 샘플(620)이 속하는 단일 대응 트레이닝 데이터 분포(예를 들어, DI1 = 1 및
Figure pct00005
)를 나타낼 수 있다. 유사하게, 다른 실측 출력 매트릭스는 각각 단일 대응 트레이닝 데이터 분포를 나타낼 수 있다. 반대로, 트레이닝 도메인 인덱스 매트릭스(608)는 적어도 트레이닝 시작 시 도메인 검출 모델(606)의 출력이 정확하지 않을 수 있기 때문에 상이한 트레이닝 데이터 분포의 혼합을 나타낼 수 있다(예를 들어, DI1-DIN 중 둘 이상이 0이 아닐 수 있음). 트레이닝 과정에 걸쳐, 실측 도메인 인덱스 매트릭스(626)와 트레이닝 도메인 인덱스 매트릭스(608) 사이의 차이는 감소할 수 있지만, 두 값은 정확히 동일한 값 세트로 수렴되지 않을 수 있다. 이것은 기계 학습 모델(404)을 값(DI1 - DIN)의 다양한 조합에 노출시킬 수 있으며, 그 중 일부는 노이즈를 나타낼 수 있고 다른 일부는 트레이닝 데이터 분포의 유효한 조합을 나타낼 수 있다.
따라서, 기계 학습 모델(404)은 노이즈의 존재 및/또는 다수의 상이한 트레이닝 데이터 분포에 기초하여 비교적 정확한 트레이닝 출력 매트릭스(610)를 예측하도록 학습할 수 있다. 예를 들어, 트레이닝 출력(610)의 일부가 하나 이상의 기본 트레이닝 데이터 분포를 사용하여 올바르게 생성될 수 있는 경우, 이 트레이닝 아키텍처는 기계 학습 모델(404)이 트레이닝 출력 매트릭스(610)의 관련 부분을 생성하기 위해 두 트레이닝 데이터 분포로부터 정보를 결합하는 방법을 학습하도록 할 수 있다. 따라서, 3개의 상이한 트레이닝 데이터 분포에 대해 트레이닝될 때, 기계 학습 모델(404)은 대응하는 데이터 분포에 대해 독립적으로 각각 트레이닝된 3개의 개별 모델보다 더 정확하게 수행할 수 있고 및/또는 더 작은 크기를 가질 수 있다. 추가적으로, 기계 학습 모델(404)은 3개의 독립적으로 트레이닝된 모델의 경우와 같이 3개의 이산 출력만을 생성하는 대신 주어진 입력에 대해 3개의 기본 데이터 세트의 다양한 조합을 나타내는 출력의 연속 범위를 생성하도록 구성될 수 있다.
기계 학습 모델(404)은 메모리의 일부에 저장될 수 있다. 메모리의 일부는 독립적으로 트레이닝된 모델을 저장하는데 필요한 메모리의 일부에 비해 비교적 작을 수 있다. 메모리의 일부는 예를 들어 메모리가 제한된 디바이스의 메모리의 일부일 수 있다. 디바이스의 제한된 메모리로 인해 독립적으로 트레이닝된 모델을 저장하고 실행하는 것이 어렵거나 불가능할 수 있다. 즉, 기계 학습 모델(404)은 독립적으로 트레이닝된 모델을 효과적으로 배치할 수 없는 디바이스에 배치될 수 있다. 디바이스는 예를 들어 모바일 컴퓨팅 디바이스일 수 있다.
6. 기계 학습 모델의 예시적인 응용
도 7a, 7b, 7c, 7d 및 7e는 모노스코픽/단안 이미지에 기초하여 깊이 이미지를 생성하는 태스크에 기계 학습 모델(404)을 적용한 양태를 나타낸다. 구체적으로, 도 7a는 풀과 잎을 포함하는 장면의 이미지(700)를 포함한다. 영역(702)은 비교적 고주파 텍스처를 포함하는 반면, 영역(704)은 비교적 저주파 텍스처를 포함한다. 영역(702 및 704)에서의 주파수 컨텐츠의 차이로 인해, 상이한 트레이닝 데이터 분포는 이러한 영역에 대한 깊이 예측에서 서로 다른 수준의 정확도로 이어질 수 있다.
구체적으로, 도 7b는 스테레오스코픽(입체) 이미지 데이터 및/또는 복수 쌍의 입체 카메라로부터 획득된 시차(disparity) 데이터에 기초하여 생성된 실측 깊이 이미지를 갖는 트레이닝 데이터 분포(예를 들어, 300)를 사용하여 배타적으로 트레이닝된 기계 학습 모델에 의해 이미지(700)에 기초하여 생성된 깊이 이미지(710)를 포함한다. 깊이 이미지(710)는 비교적 높은 공간 주파수 컨텐츠를 갖는다. 추가적으로, 깊이 이미지(710)에 의해 표현된 깊이 값은 일반적으로 이미지(700)의 대부분의 부분에 대해 정확하지만, 깊이 이미지(710)는 실제 깊이 값과 상당히 다른 부정확한 깊이 값을 갖는 비교적 적은 수의 픽셀(예를 들어, 이미지(710)의 5% 미만)을 포함한다. 즉, 깊이 이미지(710)는 상세하지만 노이즈가 있을 수 있다.
도 7c는 하나 이상의 다중 픽셀 카메라에 의해 생성된 다중 픽셀(예를 들어, 이중 픽셀) 이미지에 기초하여 생성된 실측 깊이 이미지를 갖는 트레이닝 데이터 분포(예를 들어, 320)를 사용하여 배타적으로 트레이닝된 기계 학습 모델에 의해 이미지(700)에 기초하여 생성된 깊이 이미지(720)를 포함한다. 깊이 이미지(720)는 식별 가능한 텍스처가 있는 영역에 정확한 깊이 값을 포함할 수 있지만 식별 가능한 텍스처가 없는 영역에는 잘못된 깊이 값을 포함할 수 있다. 따라서, 깊이 이미지(720)의 영역(702)의 깊이 값은 (예를 들어, 이 영역이 초점이 맞기 때문에) 이미지(720)의 영역(704)의 깊이 값보다 더 정확할 수 있다(예를 들어, 이 영역이 초점이 맞지 않기 때문에). 깊이 이미지(720)는 깊이 이미지(710)보다 덜 상세하고 더 적은 노이즈를 포함할 수 있고, 저주파(예를 들어, 텍스처화되지 않은) 영역에서는 부정확할 수 있다.
도 7d는 MiDaS 모델/알고리즘에 의해 복수의 모노스코픽 이미지를 처리함으로써 생성된 실측 깊이 이미지를 갖는 트레이닝 데이터 분포(예를 들어, 340)를 사용하여 배타적으로 트레이닝된 기계 학습 모델에 의해 이미지(700)에 기초하여 생성된 깊이 이미지(730)를 포함한다. 깊이 이미지(730)는 이미지(700)의 기본 공간 주파수 컨텐츠에 관계없이 일반적으로 정확한 깊이 값을 포함할 수 있지만 깊이 값은 높은 주파수를 나타내지 않을 수 있다. 따라서, 깊이 이미지(730)의 영역(704)의 깊이 값은 이미지(720)의 영역(704)의 대응하는 깊이 값보다 더 정확할 수 있고, 깊이 이미지(730)의 영역(702)의 깊이 값은 이미지(720)의 영역(702)의 대응하는 깊이 값보다 덜 상세하게 나타낼 수 있다. 깊이 이미지(730)는 깊이 이미지(710)보다 덜 상세히고 더 적은 노이즈를 포함할 수 있다.
도 7E는 도 7B, 7C 및 7D와 관련된 3개의 트레이닝 데이터 분포 각각을 사용하여 트레이닝 시스템(600)에 의해 트레이닝된 기계 학습 모델(404)에 의해 이미지(700)에 기초하여 생성된 깊이 이미지(740)를 포함한다. 구체적으로, 깊이 이미지(740)는 이미지(700)의 다른 부분의 공간 주파수 컨텐츠에 기초하여 공간적으로 변화하는 방식으로 3개의 트레이닝 데이터 분포로부터의 정보를 혼합함으로써 생성될 수 있다. 예를 들어, 도메인 인덱스 생성기(406)는 깊이 이미지(740)를 결정하는데 사용되는 도메인 인덱스 매트릭스(408)를 생성하기 위해 다음 함수를 구현할 수 있다.
Figure pct00006
, 여기서 g = 기울기(이미지 700), g는 이미지(700)의 공간 주파수 컨텐츠를 나타내고, λ는 수정 가능한 스케일링 인수(도시된 예에서 λ=0.45)이며, clip() 함수는 g/λ를 간격 [0.0, 1.0]으로 스케일링하도록 구성된다. 또한, 도메인 인덱스 생성기(406)는 DI1 = β/2, DI2 = β/2 및 DI3 = 1.0-β에 따라 도메인 인덱스 값을 할당하도록 구성될 수 있다.
따라서, 이미지(700)의 고주파 부분에 해당하는 깊이 이미지(740)의 부분은 주로 도 7b 및 7c의 트레이닝 데이터 분포에 기초하여 동일하게 생성될 수 있는 반면, 이미지(700)의 저주파 부분에 해당하는 깊이 이미지(740)의 부분은 주로 3개의 트레이닝 데이터 세트 모두의 혼합을 포함하는 중간 주파수가 있는 도 7d의 트레이닝 데이터 분포에 기초하여 생성될 수 있다. λ의 값 및/또는 β에 기초하여 DI1, DI2, 및/또는 DI3를 계산하는데 사용되는 함수는 상이한 트레이닝 데이터 세트의 속성의 원하는 혼합(blending)을 포함하는 깊이 이미지를 생성하도록 변경될 수 있다. 다른 구현에서, 도메인 인덱스 생성기(406)는 추가적으로 또는 대안적으로 입력 매트릭스(402)의 다른 속성을 정량화하고, 그에 기초하여 기본 트레이닝 데이터 분포의 대응하는 혼합을 선택하도록 구성될 수 있다.
7. 추가의 예시적인 동작
도 8은 출력 데이터가 기초하는 트레이닝 데이터 분포를 결정론적으로 선택하면서 기계 학습 모델에 의해 출력 데이터를 생성하는 것과 관련된 동작들의 흐름도를 도시한다. 동작들은 다른 가능성 중에서도 컴퓨팅 디바이스(100), 컴퓨팅 시스템(200), 시스템(400) 및/또는 트레이닝 시스템(600)에 의해 수행될 수 있다. 도 8의 실시예는 본 명세서에 도시된 특징들 중 임의의 하나 이상을 제거함으로써 단순화될 수 있다. 또한, 이들 실시예는 이전 도면 중 임의의 것의 특징, 양태 및/또는 구현 또는 본 명세서에서 달리 설명된 것과 조합될 수 있다.
블록(800)은 입력 데이터를 나타내는 입력 매트릭스를 획득하는 단계를 포함할 수 있다.
블록(802)은 입력 매트릭스의 각각의 개별 입력 값에 대해, 개별 입력 값에 대응하는 출력 값을 생성하는데 사용될 대응하는 트레이닝 데이터 분포를 나타내는 대응하는 도메인 인덱스 값을 포함하는 도메인 인덱스 매트릭스를 결정하는 단계를 포함할 수 있다. 대응하는 트레이닝 데이터 분포는 복수의 트레이닝 데이터 분포 중 하나일 수 있다.
블록(804)은 복수의 트레이닝 데이터 분포를 사용하여 출력 매트릭스를 생성하도록 트레이닝된 기계 학습 모델에 입력 매트릭스 및 도메인 인덱스 매트릭스를 제공하는 단계를 포함할 수 있다. 복수의 트레이닝 데이터 분포의 각각의 개별 트레이닝 데이터 분포는 복수의 트레이닝 데이터 분포의 다른 트레이닝 데이터 분포의 대응하는 속성과 상이한 속성과 연관될 수 있다.
블록(806)은 기계 학습 모델에 의해 입력 매트릭스 및 도메인 인덱스 매트릭스에 기초하여, 입력 매트릭스의 각각의 개별 입력 값에 대해, 대응하는 출력 값이 대응하는 트레이닝 데이터 분포의 속성을 나타내도록 (i) 개별 입력 값 및 (i) 대응하는 도메인 인덱스 값에 기초하여 생성된 대응하는 출력 값을 포함하는 출력 매트릭스를 생성하는 단계를 포함할 수 있다.
일부 실시예에서, 각각의 개별 트레이닝 데이터 분포의 속성은 개별 트레이닝 데이터 분포로 표현되는 하나 이상의 조건과 관련된 실측 데이터의 정확도를 포함할 수 있다. 실측 데이터의 정확도는 하나 이상의 조건의 함수로서 복수의 트레이닝 데이터 분포에 걸쳐 변경될 수 있다.
일부 실시예에서, 개별 트레이닝 데이터 분포로 표현되는 하나 이상의 조건은 (i) 실측 데이터의 주파수 컨텐츠, (ii) 실측 데이터에 대응하는 트레이닝 입력의 주파수 컨텐츠, (iii) 실측 데이터의 통계적 특성, 또는 (iv) 트레이닝 입력의 통계적 특성 중 하나 이상을 포함할 수 있다.
일부 실시예에서, 각각의 개별 트레이닝 데이터 분포의 속성은 개별 트레이닝 데이터 분포로 표현되는 입력 데이터의 특징의 하나 이상의 분류를 포함할 수 있다. 하나 이상의 분류는 입력 데이터의 특징의 복수의 가능한 분류의 서브세트일 수 있다. 복수의 가능한 분류는 복수의 트레이닝 데이터 분포로 표현될 수 있다.
일부 실시예에서, 대응하는 도메인 인덱스 값은 복수의 도메인 인덱스 값을 포함할 수 있다. 복수의 도메인 인덱스 값의 각각의 개별 도메인 인덱스 값은 미리 정의된 범위로부터 선택될 수 있고, 개별 입력 값에 대응하는 출력 값을 생성하는데 사용될 대응 트레이닝 데이터 분포의 정도를 나타낼 수 있다. 각각의 개별 도메인 인덱스 값의 대응 트레이닝 데이터 분포는 복수의 트레이닝 데이터 분포 중 하나일 수 있다.
일부 실시예에서, 복수의 도메인 인덱스 값의 도메인 인덱스 값의 수는 복수의 트레이닝 분포의 트레이닝 분포의 수와 동일할 수 있다.
일부 실시예에서, 개별 입력 값에 대응하는 복수의 도메인 인덱스 값의 합은 사전 결정된 값과 동일할 수 있다. 각각의 개별 도메인 인덱스 값은 대응 트레이닝 데이터 분포에 의해 기여된 대응하는 출력 값의 전체 신호의 일부를 나타낼 수 있다.
일부 실시예에서, 기계 학습 모델은 트레이닝 입력 매트릭스 및 실측 출력 매트릭스를 포함하는 트레이닝 샘플을 획득하는 단계를 포함하는 트레이닝 프로세스를 사용하여 트레이닝되었을 수 있다. 트레이닝 프로세스는 또한 트레이닝 샘플에 대해, 트레이닝 입력 매트릭스의 각각의 개별 트레이닝 입력 값에 대하여, (i) 개별 트레이닝 입력 값에 대응하는 트레이닝 출력 값을 생성하는데 사용되고 (ii) 트레이닝 샘플이 속하는 대응 트레이닝 데이터 분포를 나타내는 대응하는 트레이닝 도메인 인덱스 값을 포함하는 트레이닝 도메인 인덱스 매트릭스를 결정하는 단계를 포함할 수 있다. 트레이닝 프로세스는 트레이닝 입력 매트릭스 및 트레이닝 도메인 인덱스 매트릭스를 기계 학습 모델에 제공하는 단계와, 그리고 기계 학습 모델에 의해 트레이닝 입력 매트릭스 및 트레이닝 도메인 인덱스 매트릭스에 기초하여, 트레이닝 입력 매트릭스의 각각의 개별 트레이닝 입력 값에 대해, (i) 개별 트레이닝 입력 값 및 (ii) 대응하는 트레이닝 도메인 인덱스 값에 기초하여 생성된 대응하는 트레이닝 출력 값을 포함하는 트레이닝 출력 매트릭스를 생성하는 단계를 추가로 포함할 수 있다. 트레이닝 프로세스는 트레이닝 입력 매트릭스와 트레이닝 출력 매트릭스를 비교하도록 구성된 예측 손실 함수를 사용하여 예측 손실 값을 결정하는 단계와, 그리고 예측 손실 값에 기초하여 기계 학습 모델의 하나 이상의 파라미터를 조정하는 단계를 추가로 포함할 수 있다.
일부 실시예, 트레이닝 도메인 인덱스 매트릭스를 결정하는 단계는 트레이닝 샘플이 속하는 대응 트레이닝 데이터 분포를 결정하는 단계와, 그리고 트레이닝 입력 매트릭스의 각각의 개별 트레이닝 입력 값에 대해, 트레이닝 샘플이 속하는 대응 트레이닝 데이터 분포와 관련된 트레이닝 도메인 인덱스 값을 할당하는 단계를 포함할 수 있다.
일부 실시예에서, 트레이닝 샘플은 트레이닝 샘플이 속하는 각각의 트레이닝 데이터 분포를 나타내는 실측 도메인 인덱스 매트릭스를 더 포함할 수 있다. 트레이닝 프로세스는 또한 도메인 검출 모델에 의해 개별 트레이닝 샘플의 대응하는 트레이닝 입력 매트릭스 및 대응하는 실측 출력 매트릭스에 기초하여 트레이닝 도메인 인덱스 매트릭스를 결정하는 단계를 포함할 수 있다. 트레이닝 프로세스는 트레이닝 도메인 인덱스 매트릭스와 실측 도메인 인덱스 매트릭스를 비교하도록 구성된 도메인 손실 함수를 사용하여 도메인 손실 값을 결정하는 단계와, 그리고 예측 손실 값에 기초하여 (i) 기계 학습 모델 또는 (ii) 도메인 검출 기계 학습 모델 중 적어도 하나의 하나 이상의 파라미터를 조정하는 단계를 추가로 포함할 수 있다.
일부 실시예에서, 입력 매트릭스는 입력 이미지를 포함할 수 있다. 출력 매트릭스는 (i) 입력 이미지로 표현된 객체와 연관된 바운딩 박스, (ii) 입력 이미지로 표현된 객체의 분할 맵, (iii) 입력 이미지로 표현된 객체와 관련된 하나 이상의 좌표, 또는 (iv) 입력 이미지로 표현된 객체의 포즈 표현 중 하나 이상을 나타내는 출력 이미지를 포함할 수 있다.
일부 실시예에서, 입력 매트릭스는 이미지를 포함할 수 있다. 출력 매트릭스는 깊이 맵을 포함할 수 있다. 복수의 트레이닝 데이터 분포는 복수의 입체 이미지에 기초하여 생성된 제1 트레이닝 데이터 분포, 복수의 멀티 픽셀 이미지에 기초하여 생성된 제2 트레이닝 데이터 분포, 및 다른 기계 학습 모델에 의한 복수의 모노스코픽 이미지의 처리에 기초하여 생성된 제3 트레이닝 데이터 분포를 포함할 수 있다.
일부 실시예에서, 도메인 인덱스 매트릭스를 결정하는 단계는 입력 매트릭스 및 그의 각각의 개별 입력 값에 기초하여, 복수의 트레이닝 데이터 분포의 특정 속성의 대응 속성 값을 결정하는 단계와, 그리고 입력 매트릭스의 각각의 개별 입력 값에 대해, 그 대응 속성 값에 기초하여 상기 대응 도메인 인덱스 값을 결정하는 단계를 포함할 수 있다.
일부 실시예에서, 도메인 인덱스 매트릭스를 결정하는 단계는 도메인 인덱스 매트릭스의 정의를 허용하도록 구성된 사용자 인터페이스를 제공하는 단계와, 그리고 사용자 인터페이스를 통해, 도메인 인덱스 매트릭스의 적어도 일부에 대한 정의를 수신하는 단계를 포함할 수 있다.
일부 실시예에서, 도메인 인덱스 매트릭스와 상이한 제2 도메인 인덱스 매트릭스가 결정될 수 있다. 입력 매트릭스 및 제2 도메인 인덱스 매트릭스는 기계 학습 모델에 제공될 수 있다. 기계 학습 모델은 입력 매트릭스 및 제2 도메인 인덱스 매트릭스에 기초하여 출력 매트릭스와 상이한 제2 출력 매트릭스를 생성할 수 있다.
일부 실시예에서, 입력 매트릭스 및 출력 매트릭스는 각각 제1 차원을 갖을 수 있고, 도메인 인덱스 매트릭스는 제1 차원보다 작고 기계 학습 모델의 잠재 공간에 해당하는 2차원을 가질 수 있다. 출력 매트릭스를 생성하는 단계는 입력 매트릭스의 잠재 공간 표현을 생성하는 단계를 포함할 수 있다. 주어진 도메인 인덱스 값은 (i) 제1 차원에서 표현되는 입력 매트릭스의 복수의 입력 값 및 (ii) 제2 차원에서, 입력 매트릭스의 잠재 공간 표현의 일부로서 복수의 입력 값을 나타내는 단일 잠재 공간 값에 대응할 수 있다.
8. 결론
본 개시는 다양한 양태의 예시로서 의도된 본 출원에 기재된 특정 실시예에의해 제한되지 않는다. 당업자에게 명백한 바와 같이, 그 범위를 벗어나지 않고 많은 수정 및 변경이 이루어질 수 있다. 본 명세서에 기술된 것 외에 본 발명의 범위 내에서 기능적으로 동등한 방법 및 장치는 전술한 설명으로부터 당업자에게 명백할 것이다. 이러한 수정 및 변형은 첨부된 청구 범위 내에 있는 것으로 의도된다.
위의 상세한 설명은 첨부된 도면을 참조하여 개시된 시스템, 디바이스 및 방법의 다양한 특징 및 동작들을 설명한다. 도면에서, 유사한 기호는 일반적으로 문맥에서 달리 지시하지 않는 한 유사한 컴포넌트를 나타낸다. 본 명세서 및 도면에 기술된 예시적인 실시예는 제한하려는 것이 아니다. 본 명세서에 제시된 주제의 범위를 벗어나지 않고 다른 실시예가 이용될 수 있고, 다른 변경이 이루어질 수 있다. 본 명세서에 일반적으로 기술되고 도면에 예시된 바와 같은 본 발명의 양태는 매우 다양한 상이한 구성으로 배열, 대체, 조합, 분리 및 설계될 수 있음을 쉽게 이해할 것이다.
도면의 메시지 흐름도, 시나리오 및 흐름도의 일부 또는 전부와 관련하여 여기에서 논의된 바와 같이, 각각의 단계, 블록 및/또는 통신은 예시적인 실시예에 따른 정보의 처리 및/또는 정보의 전송을 나타낼 수 있다. 대안적인 실시예는 이러한 예시적인 실시예의 범위 내에 포함된다. 이러한 대안적인 실시예에서, 예를 들어 단계, 블록, 전송, 통신, 요청, 응답 및/또는 메시지로서 설명된 동작들은 관련 기능에 따라 실질적으로 동시에 또는 역순을 포함하여 도시되거나 논의된 순서와 다르게 실행될 수 있다. 또한, 더 많거나 더 적은 블록 및/또는 동작들이 본 명세서에서 논의된 임의의 메시지 흐름도, 시나리오 및 흐름도와 함께 사용될 수 있으며, 이러한 메시지 흐름도, 시나리오 및 흐름도는 부분적으로 또는 전체적으로 서로 결합될 수 있다.
정보의 처리를 나타내는 단계 또는 블록은 본 명세서에 설명된 방법 또는 기술의 특정 논리적 기능을 수행하도록 구성될 수 있는 회로에 해당할 수 있다. 대안적으로 또는 추가적으로, 정보의 처리를 나타내는 블록은 모듈, 세그먼트 또는 프로그램 코드의 일부(관련 데이터 포함)에 해당할 수 있다. 프로그램 코드는 방법 또는 기술에서 특정 논리적 동작 또는 액션을 구현하기 위해 프로세서에 의해 실행 가능한 하나 이상의 명령을 포함할 수 있다. 프로그램 코드 및/또는 관련 데이터는 RAM(Random Access Memory), 디스크 드라이브, 솔리드 스테이트 드라이브 또는 다른 저장 매체를 비롯하여 저장 디바이스와 같은 임의 유형의 컴퓨터 판독 가능 매체에 저장될 수 있다.
컴퓨터 판독 가능 매체는 또한 레지스터 메모리, 프로세서 캐시 및 RAM과 같이 짧은 기간 동안 데이터를 저장하는 컴퓨터 판독 가능 매체와 같은 비-일시적 컴퓨터 판독 가능 매체를 포함할 수 있다. 컴퓨터 판독 가능 매체는 또한 장기간 동안 프로그램 코드 및/또는 데이터를 저장하는 비-일시적 컴퓨터 판독 가능 매체를 포함할 수 있다. 따라서, 컴퓨터 판독 가능 매체는 예를 들어 판독 전용 메모리(ROM), 광학 또는 자기 디스크, 솔리드 스테이트 드라이브, CD-ROM(compact-disc read only memory)과 같은 보조 또는 영구 장기 저장소를 포함할 수 있다. 컴퓨터 판독 가능 매체는 또한 임의의 다른 휘발성 또는 비-휘발성 저장 시스템일 수 있다. 컴퓨터 판독 가능 매체는 예를 들어 컴퓨터 판독 가능 저장 매체 또는 유형의 저장 디바이스로 간주될 수 있다.
또한, 하나 이상의 정보 전송을 나타내는 단계 또는 블록은 동일한 물리적 디바이스의 소프트웨어 및/또는 하드웨어 모듈 간의 정보 전송에 해당할 수 있다. 그러나, 다른 정보 전송은 서로 다른 물리적 디바이스의 소프트웨어 모듈 및/또는 하드웨어 모듈 간에 이루어질 수 있다.
도면에 도시된 특정 배열은 제한적인 것으로 간주되어서는 안 된다. 다른 실시예는 주어진 도면에 도시된 각 엘리먼트를 더 많거나 적게 포함할 수 있음을 이해해야 한다. 게다가, 도시된 컴포넌트 중 일부는 결합되거나 생략될 수 있다. 또한, 예시적인 실시예는 도면에 도시되지 않은 엘리먼트를 포함할 수 있다.
다양한 양태 및 실시예가 본 명세서에 개시되었지만, 다른 양태 및 실시예가 당업자에게 명백할 것이다. 본 명세서에 개시된 다양한 양태 및 실시예는 예시를 위한 것이며 제한하려는 의도가 아니며, 진정한 범위는 다음 청구범위에 의해 표시된다.

Claims (18)

  1. 컴퓨터 구현 방법으로서,
    입력 데이터를 나타내는 입력 매트릭스를 획득하는 단계와;
    입력 매트릭스의 각각의 개별 입력 값에 대해, 개별 입력값에 대응하는 출력값을 생성하는데 사용될 대응 트레이닝 데이터 분포를 나타내는 대응 도메인 인덱스 값을 포함하는 도메인 인덱스 매트릭스를 결정하는 단계와, 상기 대응 트레이닝 데이터 분포는 복수의 트레이닝 데이터 분포 중 하나이고;
    복수의 트레이닝 데이터 분포를 사용하여 출력 매트릭스를 생성하도록 트레이닝된 기계 학습 모델에 상기 입력 매트릭스 및 도메인 인덱스 매트릭스를 제공하는 단계와, 상기 복수의 트레이닝 데이터 분포의 각각의 개별 트레이닝 데이터 분포는 그 복수의 트레이닝 데이터 분포의 다른 트레이닝 데이터 분포의 대응하는 속성과 상이한 속성과 관련되며; 그리고
    기계 학습 모델에 의해 입력 매트릭스 및 도메인 인덱스 매트릭스에 기초하여, 입력 매트릭스의 각각의 개별 입력 값에 대해, 대응 출력 값이 상기 대응 트레이닝 데이터 분포의 속성을 나타내도록 (i) 개별 입력 값 및 (i) 대응 트레이닝 데이터 분포에 기초하여 생성된 대응하는 출력 값을 포함하는 출력 매트릭스를 생성하는 단계를 포함하는 것을 특징으로 하는 컴퓨터 구현 방법.
  2. 제1항에 있어서,
    상기 각각의 개별 트레이닝 데이터 분포의 속성은,
    개별 트레이닝 데이터 분포로 표현되는 하나 이상의 조건과 관련된 실측(ground-truth) 데이터의 정확도를 포함하고, 그리고
    상기 실측 데이터의 정확도는 하나 이상의 조건의 함수로서 복수의 트레이닝 데이터 분포에 걸쳐 변경되는 것을 특징으로 하는 컴퓨터 구현 방법.
  3. 제2항에 있어서,
    상기 개별 트레이닝 데이터 분포로 표현되는 하나 이상의 조건은,
    (i) 실측 데이터의 주파수 컨텐츠, (ii) 실측 데이터에 대응하는 트레이닝 입력의 주파수 컨텐츠, (iii) 실측 데이터의 통계적 특성, 또는 (iv) 트레이닝 입력의 통계적 특성 중 하나 이상을 포함하는 것을 특징으로 하는 컴퓨터 구현 방법.
  4. 제1항 내지 제3항 중 어느 한 항에 있어서,
    상기 각각의 개별 트레이닝 데이터 분포의 속성은,
    개별 트레이닝 데이터 분포로 표현되는 입력 데이터의 특징의 하나 이상의 분류를 포함하고, 상기 하나 이상의 분류는 입력 데이터의 특징의 복수의 가능한 분류의 서브세트를 포함하고, 상기 복수의 가능한 분류는 복수의 트레이닝 데이터 분포로 표현되는 것을 특징으로 하는 컴퓨터 구현 방법.
  5. 제1항 내지 제4항 중 어느 한 항에 있어서,
    상기 대응 도메인 인덱스 값은 복수의 도메인 인덱스 값을 포함하고,
    상기 복수의 도메인 인덱스 값의 각각의 개별 도메인 인덱스 값은 미리 정의된 범위로부터 선택되고 상기 개별 입력 값에 대응하는 출력 값을 생성하는데 사용될 대응 트레이닝 데이터 분포의 정도를 나타내며, 그리고
    상기 각각의 개별 도메인 인덱스 값의 대응 트레이닝 데이터 분포는 복수의 트레이닝 데이터 분포 중 하나인 것을 특징으로 하는 컴퓨터 구현 방법.
  6. 제5항에 있어서,
    상기 복수의 도메인 인덱스 값의 도메인 인덱스 값의 수는,
    복수의 트레이닝 분포의 트레이닝 분포의 수와 동일한 것을 특징으로 하는 컴퓨터 구현 방법.
  7. 제5항에 있어서,
    상기 개별 입력 값에 대응하는 복수의 도메인 인덱스 값의 합은 사전 결정된 값과 동일하고, 그리고
    상기 각각의 개별 도메인 인덱스 값은 대응 트레이닝 데이터 분포에 의해 기여된 상기 대응하는 출력 값의 전체 신호의 일부를 나타내는 것을 특징으로 하는 컴퓨터 구현 방법.
  8. 제1항 내지 제7항 중 어느 한 항에 있어서,
    상기 기계 학습 모델은 트레이닝 프로세스를 사용하여 트레이닝되고,
    상기 트레이닝 프로세스는,
    트레이닝 입력 매트릭스 및 실측 출력 매트릭스를 포함하는 트레이닝 샘플을 획득하는 단계와;
    트레이닝 샘플에 대해, 트레이닝 입력 매트릭스의 각각의 개별 트레이닝 입력 값에 대하여, (i) 개별 트레이닝 입력 값에 대응하는 트레이닝 출력 값을 생성하는데 사용되고 그리고 (ii) 트레이닝 샘플이 속하는 대응 트레이닝 데이터 분포를 나타내는 대응하는 트레이닝 도메인 인덱스 값을 포함하는, 트레이닝 도메인 인덱스 매트릭스를 결정하는 단계와;
    트레이닝 입력 매트릭스 및 트레이닝 도메인 인덱스 매트릭스를 기계 학습 모델에 제공하는 단계와;
    기계 학습 모델에 의해 상기 트레이닝 입력 매트릭스 및 트레이닝 도메인 인덱스 매트릭스에 기초하여, 트레이닝 입력 매트릭스의 각각의 개별 트레이닝 입력 값에 대해, (i) 개별 트레이닝 입력 값 및 (ii) 대응하는 트레이닝 도메인 인덱스 값에 기초하여 생성된 대응하는 트레이닝 출력 값을 포함하는, 트레이닝 출력 매트릭스를 생성하는 단계와;
    트레이닝 입력 매트릭스 및 트레이닝 출력 매트릭스를 비교하도록 구성된 예측 손실 함수를 사용하여 예측 손실 값을 결정하는 단계와; 그리고
    예측 손실 값에 기초하여 기계 학습 모델의 하나 이상의 파라미터를 조정하는 단계를 포함하는 것을 특징으로 하는 컴퓨터 구현 방법.
  9. 제8항에 있어서,
    상기 트레이닝 도메인 인덱스 매트릭스를 결정하는 단계는,
    트레이닝 샘플이 속하는 대응 트레이닝 데이터 분포를 결정하는 단계와; 그리고
    트레이닝 입력 매트릭스의 각각의 개별 트레이닝 입력 값에 대해, 트레이닝 샘플이 속하는 대응 트레이닝 데이터 분포와 관련된 트레이닝 도메인 인덱스 값을 할당하는 단계를 포함하는 것을 특징으로 하는 컴퓨터 구현 방법.
  10. 제8항에 있어서,
    상기 트레이닝 샘플은 트레이닝 샘플이 속하는 개별 트레이닝 데이터 분포를 나타내는 실측 도메인 인덱스 매트릭스를 더 포함하고, 그리고
    상기 트레이닝 프로세스는,
    도메인 검출 모델에 의해 개별 트레이닝 샘플의 대응하는 트레이닝 입력 매트릭스 및 대응하는 실측 출력 매트릭스에 기초하여 트레이닝 도메인 인덱스 매트릭스를 결정하는 단계와;
    트레이닝 도메인 인덱스 매트릭스와 실측 도메인 인덱스 매트릭스를 비교하도록 구성된 도메인 손실 함수를 사용하여 도메인 손실 값을 결정하는 단계와; 그리고
    예측 손실 값에 기초하여 (i) 기계 학습 모델 또는 (ii) 도메인 검출 기계 학습 모델 중 적어도 하나의 하나 이상의 파라미터를 조정하는 단계를 더 포함하는 것을 특징으로 하는 컴퓨터 구현 방법.
  11. 제1항 내지 제10항 중 어느 한 항에 있어서,
    상기 입력 매트릭스는 입력 이미지를 포함하고, 그리고
    상기 출력 매트릭스는,
    (i) 입력 이미지로 표현된 객체와 연관된 바운딩 박스, (ii) 입력 이미지로 표현된 객체의 분할 맵, (iii) 입력 이미지로 표현된 객체와 관련된 하나 이상의 좌표, 또는 (iv) 입력 이미지로 표현된 객체의 포즈 표현 중 하나 이상을 나타내는 출력 이미지를 포함하는 것을 특징으로 하는 컴퓨터 구현 방법.
  12. 제1항 내지 제11항 중 어느 한 항에 있어서,
    상기 입력 매트릭스는 이미지를 포함하고,
    상기 출력 매트릭스는 깊이 맵을 포함하고, 그리고
    상기 복수의 트레이닝 데이터 분포는
    복수의 입체 이미지에 기초하여 생성된 제1 트레이닝 데이터 분포와;
    복수의 멀티 픽셀 이미지에 기초하여 생성된 제2 트레이닝 데이터 분포와; 그리고
    다른 기계 학습 모델에 의한 복수의 모노스코픽 이미지의 처리에 기초하여 생성된 제3 트레이닝 데이터 분포를 포함하는 것을 특징으로 하는 컴퓨터 구현 방법.
  13. 제1항 내지 제12항 중 어느 한 항에 있어서,
    상기 도메인 인덱스 매트릭스를 결정하는 단계는,
    입력 매트릭스 및 그의 각각의 개별 입력 값에 기초하여, 복수의 트레이닝 데이터 분포의 특정 속성의 대응 속성 값을 결정하는 단계와; 그리고
    입력 매트릭스의 각각의 개별 입력 값에 대해, 그 대응 속성 값에 기초하여 상기 대응 도메인 인덱스 값을 결정하는 단계를 포함하는 것을 특징으로 하는 컴퓨터 구현 방법.
  14. 제1항 내지 제13항 중 어느 한 항에 있어서,
    상기 도메인 인덱스 매트릭스를 결정하는 단계는,
    도메인 인덱스 매트릭스의 정의를 허용하도록 구성된 사용자 인터페이스를 제공하는 단계와; 그리고
    사용자 인터페이스를 통해, 도메인 인덱스 매트릭스의 적어도 일부에 대한 정의를 수신하는 단계를 포함하는 것을 특징으로 하는 컴퓨터 구현 방법.
  15. 제1항 내지 제14항 중 어느 한 항에 있어서,
    도메인 인덱스 매트릭스와 상이한 제2 도메인 인덱스 매트릭스를 결정하는 단계와;
    입력 매트릭스 및 제2 도메인 인덱스 매트릭스를 기계 학습 모델에 제공하는 단계와; 그리고
    기계 학습 모델에 의해 상기 입력 매트릭스 및 제2 도메인 인덱스 매트릭스에 기초하여, 출력 매트릭스와 상이한 제2 출력 매트릭스를 생성하는 단계를 더 포함하는 것을 특징으로 하는 컴퓨터 구현 방법.
  16. 제1항 내지 제15항 중 어느 한 항에 있어서,
    상기 입력 매트릭스 및 출력 매트릭스는 각각 제1 차원을 갖고,
    상기 도메인 인덱스 매트릭스는 제1 차원보다 작고 기계 학습 모델의 잠재 공간에 해당하는 2차원을 가지며,
    상기 출력 매트릭스를 생성하는 단계는 입력 매트릭스의 잠재 공간 표현을 생성하는 단계를 포함하고, 그리고
    주어진 도메인 인덱스 값은 (i) 제1 차원에서 표현되는 입력 매트릭스의 복수의 입력 값 및 (ii) 제2 차원에서, 입력 매트릭스의 잠재 공간 표현의 일부로서 복수의 입력 값을 나타내는 단일 잠재 공간 값에 대응하는 것을 특징으로 하는 컴퓨터 구현 방법.
  17. 시스템으로서,
    프로세서; 및
    프로세서에 의해 실행될 때 프로세서로 하여금 제1항 내지 제16항 중 어느 한 항에 따른 동작들을 수행하게 하는 명령들을 저장한 비-일시적 컴퓨터 판독 가능 매체를 포함하는 시스템.
  18. 컴퓨팅 디바이스에 의해 실행될 때 컴퓨팅 디바이스로 하여금 제1항 내지 제16항 중 어느 한 항에 따른 동작들을 수행하게 하는 명령을 저장한 비-일시적 컴퓨터 판독 가능 매체.
KR1020227043711A 2021-07-26 2021-07-26 다중 도메인 데이터 세트를 이용한 기계 학습 예측 생성 KR20230018398A (ko)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2021/043134 WO2023009101A1 (en) 2021-07-26 2021-07-26 Generation of machine learning predictions using multiple domain data sets

Publications (1)

Publication Number Publication Date
KR20230018398A true KR20230018398A (ko) 2023-02-07

Family

ID=77358389

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020227043711A KR20230018398A (ko) 2021-07-26 2021-07-26 다중 도메인 데이터 세트를 이용한 기계 학습 예측 생성

Country Status (5)

Country Link
EP (1) EP4154182A1 (ko)
JP (1) JP7448693B2 (ko)
KR (1) KR20230018398A (ko)
CN (1) CN115885298A (ko)
WO (1) WO2023009101A1 (ko)

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010272109A (ja) 2009-04-20 2010-12-02 Fujifilm Corp 画像処理装置、画像処理方法およびプログラム
WO2020107022A1 (en) 2018-11-23 2020-05-28 Slingshot Aerospace, Inc. Signal processing workflow engine incorporating graphical user interface for space situational awareness
US10937416B2 (en) * 2019-02-01 2021-03-02 International Business Machines Corporation Cross-domain multi-task learning for text classification
US11885907B2 (en) 2019-11-21 2024-01-30 Nvidia Corporation Deep neural network for detecting obstacle instances using radar sensors in autonomous machine applications

Also Published As

Publication number Publication date
EP4154182A1 (en) 2023-03-29
JP7448693B2 (ja) 2024-03-12
WO2023009101A1 (en) 2023-02-02
JP2023538799A (ja) 2023-09-12
CN115885298A (zh) 2023-03-31

Similar Documents

Publication Publication Date Title
US10205896B2 (en) Automatic lens flare detection and correction for light-field images
US11663733B2 (en) Depth determination for images captured with a moving camera and representing moving features
US9639945B2 (en) Depth-based application of image effects
US10949958B2 (en) Fast fourier color constancy
US20210383199A1 (en) Object-Centric Learning with Slot Attention
Banterle et al. A framework for inverse tone mapping
JP7333467B2 (ja) 学習に基づくレンズフレア除去
Luo et al. Bokeh rendering from defocus estimation
WO2012040162A1 (en) Color correction for digital images
CN112153360B (zh) 头戴设备的曝光参数的确定方法、装置及设备
US11790550B2 (en) Learnable cost volume for determining pixel correspondence
KR20230018398A (ko) 다중 도메인 데이터 세트를 이용한 기계 학습 예측 생성
EP4055556B1 (en) Defocus blur removal and depth estimation using dual-pixel image data
Annighofer et al. Prediction of results from subjective evaluation of real-time-capable tone-mapping operators applied to limited high-dynamic-range images
CN116250002A (zh) 具有软分层和深度感知的修复的单幅图像3d摄影
US11900258B2 (en) Learning device, image generating device, learning method, image generating method, and program
US20220383628A1 (en) Conditional Object-Centric Learning with Slot Attention for Video and Other Sequential Data
KR20200041548A (ko) 모바일 장치 및 모바일 장치의 제어 방법
US12008738B2 (en) Defocus blur removal and depth estimation using dual-pixel image data
EP3944155A2 (en) Object-centric learning with slot attention
US20230153960A1 (en) Merging Split-Pixel Data For Deeper Depth of Field
WO2023136822A1 (en) Machine learning models for example-guided image inpainting
WO2023244272A1 (en) Highlight video generation
KR20230149615A (ko) 빛 추정 방법 및 장치
TW201441971A (zh) 採用梯度域梅特羅波利斯光傳輸以呈像圖形之方法與系統