(57)【要約】単一のニューラルネットワークを用いた子タスクの学習を自動化するための、メタ学習のための方法およびシステムが、説明される。タスクがニューラルネットワークによって学習される順序は、ネットワークの性能に影響を及ぼし得、メタ学習アプローチは、マルチタスク訓練のためのタスクレベルのカリキュラムを使用することができる。タスクレベルのカリキュラムは、訓練の間、損失関数の軌跡を監視することによって学習されることができる。メタ学習アプローチは、訓練の間にタスク損失の平衡加重を適応させることを学習し、現実世界のデータセットでの複数のタスク上での改良された性能を得ることができる。
2021503122.tif 000002
【特許請求の範囲】
【請求項１】
メタ学習を使用してマルチタスクニューラルネットワークを訓練するためのシステムであって、前記システムは、
非一過性記憶装置であって、
複数のタスクと関連付けられる出力を決定するように構成されるマルチタスクニューラルネットワークであって、前記複数のタスクの各タスクは、タスク損失関数と関連付けられ、マルチタスク損失関数と関連付けられる前記マルチタスクニューラルネットワークは、前記複数のタスクの各タスクに対するタスク加重および前記タスク損失関数の組み合わせを含む、マルチタスクニューラルネットワークと、
前記複数のタスクのうちのタスクの各々と関連付けられる前記タスク加重を出力するように構成されるメタネットワークであって、メタネットワーク損失関数と関連付けられる前記メタネットワークは、少なくとも部分的に前記マルチタスク損失関数に基づいた予期される損失を含む、メタネットワークと
を記憶するように構成される、非一過性記憶装置と、
前記非一過性記憶装置と通信するハードウェアプロセッサであって、前記ハードウェアプロセッサは、
前記複数のタスクに関する複数の基準タスク出力と関連付けられる訓練データにアクセスすることと、
前記メタネットワーク損失関数を低減または最小限にし、前記複数のタスクのうちのタスクの各々と関連付けられる推定されるタスク加重を決定することと、
少なくとも部分的に前記推定されるタスク加重に基づいて、前記マルチタスク損失関数を低減または最小限にすることと、
訓練されたマルチタスクニューラルネットワークを出力することと
を行うようにプログラムされる、ハードウェアプロセッサと
を備える、システム。
【請求項２】
前記マルチタスクニューラルネットワークのタスクは、場面理解と関連付けられる、請求項１に記載のシステム。
【請求項３】
前記タスクは、意味論セグメント化、深度、または面法線のうちの少なくとも１つを含む、請求項２に記載のシステム。
【請求項４】
前記マルチタスク損失関数は、前記複数のタスク内のタスクの全てに関して、前記タスク加重×前記タスク損失関数の線形結合を含む、請求項１に記載のシステム。
【請求項５】
前記メタネットワークは、長・短期記憶（ＬＳＴＭ）モジュールを備える、請求項１に記載のシステム。
【請求項６】
前記メタネットワーク損失関数は、訓練窓に関する最適化軌跡にわたる前記マルチタスク損失関数の和を含む、請求項１に記載のシステム。
【請求項７】
前記メタネットワーク損失関数を低減または最小限にするために、前記ハードウェアプロセッサは、適応モーメント推定を使用して、時間を通して誤差逆伝搬法を適用するようにプログラムされる、請求項１に記載のシステム。
【請求項８】
前記マルチタスク損失関数を低減または最小限にするために、前記ハードウェアプロセッサは、確率勾配降下法を適用するようにプログラムされる、請求項１に記載のシステム。
【請求項９】
前記マルチタスクニューラルネットワークは、畳み込みニューラルネットワークを含む、請求項１に記載のシステム。
【請求項１０】
前記ハードウェアプロセッサはさらに、
各訓練時間において、前記マルチタスク損失関数および前記メタネットワーク損失関数の値を監視することと、
前記複数のタスクをともに訓練するためのタスクレベルのカリキュラムを決定することと
を行うようにプログラムされる、請求項１に記載のシステム。
【請求項１１】
メタ学習およびメタネットワークを使用し、子ニューラルネットワークを訓練するための方法であって、前記方法は、
子ニューラルネットワークに関する適応加重を出力するように構成されるメタネットワークにアクセスすることと、
少なくとも部分的に、前記子ニューラルネットワークに関する子損失関数に基づいて、前記メタネットワークを訓練することであって、前記子損失関数は、少なくとも部分的に前記適応加重に依存する、ことと、
前記メタネットワークを用いて、更新された適応加重を出力することと、
前記更新された適応加重を使用して、前記子ニューラルネットワークを訓練することと、
訓練された子ネットワークを出力することと
を含む、方法。
【請求項１２】
前記メタネットワークおよび前記子ネットワークを訓練するための訓練データセットにアクセスすることをさらに含む、請求項１１に記載の方法。
【請求項１３】
前記メタネットワークは、再帰ニューラルネットワークを含む、請求項１２に記載の方法。
【請求項１４】
前記再帰ニューラルネットワークは、長・短期記憶（ＬＳＴＭ）モジュールを備える、請求項１３に記載の方法。
【請求項１５】
前記子ニューラルネットワークは、マルチタスクニューラルネットワークを含む、請求項１３に記載の方法。
【請求項１６】
前記マルチタスクニューラルネットワークは、個々のタスクと関連付けられる前記適応加重およびタスク損失関数の組み合わせを含むマルチタスク損失関数を含む、請求項１５に記載の方法。
【請求項１７】
前記個々のタスクをともに訓練することと関連付けられるタスクレベルのカリキュラムを決定することをさらに含む、請求項１６に記載の方法。
【請求項１８】
前記メタネットワークを訓練することは、訓練窓にわたるメタネットワーク損失関数の軌跡を監視することを含む、請求項１３に記載の方法。
【請求項１９】
頭部搭載型ディスプレイシステムであって、
非一過性メモリであって、
実行可能命令と、
複数のタスクと関連付けられる出力を決定するためのマルチタスクネットワークであって、前記マルチタスクネットワークは、
前記マルチタスクネットワークの複数のタスクに関する適応加重を出力するように構成されるメタネットワークと、
マルチタスクニューラルネットワークに関するマルチタスク損失関数であって、前記マルチタスク損失関数は、少なくとも部分的に前記メタネットワークによって学習される前記適応加重に依存する、マルチタスク損失関数と
を使用して訓練される、マルチタスクネットワークと
を記憶するように構成される、非一過性メモリと、
ディスプレイと、
センサと、
前記非一過性メモリおよび前記ディスプレイおよび前記センサと通信するハードウェアプロセッサであって、前記ハードウェアプロセッサは、前記実行可能命令によって、
前記センサによって捕捉されるセンサデータを受信することと、
入力として前記センサデータを伴う前記マルチタスクネットワークを使用して、前記複数のタスクの各タスクに対してタスク出力を決定することと、
前記ディスプレイに、前記頭部搭載型ディスプレイシステムのユーザに、前記決定されたタスク出力に関連する情報を示させることと
を行うようにプログラムされる、ハードウェアプロセッサと
を備える、システム。
【請求項２０】
前記複数のタスクは、複数の知覚タスクを含む、請求項１９に記載のシステム。
【請求項２１】
前記複数の知覚タスクは、顔認識、視覚的検索、ジェスチャ識別、意味論セグメント化、深度推定、面法線推定、場面認識、オブジェクト検出、照明検出、同時位置特定およびマッピング、再位置特定、またはそれらの組み合わせを含む、請求項２０に記載のシステム。
【請求項２２】
前記センサは、慣性測定ユニット、外向きに向いたカメラ、深度感知カメラ、マイクロホン、眼結像カメラ、またはそれらの組み合わせを含む、請求項２１に記載のシステム。
【請求項２３】
ニューラルネットワークを訓練し、タスクのセットを学習するためのシステムであって、前記システムは、
非一過性メモリであって、
実行可能命令と、
複数のタスクを学習するための子ネットワークであって、前記子ネットワークは、前記複数のタスクに関する損失関数と関連付けられ、タスク加重は、前記複数のタスクの各タスクに割り当てられる、子ネットワークと
を記憶するように構成される、非一過性メモリと、
前記非一過性メモリと通信するハードウェアプロセッサであって、前記ハードウェアプロセッサは、前記実行可能命令によって、
前記子ネットワークの損失関数と関連付けられる第１の子ネットワーク損失を決定することと、
前記第１の子ネットワーク損失に基づいて、前記複数のタスクの各タスクに対して更新されたタスク加重を決定することと、
前記複数のタスクの各タスクに対して前記更新されたタスク加重に基づいて、更新された子ネットワークを決定することと、
前記更新された子ネットワークの損失関数と関連付けられる第２の子ネットワーク損失を決定することと、
少なくとも前記第２の子ネットワーク損失に基づいて、前記複数のタスクの各タスクに対して第２の更新されたタスク加重を決定することと
を行うようにプログラムされる、ハードウェアプロセッサと
を備える、システム。
【請求項２４】
前記ハードウェアプロセッサはさらに、前記第１および第２の子ネットワーク損失間の関係を学習するようにプログラムされる、請求項２３に記載のシステム。
【請求項２５】
前記ハードウェアプロセッサは、少なくとも前記第１および第２の子ネットワーク損失間の前記関係に基づいて、前記第２の更新されたタスク加重を決定するようにプログラムされる、請求項２４に記載のシステム。
【請求項２６】
前記複数のタスクは、少なくとも、意味論セグメント化と、深度予測と、面法線推定とを含む、請求項２３に記載のシステム。
【請求項２７】
前記複数のタスクは、回帰タスク、分類タスク、またはそれらの組み合わせを含む、請求項２３に記載のシステム。
【請求項２８】
前記分類タスクは、知覚、顔認識、視覚的検索、ジェスチャ認識、意味論セグメント化、オブジェクト検出、部屋レイアウト推定、直方体検出、照明検出、同時位置特定およびマッピング、再位置特定、発話処理、発話認識、自然言語処理、または組み合わせを含む、請求項２７に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
（関連出願の相互参照）
本願は、参照することによってその全体として本明細書に組み込まれる、「Ｍｅｔａ  Ｌｅａｒｎｉｎｇ  ｆｏｒ  Ｍｕｌｔｉ−Ｔａｓｋ  Ｌｅａｒｎｉｎｇ」と題され、２０１７年１１月１４日に出願された、米国特許出願第６２／５８６，１５４号の優先権の利益を主張する。
【０００２】
本開示は、概して、機械学習のためのシステムおよび方法に関し、より具体的には、メタ学習技法を使用する、機械学習モデルの訓練に関する。
【背景技術】
【０００３】
深層ニューラルネットワーク（ＤＮＮ）は、算出機械学習方法である。ＤＮＮは、人工ニューラルネットワーク（ＮＮ）のクラスに属する。ＮＮでは、生物学的神経網の特徴を模倣する、算出グラフが、構築される。生物学的神経網は、算出に顕著な特徴を含み、そうでなければ他の方法を通して捕捉することが困難であり得る、生物学系の能力の多くに関与する。いくつかの実装では、そのようなネットワークは、接続が一方向性である、シーケンシャル層化構造の中に配列される。例えば、特定の層の人工ニューロンの出力は、後続層の人工ニューロンの入力に接続されることができる。ＤＮＮは、多数の層（例えば、数十、数百、またはより多い層）を伴う、ＮＮであり得る。
【０００４】
異なるＮＮは、異なる観点において相互に異なる。例えば、異なるＮＮのトポロジまたはアーキテクチャ（例えば、層の数および層が相互接続される方法）および加重は、異なり得る。加重は、生物学系における神経接続のシナプス強度にほぼ類似し得る。加重は、１つの層から別の層に伝搬される効果の強度に影響を及ぼす。人工ニューロンの出力は、その入力の加重和の非線形関数であり得る。ＮＮの加重は、これらの総和に現れる、加重であり得る。
【発明の概要】
【課題を解決するための手段】
【０００５】
単一のニューラルネットワークを用いた複数のタスクの学習を自動化するための、メタ学習アプローチおよび関連付けられる方法およびシステムが、説明される。タスクがニューラルネットワークによって学習される順序は、ネットワークの性能に影響を及ぼし得、メタ学習アプローチは、マルチタスク訓練のためのタスクレベルのカリキュラムを使用することができる。タスクレベルのカリキュラムは、訓練の間、損失関数の軌跡を監視することによって学習されることができる。メタ学習アプローチは、訓練の間にタスク損失の平衡加重を適応させることを学習し、現実世界のデータセットに関する複数のタスク上での改良された性能を得ることができる。有利なこととして、異なるタスク損失間の加重を動的に平衡させることを学習することは、高価なランダム検索または発見的手法によって決定される、静的加重の使用に優る、優れた性能につながり得る。メタ学習アプローチの実施形態は、コンピュータビジョンタスクまたは自然言語処理タスクのために使用されることができ、訓練されたニューラルネットワークは、拡張または仮想現実デバイスによって使用されることができる。
【０００６】
本明細書に説明される主題の１つ以上の実装の詳細は、付随の図面および以下の説明に記載される。他の特徴、側面、および利点が、説明、図面、および請求項から明白となるであろう。本概要または以下の詳細な説明のいずれも、本発明の主題の範囲を定義または限定することを主張するものではない。
【図面の簡単な説明】
【０００７】
【図１Ａ−１】図１Ａ−１から１Ｃ−２は、ＮＹＵｖ２データセットに関する１つの深層ニューラルネットワーク内において複数のタスクを異なる順序で訓練するステップからの観察を図示する。タスク１、２、および３は、それぞれ、意味論セグメント化、深度予測、および面法線推定である。図１Ａ−１、１Ｂ−１、および１Ｃ−１は、訓練の間にタスクに対応するための、平衡加重の実施例（アルファ１、アルファ２、およびアルファ３）を図示する。図１Ａ−２、１Ｂ−２、および１Ｃ−２は、総訓練損失（上図）および試験訓練損失（下図）の実施例を図示する。
【図１Ａ−２】図１Ａ−１から１Ｃ−２は、ＮＹＵｖ２データセットに関する１つの深層ニューラルネットワーク内において複数のタスクを異なる順序で訓練するステップからの観察を図示する。タスク１、２、および３は、それぞれ、意味論セグメント化、深度予測、および面法線推定である。図１Ａ−１、１Ｂ−１、および１Ｃ−１は、訓練の間にタスクに対応するための、平衡加重の実施例（アルファ１、アルファ２、およびアルファ３）を図示する。図１Ａ−２、１Ｂ−２、および１Ｃ−２は、総訓練損失（上図）および試験訓練損失（下図）の実施例を図示する。
【図１Ｂ−１】図１Ａ−１から１Ｃ−２は、ＮＹＵｖ２データセットに関する１つの深層ニューラルネットワーク内において複数のタスクを異なる順序で訓練するステップからの観察を図示する。タスク１、２、および３は、それぞれ、意味論セグメント化、深度予測、および面法線推定である。図１Ａ−１、１Ｂ−１、および１Ｃ−１は、訓練の間にタスクに対応するための、平衡加重の実施例（アルファ１、アルファ２、およびアルファ３）を図示する。図１Ａ−２、１Ｂ−２、および１Ｃ−２は、総訓練損失（上図）および試験訓練損失（下図）の実施例を図示する。
【図１Ｂ−２】図１Ａ−１から１Ｃ−２は、ＮＹＵｖ２データセットに関する１つの深層ニューラルネットワーク内において複数のタスクを異なる順序で訓練するステップからの観察を図示する。タスク１、２、および３は、それぞれ、意味論セグメント化、深度予測、および面法線推定である。図１Ａ−１、１Ｂ−１、および１Ｃ−１は、訓練の間にタスクに対応するための、平衡加重の実施例（アルファ１、アルファ２、およびアルファ３）を図示する。図１Ａ−２、１Ｂ−２、および１Ｃ−２は、総訓練損失（上図）および試験訓練損失（下図）の実施例を図示する。
【図１Ｃ−１】図１Ａ−１から１Ｃ−２は、ＮＹＵｖ２データセットに関する１つの深層ニューラルネットワーク内において複数のタスクを異なる順序で訓練するステップからの観察を図示する。タスク１、２、および３は、それぞれ、意味論セグメント化、深度予測、および面法線推定である。図１Ａ−１、１Ｂ−１、および１Ｃ−１は、訓練の間にタスクに対応するための、平衡加重の実施例（アルファ１、アルファ２、およびアルファ３）を図示する。図１Ａ−２、１Ｂ−２、および１Ｃ−２は、総訓練損失（上図）および試験訓練損失（下図）の実施例を図示する。
【図１Ｃ−２】図１Ａ−１から１Ｃ−２は、ＮＹＵｖ２データセットに関する１つの深層ニューラルネットワーク内において複数のタスクを異なる順序で訓練するステップからの観察を図示する。タスク１、２、および３は、それぞれ、意味論セグメント化、深度予測、および面法線推定である。図１Ａ−１、１Ｂ−１、および１Ｃ−１は、訓練の間にタスクに対応するための、平衡加重の実施例（アルファ１、アルファ２、およびアルファ３）を図示する。図１Ａ−２、１Ｂ−２、および１Ｃ−２は、総訓練損失（上図）および試験訓練損失（下図）の実施例を図示する。
【０００８】
【図２】図２は、メタネットワークと、子ネットワークとを含む、例示的メタ学習システムのブロック図である。
【０００９】
【図３Ａ】図３Ａ−３Ｆは、グリッド検索と、等加重マルチタスク学習とを伴うメタ学習メタネットワークの実施形態の性能を比較する、数値結果の実施例を図示する。３つのタスクは、場面理解、すなわち、セグメント化、深度、および面法線のためのコンピュータビジョンタスクである。図３Ａは、例示的メタ学習軌跡を示し、図３Ｂは、３つのタスクに関する収束されたタスク加重の実施例を示し、図３Ｃ−３Ｆは、タスク全体（図３Ｃ）および各個々のタスク、すなわち、セグメント化（図３Ｄ）、深度（図３Ｅ）、および面法線（図３Ｆ）に関する、訓練損失（上図）および試験損失（下図）の実施例を示す。
【図３Ｂ】図３Ａ−３Ｆは、グリッド検索と、等加重マルチタスク学習とを伴うメタ学習メタネットワークの実施形態の性能を比較する、数値結果の実施例を図示する。３つのタスクは、場面理解、すなわち、セグメント化、深度、および面法線のためのコンピュータビジョンタスクである。図３Ａは、例示的メタ学習軌跡を示し、図３Ｂは、３つのタスクに関する収束されたタスク加重の実施例を示し、図３Ｃ−３Ｆは、タスク全体（図３Ｃ）および各個々のタスク、すなわち、セグメント化（図３Ｄ）、深度（図３Ｅ）、および面法線（図３Ｆ）に関する、訓練損失（上図）および試験損失（下図）の実施例を示す。
【図３Ｃ】図３Ａ−３Ｆは、グリッド検索と、等加重マルチタスク学習とを伴うメタ学習メタネットワークの実施形態の性能を比較する、数値結果の実施例を図示する。３つのタスクは、場面理解、すなわち、セグメント化、深度、および面法線のためのコンピュータビジョンタスクである。図３Ａは、例示的メタ学習軌跡を示し、図３Ｂは、３つのタスクに関する収束されたタスク加重の実施例を示し、図３Ｃ−３Ｆは、タスク全体（図３Ｃ）および各個々のタスク、すなわち、セグメント化（図３Ｄ）、深度（図３Ｅ）、および面法線（図３Ｆ）に関する、訓練損失（上図）および試験損失（下図）の実施例を示す。
【図３Ｄ】図３Ａ−３Ｆは、グリッド検索と、等加重マルチタスク学習とを伴うメタ学習メタネットワークの実施形態の性能を比較する、数値結果の実施例を図示する。３つのタスクは、場面理解、すなわち、セグメント化、深度、および面法線のためのコンピュータビジョンタスクである。図３Ａは、例示的メタ学習軌跡を示し、図３Ｂは、３つのタスクに関する収束されたタスク加重の実施例を示し、図３Ｃ−３Ｆは、タスク全体（図３Ｃ）および各個々のタスク、すなわち、セグメント化（図３Ｄ）、深度（図３Ｅ）、および面法線（図３Ｆ）に関する、訓練損失（上図）および試験損失（下図）の実施例を示す。
【図３Ｅ】図３Ａ−３Ｆは、グリッド検索と、等加重マルチタスク学習とを伴うメタ学習メタネットワークの実施形態の性能を比較する、数値結果の実施例を図示する。３つのタスクは、場面理解、すなわち、セグメント化、深度、および面法線のためのコンピュータビジョンタスクである。図３Ａは、例示的メタ学習軌跡を示し、図３Ｂは、３つのタスクに関する収束されたタスク加重の実施例を示し、図３Ｃ−３Ｆは、タスク全体（図３Ｃ）および各個々のタスク、すなわち、セグメント化（図３Ｄ）、深度（図３Ｅ）、および面法線（図３Ｆ）に関する、訓練損失（上図）および試験損失（下図）の実施例を示す。
【図３Ｆ】図３Ａ−３Ｆは、グリッド検索と、等加重マルチタスク学習とを伴うメタ学習メタネットワークの実施形態の性能を比較する、数値結果の実施例を図示する。３つのタスクは、場面理解、すなわち、セグメント化、深度、および面法線のためのコンピュータビジョンタスクである。図３Ａは、例示的メタ学習軌跡を示し、図３Ｂは、３つのタスクに関する収束されたタスク加重の実施例を示し、図３Ｃ−３Ｆは、タスク全体（図３Ｃ）および各個々のタスク、すなわち、セグメント化（図３Ｄ）、深度（図３Ｅ）、および面法線（図３Ｆ）に関する、訓練損失（上図）および試験損失（下図）の実施例を示す。
【００１０】
【図４】図４は、マルチタスク学習に関するメタ学習のための例示的プロセスのフロー図である。
【００１１】
【図５】図５は、本明細書に説明されるメタ学習技法を用いて訓練されたマルチタスクネットワークの実施形態を実装し得る、ウェアラブルディスプレイシステムの実施例を図式的に図示する。
【００１２】
図面全体を通して、参照番号は、参照される要素間の対応を示すために再使用され得る。図面は、本明細書に説明される例示的実施形態を図示するために提供され、本開示の範囲を限定することを意図するものではない。
【発明を実施するための形態】
【００１３】
概要
学習するための学習、すなわち、メタ学習は、ＤＮＮを訓練するための十分な利点を有し得る。１つの具体的なタスク（例えば、意味論セグメント化）のためにＤＮＮを訓練するステップは、ネットワークアーキテクチャの慎重な設計を通して行われ得る。しかしながら、複数のものを解決するために単一のＤＮＮを訓練するステップは、課題をもたらす。例えば、複数の目的が存在するときに学習目的を平衡させることは、１つのそのような課題である。本多目的問題は、各目的が、異なる性質（例えば、クロスエントロピ、二乗損失、コサイン損失等）であり、種々のスケールを有するときに、より困難なものになり得る。
【００１４】
ある場合には、ネットワークが、１つを上回る目的関数を用いて訓練されている場合、ネットワークは、マルチタスク学習を実施し得る。暗黙的なマルチタスク学習は、領域提案および最終検出目的をともに最適化することによって、Ｆａｓｔ／Ｆａｓｔｅｒ  Ｒ−ＣＮＮ等の畳み込みニューラルネットワーク（ＣＮＮ）において実施されることができる。ＹＯＬＯ／ＳＳＤ（Ｙｏｕ  Ｏｎｌｙ  Ｌｏｏｋ  Ｏｎｃｅ／シングルショットマルチボックス検出）等のワンショットオブジェクト検出器アプローチはさらに、領域提案構造を除去し、アンカ分類損失を最適化することによって１つの順方向パス内の場所および境界ボックス出力を直接予測する。これらのタイプのモデルは、最終目標が単一のタスクのみであるにもかかわらず、１つを上回る損失関数を同時に最小限にさせ得る。
【００１５】
暗黙的または明示的なマルチタスク学習のいくつかの実施形態は、訓練の間、異なるタスク間の準最適な平衡加重（比率）のための、手動調整またはグリッド検索を要求する。グリッド検索は、訓練のいくつかの（通常、高価な）反復を実施するステップを伴い得、これは、タスクの数に伴って不適切に増減する。さらに、訓練全体を通して平衡加重を固定することは、いくつかのタスクが、他のものより早く訓練される必要があり得るため、概して、準最適な訓練をもたらす。
【００１６】
故に、本開示は、単一の深層ネットワークを用いた複数のタスクの学習を自動化するための、メタ学習アプローチの種々の実施形態を提供する。学習目的は、タスクの全ておよびそれらの個々の性能の学習効率を増加させる、または最大限にすることであり得る。数値実験は、異なるタスクの試験性能が、タスクが学習された順序によって影響を及ぼされ得ることを示しており（例えば、図１Ａ−１Ｃ参照）、故に、改良された、または最適な性能を達成するためには、学習の反復全体を通して、複数の目的を動的に平衡させる必要性があり得る。メタ学習の実施形態は、損失平衡のために正常に活用されることができ、いくつかのそのような実施形態は、発見的手法またはグリッド検索を使用して損失を静的に平衡させるステップより優れ得る。
【００１７】
本明細書で言及されるいくつかの実施形態は、単一のネットワークを使用して複数のタスクをともに訓練するためのタスクレベルのカリキュラムを発見するために、メタネットワークを訓練する。いくつかの実施形態は、マルチタスクネットワークを訓練するために使用される、複数の目的を平衡させる、メタネットワークを訓練することを対象とする。メタネットワークのいくつかの実施形態は、いくつかのタスクが、タスクレベルのカリキュラムの様式におけるように他のものに先立って学習されるように、加重を平衡させることを学習する。
【００１８】
いくつかの実施形態では、メタネットワークは、各訓練反復における損失間の平衡加重を予測する。これらの損失の軌跡を観察することによって、メタネットワークは、単一のネットワークを使用して複数のタスクをともに訓練するための、タスクレベルのカリキュラムを発見することを学習してもよい。タスクレベルのカリキュラムは、タスク間学習の動態に対応することができ、例えば、いくつかのタスクは、他のタスク（例えば、可能性として、より不安定な／バリアントなタスク）より早く学習されるべきである（例えば、可能性として、より安定した／インバリアントなタスク）。
【００１９】
いくつかの実施形態は、グリッド検索アプローチを使用するときに重い、人間の直感またはリソースに基づいて困難である、異なるタスクに関する学習スケジュールを提供する。メタ学習アプローチは、コンピュータビジョン、発話認識、または自然言語処理に関するデータセットを含む、多くの現実世界のデータセットに適用されることができる。実施例として、本明細書に説明されるいくつかのアプリケーションは、部屋レイアウトにおける場面理解（例えば、意味論セグメント化、深度予測、または面法線推定）等のコンピュータビジョンのためのものである。
【００２０】
１つの例示的メタネットワークにおける、意味論セグメント化、深度予測、および面法線推定をともに訓練するステップに関する数値実験は、メタネットワークが、最初に深度を学習し、次いで、面法線の学習に徐々に焦点を合わせ、最後に、意味論セグメント化を学習することを実証する。メタネットワークによって発見された本学習順序は、乳児の視覚皮質系の発達に見出されるパターンに従う。
【００２１】
本出願人は、タスクレベルのカリキュラムが、いくつかの実装におけるマルチタスク学習のために有利であり得ることを発見している。メタネットワークの実施形態は、メタ学習フレームワークにおける本マルチタスク動態を捕捉することが可能であり、人間の直感または包括的グリッド検索アプローチを使用することによって見出され得ない、異なるタスクに関する重要な学習スケジュールを決定することができる。
【００２２】
（タスクレベルのカリキュラム学習）
複数のタスクに関する深層ニューラルネットワークを訓練するための１つの方法は、自動的にタスクのセットを学習するための、手動で設計されるアルゴリズム／ネットワークアーキテクチャを作成することである。しかしながら、人間の体験ベースまたは手動で設計されたアルゴリズムの調整は、あるタスクのためには最適ではない場合がある。人間が設計した学習アルゴリズムの一実施例は、カリキュラム学習である。実施例に関して無作為の順序で訓練するのではなく、カリキュラム学習は、人が設計した難易度メトリックに基づいて、意味のある順序を使用して訓練実施例を再加重することに焦点を置く（例えば、順序は、徐々に、より多くの実施例と、徐々に、より複雑な実施例とに関して訓練する）。継続方法は、非凸基準の最小化に対処するための最適化方略を含む。これらのアプローチは、最初に、容易な訓練実施例を用いてモデルを最適化し、徐々に、困難な訓練実施例に向かって移行することを目的とする。１つの基本的パラダイムは、問題の平滑なバージョンが、大域的な像を明らかにするという直感を用いて、最初に、平滑化された目的を最適化し、徐々に、平滑化を考慮しなくなることである。
【００２３】
タスクレベルのカリキュラム学習と称され得る、別の例示的訓練方法は、タスクがマルチタスクニューラルネットワーク内で学習される順序に対処する。これらのタイプの方法は、より容易なタスクを使用し、サブネットワークを事前訓練してもよく、事前に訓練されたサブネットワーク上で、より困難なタスクを訓練してもよい。
【００２４】
本明細書では、メタネットワークを訓練し、タスクレベルの学習カリキュラムを予測するためのシステムおよび方法が、説明される。いくつかの実施形態では、メタネットワークは、各訓練反復において、損失間の平衡加重を予測する。これらの損失の軌跡を観察することによって、メタネットワークは、単一のネットワークを使用して複数のタスクをともに訓練するための、タスクレベルのカリキュラムを発見することを学習し得る。タスクレベルのカリキュラムは、タスク間の学習動態に対応することができ、例えば、いくつかのタスクは、他のタスク（例えば、可能性として、より不安定な／バリアントなタスク）より早く学習されるべきである（例えば、可能性として、より安定した／インバリアントなタスク）。
【００２５】
（グリッド検索を通した１つのネットワーク内での複数のタスクの訓練）
マルチタスク学習を解決するステップにおいて使用され得る、１つの技法は、グリッド検索を使用することによってＫ個の異なるタスクに関する最適平衡加重αｋを発見することによるものである。いったん加重αｋが、選択されると、加重は、訓練全体を通して定数としてとどまることができる。いくつかの実施形態では、メタネットワークは、最初に、タスクが訓練される順序が重要であるかどうかを確認してもよい。これに対処するために、アブレーション研究が、訓練順序が学習に影響を及ぼす方法を決定するために、タスクが１つの単一ネットワーク内で訓練される順序を並べ替えることによって実施された。
【００２６】
１つの深層ネットワークを使用した異なる順序で訓練される複数のタスクの訓練からの例示的観察が、図１Ａ−１Ｃに示される。深層ネットワークによって学習される複数のタスクは、タスク１、２、および３として標識され、それぞれ、意味論セグメント化、深度予測、および面法線推定を指す。ＤＮＮは、ＮＹＵｖ２データセット（下記に説明される）に関して訓練された。
【００２７】
図１Ａ−１は、訓練の間の対応するタスク１および２に関する、平衡加重アルファ１（α１）およびアルファ２（α２）を示す。図１Ａ−２は、図１Ａ−１に描写される平衡加重を使用してタスク１および２を訓練するステップからの、総訓練損失および試験損失を示す。図１Ｂ−１は、訓練の間の対応するタスク２および３に関する、平衡加重アルファ２（α２）およびアルファ３（α３）を示す。図１Ｂ−２は、図１Ｂ−１に描写される平衡加重を使用してタスク２および３を訓練するステップからの、総訓練損失および試験損失を示す。図１Ｃ−１は、訓練の間の対応するタスク１および３に関する、平衡加重アルファ１（α１）およびアルファ３（α３）を示す。図１Ｃ−２は、図１Ｃ−１に描写される平衡加重を使用してタスク１および３を訓練するステップからの、総訓練損失および試験損失を示す。
【００２８】
図１Ａ−１Ｃでは、表記「タスクｉ−＞タスクｊ」は、訓練の開始時に高いタスクｉ加重αｉでタスクｉに関して高い値を割り当て、次いで、徐々に、高いタスクｊ加重αｊに変化することを表す。タスク加重は、毎訓練ステップにおいて合計が１になるように制約された。図１Ａ−１、１Ｂ−１、および１Ｃ−１は、訓練の間に得られる訓練ステップの関数として、加重の変化を図示する。
【００２９】
図１Ａ−１および１Ａ−２に描写されるように、タスク１（セグメント化）からタスク２（深度）、またはタスク２（深度）からタスク１（セグメント化）への訓練のいずれであっても、ネットワークは、同一の訓練損失値にほぼ収束する。しかしながら、試験損失は、劇的に異なる挙動を明らかにし、すなわち、タスク１から訓練するステップは、はるかにより低い全体的試験損失を与える。本タスク順序に特有のネットワーク訓練挙動はまた、図１Ｂ−２および１Ｃ−２に見られ得る。これらの実験において、本挙動は、同一の訓練時間量下で生じ、タスク加重は、毎訓練ステップにおいて常時、合計が１になることに留意されたい。言い換えると、各タスクは、同一の訓練時間量を受け取る。
【００３０】
手短に言えば、図１Ａ−１Ｃは、異なるタスクの焦点を伴う訓練間の例示的差異を実証する。例えば、図１Ａ−２、１Ｂ−２、および１Ｃ−２の各々に対し、ネットワークは、ほぼ同一の訓練損失値に収束する。しかしながら、試験損失は、同一の訓練時間下で、平衡加重が合計１になる状態でも、劇的に異なる挙動を明らかにする。故に、異なるタスクの試験性能は、タスクが訓練される間に学習された順序によって影響を及ぼされ得る。
（メタ学習による例示的マルチタスク学習）
【００３１】
種々の実施形態では、マルチタスク学習が、それらの関連付けられる加重αｋを伴うＫ個の異なるタスクに関する、損失関数
【化１】
2021503122.tif 000003
の加重線形和の形態で実施される。
【化２】
2021503122.tif 000004
【００３２】
本例示的マルチタスクネットワークは、メタネットワークを使用し、そのような子ネットワークをメタ学習フレームワーク内で学習する方法の導入として、子ネットワークとして示される。
【００３３】
メタ学習のいくつかの実施形態では、目的は、訓練セットχ上のＫ個のタスクの全てを可能な限り良好に実施することである。本目的は、そのパラメータφを伴うメタネットワーク目的関数
【化３】
2021503122.tif 000005
によって捕捉されることができる。最適な子ネットワークパラメータ
【化４】
2021503122.tif 000006
は、メタネットワークパラメータφおよび当該損失関数の関数であることができる。損失関数
【化５】
2021503122.tif 000007
の分布を前提として、予期される損失を、以下のように定式化することができる。
【化６】
2021503122.tif 000008
式中、
【化７】
2021503122.tif 000009
は、子損失関数にわたる期待演算子である。
【００３４】
メタネットワークｍは、子ネットワークの現在の損失値およびメタネットワークのパラメータφを前提として、適応加重αを生成する。子ネットワークは、したがって、本更新されたαのセットを用いて、
【化８】
2021503122.tif 000010
から更新された子ネットワークパラメータθを算出することができる。いくつかの実施形態では、長・短期記憶（ＬＳＴＭ）モジュール等の再帰モデルが、隠蔽された状態がｈによって示されるメタネットワークｍとして使用されることができる。方程式（２）の出力は、子ネットワークの訓練過程の最後に実際の学習信号を提供し、したがって、Ｔ個のステップの訓練窓に関する最適化の軌跡に依存する目的を有することは、便宜的であり得る。
【化９】
2021503122.tif 000011
式中、以下の通りである。
【化１０】
2021503122.tif 000012
全ての訓練反復ｔにおいて、メタネットワークｍは、最新の学習軌跡
【化１１】
2021503122.tif 000013
およびＬＳＴＭの隠蔽された状態ｈｔを前提として、平衡加重αｋ，ｔの新しいセットを生成する。
【００３５】
いくつかの実施形態では、メタネットワーク損失関数
【化１２】
2021503122.tif 000014
の値は、φに関して勾配降下を使用して、低減される、または最小限にされることができる。人間の直感または発見的手法によって最適なαｋを検索する代わりに、いくつかの実施形態は、データに基づいた方式で、損失
【化１３】
2021503122.tif 000015
の相対的関係を学習する際に、φに対する本メタ学習目的を低減させる、または最小限にすることができる。メタネットワークは、多くの最適化曲線を消費し、そのパラメータを調節し、動的に全てのタスク間の最適な関係係数αを生成することを学習し得る。本アプローチは、目的関数
【化１４】
2021503122.tif 000016
が、訓練軌跡の履歴へのアクセスを有しておらず、オプティマイザが、現在の目的値に基づいて最良な加重αを見出すことのみを可能にし得るため、加重αに対して
【化１５】
2021503122.tif 000017
を直接最適化するステップとは異なる。
【００３６】
図２は、メタネットワーク２０４と、子ネットワーク２０８とを含む、例示的メタ学習システム２００のブロック図である。方程式（１）から（４）を参照して説明されるように、メタネットワーク損失関数
【化１６】
2021503122.tif 000018
は、メタネットワークのパラメータφに依存することができ、子ネットワーク損失関数
【化１７】
2021503122.tif 000019
は、子ネットワークのパラメータθに依存することができ、これは、随意に、訓練反復ｔに依存することができる。メタネットワーク損失関数の値は、低減される、または最小限にされ、子ネットワークに関する適応加重のセットを提供することができる。子ネットワークが、マルチタスクネットワークを含む場合、適応加重は、タスクα毎の加重であることができる。いくつかの実施形態では、メタネットワークは、隠蔽された状態２１２を含むことができる。メタネットワーク２０４は、長・短期記憶（ＬＳＴＭ）モジュール等の再帰モデルを含むことができる。子ネットワークは、したがって、本更新された適応加重のセットを用いて、その損失関数
【化１８】
2021503122.tif 000020
から更新された子ネットワークパラメータθを算出することができる。上記に説明されるように、メタ学習システム２００は、最適化軌跡にわたって反復し、損失関数を最小限にすることができる。
【００３７】
（例示的メタ学習問題およびメタネットワーク）
コンピュータビジョンにおける最も一般的かつ自然なマルチタスク学習問題の１つは、場面の幾何学形状を捕捉し、場面内のオブジェクトを認識することである。オブジェクト認識は、拡張現実のための、および自律運転に対するオブジェクト間の支援関係を推測するステップのための、リアルタイムの３次元（３Ｄ）再構成等の幅広い一連の用途を有する。
【００３８】
方程式（１）から（４）に関して説明されるメタ学習技法のある実施形態が、現実世界の場面理解データセットＮＹＵｖ２に関して適用された。ＮＹＵｖ２データセットは、６４０×４８０分解能の屋内場面における、整合された色（ＲＧＢ）および深度画像の１，４４９個の密集して標識された対を含む。子ネットワークおよびメタネットワークは、７９５個の訓練実施例に関して訓練され、試験結果が、６５４個の別個の試験実施例に関して計算された。数値実験では、画像は、算出負担を低減させるために１２８×１２８分解能までダウンサンプリングされた。
【００３９】
ＮＹＵｖ２データセットは、３つのタスクスイート、すなわち、意味論セグメント化、深度予測、および面法線推定を備え、これらは、マルチタスクメタ学習シナリオに関する良好な候補タスクである。
【００４０】
意味論セグメント化は、ピクセルレベルで画像を理解するステップを含む。メタ学習は、ＮＹＵｖ２データセット内で説明される１３個の意味論標識を用いて意味論クラスセットに関して評価された。クロスエントロピ損失関数が、意味論セグメント化のために使用され、ピクセル毎のクラス確率を学習し、Ｉｎｔｅｒｓｅｃｔｉｏｎ  ｏｖｅｒ  Ｕｎｉｏｎの平均（ｍＩｏＵ）メトリックを使用して、試験セットの正確度を報告した。
【００４１】
深度予測に関して、Ｌ１損失関数が、深度予測のために、ピクセル毎に管理された深度回帰訓練を実施するために使用された。数値実験では、深度が、訓練および試験のためにメートル（０〜１０メートル）で測定され、グランドトゥルース深度が、ＲＧＢＤセンサから捕捉された。
【００４２】
面法線訓練に関して、ピクセル毎のコサイン距離（例えば、１−｜ｃｏｓθ｜）が、使用された（式中、θは、グランドトゥルース面法線ベクトルと予測される面法線ベクトルとの間の角度を測定する）。各面法線ベクトルは、ｘ、ｙ、およびｚ方向を表す、３つの成分を含む。ＮＹＵｖ２ツールボックスが、深度グランドトゥルースおよびカメラパラメータから面法線グランドトゥルースを生成するために使用された。
【００４３】
数値実験では、メタネットワークアーキテクチャは、各層内に２０個の隠れユニットを伴う、２層ＬＳＴＭを利用した。メタネットワークの出力は、ソフトマックス関数を通過し、生成された加重αｋが、合計１になり、ゼロを上回ることを確実にした。メタネットワークは、０．００１の学習率を伴うＡＤＡＭ最適化アルゴリズム（適応モーメント推定）を使用して時間を通した逆伝搬（ＢＰＴＴ）によって方程式（３）を最小限にすることによって、訓練された。実験では、１のノルム値における勾配クリッピングが、利用され、訓練を改良した。本方法は、実験全体を通して一定に保持される、隠れユニットの数（２０）の影響を比較的に受けないことが見出された。
【００４４】
実験では、マルチタスク子ネットワークは、２のストライドを使用した最初の２つの畳み込み層を除いては、ストライド１を伴う６つの３×３畳み込み層を含む、深層の完全畳み込みネットワークであった。各畳み込み層は、１６個のフィルタを有し、全ての非直線性が、正規化線形ユニット（ＲｅＬＵ）のアクティブ化であり、その後にバッチの正規化が、続く。各訓練ステップにおいて、メタネットワークは、訓練された３つのタスク全てに関するタスク平衡加重αｋの新しいセットを生成した。子ネットワークは、これらの適応加重を使用し、それ自体の子ネットワークパラメータθに対する勾配を算出した。子ネットワークは、０．９の運動量、０．０１の学習率、および１０のバッチサイズの標準的な確率勾配降下を用いて訓練された。全てのパラメータが、ｉ．ｉ．ｄ．ガウス分布を用いて初期化された。
【００４５】
メタ学習メタネットワークからの結果が、２つの一般的に使用されるマルチタスク学習技法、すなわち、等加重およびグリッド検索と比較された。等加重技法は、３つのタスク全てに関して、０．３３３の同一のα値を使用した。グリッド検索に関して、各αｋに対する検索空間からの０．０２のステップサイズが、加重が合計で１であり、全て正であるという制約に伴って使用された。１，２００回のグリッド検索実行からの最良の結果が、図３Ａ−３Ｆおよび表１に要約される。
【００４６】
図３Ａは、３つのタスクのセット、すなわち、意味論セグメント化（タスク１）、深度検出（タスク２）、および面法線推定（タスク３）を学習する方法を学習する、例示的メタネットワークの学習軌跡の実施例を示す。図３Ａは、０回、１００回、２００回、３００回、および４００回の訓練反復に関するある損失値に対する学習軌跡の収束を示す。図３Ｂは、例示的メタネットワークの１つの学習軌跡のための、３つのタスクに関する最終的な収束されたタスク加重値αを示す。
【００４７】
図３Ｃ−３Ｆは、意味論セグメント化（タスク１）、深度検出（タスク２）、および面法線推定（タスク３）を学習する方法を学習するための、等加重、グリッド検索によって制御される、マルチタスク学習と、ＮＹＵｖ２データセットに関するメタ学習メタネットワークのある実施形態との間の比較を示す。図３Ｃは、３つのタスクの全てに関する、全体的な訓練損失および試験損失を図示する。図３Ｄ、３Ｅ、３Ｆは、各個々のタスク、すなわち、セグメント化（図３Ｄ）、深度（図３Ｅ）、および面法線（図３Ｆ）に関する訓練損失および試験損失を図示する。
【００４８】
メタネットワークの実施形態は、訓練の過程全体を通して異なるタスクに関する平衡加重αを動的に調節し、等加重およびグリッド検索アプローチと比較して、より良好な収束率およびより低い試験損失をもたらす。
【００４９】
表１は、等加重およびグリッド検索と比較される、本明細書に説明されるメタ学習技法に関する比較実験結果の要約を示す。表１はまた、ガウス尤度仮定に基づいて各タスクからの出力の等分散的不確実性を算出し、原タスク目的との共同の不確実性タスク平衡加重を学習する、近年開発された不確実性加重アプローチとの比較を示す。
【表１】
2021503122.tif 000021
【００５０】
表１から理解され得るように、訓練性能は、メタ学習マルチタスク学習技法のある実施形態を用いて訓練すると（例えば、方程式（１）から（４）参照）、単一のタスクモデル、加重損失、グリッド検索、および不確実性加重に優って改良されることができる。
【００５１】
（マルチタスク学習のための例示的メタ学習プロセス）
図４は、メタ学習およびメタネットワークを使用して子ネットワークを訓練するための、例示的プロセス８００のフロー図である。子ネットワークは、複数のタスク（例えば、場面理解）と関連付けられた出力を決定するために使用される、マルチタスクネットワークを備えることができる。子ネットワークは、複数の共有層と、複数のタスク特有フィルタを備える、出力層とを備えることができる。非一過性メモリと、ハードウェアプロセッサとを伴う、コンピューティングシステム等のコンピューティングシステムは、プロセス８００を実施し、子ネットワークを訓練することができる。コンピューティングシステムの非一過性メモリは、実行可能命令を記憶する、または記憶するように構成されることができる。ハードウェアプロセッサは、非一過性メモリと通信し、実行可能命令によって、プロセス８００を実施し、メタ学習の実施形態を使用して、子ネットワークを訓練するようにプログラムされることができる。
【００５２】
ブロック８０４において、プロセス８００は、訓練データにアクセスする。訓練データは、子ネットワークに関する複数の基準タスク出力と関連付けられた訓練画像を含むことができる。複数のタスクは、回帰タスク、分類タスク、またはそれらの組み合わせを含むことができる。複数のタスクは、例えば、顔認識、視覚的検索、ジェスチャ識別または認識、場面理解、意味論セグメント化、深度推定、面法線推定、オブジェクト検出、部屋レイアウト推定、直方体検出、照明検出、同時位置特定およびマッピング、オブジェクトまたはアバタの再位置特定等の知覚タスク、または発話認識または自然言語処理等の発話処理タスク、またはそれらの組み合わせを含むことができる。
【００５３】
ブロック８０８において、プロセス８００は、子ネットワークにアクセスする。子ネットワークは、マルチタスクニューラルネットワークであってもよい。子ネットワークは、子ネットワークのパラメータθに依存し得る、子ネットワーク損失関数と関連付けられることができる。例えば、子ネットワーク損失関数
【化１９】
2021503122.tif 000022
は、それらの関連付けられる加重αｋを伴う、Ｋ個の異なるタスクに関する損失
【化２０】
2021503122.tif 000023
の加重線形結合を含んでもよい（例えば、方程式（１）参照）。子ネットワークパラメータθは、訓練反復時間ｔに依存することができる。
【００５４】
ブロック８１２において、プロセス８００は、メタネットワークにアクセスする。メタネットワークは、メタネットワークのパラメータφに依存し得る、メタネットワーク損失関数
【化２１】
2021503122.tif 000024
と関連付けられることができる。種々の実施形態では、メタネットワーク損失関数は、方程式（２）または（３）を参照して上記に説明されるように定式化されることができる。
【００５５】
ブロック８１６において、プロセス８００は、メタネットワークを訓練し、子損失関数に関する適応加重を提供する。適応加重は、マルチタスク子ネットワークのタスクと関連付けられる、加重αｋであることができる。訓練されたメタネットワークは、それによって、子ネットワークの現在の損失値およびメタネットワークのパラメータφを前提として、適応加重αを生成する。メタネットワークは、例えば、長・短期記憶（ＬＳＴＭ）モジュール等の再帰モデルを含むことができる。メタネットワークは、確率勾配降下法によって、またはＡＤＡＭ最適化アルゴリズム（例えば、適応モーメント推定）のある実施形態を使用した時間（ＢＰＴＴ）を通した逆伝搬によって訓練されることができる。プロセス８００は、方程式（３）および（４）を使用したＴ個のステップの訓練窓に関する最適化の軌跡に基づいて、メタネットワークを訓練することができる。いくつかのそのような実施形態では、全ての訓練反復ｔにおいて、メタネットワークは、子
【化２２】
2021503122.tif 000025
の最新の学習軌跡およびメタネットワークの隠蔽された状態ｈｔを前提として、平衡加重の新しいセットを生成する。
【００５６】
ブロック８２０において、プロセス８００は、ブロック８１６において学習された適応加重に基づいて、子ネットワークを訓練する。例えば、子ネットワークは、これらの適応加重を使用し、例えば、確率勾配降下を介してそれ自体の子ネットワークパラメータθに対する勾配を算出することができる。ブロック８１６および８２０は、十分な収束が達成されるまで、反復されることができる。
【００５７】
ブロック８２４では、プロセス８００は、訓練された子ネットワークを出力する。訓練された子ネットワークは、ＡＲ、ＶＲ、またはＭＲディスプレイデバイスのメモリ内に記憶され、子ネットワークと関連付けられるタスクを実施するために使用されることができる（例えば、図５を参照して説明される、ウェアラブルシステムと関連付けられる説明参照）。
【００５８】
（例示的ＮＮ層）
関数、アルゴリズム、システム、および同等物等のデータ関係およびパターンを表す、モデルは、入力を受け取り、ある方法において、入力に対応する、出力を生産し得る。例えば、モデルは、畳み込みニューラルネットワーク（ＣＮＮ）または深層ニューラルネットワーク（ＤＮＮ）等の機械学習方法として実装されてもよい。深層学習は、タスク特有方法とは対照的に、学習データ表現の概念に基づく、より広義の機械学習方法の系統の一部であって、拡張現実（ＡＲ）、複合現実（ＭＲ）、仮想現実（ＶＲ）、および機械知能のために有用な視聴覚算出問題を解決する際の大きな有望性を示す。機械学習では、畳み込みニューラルネットワーク（ＣＮＮまたはＣｏｎｖＮｅｔ）は、あるクラスの深層フィードフォワード人工ニューラルネットワークを含むことができ、ＣＮＮは、視覚的画像の分析への適用において成功を収めている。機械学習方法は、眼画像セグメント化または眼追跡を含む、多種多様な問題に対するロバストかつ正確なソリューションを有効にし得る、ある系統の方法を含む。
【００５９】
深層ニューラルネットワーク（ＤＮＮ）等のニューラルネットワーク（ＮＮ）の層は、線形または非線形変換をその入力に適用し、その出力を生成することができる。深層ニューラルネットワーク層は、正規化層、畳み込み層、ソフトサイン層、正規化線形層、連結層、プーリング層、再帰層、インセプション様層、または任意のそれらの組み合わせであることができる。正規化層は、例えば、Ｌ２正規化を用いて、その入力の明度を正規化し、その出力を生成することができる。正規化層は、例えば、相互に対して一度に複数の画像の明度を正規化し、複数の正規化された画像をその出力として生成することができる。明度を正規化するための方法の非限定的実施例は、ローカルコントラスト正規化（ＬＣＮ）またはローカル応答正規化（ＬＲＮ）を含む。ローカルコントラスト正規化は、平均値ゼロおよび分散１（または他の値の平均値および分散）を有するようにピクセル毎に画像のローカル領域を正規化することによって、画像のコントラストを非線形に正規化することができる。ローカル応答正規化は、平均値ゼロおよび分散１（または他の値の平均値および分散）を有するように、画像をローカル入力領域にわたって正規化することができる。正規化層は、訓練プロセスを加速させ得る。
【００６０】
畳み込み層は、その入力を畳み込み、その出力を生成する、カーネルのセットに適用されることができる。ソフトサイン層は、ソフトサイン関数をその入力に適用することができる。ソフトサイン関数（ｓｏｆｔｓｉｇｎ（ｘ））は、例えば、（ｘ／（１＋｜ｘ｜））であることができる。ソフトサイン層は、要素毎の外れ値の影響を無視し得る。正規化線形層は、正規化線形層単位（ＲｅＬＵ）またはパラメータ化された正規化線形層単位（ＰＲｅＬＵ）であることができる。ＲｅＬＵ層は、ＲｅＬＵ関数をその入力に適用し、その出力を生成することができる。ＲｅＬＵ関数ＲｅＬＵ（ｘ）は、例えば、ｍａｘ（０，ｘ）であることができる。ＰＲｅＬＵ層は、ＰＲｅＬＵ関数をその入力に適用し、その出力を生成することができる。ＰＲｅＬＵ関数ＰＲｅＬＵ（ｘ）は、例えば、ｘ≧０の場合はｘ、およびｘ＜０の場合はａｘであることができる（ａは、正の数である）。連結層は、その入力を連結し、その出力を生成することができる。例えば、連結層は、４つの５×５画像を連結し、１つの２０×２０画像を生成することができる。プーリング層は、その入力をダウンサンプリングし、その出力を生成する、プーリング関数を適用することができる。例えば、プーリング層は、２０×２０画像を１０×１０画像にダウンサンプリングすることができる。プーリング関数の非限定的実施例は、最大プーリング、平均プーリング、または最小プーリングを含む。
【００６１】
時間点ｔでは、再帰層は、隠蔽された状態ｓ（ｔ）を算出することができ、再帰接続は、時間ｔにおける隠蔽された状態ｓ（ｔ）を再帰層に後続時間点ｔ＋１における入力として提供することができる。再帰層は、時間ｔにおける隠蔽された状態ｓ（ｔ）に基づいて、時間ｔ＋１におけるその出力を算出することができる。例えば、再帰層は、ソフトサイン関数を時間ｔにおいて隠蔽された状態ｓ（ｔ）に適用し、時間ｔ＋１におけるその出力を算出することができる。時間ｔ＋１における再帰層の隠蔽された状態は、その入力として、時間ｔにおける再帰層の隠蔽された状態ｓ（ｔ）を有する。再帰層は、例えば、ＲｅＬＵ関数をその入力に適用することによって、隠蔽された状態ｓ（ｔ＋１）を算出することができる。インセプション様層は、正規化層、畳み込み層、ソフトサイン層、ＲｅＬＵ層およびＰＲｅＬＵ層等の正規化線形層、連結層、プーリング層、または任意のそれらの組み合わせのうちの１つ以上のものを含むことができる。
【００６２】
ＮＮ内の層の数は、異なる実装では異なり得る。例えば、ＤＮＮ内の層の数は、５０、１００、２００、またはそれを上回り得る。深層ニューラルネットワーク層の入力タイプは、異なる実装では異なり得る。例えば、層は、いくつかの層の出力をその入力として受信することができる。層の入力は、５つの層の出力を含むことができる。別の実施例として、層の入力は、ＮＮの層の１％を含むことができる。層の出力は、いくつかの層の入力であることができる。例えば、層の出力は、５つの層の入力として使用されることができる。別の実施例として、層の出力は、ＮＮの層の１％の入力として使用されることができる。
【００６３】
層の入力サイズまたは出力サイズは、非常に大きくあることができる。層の入力サイズまたは出力サイズは、ｎ×ｍであることができる（ｎは、入力または出力の幅を示し、ｍは、高さを示す）。例えば、ｎまたはｍは、１１、２１、３１、またはより大きいことができる。層の入力または出力のチャネルサイズは、異なる実装では異なり得る。例えば、層の入力または出力のチャネルサイズは、４、１６、３２、６４、１２８、またはより大きいことができる。層のカーネルサイズは、異なる実装では異なり得る。例えば、カーネルサイズは、ｎ×ｍであることができる（ｎは、カーネルの幅を示し、ｍは、高さを示す）。例えば、ｎまたはｍは、５、７、９、またはより大きいことができる。層のストライドサイズは、異なる実装では異なり得る。例えば、深層ニューラルネットワーク層のストライドサイズは、３、５、７、またはより大きいことができる。
【００６４】
いくつかの実施形態では、ＮＮは、ＮＮの出力をともに算出する、複数のＮＮを指し得る。複数のＮＮの異なるＮＮは、異なるタスクに関して訓練されることができる。プロセッサ（例えば、図５を参照して説明されるローカルデータ処理モジュール９２４のプロセッサ）は、複数のＮＮのＮＮの出力を算出し、ＮＮの出力を決定することができる。例えば、複数のＮＮのＮＮの出力は、尤度スコアを含むことができる。プロセッサは、複数のＮＮの異なるＮＮの出力の尤度スコアに基づいて、複数のＮＮを含む、ＮＮの出力を決定することができる。
【００６５】
（例示的ウェアラブルディスプレイシステム）
いくつかの実施形態では、ユーザデバイスは、ウェアラブルディスプレイデバイスであり得る、またはウェアラブルディスプレイデバイス内に含まれることができ、これは、有利なこととして、より没入型の仮想現実（ＶＲ）、拡張現実（ＡＲ）、または複合現実（ＭＲ）体験を提供し得、デジタル的に再現された画像またはその一部が、それらが現実のように見える、または現実として知覚され得る様式で装着者に提示される。
【００６６】
理論によって限定されるわけではないが、人間の眼は、典型的には、奥行知覚を提供するために、有限数の深度平面を解釈し得ると考えられる。その結果、知覚される奥行の非常に真実味のあるシミュレーションが、これらの限定された数の深度平面のそれぞれに対応する画像の異なる表現を眼に提供することによって達成され得る。例えば、導波管のスタックを含有するディスプレイが、ユーザまたは視認者の眼の正面に位置付けられて装着されるように構成され得る。導波管のスタックは、複数の導波管を使用し、画像投入デバイス（例えば、１つ以上の光ファイバを介して画像情報を送る、多重化ディスプレイの離散ディスプレイまたは出力端）から、特定の導波管と関連付けられる深度平面に対応する特定の角度（および発散量）において視認者の眼に光を指向させることによって、３次元知覚を眼／脳に提供するために利用され得る。
【００６７】
いくつかの実施形態では、導波管の２つのスタック（視認者の眼毎に１つ）が、異なる画像を各眼に提供するために利用され得る。一実施例として、拡張現実場面は、ＡＲ技術の装着者が、人物、木、背景の建物、およびコンクリートプラットフォームを特徴とする現実世界の公園のような設定を見るようなものであり得る。これらのアイテムに加えて、ＡＲ技術の装着者はまた、自身が、現実世界プラットフォーム上に立つロボットの像およびマルハナバチの擬人化のように見える飛行する漫画的アバタキャラクタを、そのロボットの像およびマルハナバチが現実世界に存在していないにもかかわらず、「見ている」と知覚し得る。導波管のスタックは、入力画像に対応するライトフィールドを生成するために使用され得、いくつかの実装では、ウェアラブルディスプレイは、ウェアラブルライトフィールドディスプレイを備える。ライトフィールド画像を提供するためのウェアラブルディスプレイデバイスおよび導波管スタックの実施例が、米国特許公開第２０１５／００１６７７７号（参照することによって、これが含有するあらゆるものに関してその全体として本明細書に組み込まれる）に説明されている。
【００６８】
図５は、ＶＲ、ＡＲ、またはＭＲ体験をディスプレイシステム装着者または視認者９０４に提示するために使用され得る、ウェアラブルディスプレイシステム９００の実施例を図示する。ウェアラブルディスプレイシステム９００は、本明細書に説明される用途または実施形態のいずれかを実施するようにプログラムされてもよい（例えば、ＣＮＮまたはＤＮＮの実行、入力アクティブ化マップまたはカーネルの値の並替、眼画像セグメント化、または眼追跡）。ディスプレイシステム９００は、ディスプレイ９０８と、そのディスプレイ９０８の機能をサポートするための種々の機械的および電子的モジュールおよびシステムとを含む。ディスプレイ９０８は、ディスプレイシステム装着者または視認者９０４によって装着可能であって、ディスプレイ９０８を装着者９０４の眼の正面に位置付けるように構成される、フレーム９１２に結合されてもよい。ディスプレイ９０８は、ライトフィールドディスプレイであってもよい。いくつかの実施形態では、スピーカ９１６が、フレーム９１２に結合され、ユーザの外耳道に隣接して位置付けられる。いくつかの実施形態では、示されない別のスピーカが、ユーザの他方の外耳道に隣接して位置付けられ、ステレオ／調節可能音制御を提供する。ディスプレイシステム９００は、装着者９０４の周囲の環境の画像（例えば、静止画像またはビデオ）を取得し得る、外向きに向いた結像システム９４４（例えば、１つ以上のカメラ）を含むことができる。外向きに向いた結像システム９４４によって取得される画像は、装着者９０４の周囲の環境内の、図２および４を参照して説明されるメタ学習方法９００によって訓練されたマルチタスクネットワークの実施形態によって分析されることができる。
【００６９】
ディスプレイ９０８は、有線導線または無線コネクティビティ等によって、ローカルデータ処理モジュール９２４に動作可能に結合され９２０、これは、フレーム９１２に固定して取り付けられる、ユーザによって装着されるヘルメットまたは帽子に固定して取り付けられる、ヘッドホンに内蔵される、または別様にユーザ９０４に除去可能に取り付けられる（例えば、リュック式構成において、ベルト結合式構成において）等、種々の構成において搭載され得る。
【００７０】
ローカル処理およびデータモジュール９２４は、ハードウェアプロセッサおよび不揮発性メモリ（例えば、フラッシュメモリ）等の非一過性デジタルメモリを備えてもよく、その両方とも、データの処理、キャッシュ、および記憶を補助するために利用され得る。データは、（ａ）画像捕捉デバイス（カメラ等）、マイクロホン、慣性測定ユニット、加速度計、コンパス、ＧＰＳユニット、無線デバイス、および／またはジャイロスコープ等のセンサ（例えば、フレーム９１２に動作可能に結合され得る、または別様に装着者９０４に取り付けられ得る）から捕捉されるデータ、および／または（ｂ）場合によっては、そのような処理または読出後にディスプレイ９０８への通過のために、遠隔処理モジュール９２８および／または遠隔データリポジトリ９３２を使用して入手および／または処理されるデータを含む。ローカル処理およびデータモジュール９２４は、これらの遠隔モジュール９２８、９３２が、相互に動作可能に結合され、ローカル処理およびデータモジュール９２４へのリソースとして利用可能であるように、有線または無線通信リンク等を介して、通信リンク９３６、９４０によって、遠隔処理モジュール９２８および遠隔データリポジトリ９３２に動作可能に結合されてもよい。画像補足デバイスは、眼画像セグメント化または眼追跡プロシージャにおいて使用される眼画像を捕捉するために使用されることができる。
【００７１】
いくつかの実施形態では、遠隔処理モジュール９２８は、画像捕捉デバイスによって捕捉されたビデオ情報等のデータおよび／または画像情報を分析および処理するように構成される、１つ以上のプロセッサを備えてもよい。ビデオデータは、ローカル処理およびデータモジュール９２４および／または遠隔データリポジトリ９３２内でローカルに記憶されてもよい。いくつかの実施形態では、遠隔データリポジトリ９３２は、デジタルデータ記憶設備を備え得、これは、インターネットまたは「クラウド」リソース構成における他のネットワーキング構成を通して利用可能であってもよい。いくつかの実施形態では、全てのデータが、記憶され、全ての算出が、ローカル処理およびデータモジュール９２４において実施され、遠隔モジュールからの完全に自律的な使用を可能にする。
【００７２】
いくつかの実装では、ローカル処理およびデータモジュール９２４および／または遠隔処理モジュール９２８は、本明細書に開示される、入力アクティブ化マップまたはカーネルの値の並替、眼画像セグメント化、または眼追跡の実施形態を実施するようにプログラムされる。例えば、ローカル処理およびデータモジュール９２４および／または遠隔処理モジュール９２８は、図２および４を参照して説明される方法９０を使用して訓練されたマルチタスクネットワークを使用して、タスク予測および決定の実施形態を実施するようにプログラムされることができる。画像捕捉デバイスは、特定の用途（例えば、拡張現実（ＡＲ）、人間とコンピュータの相互作用（ＨＣＩ）、自律車両、ドローン、またはロボット全般）のためのビデオを捕捉することができる。ビデオは、ＣＮＮを使用して、処理モジュール９２４、９２８の一方または両方によって分析されることができる。ある場合には、入力アクティブ化マップまたはカーネルの値の並替、眼画像セグメント化、または眼追跡の少なくともいくつかを遠隔処理モジュール（例えば、「クラウド」内の）にオフロードすることは、算出の効率または速度を改良し得る。ＣＮＮまたはＤＮＮのパラメータ（例えば、加重、バイアス項、プーリング層のためのサブサンプリング係数、異なる層内のカーネルの数およびサイズ、特徴マップの数等）は、データモジュール９２４および／または９３２内に記憶されることができる。例えば、データモジュール９２４、９３２は、本明細書に説明されるメタ学習およびメタネットワークを使用する訓練から学習されているパラメータを記憶することができる。
【００７３】
タスク予測または決定の結果（例えば、図２および４を参照して説明されるメタ学習マルチタスクネットワーク９００の出力）は、付加的動作または処理のために、処理モジュール９２４、９２８の一方または両方によって使用されることができる。例えば、ウェアラブルディスプレイシステム９００の処理モジュール９２４、９２８は、マルチタスクネットワークの出力に基づいて、付加的用途（拡張現実、人間とコンピュータの相互作用（ＨＣＩ）、自律車両、ドローン、またはロボット全般における用途等）を実施するようにプログラムされることができる。
【００７４】
（付加的タスク）
メタ学習の実施形態は、メタネットワークが画像または視覚的データ上で訓練される、コンピュータビジョンタスクに限定されない。他の実施形態では、訓練サンプルは、オーディオデータ、加速データ、測位データ、温度データ、無線周波数データ、および光学追跡データ等のセンサによって捕捉された非架空データを含むことができる。センサの実施例は、オーディオセンサ（例えば、マイクロホン）、慣性測定ユニット（ＩＭＵ）、加速度計、コンパス、ジャイロスコープ、温度センサ、移動センサ、深度センサ、全地球測位システム（ＧＰＳ）ユニット、および無線デバイスを含む。他の実施形態では、訓練サンプルは、性別、年齢、心拍数、体温、白血球数、疾患状態、疾患進行度、症状、疾患診断等の測定値を含むことができる。例えば、発話認識または自然言語処理に関連するタスクに関して、訓練サンプルは、オーディオデータセット（またはビデオに添付されるオーディオデータ）または単語、文、段落、およびテキストの電子表現または埋め込み（例えば、ｎ−グラム）を含むことができる。タスクは、例えば、品詞（ＰＯＳ）タグ付け、チャンキング、係り受け解析、意味的関連性、またはテキスト含意を含むことができる。
【００７５】
マルチネットワークによって学習され得る、タスクは、回帰タスク、分類タスク、またはそれらの組み合わせを含むことができる。タスクは、例えば、顔認識、視覚的検索、ジェスチャ識別または認識、意味論セグメント化、オブジェクト検出、部屋レイアウト推定、直方体検出、照明検出、同時位置特定およびマッピング、オブジェクトまたはアバタの再位置特定等の知覚タスク、または発話認識または自然言語処理等の発話処理タスク、またはそれらの組み合わせを含むことができる。
【００７６】
マルチネットワークによって学習され得る、タスクは、医療的治療または医療上の意思決定に関連することができる。例えば、タスクは、特定の疾患を有し得る患者に実施されるべき実験室試験または患者に関するリスク査定の決定を含むことができる。そのような実施例として、訓練データは、特定の疾患または症状（例えば、肺炎）を患う患者の測定値（例えば、性別、年齢、心拍数、体温、白血球数等）を含むことができる。メタ学習の実施形態は、患者に関するリスク査定または実験室試験を予測するために、マルチタスクネットワークを訓練するために使用されることができる。
【００７７】
したがって、メタ学習によって使用される訓練データは、個別の訓練ラベル、分類、または信号と関連付けられ得る、画像、ビデオ、オーディオ、電子記録、データベース等を含むことができる。
【００７８】
いくつかの実施形態では、本明細書に開示されるメタ学習方法は、コンピュータビジョン、自然言語処理、発話合成、交通予測等のドメイン特有のアプリケーション、一般的クロスドメインアプリケーション、またはカリキュラム学習における用途を有することができる。いくつかの実装では、タスクは、総損失減少等の大域報酬に基づいて、ともに訓練される。メタ学習の実施形態は、拡張、複合、または仮想現実（例えば、コンピュータビジョンまたは言語処理等のＡＲ関連タスクのためのそのようなメタ学習によって訓練されるニューラルネットワークを記憶および利用し得る、例えば、図５を参照して説明される拡張現実システム参照）のために使用される、マルチタスクニューラルネットワークの訓練に適用されることができる。
【００７９】
（付加的側面）
第１の側面では、メタ学習を使用してマルチタスクニューラルネットワークを訓練するためのシステムが、開示される。本システムは、複数のタスクと関連付けられる出力を決定するように構成される、マルチタスクニューラルネットワークであって、複数のタスクの各タスクは、タスク損失関数と関連付けられ、マルチタスク損失関数と関連付けられるマルチタスクニューラルネットワークは、複数のタスクのタスク毎のタスク加重およびタスク損失関数の組み合わせを含む、マルチタスクニューラルネットワークと、複数のタスクのタスクのそれぞれと関連付けられるタスク加重を出力するように構成される、メタネットワークであって、メタネットワーク損失関数と関連付けられるメタネットワークは、少なくとも部分的にマルチタスク損失関数に基づいた、予期される損失を含む、メタネットワークとを記憶するように構成される、非一過性記憶装置と、非一過性記憶装置と通信する、ハードウェアプロセッサであって、複数のタスクに関する複数の基準タスク出力と関連付けられる、訓練データにアクセスし、メタネットワーク損失関数を低減または最小限にし、複数のタスクのタスクのそれぞれと関連付けられる、推定されるタスク加重を決定し、少なくとも部分的に推定されるタスク加重に基づいて、マルチタスク損失関数を低減または最小限にし、訓練されたマルチタスクニューラルネットワークを出力するようにプログラムされる、ハードウェアプロセッサとを備える。
【００８０】
第２の側面では、マルチタスクニューラルネットワークのタスクは、場面理解と関連付けられる、側面１に記載のシステム。
【００８１】
第３の側面では、タスクは、意味論セグメント化、深度、または面法線のうちの少なくとも１つを含む、側面１または２のいずれか１つに記載のシステム。
【００８２】
第４の側面では、マルチタスク損失関数は、複数のタスク内のタスクの全てに関して、タスク加重×タスク損失関数の線形結合を含む、側面１−３のいずれか１項に記載のシステム。
【００８３】
第５の側面では、メタネットワークは、長・短期記憶（ＬＳＴＭ）モジュールを備える、側面１−４のいずれか１項に記載のシステム。
【００８４】
第６の側面では、メタネットワーク損失関数は、訓練窓に関する最適化軌跡にわたる、マルチタスク損失関数の和を含む、側面１−５のいずれか１項に記載のシステム。
【００８５】
第７の側面では、メタネットワーク損失関数を低減または最小限にするために、ハードウェアプロセッサは、適応モーメント推定を使用して、時間を通して誤差逆伝搬法を適用するようにプログラムされる、側面１−６のいずれか１項に記載のシステム。
【００８６】
第８の側面では、マルチタスク損失関数を低減または最小限にするために、ハードウェアプロセッサは、確率勾配降下法を適用するようにプログラムされる、側面１−７のいずれか１項に記載のシステム。
【００８７】
第９の側面では、マルチタスクニューラルネットワークは、畳み込みニューラルネットワークを含む、側面１−８のいずれか１項に記載のシステム。
【００８８】
第１０の側面では、ハードウェアプロセッサはさらに、各訓練時間において、マルチタスク損失関数およびメタネットワーク損失関数の値を監視し、複数のタスクをともに訓練するための、タスクレベルのカリキュラムを決定するようにプログラムされる、側面１−９のいずれか１項に記載のシステム。
【００８９】
第１１の側面では、メタ学習およびメタネットワークを使用し、子ニューラルネットワークを訓練するための方法が、説明される。本方法は、子ニューラルネットワークに関する適応加重を出力するように構成される、メタネットワークにアクセスするステップと、少なくとも部分的に、子ニューラルネットワークに関する子損失関数に基づいて、メタネットワークを訓練するステップであって、子損失関数は、少なくとも部分的に適応加重に依存する、ステップと、メタネットワークを用いて、更新された適応加重を出力するステップと、更新された適応加重を使用して、子ニューラルネットワークを訓練するステップと、訓練された子ネットワークを出力するステップとを含む。本方法は、ハードウェアプロセッサの制御下で実施されることができる。ハードウェアプロセッサは、メタネットワークおよび子ニューラルネットワークを記憶するように構成される非一過性メモリを通信することができる。
【００９０】
第１２の側面では、メタネットワークおよび子ネットワークを訓練するための訓練データセットにアクセスするステップをさらに含む、側面１１に記載の方法。
【００９１】
第１３の側面では、メタネットワークは、再帰ニューラルネットワークを含む、側面１１または１２のいずれか１項に記載の方法。
【００９２】
第１４の側面では、再帰ニューラルネットワークは、長・短期記憶（ＬＳＴＭ）モジュールを備える、側面１３に記載の方法。
【００９３】
第１５の側面では、子ニューラルネットワークは、マルチタスクニューラルネットワークを含む、側面１１−１４のいずれか１項に記載の方法。
【００９４】
第１６の側面では、マルチタスクニューラルネットワークは、個々のタスクと関連付けられる、適応加重およびタスク損失関数の組み合わせを含む、マルチタスク損失関数を含む、側面１５に記載の方法。
【００９５】
第１７の側面では、個々のタスクをともに訓練するステップと関連付けられる、タスクレベルのカリキュラムを決定するステップをさらに含む、側面１１−１６のいずれか１項に記載の方法。
【００９６】
第１８の側面では、メタネットワークを訓練するステップは、訓練窓にわたる、メタネットワーク損失関数の軌跡を監視するステップを含む、側面１１−１７のいずれか１項に記載の方法。
【００９７】
第１９の側面では、頭部搭載型ディスプレイシステムが、説明される。頭部搭載型ディスプレイシステムは、実行可能命令と、複数のタスクと関連付けられる出力を決定するための、マルチタスクネットワークであって、マルチタスクネットワークの複数のタスクに関する適応加重を出力するように構成される、メタネットワークと、マルチタスクニューラルネットワークに関するマルチタスク損失関数であって、少なくとも部分的にメタネットワークによって学習される適応加重に依存する、マルチタスク損失関数とを使用して訓練される、マルチタスクネットワークとを記憶するように構成される、非一過性メモリと、ディスプレイと、センサと、非一過性メモリおよびディスプレイおよびセンサと通信する、ハードウェアプロセッサであって、実行可能命令によって、センサによって捕捉されるセンサデータを受信し、入力としてセンサデータを伴うマルチタスクネットワークを使用して、複数のタスクのタスク毎にタスク出力を決定し、ディスプレイに、頭部搭載型ディスプレイシステムのユーザに、決定されたタスク出力に関連する情報を示させるようにプログラムされる、ハードウェアプロセッサとを備える。
【００９８】
第２０の側面では、複数のタスクは、複数の知覚タスクを含む、側面１９に記載のシステム。
【００９９】
第２１の側面では、複数の知覚タスクは、顔認識、視覚的検索、ジェスチャ識別、意味論セグメント化、深度推定、面法線推定、場面認識、オブジェクト検出、照明検出、同時位置特定およびマッピング、再位置特定、またはそれらの組み合わせを含む、側面２０に記載のシステム。
【０１００】
第２２の側面では、センサは、慣性測定ユニット、外向きに向いたカメラ、深度感知カメラ、マイクロホン、眼結像カメラ、またはそれらの組み合わせを含む、側面１９−２１のいずれか１項に記載のシステム。
【０１０１】
第２３の側面では、ニューラルネットワークを訓練し、タスクのセットを学習するためのシステムが、説明される。本システムは、実行可能命令と、複数のタスクを学習するための子ネットワークであって、複数のタスクに関する損失関数と関連付けられ、タスク加重は、複数のタスクの各タスクに割り当てられる、子ネットワークとを記憶するように構成される、非一過性メモリと、非一過性メモリと通信する、ハードウェアプロセッサであって、実行可能命令によって、子ネットワークの損失関数と関連付けられる、第１の子ネットワーク損失を決定し、第１の子ネットワーク損失に基づいて、複数のタスクのタスク毎に更新されたタスク加重を決定し、複数のタスクのタスク毎に更新されたタスク加重に基づいて、更新された子ネットワークを決定し、更新された子ネットワークの損失関数と関連付けられる、第２の子ネットワーク損失を決定し、少なくとも第２の子ネットワーク損失に基づいて、複数のタスクのタスク毎に第２の更新されたタスク加重を決定するようにプログラムされる、ハードウェアプロセッサとを備える。
【０１０２】
第２４の側面では、ハードウェアプロセッサはさらに、第１および第２の子ネットワーク損失間の関係を学習するようにプログラムされる、側面２３に記載のシステム。
【０１０３】
第２５の側面では、ハードウェアプロセッサは、少なくとも第１および第２の子ネットワーク損失間の関係に基づいて、第２の更新されたタスク加重を決定するようにプログラムされる、側面２３または２４のいずれか１項に記載のシステム。
【０１０４】
第２６の側面では、複数のタスクは、少なくとも、意味論セグメント化と、深度予測と、面法線推定とを含む、側面２３−２５のいずれか１項に記載のシステム。
【０１０５】
第２７の側面では、複数のタスクは、回帰タスク、分類タスク、またはそれらの組み合わせを含む、側面２３−２６のいずれか１項に記載のシステム。
【０１０６】
第２８の側面では、分類タスクは、知覚、顔認識、視覚的検索、ジェスチャ認識、意味論セグメント化、オブジェクト検出、部屋レイアウト推定、直方体検出、照明検出、同時位置特定およびマッピング、再位置特定、発話処理、発話認識、自然言語処理、またはある組み合わせを含む、側面２７に記載のシステム。
【０１０７】
付加的考慮事項
本明細書に説明される、および／または添付される図に描写されるプロセス、方法、およびアルゴリズムはそれぞれ、具体的かつ特定のコンピュータ命令を実行するように構成される、１つ以上の物理的コンピューティングシステム、ハードウェアコンピュータプロセッサ、特定用途向け回路、および／または電子ハードウェアによって実行される、コードモジュールにおいて具現化され、それによって完全または部分的に自動化され得る。例えば、コンピューティングシステムは、具体的コンピュータ命令とともにプログラムされた汎用コンピュータ（例えば、サーバ）または専用コンピュータ、専用回路等を含むことができる。コードモジュールは、実行可能プログラムにコンパイルおよびリンクされる、動的リンクライブラリ内にインストールされ得る、またはインタープリタ型プログラミング言語において書き込まれ得る。いくつかの実装では、特定の動作および方法が、所与の機能に特有の回路によって実施され得る。
【０１０８】
さらに、本開示の機能性のある実装は、十分に数学的に、算出上、または技術的に複雑であるため、（適切な特殊化された実行可能命令を利用する）特定用途向けハードウェアまたは１つ以上の物理的コンピューティングデバイスは、例えば、関与する計算の量または複雑性に起因して、または結果を実質的にリアルタイムで提供するために、機能性を実施する必要があり得る。例えば、ビデオは、多くのフレームを含み、各フレームは、数百万のピクセルを有し得、具体的にプログラムされたコンピュータハードウェアは、商業的に妥当な時間量において所望の画像処理タスクまたは用途を提供するようにビデオデータを処理する必要がある。別の実施例として、本明細書に説明されるメタ学習方法の実施形態を使用して、深層マルチタスクネットワークを訓練するステップは、算出上困難であって、グラフィカル処理ユニット（ＧＰＵ）、特定用途向け集積回路（ＡＳＩＣ）、または浮動点ゲートアレイ（ＦＰＧＡ）上に実装されることができる。
【０１０９】
コードモジュールまたは任意のタイプのデータは、ハードドライブ、ソリッドステートメモリ、ランダムアクセスメモリ（ＲＡＭ）、読取専用メモリ（ＲＯＭ）、光学ディスク、揮発性または不揮発性記憶装置、同一物の組み合わせ、および／または同等物を含む、物理的コンピュータ記憶装置等の任意のタイプの非一過性コンピュータ可読媒体上に記憶されてもよい。本方法およびモジュール（またはデータ）はまた、無線ベースおよび有線／ケーブルベースの媒体を含む、種々のコンピュータ可読伝送媒体上で生成されたデータ信号として（例えば、搬送波または他のアナログまたはデジタル伝搬信号の一部として）伝送されてもよく、種々の形態（例えば、単一または多重化アナログ信号の一部として、または複数の離散デジタルパケットまたはフレームとして）をとってもよい。開示されるプロセスまたはプロセスステップの結果は、任意のタイプの非一過性有形コンピュータ記憶装置内に持続的または別様に記憶されてもよい、またはコンピュータ可読伝送媒体を介して通信されてもよい。
【０１１０】
本明細書に説明される、および／または添付される図に描写されるフロー図における任意のプロセス、ブロック、状態、ステップ、または機能性は、プロセスにおいて具体的機能（例えば、論理または算術）またはステップを実装するための１つ以上の実行可能命令を含む、コードモジュール、セグメント、またはコードの一部を潜在的に表すものとして理解されたい。種々のプロセス、ブロック、状態、ステップ、または機能性は、組み合わせられる、再配列される、追加される、削除される、修正される、または別様に本明細書に提供される例証的実施例から変更されることができる。いくつかの実施形態では、付加的または異なるコンピューティングシステムまたはコードモジュールが、本明細書に説明される機能性のいくつかまたは全てを実施し得る。本明細書に説明される方法およびプロセスはまた、任意の特定のシーケンスに限定されず、それに関連するブロック、ステップ、または状態は、適切な他のシーケンスで、例えば、連続して、並行して、またはある他の様式で実施されることができる。タスクまたはイベントが、開示される例示的実施形態に追加される、またはそれから除去されてもよい。また、本明細書に説明される実装における種々のシステムコンポーネントの分離は、例証を目的とし、全ての実装においてそのような分離を要求するものとして理解されるべきではない。説明されるプログラムコンポーネント、方法、およびシステムは、概して、単一のコンピュータ製品においてともに統合される、または複数のコンピュータ製品にパッケージ化され得ることを理解されたい。多くの実装変形例が、可能性として考えられる。
【０１１１】
本プロセス、方法、およびシステムは、ネットワーク（または分散）コンピューティング環境において実装され得る。ネットワーク環境は、企業全体コンピュータネットワーク、イントラネット、ローカルエリアネットワーク（ＬＡＮ）、広域ネットワーク（ＷＡＮ）、パーソナルエリアネットワーク（ＰＡＮ）、クラウドコンピューティングネットワーク、クラウドソースコンピューティングネットワーク、インターネット、およびワールドワイドウェブを含む。ネットワークは、有線または無線ネットワークまたは任意の他のタイプの通信ネットワークであってもよい。
【０１１２】
本開示のシステムおよび方法は、それぞれ、いくつかの革新的側面を有し、そのうちのいかなるものも、本明細書に開示される望ましい属性に単独で関与しない、またはそのために要求されない。本明細書に説明される種々の特徴およびプロセスは、相互に独立して使用され得る、または種々の方法で組み合わせられ得る。全ての可能な組み合わせおよび副次的組み合わせが、本開示の範囲内に該当することが意図される。本開示に説明される実装の種々の修正が、当業者に容易に明白であり得、本明細書に定義される一般原理は、本開示の精神または範囲から逸脱することなく、他の実装に適用され得る。したがって、請求項は、本明細書に示される実装に限定されることを意図されず、本明細書に開示される開示、原理、および新規の特徴と一貫する最も広い範囲を与えられるべきである。
【０１１３】
別個の実装の文脈において本明細書に説明されるある特徴はまた、単一の実装における組み合わせにおいて実装されることができる。逆に、単一の実装の文脈において説明される種々の特徴もまた、複数の実装において別個に、または任意の好適な副次的組み合わせにおいて実装されることができる。さらに、特徴が、ある組み合わせにおいて作用するものとして上記に説明され、さらに、そのようなものとして最初に請求され得るが、請求される組み合わせからの１つ以上の特徴は、ある場合では、組み合わせから削除されることができ、請求される組み合わせは、副次的組み合わせまたは副次的組み合わせの変形例を対象とし得る。いかなる単一の特徴または特徴の群も、あらゆる実施形態に必要または必須ではない。
【０１１４】
とりわけ、「〜できる（ｃａｎ）」、「〜し得る（ｃｏｕｌｄ）」、「〜し得る（ｍｉｇｈｔ）」、「〜し得る（ｍａｙ）」、「例えば（ｅ．ｇ．，）」、および同等物等、本明細書で使用される条件文は、別様に具体的に記載されない限り、または使用されるような文脈内で別様に理解されない限り、概して、ある実施形態がある特徴、要素、および／またはステップを含む一方、他の実施形態がそれらを含まないことを伝えることが意図される。したがって、そのような条件文は、概して、特徴、要素、および／またはステップが、１つ以上の実施形態に対していかようにも要求されること、または１つ以上の実施形態が、著者の入力または促しの有無を問わず、これらの特徴、要素、および／またはステップが任意の特定の実施形態において含まれる、または実施されるべきかどうかを決定するための論理を必然的に含むことを示唆することを意図されない。用語「〜を備える（ｃｏｍｐｒｉｓｉｎｇ）」、「〜を含む（ｉｎｃｌｕｄｉｎｇ）」、「〜を有する（ｈａｖｉｎｇ）」、および同等物は、同義語であり、非限定的方式で包括的に使用され、付加的要素、特徴、行為、動作等を除外しない。また、用語「または」は、その包括的意味において使用され（およびその排他的意味において使用されず）、したがって、例えば、要素のリストを接続するために使用されると、用語「または」は、リスト内の要素のうちの１つ、いくつか、または全てを意味する。加えて、本願および添付される請求項で使用されるような冠詞「ａ」、「ａｎ」、および「ｔｈｅ」は、別様に規定されない限り、「１つ以上の」または「少なくとも１つ」を意味するように解釈されるべきである。
【０１１５】
本明細書で使用されるように、項目のリスト「〜のうちの少なくとも１つ」を指す語句は、単一の要素を含む、それらの項目の任意の組み合わせを指す。ある実施例として、「Ａ、Ｂ、またはＣのうちの少なくとも１つ」は、Ａ、Ｂ、Ｃ、ＡおよびＢ、ＡおよびＣ、ＢおよびＣ、およびＡ、Ｂ、およびＣを網羅することが意図される。語句「Ｘ、Ｙ、およびＺのうちの少なくとも１つ」等の接続文は、別様に具体的に記載されない限り、概して、項目、用語等がＸ、Ｙ、またはＺのうちの少なくとも１つであり得ることを伝えるために使用されるような文脈で別様に理解される。したがって、そのような接続文は、概して、ある実施形態が、Ｘのうちの少なくとも１つ、Ｙのうちの少なくとも１つ、およびＺのうちの少なくとも１つがそれぞれ存在するように要求することを示唆することを意図されない。
【０１１６】
同様に、動作は、特定の順序で図面に描写され得るが、これは、望ましい結果を達成するために、そのような動作が示される特定の順序で、または連続的順序で実施される、または全ての図示される動作が実施される必要はないと認識されるべきである。さらに、図面は、フローチャートの形態で１つ以上の例示的プロセスを図式的に描写し得る。しかしながら、描写されない他の動作も、図式的に図示される例示的方法およびプロセス内に組み込まれることができる。例えば、１つ以上の付加的動作が、図示される動作のいずれかの前に、その後に、それと同時に、またはその間に実施されることができる。加えて、動作は、他の実装において再配列される、または再順序付けられ得る。ある状況では、マルチタスクおよび並列処理が、有利であり得る。さらに、上記に説明される実装における種々のシステムコンポーネントの分離は、全ての実装におけるそのような分離を要求するものとして理解されるべきではなく、説明されるプログラムコンポーネントおよびシステムは、概して、単一のソフトウェア製品においてともに統合される、または複数のソフトウェア製品にパッケージ化され得ることを理解されたい。加えて、他の実装も、以下の請求項の範囲内である。いくつかの場合では、請求項に列挙されるアクションは、異なる順序で実施され、依然として、望ましい結果を達成することができる。
【図１Ａ−１】
2021503122.tif 000026
【図１Ａ−２】
2021503122.tif 000027
【図１Ｂ−１】
2021503122.tif 000028
【図１Ｂ−２】
2021503122.tif 000029
【図１Ｃ−１】
2021503122.tif 000030
【図１Ｃ−２】
2021503122.tif 000031
【図２】
2021503122.tif 000032
【図３Ａ】
2021503122.tif 000033
【図３Ｂ】
2021503122.tif 000034
【図３Ｃ】
2021503122.tif 000035
【図３Ｄ】
2021503122.tif 000036
【図３Ｅ】
2021503122.tif 000037
【図３Ｆ】
2021503122.tif 000038
【図４】
2021503122.tif 000039
【図５】
2021503122.tif 000040
【国際調査報告】
2021503122.tif 000041
2021503122.tif 000042
2021503122.tif 000043
2021503122.tif 000044