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