JP7448693B2 - 複数のドメインデータセットを用いた機械学習の予測の生成 - Google Patents

複数のドメインデータセットを用いた機械学習の予測の生成 Download PDF

Info

Publication number
JP7448693B2
JP7448693B2 JP2022580471A JP2022580471A JP7448693B2 JP 7448693 B2 JP7448693 B2 JP 7448693B2 JP 2022580471 A JP2022580471 A JP 2022580471A JP 2022580471 A JP2022580471 A JP 2022580471A JP 7448693 B2 JP7448693 B2 JP 7448693B2
Authority
JP
Japan
Prior art keywords
training
matrix
input
domain index
value
Prior art date
Legal status (The legal status 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 status listed.)
Active
Application number
JP2022580471A
Other languages
English (en)
Other versions
JP2023538799A (ja
Inventor
倫次 金沢
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Google LLC
Original Assignee
Google LLC
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 Google LLC filed Critical Google LLC
Publication of JP2023538799A publication Critical patent/JP2023538799A/ja
Application granted granted Critical
Publication of JP7448693B2 publication Critical patent/JP7448693B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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
    • 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
    • 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
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/77Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
    • G06V10/771Feature selection, e.g. selecting representative features from a multi-dimensional feature space
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • 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)
  • General Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • Computing Systems (AREA)
  • Evolutionary Computation (AREA)
  • Databases & Information Systems (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Multimedia (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Molecular Biology (AREA)
  • Image Analysis (AREA)

Description

機械学習モデルは、とりわけ、画像、時系列、テキスト、および/または点群を含む様々な種類のデータを処理するために使用される場合がある。機械学習モデルの改良は、モデルがデータの処理をより高速に実行することおよび/または処理により少ない計算資源を利用することを可能にする。
「Towards Robust Monocular Depth Estimation: Mixing Datasets for Zero-shot Cross-dataset Transfer」、Ranfltら、arXiv:1907.01341v3
機械学習モデルが、複数の訓練データ分布(training data distribution)を使用して、特定のタスクを実行するように訓練される場合がある。訓練データ分布は、互いに異なっていてよく、各訓練データ分布は、異なる属性に関連付けられる。機械学習モデルは、入力行列およびドメインインデックス行列(domain index matrix)に基づいて出力行列を生成するように構成されてよい。入力行列は、特定のタスクの実行の一部として機械学習モデルによって処理される入力データを表す場合がある。ドメインインデックス行列は、複数の訓練データ分布の各々が出力行列に影響を与える程度を制御してよい。特に、ドメインインデックス行列の各要素のドメインインデックス値(domain index value)が、出力行列の1つまたは複数の対応する出力値の属性を制御してよい。したがって、出力行列の属性は、ドメインインデックス行列のドメインインデックス値を変化させることによって変化させられてよく、属性の可能な範囲は、複数の訓練データ分布に基づく。
第1の例示的な実施形態においては、方法が、入力データを表す入力行列を取得するステップを含んでよい。方法は、入力行列のそれぞれの入力値に関して、それぞれの入力値に対応する出力値を生成する際に使用される対応する訓練データ分布を示す対応するドメインインデックス値を含むドメインインデックス行列を決定するステップも含んでよい。対応する訓練データ分布は、複数の訓練データ分布のうちの1つであってよい。方法は、複数の訓練データ分布を使用して出力行列を生成するように訓練された機械学習モデルに、入力行列およびドメインインデックス行列を提供するステップをさらに含んでよい。複数の訓練データ分布のそれぞれの訓練データ分布は、複数の訓練データ分布のその他の訓練データ分布の対応する属性と異なる属性に関連付けられてよい。方法は、機械学習モデルによって、入力行列およびドメインインデックス行列に基づいて、入力行列のそれぞれの入力値に関して、対応する出力値が対応する訓練データ分布の属性を示すように(i)それぞれの入力値および(ii)対応するドメインインデックス値に基づいて生成された対応する出力値を含む出力行列を生成するステップをさらに含んでよい。
第2の例示的な実施形態においては、システムが、プロセッサと、プロセッサによって実行されるときに、プロセッサに第1の例示的な実施形態による動作を実行させる命令を記憶させた非一時的コンピュータ可読媒体とを含んでよい。
第3の例示的な実施形態においては、非一時的コンピュータ可読媒体が、コンピューティングデバイスによって実行されるときに、コンピューティングデバイスに第1の例示的な実施形態による動作を実行させる命令を記憶させられていてよい。
第4の例示的な実施形態においては、システムが、第1の例示的な実施形態の動作の各々を実行するための様々な手段を含んでよい。
これらのおよびその他の実施形態、態様、利点、および代替案は、添付の図面を適宜参照しながら以下の詳細な説明を読むことによって当業者に明らかになるであろう。さらに、この概要ならびに本明細書において提供されるその他の説明および図は、例として実施形態を示すようにのみ意図されており、したがって、多数の変化が、可能である。たとえば、構造的要素およびプロセスのステップは、請求される実施形態の範囲内に留まりながら、再配置されるか、組み合わされるか、分散されるか、除去されるか、またはその他の方法で変更され得る。
本明細書において説明される例によるコンピューティングデバイスを示す図である。 本明細書において説明される例によるコンピューティングシステムを示す図である。 本明細書において説明される例による訓練データ分布を示す図である。 本明細書において説明される例によるシステムを示す図である。 本明細書において説明される例による入力行列、ドメインインデックス行列、および出力行列の態様を示す図である。 本明細書において説明される例による訓練システムを示す図である。 本明細書において説明される例による画像を示す図である。 本明細書において説明される例による深度画像を示す図である。 本明細書において説明される例による深度画像を示す図である。 本明細書において説明される例による深度画像を示す図である。 本明細書において説明される例による深度画像を示す図である。 本明細書において説明される例による流れ図である。
例示的な方法、デバイス、およびシステムが、本明細書において説明される。語「例」および「例示的な」は、本明細書においては、「例、具体例、または事例としての役割を果たす」ことを意味するために使用されることを理解されたい。本明細書において「例」、「例示的」、および/または「説明的」であると記載されたいずれの実施形態または特徴も、そのような記載がない限り必ずしもその他の実施形態または特徴よりも好ましいかまたは有利であると解釈されるべきではない。したがって、本明細書において提示される対象の範囲を逸脱することなく、その他の実施形態が利用される場合があり、その他の変更がなされる場合がある。
したがって、本明細書において説明される例示的な実施形態は、限定的であるように意図されていない。本明細書において全体的に説明され、図面に図示される本開示の態様は、多種多様な異なる構成で配置され、置き換えられ、組み合わされ、分けられ、設計されることが可能であることが容易に理解されるであろう。
さらに、文脈がそうでないことを示唆しない限り、図の各々に示される特徴は、互いに組み合わせて使用されてよい。したがって、すべての図示された特徴が各実施形態に必要であるとは限らないとの理解の下に、図は、概して、1つまたは複数の全体的な実施形態の構成要素の態様と見なされるべきである。
さらに、本明細書または請求項における要素、ブロック、またはステップのすべての列挙は、明瞭にすることを目的とする。したがって、そのような列挙は、これらの要素、ブロック、またはステップが特定の配置を忠実に守ることまたは特定の順序で実行されることを要求または示唆するものと解釈されるべきでない。特に断りのない限り、図は、正確な縮尺で描かれていない。
I. 概要
機械学習モデルは、訓練入力と対応するグラウンドトゥルース(ground-truth)出力との複数のペアを含む対応する訓練データセット(すなわち、訓練データ分布)を使用して、タスクを実行するように訓練されてよい。場合によっては、複数の異なる訓練データセットが、所与のタスクに関して利用可能である場合があり、訓練データセットの属性が、互いに異なる場合がある。たとえば、第1の訓練データセットが、タスクに関連する1つまたは複数の第1の条件に関する正確なグラウンドトゥルースデータを含む場合がある一方、第2の訓練データセットは、1つまたは複数の第1の条件に関しては不正確であるが、1つまたは複数の第2の条件に関しては正確であるグラウンドトゥルースデータを含む場合がある。訓練データセット間のこの違いは、あり得る要因の中でもとりわけ、訓練データの生成に使用されるセンサーの特性、センサーデータの処理および/もしくは訓練データの生成に使用されるアルゴリズムの特性、訓練データの手動アノテータ間の差異、ならびに/または訓練データによって表される異なる条件の発生の頻度を含む、正確なグラウンドトゥルースデータの取得に関連する様々な実際的制約の結果である可能性がある。
複数の訓練データセットを明示的に区別することなく、それらの訓練データセットの和を使用して機械学習モデルを訓練することは、これらの訓練データセットのグラウンドトゥルースの平均に近似する出力を生成することを機械学習モデルが学習する結果となる場合がある。しかし、所与の条件に関するグラウンドトゥルースが訓練データセット間で異なるとき、平均的な結果が不正確になり、一部の条件下で不正確な結果を生成する機械学習モデルをもたらす場合がある。したがって、機械学習モデルは、その代わりに、推論時に、機械学習モデルが出力データを生成する際に使用するべき1つまたは複数の訓練データセット(これらの訓練データセットに基づいて、機械学習モデルは既に訓練されている)を明示的に示すために、ドメインインデックス行列が使用されることを可能にするように訓練されてよい。特に、訓練中、機械学習モデルは、対応する学習サンプルが取得される訓練データセットを知らされてよい。したがって、推論時に、機械学習モデルは、ドメインインデックス行列によって指定された訓練データセットと同じ属性を有する出力を生成するように構成されてよい。
特に、ドメインインデックス行列は、複数の要素を含んでよく、要素の各々が、1つまたは複数のドメインインデックス値に関連付けられてよい。特定の要素の1つまたは複数のドメインインデックス値は、たとえば、機械学習モデルの訓練に使用される異なる訓練データ分布の数に等しい数の値を含んでよい。ドメインインデックス行列の各行列要素と、ひいては、その対応する1つまたは複数のドメインインデックス値とは、入力行列の1つまたは複数の入力値に対応する場合がある。たとえば、ドメインインデックス行列の所与の行列要素のドメインインデックス値は、たとえば、入力行列の1、2、4、8、または16個の対応する要素が出力行列の対応する出力値を生成するために処理される方法を制御してよい。したがって、1つまたは複数のドメインインデックス値は、1つまたは複数の入力値に基づいて出力値を生成する際に、どの1つまたは複数の訓練データ分布がモデル化および/または模倣されるべきかを機械学習モデルに示してよい。したがって、出力行列の属性は、ドメインインデックス行列を使用して、異なる訓練データ分布が出力行列の所与のピクセルおよび/または所与のピクセルグループに影響を与えることになる程度を指定することにより、ピクセルおよび/またはピクセルグループごとに制御されてよい。
一部の実装形態において、機械学習モデルは、ドメイン検出モデル(domain detection model)と組み合わせて訓練される場合がある。ドメイン検出モデルは、訓練入力行列およびグラウンドトゥルースドメインインデックス行列に基づいて、訓練ドメインインデックス行列を決定するために訓練プロセス中に使用されてよい。機械学習モデルは、訓練ドメインインデックス行列および対応する訓練入力行列に基づいて、訓練出力行列を生成するために使用されてよい。訓練ドメインインデックス行列を使用する機械学習モデルの訓練は、機械学習モデルが、ノイズによりうまく対処すること、異なる訓練データ分布から情報を集約すること、および/または異なる訓練データ分布の属性を混合する出力を生成することを学習することを可能にする場合がある。
さらに、機械学習モデルは、訓練の結果として、単一の入力行列に基づいて、それぞれが対応するドメインインデックス行列に関連付けられた複数の異なる出力行列を生成するように構成されてよい。したがって、機械学習モデルを再学習するによるのではなく、ドメインインデックス行列の値を調整することによって、単一の機械学習モデルが、異なる属性を有する出力を決定的に(deterministically)生成するように制御されてよい。さらに、機械学習モデルは、対応する訓練データ分布を使用して独立して訓練された複数の機械学習モデルの合計よりも小さく、したがって、より計算効率が高い(たとえば、学習し、メモリからの取り出し、および/または実行がより速い)場合がある。さらに、機械学習モデルは、複数の異なる訓練データ分布から情報を集約するので、独立して訓練されたいずれの個々のモデルよりも正確であるおよび/またはその他の点でより高品質である予測を生成する場合がある。したがって、機械学習モデルは、複数の機械学習モデルを記憶するために必要なメモリの部分よりも小さいメモリの部分に記憶される場合があり、それにもかかわらず、個々の独立して訓練されたモデルと比較して改善された予測を提供する場合がある。したがって、機械学習モデルは、デバイスが個々の独立して学習されたモデルをデプロイすることができないようなメモリが制限されているデバイスにデプロイされ得る場合がある。
II. 例示的なコンピュータデバイスおよびシステム
図1は、例示的なコンピューティングデバイス100を示す。コンピューティングデバイス100は、モバイル電話のフォームファクタで示される。しかし、コンピューティングデバイス100は、代替的に、とりわけ、ラップトップコンピュータ、タブレットコンピュータ、および/またはウェアラブルコンピューティングデバイスとして実装される場合がある。コンピューティングデバイス100は、本体102、ディスプレイ106、ならびにボタン108および110などの様々な要素を含んでよい。コンピューティングデバイス100は、前面カメラ104および背面カメラ112などの1つまたは複数のカメラをさらに含んでよい。
前面カメラ104は、本体102の、動作中に概してユーザに面する側(たとえば、ディスプレイ106と同じ側)に配置されてよい。背面カメラ112は、本体102の、前面カメラ104と反対側に配置されてよい。カメラを前面および背面と称することは任意であり、コンピューティングデバイス100は、本体102の様々な側面に配置された複数のカメラを含んでよい。
ディスプレイ106は、ブラウン管(CRT)ディスプレイ、発光ダイオード(LED)ディスプレイ、液晶(LCD)ディスプレイ、プラズマディスプレイ、有機発光ダイオード(OLED)ディスプレイ、または当技術分野で知られている任意のその他の種類のディスプレイを表す可能性がある。いくつかの例において、ディスプレイ106は、前面カメラ104および/もしくは背面カメラ112によってキャプチャされている現在の画像、これらのカメラのうちの1つもしくは複数によってキャプチャされる可能性がある画像、これらのカメラのうちの1つまたは複数によって最近キャプチャされた画像、ならびに/またこれらの画像のうちの1つもしくは複数の修正されたバージョンのデジタル表現を表示してよい。したがって、ディスプレイ106は、カメラのビューファインダとしての役割を果たす場合がある。ディスプレイ106は、コンピューティングデバイス100の1つまたは複数の点の設定および/または構成を調整することが可能であってよいタッチスクリーン機能をサポートする場合もある。
前面カメラ104は、イメージセンサーと、レンズなどの関連する光学素子とを含んでよい。前面カメラ104は、ズーム機能を提供する場合があり、または決まった焦点距離を有する可能性がある。その他の例においては、交換可能なレンズが、前面カメラ104とともに使用される可能性がある。前面カメラ104は、可変の機械式の絞りと、機械式および/または電子式シャッターとを有していてよい。また、前面カメラ104は、静止画、動画、またはその両方をキャプチャするように構成される可能性がある。さらに、前面カメラ104は、たとえば、モノスコピック(monoscopic)、ステレオスコピック、またはマルチスコピック(multiscopic)カメラを表す可能性がある。背面カメラ112は、同様にまたは異なるように配置されてよい。さらに、前面カメラ104および/または背面カメラ112のうちの1つまたは複数は、1つまたは複数のカメラのアレイであってよい。
前面カメラ104および/または背面カメラ112のうちの1つまたは複数は、目標の物体(object)を照らすための光フィールド(light field)を提供する照明コンポーネントを含むかまたはそれに関連付けられてよい。たとえば、照明コンポーネントは、目標の物体にフラッシュまたは一定の照明を提供する可能性がある。また、照明コンポーネントは、構造化光(structured light)、偏光、および特定のスペクトル成分を有する光のうちの1つまたは複数を含む光フィールドを提供するように構成される可能性がある。物体から3次元(3D)モデルを得るために使用される、知られているその他の種類の光フィールドが、本明細書の例の文脈内であり得る。
コンピューティングデバイス100は、カメラ104および/または112がキャプチャすることができるシーンの周囲の明るさを連続的にまたは随判定する場合がある周囲光センサーも含んでよい。一部の実装形態において、周囲光センサーは、ディスプレイ106の表示の明るさを調整するために使用され得る。さらに、周囲光センサーは、カメラ104または112の1つまたは複数の露出の長さを決定するために、またはこの決定を助けるために使用されてよい。
コンピューティングデバイス100は、ディスプレイ106ならびに前面カメラ104および/または背面カメラ112を使用して目標の物体の画像をキャプチャするように構成される可能性がある。キャプチャされた画像は、複数の静止画または動画ストリームである可能性がある。画像のキャプチャは、ボタン108を作動させること、ディスプレイ106上のソフトキーを押すこと、または何らかのその他のメカニズムによってトリガされる可能性がある。実装に応じて、画像は、たとえば、ボタン108を押すと、目標の物体の適切な照明条件で、コンピューティングデバイス100を所定の距離移動させると、または所定のキャプチャスケジュールに従って、特定の時間間隔で自動的にキャプチャされる可能性がある。
図2は、例示的なコンピューティングシステム200のコンポーネントの一部を示す簡略化されたブロック図である。例として、限定なしに、コンピューティングシステム200は、セルラーモバイル電話(たとえば、スマートフォン)、(デスクトップ、ノートブック、タブレット、もしくはハンドヘルドコンピュータなどの)コンピュータ、ホームオートメーションコンポーネント、デジタルビデオレコーダ(DVR)、デジタルテレビ、リモコン、ウェアラブルコンピューティングデバイス、ゲームコンソール、ロボットデバイス、乗り物、または何らかのその他の種類のデバイスであってよい。コンピューティングシステム200は、たとえば、コンピューティングデバイス100の態様を表す可能性がある。
図2に示されるように、コンピューティングシステム200は、通信インターフェース202、ユーザインターフェース204、プロセッサ206、データストレージ208、およびカメラコンポーネント224を含み、これらのすべては、システムバス、ネットワーク、またはその他の接続メカニズム210によって通信可能なように一緒にリンクされてよい。コンピューティングシステム200は、少なくともいくつかの画像キャプチャおよび/または画像処理能力を備えていてよい。コンピューティングシステム200は、物理的な画像処理システム、画像感知および/または処理アプリケーションがソフトウェアで動作する特定の物理的なハードウェアプラットフォーム、または画像キャプチャおよび/もしくは処理機能を実行するように構成されるハードウェアとソフトウェアとのその他の組合せを表す場合があることを理解されたい。
通信インターフェース202は、コンピューティングシステム200が、アナログまたはデジタル変調を使用してその他のデバイス、アクセスネットワーク、および/またはトランスポートネットワークと通信することを可能する場合がある。したがって、通信インターフェース202は、一般電話サービス(POTS: plain old telephone service)通信および/またはインターネットプロトコル(IP)もしくはその他のパケット通信などの回線交換および/またはパケット交換通信を容易にする場合がある。たとえば、通信インターフェース202は、無線アクセスネットワークまたはアクセスポイントとのワイヤレス通信のために配置されたチップセットおよびアンテナを含んでよい。また、通信インターフェース202は、イーサネット、ユニバーサルシリアルバス(USB)、または高精細度マルチメディアインターフェース(HDMI(登録商標))ポートなどの有線インターフェースの形態をとるかまたはそのような有線インターフェースを含んでよい。通信インターフェース202は、Wi-Fi、BLUETOOTH(登録商標)、全地球測位システム(GPS)、または広域ワイヤレスインターフェース(たとえば、WiMAXもしくは3GPP(登録商標)ロングタームエボリューション(LTE))などのワイヤレスインターフェースの形態をとるかまたはそのようなワイヤレスインターフェースを含んでもよい。しかし、その他の形態の物理レイヤインターフェースおよびその他の種類の標準または独自仕様の通信プロトコルが、通信インターフェース202上で使用されてよい。さらに、通信インターフェース202は、複数の物理的な通信インターフェース(たとえば、Wi-Fiインターフェース、BLUETOOTH(登録商標)インターフェース、および広域ワイヤレスインターフェース)を含んでよい。
ユーザインターフェース204は、コンピューティングシステム200が、ユーザから入力を受け取り、ユーザに出力を提供するなど、人間のまたは人間以外のユーザとインタラクションすることを可能にするように機能してよい。したがって、ユーザインターフェース204は、キーパッド、キーボード、タッチパネル、コンピュータマウス、トラックボール、ジョイスティック、マイクロフォンなどの入力コンポーネントを含んでよい。ユーザインターフェース204は、たとえば、タッチパネルと組み合わされる場合がある、ディスプレイスクリーンなどの1つまたは複数の出力コンポーネントも含んでよい。ディスプレイスクリーンは、CRT、LCD、および/もしくはLEDテクノロジー、または現在知られているもしくは将来開発されるその他のテクノロジーに基づく場合がある。ユーザインターフェース204は、スピーカ、スピーカジャック、音声出力ポート、音声出力デバイス、イヤホン、および/またはその他の同様のデバイスを介して可聴出力を生成するように構成されてもよい。ユーザインターフェース204は、マイクロフォンおよび/またはその他の同様のデバイスによって可聴の発話、ノイズ、および/または信号を受信するおよび/またはキャプチャするように構成されてもよい。
いくつかの例において、ユーザインターフェース204は、コンピューティングシステム200によってサポートされるスチルカメラおよび/またはビデオカメラ機能のためのビューファインダとしての役割を果たすディスプレイを含む場合がある。さらに、ユーザインターフェース204は、カメラ機能の構成および焦点合わせ、ならびに画像のキャプチャを容易にする1つまたは複数のボタン、スイッチ、ノブ、および/またはダイヤルを含んでよい。これらのボタン、スイッチ、ノブ、および/またはダイヤルの一部またはすべては、タッチパネルによって実装されることが可能である場合がある。
プロセッサ206は、1つもしくは複数の汎用プロセッサ--たとえば、マイクロプロセッサ--および/または1つもしくは複数の専用プロセッサ--たとえば、デジタル信号プロセッサ(DSP)、グラフィックス処理ユニット(GPU)、浮動小数点ユニット(FPU)、ネットワークプロセッサ、もしくは特定用途向け集積回路(ASIC)を含んでよい。場合によっては、専用プロセッサは、とりわけ、画像処理、画像の位置合わせ、および画像の合併が可能である場合がある。データストレージ208は、磁気、光、フラッシュ、または有機ストレージなどの1つまたは複数の揮発性および/または不揮発性ストレージコンポーネントを含んでよく、全体または一部がプロセッサ206と統合されてよい。データストレージ208は、取り外し可能および/または取り外し不可能なコンポーネントを含んでよい。
プロセッサ206は、データストレージ208に記憶されたプログラム命令218(たとえば、コンパイルされたまたはコンパイルされていないプログラム論理および/または機械コード)を実行して、本明細書において説明される様々な機能を実行することができる場合がある。したがって、データストレージ208は、コンピューティングシステム200によって実行されるとコンピューティングシステム200に、本明細書および/または添付の図面に開示された方法、プロセス、または動作のいずれかを実行させるプログラム命令を記憶した非一時的コンピュータ可読媒体を含んでよい。プロセッサ206によるプログラム命令218の実行は、プロセッサ206がデータ212を使用する結果となる場合がある。
例として、プログラム命令218は、コンピューティングシステム200にインストールされたオペレーティングシステム222(たとえば、オペレーティングシステムカーネル、デバイスドライバ、および/もしくはその他のモジュール)および1つもしくは複数のアプリケーションプログラム220(たとえば、カメラ機能、アドレス帳、電子メール、ウェブブラウジング、ソーシャルネットワーク、音声テキスト変換機能、テキスト翻訳機能、および/もしくはゲームアプリケーション)を含む場合がある。同様に、データ212は、オペレーティングシステムデータ216およびアプリケーションデータ214を含んでよい。オペレーティングシステムデータ216は、主にオペレーティングシステム222にアクセス可能であってもよく、アプリケーションデータ214は、主にアプリケーションプログラム220の1つまたは複数にアクセス可能であってもよい。アプリケーションデータ214は、コンピューティングシステム200のユーザに見えるまたはユーザから隠されたファイルシステムに配置されてよい。
アプリケーションプログラム220は、1つまたは複数のアプリケーションプログラミングインターフェース(API)を介してオペレーティングシステム222と通信してよい。これらのAPIは、たとえば、アプリケーションプログラム220がアプリケーションデータ214を読むことおよび/または書くこと、通信インターフェース202を介して情報を送信することまたは受信すること、ユーザインターフェース204上で情報を受け取ることおよび/または表示することなどを容易にする場合がある。
場合によっては、アプリケーションプログラム220は、略して「アプリ」と呼ばれる場合がある。さらに、アプリケーションプログラム220は、1つまたは複数のオンラインアプリケーションストアまたはアプリケーションマーケットを通じてコンピューティングシステム200にダウンロード可能である場合がある。しかし、アプリケーションプログラムは、ウェブブラウザを介して、またはコンピューティングシステム200上の物理的なインターフェース(たとえば、USBポート)を通じてなど、その他の方法でコンピューティングシステム200にインストールされることも可能である。
カメラコンポーネント224は、絞り、シャッター、記録面(たとえば、写真フィルムおよび/もしくはイメージセンサー)、レンズ、シャッターボタン、赤外線投光器、ならびに/または可視光投光器を含む場合があるがこれらに限定されない。カメラコンポーネント224は、とりわけ、可視光スペクトル(たとえば、380~700ナノメートルの波長を有する電磁放射線)の画像のキャプチャのために構成されたコンポーネント、および/または赤外光スペクトル(たとえば、701ナノメートル~1ミリメートルの波長を有する電磁放射線)の画像のキャプチャのために構成されたコンポーネントを含んでよい。カメラコンポーネント224は、プロセッサ206によって実行されるソフトウェアによって少なくとも部分的に制御されてよい。
III. 例示的な訓練データ分布
図3は、複数の訓練データ分布を示し、それらの訓練データ分布の各々は、特定のタスクを実行するように機械学習モデルを訓練するために使用されてよい。特に、図3は、訓練データ分布300、訓練データ分布320、および訓練データ分布340を含み、これらは、まとめて訓練データ分布300~340と呼ばれる場合がある。各訓練データ分布は、対応する複数の訓練サンプルを含んでよい。特に、訓練データ分布300は、訓練サンプル302を含んでよく、訓練データ分布320は、訓練サンプル322を含んでよく、訓練データ分布340は、訓練サンプル342を含んでよい。訓練サンプル302、322、および342のそれぞれの訓練サンプルは、対応する訓練入力および対応するグラウンドトゥルース出力を含んでよい。
訓練データ分布300~340は、1つまたは複数の属性が互いに異なる場合がある。特に、訓練データ分布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は、その他の属性のうちの1つもしくは複数に基づいて、および/またはその他の属性のうちの1つもしくは複数の関数として変化する場合がある。周波数成分308は、訓練サンプル302によって表される対応する訓練入力および/またはグラウンドトゥルース出力によって表される周波数を示す場合がある。一例において、訓練サンプル302が画像データを表すとき、周波数成分308は、画像データ内に存在する空間周波数成分を表す場合がある。別の例において、訓練サンプル302が音声データを表すとき、周波数成分308は音声周波数成分を表す場合がある。
統計的特性310は、訓練サンプル302によって表される対応する訓練入力および/またはグラウンドトゥルース出力の1つまたは複数の統計的特性を示す場合がある。統計的特性310は、サンプル302の様々な点の、とりわけ、平均、中央値、最頻値、範囲、分散、および/または標準偏差などを含む場合がある。特徴クラス312は、訓練サンプル302に存在する特徴の、訓練サンプル302によって表される1つまたは複数の分類を示す場合がある。特徴は、たとえば、物体、音、単語、および/またはそれらのパターンを含む場合があり、訓練サンプル302によって表されるデータの種類(たとえば、画像、音声、テキストなど)に依存する場合がある。データソース314は、訓練サンプル302が取得された、および/または訓練サンプル302が生成されたソースを示す場合がある。データソース314は、たとえば、とりわけ、サンプル302の生成に関与するセンサーの種類、サンプル302の生成に関与するアルゴリズム、および/または訓練データ分布300に関連する一意識別子を示す場合がある。
一例において、訓練データ分布300、320、および340は、機械学習モデルが、対応するモノスコピック画像に基づいて深度画像を生成することを学習することを可能にする場合がある。訓練サンプル302、322、および342は、それぞれ、(i)それぞれの訓練モノスコピック画像(たとえば、赤緑青(RGB)画像)および(ii)対応するグラウンドトゥルース深度画像の複数のペアを含んでよい。対応するグラウンドトゥルース深度画像は、たとえば、深度情報の決定を可能にする複数の異なる入力画像データのうちの1つに基づいて、および/または複数の異なる深度決定アルゴリズムのうちの1つを使用して深度データを決定するために入力画像データを処理することによって、各訓練サンプルに関して複数の方法のうちのそれぞれの方法で生成された可能性がある。たとえば、訓練サンプル302に関して、グラウンドトゥルース深度画像は、1つまたは複数のステレオスコピックカメラから取得されたステレオスコピック画像データおよび/または視差データに基づいて生成された可能性がある。訓練サンプル322に関して、グラウンドトゥルース深度画像は、1つまたは複数のマルチピクセル(multi-pixel)カメラによって生成されたマルチピクセル(たとえば、デュアルピクセル(dual-pixel))画像に基づいて生成された可能性がある。訓練サンプル342に関して、グラウンドトゥルース深度画像は、Ranfltらによって執筆され、arXiv:1907.01341v3として公開された「Towards Robust Monocular Depth Estimation: Mixing Datasets for Zero-shot Cross-dataset Transfer」と題された論文において検討されたMiDaSモデルなどの別の機械学習モデルによる複数のモノスコピック画像の処理に基づいて生成された可能性がある。
したがって、訓練サンプル302は、高周波成分を含み、よって、様々な特徴の深度を詳細に表すグラウンドトゥルース深度画像を含んでよい。訓練サンプル302は、ノイズも含む可能性があり、したがって、様々な特徴のいくつかの部分の深度を不正確に表す可能性がある。訓練サンプル322は、テクスチャを有する(textured)特徴(たとえば、高周波成分を有する画像領域)の深度を正確に表すが、テクスチャ(texture)をほとんどまたはまったく有さない特徴および/または領域(たとえば、低周波成分を有する画像領域)に関しては不正確である可能性があるグラウンドトゥルース画像を含む場合がある。訓練サンプル342は、概して正確であるが、比較的低い周波数の深度を表し、したがって、高周波数の詳細が欠けているグラウンドトゥルース画像を含む場合がある。
したがって、訓練データ分布300、320、および340の各々は、状況/条件の第1の組の下で比較的正確である場合があり、状況/条件の第2の組の下で比較的正確でない場合がある。訓練データ分布300を使用して訓練された機械学習モデルは、訓練データ分布300の属性を示す出力を生成する場合があり、訓練データ分布320を使用して訓練された機械学習モデルは、訓練データ分布320の属性を示す出力を生成する場合があり、訓練データ分布340を使用して訓練された機械学習モデルは、訓練データ分布340の属性を示す出力を生成する場合がある。
訓練データ分布300、320、および340の和を表す組み合わされたデータセットを使用して訓練された機械学習モデルは、これらのデータ分布に関連するグラウンドトゥルースの平均をおおよそ予測することを学習する可能性がある。これは、2つの訓練データ分布が大きく異なり、一方の分布が正確なグラウンドトゥルース出力を表し、他方が不正確なグラウンドトゥルース出力を表す場合、結果として得られる平均がそれにもかかわらず不正確になる可能性があるので、望ましくない場合がある。単に組み合わされたデータセットを使用して機械学習モデルを訓練する代わりに、機械学習モデルは、そうではなく、所与の訓練サンプルがどの分布に属するかを認識し、したがって、出力の異なる部分が異なる訓練データ分布に基づく程度を決定的に制御するように訓練されてよい。
IV. 機械学習モデルのためのドメイン選択を用いる例示的なシステム
図4は、複数の異なる訓練データ分布が出力を生成するために機械学習モデルによってどのようにして使用されるかの制御を可能にするように構成されてよいシステム400を示す。特に、システム400は、機械学習モデル404およびドメインインデックス行列ジェネレータ406を含んでよい。システム400は、入力行列402に基づいて出力行列410を生成するように構成されてよい。システム400は、ハードウェアとして、ソフトウェアとして、またはそれらの組合せとして実装されてよい。たとえば、システム400は、コンピューティングデバイス100および/またはコンピューティングシステム200によって実装されてよい。
入力行列402および/または出力行列410は、たとえば、行列として表される場合がある種類のデータの中でもとりわけ、画像、点群、テキスト、および/または波形を含む様々な種類のデータを表す場合がある。たとえば、入力行列402は、入力画像を表す(たとえば、入力画像のピクセルに関連する複数の値を表す)場合があり、一方、出力行列410は、入力画像に基づいて生成され、入力画像の内容に追加された内容を含む出力画像を表す。入力行列402および出力行列410は、1以上の階数を有するテンソルの代表例と見なされてよい。たとえば、行列402および/または410は、Hx1(すなわち、列ベクトル)、1xW(すなわち、行ベクトル)、HxW(すなわち、行列、または階数2のテンソル)、HxWxD(すなわち、階数3のテンソル)などの次元を有する場合がある。入力行列402および/または出力行列410の次元は、要因の中でもとりわけ、それによって表されるデータの種類、機械学習モデル404のアーキテクチャ/構造、および/または機械学習モデル404によって実行されているタスクに依存してよい。
機械学習モデル404は、複数の訓練データ分布(たとえば、300、320、および340)を使用して、入力行列402およびドメインインデックス行列408に基づいて出力行列410を生成するように訓練された可能性がある。特に、ドメインインデックス行列408は、出力行列410の異なる部分を生成する際に使用される、複数の訓練データ分布のうちの1つまたは複数の選択を可能にしてよい。つまり、ドメインインデックス行列408を使用して、機械学習モデル404は、たとえば、第1の訓練データ分布の属性を示す出力行列410の第1の部分と、異なる訓練データ分布の属性を示す出力行列410の第2の部分とを生成するように制御されてよい。複数の訓練データ分布の各訓練データ分布は、それ自体のドメインを定義すると考えられてよく、したがって、ドメインインデックス値によって特定され、および/またはドメインインデックス値に関連付けられてよい。
ドメインインデックス行列ジェネレータ406は、複数のドメインインデックス値を含む場合があるドメインインデックス行列408を生成するように構成されてよい。ドメインインデックス行列408は、入力行列402のそれぞれの入力値に関して、それぞれの入力値に対応する出力値を生成する際に使用される対応する訓練データ分布を示す対応するドメインインデックス値を含んでよい。対応する訓練データ分布は、機械学習モデル404を訓練するために使用された複数の訓練データ分布のうちの1つであってよい。ドメインインデックス行列408の各ドメインインデックス値は、入力行列402の1つまたは複数の対応する入力値に関連付けられてよい。したがって、ドメインインデックス行列408は、(1つのドメインインデックス値が1つの対応する出力値を制御するようにして)ピクセル毎にまたは(1つのドメインインデックス値が2つ以上の対応する出力値を制御するようにして)ピクセルグループ毎に、出力行列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の1つまたは複数の属性を特定し、これらの属性に基づいて、ドメインインデックス行列408のための1つまたは複数のドメインインデックス値を指定してよい。ユーザは、1つもしくは複数の属性および/または似た属性に関連する訓練データ分布が、出力行列410の対応する部分を生成するために使用されるように、これらのドメインインデックス値を選択してよい。ドメインインデックス値の異なる組を選択することによって、ユーザは、機械学習モデル404を使用して、機械学習モデル404の再訓練なしに単一の入力行列に基づいて異なる出力行列を生成してよい。
その他の実装形態において、ドメインインデックス行列ジェネレータ406は、入力行列402に基づいて、入力行列402の1つまたは複数の属性を自動的に決定し、これらの属性に基づいて、ドメインインデックス行列408のための1つまたは複数のドメインインデックス値を生成するように構成されてよい。たとえば、ドメインインデックス行列ジェネレータ406は、入力行列402の周波数成分、統計的特性、特徴クラス、および/またはデータソースを決定および/または近似するように構成されてよい。ドメインインデックス行列ジェネレータ406は、1つもしくは複数の属性および/または似た属性に関連する訓練データ分布が出力行列410の対応する部分を生成するために使用され、一方、似ていない属性を有する訓練データ分布が出力行列410の対応する部分を生成するために使用されないように、1つまたは複数のドメインインデックス値を生成してよい。
図5は、入力行列402、ドメインインデックス行列408、および出力行列410の視覚的な例を提供する。特に、図5は、入力行列402の例を提供する6x6入力行列502と、ドメインインデックス行列408の例を提供する3x3ドメインインデックス行列508と、出力行列410の例を提供する6x6出力行列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の合計が所定の値になる(すなわち、
であり、Vは所定の値を表す)という条件の下で動作するように構成されてよい。なお、所定の値は、所定の範囲に基づいてよい。一例において、所定の値は、所定の範囲の上限RMAXに等しい場合がある。すなわち、
である(たとえば、所定の値1が0から1までの範囲に対応する場合がある)。したがって、複数のドメインインデックス値が、同時にそれぞれ最大値を有することは許されない可能性がある。別の例において、所定の値は、RMAX < V≦NRMAXであるように選択されてよい。したがって、所定の値に対する所与のドメインインデックス値の比DIi/Vは、対応する訓練データ分布によって寄与される、対応する出力値の全信号のうちの割合を表す場合がある。
その他の実装において、機械学習モデル404は、ドメインインデックス値DI1~DINの合計が所定の値になるという条件とは無関係に動作するように構成されてよい。すなわち、機械学習モデル404は、ドメインインデックス値DI1~DINの任意の組合せに関して有効な出力値を生成するように構成されてよい。したがって、ドメインインデックス値の総和に対する所与のドメインインデックス値の比
が、対応する訓練データ分布によって寄与される、対応する出力値の全信号のうちの割合を表す場合がある。
一部の実装形態において、ドメインインデックス行列508の次元は、機械学習モデル404の潜在空間の次元に対応する場合がある。たとえば、機械学習モデル404は、エンコーダ-デコーダアーキテクチャを含んでよく、潜在空間は、デコーダへの入力として提供されるエンコーダの出力に対応してよい。したがって、ドメインインデックス行列508は、(入力行列502の潜在空間表現と一緒に)デコーダへの入力として提供されてよいが、エンコーダによって処理されない可能性がある。図5の例において、潜在空間は、3x3の次元を有してよく、入力行列502は、したがって、潜在空間内の3x3行列として表されてよい。したがって、行列要素530は、入力行列502の潜在空間表現の単一の行列要素に対応してよく、この単一の行列要素は、行列要素520、522、524、および526の値を集合的に表す。その他の実装形態において、ドメインインデックス行列508は、入力行列502と同じ次元を有してよく、したがって、エンコーダへの入力として提供され、したがって、エンコーダによって処理されてよい。
V. 例示的な訓練システムおよびプロセス
図6は、機械学習モデル404のための例示的な訓練システムおよびプロセスを示す。特に、訓練システム600は、機械学習モデル404、ドメイン検出モデル606、予測損失関数616、ドメイン損失関数(domain loss function)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が高まる精度で表すように、訓練ドメインインデックス行列608を決定することを学習してよい。ドメイン損失関数612は、グラウンドトゥルースドメインインデックス行列626との訓練ドメインインデックス行列608の比較に基づいて、ドメイン損失値614を生成するように構成されてよい。したがって、ドメイン損失関数612は、訓練サンプル620が選択された訓練データ分布をドメイン検出モデル606が特定する精度を定量化するように構成されてよい。
ドメイン損失関数612は、たとえば、
として表される場合があり、xは、グラウンドトゥルースドメインインデックス行列626のすべての要素にわたって反復され、iは、所与の要素xのすべてのドメインインデックス値にわたって反復され、
は、訓練ドメインインデックス行列608の要素xの特定の訓練ドメインインデックス値を表し、
は、グラウンドトゥルースドメインインデックス行列626の対応するグラウンドトゥルースドメインインデックス値を表す。一部の実装形態において、ドメイン損失関数612は、追加的または代替的に、たとえば、とりわけ、対数、逆数、指数、最大、最小、スケーリング、および/または異なるノルム(たとえば、L-1ノルム)などのその他の関数を
および/または
に適用してよい。
機械学習モデル404は、訓練入力行列622および訓練ドメインインデックス行列608に基づいて訓練出力行列610を決定するように構成されてよい。予測損失関数616は、グラウンドトゥルース出力行列624との訓練出力行列610の比較に基づいて予測損失値618を生成するように構成されてよい。したがって、予測損失関数616は、機械学習モデル404が訓練入力行列622およびドメイン検出モデル606の出力に基づいてグラウンドトゥルース出力行列624を決定する精度を定量化するように構成されてよい。
予測損失関数616は、たとえば、
として表される場合があり、yは、グラウンドトゥルース出力行列624のすべての要素にわたって反復され、OTRAINING(y)は、訓練出力行列610の要素yの訓練出力値を表し、OGT(y)は、グラウンドトゥルース出力行列624の対応するグラウンドトゥルース出力値を表す。一部の実装形態において、予測損失関数616は、追加的または代替的に、たとえば、とりわけ、対数、逆数、指数、最大、最小、スケーリング、および/または異なるノルム(たとえば、L-1ノルム)などのその他の関数をOTRAINING(y)および/またはOGT(y)に適用してよい。たとえば、訓練出力行列610が深度画像を表すとき、予測損失関数616は、スケール不変深度/視差損失(scale-invariant depth/disparity loss)および/またはシフト不変深度/視差損失(shift-invariant depth/disparity loss)を実装する場合がある。
モデルパラメータアジャスタ630は、ドメイン損失値614および/または予測損失値618に基づいて、更新されたモデルパラメータ632を決定するように構成されてよい。モデルパラメータアジャスタ630は、これらの損失値の加重和に基づいて総損失値を決定するように構成されてよく、この総損失値は、LTOTAL = LDOMAIN +αLPREDICTIONとして表されてよく、αの値は、対応する損失値の相対的な重みを表す。更新されたモデルパラメータ632は、機械学習モデル404の1つもしくは複数の更新されたパラメータおよび/またはドメイン検出モデル606の1つもしくは複数の更新されたパラメータを含んでよい。
モデルパラメータアジャスタ630は、たとえば、総損失関数LTOTALの勾配を決定することによって、更新されたモデルパラメータ632を決定するように構成されてよい。この勾配および総損失値に基づいて、モデルパラメータアジャスタ630は、総損失値を削減し、したがって、モデル404および/または606の性能を改善することが期待される更新されたモデルパラメータ632を選択するように構成されてよい。更新されたモデルパラメータ632を機械学習モデル404および/またはドメイン検出モデル606に適用した後、別の訓練の反復が、総損失値の別のインスタンスを計算するために実行されてよく、それに基づいて、更新されたモデルパラメータ632の別のインスタンスが決定され、モデル404および/または606の性能をさらに改善するためにモデル404および/または606に適用されてよい。モデル404および606のそのような訓練は、たとえば、総損失値が目標の閾値の損失値未満に削減されるまで繰り返されてよい。
ドメイン検出モデル606は、機械学習モデル404の訓練を支援するために使用されてよいが、推論時には使用されない可能性がある。その代わりに、図4に示されるように、推論時に、ドメイン検出モデル606は、ドメインインデックス行列ジェネレータ406によって置き換えられてよい。特に、訓練時に機械学習モデル404への入力として、グラウンドトゥルースドメインインデックス行列626ではなく訓練ドメインインデックス行列608を提供することによって、機械学習モデル404は、ノイズをより堅牢に処理すること、1つの訓練データ分布からの情報を使用してその他の訓練データ分布に基づく予測を改善すること、および/または推論時に複数の異なる訓練データ分布の属性を組み合わせる/混合することを学習する場合がある。
特に、グラウンドトゥルース出力行列624は、訓練サンプル620が属する単一の対応する訓練データ分布(たとえば、DI1 = 1および
)を示す場合がある。同様に、その他のグラウンドトゥルース出力行列は、それぞれ、単一の対応する訓練データ分布を示す場合がある。それどころか、訓練ドメインインデックス行列608は、少なくとも訓練の開始時に、ドメイン検出モデル606の出力が正確でない可能性があるので、異なる訓練データ分布の混合を示す場合がある(たとえば、DI1~DINのうちの2つ以上が非ゼロである場合がある)。訓練の過程で、グラウンドトゥルースドメインインデックス行列626と訓練ドメインインデックス行列608との差は、減少する可能性があるが、両者は、値のまったく同じ集合に収束しない可能性がある。これは、機械学習モデル404を値DI1~DINの様々な組合せにさらす可能性があり、それらの組合せの一部は、ノイズを表す場合があり、一方、その他の組合せは、訓練データ分布の有効な組合せを表す場合がある。
したがって、機械学習モデル404は、ノイズの存在下でおよび/または複数の異なる訓練データ分布に基づいて、比較的正確な訓練出力行列610を予測することを学習してよい。たとえば、訓練出力610の一部が2つ以上の基礎となる訓練データ分布を使用して正しく生成される可能性がある場合、この訓練アーキテクチャは、機械学習モデル404が、両方の訓練データ分布からの情報を組み合わせて訓練出力行列610の関連する部分を生成することを学習することを可能にする場合がある。したがって、3つの異なる訓練データ分布で訓練されるとき、機械学習モデル404は、それぞれが対応するデータ分布で独立して訓練された3つの別々のモデルよりも正確に作動する場合があるおよび/またはより小さいサイズを有する場合がある。さらに、機械学習モデル404は、3つの独立して訓練されたモデルの場合であろうように3つのまったく別々の出力のみを生成するのではなく、所与の入力に関して、3つの基礎となるデータセットの様々な組合せを表す、連続的な範囲の出力を生成するように構成されてよい。
機械学習モデル404は、メモリの一部分に記憶されてよい。メモリの一部分は、独立して訓練されたモデルを記憶するために必要とされるメモリの一部分と比較して相対的に小さい場合がある。メモリの一部分は、たとえば、限られたメモリを有するデバイスのメモリの一部分である場合がある。デバイスの限られたメモリは、独立して訓練されたモデルを記憶することおよび実行することが困難であるかまたは不可能である場合があるようなものである可能性がある。すなわち、機械学習モデル404は、独立して訓練されたモデルを効果的にデプロイすることができないデバイスにデプロイされることが可能である場合がある。デバイスは、たとえば、モバイルコンピューティングデバイスであってよい。
VI. 機械学習モデルの例示的な応用
図7A、図7B、図7C、図7D、および図7Eは、モノスコピック/単眼画像に基づいて深度画像を生成するタスクへの機械学習モデル404の応用の態様を表す。特に、図7Aは、草および葉を含むシーンの画像700を含む。領域702は、比較的高周波数のテクスチャを含み、一方、領域704は、比較的低周波数のテクスチャを含む。領域702および704内の周波数成分の違いが原因で、異なる訓練データ分布は、これらの領域に関する深さ予測の異なるレベルの精度をもたらす場合がある。
特に、図7Bは、ステレオスコピックカメラの複数のペアから得られたステレオスコピック画像データおよび/または視差データに基づいて生成されたグラウンドトゥルース深度画像を有する訓練データ分布(たとえば、300)だけを使用して訓練された機械学習モデルによって画像700に基づいて生成された深度画像710を含む。深度画像710は、比較的高い空間周波数成分を有する。さらに、深度画像710によって表される深度値は、画像700のほとんどの部分に関して概して正確であるが、深度画像710は、実際の深度値と著しく異なる誤った深度値を有する比較的少数のピクセル(たとえば、画像710の5%未満)を含む。すなわち、深度画像710は、詳細であるが、ノイズが多い可能性がある。
図7Cは、1つまたは複数のマルチピクセルカメラによって生成されたマルチピクセル(たとえば、デュアルピクセル)画像に基づいて生成されたグラウンドトゥルース深度画像を有する訓練データ分布(たとえば、320)だけを使用して訓練された機械学習モデルによって画像700に基づいて生成された深度画像720を含む。深度画像720は、識別可能なテクスチャを有する領域において正確な深度値を含む可能性があるが、識別可能なテクスチャを欠く領域においては誤った深度値を含む可能性がある。したがって、深度画像720の領域702における深度値は、(たとえば、この領域に焦点が合っているので)画像720の領域704における深度値よりも(たとえば、この領域が焦点から外れているので)正確である可能性がある。深度画像720は、深度画像710よりも少ない詳細および少ないノイズを含む可能性があり、低周波数(たとえば、テクスチャのない(non-textured))領域において不正確である可能性がある。
図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を生成するために次の関数、すなわち、
を実装してよく、g = gradient(画像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の部分は、主に図7Dの訓練データ分布に基づいて生成されてよく、中間周波数は、3つの訓練データセットすべての混合を含む。λの値、ならびに/またはβに基づいてDI1、DI2、および/もしくはDI3を計算する際に使用される関数は、異なる訓練データセットの属性の所望の混合を含む深度画像を生成するために変更される場合がある。その他の実装において、ドメインインデックスジェネレータ406は、追加的または代替的に、入力行列402のその他の属性を定量化し、それに基づいて、基礎となる訓練データ分布の対応する混合を選択するように構成されてよい。
VII. 追加の例示的な動作
図8は、機械学習モデルによって、出力データが基づく訓練データ分布を決定的に選択しながら出力データを生成することに関連する動作の流れ図を示す。動作は、とりわけ、コンピューティングデバイス100、コンピューティングシステム200、システム400、および/または訓練システム600によって実行されてよい。図8の実施形態は、そこに示された特徴のうちの任意の1つまたは複数を削除することによって簡略化される場合がある。さらに、これらの実施形態は、前の図のいずれかのまたは本明細書に別途記載された特徴、態様、および/または実装形態と組み合わされてよい。
ブロック800は、入力データを表す入力行列を取得することを含んでよい。
ブロック802は、入力行列のそれぞれの入力値に関して、それぞれの入力値に対応する出力値を生成する際に使用される対応する訓練データ分布を示す対応するドメインインデックス値を含むドメインインデックス行列を決定することを含んでよい。対応する訓練データ分布は、複数の訓練データ分布のうちの1つであってよい。
ブロック804は、複数の訓練データ分布を使用して出力行列を生成するように訓練された機械学習モデルに、入力行列およびドメインインデックス行列を提供することを含んでよい。複数の訓練データ分布のそれぞれの訓練データ分布は、複数の訓練データ分布のその他の訓練データ分布の対応する属性と異なる属性に関連付けられてよい。
ブロック806は、機械学習モデルによって、入力行列およびドメインインデックス行列に基づいて、入力行列のそれぞれの入力値に関して、対応する出力値が対応する訓練データ分布の属性を示すように(i)それぞれの入力値および(ii)対応するドメインインデックス値に基づいて生成された対応する出力値を含む出力行列を生成することを含んでよい。
一部の実施形態において、それぞれの訓練データ分布の属性は、それぞれの訓練データ分布によって表される1つまたは複数の条件に関連するグラウンドトゥルースデータの精度を含んでよい。グラウンドトゥルースデータの精度は、1つまたは複数の条件の関数として、複数の訓練データ分布にわたって変化する場合がある。
一部の実施形態において、それぞれの訓練データ分布によって表される1つまたは複数の条件は、(i)グラウンドトゥルースデータの周波数成分、(ii)グラウンドトゥルースデータに対応する訓練入力の周波数成分、(iii)グラウンドトゥルースデータの統計的特性、または(iv)訓練入力の統計的特性のうちの1つまたは複数を含んでよい。
一部の実施形態において、それぞれの訓練データ分布の属性は、それぞれの訓練データ分布によって表される入力データの特徴の1つまたは複数の分類を含んでよい。1つまたは複数の分類は、入力データの特徴の複数の可能な分類のサブセットである場合がある。複数の可能な分類は、複数の訓練データ分布によって表されてよい。
一部の実施形態において、対応するドメインインデックス値は、複数のドメインインデックス値を含んでよい。複数のドメインインデックス値のそれぞれのドメインインデックス値は、予め定義された範囲から選択されてよく、それぞれの入力値に対応する出力値を生成する際に使用される対応する訓練データ分布の程度を示す場合がある。それぞれのドメインインデックス値の対応する訓練データ分布は、複数の訓練データ分布のうちの1つであってよい。
一部の実施形態において、複数のドメインインデックス値の中のドメインインデックス値の数は、複数の訓練分布の中の訓練分布の数に等しい場合がある。
一部の実施形態において、それぞれの入力値に対応する複数のドメインインデックス値の合計は、所定の値に等しい場合がある。それぞれのドメインインデックス値は、対応する訓練データ分布によって寄与される、対応する出力値の全信号のうちの割合を示す場合がある。
一部の実施形態において、機械学習モデルは、訓練入力行列およびグラウンドトゥルース出力行列を含む訓練サンプルを取得することを含む訓練プロセスを使用して訓練された可能性がある。訓練プロセスは、訓練入力行列のそれぞれの訓練入力値に関して、(i)それぞれの訓練入力値に対応する訓練出力値を生成する際に使用され、(ii)訓練サンプルが属する対応する訓練データ分布を示す対応する訓練ドメインインデックス値を含む訓練ドメインインデックス行列を訓練サンプルに関して決定することも含んでよい。訓練プロセスは、さらに、機械学習モデルに訓練入力行列および訓練ドメインインデックス行列を提供することと、機械学習モデルによって、訓練入力行列および訓練ドメインインデックス行列に基づいて、訓練入力行列のそれぞれの訓練入力値に関して、(i)それぞれの訓練入力値および(ii)対応する訓練ドメインインデックス値に基づいて生成された対応する訓練出力値を含む訓練出力行列を生成することとを含んでよい。訓練プロセスは、訓練入力行列と訓練出力行列とを比較するように構成された予測損失関数を使用して予測損失値を決定することと、予測損失値に基づいて機械学習モデルの1つまたは複数のパラメータを調整することとをさらに含んでよい。
一部の実施形態において、訓練ドメインインデックス行列を決定することは、訓練サンプルが属する対応する訓練データ分布を決定することと、訓練入力行列のそれぞれの訓練入力値に関して、訓練サンプルが属する対応する訓練データ分布に関連する訓練ドメインインデックス値を割り振ることとを含んでよい。
一部の実施形態において、訓練サンプルは、訓練サンプルが属するそれぞれの訓練データ分布を示すグラウンドトゥルースドメインインデックス行列をさらに含んでよい。訓練プロセスは、ドメイン検出モデルによって、それぞれの訓練サンプルの対応する訓練入力行列および対応するグラウンドトゥルース出力行列に基づいて、訓練ドメインインデックス行列を決定することも含んでよい。訓練プロセスは、訓練ドメインインデックス行列とグラウンドトゥルースドメインインデックス行列とを比較するように構成されたドメイン損失関数を使用してドメイン損失値を決定することと、ドメイン損失値に基づいて、(i)機械学習モデルまたは(ii)ドメイン検出モデルのうちの少なくとも一方の1つまたは複数のパラメータを調整することとをさらに含んでよい。
一部の実施形態において、入力行列は、入力画像を含んでよい。出力行列は、(i)入力画像によって表される物体に関連するバウンディングボックス、(ii)入力画像によって表される物体のセグメンテーションマップ(segmentation map)、(iii)入力画像によって表される物体に関連する1つもしくは複数の座標、または(iv)入力画像によって表される物体の姿勢の表現のうちの1つまたは複数を表す出力画像を含んでよい。
一部の実施形態において、入力行列は、画像を含んでよく、出力行列は、深度マップを含んでよい。複数の訓練データ分布は、複数のステレオスコピック画像に基づいて生成された第1の訓練データ分布と、複数のマルチピクセル画像に基づいて生成された第2の訓練データ分布と、別の機械学習モデルによる複数のモノスコピック画像の処理に基づいて生成された第3の訓練データ分布とを含んでよい。
一部の実施形態において、ドメインインデックス行列を決定することは、入力行列に基づいて、その入力行列のそれぞれの入力値に関して、複数の訓練データ分布の特定の属性の対応する属性値を決定することと、入力行列のそれぞれの入力値に関して、対応する属性値に基づいて対応するドメインインデックス値を決定することとを含んでよい。
一部の実施形態において、ドメインインデックス行列を決定することは、ドメインインデックス行列の定義を可能にするように構成されたユーザインターフェースを提供することと、ユーザインターフェースを介して、ドメインインデックス行列の少なくとも一部の定義を受け取ることとを含んでよい。
一部の実施形態においては、ドメインインデックス行列と異なる第2のドメインインデックス行列が決定されてよい。入力行列および第2のドメインインデックス行列は、機械学習モデルに提供されてよい。機械学習モデルは、入力行列および第2のドメインインデックス行列に基づいて、出力行列と異なる第2の出力行列を生成してよい。
一部の実施形態において、入力行列および出力行列は、それぞれ、第1の次元を有していてよく、ドメインインデックス行列は、第1の次元よりも小さく、機械学習モデルの潜在空間に対応する第2の次元を有していてよい。出力行列を生成することは、入力行列の潜在空間表現を生成することを含んでよい。所与のドメインインデックス値は、(i)第1の次元で表される入力行列の複数の入力値と、(ii)第2の次元で、複数の入力値を入力行列の潜在空間表現の一部として表す単一の潜在空間値とに対応してよい。
VIII. 結論
本開示は、様々な態様の例示として意図されている、本出願に記載の特定の実施形態によって限定されるべきでない。当業者に明らかであろうように、多くの修正および変更が、本開示の範囲を逸脱することなくなされ得る。本明細書に記載の方法および装置に加えて、本開示の範囲内の機能的に均等な方法および装置は、上述の説明から当業者に明らかであろう。そのような修正および変更は、添付の請求項の範囲内に入るように意図される。
上の詳細な説明は、添付の図面を参照して、開示されるシステム、デバイス、および方法の様々な特徴および動作を説明する。図において、概して、同様の符号は、文脈がそうでないことを示さない限り、同様のコンポーネントを特定する。本明細書および図面に記載の例示的な実施形態は、限定的であるように意図されていない。本明細書において提示される対象の範囲を逸脱することなく、その他の実施形態が利用されることが可能であり、その他の変更がなされることが可能である。本明細書において全体的に説明され、図面に図示される本開示の態様は、多種多様な異なる構成で配置され、置き換えられ、組み合わされ、分けられ、設計されることが可能であることが容易に理解されるであろう。
図の中のメッセージフロー図、シナリオ、および流れ図のいずれかまたはすべてに関して、本明細書において検討されたように、各ステップ、ブロック、および/または通信は、例示的な実施形態による情報の処理および/または情報の送信を表し得る。代替的な実施形態は、これらの例示的な実施形態の範囲内に含まれる。これらの代替的な実施形態において、たとえば、ステップ、ブロック、送信、通信、要求、応答、および/またはメッセージとして説明された動作は、関係する機能に応じて、実質的に同時または逆順を含め、示されたまたは検討された順序とは異なって実行され得る。さらに、より多くのまたはより少ないブロックおよび/または動作が、本明細書において検討されたメッセージフロー図、シナリオ、および流れ図のいずれかとともに使用されることが可能であり、これらのメッセージフロー図、シナリオ、および流れ図は、部分的にまたは丸ごと互いに組み合わされることが可能である。
情報の処理を表すステップまたはブロックは、本明細書に記載の方法または技術の特定の論理的な機能を実行するように構成され得る回路に対応する場合がある。代替的または追加的に、情報の処理を表すブロックは、モジュール、セグメント、プログラムコードの一部(関連データを含む)に対応する場合がある。プログラムコードは、方法または技術の特定の論理的な動作またはアクションを実施するためにプロセッサによって実行可能な1つまたは複数の命令を含んでよい。プログラムコードおよび/または関連データは、ランダムアクセスメモリ(RAM)、ディスクドライブ、ソリッドステートドライブを含むストレージデバイス、または別のストレージ媒体などの任意の種類のコンピュータ可読媒体に記憶されてよい。
コンピュータ可読媒体は、たとえば、レジスタメモリ、プロセッサのキャッシュ、およびRAMのようなデータを短期間記憶するコンピュータ可読媒体などの非一時的コンピュータ可読媒体も含んでよい。コンピュータ可読媒体は、プログラムコードおよび/またはデータをより長い期間記憶する非一時的コンピュータ可読媒体も含んでよい。したがって、コンピュータ可読媒体は、たとえば、読み出し専用メモリ(ROM)、光または磁気ディスク、ソリッドステートドライブ、コンパクトディスク読み出し専用メモリ(CD-ROM)のような2次または持続的な長期ストレージを含んでよい。コンピュータ可読媒体は、任意のその他の揮発性または不揮発性ストレージシステムである場合もある。コンピュータ可読媒体は、たとえば、コンピュータ可読ストレージ媒体と考えられてよく、または有形のストレージデバイスと考えられてよい。
さらに、1つまたは複数の情報送信を表すステップまたはブロックは、同じ物理的なデバイス内のソフトウェアおよび/またはハードウェアモジュール間の情報送信に対応する場合がある。しかし、その他の情報送信は、異なる物理的なデバイスのソフトウェアモジュールおよび/またはハードウェアモジュール間である場合がある。
図に示された特定の配置は、限定的であると見なすべきでない。その他の実施形態は、所与の図に示された各要素のより多くまたはより少数を含み得ることを理解されたい。さらに、図示された要素の一部が、組み合わされるかまたは省略されることが可能である。さらに、例示的な実施形態は、図に示されていない要素を含み得る。
様々な態様および実施形態が本明細書において開示されたが、その他の態様および実施形態が、当業者には明らかであろう。本明細書において開示された様々な態様および実施形態は、例示を目的としており、限定的であるように意図されておらず、真の範囲は、以下の請求項によって示される。
100 コンピューティングデバイス
102 本体
104 前面カメラ
106 ディスプレイ
108、110 ボタン
112 背面カメラ
200 コンピューティングシステム
202 通信インターフェース
204 ユーザインターフェース
206 プロセッサ
208 データストレージ
210 接続メカニズム
212 データ
214 アプリケーションデータ
216 オペレーティングシステムデータ
218 プログラム命令
220 アプリケーションプログラム
222 オペレーティングシステム
224 カメラコンポーネント
300 訓練データ分布
302 訓練サンプル
304 属性
306 グラウンドトゥルースデータの精度
308 周波数成分
310 統計的特性
312 特徴クラス
314 データソース
320 訓練データ分布
322 訓練サンプル
324 属性
326 グラウンドトゥルースデータの精度
328 周波数成分
330 統計的特性
332 特徴クラス
334 データソース
340 訓練データ分布
342 訓練サンプル
344 属性
346 グラウンドトゥルースデータの精度
348 周波数成分
350 統計的特性
352 特徴クラス
354 データソース
400 システム
402 入力行列
404 機械学習モデル
406 ドメインインデックス行列ジェネレータ
408 ドメインインデックス行列
410 出力行列
502 入力行列
508 ドメインインデックス行列
510 出力行列
520、522、524、526 行列要素
530 行列要素
532 ドメインインデックス値
540、542、544、546 行列要素
600 訓練システム
606 ドメイン検出モデル
608 訓練ドメインインデックス行列
610 訓練出力行列
612 ドメイン損失関数
614 ドメイン損失値
616 予測損失関数
618 予測損失値
620 訓練サンプル
622 訓練入力行列
624 グラウンドトゥルース出力行列
626 グラウンドトゥルースドメインインデックス行列
630 モデルパラメータアジャスタ
632 更新されたモデルパラメータ
700 画像
710 深度画像
720 深度画像
730 深度画像
740 深度画像

Claims (18)

  1. 入力データを表す入力行列を取得するステップと、
    前記入力行列のそれぞれの入力値に関して、前記それぞれの入力値に対応する出力値を生成する際に使用される対応する訓練データ分布を示す対応するドメインインデックス値を含むドメインインデックス行列を決定するステップであって、前記対応する訓練データ分布が、複数の訓練データ分布のうちの1つである、ステップと、
    前記複数の訓練データ分布を使用して出力行列を生成するように訓練された機械学習モデルに、前記入力行列および前記ドメインインデックス行列を提供するステップであって、前記複数の訓練データ分布のそれぞれの訓練データ分布が、前記複数の訓練データ分布のその他の訓練データ分布の対応する属性と異なる属性に関連付けられる、ステップと、
    前記機械学習モデルによって、前記入力行列および前記ドメインインデックス行列に基づいて、前記入力行列のそれぞれの入力値に関して、対応する出力値が前記対応する訓練データ分布の前記属性を示すように(i)前記それぞれの入力値および(ii)前記対応するドメインインデックス値に基づいて生成された前記対応する出力値を含む出力行列を生成するステップとを含むコンピュータによって実施される方法。
  2. それぞれの訓練データ分布の前記属性が、前記それぞれの訓練データ分布によって表される1つまたは複数の条件に関連するグラウンドトゥルースデータの精度を含み、前記グラウンドトゥルースデータの前記精度が、前記1つまたは複数の条件の関数として前記複数の訓練データ分布にわたって変化する請求項1に記載のコンピュータによって実施される方法。
  3. 前記それぞれの訓練データ分布によって表される前記1つまたは複数の条件が、(i)前記グラウンドトゥルースデータの周波数成分、(ii)前記グラウンドトゥルースデータに対応する訓練入力の周波数成分、(iii)前記グラウンドトゥルースデータの統計的特性、または(iv)前記訓練入力の統計的特性のうちの1つまたは複数を含む請求項2に記載のコンピュータによって実施される方法。
  4. それぞれの訓練データ分布の前記属性が、前記それぞれの訓練データ分布によって表される前記入力データの特徴の1つまたは複数の分類を含み、前記1つまたは複数の分類が、前記入力データの特徴の複数の可能な分類のサブセットであり、前記複数の可能な分類が、前記複数の訓練データ分布によって表される請求項1から3のいずれか一項に記載のコンピュータによって実施される方法。
  5. 前記対応するドメインインデックス値が、複数のドメインインデックス値を含み、前記複数のドメインインデックス値のそれぞれのドメインインデックス値が、予め定義された範囲から選択され、前記それぞれの入力値に対応する前記出力値を生成する際に使用される対応する訓練データ分布の程度を示し、それぞれのドメインインデックス値の前記対応する訓練データ分布が、前記複数の訓練データ分布のうちの1つである請求項1から4のいずれか一項に記載のコンピュータによって実施される方法。
  6. 前記複数のドメインインデックス値の中のドメインインデックス値の数が、前記複数の訓練データ分布の中の訓練分布の数に等しい請求項5に記載のコンピュータによって実施される方法。
  7. 前記それぞれの入力値に対応する前記複数のドメインインデックス値の合計が、所定の値に等しく、それぞれのドメインインデックス値が、前記対応する訓練データ分布によって寄与される前記対応する出力値の全信号のうちの割合を示す請求項5に記載のコンピュータによって実施される方法。
  8. 前記機械学習モデルが、
    訓練入力行列およびグラウンドトゥルース出力行列を含む訓練サンプルを取得することと、
    前記訓練入力行列のそれぞれの訓練入力値に関して、(i)前記それぞれの訓練入力値に対応する訓練出力値を生成する際に使用され、(ii)前記訓練サンプルが属する対応する訓練データ分布を示す対応する訓練ドメインインデックス値を含む訓練ドメインインデックス行列を前記訓練サンプルに関して決定することと、
    前記機械学習モデルに前記訓練入力行列および前記訓練ドメインインデックス行列を提供することと、
    前記機械学習モデルによって、前記訓練入力行列および前記訓練ドメインインデックス行列に基づいて、前記訓練入力行列のそれぞれの訓練入力値に関して、(i)前記それぞれの訓練入力値および(ii)前記対応する訓練ドメインインデックス値に基づいて生成された対応する訓練出力値を含む訓練出力行列を生成することと、
    前記訓練入力行列と前記訓練出力行列とを比較するように構成された予測損失関数を使用して予測損失値を決定することと、
    前記予測損失値に基づいて前記機械学習モデルの1つまたは複数のパラメータを調整することとを含む訓練プロセスを使用して訓練された請求項1から7のいずれか一項に記載のコンピュータによって実施される方法。
  9. 前記訓練ドメインインデックス行列を決定することが、
    前記訓練サンプルが属する前記対応する訓練データ分布を決定することと、
    前記訓練入力行列のそれぞれの訓練入力値に関して、前記訓練サンプルが属する前記対応する訓練データ分布に関連する訓練ドメインインデックス値を割り振ることとを含む請求項8に記載のコンピュータによって実施される方法。
  10. 前記訓練サンプルが、前記訓練サンプルが属する前記それぞれの訓練データ分布を示すグラウンドトゥルースドメインインデックス行列をさらに含み、前記訓練プロセスが、
    ドメイン検出モデルによって、前記それぞれの訓練サンプルの前記対応する訓練入力行列および前記対応するグラウンドトゥルース出力行列に基づいて、前記訓練ドメインインデックス行列を決定することと、
    前記訓練ドメインインデックス行列と前記グラウンドトゥルースドメインインデックス行列とを比較するように構成されたドメイン損失関数を使用してドメイン損失値を決定することと、
    前記ドメイン損失値に基づいて、(i)前記機械学習モデルまたは(ii)ドメイン検出機械学習モデルのうちの少なくとも一方の1つまたは複数のパラメータを調整することとをさらに含む請求項8に記載のコンピュータによって実施される方法。
  11. 前記入力行列が、入力画像を含み、前記出力行列が、(i)前記入力画像によって表される物体に関連するバウンディングボックス、(ii)前記入力画像によって表される前記物体のセグメンテーションマップ、(iii)前記入力画像によって表される前記物体に関連する1つもしくは複数の座標、または(iv)前記入力画像によって表される前記物体の姿勢の表現のうちの1つまたは複数を表す出力画像を含む請求項1から10のいずれか一項に記載のコンピュータによって実施される方法。
  12. 前記入力行列が、画像を含み、前記出力行列が、深度マップを含み、前記複数の訓練データ分布が、
    複数のステレオスコピック画像に基づいて生成された第1の訓練データ分布と、
    複数のマルチピクセル画像に基づいて生成された第2の訓練データ分布と、
    別の機械学習モデルによる複数のモノスコピック画像の処理に基づいて生成された第3の訓練データ分布とを含む請求項1から11のいずれか一項に記載のコンピュータによって実施される方法。
  13. 前記ドメインインデックス行列を決定するステップが、
    前記入力行列に基づいて、前記入力行列のそれぞれの入力値に関して、前記複数の訓練データ分布の特定の属性の対応する属性値を決定することと、
    前記入力行列のそれぞれの入力値に関して、前記対応する属性値に基づいて前記対応するドメインインデックス値を決定することとを含む請求項1から12のいずれか一項に記載のコンピュータによって実施される方法。
  14. 前記ドメインインデックス行列を決定するステップが、
    前記ドメインインデックス行列の定義を可能にするように構成されたユーザインターフェースを提供することと、
    前記ユーザインターフェースを介して、前記ドメインインデックス行列の少なくとも一部の定義を受け取ることとを含む請求項1から13のいずれか一項に記載のコンピュータによって実施される方法。
  15. 前記ドメインインデックス行列と異なる第2のドメインインデックス行列を決定するステップと、
    前記入力行列および前記第2のドメインインデックス行列を前記機械学習モデルに提供するステップと、
    前記機械学習モデルによって、前記入力行列および前記第2のドメインインデックス行列に基づいて、前記出力行列と異なる第2の出力行列を生成するステップとをさらに含む請求項1から14のいずれか一項に記載のコンピュータによって実施される方法。
  16. 前記入力行列および前記出力行列が、それぞれ、第1の次元を有し、前記ドメインインデックス行列が、前記第1の次元よりも小さく、前記機械学習モデルの潜在空間に対応する第2の次元を有し、前記出力行列を生成するステップが、前記入力行列の潜在空間表現を生成することを含み、所与のドメインインデックス値が、(i)前記第1の次元で表される前記入力行列の複数の入力値と、(ii)前記第2の次元で、前記複数の入力値を前記入力行列の前記潜在空間表現の一部として表す単一の潜在空間値とに対応する請求項1から15のいずれか一項に記載のコンピュータによって実施される方法。
  17. プロセッサと、
    前記プロセッサによって実行されるときに、前記プロセッサに請求項1から16のいずれか一項に記載の動作を実行させる命令を記憶させたコンピュータ可読記憶媒体とを含むシステム。
  18. コンピューティングデバイスによって実行されるときに、前記コンピューティングデバイスに請求項1から16のいずれか一項に記載の動作を実行させる命令を記憶させたコンピュータ可読記憶媒体。
JP2022580471A 2021-07-26 2021-07-26 複数のドメインデータセットを用いた機械学習の予測の生成 Active JP7448693B2 (ja)

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 (2)

Publication Number Publication Date
JP2023538799A JP2023538799A (ja) 2023-09-12
JP7448693B2 true JP7448693B2 (ja) 2024-03-12

Family

ID=77358389

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2022580471A Active JP7448693B2 (ja) 2021-07-26 2021-07-26 複数のドメインデータセットを用いた機械学習の予測の生成

Country Status (6)

Country Link
US (1) US20240221371A1 (ja)
EP (1) EP4154182A1 (ja)
JP (1) JP7448693B2 (ja)
KR (1) KR20230018398A (ja)
CN (1) CN115885298A (ja)
WO (1) WO2023009101A1 (ja)

Citations (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
US20200251100A1 (en) 2019-02-01 2020-08-06 International Business Machines Corporation Cross-domain multi-task learning for text classification
JP2021082293A (ja) 2019-11-21 2021-05-27 エヌビディア コーポレーション 自律マシン適用におけるradarセンサを使用する障害物インスタンスの検出のためのディープ・ニューラル・ネットワーク

Patent Citations (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
US20200251100A1 (en) 2019-02-01 2020-08-06 International Business Machines Corporation Cross-domain multi-task learning for text classification
JP2021082293A (ja) 2019-11-21 2021-05-27 エヌビディア コーポレーション 自律マシン適用におけるradarセンサを使用する障害物インスタンスの検出のためのディープ・ニューラル・ネットワーク

Also Published As

Publication number Publication date
US20240221371A1 (en) 2024-07-04
CN115885298A (zh) 2023-03-31
WO2023009101A1 (en) 2023-02-02
KR20230018398A (ko) 2023-02-07
EP4154182A1 (en) 2023-03-29
JP2023538799A (ja) 2023-09-12

Similar Documents

Publication Publication Date Title
US10205896B2 (en) Automatic lens flare detection and correction for light-field images
CN109983508B (zh) 快速傅立叶颜色恒常性
US12033309B2 (en) Learning-based lens flare removal
US20210383199A1 (en) Object-Centric Learning with Slot Attention
Luo et al. Bokeh rendering from defocus estimation
US12008738B2 (en) Defocus blur removal and depth estimation using dual-pixel image data
US11790550B2 (en) Learnable cost volume for determining pixel correspondence
WO2012040162A1 (en) Color correction for digital images
CN116980579B (zh) 一种基于图像虚化的图像立体成像方法及相关装置
JP7448693B2 (ja) 複数のドメインデータセットを用いた機械学習の予測の生成
US20220383628A1 (en) Conditional Object-Centric Learning with Slot Attention for Video and Other Sequential Data
CN113486924B (zh) 带有槽位关注的以对象为中心的学习
US20240249422A1 (en) Single Image 3D Photography with Soft-Layering and Depth-aware Inpainting
CN116569191A (zh) 对情境注意特征和卷积特征的门控
WO2023233575A1 (ja) 推定装置、学習装置、推定方法、学習方法及びプログラム
WO2023136822A1 (en) Machine learning models for example-guided image inpainting
WO2024191418A1 (en) Images with synthetic focus profiles generated from images from multiple perspectives
WO2024163522A1 (en) Denoising diffusion models for image enhancement

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230202

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20230202

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20240117

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20240205

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20240229

R150 Certificate of patent or registration of utility model

Ref document number: 7448693

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150