(57)【要約】既知関数を実施する第１サブネットワーク［３１１〜３１５］と、未知関数を実施する第２サブネットワーク［３１０］と、を含む人工ニューラルネットワーク［２００］がトレーニングされる。第１サブネットワークは、対応する既知のトレーニングデータセットで個別に並行してトレーニングされ、第１サブネットワークを定義する第１パラメータ値が決定される。第１サブネットワークは、処理システム内の複数の処理要素で実行されている。ネットワークトレーニングデータセットからの入力値［３２０，３２５］が、トレーニングされた第１サブネットワークを含む人工ニューラルネットワークに提供される。人工ニューラルネットワークによって生成された出力値［３３５］を、ネットワークトレーニングデータセットのラベル付き出力値と比較することによって、誤差値が生成される。誤差値を逆伝播して、第１パラメータ値を変更することなく、第２サブネットワークを定義する第２パラメータ値を変更することによって、第２サブネットワークがトレーニングされる。【選択図】図２
2021507378.tif 000002
【特許請求の範囲】
【請求項１】
既知関数を実施する第１サブネットワークと、未知関数を実施する第２サブネットワークと、を含む人工ニューラルネットワークをトレーニングする方法であって、
前記第１サブネットワークを、対応する既知のトレーニングデータセットで個別に並行してトレーニングして、前記第１サブネットワークを定義する第１パラメータ値を決定することと、
ネットワークトレーニングデータセットからの入力値を、トレーニングされた前記第１サブネットワークを含む前記人工ニューラルネットワークに提供することと、
前記人工ニューラルネットワークによって生成された出力値を前記ネットワークトレーニングデータセットのラベル付き出力値と比較することによって、誤差値を生成することと、
前記第１パラメータ値を変更することなく、前記第２サブネットワークを定義する第２パラメータ値を、前記誤差値を使用して変更することと、
前記第１パラメータ値及び前記第２パラメータ値を記憶することと、を含む、
方法。
【請求項２】
前記第１サブネットワークをトレーニングすることは、前記対応する既知のトレーニングデータセットの入力値を前記第１サブネットワークに同時に提供することと、前記第１サブネットワークの誤差値を同時に生成することと、前記第１パラメータ値を同時に変更することと、を含む、
請求項１の方法。
【請求項３】
前記対応する既知のトレーニングデータセットの入力値を前記第１サブネットワークに同時に提供することと、前記第１サブネットワークの誤差値を同時に生成することと、前記第１サブネットワークを定義する前記第１パラメータ値を同時に変更することとは、前記第１パラメータ値の収束基準を満たすまで繰り返し実行される、
請求項２の方法。
【請求項４】
前記第１サブネットワークの第１サブセットに対応する既知のトレーニングデータセットのサブセットから構成されたカットアウトトレーニングセットに基づいて、前記第２サブネットワークをトレーニングすることであって、前記第１サブセットは、前記第２サブネットワークを含む、ことをさらに含む、
請求項３の方法。
【請求項５】
前記ネットワークトレーニングデータセットの入力値を、前記第１サブネットワーク及び前記第２サブネットワークの前記変更されたパラメータ値によって定義された前記人工ニューラルネットワークのインスタンスに提供することと、
前記人工ニューラルネットワークからの出力値を、前記ネットワークトレーニングデータセットのラベル付き出力値と比較することによって、誤差値を生成することと、
前記第１サブネットワーク及び前記第２サブネットワークを定義する前記第１パラメータ値及び前記第２パラメータ値を、前記誤差値を使用して変更することと、
前記第１サブネットワーク及び前記第２サブネットワークを定義する前記変更されたパラメータ値を記憶することと、をさらに含む、
請求項１の方法。
【請求項６】
前記ネットワークトレーニングデータセットの入力値を前記人工ニューラルネットワークに提供することと、前記誤差値を生成することと、前記第１サブネットワーク及び前記第２サブネットワークを定義する前記第１パラメータ値を変更することとは、前記第１パラメータ値の収束基準を満たすまで繰り返し実行される、
請求項５の方法。
【請求項７】
前記人工ニューラルネットワークの前記第１サブネットワークのサブセットの記憶されたパラメータ値を読み出すことと、
前記人工ニューラルネットワークの前記第１サブネットワークの前記サブセットの記憶されたパラメータ値を使用して、異なる人工ニューラルネットワークのパラメータ値を定義することと、をさらに含む、
請求項１の方法。
【請求項８】
複数の処理要素と、入出力エンジンと、を備える処理システムであって、
前記複数の処理要素は、既知関数を実施する第１サブネットワークと、未知関数を実施する第２サブネットワークと、を含む人工ニューラルネットワークをトレーニングするために、
前記第１サブネットワークを、対応する既知のトレーニングデータ集合で個別に並行してトレーニングして、前記第１サブネットワークを定義する第１パラメータ値を決定することと、
ネットワークトレーニングデータセットからの入力値を、トレーニングされた第１サブネットワークを含む前記人工ニューラルネットワークに提供することと、
前記人工ニューラルネットワークによって生成された出力値を前記ネットワークトレーニングデータセットのラベル付き出力値と比較することによって、誤差値を生成することと、
前記第１パラメータ値を変更することなく、前記第２サブネットワークを定義する第２パラメータ値を、前記誤差値を使用して変更することによって、前記第２サブネットワークをトレーニングすることと、
を実行するように構成されており、
前記入出力エンジンは、前記第１パラメータ値及び前記第２パラメータ値をストレージコンポーネントに記憶するように構成されている、
処理システム。
【請求項９】
前記複数の処理要素は、前記対応する既知のトレーニングデータセットの入力値を前記第１サブネットワークに同時に提供することと、前記第１サブネットワークの誤差値を同時に生成することと、前記第１パラメータ値を同時に変更することと、を実行するように構成されている、
請求項８の処理システム。
【請求項１０】
前記複数の処理要素は、前記対応する既知のトレーニングデータセットの入力値を前記第１サブネットワークに同時に提供することと、前記第１サブネットワークの前記誤差値を同時に生成することと、前記第１サブネットワークを定義する前記第１パラメータ値を同時に変更することとを、前記第１パラメータ値の収束基準が満たされるまで繰り返し実行するように構成されている、
請求項９の処理システム。
【請求項１１】
前記複数の処理要素は、
前記第１サブネットワークの第１サブセットに対応する既知のトレーニングデータセットのサブセットから構成されたカットアウトトレーニングセットに基づいて、前記第２サブネットワークをトレーニングすることであって、前記第１サブセットは、前記第２サブネットワークを含む、ことを実行するように構成されている、
請求項１０の処理システム。
【請求項１２】
前記複数の処理要素は、
前記ネットワークトレーニングデータセットの入力値を、前記第１サブネットワーク及び前記第２サブネットワークの変更された前記第１パラメータ値及び前記第２パラメータ値によって定義された前記人工ニューラルネットワークのインスタンスに提供することと、
前記人工ニューラルネットワークからの出力値を、前記ネットワークトレーニングデータセットのラベル付き出力値と比較することによって、誤差値を生成することと、
前記第１サブネットワーク及び前記第２サブネットワークを定義する前記第１パラメータ値及び前記第２パラメータ値を、前記誤差値を使用して変更することと、
を実行するように構成されており、
前記入出力エンジンは、前記第１サブネットワーク及び前記第２サブネットワークを定義する前記変更されたパラメータ値を、前記ストレージコンポーネントに記憶するように構成されている、
請求項８の処理システム。
【請求項１３】
前記複数の処理要素は、前記ネットワークトレーニングデータセットの入力値を前記人工ニューラルネットワークに提供することと、前記誤差値を生成することと、前記第１サブネットワーク及び前記第２サブネットワークを定義する前記第１パラメータ値及び前記第２パラメータ値を変更することとを、前記第１パラメータ値の収束基準が満たされるまで繰り返し実行するように構成されている、
請求項１２の処理システム。
【請求項１４】
前記入出力エンジンは、前記人工ニューラルネットワークの前記第１サブネットワークのサブセットのパラメータ値を前記ストレージコンポーネントから読み出すように構成されており、
前記複数の処理要素のうち少なくとも１つは、前記人工ニューラルネットワークの前記第１サブネットワークの前記サブセットのパラメータ値を使用して、異なる人工ニューラルネットワークのパラメータ値を定義するように構成されている、
請求項８の処理システム。
【請求項１５】
処理システムの入出力エンジンを使用して、既知関数を実施する第１サブネットワークを定義する第１パラメータ値と、未知関数を実施する第２サブネットワークを定義する第２パラメータ値と、を読み出すことであって、前記第１サブネットワークは、対応する既知のトレーニングデータセットでトレーニングされている、ことと、
前記処理システムにおいて、前記第１サブネットワーク及び前記第２サブネットワークを組み合わせて、人工ニューラルネットワークを生成することと、
ネットワークトレーニングデータセットからの入力値を前記人工ニューラルネットワークに提供することと、
前記処理システムにおいて、前記人工ニューラルネットワークからの出力値を、前記ネットワークトレーニングデータセットのラベル付き出力値と比較することによって、前記人工ニューラルネットワークの誤差値を生成することと、
前記処理システムにおいて、前記第２サブネットワークを定義する前記第２パラメータ値を、前記誤差値に基づいて変更することと、を含む、
方法。
【請求項１６】
前記ネットワークトレーニングデータセットの入力値を前記人工ニューラルネットワークに提供することと、前記人工ニューラルネットワークの前記誤差値を生成することと、前記第２サブネットワークを定義する前記第２パラメータ値を変更することとは、前記第２サブネットワークを定義する前記第２パラメータ値の収束基準を満たすまで繰り返し実行される、
請求項１５の方法。
【請求項１７】
前記第１パラメータ値及び前記第２パラメータ値をストレージコンポーネントに記憶することをさらに含む、
請求項１６の方法。
【請求項１８】
前記ネットワークトレーニングデータセットの入力値を、前記第２サブネットワークの変更されたパラメータ値によって定義された前記人工ニューラルネットワークのインスタンスに提供することと、
前記人工ニューラルネットワークからの出力値を、前記ネットワークトレーニングデータセットのラベル付き出力値と比較することによって、誤差値を生成することと、
前記第１サブネットワーク及び前記第２サブネットワークを定義する前記第１パラメータ値及び前記第２パラメータ値を、前記誤差値を使用して変更することと、をさらに含む、
請求項１７の方法。
【請求項１９】
前記ネットワークトレーニングデータセットの入力値を前記人工ニューラルネットワークに提供することと、前記誤差値を生成することと、前記第１サブネットワーク及び前記第２サブネットワークを定義する前記第１パラメータ値及び前記第２パラメータ値を変更することとは、前記第１パラメータ値及び前記第２パラメータ値の収束基準を満たすまで繰り返し実行される、
請求項１８の方法。
【請求項２０】
前記第１サブネットワーク及び前記第２サブネットワークを定義する前記変更されたパラメータ値を前記ストレージコンポーネントに記憶することと、
前記記憶されたパラメータ値のサブセットを使用して、異なる人工ニューラルネットワークのパラメータ値を定義することと、をさらに含む、
請求項１８の方法。
【発明の詳細な説明】
【背景技術】
【０００１】
ディープニューラルネットワーク（ＤＮＮ）は、画像認識、自然言語処理、ゲームプレイ等のタスクを実行する方法を学習することができる人工ニューラルネットワーク（ＡＮＮ）のクラスである。ＤＮＮアーキテクチャは、入力ボリューム（デジタル画像等）を出力ボリューム（デジタル画像内で検出されたラベル付き特徴等）に変換する関数を実施する多数の層を含む。例えば、ＤＮＮの層は、畳み込みニューラルネットワーク（ＣＮＮ）を表す畳み込み層、プーリング層、全結合層に分離することができる。畳み込み層、プーリング層、全結合層の複数のセットを交互に配置して、完成したＤＮＮを形成することができる。例えば、ＤＮＮ内では、畳み込み層のセットは、入力を受信して、プーリング層のセットに出力を提供し、プーリング層のセットは、別の畳み込み層のセットに出力を提供する。畳み込み層の第２セットは、プーリング層の別のセットに出力を提供し、プーリング層の別のセットは、出力ボリュームを生成する全結合層の１つ以上のセットに出力を提供する。ＤＮＮの層によって実施される関数は、陽関数（explicit）（すなわち、既知関数若しくは所定関数）又は陰関数（hidden）（すなわち、未知関数）である。ＣＮＮは、複数の隠れ層を含むタスクで深層学習を行うディープニューラルネットワーク（ＤＮＮ）である。例えば、コンピュータビジョンを実施するのに使用されるＤＮＮは、ビジョンフローの階層に、陽関数（方向マップ等）及び陰関数を含む。
【０００２】
添付の図面を参照することにより、本開示をより良く理解することができ、その多くの特徴及び利点が当業者に明らかになる。異なる図面で同じ符号を使用している場合、類似又は同一のアイテムを示す。
【図面の簡単な説明】
【０００３】
【図１】いくつかの実施形態による、処理システムのブロック図である。
【図２】いくつかの実施形態による、畳み込み層を含み、画像認識等のタスクを実行するようにトレーニングされたディープニューラルネットワーク（ＤＮＮ）を示すブロック図である。
【図３】いくつかの実施形態による、既知関数を実施するサブネットワークも含む人工ニューラルネットワークのインスタンス内で未知関数を実施するサブネットワークのトレーニングを示すブロック図である。
【図４】いくつかの実施形態による、品質保証ステップを行うように実行される図３に示すＣＮＮのインスタンスを示すブロック図である。
【図５】いくつかの実施形態による、既知関数を実施するサブネットワークも含む人工ニューラルネットワークのカットアウト部分（cutout portion）で未知関数を実施するサブネットワークのトレーニングを示すブロック図である。
【図６】いくつかの実施形態による、第１サブネットワークを含む人工ニューラルネットワーク（ＣＮＮ又はＤＮＮ等）をトレーニングする方法のフロー図である。
【図７】いくつかの実施形態による、既知関数及び未知関数を実施するサブネットワークを含む人工ニューラルネットワーク（ＣＮＮ又はＤＮＮ等）で未知関数を実施するサブネットワークをトレーニングする方法のフロー図である。
【図８】いくつかの実施形態による、以前にトレーニングされたサブネットワークに基づいて、ニューラルネットワークを生成しトレーニングする方法のフロー図である。
【発明を実施するための形態】
【０００４】
ディープニューラルネットワーク（ＤＮＮ）の関数は、異なる層の異なるラメータ集合によって表される。畳み込み層のパラメータは、入力データを入力ボリュームの幅及び高さに亘って畳み込み、フィルタの二次元（２Ｄ）活性化マップを生成する学習可能フィルタ（又は、カーネル）のセットを定義する。プーリング層のパラメータは、入力ボリュームをサブ領域に分割する方法を定義する。例えば、プーリング層は、入力画像を非重複矩形のセットに分割し、各サブ領域の最大値を生成するように構成されてもよい。全結合層のパラメータは、前のプーリング層等の前の層の活性化への接続に基づいて、ＤＮＮによって実行される高次推論を定義する。ＤＮＮのパラメータは、入力ボリュームのセットと、対応する（既知の又はラベル付き）出力値のセットと、とを含むトレーニングデータセットを使用して、ＤＮＮをトレーニングすることによって決定される。例えば、顔認識ＤＮＮは、顔認識ＤＮＮによって他の画像で識別される個人を含むことが分かっている画像を使用して、トレーニングすることができる。トレーニング画像は、１つ以上のラベルでタグ付けされたサンプルのグループとして定義されるラベル付きデータと呼ばれる。トレーニング中、トレーニングデータセットからの入力データがＤＮＮに逐次提供され、ＤＮＮによって生成された出力値と既知の出力値との誤差が蓄積される。蓄積された誤差は、ＤＮＮのパラメータを変更するために、逆伝播される。このプロセスは、収束基準が満たされるまで繰り返される。しかし、大規模なＤＮＮのトレーニングは、ネットワークのサイズに応じて数時間、数日又は数か月さえ要する場合がある計算負荷の重いタスクである。
【０００５】
人工ニューラルネットワークのトレーニングは、典型的には、逐次プロセスである。逆伝播誤差を使用して、人工ニューラルネットワークを定義するパラメータが変更される。トレーニング済みのパラメータの例には、ネットワーク内のノード間の接続に対する接続重みが挙げられる。トレーニングセットからの連続したサンプルの各々によって生成された逆伝播誤差に基づいてパラメータが変更されるため、逐次プロセスの反復毎に、人工ニューラルネットワークによって実施される関数（例えば、パターン認識）の精度が向上する。従って、ネットワークの各インスタンスは、トレーニングセットの一部のみに基づいてトレーニングされるので、トレーニングデータセットを細分化して、ネットワークの複数のインスタンスを並行してトレーニングすることによって、トレーニングプロセスを並列化することは困難である。よって、トレーニングデータセットのサブ集合を使用して並行してトレーニングされたネットワークのインスタンスを単一のトレーニングされたネットワークに統合しても、全てのトレーニングデータセットを使用して逐次的にトレーニングされたネットワークの精度で、その関数を実行するネットワークにはならない可能性がある。
【０００６】
従来の逐次トレーニングプロセスにおけるこれらの欠点は、既知関数を実施する（従って、対応する既知のトレーニングデータセットを使用してトレーニングすることができる）第１サブネットワークと、対応するトレーニングデータセットを有しない未知関数を実施する第２サブネットワークと、を含む人工ニューラルネットワーク（ＣＮＮ又はＤＮＮ等）のトレーニングを並列化することによって対処される。第１サブネットワークは、既知のトレーニングデータセットで別々に並行してトレーニングされる。次に、ネットワークトレーニングデータセットからの入力値を人工ニューラルネットワークに提供し、人工ニューラルネットワークの出力値と、ネットワークトレーニングデータセットからのラベル付き出力値との差を表す誤差を蓄積することによって、第１サブネットワーク及び第２サブネットワークを含む人工ニューラルネットワークが、ネットワークトレーニングデータセットでトレーニングされる。蓄積された誤差は、第２サブネットワークのパラメータを変更するために逆伝播される。以前にトレーニングされた第１サブネットワークのパラメータは、人工ニューラルネットワークのトレーニング中に変更されない。このプロセスは、第２サブネットワークのパラメータの収束基準が満たされるまで繰り返される。第１サブネットワーク及び第２サブネットワークは、人工ニューラルネットワークよりも大幅に小さく、したがって、第１サブネットワーク及び第２サブネットワークを個別にトレーニングすることは、人工ニューラルネットワークをトレーニングするよりも著しく高速である。
【０００７】
トレーニングされた第１サブネットワーク及び第２サブネットワークに対して決定されたパラメータ値が与えられると、人工ニューラルネットワークのパラメータをトレーニングするために品質保証ステップが実行される。品質保証ステップの間、トレーニングデータセットの入力値が、第１サブネットワーク及び第２サブネットワークの変更されたパラメータによって定義された人工ニューラルネットワークのインスタンスに提供される。人工ニューラルネットワークによって生成された誤差値は、人工ニューラルネットワーク内の第１サブネットワーク及び第２サブネットワークを定義するパラメータを変更するために逆伝播され、収束基準が満たされるまでプロセスが繰り返される。別々にトレーニングされた第１サブネットワーク及び第２サブネットワークのパラメータ値を使用して品質保証ステップを開始することは、（逆伝播を使用して人工ニューラルネットワーク全体をトレーニングする技術と比べて）品質保証ステップの収束性を早めることが期待される。これは、トレーニングされた第１サブネットワーク及び第２サブネットワークのパラメータ値は、任意又はランダムに選択されたパラメータ値等のパラメータの他の可能な初期値よりも完成した（complete）ニューラルネットワークの収束値にかなり近いことが予想されるからである。
【０００８】
図１は、いくつかの実施形態による、処理システム１００のブロック図である。処理システム１００は、ダイナミックランダムアクセスメモリ（ＤＲＡＭ）等の非一時的なコンピュータ可読媒体を使用して実施されるメモリ１０５又は他のストレージコンポーネントを含むか、メモリ１０５又は他のストレージコンポーネントへのアクセスを有する。しかし、メモリ１０５は、スタティックランダムアクセスメモリ（ＳＲＡＭ）、不揮発性ＲＡＭ等を含む他のタイプのメモリを使用して実装されてもよい。また、処理システム１００は、メモリ１０５等のように処理システム１００に実装されたエンティティ間の通信をサポートするバス１１０を含む。処理システム１００のいくつかの実施形態は、他のバス、ブリッジ、スイッチ、ルータ等を含むが、明確にするために図１に示されていない。
【０００９】
処理システム１００は、ディスプレイ１２０上に表示するための画像をレンダリングするように構成されたグラフィックス処理装置（ＧＰＵ）１１５を含む。例えば、ＧＰＵ１１５は、オブジェクトをレンダリングして、ディスプレイ１２０に提供する画素値を生成し、ディスプレイ１２０は、画素値を使用して、レンダリングされたオブジェクトを表す画像を表示する。ＧＰＵ１１５のいくつかの実施形態は、汎用コンピューティングにも使用することができる。図示した実施形態では、ＧＰＵ１１５は、命令を同時に又は並行して実行するように構成された複数の処理要素１１６，１１７，１１８（本明細書では「処理要素１１６〜１１８」と総称する）を実装する。図示した実施形態では、ＧＰＵ１１５は、バス１１０を介してメモリ１０５と通信する。しかし、ＧＰＵ１１５のいくつかの実施形態は、直接接続を介して、又は、他のバス、ブリッジ、スイッチ、ルータ等を介して、メモリ１０５と通信する。ＧＰＵ１１５は、メモリ１０５に記憶された命令を実行することができ、ＧＰＵ１１５は、実行された命令の結果等の情報をメモリ１０５に記憶することができる。例えば、メモリ１０５は、ＧＰＵ１１５によって実行されるプログラムコードからの命令のコピー１２５を記憶することができる。
【００１０】
また、処理システム１００は、本明細書では「処理要素１３１〜１３３」と総称する複数の処理要素１３１，１３２，１３３を実装する中央処理装置（ＣＰＵ）１３０を含む。処理要素１３１〜１３３は、命令を同時に又は並行して実行するように構成されている。ＣＰＵ１３０は、バス１１０に接続されており、バス１１０を介してＧＰＵ１１５及びメモリ１０５と通信することができる。ＣＰＵ１３０は、メモリ１０５に記憶されたプログラムコード１３５等の命令を実行することができ、ＣＰＵ１３０は、実行された命令の結果等の情報をメモリ１０５に記憶することができる。また、ＣＰＵ１３０は、ＧＰＵ１１５にドローコールを発行することによって、グラフィック処理を開始することができる。
【００１１】
入出力（Ｉ／Ｏ）エンジン１４０は、キーボード、マウス、プリンタ、外部ディスク等の処理システム１００の他の要素と同様に、ディスプレイ１２０に関連する入出力動作を処理する。Ｉ／Ｏエンジン１４０は、Ｉ／Ｏエンジン１４０がメモリ１０５、ＧＰＵ１１５又はＣＰＵ１３０と通信できるように、バス１１０に接続されている。図示した実施形態では、Ｉ／Ｏエンジン１４０は、コンパクトディスク（ＣＤ）、デジタルビデオディスク（ＤＶＤ）等の非一時的なコンピュータ可読媒体を使用して実装される外部ストレージコンポーネント１４５に記憶された情報を読み出すように構成されている。また、Ｉ／Ｏエンジン１４０は、ＧＰＵ１１５又はＣＰＵ１３０による処理の結果等の情報を外部ストレージコンポーネント１４５に書き込むことができる。
【００１２】
ＣＮＮ又はＤＮＮ等の人工ニューラルネットワークは、対応するパラメータセットを使用して構成されたプログラムコードとして表される。従って、人工ニューラルネットワークを、ＧＰＵ１１５又はＣＰＵ１３０、或いは、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、特定用途向け集積回路（ＡＳＩＣ）、メモリ内処理（ＰＩＭ）等を含む他の処理装置上で実行することができる。人工ニューラルネットワークが、対応する既知のデータセットを使用してトレーニングすることができる既知関数を実施する場合、ＧＰＵ１１５又はＣＰＵ１３０上で実行される人工ニューラルネットワークに既知のトレーニングデータセットの入力値を提供し、人工ニューラルネットワークの出力値と、既知のトレーニングデータセットのラベル付き出力値とを比較することによって、人工ニューラルネットワークがトレーニングされる（すなわち、人工ニューラルネットワークを定義するパラメータの値が確立される）。比較に基づいて誤差値が特定され、人工ニューラルネットワークを定義するパラメータの値を変更するために逆伝播される。このプロセスは、パラメータの値が収束基準を満たすまで繰り返される。
【００１３】
ただし、本明細書で説明するように、人工ニューラルネットワークは、多くの場合、既知関数（又は、陽関数）を実行するサブネットワークと、未知関数（又は、陰関数）を実行するサブネットワークと、から構成されている。既知関数及び未知関数を実施するサブネットワークを含む人工ニューラルネットワークを、ネットワークトレーニングデータセットで逐次トレーニングすることは、時間及びリソースを多く使用するプロセスである。人工ニューラルネットワークのトレーニングによって消費される時間及びリソースを低減するために、人工ニューラルネットワークは、既知関数（対応する既知のトレーニングデータセットを有する）を実行する第１サブネットワークと、未知関数を実行し、したがって既知のトレーニングデータセットを有しない第２サブネットワークと、に細分化される。第１サブネットワークは、対応する既知のトレーニングデータセットに基づいて、個別に並行してトレーニングされる。例えば、第１サブネットワークの別々のインスタンスは、ＧＰＵ１１５内の処理要素１１６〜１１８、ＣＰＵ１３０内の処理要素１３１〜１３３、又は、全ての処理要素１１６〜１１８，１３１〜１３３から得られる組み合わせで同時に実行される。いくつかの実施形態では、単一の第１サブネットワークの複数のインスタンスを処理要素で同時にトレーニングすることができ、次いで、人工ニューラルネットワークに統合するために最適にトレーニングされたインスタンスが選択される。また、第１サブネットワークの別々のインスタンスを、既知関数の様々バリエーションに対してトレーニングすることもできる。
【００１４】
第１サブネットワークがトレーニングされると、人工ニューラルネットワークは、ネットワークトレーニングデータセットでトレーニングされる。第１サブネットワークのパラメータは、既知のデータセットに基づいて第１サブネットワークをトレーニングすることによって正確に定義されることが期待されるので、当該パラメータは、トレーニングのこの段階では一定に保持される。ネットワークトレーニングデータセットからの入力値は、処理要素１１６〜１１８，１３１〜１３３のうち何れか、いくつか又は全てで実行されている人工ニューラルネットワークに提供される。人工ニューラルネットワークの出力値と、ネットワークトレーニングデータセットからのラベル付き出力値と、を比較することによって、誤差値が生成される。誤差値は、逆伝播され、第２サブネットワークのパラメータを変更するために使用される。このプロセスは、第２サブネットワークを定義するパラメータの値が収束基準を満たすまで繰り返される。例えば、第２サブネットワークを定義するパラメータの値は、２つの反復間でパラメータの値の変化量が閾値を下回ると、収束する。人工ニューラルネットワークを定義するパラメータ（例えば、第１サブネットワーク及び第２サブネットワークを定義するパラメータ）の収束値は、メモリ１０５又は外部ストレージコンポーネント１４５等の非一時的なコンピュータ可読媒体に記憶される。いくつかの実施形態では、第１サブネットワーク及び第２サブネットワークのパラメータの記憶された値は、非一時的なコンピュータ可読媒体から読み出され、トレーニングされてもされなくてもよい他のサブネットワークと潜在的に組み合わせて他のニューラルネットワークを構築するために使用される。
【００１５】
第１サブネットワーク及び第２サブネットワークを定義するパラメータの値が決定されると、完成した人工ニューラルネットワークに対して品質保証ステップが実行される。人工ニューラルネットワークのインスタンスは、ＧＰＵ１１５又はＣＰＵ１３０で実行される。インスタンスは、第１サブネットワーク及び第２サブネットワークを完成した人工ニューラルネットワークに統合することによって定義される。人工ニューラルネットワークのインスタンスに入力値が提供され、人工ニューラルネットワークを定義するパラメータの現在値に基づいて、対応する出力値が生成される。出力値と、トレーニングデータセットのラベル付き出力値とを比較することによって、誤差値が決定される。誤差値は、逆伝播され、人工ニューラルネットワーク内の第１サブネットワーク及び第２サブネットワークを定義するパラメータの値を変更するために使用される。このプロセスは、人工ニューラルネットワークを定義するパラメータの値が収束基準を満たすまで繰り返される。次に、人工ニューラルネットワークは、人工ニューラルネットワークに割り当てられたタスクを実行するためにトレーニングされると考えられる。いくつかの実施形態では、第１サブネットワークの同時トレーニング、第２サブネットワーク内の未知関数のトレーニング、及び、その後の人工ニューラルネットワークの品質保証トレーニングは、人工ニューラルネットワークをトレーニングするために１回以上繰り返される。
【００１６】
図２は、いくつかの実施形態による、画像認識等のタスクを実行するようにトレーニングされたディープニューラルネットワーク（ＤＮＮ）２００を示すブロック図である。ＤＮＮ２００は、図１に示すＧＰＵ１１５内の処理要素１１６〜１１８、又は、ＣＰＵ１３０内の処理要素１３１〜１３３で実行される。ＤＮＮ２００は、画像２１０の一部２０５等の入力値を受信して、ＤＮＮ２００で実施される関数及び当該関数を定義するパラメータの値に基づいて出力値２１５を生成するように構成されている。
【００１７】
ＤＮＮ２００は、１つ以上のトレーニングデータセットに基づいてトレーニングされたパラメータのセットによって定義された畳み込み関数を実施する畳み込み層２２０を含む。パラメータには、小さい受容野を有し、畳み込み層２２０の入力ボリュームの全深さ（full depth）に広がる学習可能フィルタ（又は、カーネル）のセットが含まれている。また、パラメータには、畳み込み層２２０の出力ボリュームのサイズを制御する深さパラメータ、ストライドパラメータ及びゼロパディングパラメータが含まれてもよい。畳み込み層２２０は、入力値に対して畳み込み演算を適用し、畳み込み演算の結果をＤＮＮ２００内の後続の層に提供する。例えば、画像２１０の一部２０５は、畳み込み層２２０への入力２２５として提供され、畳み込み層２２０は、パラメータのセットに基づいて入力２２５に対して畳み込み演算を適用して、対応する出力値２３０を生成する。いくつかの実施形態では、畳み込み層２２０は、ＤＮＮ２００のサブネットワークとして識別される。この場合、サブネットワークは、畳み込みニューラルネットワーク（ＣＮＮ）を表す。しかしながら、畳み込み層２２０は、ＤＮＮ２００のより大きなサブネットワークの一部であってもよいし、畳み込み層２２０は、ＤＮＮ２００の複数のサブネットワークにさらに細分化されてもよい。
【００１８】
畳み込み層２２０によって生成された結果は、ＤＮＮ２００内のプーリング層２３５に提供される。プーリング層２３５は、畳み込み層２２０におけるニューロンクラスタの出力を、プーリング層２３５から出力されるより少ない数のニューロンクラスタに組み合わせる。プーリング層２３５は、通常、既知関数（又は、陽関数）を実施する。例えば、最大プーリングを実施するプーリング層２３５は、畳み込み層２２０から出力されたクラスタのニューロンの値の最大値を、プーリング層２３５から出力される単一のニューロンに割り当てることができる。別の例では、平均プーリングを実施するプーリング層２３５は、畳み込み層２２０から出力されるクラスタのニューロンの値の平均値を、プーリング層２３５から出力される単一のニューロンに割り当てることができる。従って、プーリング層２３５の既知関数（又は、陽関数）は、所定のトレーニングデータセットを使用してトレーニングすることができる。いくつかの実施形態では、プーリング層２３５は、ＤＮＮ２００のサブネットワークとして識別される。しかしながら、プーリング層２３５は、ＤＮＮ２００のより大きなサブネットワークの一部であってもよいし、プーリング層２３５は、ＤＮＮ２００の複数のサブネットワークにさらに細分化されてもよい。
【００１９】
図示した実施形態では、ＤＮＮ２００は、プーリング層２３５から入力を受信する追加の畳み込み層２４０と、追加の畳み込み層２４０から入力を受信する追加のプーリング層２４５と、を含む。しかしながら、追加の畳み込み層２４０及び追加のプーリング層２４５は、オプションであり、ＤＮＮ２００のいくつかの実施形態には存在しない。さらに、ＤＮＮ２００のいくつかの実施形態は、より多数の畳み込み層及びプーリング層を含むことができる。追加の畳み込み層２４０及び追加のプーリング層２４５は、ＤＮＮ２００のサブネットワーク、ＤＮＮ２００のサブネットワークの一部として識別されてもよいし、ＤＮＮ２００の複数のサブネットワークに細分化されてもよい。
【００２０】
追加のプーリング層２４５からの出力は、全結合層２５０，２５５に提供される。全結合層２５０，２５５内のニューロンは、追加のプーリング層２４５又は他の全結合層等の別の層内の全てのニューロンに結合される。全結合層２５０，２５５は、通常、出力値２１５を生成する高次推論を表す機能を実施する。例えば、ＤＮＮ２００が画像認識を実行するようにトレーニングされた場合、全結合層２５０，２５５は、ＤＮＮ２００によって「認識」された画像の部分にラベル付けする機能を実施する。ラベルの例には、画像２１０内で顔が検出された人の名前、画像内で検出されたオブジェクトのタイプ等が挙げられる。全結合層２５０，２５５で実施される関数は、本明細書で説明するように、トレーニングデータセットを使用して決定されたパラメータの値で表される。全結合層２５０，２５５は、ＤＮＮ２００のサブネットワーク又はＤＮＮ２００のサブネットワークの一部として識別されてもよいし、ＤＮＮ２００の複数のサブネットワークに細分化されてもよい。
【００２１】
図３は、いくつかの実施形態による、既知関数を実施するサブネットワークも含む人工ニューラルネットワークのインスタンス３００内で未知関数を実施するサブネットワークのトレーニングを示すブロック図である。インスタンス３００は、図１に示す処理要素１１６〜１１８，１３１〜１３３等の処理要素で実行される。ＤＮＮは、相互接続されたサブネットワーク３１０，３１１，３１２，３１３，３１４，３１５を使用して実施され、これらは、本明細書で「サブネットワーク３１０〜３１５」と総称される。サブネットワーク３１０〜３１５は、サブネットワーク３１０〜３１５を特徴付けるパラメータの値によって定義される異なる関数を実施する。図示した実施形態では、サブネットワーク３１０は、未知関数を実施するので、既知のトレーニングデータセットを有しない。未知関数を実施する単一のサブネットワーク３１０が図３に示されているが、人工ニューラルネットワークのいくつかの実施形態は、１つ以上の未知関数を実施する複数のサブネットワークを含む。サブネットワーク３１１〜３１５は、対応する既知のトレーニングデータセットを有する既知関数を実施する。従って、サブネットワーク３１１〜３１５は、対応する既知のトレーニングデータセットに基づいて、個別に並行してトレーニングされている。
【００２２】
ＤＮＮのインスタンス３００は、入力値３２０，３２５と、ラベル付き出力値３３０と、を含むネットワークトレーニングデータセットを使用してトレーニングされる。ＤＮＮのインスタンス３００は、入力値３２０，３２５を受信して、出力値３３５を生成することができる。次に、出力値３３５を、ラベル付き出力値３３０と比較することによって、ＤＮＮのインスタンス３００の誤差値が決定される。サブネットワーク３１０は、実線で示すように、トレーニングサブネットワークとして識別され、つまり、サブネットワーク３１０を定義するパラメータが、逆伝播された誤差値に基づいて変更されることを意味する。サブネットワーク３１１〜３１５は、破線で示すように、非トレーニングサブネットワークとして識別され、つまり、サブネットワーク３１１〜３１５を定義するパラメータが、サブネットワーク３１１〜３１５の関数に関連する既知のトレーニングデータセットに基づいて事前にトレーニングされて得られたものであるため、逆伝播された誤差値に基づいて変更されないことを意味する。
【００２３】
次に、ＤＮＮのインスタンス３００によって生成される誤差値は、トレーニングサブネットワーク３１０を定義するパラメータの不正確な値によって生成されると想定して、トレーニングサブネットワーク３１０がトレーニングされる。従って、パラメータの値は、後続の反復中に生成される誤差値を低減するために、現在の反復中に生成される誤差値に基づいて変更される。他の（非トレーニング）サブネットワーク３１１〜３１５を定義するパラメータの値は、トレーニングプロセスの間、一定に保持される。例えば、サブネットワーク３１１〜３１５を定義するパラメータの値を一定に保持しながら、ＤＮＮのインスタンス３００内のサブネットワーク３１０を定義するパラメータの値が、ＤＮＮのインスタンス３００によって生成される誤差値を低減するように繰り返し変更される。
【００２４】
図４は、いくつかの実施形態による、品質保証ステップを行うように実行する図３に示すＤＮＮのインスタンス４００を示すブロック図である。インスタンス４００は、図１に示す処理要素１１６〜１１８，１３１〜１３３のうち何れか等の処理要素で実行されてもよい。品質保証ステップの間、実線で示すように、全てのサブネットワーク３１０〜３１５は、トレーニングサブネットワークとして扱われる。完成したＤＮＮは、以前にトレーニングされたサブネットワーク３１０〜３１５（これは、例えば、図３に示すようなものである）を定義するパラメータの値を反復トレーニングプロセスの初期値として使用して、ネットワークトレーニングデータセット３２０，３２５，３３０でトレーニングされる。ＤＮＮのインスタンス４００は、入力値３２０，３２５を受信して、ＤＮＮを定義するパラメータ（例えば、サブネットワーク３１０〜３１５を定義するパラメータ等）の現在値に基づいて出力値４０５を生成する。出力値４０５は、ラベル付き出力値３３０と比較されて誤差値が決定され、誤差値は、逆伝播され、ＤＮＮを定義するパラメータ値を変更するために使用される。このプロセスは、誤差値の変化率又は誤差値の大きさの測定値が閾値を下回る等の収束基準が満たされるまで繰り返される。
【００２５】
既知関数を実施するサブネットワーク３１１〜３１５を個別に並行してトレーニングすることによって、サブネットワークトレーニングを異なる処理要素で同時に又は並行して行うことが可能となるので、サブネットワーク３１１〜３１５のトレーニングに必要な時間が短縮される。トレーニングされたサブネットワーク３１１〜３１５を定義するパラメータの値は、例えば図４に示すインスタンス４００を用いて、トレーニングデータセットの入力値３２０，３２５及び出力値３３０を使用して、完成したＤＮＮをトレーニングすることによって決定されるパラメータの値に非常に近い可能性がある。従って、完成したＤＮＮのトレーニングプロセス（サブネットワーク３１０〜３１５のトレーニング及び品質保証ステップの実行を含む）の収束は、パラメータの任意の又はランダムな初期値を使用してトレーニングデータセットの入力値３２０，３２５及び出力値３３０で完成したＤＮＮをトレーニングする従来の実施方法よりも、消費する時間、エネルギー及びリソースが少ないと期待される。
【００２６】
図５は、いくつかの実施形態による、既知関数を実施するサブネットワークも含む人工ニューラルネットワークのカットアウト部分５００内で未知関数を実施するサブネットワークのトレーニングを示すブロック図である。カットアウト部分５００は、図１に示す処理要素１１６〜１１８，１３１〜１３３等の処理要素で実行される。人工ニューラルネットワークのカットアウト部分５００は、相互接続されたサブネットワーク５１０，５１１，５１２，５１３，５１４，５１５，５１６を使用して実施され、これらは、本明細書で「サブネットワーク５１０〜５１６」と総称される。サブネットワーク５１０〜５１６は、サブネットワーク５１０〜５１６を特徴付けるパラメータの値によって定義される異なる関数を実施する。図示した実施形態では、サブネットワーク５１０は、未知関数を実施するので、既知のトレーニングデータセットを有しない。未知関数を実施する単一のサブネットワーク５１０が図５に示されているが、人工ニューラルネットワークのいくつかの実施形態は、１つ以上の未知関数を実施する複数のサブネットワークを含む。サブネットワーク５１１〜５１６は、対応する既知のトレーニングデータセットを有する既知関数を実施する。従って、サブネットワーク５１１〜５１６は、対応する既知のトレーニングデータセットに基づいて、個別に並行してトレーニングされている。
【００２７】
サブネットワーク５１０は、サブネットワーク５１１〜５１６によって実質的に包含される。本明細書で使用する場合、「実質的に包含される」という語句は、サブネットワーク５１０への入力が１つ以上のサブネットワーク５１１〜５１６によって排他的に（又は、主に）提供され、サブネットワーク５１０からの出力がサブネットワーク５１１〜５１６以外の何れのサブネットワークに全く公開されない（又は、少数の出力がサブネットワーク５１１〜５１６以外の任意のサブネットワークに公開される）ことを示す。この場合、サブネットワーク５１０は、サブネットワーク５１１〜５１６用の既知のトレーニングデータセットから構成された、組み合わされたトレーニングデータセットに基づいてトレーニングされる。例えば、サブネットワーク５１１〜５１６は、本明細書で説明するように、これらの対応する既知のトレーニングデータセットに基づいて、個別に並行してトレーニングされ得る。次に、以前にトレーニングされたサブネットワーク５１１〜５１６のパラメータを一定に保持しながら、組み合わされたトレーニングデータセットに基づいてカットアウト部分５００をトレーニングすることによって、サブネットワーク５１０がトレーニングされる。カットアウト部分５００は、トレーニングされると、完成した人工ニューラルネットワークに統合され、完成した人工ニューラルネットワークは、本明細書で説明するように、ネットワークトレーニングデータセットに基づいてトレーニングされる。
【００２８】
図６は、いくつかの実施形態による、第１サブネットワークを含む人工ニューラルネットワーク（ＣＮＮ又はＤＮＮ等）をトレーニングする方法６００のフロー図である。方法６００は、図１に示す処理システム１００のいくつかの実施形態で実施される。
【００２９】
ブロック６０５において、人工ニューラルネットワークは、人工ニューラルネットワークにおいて既知関数を実行するサブネットワークと、未知関数を実行するサブネットワークと、に区分される。関数の定義は厳密ではない。ＤＮＮアーキテクトは、サブネットワーク又は他の合理的な基準に基づいて実行されるネットワークトポロジ又は内部プリミティブ動作に基づいて、関数を定義することができる。例えば、図２に示す畳み込み層２２０、プーリング層２３５、畳み込み層２４０、プーリング層２４５、全結合層２５０，２５５を含むディープニューラルネットワーク２００等の人工ニューラルネットワークは、畳み込み層２２０を含む第１サブネットワークと、プーリング層２３５を含む第２サブネットワークと、畳み込み層２４０を含む第３サブネットワークと、プーリング層２４５を含む第４サブネットワークと、全結合層２５０を含む第５サブネットワークと、全結合層２５５を含む第６サブネットワークと、に区分される。また、粒度のより高い又はより低い層でのニューラルネットワークの他の区分も可能である。例えば、層の区分は、畳み込み層２２０等の個々の層内で行われてもよい。
【００３０】
既知関数を有する第１サブネットワークは、図１に示す処理要素１１６〜１１８，１３１〜１３３等の異なる処理要素で個別に並行してトレーニングされる。第１サブネットワークは、第１サブネットワークで実施される関数に対応する既知のデータセットでトレーニングされる。図示した実施形態では、トレーニングサブネットワークを定義するパラメータの値は、各サブネットワークに特有のトレーニングデータセットに基づいて変更される。サブネットワークの関数（入力に応じて生成される出力の値）も既知であるため、このトレーニングデータセットは既知のものである。例えば、ブロック６１０において、第１の既知のサブネットワークを定義するパラメータの値は、このサブネットワークの出力値と、このサブネットワークのトレーニングデータセットのラベル付き出力値と、を比較することによって決定される誤差値に基づいて変更される。ブロック６１５において、第２の既知のサブネットワークを定義するパラメータの値は、第２サブネットワークの出力値と、第２の既知のサブネットワークのトレーニングデータセットのラベル付き出力値と、を比較することによって決定される誤差値に基づいて変更される。ブロック６２０において、第Ｎの既知のサブネットワークを定義するパラメータの値は、第Ｎサブネットワークの出力値と、第Ｎサブネットワークの既知のトレーニングデータセットのラベル付き出力値と、を比較することによって決定される誤差値に基づいて変更される。ブロック６１０，６１５，６２０で表されるプロセスは、同時に又は並行して実行される。
【００３１】
ブロック６２５において、未知関数を実施する第２サブネットワークのパラメータは、人工ニューラルネットワーク用のネットワークトレーニングデータセットに基づいて変更される。人工ニューラルネットワーク内の第１サブネットワークを定義するパラメータの値は、ブロック６１０，６１５，６２０で決定されたパラメータの値に等しく設定され、これにより、第１サブネットワークは、人工ニューラルネットワーク全体に再び統合される。第２サブネットワークを定義するパラメータの値は、ランダム若しくは任意の値に設定され、又は、初期値を設定するための任意の他の基準を使用して設定される。ネットワークトレーニングデータセットからの入力値は、人工ニューラルネットワークに提供され、人工ニューラルネットワークは、パラメータの現在値に基づいて出力値を生成する。出力値は、ネットワークトレーニングデータセットのラベル付き出力値と比較されて誤差値が決定され、誤差値が逆伝播され、第２サブネットワークを定義するパラメータの値が変更される。第１サブネットワークを定義するパラメータは、このプロセスの間、一定に保持され、このプロセスは、第２ネットワークの収束基準が満たされるまで繰り返される。
【００３２】
ブロック６３０において、品質保証ステップが実行される。品質保証ステップでは、ネットワークトレーニングデータセットからの入力値が、人工ニューラルネットワークに提供され、人工ニューラルネットワークは、パラメータの現在値に基づいて出力値を生成する。出力値は、ネットワークトレーニングデータセットのラベル付き出力値と比較され、誤差値が決定される。ブロック６３０で実行される品質保証ステップは、誤差値を逆伝播して、第１サブネットワーク及び第２サブネットワークの両方を定義するパラメータの値を変更するので、ブロック６２５で実行されるステップとは異なる。品質保証ステップは、人工ニューラルネットワークの収束基準が満たされるまで繰り返される。プロセスが収束すると、第１サブネットワーク及び第２サブネットワークを定義するパラメータの値は、図１に示すメモリ１０５又は外部ストレージコンポーネント１４５等の非一時的なコンピュータ可読媒体を使用して実装されるストレージコンポーネントに記憶される。
【００３３】
図７は、いくつかの実施形態による、既知関数及び未知関数を実施するサブネットワークを含む人工ニューラルネットワーク（ＣＮＮ又はＤＮＮ等）内で未知関数を実施するサブネットワークをトレーニングする方法７００のフロー図である。方法７００は、図１に示す処理システム１００のいくつかの実施形態で実施される。方法７００は、図６に示す方法６００のいくつかの実施形態を実施するために使用される。
【００３４】
ブロック７０５において、人工ニューラルネットワークは、トレーニングデータセットからの入力トレーニング値と、ニューラルネットワークを構成するサブネットワークのパラメータの現在値と、に基づいて出力値を生成する。本明細書で説明するように、人工ニューラルネットワーク内で未知関数を実施するサブネットワークは、トレーニングサブネットワークとして識別される。
【００３５】
ブロック７１０において、人工ニューラルネットワークの出力値は、トレーニングデータセットのラベル付き出力値と比較される。誤差値は、比較に基づいて決定される。例えば、誤差値は、出力値とラベル付き出力値との比較によって示されるように、１つ以上のトレーニング画像において、人工ニューラルネットワークによって正しく識別された人又はオブジェクトの割合を示すことができる。
【００３６】
ブロック７１５において、トレーニングサブネットワーク（すなわち、未知関数を実施したサブネットワーク）を定義するパラメータの値は、誤差値に基づいて変更される。人工ニューラルネットワーク内で既知関数を実施する他のサブネットワークを定義するパラメータの値が一定に保持され、すなわち、トレーニングサブネットワークを定義するパラメータの値は、トレーニングサブネットワークのみを定義するパラメータの誤った値によって誤差が生じているという想定の下で変更される。
【００３７】
判別ブロック７２０において、トレーニングサブネットワークを定義するパラメータの値に関して収束基準が評価される。例えば、方法７００の現在の反復で決定されたパラメータの値を、方法７００の以前の反復で決定されたパラメータの値と比較することができる。現在の反復と以前の反復との値の変化量が閾値を下回ると、パラメータの値は収束基準を満たす。別の実施形態では、ネットワークの出力をラベル付きデータと比較する等の他の収束基準が適用されてもよい。この場合、収束の検査（ブロック７２０）は、ブロック７１０とブロック７１５との間に配置されてもよい。収束基準が満たされない場合、方法７００は、ブロック７０５に戻り、パラメータの変更された値を使用して方法７００の別の反復を開始する。変更は、逆伝播、又は、ニューラルネットワークのトレーニングに使用される任意の他の方法によって行われる。収束基準が満たされると、方法７００は、ブロック７２５に進む。
【００３８】
ブロック７２５において、トレーニングサブネットワークを定義するパラメータの収束値が、非一時的なコンピュータ可読媒体を使用して実装されるストレージコンポーネントに記憶される。例えば、収束値は、図１に示すメモリ１０５又は外部ストレージコンポーネント１４５に記憶される。記憶された値は、ニューラルネットワークに対して実行される後続の品質保証ステップでアクセスされてもよい。本明細書で説明するように、記憶された値にアクセスし、他のサブネットワークの他のパラメータ値と組み合わせて、新たなニューラルネットワークを形成することもできる。
【００３９】
図８は、いくつかの実施形態による、以前にトレーニングされたサブネットワークに基づいて、ニューラルネットワークを生成し、トレーニングする方法８００のフロー図である。図示した実施形態では、第１ニューラルネットワークは、複数のサブネットワークに細分化されており、ネットワークトレーニングデータセットを使用してトレーニングされている。例えば、第１ニューラルネットワークは、図６に示す方法６００及び図７に示す方法７００の実施形態に従ってトレーニングされてもよい。第１ニューラルネットワーク内のサブネットワークを定義するパラメータの値は、図１に示す外部ストレージコンポーネント１４５等の非一時的なコンピュータ可読媒体に記憶されている。第１ニューラルネットワークのトレーニングは、図１に示す処理システム１００又は別の処理システムによって実行される。
【００４０】
ブロック８０５において、第１ニューラルネットワークのサブネットワークのサブセットを定義するパラメータの値が、非一時的なコンピュータ可読記憶媒体から読み出される。いくつかの実施形態では、他のニューラルネットワークのサブネットワークを定義するパラメータの値も、非一時的なコンピュータ可読記憶媒体から読み出される。
【００４１】
ブロック８１０において、サブネットワークを組み合わせて、第２ニューラルネットワークが形成される。本明細書で説明するように、サブネットワークを組み合わせて第２ニューラルネットワークを形成することは、第２ニューラルネットワークを表すようにプログラムコード及びパラメータ値を設定すること、例えば、サブネットワークのセットの出力をサブネットワークの別のセットの入力に接続すること、を含む。複数のネットワークからのサブネットワークを新たなネットワークに統合するために、様々な基準（例えば、機能統合、情報データストリーム、リアルタイム態様及び他の多くの基準）が選択されてもよい。よって、第２ニューラルネットワークを、１つ以上の処理要素で実行することができる。例えば、第１ニューラルネットワークのサブネットワークのサブセットを定義するパラメータの値と、利用可能な場合には他のニューラルネットワークのサブネットワークを定義するパラメータの値と、を相互接続して第２ニューラルネットワークを構築し、その結果、第２ニューラルネットワークを、図１に示す処理要素１１６〜１１８，１３１〜１３３等の１つ以上の処理要素で実行することができる。
【００４２】
ブロック８１５において、第２ニューラルネットワークは、ネットワークトレーニングデータセットに基づいてトレーニングされる。第２ニューラルネットワークを定義するパラメータの値は、第２ニューラルネットワークを構成するサブネットワークを定義するパラメータの対応する値に等しく初期設定される。次に、第２ニューラルネットワークは、図６に示す方法６００及び図７に示す方法７００のいくつかの実施形態を使用してトレーニングされてもよい。サブネットワークを定義するパラメータの以前のトレーニングで得られた値を使用してトレーニングプロセスを開始することによって、トレーニングプロセスを早めることができ、よって、第２ニューラルネットワークを定義するパラメータの任意又はランダムな値を使用して第２ニューラルネットワークのトレーニングプロセスを開始する場合と比較して、トレーニングにかかる時間及びリソースを低減することができる。
【００４３】
第１態様では、方法は、既知関数を実施する第１サブネットワークと、未知関数を実施する第２サブネットワークと、を含む人工ニューラルネットワークをトレーニングすることを含み、方法は、第１サブネットワークを、対応する既知のトレーニングデータセットで個別に並行してトレーニングして、第１サブネットワークを定義する第１パラメータ値を決定することと、ネットワークトレーニングデータセットからの入力値を、トレーニングされた第１サブネットワークを含む人工ニューラルネットワークに提供することと、人工ニューラルネットワークによって生成された出力値をネットワークトレーニングデータセットのラベル付き出力値と比較することによって、誤差値を生成することと、第１パラメータ値を変更することなく、第２サブネットワークを定義する第２パラメータ値を、誤差値を使用して変更することと、第１パラメータ値及び第２パラメータ値を記憶することと、を含む。
【００４４】
第１態様の一実施形態では、方法は、第１サブネットワークをトレーニングすることが、対応する既知のトレーニングデータセットの入力値を第１サブネットワークに同時に提供することと、第１サブネットワークの誤差値を同時に生成することと、第１パラメータ値を同時に変更することと、を含む。一実施形態では、方法は、対応する既知のトレーニングデータセットの入力値を第１サブネットワークに同時に提供することと、第１サブネットワークの誤差値を同時に生成することと、第１サブネットワークを定義する第１パラメータ値を同時に変更することとが、第１パラメータ値の収束基準を満たすまで繰り返し実行される。特定の実施形態では、方法は、第１サブネットワークの第１サブセットに対応する既知のトレーニングデータセットのサブセットから構成されたカットアウトトレーニングセットに基づいて、第２サブネットワークをトレーニングすることを含み、第１サブセットは、第２サブネットワークを含む。
【００４５】
第１態様の別の実施形態では、方法は、ネットワークトレーニングデータセットの入力値を、第１サブネットワーク及び第２サブネットワークの変更されたパラメータ値によって定義された人工ニューラルネットワークのインスタンスに提供することと、人工ニューラルネットワークからの出力値をネットワークトレーニングデータセットのラベル付き出力値と比較することによって、誤差値を生成することと、第１サブネットワーク及び第２サブネットワークを定義する第１パラメータ値及び第２パラメータ値を、誤差値を使用して変更することと、第１サブネットワーク及び第２サブネットワークを定義する変更されたパラメータ値を記憶することと、を含む。特定の実施形態では、方法は、ネットワークトレーニングデータセットの入力値を人工ニューラルネットワークに提供することと、誤差値を生成することと、第１サブネットワーク及び第２サブネットワークを定義する第１パラメータ値を変更することとが、第１パラメータ値の収束基準を満たすまで繰り返し実行される。
【００４６】
第１態様のさらなる実施形態では、方法は、人工ニューラルネットワークの第１サブネットワークのサブセットの記憶されたパラメータ値を読み出すことと、人工ニューラルネットワークの第１サブネットワークのサブセットの記憶されたパラメータ値を使用して、異なる人工ニューラルネットワークのパラメータ値を定義することと、を含む。
【００４７】
第２態様では、処理システムは、複数の処理要素と、入出力エンジンと、を備え、複数の処理要素は、既知関数を実施する第１サブネットワークと、未知関数を実施する第２サブネットワークと、を含む人工ニューラルネットワークをトレーニングするために、第１サブネットワークを、対応する既知のトレーニングデータ集合で個別に並行してトレーニングして、第１サブネットワークを定義する第１パラメータ値を決定することと、ネットワークトレーニングデータセットからの入力値を、トレーニングされた第１サブネットワークを含む人工ニューラルネットワークに提供することと、人工ニューラルネットワークによって生成された出力値をネットワークトレーニングデータセットのラベル付き出力値と比較することによって、誤差値を生成することと、第１パラメータ値を変更することなく、第２サブネットワークを定義する第２パラメータ値を、誤差値を使用して変更することによって、第２サブネットワークをトレーニングすることと、を実行するように構成されており、入出力エンジンは、第１パラメータ値及び第２パラメータ値をストレージコンポーネントに記憶するように構成されている。
【００４８】
第２態様の別の実施形態では、複数の処理要素は、対応する既知のトレーニングデータセットの入力値を第１サブネットワークに同時に提供することと、第１サブネットワークの誤差値を同時に生成することと、第１パラメータ値を同時に変更することと、を実行するように構成されている。特定の実施形態では、複数の処理要素は、対応する既知のトレーニングデータセットの入力値を第１サブネットワークに同時に提供することと、第１サブネットワークの誤差値を同時に生成することと、第１サブネットワークを定義する第１パラメータ値を同時に変更することとを、第１パラメータ値の収束基準が満たされるまで繰り返し実行するように構成されている。さらに特定の実施形態では、複数の処理要素は、第１サブネットワークの第１サブセットに対応する既知のトレーニングデータセットのサブセットから構成されたカットアウトトレーニングセットに基づいて、第２サブネットワークをトレーニングするように構成されており、第１サブセットは、第２サブネットワークを含む。
【００４９】
第２態様のさらなる実施形態では、複数の処理要素は、ネットワークトレーニングデータセットの入力値を、第１サブネットワーク及び第２サブネットワークの変更された第１パラメータ値及び第２パラメータ値によって定義された人工ニューラルネットワークのインスタンスに提供することと、人工ニューラルネットワークからの出力値を、ネットワークトレーニングデータセットのラベル付き出力値と比較することによって、誤差値を生成することと、第１サブネットワーク及び第２サブネットワークを定義する第１パラメータ値及び第２パラメータ値を、誤差値を使用して変更することと、を実行するように構成されている。さらに、入出力エンジンは、第１サブネットワーク及び第２サブネットワークを定義する変更されたパラメータ値を、ストレージコンポーネントに記憶するように構成されている。特定の実施形態では、複数の処理要素は、ネットワークトレーニングデータセットの入力値を人工ニューラルネットワークに提供することと、誤差値を生成することと、第１サブネットワーク及び第２サブネットワークを定義する第１パラメータ値及び第２パラメータ値を変更することとを、第１パラメータ値の収束基準が満たされるまで繰り返し実行するように構成されている。
【００５０】
第２態様のさらに別の実施形態では、入出力エンジンは、人工ニューラルネットワークの第１サブネットワークのサブセットのパラメータ値をストレージコンポーネントから読み出すように構成されており、複数の処理要素のうち少なくとも１つは、人工ニューラルネットワークの第１サブネットワークのサブセットのパラメータ値を使用して、異なる人工ニューラルネットワークのパラメータ値を定義するように構成されている。
【００５１】
第３態様において、方法は、処理システムの入出力エンジンを使用して、既知関数を実施する第１サブネットワークを定義する第１パラメータ値と、未知関数を実施する第２サブネットワークを定義する第２パラメータ値と、を読み出すことを含み、第１サブネットワークは、対応する既知のトレーニングデータセットでトレーニングされている。また、方法は、処理システムにおいて、第１サブネットワーク及び第２サブネットワークを組み合わせて、人工ニューラルネットワークを生成することと、ネットワークトレーニングデータセットからの入力値を人工ニューラルネットワークに提供することと、処理システムにおいて、人工ニューラルネットワークからの出力値を、ネットワークトレーニングデータセットのラベル付き出力値と比較することによって、人工ニューラルネットワークの誤差値を生成することと、処理システムにおいて、第２サブネットワークを定義する第２パラメータ値を、誤差値に基づいて変更することと、を含む。
【００５２】
第３態様の一実施形態では、ネットワークトレーニングデータセットの入力値を人工ニューラルネットワークに提供することと、人工ニューラルネットワークの誤差値を生成することと、第２サブネットワークを定義する第２パラメータ値を変更することとは、第２サブネットワークを定義する第２パラメータ値の収束基準を満たすまで繰り返し実行される。別の実施形態において、方法は、第１パラメータ値及び第２パラメータ値をストレージコンポーネントに記憶することを含む。特定の実施形態では、方法は、ネットワークトレーニングデータセットの入力値を、第２サブネットワークの変更されたパラメータ値によって定義された人工ニューラルネットワークのインスタンスに提供することを含む。また、方法は、人工ニューラルネットワークからの出力値を、ネットワークトレーニングデータセットのラベル付き出力値と比較することによって、誤差値を生成することと、第１サブネットワーク及び第２サブネットワークを定義する第１パラメータ値及び第２パラメータ値を、誤差値を使用して変更することと、を含む。別の特定の実施形態では、方法は、ネットワークトレーニングデータセットの入力値を人工ニューラルネットワークに提供することと、誤差値を生成することと、第１サブネットワーク及び第２サブネットワークを定義する第１パラメータ値及び第２パラメータ値を変更することとが、第１パラメータ値及び第２パラメータ値の収束基準を満たすまで繰り返し実行される。さらに特定の実施形態では、方法は、第１サブネットワーク及び第２サブネットワークを定義する変更されたパラメータ値をストレージコンポーネントに記憶することと、記憶されたパラメータ値のサブセットを使用して、異なる人工ニューラルネットワークのパラメータ値を定義することと、を含む。
【００５３】
いくつかの実施形態では、上記の装置及び技術は、図１〜図７を参照して上述した処理システム等の１つ以上の集積回路（ＩＣ）デバイス（集積回路パッケージ又はマイクロチップとも呼ばれる）を含むシステムに実装される。これらのＩＣデバイスの設計及び製造には、電子設計自動化（ＥＤＡ）及びコンピュータ支援設計（ＣＡＤ）ソフトウェアツールが使用される。これらのＩＣデバイスは、本明細書で説明する方法を、トランジスタ回路で直接実施してもよいし、当該回路で実行されるプログラマブルコードとして実施してもよい。
【００５４】
コンピュータ可読記憶媒体は、命令及び／又はデータをコンピュータシステムに提供するために、使用中にコンピュータシステムによってアクセス可能な任意の非一時的な記憶媒体又は非一時的な記憶媒体の組み合わせを含む。かかる記憶媒体には、限定されないが、光媒体（例えば、コンパクトディスク（ＣＤ）、デジタル多用途ディスク（ＤＶＤ）、ブルーレイ（登録商標）ディスク）、磁気媒体（例えば、フロッピー（登録商標）ディスク、磁気テープ、磁気ハードドライブ）、揮発性メモリ（例えば、ランダムアクセスメモリ（ＲＡＭ）、キャッシュ）、不揮発性メモリ（例えば、読み出し専用メモリ（ＲＯＭ）、フラッシュメモリ）、又は、微小電気機械システム（ＭＥＭＳ）ベースの記憶媒体が含まれ得る。コンピュータ可読記憶媒体は、コンピュータシステムに内蔵されてもよいし（例えば、システムＲＡＭ又はＲＯＭ）、コンピュータシステムに固定的に取り付けられてもよいし（例えば、磁気ハードドライブ）、コンピュータシステムに着脱可能に取り付けられてもよいし（例えば、光学ディスク又はユニバーサルシリアルバス（ＵＳＢ）ベースのフラッシュメモリ）、有線又は無線のネットワークを介してコンピュータシステムに接続されてもよい（例えば、ネットワークアクセス可能なストレージ（ＮＡＳ））。本明細書で説明するサブネットワーク及びネットワークは、このような記憶媒体に記憶されてもよい。
【００５５】
いくつかの実施形態では、上記の技術のいくつかの態様は、ソフトウェアを実行する処理システムの１つ以上のプロセッサによって実装されてもよい。ソフトウェアは、非一時的なコンピュータ可読記憶媒体に記憶され、又は、非一時的なコンピュータ可読記憶媒体上で有形に具現化された実行可能命令の１つ以上のセットを含む。ソフトウェアは、１つ以上のプロセッサによって実行されると、上記の技術の１つ以上の態様を実行するように１つ以上のプロセッサを操作する命令及び特定のデータを含むことができる。非一時的なコンピュータ可読記憶媒体は、例えば、磁気若しくは光ディスク記憶デバイス、例えばフラッシュメモリ等のソリッドステート記憶デバイス、キャッシュ、ランダムアクセスメモリ（ＲＡＭ）、又は、他の不揮発性メモリデバイス等を含むことができる。非一時的なコンピュータ可読記憶媒体に記憶された実行可能命令は、ソースコード、アセンブリ言語コード、オブジェクトコード、又は、１つ以上のプロセッサによって解釈若しくは実行可能な他の命令フォーマットであってもよい。
【００５６】
上述したものに加えて、概要説明において説明した全てのアクティビティ又は要素が必要とされているわけではなく、特定のアクティビティ又はデバイスの一部が必要とされない場合があり、１つ以上のさらなるアクティビティが実行される場合があり、１つ以上のさらなる要素が含まれる場合があることに留意されたい。さらに、アクティビティが列挙された順序は、必ずしもそれらが実行される順序ではない。また、概念は、特定の実施形態を参照して説明された。しかしながら、当業者であれば、特許請求の範囲に記載されているような本発明の範囲から逸脱することなく、様々な変更及び変形を行うことができるのを理解するであろう。したがって、明細書及び図面は、限定的な意味ではなく例示的な意味で考慮されるべきであり、これらの変更形態の全ては、本発明の範囲内に含まれることが意図される。
【００５７】
利益、他の利点及び問題に対する解決手段を、特定の実施形態に関して上述した。しかし、利益、利点、問題に対する解決手段、及び、何かしらの利益、利点若しくは解決手段が発生又は顕在化する可能性のある特徴は、何れか若しくは全ての請求項に重要な、必須の、又は、不可欠な特徴と解釈されない。さらに、開示された発明は、本明細書の教示の利益を有する当業者には明らかな方法であって、異なっているが同様の方法で修正され実施され得ることから、上述した特定の実施形態は例示にすぎない。添付の特許請求の範囲に記載されている以外に本明細書に示されている構成又は設計の詳細については限定がない。したがって、上述した特定の実施形態は、変更又は修正されてもよく、かかる変更形態の全ては、開示された発明の範囲内にあると考えられることが明らかである。したがって、ここで要求される保護は、添付の特許請求の範囲に記載されている。
【図１】
2021507378.tif 000003
【図２】
2021507378.tif 000004
【図３】
2021507378.tif 000005
【図４】
2021507378.tif 000006
【図５】
2021507378.tif 000007
【図６】
2021507378.tif 000008
【図７】
2021507378.tif 000009
【図８】
2021507378.tif 000010
【手続補正書】
【提出日】令和2年8月18日(2020.8.18)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
既知関数を実施する第１サブネットワークと、未知関数を実施する第２サブネットワークと、を含む人工ニューラルネットワークをトレーニングする方法であって、
前記第１サブネットワークを、対応する既知のトレーニングデータセットで個別に並行してトレーニングして、前記第１サブネットワークを定義する第１パラメータ値を決定することと、
ネットワークトレーニングデータセットからの入力値を、トレーニングされた前記第１サブネットワークを含む前記人工ニューラルネットワークに提供することと、
前記人工ニューラルネットワークによって生成された出力値を前記ネットワークトレーニングデータセットのラベル付き出力値と比較することによって、誤差値を生成することと、
前記第１パラメータ値を変更することなく、前記第２サブネットワークを定義する第２パラメータ値を、前記誤差値を使用して変更することと、
前記第１パラメータ値及び前記第２パラメータ値を記憶することと、を含む、
方法。
【請求項２】
前記第１サブネットワークをトレーニングすることは、前記対応する既知のトレーニングデータセットの入力値を前記第１サブネットワークに同時に提供することと、前記第１サブネットワークの誤差値を同時に生成することと、前記第１パラメータ値を同時に変更することと、を含む、
請求項１の方法。
【請求項３】
前記対応する既知のトレーニングデータセットの入力値を前記第１サブネットワークに同時に提供することと、前記第１サブネットワークの誤差値を同時に生成することと、前記第１サブネットワークを定義する前記第１パラメータ値を同時に変更することとは、前記第１パラメータ値の収束基準を満たすまで繰り返し実行される、
請求項２の方法。
【請求項４】
前記第１サブネットワークの第１サブセットに対応する既知のトレーニングデータセットのサブセットから構成されたカットアウトトレーニングセットに基づいて、前記第２サブネットワークをトレーニングすることであって、前記第１サブセットは、前記第２サブネットワークを含む、ことをさらに含む、
請求項３の方法。
【請求項５】
前記ネットワークトレーニングデータセットの入力値を、前記第１サブネットワーク及び前記第２サブネットワークの前記変更されたパラメータ値によって定義された前記人工ニューラルネットワークのインスタンスに提供することと、
前記人工ニューラルネットワークからの出力値を、前記ネットワークトレーニングデータセットのラベル付き出力値と比較することによって、誤差値を生成することと、
前記第１サブネットワーク及び前記第２サブネットワークを定義する前記第１パラメータ値及び前記第２パラメータ値を、前記誤差値を使用して変更することと、
前記第１サブネットワーク及び前記第２サブネットワークを定義する前記変更されたパラメータ値を記憶することと、をさらに含む、
請求項１の方法。
【請求項６】
前記ネットワークトレーニングデータセットの入力値を前記人工ニューラルネットワークに提供することと、前記誤差値を生成することと、前記第１サブネットワーク及び前記第２サブネットワークを定義する前記第１パラメータ値を変更することとは、前記第１パラメータ値の収束基準を満たすまで繰り返し実行される、
請求項５の方法。
【請求項７】
前記人工ニューラルネットワークの前記第１サブネットワークのサブセットの記憶されたパラメータ値を読み出すことと、
前記人工ニューラルネットワークの前記第１サブネットワークの前記サブセットの記憶されたパラメータ値を使用して、異なる人工ニューラルネットワークのパラメータ値を定義することと、をさらに含む、
請求項１の方法。
【請求項８】
複数の処理要素と、入出力エンジンと、を備える処理システムであって、
前記複数の処理要素は、既知関数を実施する第１サブネットワークと、未知関数を実施する第２サブネットワークと、を含む人工ニューラルネットワークをトレーニングするために、
前記第１サブネットワークを、対応する既知のトレーニングデータ集合で個別に並行してトレーニングして、前記第１サブネットワークを定義する第１パラメータ値を決定することと、
ネットワークトレーニングデータセットからの入力値を、トレーニングされた第１サブネットワークを含む前記人工ニューラルネットワークに提供することと、
前記人工ニューラルネットワークによって生成された出力値を前記ネットワークトレーニングデータセットのラベル付き出力値と比較することによって、誤差値を生成することと、
前記第１パラメータ値を変更することなく、前記第２サブネットワークを定義する第２パラメータ値を、前記誤差値を使用して変更することによって、前記第２サブネットワークをトレーニングすることと、
を実行するように構成されており、
前記入出力エンジンは、前記第１パラメータ値及び前記第２パラメータ値をストレージコンポーネントに記憶するように構成されている、
処理システム。
【請求項９】
前記複数の処理要素は、前記対応する既知のトレーニングデータセットの入力値を前記第１サブネットワークに同時に提供することと、前記第１サブネットワークの誤差値を同時に生成することと、前記第１パラメータ値を同時に変更することと、を実行するように構成されている、
請求項８の処理システム。
【請求項１０】
前記複数の処理要素は、前記対応する既知のトレーニングデータセットの入力値を前記第１サブネットワークに同時に提供することと、前記第１サブネットワークの前記誤差値を同時に生成することと、前記第１サブネットワークを定義する前記第１パラメータ値を同時に変更することとを、前記第１パラメータ値の収束基準が満たされるまで繰り返し実行するように構成されている、
請求項９の処理システム。
【請求項１１】
前記複数の処理要素は、
前記第１サブネットワークの第１サブセットに対応する既知のトレーニングデータセットのサブセットから構成されたカットアウトトレーニングセットに基づいて、前記第２サブネットワークをトレーニングすることであって、前記第１サブセットは、前記第２サブネットワークを含む、ことを実行するように構成されている、
請求項１０の処理システム。
【請求項１２】
前記複数の処理要素は、
前記ネットワークトレーニングデータセットの入力値を、前記第１サブネットワーク及び前記第２サブネットワークの変更された前記第１パラメータ値及び前記第２パラメータ値によって定義された前記人工ニューラルネットワークのインスタンスに提供することと、
前記人工ニューラルネットワークからの出力値を、前記ネットワークトレーニングデータセットのラベル付き出力値と比較することによって、誤差値を生成することと、
前記第１サブネットワーク及び前記第２サブネットワークを定義する前記第１パラメータ値及び前記第２パラメータ値を、前記誤差値を使用して変更することと、
を実行するように構成されており、
前記入出力エンジンは、前記第１サブネットワーク及び前記第２サブネットワークを定義する前記変更されたパラメータ値を、前記ストレージコンポーネントに記憶するように構成されている、
請求項８〜１１の何れかの処理システム。
【請求項１３】
前記複数の処理要素は、前記ネットワークトレーニングデータセットの入力値を前記人工ニューラルネットワークに提供することと、前記誤差値を生成することと、前記第１サブネットワーク及び前記第２サブネットワークを定義する前記第１パラメータ値及び前記第２パラメータ値を変更することとを、前記第１パラメータ値の収束基準が満たされるまで繰り返し実行するように構成されている、
請求項１２の処理システム。
【請求項１４】
前記入出力エンジンは、前記人工ニューラルネットワークの前記第１サブネットワークのサブセットのパラメータ値を前記ストレージコンポーネントから読み出すように構成されており、
前記複数の処理要素のうち少なくとも１つは、前記人工ニューラルネットワークの前記第１サブネットワークの前記サブセットのパラメータ値を使用して、異なる人工ニューラルネットワークのパラメータ値を定義するように構成されている、
請求項８〜１３の何れかの処理システム。
【請求項１５】
処理システムの入出力エンジンを使用して、既知関数を実施する第１サブネットワークを定義する第１パラメータ値と、未知関数を実施する第２サブネットワークを定義する第２パラメータ値と、を読み出すことであって、前記第１サブネットワークは、対応する既知のトレーニングデータセットでトレーニングされている、ことと、
前記処理システムにおいて、前記第１サブネットワーク及び前記第２サブネットワークを組み合わせて、人工ニューラルネットワークを生成することと、
ネットワークトレーニングデータセットからの入力値を前記人工ニューラルネットワークに提供することと、
前記処理システムにおいて、前記人工ニューラルネットワークからの出力値を、前記ネットワークトレーニングデータセットのラベル付き出力値と比較することによって、前記人工ニューラルネットワークの誤差値を生成することと、
前記処理システムにおいて、前記第２サブネットワークを定義する前記第２パラメータ値を、前記誤差値に基づいて変更することと、を含む、
方法。
【国際調査報告】
2021507378.tif 000011
2021507378.tif 000012