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