(57)【要約】  ネットワーク入力を受け取り、ネットワーク入力に対するネットワーク出力を生成するように構成されているニューラルネットワークに対する、コンピュータ記憶媒体上に符号化されたコンピュータプログラムを備える、方法、システム、および装置が提供される。ニューラルネットワークは、複数のカプセル層を含む、1つのシーケンスに配置構成されている複数の層を備える。特定のカプセル層内の各特定のカプセルは、(i)このシーケンス内の特定のカプセル層の前にある前のカプセル層のカプセルによって生成される出力と、(ii)前のカプセル層のカプセルと特定のカプセルとの間の最終ルーティング係数とを含むそれぞれの入力を受け取り、最終ルーティング係数はルーティングサブシステムによって生成される、ように構成される。特定のカプセル層内の各特定のカプセルは、受け取った入力に基づき特定のカプセル出力を決定し、特定のカプセル出力は次元が1より大きい、ように構成される。
2021501392.tif 000002
【特許請求の範囲】
【請求項１】
1つまたは複数のコンピュータ、および命令を記憶する1つまたは複数の記録デバイスであって、前記命令は前記1つまたは複数のコンピュータによって実行されたときに、前記1つまたは複数のコンピュータに、
ニューラルネットワークおよびルーティングサブシステムを実装させ、
前記ニューラルネットワークは、
ネットワーク入力を受け取り、前記ネットワーク入力に対するネットワーク出力を生成するように構成され、
前記ニューラルネットワークは、複数のカプセル層を含む、1つのシーケンスに配置構成されている複数の層を備え、
各カプセル層は、それぞれの複数のカプセルを含み、
特定のカプセル層内の各特定のカプセルは、
(i)前記シーケンス内の前記特定のカプセル層の前にある前のカプセル層のカプセルによって生成される出力と、(ii)前記前のカプセル層のカプセルと前記特定のカプセルとの間の最終ルーティング係数とを含むそれぞれの入力を受け取り、前記最終ルーティング係数はルーティングサブシステムによって生成され、
前記受け取った入力に基づき特定のカプセル出力を決定し、前記特定のカプセル出力は次元が1より大きい、ように構成され、
前記ルーティングサブシステムは、
第1のカプセル層内のカプセルによって生成される出力を受け取るステップと、
前記第1のカプセル層のカプセルと前記シーケンス内の前記第1のカプセル層の後にある第2のカプセル層のカプセルとの間の最終ルーティング係数を決定するステップと、
前記最終ルーティング係数を前記第2のカプセル層内の前記カプセルに供給するステップと
を含む動作を実行するように構成されている、1つまたは複数のコンピュータ、および命令を記憶する1つまたは複数の記録デバイス。
【請求項２】
前記第1のカプセル層のカプセルと前記シーケンス内の前記第1のカプセル層の後にある第2のカプセル層のカプセルとの間の最終ルーティング係数を決定するステップは、
期待値最大化ルーティングアルゴリズムの1回または複数回の繰り返しを実行するステップであって、前記期待値最大化ルーティングアルゴリズムの各繰り返しは、MステップおよびEステップを含み、特定の繰り返しについて、
前記Mステップは、前記第2のカプセル層内の各第2のカプセルについて、
前記特定の繰り返しに対する前記第1のカプセル層の1つまたは複数の第1のカプセルからの前記第2のカプセルに対する重み付き投票を決定するステップであって、
前記第1のカプセル層の特定の第1のカプセルからの前記第2のカプセルに対する投票を、前記特定の第1のカプセルと関連付けられる前記第2のカプセルの重み行列を前記特定の第1のカプセルの出力に乗算することによって決定するステップと、
前記第1のカプセル層の前記特定の第1のカプセルからの前記第2のカプセルに対する前記投票を、前記特定の繰り返しに対する前記特定の第1のカプセルと前記第2のカプセルとの間のルーティング係数で重み付けするステップとを含む、前記重み付き投票を決定するステップと、
前記特定の繰り返しに対する前記第1のカプセル層の前記1つまたは複数の第1のカプセルからの前記第2のカプセルに対する重み付き投票の分布を特徴付ける1つまたは複数のパラメータの値を決定するステップと、
前記特定の繰り返しに対する前記第2のカプセルに対する前記重み付き投票の分布を特徴付ける前記パラメータの前記値に少なくとも一部は基づき前記特定の繰り返しに対する前記第2のカプセルと関連付けられるコストを決定するステップと、
前記特定の繰り返しに対する前記第2のカプセルと関連付けられる前記コストに少なくとも一部は基づき前記特定の繰り返しに対する前記第2のカプセルの活性化を決定するステップとを含み、
前記Eステップは、前記特定の繰り返しに対する前記第2のカプセル層の前記カプセルの前記活性化と、前記特定の繰り返しに対する前記第2のカプセル層の前記カプセルと関連付けられる前記重み付き投票の分布を特徴付ける前記パラメータの前記値とに少なくとも基づき、次の繰り返しに対するルーティング係数を決定するステップを含む、前記期待値最大化ルーティングアルゴリズムの1回または複数回の繰り返しを実行するステップと、
最終ルーティング係数を、前記期待値最大化ルーティングアルゴリズムの最後の繰り返しにおいて決定された前記ルーティング係数であると決定するステップと
を含む請求項1に記載のシステム。
【請求項３】
前記第1のカプセル層の前記特定の第1のカプセルからの前記第2のカプセルに対する前記投票を重み付けするステップは、
前記特定の第1のカプセルの活性化により、前記特定の第1のカプセルからの前記第2のカプセルに対する前記投票を重み付けするステップをさらに含む請求項2に記載のシステム。
【請求項４】
前記特定の繰り返しに対する前記第2のカプセルと関連付けられる前記コストは、前記特定の繰り返しに対する前記第1のカプセル層の前記第1のカプセルと前記第2のカプセルとの間の前記ルーティング係数に少なくとも一部は基づきさらに決定される請求項2から3のいずれか一項に記載のシステム。
【請求項５】
前記特定の繰り返しに対する前記第2のカプセルと関連付けられる前記コストは、逆温度パラメータに少なくとも一部は基づき、さらに決定される請求項2から4のいずれか一項に記載のシステム。
【請求項６】
前記特定の繰り返しに対する前記第2のカプセルの前記重み付き投票の分布を特徴付ける前記パラメータは、
前記特定の繰り返しに対する前記第1のカプセル層の前記1つまたは複数の第1のカプセルからの前記第2のカプセルに対する前記重み付き投票の平均と、
前記特定の繰り返しに対する前記第1のカプセル層の前記1つまたは複数の第1のカプセルからの前記第2のカプセルに対する前記重み付き投票の分散とを含む請求項2から5のいずれか一項に記載のシステム。
【請求項７】
前記第1のカプセル層のカプセルと前記シーケンス内の前記第1のカプセル層の後にある第2のカプセル層のカプセルとの間の最終ルーティング係数を決定するステップは、
動的ルーティングアルゴリズムの1回または複数回の繰り返しを実行するステップであって、前記動的ルーティングアルゴリズムの特定の繰り返しは、
前記第2のカプセル層の各第2のカプセルについて、
前記特定の繰り返しに対する前記第1のカプセル層の1つまたは複数の第1のカプセルからの前記第2のカプセルに対する重み付き投票を決定するステップであって、
前記第1のカプセル層の特定の第1のカプセルからの前記第2のカプセルに対する投票を、前記特定の第1のカプセルと関連付けられる前記第2のカプセルの重み行列を前記特定の第1のカプセルの前記出力に乗算することによって決定するステップと、
前記第1のカプセル層の前記特定の第1のカプセルからの前記第2のカプセルに対する前記投票を、前記特定の繰り返しに対する前記特定の第1のカプセルと前記第2のカプセルとの間の正規化されたルーティング係数で重み付けするステップとを含む、前記重み付き投票を決定するステップと、
次の繰り返しに対するルーティング係数を決定するステップであって、前記次の繰り返しに対する前記第1のカプセル層の第1のカプセルと前記第2のカプセル層の第2のカプセルとの間のルーティング係数を決定するステップは、
前記特定の繰り返しに対する前記第1のカプセル層の前記1つまたは複数の第1のカプセルからの前記第2のカプセルに対する前記重み付き投票の和を決定するステップと、
前記特定の繰り返しに対する前記第2のカプセルに対する前記重み付き投票の前記和と前記第1のカプセルからの前記第2のカプセルに対する前記投票との間の類似性尺度を決定するステップと、
前記次の繰り返しに対する前記第1のカプセルと前記第2のカプセルとの間の前記ルーティング係数を、前記特定の繰り返しに対する前記第1のカプセルと前記第2のカプセルとの間の前記ルーティング係数と前記決定された類似性尺度とを組み合わせることによって決定するステップとを含む、前記次の繰り返しに対するルーティング係数をステップと
を含む、前記動的ルーティングアルゴリズムの1回または複数回の繰り返しを実行するステップと、
最終ルーティング係数を、前記動的ルーティングアルゴリズムの最後の繰り返しにおいて決定された前記ルーティング係数であると決定するステップとを含む請求項1に記載のシステム。
【請求項８】
前記第2のカプセルに対する前記重み付き投票の前記和を決定するステップは、前記第2のカプセルに対する前記重み付き投票の前記和を正規化するステップをさらに含む請求項7に記載のシステム。
【請求項９】
前記第2のカプセルに対する前記重み付き投票の前記和と前記第1のカプセルからの前記第2のカプセルに対する前記投票との間の前記類似性尺度が、
前記第2のカプセルに対する前記重み付き投票の前記和と前記第1のカプセルからの前記第2のカプセルに対する前記投票との内積を含む、請求項7から8のいずれか一項に記載のシステム。
【請求項１０】
前記受け取った入力に基づき特定のカプセル出力を決定するステップは、
前記前のカプセル層の前記カプセルからの前記特定のカプセルに対する重み付き投票を決定するステップであって、
前記前のカプセル層内の所与のカプセルからの前記特定のカプセルに対する投票を、前記所与のカプセルと関連付けられる前記特定のカプセルの重み行列を前記所与のカプセルの前記出力に乗算することによって決定するステップと、
前記前のカプセル層内の前記所与のカプセルからの前記特定のカプセルに対する前記投票を、前記所与のカプセルと前記特定のカプセルとの間の最終ルーティング係数で重み付けするステップとを含む、前記重み付き投票を決定するステップと、
前記前のカプセル層の前記カプセルからの前記特定のカプセルに対する前記重み付き投票を組み合わせることによって、前記特定のカプセル出力を決定するステップと
を含む請求項2から9のいずれか一項に記載のシステム。
【請求項１１】
前記最終ルーティング係数は正規化される請求項10に記載のシステム。
【請求項１２】
前記前のカプセル層内の前記所与のカプセルからの前記特定のカプセルに対する前記投票を重み付けするステップは、
前記所与の第1のカプセルの活性化によって、前記所与のカプセルからの前記特定のカプセルに対する前記投票を重み付けするステップをさらに含む請求項10または11のいずれか一項に記載のシステム。
【請求項１３】
前記前のカプセル層の前記カプセルからの前記特定のカプセルに対する前記重み付き投票を組み合わせるステップは、
前記前のカプセル層の前記カプセルからの前記特定のカプセルに対する前記重み付き投票の平均を決定するステップを含む請求項10から12のいずれか一項に記載のシステム。
【請求項１４】
前記受け取った入力に基づき特定のカプセル出力を決定するステップは、
前記前のカプセル層の前記カプセルからの前記特定のカプセルに対する前記重み付き投票の分布を特徴付ける1つまたは複数のパラメータの値を決定するステップと、
前記特定のカプセルに対する前記重み付き投票の前記分布を特徴付ける前記パラメータの前記値に少なくとも一部は基づき、前記特定のカプセルと関連付けられるコストを決定するステップと、
前記特定のカプセルと関連付けられる前記コストに少なくとも一部は基づき前記特定のカプセルの活性化を決定するステップとをさらに含む請求項10から13のいずれか一項に記載のシステム。
【請求項１５】
カプセルの前記出力はアクティビティベクトルを含む請求項1から14のいずれか一項に記載のシステム。
【請求項１６】
カプセルの前記出力はアクティビティ行列を含む請求項1から15のいずれか一項に記載のシステム。
【請求項１７】
前記ニューラルネットワークは、1次カプセル層が後続する初期畳み込み層を備える請求項1から16のいずれか一項に記載のシステム。
【請求項１８】
前記1次カプセル層の後に、複数の畳み込みカプセル層が続く請求項17に記載のシステム。
【請求項１９】
前記複数の畳み込みカプセル層のうちの最後の畳み込みカプセル層の後に、クラスカプセル層が続く請求項18に記載のシステム。
【請求項２０】
前記クラスカプセル層の各カプセルについて、同じタイプの前記最後の畳み込みカプセル層のカプセルと関連付けられる前記カプセルの重み行列は重み値を共有し、
畳み込みカプセル層の第1のカプセルは、前記第1のカプセルの重み行列が前記第2のカプセルの重み行列と重み値を共有する場合に前記畳み込みカプセル層の第2のカプセルと同じタイプであり、
前記最後の畳み込みカプセル層のカプセルの受容野の中心の座標に基づく値が、前記最後の畳み込みカプセル層のカプセルの投票に加えられる、請求項19に記載のシステム。
【請求項２１】
前記ニューラルネットワークは、ネットワーク入力を受け取り、前記ネットワーク入力をクラスの所定のセットのうちの1つまたは複数に属すものとして分類するように構成され、前記クラスカプセル層は、前記所定のセット内の各クラスに対するそれぞれのカプセルを含む請求項19から20のいずれか一項に記載のシステム。
【請求項２２】
前記クラスカプセル層のそれぞれのカプセルの活性化は、前記クラスカプセル層の他のカプセルの活性化より大きく、
前記ネットワーク入力は、前記クラスカプセル層の前記それぞれのカプセルに対応する特定のクラスに属すものとして分類される請求項21に記載のシステム。
【請求項２３】
前記ネットワーク入力は画像である請求項1から22のいずれか一項に記載のシステム。
【請求項２４】
1つまたは複数のコンピュータによって実行されたときに請求項1から23のいずれか一項に記載の前記ニューラルネットワークおよびサブシステムを実装することを前記1つまたは複数のコンピュータに行わせる命令を記憶する1つまたは複数のコンピュータ記憶媒体。
【請求項２５】
方法であって、
ネットワーク入力を受け取るステップと、
請求項1から23のいずれか一項に記載の前記ニューラルネットワークおよびサブシステムを使用して前記ネットワーク入力を処理するステップとを含む方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本明細書は、ニューラルネットワークを使用してデータを処理することに関する。
【背景技術】
【０００２】
ニューラルネットワークは、受け取った入力に対する出力を予測するために非線形ユニットの1つまたは複数の層を採用する機械学習モデルである。いくつかのニューラルネットワークは、出力層に加えて1つまたは複数の隠れ層を備える。各隠れ層の出力は、ネットワーク内の次の層、すなわち、次の隠れ層または出力層への入力として使用される。ネットワークの各層は、パラメータのそれぞれのセットの現在値に従って受け取った入力から出力を生成する。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
本明細書では、1つまたは複数の場所にある1つまたは複数のコンピュータ上にコンピュータプログラムとして実装されるカプセルニューラルネットワークについて説明する。
【課題を解決するための手段】
【０００４】
第1の態様により、ネットワーク入力を受け取り、ネットワーク入力に対するネットワーク出力を生成するように構成されているニューラルネットワークが提供され、ニューラルネットワークは、複数のカプセル層を含む、1つのシーケンスに配置構成されている複数の層を備え、各カプセル層は、それぞれの複数のカプセルを含み、特定のカプセル層内の各特定のカプセルは、(i)このシーケンス内の特定のカプセル層の前にある前のカプセル層のカプセルによって生成される出力と、(ii)前のカプセル層のカプセルと特定のカプセルとの間の最終ルーティング係数(final routing factor)とを含むそれぞれの入力を受け取り、最終ルーティング係数はルーティングサブシステム(routing subsystem)によって生成され、受け取った入力に基づき特定のカプセル出力を決定し、特定のカプセル出力は次元が1より大きい、ように構成され、ルーティングサブシステムは第1のカプセル層内のカプセルによって生成される出力を受け取ることと、第1のカプセル層のカプセルとこのシーケンス内の第1のカプセル層の後にある第2のカプセル層のカプセルとの間の最終ルーティング係数を決定することと、最終ルーティング係数を第2のカプセル層内のカプセルに供給することとを含む操作を実行するように構成される。
【０００５】
いくつかの実装形態において、第1のカプセル層のカプセルとこのシーケンス内の第1のカプセル層の後にある第2のカプセル層のカプセルとの間の最終ルーティング係数を決定することは、期待値最大化ルーティングアルゴリズムの1回または複数回の繰り返しを実行することを含み、期待値最大化ルーティングアルゴリズムの各繰り返しは、MステップおよびEステップを含み、特定の繰り返しについて、Mステップは、第2のカプセル層内の各第2のカプセルについて、特定の繰り返しに対する第1のカプセル層の1つまたは複数の第1のカプセルから第2のカプセルに対する重み付き投票を決定することであって、第1のカプセル層の特定の第1のカプセルからの第2のカプセルに対する投票を決定することを、特定の第1のカプセルの出力に特定の第1のカプセルと関連付けられる第2のカプセルの重み行列を乗算することによって行うことと、第1のカプセル層の特定の第1のカプセルからの第2のカプセルに対する投票を、特定の繰り返しに対する特定の第1のカプセルと第2のカプセルとの間のルーティング係数で重み付けすることと、特定の繰り返しに対する第1のカプセル層の1つまたは複数の第1のカプセルからの第2のカプセルに対する重み付き投票の分布を特徴付ける1つまたは複数のパラメータの値を決定することと、特定の繰り返しに対する第2のカプセルに対する重み付き投票の分布を特徴付けるパラメータの値に少なくとも一部は基づき特定の繰り返しに対する第2のカプセルと関連付けられるコストを決定することと、特定の繰り返しに対する第2のカプセルと関連付けられるコストに少なくとも一部は基づき特定の繰り返しに対する第2のカプセルの活性化を決定することとを含む、決定することとを含み、Eステップは、特定の繰り返しに対する第2のカプセル層のカプセルの活性化と特定の繰り返しに対する第2のカプセル層のカプセルと関連付けられる重み付き投票の分布を特徴付けるパラメータの値とに少なくとも基づき次の繰り返しに対するルーティング係数を決定することと、最終ルーティング係数を、期待値最大化ルーティングアルゴリズムの最後の繰り返しにおいて決定されたルーティング係数であると決定することとを含む。
【０００６】
いくつかの実装形態において、第1のカプセル層の特定の第1のカプセルからの第2のカプセルに対する投票を重み付けすることは、特定の第1のカプセルの活性化による特定の第1のカプセルからの第2のカプセルに対する投票を重み付けすることをさらに含む。
【０００７】
いくつかの実装形態において、特定の繰り返しに対する第2のカプセルと関連付けられるコストは、特定の繰り返しに対する第1のカプセル層の第1のカプセルと第2のカプセルとの間のルーティング係数に少なくとも一部は基づきさらに決定される。
【０００８】
いくつかの実装形態において、特定の繰り返しに対する第2のカプセルと関連付けられるコストは、逆温度パラメータ(inverse temperature parameter)に少なくとも一部は基づきさらに決定される。
【０００９】
いくつかの実装形態において、特定の繰り返しに対する第2のカプセルに対する重み付け投票の分布を特徴付けるパラメータは、特定の繰り返しに対する第1のカプセル層の1つまたは複数の第1のカプセルからの第2のカプセルに対する重み付き投票の平均と、特定の繰り返しに対する第1のカプセル層の1つまたは複数の第1のカプセルからの第2のカプセルに対する重み付き投票の分散とを含む。
【００１０】
いくつかの実装形態において、第1のカプセル層のカプセルとこのシーケンス内の第1のカプセル層の後にある第2のカプセル層のカプセルとの間の最終ルーティング係数を決定することは、動的ルーティングアルゴリズムの1回または複数回の繰り返しを実行することを含み、動的ルーティングアルゴリズムの特定の繰り返しは、第2のカプセル層の各第2のカプセルについて、特定の繰り返しに対する第1のカプセル層の1つまたは複数の第1のカプセルから第2のカプセルに対する重み付き投票を決定することであって、第1のカプセル層の特定の第1のカプセルからの第2のカプセルに対する投票を決定することを、特定の第1のカプセルの出力に特定の第1のカプセルと関連付けられる第2のカプセルの重み行列を乗算することによって行うことと、第1のカプセル層の特定の第1のカプセルからの第2のカプセルに対する投票を、特定の繰り返しに対する特定の第1のカプセルと第2のカプセルとの間の正規化されたルーティング係数で重み付けすることと、次の繰り返しに対するルーティング係数を決定することとを含む、決定することを含み、次の繰り返しに対する第1のカプセル層の第1のカプセルと第2のカプセル層の第2のカプセルとの間のルーティング係数を決定することは、特定の繰り返しに対する第1のカプセル層の1つまたは複数の第1のカプセルからの第2のカプセルに対する重み付き投票の和を決定することと、特定の繰り返しに対する第2のカプセルに対する重み付き投票の和と第1のカプセルからの第2のカプセルに対する投票との間の類似性尺度を決定することと、次の繰り返しに対する第1のカプセルと第2のカプセルとの間のルーティング係数を、決定された類似性尺度を特定の繰り返しに対する第1のカプセルと第2のカプセルとの間のルーティング係数と組み合わせることによって決定することと、最終ルーティング係数を、動的ルーティングアルゴリズムの最後の繰り返しにおいて決定されたルーティング係数であると決定することとを含む。
【００１１】
いくつかの実装形態において、第2のカプセルに対する重み付き投票の和を決定することは、第2のカプセルに対する重み付き投票の和を正規化することをさらに含む。
【００１２】
いくつかの実装形態において、第2のカプセルに対する重み付き投票の和と第1のカプセルからの第2のカプセルに対する投票との間の類似性尺度が、第2のカプセルに対する重み付き投票の和と第1のカプセルからの第2のカプセルに対する投票との内積を含む。
【００１３】
いくつかの実装形態において、受け取った入力に基づき特定のカプセル出力を決定することは、前のカプセル層のカプセルからの特定のカプセルに対する重み付き投票を決定することであって、前のカプセル層内の所与のカプセルからの特定のカプセルに対する投票を決定することを、所与のカプセルの出力に所与のカプセルと関連付けられる特定のカプセルの重み行列を乗算することによって行うことと、前のカプセル層内の所与のカプセルからの特定のカプセルに対する投票を、所与のカプセルと特定のカプセルとの間の最終ルーティング係数で重み付けすることと、特定のカプセル出力を、前のカプセル層のカプセルからの特定のカプセルに対する重み付き投票を組み合わせることによって決定することとを含む、決定することを含む。
【００１４】
いくつかの実装形態において、最終ルーティング係数は正規化される。
【００１５】
いくつかの実装形態において、前のカプセル層内の所与のカプセルからの特定のカプセルに対する投票を重み付けすることは、所与の第1のカプセルの活性化による所与のカプセルからの特定のカプセルに対する投票を重み付けすることをさらに含む。
【００１６】
いくつかの実装形態において、前のカプセル層のカプセルからの特定のカプセルに対する重み付き投票を組み合わせることは、前のカプセル層のカプセルからの特定のカプセルに対する重み付き投票の平均を決定することを含む。
【００１７】
いくつかの実装形態において、受け取った入力に基づき特定のカプセル出力を決定することは、前のカプセル層のカプセルからの特定のカプセルに対する重み付き投票の分布を特徴付ける1つまたは複数のパラメータの値を決定することと、特定のカプセルに対する重み付き投票の分布を特徴付けるパラメータの値に少なくとも一部は基づき特定のカプセルと関連付けられるコストを決定することと、特定のカプセルと関連付けられるコストに少なくとも一部は基づき特定のカプセルの活性化を決定することとをさらに含む。
【００１８】
いくつかの実装形態において、カプセルの出力は、アクティビティベクトルを含む。
【００１９】
いくつかの実装形態において、カプセルの出力は、アクティビティ行列を含む。
【００２０】
いくつかの実装形態において、ニューラルネットワークは、1次カプセル層が後続する初期畳み込み層を備える。
【００２１】
いくつかの実装形態において、1次カプセル層の後に、複数の畳み込みカプセル層が続く。
【００２２】
いくつかの実装形態において、複数の畳み込みカプセル層のうちの最後の畳み込みカプセル層の後に、クラスカプセル層が続く。
【００２３】
いくつかの実装形態において、クラスカプセル層の各カプセルについて、同じタイプの最後の畳み込みカプセル層のカプセルと関連付けられるカプセルの重み行列は重み値を共有し、畳み込みカプセル層の第1のカプセルは、第1のカプセルの重み行列が第2のカプセルの重み行列と重み値を共有する場合に畳み込みカプセル層の第2のカプセルと同じタイプであり、最後の畳み込みカプセル層のカプセルの受容野の中心の座標に基づく値が、最後の畳み込みカプセル層のカプセルの投票に加えられる。
【００２４】
いくつかの実装形態において、ニューラルネットワークは、ネットワーク入力を受け取り、ネットワーク入力をクラスの所定のセットのうちの1つまたは複数に属すものとして分類するように構成され、クラスカプセル層は、所定のセット内の各クラスに対するそれぞれのカプセルを含む。
【００２５】
いくつかの実装形態において、クラスカプセル層のそれぞれのカプセルの活性化は、クラスカプセル層の他のカプセルの活性化より大きく、ネットワーク入力は、クラスカプセル層のそれぞれのカプセルに対応する特定のクラスに属すものとして分類される。
【００２６】
いくつかの実装形態において、ネットワーク入力は画像である。
【００２７】
上記の態様は、任意の都合のよい形式で実装することができる。たとえば、態様および実装形態は、有形のキャリアメディア(たとえば、ディスク)または無形のキャリアメディア(たとえば、通信信号)であってよい適切なキャリアメディア上で運ばれるものとしてよい適切なコンピュータプログラムによって実装され得る。態様は、コンピュータプログラムを実行しているプログラム可能なコンピュータの形態をとり得る好適な装置を使用して実装されてもよい。
【００２８】
本明細書において説明されている主題の特定の実施形態は、次の利点のうちの1つまたは複数を実現するように実装され得る。カプセルニューラルネットワークは、カプセルネットワークの下位層の出力をカプセルネットワークの上位層にルーティングするための動的ルーティングシステムを備えることができ、カプセルネットワーク層の間の出力のルーティングは、出力それ自体に基づき動的に決定される。本明細書において説明されている動的ルーティングシステムは、従来のルーティング方法に関して優れたパフォーマンス(たとえば、優れたニューラルネットワーク予測精度)を円滑にする。いくつかの従来のルーティング方法において、ニューラルネットワーク層の間の出力のルーティングは事前決定され、最大プーリング法などのいくつかの他の従来のルーティング方法では、ルーティングは、最大の出力のみをルーティングし、他の出力を破棄することによって動的に決定される。本明細書において説明されているような動的ルーティングシステムは、出力のより柔軟なルーティングを可能にするので、そのような従来のルーティング方法に関して優れたパフォーマンスを円滑にし、それによって、本明細書において説明されているような動的ルーティングシステムを備えるニューラルネットワークが関連する情報をより効果的にルーティングすることが可能になり、その結果より正確な予測を行うことができる。
【００２９】
本明細書において説明されているようなカプセルネットワークは、従来のニューラルネットワークに比べてより少ない計算リソースを消費し得る。たとえば、画像処理およびコンピュータビジョンの分野では、入力画像を処理するように構成される従来のニューラルネットワークは、典型的には、異なる視点からの物体およびシーンを示す多数の入力画像上で訓練される。この方式で従来のニューラルネットワークを訓練することで、従来のニューラルネットワークに、様々な視点から示される物体およびシーンに関する正確な予測を行う何らかの能力を持たせることが可能である。本明細書において説明されているようなカプセルネットワークは、当然のことながら、従来のニューラルネットワークに比べてより少ない訓練データ上で訓練されたときでも、様々な視点から示される物体およびシーンに関する正確な予測を行うように一般化することができる。より大きい訓練セットに基づきニューラルネットワークを訓練すると計算リソースをより多く消費するので、カプセルネットワークを訓練することで、従来のニューラルネットワークを訓練するのに比べてより少ない計算リソース(たとえば、メモリおよび処理能力)を消費し得る。さらに、本明細書において説明されているようなカプセルネットワークは、当然のことながら、様々な視点から示された物体およびシーンに関する正確な予測を行うように一般化することができるので、従来のニューラルネットワークと(いくつかの状況において)類似する予測精度を有するカプセルネットワークは、従来のニューラルネットワークより少ないパラメータを用いて実装することができ、それによって、ニューラルネットワークを維持するために必要なメモリの量、ニューラルネットワークを訓練するために必要なデータの量、およびニューラルネットワークを使用して入力を処理するために必要な処理能力の大きさを低減することができる。
【００３０】
本明細書の主題の1つまたは複数の実施形態の詳細は、添付図面および以下の説明で述べられる。主題の他の特徴、態様、および利点は、説明、図面、および特許請求の範囲から明らかになるであろう。
【図面の簡単な説明】
【００３１】
【図１Ａ】例示的な予測システムの図解である。
【図１Ｂ】カプセルニューラルネットワークの例示的なアーキテクチャの図解である。
【図２】カプセル層の間の最終ルーティング係数を決定するための例示的なプロセスの流れ図である。
【図３Ａ】期待値最大化ルーティングアルゴリズムを使用して第1のカプセル層と第2のカプセル層(すなわち、第1のカプセル層の後の)との間の最終ルーティング係数を決定するための例示的なプロセスの流れ図である。
【図３Ｂ】期待値最大化ルーティングアルゴリズムの最大化ステップの繰り返しの例示的なデータフローの図解である。
【図４】動的ルーティングアルゴリズムを使用して第1のカプセル層と第2のカプセル層(すなわち、第1のカプセル層の後の)との間の最終ルーティング係数を決定するための例示的なプロセスの流れ図である。
【図５】カプセル出力およびカプセル活性化を決定するための例示的なプロセスの図である。
【発明を実施するための形態】
【００３２】
様々な図面中の同様の参照番号および名称は同様の要素を示す。
【００３３】
本明細書では、1つまたは複数の場所にある1つまたは複数のコンピュータによって実装されるカプセルニューラルネットワークを全般的に説明する。カプセルニューラルネットワークは、1つまたは複数のカプセル層を含む、1つのシーケンスに配置構成されている複数の層、およびいくつかの場合において、1つまたは複数のニューロン層を備える。
【００３４】
ニューロン層は、ニューロンからなる従来のニューラルネットワーク層を指す。各ニューロンは、ニューロン出力を生成するように構成される。ニューロン出力は、単一の数である。各ニューロンは、パラメータ値と活性化関数のセットを有する。ニューロンは、ニューロン入力の重み付き線形結合を計算し、活性化関数をその重み付き線形結合に適用することによってニューロン出力を生成する。線形結合の重みは、ニューロンのパラメータ値によって与えられる。一般的に、活性化関数は、重み付き線形結合の非線形関数である。活性化関数の例は、正規化線形ユニット活性化関数およびシグモイド活性化関数を含む。
【００３５】
畳み込みニューロン層は、ニューロン(およびそれらの出力)が長さ、幅、および深さを有する長方形配列に論理的に編成され得るニューロン層である。特定の深さに対応するニューロンの各々は、特定のニューロンタイプであるものとして参照される。所与の畳み込みニューロン層内の同じタイプのニューロンは、パラメータ値を共有する。
【００３６】
カプセル層は、カプセルからなるニューラルネットワーク層を指す。各カプセルは、カプセル出力および、いくつかの場合において、カプセル活性化を生成するように構成される。カプセル出力は、2つまたはそれ以上の数を含み、ベクトルまたは行列として表現され得る。カプセルは、カプセルパラメータのセットに従ってカプセル入力を処理することによってカプセル出力を生成する。一般に、カプセル活性化は数である(すなわち、ベクトルまたは行列でない)。カプセル出力およびカプセル活性化を決定するための例示的なプロセスは、図5を参照しつつ説明される。
【００３７】
いくつかの場合において、所与のカプセル層内のカプセルは、入力として、前のカプセル層の1つまたは複数のカプセルのカプセル出力およびルーティングシステムによって決定される最終ルーティング係数を受け取るように構成される。これらの場合において、カプセルパラメータのセットは、1つまたは複数の重み行列を含み、カプセルの各重み行列は、前のカプセル層のカプセルに対応する。
【００３８】
他のいくつかの場合において、所与のカプセル層内のカプセルは、入力として前のニューロン層のニューロンのニューロン出力を受け取るように構成される。そのようなカプセルは、ルーティングシステムによって決定される最終ルーティング係数を受け取るように構成されていない。
【００３９】
特定のカプセルの受容野は、入力として、直接的または間接的のいずれかで、特定のカプセルに供給される出力を有する前の層のニューロンまたはカプセルを指す。ニューロンまたはカプセルの出力は、ニューロンまたはカプセルの出力が特定のカプセルによって生成される出力に影響を及ぼす場合に、入力として、特定のカプセルに間接的に供給されると言われる。たとえば、第1のカプセルが入力を第2のカプセルに直接供給し、第2のカプセルが入力を第3のカプセルに直接供給する場合、第1のカプセルの出力は、入力として第3のカプセルに間接的に供給されると言われる。
【００４０】
畳み込みカプセル層は、カプセルが長さ、幅、および深さを有する長方形配列に論理的に編成され得るカプセル層である。特定の深さに対応するカプセルの各々は、特定のカプセルタイプであるものとして参照される。所与の畳み込みカプセル層内の同じタイプのカプセルは、パラメータ値を共有する。
【００４１】
本明細書において、1次カプセル層は、入力として前のニューロン層のニューロンのニューロン出力を受け取るように構成されているカプセル層を指す。いくつかの場合において、1次カプセル層は畳み込みカプセル層であってよい。
【００４２】
ルーティングシステムは、出力をカプセルネットワークのカプセル層の間にルーティングする仕方を決定する。特に、ルーティングシステムは、カプセルネットワークの1つのカプセル層のカプセルによって生成された出力を受け取り、カプセルネットワーク内のカプセル層の後にある別のカプセル層のカプセルに出力をどのようにルーティングするかを決定する。ルーティングシステムは、第1のカプセル層のカプセルと第2のカプセル層のカプセルとの間の最終ルーティング係数を決定することによって出力をルーティングする仕方を決定する。ルーティング係数は、カプセルネットワークのカプセルの対と関連付けられるスカラー値である。
【００４３】
カプセルネットワークは、予測タスクを実行するように訓練され得る。一般に、カプセルネットワークは、従来の畳み込みニューラルネットワーク(すなわち、複数の畳み込みニューロン層を有するがカプセル層を有しないネットワーク)または他の従来のニューラルネットワークの代わりに使用することができる。
【００４４】
たとえば、カプセルネットワークは、入力として画像を受け取り、画像を処理して画像分類または物体検出タスクを実行するように構成され得る。画像分類タスクについて、カプセルネットワークは、入力画像が異なるタイプの物体(たとえば、イヌまたはネコ)を示すそれぞれの確率を指示する出力を生成し得る。物体検出タスクについては、カプセルネットワークは、入力画像内に示されている異なるタイプの物体の配置を指示する出力(たとえば、入力画像内の異なるタイプの物体の周りのバウンディングボックスの座標)を生成し得る。
【００４５】
カプセルネットワークは、ビデオ分析などの、他のタスクを実行するように構成することができる。ビデオ分析については、カプセルネットワークは、入力としてビデオデータを受け取り、ビデオデータを処理してビデオ分類を実行する(たとえば、ビデオのトピックを予測する)ように構成される。カプセルネットワークは、自然言語処理タスクを実行するように構成することもでき、カプセルネットワークは、入力としてテキストデータを受け取り、テキストデータを処理して、たとえば、機械翻訳を実行するように構成される。カプセルネットワークは、音声認識を実行するように構成することもでき、カプセルネットワークは、入力として音声データを受け取り、音声データを処理して出力として音声データから発話の文字起こしを生成するように構成される。
【００４６】
図1Aは、例示的な予測システムの図解である。予測システム128は、1つまたは複数の場所にある1つまたは複数のコンピュータ上のコンピュータプログラムとして実装されるシステムの一例であり、以下で説明されるシステム、コンポーネント、および技術がそこで実装される。
【００４７】
予測システム128は、カプセルニューラルネットワーク100を備える。本明細書において説明されているカプセルニューラルネットワーク100のアーキテクチャは、可能なカプセルネットワークアーキテクチャの一例である。一般に、異なるカプセルネットワークアーキテクチャが実装され得る。
【００４８】
ネットワーク100は、ネットワーク入力102を受け取り、ネットワーク入力102に対するネットワーク出力118を生成するように構成される。いくつかの実装形態において、ネットワーク100は、ネットワーク入力102をクラスの所定のセットのうちの1つまたは複数に属すものとして分類するように構成される。たとえば、ネットワーク100は、画像分類タスクを実行するように構成されてよく、ネットワーク入力102は画像であり、ネットワーク出力118は入力画像内に示されている物体のクラスを指示する。
【００４９】
ネットワーク100は、畳み込みニューロン層出力106を生成するために畳み込みニューロン層パラメータのセットに従ってネットワーク入力102を処理するように構成されている畳み込みニューロン層104にネットワーク入力102を供給する。前に説明されているように、畳み込みニューロン層出力106は、長さ、幅、および深さを有する長方形配列に論理的に編成され得る。
【００５０】
ネットワーク100は、畳み込みニューロン層出力106を入力として、1次カプセル層出力110を生成するために1次カプセル層パラメータのセットに従って畳み込みニューロン層出力106を処理するように構成されている1次カプセル層108に供給する。いくつかの実装形態において、1次カプセル層108は畳み込みカプセル層である。いくつかの実装形態において、1次カプセル層108の各カプセルについて、カプセルは、カプセル出力の各成分(すなわち、カプセル出力ベクトル/行列の各要素)を畳み込みニューロン層出力106の成分(すなわち、畳み込みニューロン層出力の長方形配列の要素)の異なる線形結合として決定する。いくつかの実装形態において、1次カプセル層108の各カプセルについて、カプセルは、活性化関数(たとえば、正規化線形ユニット活性化関数)を畳み込みニューロン層出力106の成分の線形結合に適用することによってカプセル活性化を決定する。カプセル出力およびカプセル活性化を決定するためにカプセルが使用する線形結合の重みは、カプセルのパラメータである。いくつかの実装形態において、畳み込みニューロン層104内の1次カプセル層の各カプセルの受容野は、畳み込みニューロン層104のそれぞれの列である。列は、同じ長さおよび幅位置を有するが、異なる深さ位置を有する畳み込みニューロン層104のニューロンのセットを指す。
【００５１】
ネットワーク100は、1次カプセル層出力110をルーティングシステム120に供給する。ルーティングシステム120は、1次カプセル層出力110を処理して、出力として最終ルーティング係数122を生成する。最終ルーティング係数122の各々は、(i)畳み込みカプセル層112のカプセルおよび(ii)畳み込みカプセル層112のカプセルの受容野内にある1次カプセル層108のカプセルを含むカプセルの対と関連付けられるスカラー値である。カプセル層の間の最終ルーティング係数を決定するための例示的なプロセスは、図2を参照しつつ説明される。
【００５２】
ネットワークは、最終ルーティング係数122および1次カプセル層出力110を入力として畳み込みカプセル層112に供給する。畳み込みカプセル層112の各特定のカプセルについて、特定のカプセルは、特定のカプセルの受容野内にある1次カプセル層108内のカプセルの出力を処理する。特定のカプセルは、特定のカプセルと特定のカプセルの受容野内の1次カプセル層108内にあるカプセルの両方を含むカプセルの対と関連付けられる最終ルーティング係数122も処理する。特定のカプセルは、1つまたは複数の重み行列を含むパラメータのセットに従ってそれぞれの出力およびルーティング係数を処理し、特定のカプセルの各重み行列は、特定のカプセルの受容野内の1次カプセル層108のカプセルに対応する。特定のカプセルは出力(一般にベクトルまたは行列である)、およびいくつかの場合において、活性化(一般にスカラー値である)を生成する。カプセル出力およびカプセル活性化を決定するための例示的なプロセスは、図5を参照しつつ説明される。畳み込みカプセル層出力114は、畳み込みカプセル層112のカプセルによって生成された出力からなる。
【００５３】
いくつかの実装形態において、ネットワーク100は、畳み込みカプセル層112の後およびクラスカプセル層116の前に複数の追加のカプセル層を備える。各追加のカプセル層について、追加のカプセル層は、前のカプセル層によって生成された出力および前のカプセル層とルーティングシステム120によって生成された追加のカプセル層との間の最終ルーティング係数を処理して、それぞれのカプセル層出力を生成するように構成される。
【００５４】
クラスカプセル層116は、ネットワーク100の最後のカプセル層である。いくつかの実装形態において、ネットワーク100は、ネットワーク入力102をクラスの所定のセットのうちの1つまたは複数に属すものとして分類するように構成される。これらの実装形態のうちのいくつかにおいて、クラスカプセル層116は、クラスの所定のセット内の各クラスに対するそれぞれのカプセルを備える。これらの実装形態のうちのいくつかにおいて、クラスの所定のセットの各クラスは、物体のクラスに対応するものとしてよい。クラスカプセル層116は、前のカプセル層によって生成された出力および前のカプセル層とクラスカプセル層との間のルーティングシステム120によって生成されたルーティング係数を受け取り、これらの入力を処理してネットワーク出力118を生成するように構成される。
【００５５】
いくつかの実装形態において、ネットワーク出力118は、クラスカプセル層116の各カプセルの活性化である。これらの実装形態のうちのいくつかにおいて、ネットワーク入力102は、特定のクラスに対応するクラスカプセル層116のカプセルの活性化がクラスカプセル層116の他のカプセルの活性化より大きい場合にクラスの所定のセット内の特定のクラスに属すると決定される。
【００５６】
いくつかの他の実装形態において、ネットワーク出力118は、クラスカプセル層116の各カプセルの出力である。これらの実装形態のうちのいくつかにおいて、ネットワーク入力102は、特定のクラスに対応するクラスカプセル層116のカプセルの出力のノルム(たとえば、ユークリッドノルム)がクラスカプセル層116の他のカプセルの出力のノルムより大きい場合にクラスの所定のセット内の特定のクラスに属すると決定される。
【００５７】
いくつかの実装形態において、システム128は、損失関数124に基づきネットワーク100のパラメータを調整する訓練エンジン126を備える。いくつかの実装形態において、ネットワーク100は、ネットワーク入力102を、クラスの所定のセットの1つまたは複数に属すものとして分類するように構成され、クラスカプセル層116は所定のセット内の各クラスに対するそれぞれのカプセルを含み、ネットワーク出力118はクラスカプセル層116の各カプセルの出力である。これらの実装形態のうちのいくつかにおいて、損失関数124は損失項の和によって与えられ、各損失項は異なるクラスカプセルに対応し、クラスカプセルcに対応する損失項は
Tcmax(0,m+-|vc|)2+λ(1-Tc)max(0,|vc|-m-)2
によって与えられ、
ここで、ネットワーク入力102がクラスcに属すときかつそのときに限りTc=1であり、|vc|はクラスカプセルcの出力のノルム(たとえば、ユークリッドノルム)であり、m+、m-、およびλは、任意の適切な方式で(たとえば、任意に、または交差検証プロセスによって)選択され得る損失関数の固定ハイパーパラメータである。いくつかの実装形態において、ネットワーク出力118は、クラスカプセル層116の各カプセルの活性化であり、損失関数124は
【数１】
2021501392.tif 000003
によって与えられ、
ここで、
Li=(max(0,m-(at-ai))2
であり、
ネットワーク入力102は、クラスtに属し、atは、クラスカプセルtの活性化であり、aiは、クラスカプセルiの活性化であり、mは、任意の適切な方式で選択され得る損失関数の固定ハイパーパラメータであり、和は、クラスの所定のセットの各クラスにわたる和である。
【００５８】
訓練エンジン126は、訓練データのセットにおける入力のためのネットワーク出力118を決定することによって損失関数124に基づきネットワーク100のパラメータを調整する。訓練データのセット内の各入力について、入力のクラスメンバー関係は知られている。たとえば、訓練エンジン126が画像分類タスクを実行するようにネットワーク100を訓練する場合、訓練データは、画像と、対応する画像クラスラベルとを含むものとしてよく、画像クラスラベルは、対応する画像内に示されている物体のタイプを指示する。訓練データの入力に対してネットワーク100によって生成されるネットワーク出力に基づき、訓練エンジン126は、損失関数124の勾配を逆伝搬して、ネットワーク100のパラメータを調整する。訓練エンジン126は、確率勾配降下などの、任意の適切なニューラルネットワーク訓練技術を使用することができる。訓練時に調整されるネットワーク100のパラメータは、ニューロン層(たとえば、畳み込みニューロン層104)、カプセル層(たとえば、1次カプセル層108、畳み込みカプセル層112、およびクラスカプセル層118)、およびルーティングシステム120のパラメータを含む。
【００５９】
本明細書では、ベクトルまたは行列として参照されるパラメータは、本明細書において説明されている方式による使用を可能にする任意の適切な形式でネットワーク100によって記憶され得る。たとえば、行列として参照されるパラメータは、行列の形式でネットワーク100によって記憶される必要はない(たとえば、これらはベクトルとして、または他の任意の適切な形式で記憶されてよい)。
【００６０】
図1Bは、カプセルニューラルネットワーク、たとえば、図1Aのカプセルニューラルネットワーク100の例示的なアーキテクチャの図解である。カプセルニューラルネットワーク130は、入力として画像132を受け取り、その入力を畳み込みニューロン層134、1次カプセル層136、畳み込みカプセル層138および140、ならびにクラスカプセル層142により処理する。それぞれの層のニューロンおよびカプセルの受容野が例示されている。たとえば、畳み込みニューロン層134のニューロン144は、画像132内に受容野146を有する。
【００６１】
図2は、カプセル層の間の最終ルーティング係数を決定するための例示的なプロセスの流れ図である。便宜上、プロセス200は、1つまたは複数の場所に配置されている1つまたは複数のコンピュータのシステムによって実行されるものとして説明される。たとえば、ルーティングシステム、たとえば、図1Aのルーティングシステム120は、本明細書に従って適切にプログラムされて、プロセス200を実行することができる。
【００６２】
システムは、カプセルネットワークの第1のカプセル層によって生成された出力を受け取る(202)。たとえば、システムは、畳み込みカプセル層、または他の任意の種類のカプセル層によって生成された出力を受け取るものとしてよい。
【００６３】
システムは、第1のカプセル層の後にあるカプセルネットワークの第2のカプセル層への出力のルーティングを決定する(202)。出力のルーティングを決定することは、第1のカプセル層のカプセルと第2のカプセル層のカプセルとの間の最終ルーティング係数を決定することを含む。期待値最大化ルーティングアルゴリズムを使用して最終ルーティング係数を決定するための例示的なプロセスは、図3Aを参照しつつ以下で説明される。動的ルーティングアルゴリズムを使用して最終ルーティング係数を決定するための例示的なプロセスは、図4を参照しつつ以下で説明される。
【００６４】
システムは、最終ルーティング係数をカプセルネットワークの第2のカプセル層に供給する(206)。
【００６５】
図3Aは、期待値最大化ルーティングアルゴリズムを使用して第1のカプセル層と第2のカプセル層(すなわち、第1のカプセル層の後の)との間の最終ルーティング係数を決定するための例示的なプロセスの流れ図である。便宜上、プロセス300は、1つまたは複数の場所に配置されている1つまたは複数のコンピュータのシステムによって実行されるものとして説明される。たとえば、ルーティングシステム、たとえば、図1Aのルーティングシステム120は、本明細書に従って適切にプログラムされて、プロセス300を実行することができる。
【００６６】
期待値最大化ルーティングアルゴリズムは反復アルゴリズムである。期待値最大化ルーティングアルゴリズムの各繰り返しは2つのステップ、すなわち、306、308、310、および312を含む、Mステップ(302)と称される、最大化ステップと、314を含む、Eステップ(304)と称される、期待値ステップとを含む。期待値最大化ルーティングアルゴリズムの最大化ステップの繰り返しの例示的なデータフローは、図3Bを参照しつつ説明されている。
【００６７】
第2のカプセル層の各第2のカプセルについて、システムは、第2のカプセルの受容野内の第1のカプセル層の第1のカプセルからの第2のカプセルに対する重み付き投票を決定する(306)。
【００６８】
特に、第2のカプセル層内の所与の第2のカプセルについて、システムは、第2のカプセルの受容野内の第1のカプセル層の各特定の第1のカプセルからの所与の第2のカプセルに対するそれぞれの投票を決定する。第2のカプセル層の各第2のカプセルは、第2のカプセルの受容野内の第1のカプセル層の各特定の第1のカプセルに対応するそれぞれの重み行列を有する。特定の第1のカプセルからの第2のカプセルに対する投票を決定するために、システムは、特定の第1のカプセルの出力に特定の第1のカプセルに対応する第2のカプセルの重み行列を乗算する。いくつかの実装形態において、特定の第1のカプセルの出力はベクトルである。これらの実装形態において、特定の第1のカプセルに対応する第2のカプセルの重み行列は、特定の第1のカプセルの出力の次元と同じである数の列および少なくとも2つの行を有する行列である。たとえば、特定の第1のカプセルの出力がn×1ベクトルである場合、特定の第1のカプセルに対応する第2のカプセルの重みの行列は、r×n行列であり、rは2またはそれ以上の整数値である。いくつかの実装形態において、特定の第1のカプセルの出力は行列である。これらの実装形態において、特定の第1のカプセルに対応する第2のカプセルの重み行列は、少なくとも2つの行を有し、特定の第1のカプセルの出力の行の数と同じである数の列を有する行列である。たとえば、特定の第1のカプセルの出力がn×n行列である場合、特定の第1のカプセルに対応する第2のカプセルの重みの行列は、r×n行列であり、rは2またはそれ以上の整数値である。
【００６９】
いくつかの実装形態において、第1のカプセル層および第2のカプセル層が両方とも畳み込みカプセル層であるときに、第1のカプセル層内の第1のタイプのカプセルに対応する第2のカプセル層内の第2のタイプのカプセルの重み行列は、すべて共有される(すなわち、重み行列は同じである)。これらの実装形態のうちのいくつかにおいて、システムは、入力画像内の特定の第1のカプセルの受容野の中心の座標を特定の第1のカプセルからの第2のカプセルに対する投票に加える。いくつかの実装形態において、第1のカプセルの受容野の中心の座標は、第1のカプセルの受容野内の入力画像のピクセルのセットの中心(たとえば、重心)であると決定されたピクセルのx-y座標(入力画像の基準系内の)によって与えられる。いくつかの実装形態において、特定の第1のカプセルの受容野の中心の座標は、スケーリングされ得る(たとえば、各座標が0から1の範囲内にあるように)。いくつかの実装形態において、特定の第1のカプセルからの第2のカプセルに対する投票が行列であるときに、システムは、特定の第1のカプセルの受容野の中心の座標を特定の第1のカプセルからの第2のカプセルに対する投票の一番右の列の第1の2つの成分に加える(たとえば、受容野の中心のx座標は、投票の一番右の列の第1の成分に加えられるものとしてよく、y座標は、投票の一番右の列の第2の成分に加えられるものとしてよい)。
【００７０】
第2のカプセルの受容野内の第1のカプセル層の各特定の第1のカプセルについて、システムは、現在の繰り返しに対する特定の第1のカプセルと第2のカプセルとの間のルーティング係数の値によって特定の第1のカプセルからの第2のカプセルに対する投票を重み付けする。投票を重み付けすることは、投票にスカラー値を乗算することを指す。期待値最大化ルーティングアルゴリズムの第1の繰り返しの後の繰り返しについて、現在の繰り返しに対するルーティング係数の値は、期待値最大化アルゴリズムの前の繰り返しにおいて決定される。期待値最大化アルゴリズムの第1の繰り返しについて、ルーティング係数の値は、任意の値によって与えられ得る。たとえば、期待値最大化ルーティングアルゴリズムの第1の繰り返しについて、第1のカプセル層のカプセルと第2のカプセル層のカプセルとの間のルーティング係数の値は均一値に初期化され得る。いくつかの実装形態において、システムは、それに加えて、特定の第1のカプセルの活性化の値による特定の第1のカプセルからの第2のカプセルに対する投票を重み付けする。
【００７１】
第2のカプセル層内の各第2のカプセルについて、システムは、第2のカプセルの受容野内にある第1のカプセル層の1つまたは複数の第1のカプセルからの第2のカプセルに対する重み付き投票の分布を特徴付けるパラメータの値を決定する(308)。
【００７２】
いくつかの実装形態において、第1のカプセル層の1つまたは複数の第1のカプセルからの第2のカプセルに対する重み付き投票の分布を特徴付けるパラメータは、重み付き投票の平均を含む。たとえば、第2のカプセルに対する重み付き投票の分布を特徴付けるパラメータは、
【数２】
2021501392.tif 000004
によって与えられるパラメータを含むものとしてよく、
riは現在の繰り返しに対する第1のカプセル層のカプセルiと第2のカプセルとの間のルーティング係数であり、aiは、カプセルiの活性化であり、Viは第2のカプセルに対するカプセルiの投票である。このケースでは、分布パラメータμは、第1のカプセル層のカプセルの投票{Vi}と同じ次元(すなわち、同じベクトルまたは行列の次元)を有する。
【００７３】
いくつかの実装形態において、第1のカプセル層の1つまたは複数の第1のカプセルからの第2のカプセルに対する重み付き投票の分布を特徴付けるパラメータは、重み付き投票の分散を含む。たとえば、第2のカプセルに対する重み付き投票の分布を特徴付けるパラメータは、パラメータ
【数３】
2021501392.tif 000005
を含むものとしてよく、ここで、hは第1のカプセル層の第1のカプセルからの第2のカプセル層の第2のカプセルに対する投票の成分にわたるインデックスであり、ここで、
【数４】
2021501392.tif 000006
であり、
riは現在の繰り返しに対する第1のカプセル層のカプセルiと第2のカプセルとの間のルーティング係数であり、aiは、カプセルiの活性化であり、Vihは第2のカプセルに対するカプセルiの投票の第hの成分であり、μhは重み付き投票の平均の第hの成分である(前に説明されているように)。
【００７４】
第2のカプセル層内の各第2のカプセルについて、システムは、第2のカプセルと関連付けられる重み付き投票の分布を特徴付けるパラメータの値に少なくとも基づき第2のカプセルと関連付けられるコストを決定する(310)。いくつかの実装形態において、第2のカプセルと関連付けられるコストは、(現在の繰り返しに対する)(i)第2のカプセルの受容野内の1つまたは複数の第1のカプセルと、(ii)第2のカプセルとの間のルーティング係数に少なくとも基づきさらに決定される。たとえば、第2のカプセルと関連付けられるコストは、{costh}hによって与えられるものとしてよく、ここで、hは第1のカプセル層の第1のカプセルからの第2のカプセル層の第2のカプセルに対する投票の成分にわたるインデックスであり、ここで、
【数５】
2021501392.tif 000007
であり、
ここで、和は第2のカプセルの受容野内にある第1のカプセル層内のすべてのカプセルiにわたる和であり、riは現在の繰り返しに対する第1のカプセル層のカプセルiと第2のカプセルとの間のルーティング係数であり、aiは、カプセルiの活性化であり、
【数６】
2021501392.tif 000008
は重み付き投票の分散の第hの成分であり(前に説明されているように)、βvはコスト関数のパラメータである。いくつかの場合において、システムは、カプセルネットワークの訓練時にパラメータβvの値を決定する(たとえば、逆伝搬勾配によるパラメータβvの値を繰り返し調整することによって)。
【００７５】
第2のカプセル層内の各第2のカプセルについて、システムは、第2のカプセルの活性化を決定する(312)。いくつかの実装形態において、システムは、第2のカプセルと関連付けられるコスト(すなわち、310において計算されたコスト)に基づき第2のカプセルの活性化を決定する。たとえば、システムは、第2のカプセルの活性化を
【数７】
2021501392.tif 000009
として決定するものとしてよく、
ここで、和は第2のカプセルに対する投票の成分hにわたる和であり、sigmoidはシグモイド関数を指し、λは逆温度パラメータ(inverse temperature parameter)であり、βaは活性化関数のパラメータであり、costhは第2のカプセルと関連付けられるコストの第hの成分である。いくつかの場合において、システムは、カプセルネットワークの訓練時にパラメータβaの値を決定する(たとえば、逆伝搬勾配によるパラメータβaの値を繰り返し調整することによって)。いくつかの場合において、逆温度パラメータλの値は、固定スケジュールに従って期待値最大化ルーティングアルゴリズムの繰り返しの間に変化する。より具体的には、いくつかの場合において、逆温度パラメータλの値は、固定スケジュールに従って期待値最大化ルーティングアルゴリズムの繰り返しの間に増大する。たとえば、逆温度パラメータの値は、各繰り返しで固定係数だけ増大し得る。
【００７６】
システムは、期待値最大化ルーティングアルゴリズムの次の繰り返しに対するルーティング係数の値を決定する(314)。いくつかの実施形態において、システムは、現在の繰り返しに対する第2のカプセル層のカプセルの活性化と現在の繰り返しに対する第2のカプセル層のカプセルと関連付けられる重み付き投票の分布を特徴付けるパラメータの値とに少なくとも基づき次の繰り返しに対するルーティング係数の値を決定する。たとえば、第1のカプセル層の各特定のカプセルについて、システムは、次の繰り返しに対する特定のカプセルと特定のカプセルから投票を受け取る第2のカプセル層におけるカプセルとの間のルーティング係数の値を
【数８】
2021501392.tif 000010
として決定し、
ここで、cおよびjは第1のカプセル層の特定のカプセルから投票を受け取る第2のカプセル層の第2のカプセルに付けたインデックスであり、hは第1の層のカプセルからの第2の層のカプセルに対する投票の成分のインデックスであり、Vchは第1のカプセル層の特定のカプセルおよび第2のカプセル層のカプセルcの投票の第hの成分であり、
【数９】
2021501392.tif 000011
はカプセルcに対する重み付き投票の分散の第hの成分であり(前に説明されているように)、μchはカプセルcに対する重み付き投票の平均の第hの成分であり(前に説明されているように)、rcは特定のカプセルと第2のカプセル層のカプセルcとの間の次の繰り返しに対するルーティング係数であり、acは第2のカプセルcの活性化である。
【００７７】
システムは、現在の繰り返しが期待値最大化ルーティングアルゴリズムの最終繰り返しであるかどうかを決定する(316)。いくつかの実装形態において、システムは、現在の繰り返しが繰り返しの所定の回数の最後の繰り返しである場合に現在の繰り返しが最終繰り返しであると決定し得る。いくつかの実装形態において、システムは、第1のカプセル層のカプセルと現在の繰り返しについて決定された第2のカプセル層のカプセルとの間のルーティング係数の値が前の繰り返しについて決定されたルーティング係数の値に十分に似ている(たとえば、所定の閾値より小さい平均差を有する)場合に現在の繰り返しが最終繰り返しであると決定し得る。いくつかの実装形態において、システムは、現在の繰り返しについて決定された第2のカプセル層のカプセルの活性化が前の繰り返しについて決定された第2のカプセル層のカプセルの活性化に十分似ている場合に現在の繰り返しは最終繰り返しであると決定し得る。
【００７８】
現在の繰り返しが最終繰り返しでないと決定したことに応答して、システムは306に戻り、先行するステップを繰り返す。
【００７９】
現在の繰り返しが最終繰り返しであると決定したことに応答して、システムは最終ルーティング係数を決定する(318)。いくつかの実装形態において、システムは、最終ルーティング係数を、期待値最大化ルーティングアルゴリズムの最終繰り返しにおいて決定されたルーティング係数であると決定する。
【００８０】
第1のカプセル層の後にある第2のカプセル層の第2のカプセルに対する期待値最大化ルーティングアルゴリズムの最大化ステップの繰り返しの例示的なデータフローが、図3Bを参照しつつ説明されている。
【００８１】
第2のカプセル322の受容野内にある第1のカプセル層の各カプセル(たとえば、324、326、...)はカプセル出力(たとえば、328、330、...)を有する。システムは、第1のカプセル層のカプセル出力に重み行列(たとえば、332、334、...)を乗算して投票(たとえば、336、338、...)を決定する。システムは、重み係数(たとえば、340、342、...)で投票を重み付けし、重み付き投票(たとえば、344、346、...)を決定する。348は、2次元空間内の第2のカプセルに対する重み付き投票を例示している。一般に、第2のカプセルに対する重み付き投票は、2より高い次元を有する空間に属すものとしてよい。システムは、第2のカプセルに対する重み付き投票の分布を特徴付ける分布パラメータ352を決定する。システムは、第2のカプセルのコスト352および活性化354を決定する。
【００８２】
図4は、動的ルーティングアルゴリズムを使用して第1のカプセル層と第2のカプセル層(すなわち、第1のカプセル層の後の)との間の最終ルーティング係数を決定するための例示的なプロセスの流れ図である。便宜上、プロセス400は、1つまたは複数の場所に配置されている1つまたは複数のコンピュータのシステムによって実行されるものとして説明される。たとえば、ルーティングシステム、たとえば、図1Aのルーティングシステム120は、本明細書に従って適切にプログラムされて、プロセス400を実行することができる。
【００８３】
システムは、現在の繰り返しに対する第1のカプセル層のカプセルと第2のカプセル層のカプセルとの間のルーティング係数の正規化値を決定する(401)。
【００８４】
動的ルーティングアルゴリズムの第1の繰り返しの後の繰り返しについて、その繰り返しに対するルーティング係数の値は、動的ルーティングアルゴリズムの前の繰り返しにおいて決定される。いくつかの実装形態において、システムは、動的ルーティングアルゴリズムの第1の繰り返しに対するルーティング係数を任意の値であると決定する。たとえば、システムは、第1の繰り返しに対するルーティング係数の値を均一値に初期化し得る。いくつかの実装形態において、システムは、訓練時に第1の繰り返しに対するルーティング係数の値を学習する(たとえば、逆伝搬勾配による第1の繰り返しに対するルーティング係数の値を繰り返し調整することによって)。これらの実装形態において、動的ルーティングアルゴリズムの第1の繰り返しに対する第1のカプセル層の第1のカプセルと第2のカプセル層の第2のカプセルとの間のルーティング係数の値は、ネットワーク入力ではなく、第1および第2のカプセルのタイプおよび配置に依存する。
【００８５】
いくつかの実装形態において、システムは、現在の繰り返しに対する第1のカプセル層のカプセルと第2のカプセル層のカプセルとの間のルーティング係数の正規化値を
ci=softmax(bi)
と決定し、
ここで、システムは、第1のカプセル層の各第1のカプセルiについて正規化を実行し、biは現在の繰り返しに対する第1のカプセルiとカプセルiからの投票を受け取る第2のカプセル層の第2のカプセルとの間のルーティング係数のベクトルであり、ciは現在の繰り返しに対する第1のカプセルiとカプセルiからの投票を受け取る第2のカプセル層の第2のカプセルとの間のルーティング係数の正規化値のベクトルである。
【００８６】
第2のカプセル層内の各第2のカプセルについて、システムは、第2のカプセルの受容野内の第1のカプセル層の第1のカプセルからの第2のカプセルに対する重み付き投票の和を決定する(402)。
【００８７】
特に、第2のカプセル層内の所与の第2のカプセルについて、システムは、第2のカプセルの受容野内の第1のカプセル層の各特定の第1のカプセルからの所与の第2のカプセルに対するそれぞれの投票を決定する。第2のカプセル層の各第2のカプセルは、第2のカプセルの受容野内の第1のカプセル層の各特定の第1のカプセルに対応するそれぞれの重み行列を有する。特定の第1のカプセルからの第2のカプセルに対する投票を決定するために、システムは、特定の第1のカプセルの出力に特定の第1のカプセルに対応する第2のカプセルの重み行列を乗算する。いくつかの実装形態において、特定の第1のカプセルの出力はベクトルである。これらの実装形態において、特定の第1のカプセルに対応する第2のカプセルの重み行列は、少なくとも2つの行と、特定の第1のカプセルの出力の次元と同じである数の列とを有する行列である。たとえば、特定の第1のカプセルの出力がn×1ベクトルである場合、特定の第1のカプセルに対応する第2のカプセルの重みの行列は、r×n行列であり、rは少なくとも2の整数値である。いくつかの実装形態において、特定の第1のカプセルの出力は行列である。これらの実装形態において、特定の第1のカプセルに対応する第2のカプセルの重み行列は、少なくとも2つの行と、特定の第1のカプセルの出力の行の数と同じである数の列を有する行列である。たとえば、特定の第1のカプセルの出力がn×n行列である場合、特定の第1のカプセルに対応する第2のカプセルの重みの行列は、r×n行列であり、rは少なくとも2の整数値である。
【００８８】
いくつかの実装形態において、第1のカプセル層および第2のカプセル層が両方とも畳み込みカプセル層であるときに、第1のカプセル層内の第1のタイプのカプセルに対応する第2のカプセル層内の第2のタイプのカプセルの重み行列は、すべて共有される(すなわち、重み行列は同じである)。これらの実装形態のうちのいくつかにおいて、システムは、入力画像内の特定の第1のカプセルの受容野の中心の座標を特定の第1のカプセルからの第2のカプセルに対する投票に加える。いくつかの実装形態において、第1のカプセルの受容野の中心の座標は、第1のカプセルの受容野内にある入力画像のピクセルのセットの中心(たとえば、重心)であると決定されたピクセルのx-y座標(入力画像の基準系内の)によって与えられる。いくつかの実装形態において、特定の第1のカプセルの受容野の中心の座標は、スケーリングされ得る(たとえば、各座標が0から1の範囲内にあるように)。いくつかの実装形態において、特定の第1のカプセルからの第2のカプセルに対する投票が行列であるときに、システムは、特定の第1のカプセルの受容野の中心の座標を特定の第1のカプセルからの第2のカプセルに対する投票の一番右の列の第1の2つの成分に加える(たとえば、受容野の中心のx座標は、投票の一番右の列の第1の成分に加えられるものとしてよく、y座標は、投票の一番右の列の第2の成分に加えられるものとしてよい)。
【００８９】
いくつかの実装形態において、システムは、第2のカプセル層の各第2のカプセルjに対する重み付き投票の和を
【数１０】
2021501392.tif 000012
と決定し、
ここで、iはカプセルjの受容野内にある第1のカプセル層のカプセルのインデックスであり、cijは、現在の繰り返しに対するカプセルiとカプセルjとの間の正規化されたルーティング係数であり、Vj|iは第2のカプセル層のカプセルjに対する第1のカプセル層のカプセルiの投票である。
【００９０】
いくつかの実装形態において、システムは、第2のカプセル層の各第2のカプセルに対する重み付き投票の和を正規化する(404)。たとえば、システムは、たとえば、第2のカプセル層の第2のカプセルjに対する重み付き投票の和を
【数１１】
2021501392.tif 000013
のように正規化することによって、0と1との間のノルム(たとえば、ユークリッドノルム)を有するように第2のカプセル層の各第2のカプセルに対する重み付き投票の和を正規化するものとしてよく、
ここで、|sj|はカプセルjに対する重み付き投票の和のノルム(たとえば、ユークリッドノルム)である。
【００９１】
システムは、動的ルーティングアルゴリズムの次の繰り返し対するルーティング係数を決定する(406)。第2のカプセル層の各第2のカプセルおよび第2のカプセルの受容野内の第1のカプセル層の各第1のカプセルについて、システムは、第2のカプセルに対する重み付き投票の和と第1のカプセルからの第2のカプセルに対する投票との間の類似性尺度を決定する。いくつかの実装形態において、システムは、第2のカプセルに対する重み付き投票の和と第1のカプセルからの第2のカプセルに対する投票との間の類似性尺度を、それらの間の内積を計算することによって決定する。
【００９２】
次に、システムは、次の繰り返しに対する第1のカプセルと第2のカプセルとの間のルーティング係数を、決定された類似性尺度を現在の繰り返しに対する第1のカプセルと第2のカプセルとの間のルーティング係数と組み合わせることによって決定する。たとえば、システムは、第1のカプセル層の第1のカプセルiと第2のカプセル層の第2のカプセルjとの間の次の繰り返しに対するルーティング係数を
【数１２】
2021501392.tif 000014
として決定するものとしてよく、
ここで、
【数１３】
2021501392.tif 000015
は次の繰り返しに対する第1のカプセル層のカプセルiと第2のカプセル層のカプセルjとの間のルーティング係数であり、
【数１４】
2021501392.tif 000016
は現在の繰り返しに対するカプセル間のルーティング係数であり、vjは第2のカプセルjに対する重み付き投票の正規化された和であり(前に説明されているように)、・は内積演算を示し、Vj|iは第2のカプセル層のカプセルjに対する第1のカプセル層のカプセルiの投票である。
【００９３】
システムは、現在の繰り返しが動的ルーティングアルゴリズムの最終繰り返しであるかどうかを決定する(408)。いくつかの実装形態において、システムは、現在の繰り返しが繰り返しの所定の回数の最後の繰り返しである場合に現在の繰り返しが最終繰り返しであると決定し得る。いくつかの実装形態において、システムは、第1のカプセル層のカプセルと現在の繰り返しについて決定された第2のカプセル層のカプセルとの間のルーティング係数の値が前の繰り返しについて決定されたルーティング係数の値に十分に似ている(たとえば、所定の閾値より小さい平均差を有する)場合に現在の繰り返しが最終繰り返しであると決定し得る。
【００９４】
現在の繰り返しが最終繰り返しでないと決定したことに応答して、システムは401に戻り、先行するステップを繰り返す。現在の繰り返しが最終繰り返しであると決定したことに応答して、システムは最終ルーティング係数の値を決定する(410)。いくつかの実装形態において、システムは、最終ルーティング係数の値を、動的ルーティングアルゴリズムの最終繰り返しで決定されたルーティング係数の正規化された値であると決定する(ルーティング係数正規化が上で説明されているように実行できる場合)。
【００９５】
図5は、カプセル出力およびカプセル活性化を決定するための例示的なプロセスの流れ図である。特に、図5は、第2のカプセル出力および第2のカプセル活性化を決定するために第1のカプセル層(第2のカプセル層の前にある)の出力を受け取る第2のカプセル層の第2のカプセルに対する例示的なプロセスを説明している。便宜上、プロセス500は、1つまたは複数の場所に配置されている1つまたは複数のコンピュータのシステムによって実行されるものとして説明される。たとえば、カプセルニューラルネットワーク、たとえば、図1Aのカプセルニューラルネットワーク100、のカプセルは、本明細書に従って適切にプログラムされて、プロセス500を実行することができる。
【００９６】
第2のカプセルは、ルーティングシステムからの最終ルーティング係数および第2のカプセル層の前にある第1のカプセル層内のカプセルの出力を受け取る(501)。第2のカプセルは、第1のカプセル層内の第1のカプセル(第2のカプセルの受容野内の)と第2のカプセルとの間の最終ルーティング係数を受け取る。期待値最大化ルーティングアルゴリズムを使用して第1のカプセル層と第2のカプセル層との間の最終ルーティング係数を決定するためのルーティングシステムに対する例示的なプロセスが、図3Aを参照しつつ説明されている。動的ルーティングアルゴリズムを使用して第1のカプセル層と第2のカプセル層との間の最終ルーティング係数を決定するためのルーティングシステムに対する例示的なプロセスが、図4を参照しつつ説明されている。第2のカプセルは、第1のカプセル層内の第2のカプセルの受容野内の第1のカプセル層の第1のカプセルの出力を受け取る。
【００９７】
第2のカプセルは、第2のカプセルの受容野内の第1のカプセル層の各第1のカプセルからの第2のカプセルに対するそれぞれの投票を決定する(502)。第2のカプセルは、第2のカプセルの受容野内の第1のカプセル層の各第1のカプセルに対応するそれぞれの重み行列を有する。特定の第1のカプセルからの第2のカプセルに対する投票を決定するために、第2のカプセルは、特定の第1のカプセルの出力に特定の第1のカプセルに対応する第2のカプセルの重み行列を乗算する。いくつかの実装形態において、特定の第1のカプセルの出力はベクトルである。これらの実装形態において、特定の第1のカプセルに対応する第2のカプセルの重み行列は、少なくとも2つの行と、特定の第1のカプセルの出力の次元と同じである数の列とを有する行列である。いくつかの実装形態において、特定の第1のカプセルの出力は行列である。これらの実装形態において、特定の第1のカプセルに対応する第2のカプセルの重み行列は、少なくとも2つの行を有し、特定の第1のカプセルの出力の行の数と同じである数の列を有する行列である。
【００９８】
いくつかの実装形態において、第1のカプセル層および第2のカプセル層が両方とも畳み込みカプセル層であるときに、第1のカプセル層内の第1のタイプのカプセルに対応する第2のカプセル層内の第2のタイプのカプセルの重み行列は、すべて共有される(すなわち、重み行列は同じである)。これらの実装形態のうちのいくつかにおいて、システムは、入力画像内の特定の第1のカプセルの受容野の中心の座標を特定の第1のカプセルからの第2のカプセルに対する投票に加える。いくつかの実装形態において、第1のカプセルの受容野の中心の座標は、第1のカプセルの受容野内にある入力画像のピクセルのセットの中心(たとえば、重心)であると決定されたピクセルのx-y座標(入力画像の基準系内の)によって与えられる。いくつかの実装形態において、特定の第1のカプセルの受容野の中心の座標は、スケーリングされ得る(たとえば、各座標が0から1の範囲内にあるように)。いくつかの実装形態において、特定の第1のカプセルからの第2のカプセルに対する投票が行列であるときに、システムは、特定の第1のカプセルの受容野の中心の座標を特定の第1のカプセルからの第2のカプセルに対する投票の一番右の列の第1の2つの成分に加える(たとえば、受容野の中心のx座標は、投票の一番右の列の第1の成分に加えられるものとしてよく、y座標は、投票の一番右の列の第2の成分に加えられるものとしてよい)。
【００９９】
第2のカプセルは、第2のカプセルに対する投票の重みを決定する(504)。いくつかの実装形態において、第2のカプセルは、第1のカプセルと第2のカプセルとの間の最終ルーティング係数の値に基づき第1のカプセル層の第1のカプセルからの第2のカプセルに対する投票の重みを決定する。これらの実装形態のうちのいくつかにおいて、第2のカプセルは、加えて第1のカプセル層の第1のカプセルの活性化に基づき、第1のカプセル層の第1のカプセルからの第2のカプセルに対する投票の重みを決定する。
【０１００】
第2のカプセルは、第2のカプセルに対する重み付き投票を組み合わせることによって第2のカプセル出力を決定する(506)。いくつかの実装形態において、ルーティングシステムは、期待値最大化ルーティングシステム(たとえば、図3Aを参照しつつ説明されている期待値最大化ルーティングシステム)であり、第2のカプセルは、308を参照しつつ説明されているように、第2のカプセル出力を、第2のカプセルに対する重み付き投票の平均として決定する。いくつかの実装形態において、ルーティングシステムは、動的ルーティングシステム(たとえば、図4を参照しつつ説明されている動的ルーティングシステム)であり、第2のカプセルは、402を参照しつつ説明されているように、第2のカプセル出力を、第2のカプセルに対する重み付き投票の和として決定する。
【０１０１】
いくつかの実装形態において、ルーティングシステムは、期待値最大化ルーティングシステム(たとえば、図3Aを参照しつつ説明されている期待値最大化ルーティングシステム)であり、第2のカプセルは、308および310を参照しつつ説明されているように、第2のカプセルに対する重み付き投票の分布および第2のカプセルと関連付けられるコストを特徴付けるパラメータを決定する(510)。これらの実装形態のうちのいくつかにおいて、第2のカプセルは、312を参照しつつ説明されているように、第2のカプセルの活性化を決定する(512)。
【０１０２】
いくつかの実装形態において、ルーティングシステムは、動的ルーティングシステム(たとえば、図4を参照しつつ説明されている動的ルーティングシステム)であり、第2のカプセルは、404を参照しつつ説明されているように、第2のカプセルの出力を正規化する(514)。
【０１０３】
本明細書では、システムおよびコンピュータプログラムコンポーネントと関連して「構成される」という言い回しを使用する。1つまたは複数のコンピュータのシステムについて、特定の動作またはアクションを実行するように構成されることは、システムがその上に動作時にそれらの動作またはアクションをシステムに実行させるソフトウェア、ファームウェア、ハードウェア、またはそれらの組合せをインストールしていることを意味する。1つまたは複数のコンピュータプログラムについて、特定の動作またはアクションを実行するように構成されることは1つまたは複数のプログラムがデータ処理装置によって実行されたときにそれらの動作またはアクションを装置に実行させる命令を含むことを意味する。
【０１０４】
主題および本明細書で説明されている機能操作の実施形態は、本明細書で開示されている構造およびその構造的等価物を含む、デジタル電子回路で、明白に具現化されたコンピュータソフトウェアもしくはファームウェアで、コンピュータハードウェアで、またはこれらのうちの1つまたは複数のものの組合せで実装することができる。本明細書で説明されている主題の実施形態は、1つまたは複数のコンピュータプログラム、すなわち、データ処理装置による実行のため、またはデータ処理装置の動作を制御するために有形な非一時的記憶媒体上に符号化されたコンピュータプログラム命令からなる1つまたは複数のモジュールとして実装され得る。コンピュータ記憶媒体は、機械可読記録デバイス、機械可読記憶装置基板、ランダムもしくはシリアルアクセスメモリデバイス、またはそれらのうちの1つもしくは複数の組合せとすることができる。代替的に、またはそれに加えて、プログラム命令は、データ処理装置による実行のため好適な受信機装置に送信する情報が符号化されるように生成される、人工的に生成された伝搬信号、たとえば、機械で生成された電気、光、または電磁信号上で符号化され得る。
【０１０５】
「データ処理装置」という語はデータ処理ハードウェアを指し、たとえばプログラム可能プロセッサ、コンピュータ、または複数のプロセッサもしくはコンピュータを備える、データを処理するためのすべての種類の装置、デバイス、および機械を包含する。装置は、専用論理回路、たとえば、FPGA(フィールドプログラマブルゲートアレイ)、またはASIC(特定用途向け集積回路)でもあり得るか、またはさらに含み得る。装置は、任意選択で、ハードウェアに加えて、コンピュータプログラム用の実行環境を作成するコード、たとえば、プロセッサファームウェア、プロトコルスタック、データベース管理システム、オペレーティングシステム、またはこれらのうちの1つまたは複数のものの組合せを構成するコードを含むこともできる。
【０１０６】
プログラム、ソフトウェア、ソフトウェアアプリケーション、アプリ、モジュール、ソフトウェアモジュール、スクリプト、またはコードとも称されるか、または記述され得る、コンピュータプログラムは、コンパイル言語またはインタプリタ言語または宣言型言語または手続き型言語を含む、任意の形態のプログラミング言語で書かれることが可能であり、スタンドアロンプログラム、またはモジュール、構成要素、サブルーチン、またはコンピューティング環境において使用するのに適している他のユニットを含む、任意の形態でデプロイされることが可能である。プログラムは、ファイルシステム内のファイルに対応してよいが、そうである必要はない。プログラムは、他のプログラムまたはデータ、たとえば、マークアップ言語ドキュメントに記憶される1つまたは複数のスクリプトを保持するファイルの一部に、注目しているプログラム専用の単一ファイルに、または複数の協調ファイル、たとえば、1つまたは複数のモジュール、副プログラム、またはコードの一部分を記憶するファイルに記憶され得る。コンピュータプログラムは、1つのコンピュータ上で、または1つのサイトに配置されるか、または複数のサイトにまたがって分散され、データ通信ネットワークによって相互接続されている複数のコンピュータ上で実行されるようにデプロイされることが可能である。
【０１０７】
本明細書において、「エンジン」という語は、1つまたは複数の特定の機能を実行するようにプログラムされているソフトウェアベースのシステム、サブシステム、またはプロセスを指すように広く使用されている。一般に、エンジンは、1つまたは複数の場所にある1つまたは複数のコンピュータ上にインストールされる、1つまたは複数のソフトウェアモジュールもしくはコンポーネントとして実装される。いくつかの場合において、1つまたは複数のコンピュータは特定のエンジン専用とされ、他の場合には、複数のエンジンが、同じ1つのもしくは複数のコンピュータ上にインストールされ、実行することができる。
【０１０８】
本明細書で説明されているプロセスおよび論理の流れは、入力データを操作し、出力を生成することによって機能を実行するように1つまたは複数のコンピュータプログラムを実行する1つまたは複数のプログラム可能なコンピュータによって実行され得る。プロセスおよび論理の流れは、また、専用論理回路、たとえば、FPGAもしくはASICによって、または専用論理回路と1つもしくは複数のプログラムされたコンピュータとの組合せによって実行され得る。
【０１０９】
コンピュータプログラムの実行に適しているコンピュータは、汎用マイクロプロセッサ、専用マイクロプロセッサ、もしくはその両方、または任意の他の種類の中央演算処理装置に基づくものとしてよい。一般的に、中央演算処理装置は、リードオンリーメモリまたはランダムアクセスメモリまたはその両方から命令およびデータを受け取る。コンピュータの不可欠な要素は、命令を遂行または実行するための中央演算処理装置ならびに命令およびデータを記憶するための1つまたは複数のメモリデバイスである。中央演算処理装置およびメモリは、専用論理回路によって補助されるか、または専用論理回路に組み込まれ得る。一般的に、コンピュータは、データを記憶するための1つまたは複数の大容量記録デバイス、たとえば、磁気ディスク、磁気光ディスク、または光ディスクも備え、これらからデータを受け取るか、またはこれらにデータを転送するか、またはその両方を行うように動作可能なように結合される。しかしながら、コンピュータは、そのようなデバイスを有している必要はない。さらに、コンピュータは、他のデバイス、たとえば、2、3例を挙げると、携帯電話、携帯情報端末(PDA)、携帯オーディオまたはビデオプレーヤー、ゲーム機、全地球測位システム(GPS)受信機、またはポータブルストレージデバイス、たとえば、ユニバーサルシリアルバス(USB)フラッシュドライブに埋め込まれ得る。
【０１１０】
コンピュータプログラムの命令およびデータを格納するのに適したコンピュータ可読媒体は、たとえば、半導体メモリデバイス、たとえば、EPROM、EEPROM、およびフラッシュメモリデバイス、磁気ディスク、たとえば、内蔵ハードディスクまたはリムーバブルディスク、光磁気ディスク、ならびにCD-ROMおよびDVD-ROMディスクを含む、あらゆる形態の不揮発性メモリ、媒体、およびメモリデバイスを含む。
【０１１１】
ユーザと情報のやり取りを行うために、本明細書で説明されている主題の実施形態は、ユーザに情報を表示するためのディスプレイデバイス(たとえば、CRT(陰極線管)またはLCD(液晶ディスプレイ)モニタ)ならびにユーザがコンピュータに入力を送るために使用できるキーボードおよびポインティングデバイス(たとえば、マウスもしくはトラックボール)を有するコンピュータ上で実装されることが可能である。他の種類のデバイスも、ユーザとインタラクティブにやり取りするために使用されてよく、たとえば、ユーザに提供されるフィードバックは、任意の形態の感覚フィードバック、たとえば、視覚フィードバック、聴覚フィードバック、または触覚フィードバックであってよく、ユーザからの入力は、音響、音声、または触覚入力を含む、任意の形態で受信され得る。それに加えて、コンピュータは、ドキュメントをユーザによって使用されるデバイスに送り、そのデバイスからドキュメントを受け取ることによって、たとえば、ウェブブラウザから受け取った要求に応答して、ウェブページをユーザのデバイス上のウェブブラウザに送信することによって、ユーザとインタラクティブにやり取りすることができる。また、コンピュータはテキストメッセージまたは他の形態のメッセージを個人用デバイス、たとえば、メッセージングアプリケーションが稼動しているスマートフォンに送信し、それに応えてユーザから応答メッセージを受信することによってユーザとインタラクティブにやり取りすることができる。
【０１１２】
機械学習モデルを実装するためのデータ処理装置は、たとえば、機械学習の訓練または生成、すなわち、推論、作業負荷の共通の、および計算集約的な部分を処理するための専用ハードウェアアクセラレータユニットも備え得る。
【０１１３】
機械学習モデルは、機械学習フレームワーク、たとえば、TensorFlowフレームワーク、Microsoft Cognitive Toolkitフレームワーク、Apache Singaフレームワーク、またはApache MXNetフレームワークを使用して実装され、デプロイされ得る。
【０１１４】
本明細書で説明されている主題の実施形態は、バックエンドコンポーネントを、たとえば、データサーバとして備えるか、またはミドルウェアコンポーネント、たとえば、アプリケーションサーバを備えるか、またはフロントエンドコンポーネント、たとえば、ユーザが本明細書で説明されている主題の実装形態をインタラクティブに操作するために使用することができるグラフィカルユーザインターフェース、ウェブブラウザ、もしくはアプリを有するクライアントコンピュータを備えるコンピューティングシステムで、または1つもしくは複数のそのようなバックエンド、ミドルウェア、もしくはフロントエンドコンポーネントの任意の組合せで実装され得る。システムのコンポーネントは、デジタルデータ通信の任意の形態または媒体、たとえば、通信ネットワーク、によって相互接続され得る。通信ネットワークの例は、ローカルエリアネットワーク(LAN)およびワイドエリアネットワーク(WAN)、たとえば、インターネットを含む。
【０１１５】
コンピューティングシステムは、クライアントおよびサーバを含むことができる。クライアントおよびサーバは、一般に、互いに隔てられており、典型的には、通信ネットワークを通じてインタラクティブな操作を行う。クライアントとサーバとの関係は、コンピュータプログラムが各コンピュータ上で実行され、互いとの間にクライアント-サーバ関係を有することによって発生する。いくつかの実装形態において、サーバはデータ、たとえば、HTMLページをユーザデバイスに、たとえば、クライアントとして働く、デバイスをインタラクティブに操作するユーザにデータを表示し、そのユーザからユーザ入力を受け取ることを目的として、伝送する。ユーザデバイスで生成されるデータ、たとえば、ユーザインタラクションの結果は、サーバ側でデバイスから受信され得る。
【０１１６】
本明細書は、多くの実装固有の詳細事項を含んでいるが、これらは、発明の範囲または請求内容の範囲に対する制限として解釈すべきではなく、むしろ特定の発明の特定の実施形態に特有のものであると思われる特徴の説明として解釈すべきである。別の実施形態の文脈において本明細書で説明されているいくつかの特徴も、単一の実施形態において組合せで実装され得る。逆に、単一の実施形態の文脈において説明されている様々な特徴は、複数の実施形態で別々に、または任意の好適な部分的組合せで、実装され得る。さらに、特徴は、いくつかの組合せで働くものとして上記で説明され、初めにそのように請求されることさえあるが、請求される組合せからの1つまたは複数の特徴は、場合によってはその組合せから削除され、請求される組合せは、部分組合せ、または部分組合せの変形形態を対象としてもよい。
【０１１７】
同様に、動作は特定の順序で図面に示され、特許請求の範囲において引用されているが、そのような動作は、望ましい結果を達成するために、示される特定の順序でもしくは順番に実行される必要がないことを、またはすべての図示の動作が実行される必要があるとは限らないことを、理解されたい。ある状況では、マルチタスキングおよび並列処理が有利である場合がある。さらに、上で説明されている実施形態における様々なシステムモジュールおよびコンポーネントの分離は、すべての実施形態においてそのような分離が必要とされるものと理解されるべきではなく、前述のプログラム構成要素およびシステムが概して単一のソフトウェアプロダクトとして一体化されるかまたは複数のソフトウェアプロダクトとしてパッケージ化されてもよいことを理解されたい。
【０１１８】
主題の特定の実施形態が説明されている。他の実施形態は、次の特許請求の範囲の範囲内に入る。たとえば、特許請求の範囲に記載のアクションは、異なる順序で実行することができ、それでも、所望の結果を得ることができる。一例として、添付図面に示されているプロセスは、必ずしも、望ましい結果を達成するために、図示されている特定の順序、または順番を必要としない。いくつかの場合において、マルチタスキングおよび並列処理が有利であり得る。
【符号の説明】
【０１１９】
100  カプセルニューラルネットワーク
102  ネットワーク入力
104  畳み込みニューロン層
106  畳み込みニューロン層出力
108  1次カプセル層
110  1次カプセル層出力
112  畳み込みカプセル層
114  畳み込みカプセル層出力
116  クラスカプセル層
118  ネットワーク出力
120  ルーティングシステム
122  最終ルーティング係数
124  損失関数
126  訓練エンジン
128  予測システム
130  カプセルニューラルネットワーク
132  画像
134  畳み込みニューロン層
136  1次カプセル層
138  畳み込みカプセル層
140  畳み込みカプセル層
142  クラスカプセル層
144  ニューロン
146  受容野
200  プロセス
300  プロセス
322  第2のカプセル
352  分布パラメータ
352  コスト
354  活性化
400  プロセス
500  プロセス
【図１Ａ】
2021501392.tif 000017
【図１Ｂ】
2021501392.tif 000018
【図２】
2021501392.tif 000019
【図３Ａ】
2021501392.tif 000020
【図３Ｂ】
2021501392.tif 000021
【図４】
2021501392.tif 000022
【図５】
2021501392.tif 000023
【手続補正書】
【提出日】令和2年6月1日(2020.6.1)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
1つまたは複数のコンピュータ、および命令を記憶する1つまたは複数の記録デバイスを含むシステムであって、前記命令は前記1つまたは複数のコンピュータによって実行されたときに、前記1つまたは複数のコンピュータに、
ニューラルネットワークおよびルーティングサブシステムを実装させ、
前記ニューラルネットワークは、
ネットワーク入力を受け取り、前記ネットワーク入力に対するネットワーク出力を生成するように構成され、
前記ニューラルネットワークは、複数のカプセル層を含む、1つのシーケンスに配置構成されている複数の層を備え、
各カプセル層は、それぞれの複数のカプセルを含み、
特定のカプセル層内の各特定のカプセルは、
(i)前記シーケンス内の前記特定のカプセル層の前にある前のカプセル層のカプセルによって生成される出力と、(ii)前記前のカプセル層のカプセルと前記特定のカプセルとの間の最終ルーティング係数とを含むそれぞれの入力を受け取り、前記最終ルーティング係数はルーティングサブシステムによって生成され、
前記受け取った入力に基づき特定のカプセル出力を決定し、前記特定のカプセル出力は次元が1より大きい、ように構成され、
前記ルーティングサブシステムは、
第1のカプセル層内のカプセルによって生成される出力を受け取るステップと、
前記第1のカプセル層のカプセルと前記シーケンス内の前記第1のカプセル層の後にある第2のカプセル層のカプセルとの間の最終ルーティング係数を決定するステップと、
前記最終ルーティング係数を前記第2のカプセル層内の前記カプセルに供給するステップと
を含む動作を実行するように構成されている、システム。
【請求項２】
前記第1のカプセル層のカプセルと前記シーケンス内の前記第1のカプセル層の後にある第2のカプセル層のカプセルとの間の最終ルーティング係数を決定するステップは、
期待値最大化ルーティングアルゴリズムの1回または複数回の繰り返しを実行するステップであって、前記期待値最大化ルーティングアルゴリズムの各繰り返しは、MステップおよびEステップを含み、特定の繰り返しについて、
前記Mステップは、前記第2のカプセル層内の各第2のカプセルについて、
前記特定の繰り返しに対する前記第1のカプセル層の1つまたは複数の第1のカプセルからの前記第2のカプセルに対する重み付き投票を決定するステップであって、
前記第1のカプセル層の特定の第1のカプセルからの前記第2のカプセルに対する投票を、前記特定の第1のカプセルと関連付けられる前記第2のカプセルの重み行列を前記特定の第1のカプセルの出力に乗算することによって決定するステップと、
前記第1のカプセル層の前記特定の第1のカプセルからの前記第2のカプセルに対する前記投票を、前記特定の繰り返しに対する前記特定の第1のカプセルと前記第2のカプセルとの間のルーティング係数で重み付けするステップとを含む、前記重み付き投票を決定するステップと、
前記特定の繰り返しに対する前記第1のカプセル層の前記1つまたは複数の第1のカプセルからの前記第2のカプセルに対する重み付き投票の分布を特徴付ける1つまたは複数のパラメータの値を決定するステップと、
前記特定の繰り返しに対する前記第2のカプセルに対する前記重み付き投票の分布を特徴付ける前記パラメータの前記値に少なくとも一部は基づき前記特定の繰り返しに対する前記第2のカプセルと関連付けられるコストを決定するステップと、
前記特定の繰り返しに対する前記第2のカプセルと関連付けられる前記コストに少なくとも一部は基づき前記特定の繰り返しに対する前記第2のカプセルの活性化を決定するステップとを含み、
前記Eステップは、前記特定の繰り返しに対する前記第2のカプセル層の前記カプセルの前記活性化と、前記特定の繰り返しに対する前記第2のカプセル層の前記カプセルと関連付けられる前記重み付き投票の分布を特徴付ける前記パラメータの前記値とに少なくとも基づき、次の繰り返しに対するルーティング係数を決定するステップを含む、前記期待値最大化ルーティングアルゴリズムの1回または複数回の繰り返しを実行するステップと、
最終ルーティング係数を、前記期待値最大化ルーティングアルゴリズムの最後の繰り返しにおいて決定された前記ルーティング係数であると決定するステップと
を含む請求項1に記載のシステム。
【請求項３】
前記第1のカプセル層の前記特定の第1のカプセルからの前記第2のカプセルに対する前記投票を重み付けするステップは、
前記特定の第1のカプセルの活性化により、前記特定の第1のカプセルからの前記第2のカプセルに対する前記投票を重み付けするステップをさらに含む請求項2に記載のシステム。
【請求項４】
前記特定の繰り返しに対する前記第2のカプセルと関連付けられる前記コストは、前記特定の繰り返しに対する前記第1のカプセル層の前記第1のカプセルと前記第2のカプセルとの間の前記ルーティング係数に少なくとも一部は基づきさらに決定される請求項2から3のいずれか一項に記載のシステム。
【請求項５】
前記特定の繰り返しに対する前記第2のカプセルと関連付けられる前記コストは、逆温度パラメータに少なくとも一部は基づき、さらに決定される請求項2から4のいずれか一項に記載のシステム。
【請求項６】
前記特定の繰り返しに対する前記第2のカプセルの前記重み付き投票の分布を特徴付ける前記パラメータは、
前記特定の繰り返しに対する前記第1のカプセル層の前記1つまたは複数の第1のカプセルからの前記第2のカプセルに対する前記重み付き投票の平均と、
前記特定の繰り返しに対する前記第1のカプセル層の前記1つまたは複数の第1のカプセルからの前記第2のカプセルに対する前記重み付き投票の分散とを含む請求項2から5のいずれか一項に記載のシステム。
【請求項７】
前記第1のカプセル層のカプセルと前記シーケンス内の前記第1のカプセル層の後にある第2のカプセル層のカプセルとの間の最終ルーティング係数を決定するステップは、
動的ルーティングアルゴリズムの1回または複数回の繰り返しを実行するステップであって、前記動的ルーティングアルゴリズムの特定の繰り返しは、
前記第2のカプセル層の各第2のカプセルについて、
前記特定の繰り返しに対する前記第1のカプセル層の1つまたは複数の第1のカプセルからの前記第2のカプセルに対する重み付き投票を決定するステップであって、
前記第1のカプセル層の特定の第1のカプセルからの前記第2のカプセルに対する投票を、前記特定の第1のカプセルと関連付けられる前記第2のカプセルの重み行列を前記特定の第1のカプセルの前記出力に乗算することによって決定するステップと、
前記第1のカプセル層の前記特定の第1のカプセルからの前記第2のカプセルに対する前記投票を、前記特定の繰り返しに対する前記特定の第1のカプセルと前記第2のカプセルとの間の正規化されたルーティング係数で重み付けするステップとを含む、前記重み付き投票を決定するステップと、
次の繰り返しに対するルーティング係数を決定するステップであって、前記次の繰り返しに対する前記第1のカプセル層の第1のカプセルと前記第2のカプセル層の第2のカプセルとの間のルーティング係数を決定するステップは、
前記特定の繰り返しに対する前記第1のカプセル層の前記1つまたは複数の第1のカプセルからの前記第2のカプセルに対する前記重み付き投票の和を決定するステップと、
前記特定の繰り返しに対する前記第2のカプセルに対する前記重み付き投票の前記和と前記第1のカプセルからの前記第2のカプセルに対する前記投票との間の類似性尺度を決定するステップと、
前記次の繰り返しに対する前記第1のカプセルと前記第2のカプセルとの間の前記ルーティング係数を、前記特定の繰り返しに対する前記第1のカプセルと前記第2のカプセルとの間の前記ルーティング係数と前記決定された類似性尺度とを組み合わせることによって決定するステップとを含む、前記次の繰り返しに対するルーティング係数をステップと
を含む、前記動的ルーティングアルゴリズムの1回または複数回の繰り返しを実行するステップと、
最終ルーティング係数を、前記動的ルーティングアルゴリズムの最後の繰り返しにおいて決定された前記ルーティング係数であると決定するステップとを含む請求項1に記載のシステム。
【請求項８】
前記第2のカプセルに対する前記重み付き投票の前記和を決定するステップは、前記第2のカプセルに対する前記重み付き投票の前記和を正規化するステップをさらに含む請求項7に記載のシステム。
【請求項９】
前記第2のカプセルに対する前記重み付き投票の前記和と前記第1のカプセルからの前記第2のカプセルに対する前記投票との間の前記類似性尺度が、
前記第2のカプセルに対する前記重み付き投票の前記和と前記第1のカプセルからの前記第2のカプセルに対する前記投票との内積を含む、請求項7から8のいずれか一項に記載のシステム。
【請求項１０】
前記受け取った入力に基づき特定のカプセル出力を決定するステップは、
前記前のカプセル層の前記カプセルからの前記特定のカプセルに対する重み付き投票を決定するステップであって、
前記前のカプセル層内の所与のカプセルからの前記特定のカプセルに対する投票を、前記所与のカプセルと関連付けられる前記特定のカプセルの重み行列を前記所与のカプセルの前記出力に乗算することによって決定するステップと、
前記前のカプセル層内の前記所与のカプセルからの前記特定のカプセルに対する前記投票を、前記所与のカプセルと前記特定のカプセルとの間の最終ルーティング係数で重み付けするステップとを含む、前記重み付き投票を決定するステップと、
前記前のカプセル層の前記カプセルからの前記特定のカプセルに対する前記重み付き投票を組み合わせることによって、前記特定のカプセル出力を決定するステップと
を含む請求項2から9のいずれか一項に記載のシステム。
【請求項１１】
前記最終ルーティング係数は正規化される請求項10に記載のシステム。
【請求項１２】
前記前のカプセル層内の前記所与のカプセルからの前記特定のカプセルに対する前記投票を重み付けするステップは、
前記所与の第1のカプセルの活性化によって、前記所与のカプセルからの前記特定のカプセルに対する前記投票を重み付けするステップをさらに含む請求項10または11のいずれか一項に記載のシステム。
【請求項１３】
前記前のカプセル層の前記カプセルからの前記特定のカプセルに対する前記重み付き投票を組み合わせるステップは、
前記前のカプセル層の前記カプセルからの前記特定のカプセルに対する前記重み付き投票の平均を決定するステップを含む請求項10から12のいずれか一項に記載のシステム。
【請求項１４】
前記受け取った入力に基づき特定のカプセル出力を決定するステップは、
前記前のカプセル層の前記カプセルからの前記特定のカプセルに対する前記重み付き投票の分布を特徴付ける1つまたは複数のパラメータの値を決定するステップと、
前記特定のカプセルに対する前記重み付き投票の前記分布を特徴付ける前記パラメータの前記値に少なくとも一部は基づき、前記特定のカプセルと関連付けられるコストを決定するステップと、
前記特定のカプセルと関連付けられる前記コストに少なくとも一部は基づき前記特定のカプセルの活性化を決定するステップとをさらに含む請求項10から13のいずれか一項に記載のシステム。
【請求項１５】
カプセルの前記出力はアクティビティベクトルを含む請求項1から14のいずれか一項に記載のシステム。
【請求項１６】
カプセルの前記出力はアクティビティ行列を含む請求項1から15のいずれか一項に記載のシステム。
【請求項１７】
前記ニューラルネットワークは、1次カプセル層が後続する初期畳み込み層を備える請求項1から16のいずれか一項に記載のシステム。
【請求項１８】
前記1次カプセル層の後に、複数の畳み込みカプセル層が続く請求項17に記載のシステム。
【請求項１９】
前記複数の畳み込みカプセル層のうちの最後の畳み込みカプセル層の後に、クラスカプセル層が続く請求項18に記載のシステム。
【請求項２０】
前記クラスカプセル層の各カプセルについて、同じタイプの前記最後の畳み込みカプセル層のカプセルと関連付けられる前記カプセルの重み行列は重み値を共有し、
畳み込みカプセル層の第1のカプセルは、前記第1のカプセルの重み行列が第2のカプセルの重み行列と重み値を共有する場合に前記畳み込みカプセル層の第2のカプセルと同じタイプであり、
前記最後の畳み込みカプセル層のカプセルの受容野の中心の座標に基づく値が、前記最後の畳み込みカプセル層のカプセルの投票に加えられる、請求項19に記載のシステム。
【請求項２１】
前記ニューラルネットワークは、ネットワーク入力を受け取り、前記ネットワーク入力をクラスの所定のセットのうちの1つまたは複数に属すものとして分類するように構成され、前記クラスカプセル層は、前記所定のセット内の各クラスに対するそれぞれのカプセルを含む請求項19から20のいずれか一項に記載のシステム。
【請求項２２】
前記クラスカプセル層のそれぞれのカプセルの活性化は、前記クラスカプセル層の他のカプセルの活性化より大きく、
前記ネットワーク入力は、前記クラスカプセル層の前記それぞれのカプセルに対応する特定のクラスに属すものとして分類される請求項21に記載のシステム。
【請求項２３】
前記ネットワーク入力は画像である請求項1から22のいずれか一項に記載のシステム。
【請求項２４】
1つまたは複数のコンピュータによって実行されたときに請求項1から23のいずれか一項に記載の前記ニューラルネットワークおよびサブシステムを実装することを前記1つまたは複数のコンピュータに行わせる命令を記憶する1つまたは複数のコンピュータ記憶媒体。
【請求項２５】
方法であって、
ネットワーク入力を受け取るステップと、
請求項1から23のいずれか一項に記載の前記ニューラルネットワークおよびサブシステムを使用して前記ネットワーク入力を処理するステップとを含む方法。
【国際調査報告】
2021501392.tif 000024
2021501392.tif 000025