(57)【要約】再帰的皮質ネットワークにおいてデータ解釈を生成するための方法は、再帰的皮質ネットワークの第１層の子特徴ノードにおいて１組の証拠データを受信するステップと、ネットワークの層間で証拠データおよび変換データのメッセージングを指示する変換構成を設定するステップと、変換構成に従って証拠データに対して一連の変換を実行するステップであって、前記一連の変換は、少なくとも１つの順方向変換と少なくとも１つの逆方向変換とを含むステップと、変換された証拠データを出力するステップとを含む。【選択図】図１
2019520655.tif 000002
【特許請求の範囲】
【請求項１】
双方向レイヤベースネットワークにおいてデータ解釈を生成するための方法であって、
・証拠データのセットを受信するステップと、
・ネットワークの層間で証拠データおよび変換済みデータのメッセージングを指示する変換構成を設定するステップと、
・前記ネットワークの第１層において、証拠データのセットの、第１の変換データのセットへの第１の順方向変換を実行するステップと、
・前記ネットワークの第２層において、前記第１の変換データのセットから、第２の変換データのセットへの第２の順方向変換を実行するステップと、
・前記ネットワークの第２の層において、前記第２の変換データのセットの、第３の変換データのセットへの第１の逆方向変換を実行するステップと、
・前記ネットワークの第２層において、前記第３の変換データのセットの、第４の変換データのセットへの第３の順方向変換を実行するステップと、
・前記第４の変換データのセットを出力するステップとを含むことを特徴とする方法。
【請求項２】
請求項１の方法において、前記双方向レイヤベースネットワークは再帰的皮質ネットワークであることを特徴とする方法。
【請求項３】
請求項１の方法において、前記第２の順方向変換を実行するステップは、
○前記第２の層の１またはそれ以上の入力において、前記第１の変換データのセットを受け取るステップと、
○前記第１の変換データのセットと、前記第２の層で符号化された事前確率および尤度関係のセットとに基づいて、第１の事後確率分布を計算するステップと、
○前記第２の層の出力において、前記第１の事後確率分布から前記第２の変換データのセットを生成するステップと、を含み、
前記第１の逆方向変換を実行するステップは、
○前記第２の層の出力において、前記第２の変換データのセットを受信するステップと、
○前記第２の変換データのセットと、前記第２の層で符号化された事前確率および尤度関係のセットとに基づいて更新された尤度のセットを計算するステップと、
○前記第２の層の１以上の入力において、前記更新された尤度のセットから前記第３の変換データのセットを生成するステップとを含むことを特徴とする方法。
【請求項４】
請求項３の方法において、前記第３の順方向変換を実行するステップは、
○前記第２の層の１以上の入力において、前記第３の変換データのセットを受け取るステップと、
○前記第１の変換データのセットと、前記第３の変換データのセットの更新された尤度のセットと、前記第２の層で符号化された事前確率および尤度関係のセットとに基づいて、第２の事後確率分布を計算するステップと、
○前記第２の層の出力において、前記第２の事後確率分布から第４の変換データのセットを生成するステップとを含むことを特徴とする方法。
【請求項５】
請求項４の方法において、前記双方向レイヤベースネットワークが再帰的皮質ネットワークであることを特徴とする方法。
【請求項６】
請求項５の方法において、前記再帰的皮質ネットワークが分散コンピューティングシステムによって実施されることを特徴とする方法。
【請求項７】
請求項５の方法において、前記再帰的皮質ネットワークは、
・複数の階層へと編成されたサブネットワークの再帰的に設計されたネットワークを含み、
・前記サブネットワークは、少なくとも親特徴ノードと、プールノードと、親固有の子特徴ノードと、子特徴ノードとを含み、
・少なくとも１つのサブネットワークの親機能ノードは、当該少なくとも１つのサブネットワークの親機能ノードに接続された少なくとも２つのプールノード上で動作可能な選択関数で構成され、
・前記少なくとも１つのサブネットワークのプールノードは、当該少なくとも１つのサブネットワークのプールノードに接続された少なくとも２つのＰＳＣＦノード上で動作可能な選択関数で構成され、
・前記少なくとも１つのサブネットワークのＰＳＣＦノードは、接続された子特徴ノードをアクティベートするように構成され、
・前記子機能ノードは、下位階層の第２のサブネットワークの少なくとも親特徴ノードに接続可能であり、
・少なくとも２つのＰＳＣＦノードからの少なくとも２つの接続を有し、前記プールノードによる選択を増強するための選択関数を有する制約ノードを含むことを特徴とする方法。
【請求項８】
請求項５の方法において、前記証拠データのセットが画像データを含むことを特徴とする方法。
【請求項９】
請求項８の方法において、前記画像データが、エッジ検出フィルタによって処理された画像データを含むことを特徴とする方法。
【請求項１０】
請求項９の方法において、前記画像データがカメラによって取り込まれ、前記第４の変換データのセットを出力するステップが、画像の解釈データを出力するステップを含むことを特徴とする方法。
【請求項１１】
請求項４の方法において、静的変換構成に基づいて追加の順方向変換および逆方向変換を実行するステップをさらに含むことを特徴とする方法。
【請求項１２】
請求項４の方法において、動的変換構成に基づいて追加の順方向変換および逆方向変換を実行するステップをさらに含み、前記動的変換構成は、層出力の尤度のしきい値に基づいてメッセージングを指示することを特徴とする方法。
【請求項１３】
請求項４の方法において、動的変換構成に基づいて追加の順方向変換および逆方向変換を実行するステップをさらに含み、前記動的変換構成は、再帰レベルのしきい値に基づいてメッセージングを指示することを特徴とする方法。
【請求項１４】
請求項４の方法において、前記ネットワーク内で符号化された横方向制約に基づいて順方向変換を実行するステップをさらに含むことを特徴とする方法。
【請求項１５】
請求項１４の方法において、横方向制約に基づいて順方向変換を実行するステップは、前記ネットワークの少なくとも２つのノード間でアクティベーション制約を実施するステップを含むことを特徴とする方法。
【請求項１６】
請求項４の方法において、前記第４の変換データのセットを出力するステップは、データ分類子のセットを出力するステップを含むことを特徴とする方法。
【請求項１７】
再帰的皮質ネットワークにおいてデータ解釈を生成する方法であって、
・前記再帰的皮質ネットワークの第１層の子特徴ノードにおいて証拠データのセットを受信するステップであって、前記再帰皮質ネットワークは１組の層からなり、各層が少なくとも２つの子特徴ノードと、１つの親ノードとを具える、ステップと、
・前記ネットワークの層間で証拠データおよび変換済みデータのメッセージングを指示する変換構成を設定するステップと、
・前記変換構成に従って、前記証拠データに対して、少なくとも１つの順方向変換と少なくとも１つの逆方向変換とを含む一連の変換を実行するステップと、
・変換された証拠データを出力するステップと、を含むことを特徴とする方法。
【請求項１８】
請求項１７の方法において、前記変換構成は、前記方法によって実行される順方向変換および逆方向変換の順序を明示的に列挙する静的な変換構成であることを特徴とする方法。
【請求項１９】
請求項１７の方法において、前記変換構成は、層出力の確率しきい値に基づいて順方向変換および逆方向変換の順序を設定する動的な変換構成であることを特徴とする方法。
【請求項２０】
請求項１７の方法において、前記変換構成は、再帰レベルのしきい値に基づいて順方向変換および逆方向変換の順序を設定する動的な変換構成であることを特徴とする方法。
【発明の詳細な説明】
【技術分野】
【０００１】
［０００１］本発明は、一般に人工知能分野に関し、より詳細にはニューラルネットワーク用のデータ解釈を生成するための新規で有用なシステムおよび方法、ならびに人工知能分野における関連システムに関する。
【背景技術】
【０００２】
［０００２］コンピュータビジョン、画像処理、および機械学習の進歩にも拘わらず、視覚オブジェクトの認識においては、コンピュータが人間の能力と比較して劣る課題が未だ残っている。画像からオブジェクトを認識することは、シーン内で画像を認識することを必要とするだけでなく、様々な位置で、異なる設定で、わずかな変化を伴ってオブジェクトを認識することも必要とする。例えば、椅子を認識するためには、椅子が椅子であるとする生来の性質を理解する必要がある。これは人間にとっては簡単な作業である。コンピュータは、さまざまな種類の椅子や、椅子が存在し得るシチュエーションに対処するのに苦労する。シーン内の複数のオブジェクトを検出するという問題を考えると、この問題はさらに困難となる。視覚オブジェクト認識を実行可能なモデルは、それらの視覚的データセット内に存在するオブジェクトを認識するために、視覚的データセットについての説明を提供できなければならない。視覚オブジェクト認識は、パターン認識（およびその逆のパターン生成）という人工知能におけるより一般的な問題の特定のケースである。パターン認識は、音声認識、自然言語処理、および他の分野などの画像処理以外の他の分野および媒体において問題である。したがって、ニューラルネットワークおよび関連システムのためのデータ解釈を生成するための新しく有用な方法を作り出すことが人工知能分野において必要とされている。本発明はそのような新規かつ有用な方法を提供する。
【図面の簡単な説明】
【０００３】
【図１】［０００３］図１は、レイヤベースの双方向データ変換システム（ＬＢＤ）のフローチャート図である。
【図２】［０００４］図２は、再帰的皮質ネットワーク（ＲＣＮ）の概略図である。
【図３】［０００５］図３は、再帰的皮質ネットワーク（ＲＣＮ）の概略図である。
【図４】［０００６］図４は、ＲＣＮのサブネットワークの概略図である。
【図５】［０００７］図５は、ＲＣＮのサブネットワークの概略図である。
【図６】［０００８］図６は、好ましい実施形態の方法のチャート図である。
【図７】［０００９］図７は、順方向変換を用いた推論の概略図である。
【図８】［００１０］図８は、順方向変換および逆方向変換の組み合わせを使用した推論の概略図である。
【図９】［００１１］図９は、好ましい実施形態の方法の順方向変換のフローチャート図である。
【図１０】［００１２］図１０は、ＬＢＤの例示的な図である。
【図１１】［００１３］図１１は、好ましい実施形態の方法の順方向変換の例示的な実装例を示す図である。
【図１２】［００１４］図１２は、好ましい実施形態の方法の順方向変換の例示的な実装例を示す図である。
【図１３】［００１５］図１３は、好ましい実施形態の方法の逆方向変換の例示的な実装例を示す図である。
【図１４】［００１６］図１４は、好ましい実施形態の方法の逆方向変換のフローチャート実装例である。
【図１５】［００１７］図１５は、好ましい実施形態の方法の逆方向変換の例示的な実装例である。
【発明を実施するための形態】
【０００４】
［００１８］本発明の好ましい実施形態の以下の説明は、本発明をこれらの好ましい実施形態に限定することを意図するものではなく、むしろ当業者が本発明を製造および使用することを可能にすることを意図する。
【０００５】
［００１９］好ましい実施形態のデータ解釈を生成するためのシステムおよび方法は、ニューラルネットワークおよび関連システムの生成および／または推論タスクを改善するように機能する。このシステムおよび方法は、データ変換システム（例えば、ニューラルネットワーク）の様々な層を通した双方向変換を適用することが好ましい。パターン認識の課題に取り組むために、好ましい実施形態のシステムおよび方法を適用して、パターンデータに関するデータ解釈（data explanation）を生成することができる。データ解釈の生成は、畳み込みニューラルネットワーク、再帰的皮質ネットワーク、および各層が下の層に変換を適用する一連の層からなる他のモデルを含む多くのパターン認識モデルにとって重要である。ニューラルネットワークの第１の目的タスクでは、推論出力が生成される。本明細書では、そのような推論出力を生成するためのプロセスおよびシステムについて説明する。特に、一例では、逆方向の生成変換を適用して、推論出力を好ましくは改善することができる。ニューラルネットワークの第２の目的タスクでは、生成出力または想像出力（imagining output）を提供することができる。本明細書に記載のシステムおよび方法は、追加的または代替的に、そのような生成出力を提供するために適用され得る。生成プロセスの一変形例では、生成出力を好ましくは改善するために、少なくとも部分的に推論変換を使用することが好ましい。このシステムおよび方法は、ニューラルネットワーク、より具体的には再帰的皮質ネットワークで使用されることが好ましいが、このシステムおよび方法はさらに、任意の適切な階層化データ変換システムに使用することができる。
【０００６】
１．ニューラルネットワークと関連システム
［００２０］ニューラルネットワークと関連システムは、再帰的皮質ネットワーク（ＲＣＮ）、畳み込みニューラルネットワーク（ＣＮＮ）、ＨＭＡＸモデル、低速特徴分析（ＳＦＡ）システム、および階層的時間記憶（ＨＴＭ）システムを含み、標準的なルールベースのプログラミングを使用しては完成が困難な多種多様なタスクに使用することができる。これらのタスクには、コンピュータビジョンと音声認識の重要な分野の多くが含まれる。
【０００７】
［００２１］ニューラルネットワークおよび関連システムは、要素の入来メッセージ／信号に加算、乗算、べき乗または他の関数を実行する分散処理要素として表すことができる。このようなネットワークは、さまざまな実装例を通じて実現および実装することができる。例えば、あるシステムは、電子的に結合された機能ノード構成要素のネットワークとして実施することができる。これらの機能ノード構成要素は、特定の機能を実行するようにプロセッサ内に配置または構成された論理ゲートとすることができる。第２の例として、システムは、プロセッサ上で動作するようにプログラムおよび／または構成されたネットワークモデルとして実装することができる。そのようなネットワークモデルは、ネットワークのノード間の動作および通信を符号化した電子的に格納されたソフトウェアであることが好ましい。ニューラルネットワークおよび関連システムは、多種多様な用途に使用できるとともに、画像、映像、音声、自然言語テキスト、分析データ、広く分散されたセンサデータ、または他の適切なデータ形式などを入力とする多種多様なデータタイプを使用できる。
【０００８】
［００２２］ニューラルネットワークおよび関連システムは、多数の変換層を含むシステムとして説明することができる。これらのシステムに入る入力データ（通常は低い抽象レベルを有する）は、第１の層で変換されて第１の中間データが生成される。この第１の中間データは、第２の層で変換されて第２の中間データが生成され、以下同様である。このプロセスは、システムが最終層に到達するまで継続し、そこで中間データから出力データ（通常はより高い抽象レベルを有する）が生成される。このプロセスは、データセットの局所的特徴を識別し、これらの局所的特徴に基づいてより複雑な特徴を識別するステップなどによって、当該データセットについてのデータ解釈（すなわち推論（inference））を生成するために用いられ、各層においてデータ解釈の抽象レベルが増大する。
【０００９】
［００２３］１つの層が、中間データと出力データの両方を生成してもよい。すなわち、ある中間層の出力は、上位の層への入力としても、データ解釈出力（すなわち、他のプロセスへの出力）としても使用することができる。
【００１０】
［００２４］いくつかのニューラルネットワークおよび関連システムを、補完的に使用することができる。このようにして、前述のシステムと同様のシステムを最終層（または中間層）から初期化（initialize）して、より高い抽象レベルからより低い抽象レベルへとデータを変換することができる。このプロセスは一般に生成（generation）と呼ばれる（そして、生成が入力データから生成されたデータによって影響されない場合には想像（imagination）と呼ばれる）。
【００１１】
［００２５］特に、人工知能アプリケーション（例えばコンピュータビジョン）の場合、ニューラルネットワークおよび関連システムは、図１に示すように、データ伝播の方向を変えることによって推論と生成の両方を実行することができる。このようなシステムでは、以降はレイヤベース双方向データ変換システム（ＬＢＤ）と呼ぶが、推論は、下位層から上位層への「ボトムアップメッセージ」（例えば、ＢＵ１、ＢＵ２・・・）の受け渡しによって実行される。一方で、生成は、システムの上位層からシステムの下位層への「トップダウンメッセージ」（例えば、ＴＤ１、ＴＤ２・・・）の受け渡しによって実行される。ＬＢＤでは、層の数は、入出力変換プロセスの様々な等級（gradation）を可能にするために任意に大きくてもよい。
【００１２】
［００２６］推論の一例として、ＬＢＤへの入力データは画像からなることがある。この画像データは、（ＢＵ１メッセージとして）ＬＢＤに直接導入されてもよいし、（例えば、ＢＵ１メッセージとして送信するために入力データの画像コントラストを高めることによって）前処理されてもよい。（前処理され、あるいはされていない）画像データからなるＢＵ１メッセージは、層１によって変換され、ＢＵ２メッセージとして表される変換済データセット（例えば、位置によって検出された輪郭）が作成される。このＢＵ２メッセージは、層３、４によってさらに変換されて、それぞれＢＵ３、ＢＵ４メッセージが順次作成される。この場合のＢＵ４メッセージは、たとえば、画像データ内の検出されたオブジェクトに対応するデータセットを表す。このＢＵ４メッセージは、後処理層によって処理されてもよい（例えば、ＢＵ４を画像内のオブジェクトを説明する記述へと処理する）。
【００１３】
［００２７］生成の似た例として、ＬＢＤに、後処理層を通過した生成制約（例えば、生成される画像内にあることが望まれるオブジェクトを説明する記述）、またはより直接的にはＴＤ１メッセージ（例えば、生成される画像データ内に含まれることが望まれるオブジェクトに対応するデータセット）が与えられる。ＴＤ１メッセージは、層３によってＴＤ２メッセージに変換され、次に層２によってＴＤ３メッセージに変換される。これらの層の変換は、層への入力（例えば、層３の場合にはＴＤ１メッセージ）に基づいて、可能性のあるより低い抽象レベルのデータを効果的に予測する。最終的に、ＬＢＤは、生成制約または他の初期化入力に基づいてシステムによって予測された画像データを表す生成データを出力することができる。追加的または代替的に、ＬＢＤは生成のための入力データを与えられず、システムに記憶されているデフォルト値（あるいはランダムに生成された値）の仮定（assumption）をもたらす。このＬＢＤの出力は、想像（imagination）と呼ばれる特別な生成のケースである。
【００１４】
［００２８］前の２つの例は入力データおよび／またはＢＵ１メッセージの推論と、生成制約および／またはＴＤ１メッセージに基づく生成を表すが、そのような推論または生成は、ＬＢＤの任意の層で生じ得る。例えば、ＬＢＤは、層３に直接提供されたデータに対して推論を実行してもよい。ニューラルネットワークおよび関連システムは、推論および／または生成プロセス中に、相補的な生成および／または推論を適用することが好ましい。
【００１５】
２．再帰皮質ネットワーク
［００２９］本願に記載された好ましい実施形態のシステムおよび方法は、好ましくは上記の説明に適合する任意のニューラルネットワークおよび関連システム（すなわち、ＬＢＤ）に適用可能であるが、実装の詳細および実施例は特に再帰皮質ネットワーク（ＲＣＮ）に関連する。
【００１６】
［００３０］図２に示すように、再帰的皮質ネットワーク（ＲＣＮ）は複数のサブネットワークを含み得る。１のサブネットワークは、少なくとも親特徴ノードと、プールノードと、親固有の子特徴ノード（または略してＰＳＣＦノード）と、少なくとも１つの制約ノードとを含むことが好ましい。ＲＣＮは、第１の動作モード：生成モードと、第２のモード：推論モードとを含む、異なる動作モード用に構成することができる。ＲＣＮは、図３に示すように、様々な親子関係にある相互接続されたサブネットワークの階層的に編成されたネットワークであることが好ましい。あるいは、ＲＣＮは、サブネットワークの集合体のうちの単一層または単一のサブネットワークであり得る。
【００１７】
［００３１］図４に示すように、ＲＣＮサブネットワークの様々なインスタンスおよびインスタンス化が、ＲＣＮの階層において再帰的に構築、接続、および使用される。階層ネットワークのアーキテクチャは、アルゴリズム的に、または少なくとも部分的なユーザ選択および構成を通じて構築することができる。ＲＣＮは、ニューラルネットワークにおける特徴ノードとプールノードの交互の層として説明することができる。サブネットワークは、特徴入力ノードと特徴出力ノードとを有し、これらの特徴ノードは、サブネットワークをブリッジまたは接続するために使用される。図４に示されるように、特徴ノードは、プールにわたって空間的または時間的に異なるサブネットワーク間で制約を橋渡しする制約ノードを使用することによって様々な不変パターンに制約することができる。階層ネットワークの各ノードは、親ノード接続と子ノード接続を有することが好ましい。一般に、親ノード接続は、好ましくは生成における入力と推論における出力である。逆に、子ノード接続は、生成における出力と推論における入力である。単層（または非階層）のサブネットワークの変形例では、サブネットワークは姉妹（siblings）として配置される。以下に記載されるようなサブネットワークは、様々な形態の制約ノードを介して相互作用を有し得る。
【００１８】
［００３２］サブネットワークは、ネットワーク内で様々な異なる構成でセットアップすることができる。構成の多くは、サブネットワーク内、サブネットワーク間、またはネットワーク間のでさえもノード選択を定義する制約ノードによって決定される。さらに、サブネットワークは、個別のまたは共有の子特徴を持つように設定することができる。サブネットワークはさらに階層的に配置され得る。換言すれば、第１のサブネットワークは第２のサブネットワークの親であり得る。同様に、第２のサブネットワークはさらに第３のサブネットワークの親であり得る。サブネットワークの層は、共有の親特徴ノードおよび子特徴ノードを介して接続されることが好ましい。好ましくは、最上層のサブネットワークの子特徴ノードは、下位のサブネットワークの親特徴ノードである。逆に、サブネットワークの親特徴ノードは、より上位のサブネットワークの子特徴ノードとして参加することができる。最上位のサブネットワークの親特徴ノードは、好ましくはシステムへの入力である。最下位／最底位のサブネットワークの子特徴は、好ましくはシステムの出力である。複数のサブネットワークを接続すると、ネットワーク内のいくつかのノードでマルチペアレントインタラクションを導入することができる。これらの相互作用は、ノード内の異なる確率モデルを使用してモデル化することができる。
【００１９】
［００３３］サブネットワークを階層的に接続すると、サブネットワークの再利用を通じてコンパクトで圧縮された表現（representation）を促進するように機能する。１つのサブネットワークの親特徴ノードは、複数の親サブネットワークにおける子特徴ノードとして参加できる。同様の利点は、子サブネットワークの不変表現（invariant representations）を複数の親サブネットワークで再利用できることである。これが適用可能である一例が、ＲＣＮが視覚オブジェクトを表す場合である。下位のサブネットワークがオブジェクトの一部に対応することができ、上位のサブネットワーク（すなわち上層サブネットワーク）がそれらの部分がオブジェクトを形成するためにどのように集まるかを表すことができる。例えば、下位レベルのサブネットワークは、牛の画像のボディーパーツの表現に対応することができる。各ボディーパーツは不変に表現され、並進、縮尺変更、歪みなどの位置の変換に対して寛容度がある。上位レベルのサブネットワークが、各ボディーパーツが牛を表すためにどのように集まるかを指定する。牛の下位レベルのボディーパーツのいくつかは、ヤギを表すために上位レベルで再利用することができる。例えば、これら両方の動物の足は同様に動くので、これらのパーツは潜在的に再使用される可能性がある。これは、牛の足のために学習された不変の表現が、自動的にヤギの表現に再利用されることを意味する。
【００２０】
［００３４］ＲＣＮは、データ解釈を生成する（例えば、画像内のオブジェクトを分類する）ためにも、データ予測を生成する（例えば、オブジェクトのセットを含む画像）ためにも使用することができる。データ解釈の生成時、好ましくはＲＣＮのノードは、入力データ特徴に作用し、最上位サブネットワークの親特徴からの出力が得られるまでＲＣＮの階層を通してノード選択／処理を伝播する。この出力を達成するために、情報を階層の上方（上位の親の層へ）および下方（最終的な子特徴へ）に伝播させることの組み合わせを使用することができる。データ予測の生成時、好ましくはＲＣＮは、最上層サブネットワークの親特徴ノードに向けられた、供給された、または配信された一般的な生成リクエストから開始する。ノードは、情報に対して作用し、最下層サブネットワークの子特徴ノードから出力が得られるまで、ＲＣＮの階層を下ってノード選択／処理を伝播することが好ましい。図５に示すように、サブネットワークは、親特徴と子特徴との間のノード選択操作を提供するように機能する。サブネットワークはＲＣＮの基本的な構成要素である。サブネットワークは、生成の場合、１つのより高いレベルの特徴から１組のより低いレベルの特徴へとマッピングまたはネットワーク化され、それにより、より低いレベルの特徴のアクティビティ（例えば、画像の視覚的特徴）が、より高いレベルの特徴のアクティビティ（例えば、オブジェクト名）によって決定される。推論の場合、サブネットワークはより低いレベルの特徴からより高いレベルの特徴へとマッピングまたはネットワーク化され、それにより、より高いレベルの特徴のアクティビティ（例えば、オブジェクト名）がより低いレベルの特徴のアクティビティ（例えば、画像の視覚的特徴）によって決定される。サブネットワークの一般的なアーキテクチャは、好ましくは、親特徴ノードである単一の最上位ノードを含む。親特徴ノード（ＰＦ１）は、少なくとも２つのプールノード（Ｐ１およびＰ２）への接続を含むことが好ましい。各プールノードは、複数のＰＳＣＦノード１３０（Ｘ１、Ｘ２、Ｘ３、Ｘ４、Ｘ５、Ｘ６）への接続を含むことが好ましい。制約ノード（Ｃ１、Ｃ２、Ｃ３）がさらにサブネットワーク内にあってもよい。制約ノードは、他のＰＳＣＦノードに接続することが好ましい。制約ノードは、少なくとも２つのＰＳＣＦノード間の制限、規則、および限定を定義する。ＰＳＣＦノードは、子特徴ノード１５０（ＣＦ１、ＣＦ２、ＣＦ３、ＣＲ４、ＣＦ５、ＣＦ６）に接続することが好ましい。ＲＣＮ内のサブネットワークのインスタンスは、他のサブネットワークと共通性を共有しても、しなくてもよい。各ノードの機能的動作は、接続の数および構成、接続の重み付け、および／または他の任意の態様において異なってもよい。いくつかのエッジケースでは、サブネットワークのノード選択オプションは１つだけではない場合がある。１つの例示的なエッジケースでは、親特徴のアクティベーションが子特徴のアクティベーションをもたらすように、サブネットワークを選択オプションなしで定義することができる。例えば、親特徴ノードが１つのプールに接続し、その１つのプールが１つのＰＳＣＦノードに接続してもよい。
【００２１】
［００３５］ネットワークのノードは、ノードのアクティベーション、選択、オン／オフ、または他の適切な状態を決定する確率的インタラクションで動作、実行、または相互作用するように構成されることが好ましい。親ノードによってアクティベートされると、ノードは、ノードの選択関数に従って、接続されている子ノードのアクティベーションをトリガすることが好ましい。ノードは、好ましくは、ベイジアンネットワークにおけるようにバイナリ確率変数または多項確率変数を表すが、他の適切なノードモデルが代わりに使用されてもよい。特徴ノード（例えば、親特徴ノード、子特徴ノード）は、バイナリランダム変数ノードであり、複数の親と複数の子を有することができることが好ましい。複数の親を有する（すなわち、親接続／入力接続を介して複数のノードが接続されている）場合、親接続間の相互作用は、接続の重ね合わせ（superposition）として扱われるのが好ましい。追加的または代替的に、複数親の相互作用は任意の方法でモデル化することができる。複数親の相互作用は、Ｎｏｉｓｙ−ＯＲやＮｏｉｓｙ−ＭＡＸゲートなどの正準モデルを使用して、ノード内で確率的にモデル化することができる。特徴ノードの子接続は、特徴とプールとの間の確率的関係をエンコードすることが好ましい。いくつかのＲＣＮでは、１の特徴がアクティブであればその特徴のすべてのプールがアクティブとなるが、そのようなアクティベーションは確率表または任意の適切なメカニズムに従って修正することができる。以下の表に示すように、ノードからプールノードへの各リンクは、種類Ｐ（プール｜特徴）の確率テーブルをエンコードする。
2019520655.tif 000003
【００２２】
［００３６］プールノードがオンの場合、特徴がオンのときにのみ、ｐとｑはゼロになる。しかしながら、ｐとｑの他の値が代わりに使用されてもよい。プールノードは、バイナリノードとして扱われることが好ましい。プールノードは、上記の確率テーブルを表す１つの親接続を有することが好ましい。プールノードは、子ノードへの複数の接続を有することができる。一例では、子ノード接続は、瞬時（instant-by-instant）の接続を表す。瞬時の接続は、関連する確率でプール要素に対してＯＲ選択関数を実行することが好ましい。換言すれば、瞬時接続は、多項確率変数接続を表す。プール要素（pool members、ＰＳＣＦノードの可能なアクティベートセットとしてモデル化される）は、好ましくは、バイナリ確率変数として作用するように構成され、そのうちの少なくとも１つが、分布Ｐ（Ｍ｜プール）に従ってプールが選択されるときに選択される。プール要素は、子特徴の関数の組み合わせを表す。例えば、プール要素１が子特徴１と子特徴２であるとする。制約ノードは、観測値が１にインスタンス化されているバイナリノードとして扱われるのが好ましい。これらの制約ノードで使用される確率テーブルは、制約ノードに接続する親ノード間で強制される種類の制約を実装する。制約は多くの場合ＡＮＤまたはＯＲ制約であるが、任意の適切な選択関数であってもよい。これらの制約ノードはさらに、対の接続よりも大きい接続を有するノードであり得る。
【００２３】
［００３７］親特徴ノードは、上位の特徴ノードとして機能する。生成動作モードでは、親特徴ノードはサブネットワークの入力となる。推論動作モードでは、親特徴ノードはサブネットワークの出力となる。親特徴ノードは、アクティベート時に選択関数を実施するように構成される。選択関数は、ノード選択のＡＮＤ、ＯＲ、ＮＯＴ、ＸＯＲ演算のためのブール選択関数などの論理関数であることが好ましい。例えば、Ｐ１とＰ２がＰＦ１のプールノードであり、ＰＦ１がＡＮＤ選択関数として構成されている場合、ＰＦ１のアクティベーションにより、Ｐ１とＰ２のプールがアクティベートされる。この選択関数は、演算子がＸＯＲであり、１つの接続されたノードのみが選択可能である場合など、異なるオプション間の選択を決定するためのランダム化された選択メカニズムを含み得る。さらに、ランダム化された選択は、親特徴ノードとプールノードとの間の接続のノード接続重み付けに従って偏りまたは重み付けされてもよい。選択関数は、代替として、確率選択関数または接続オプションを選択する際に用いられる任意の適切な関数であり得る。
【００２４】
［００３８］プールノードは、子特徴のセットから選択するためのノードとして機能する。１のプールノードに関連付けられた子特徴は好ましくは、関係を共有し、相関を有し、または互いのバリエーション（variations）である。例えば、１のプールは、ピクセルパターンの位置が異なる複数のバリエーションのためのものであり得る。換言すれば、ＰＳＣＦノードは好ましくは、特徴のバリエーションの不変の表現（invariant representation）である。図５において、Ｐ１は垂直線の３つの異なる変形（translations）に対する１の不変表現であり、Ｐ２は水平線の３つの異なる変形に対する１の不変表現である。本明細書では、プールという用語は、特定のプールノードに対するＰＳＣＦノードの可能なセットを指すために使用されることがある。可能なＰＳＣＦノードのセットは、好ましくは、プールノードへの接続を有する任意のＰＳＣＦノードである。プールには制約があってもよい。例えば、プールの要素は｛（ａ）、（ｂとｃ）、（ｄ）、（ｅ）｝のセットであり得、ここで、ａ、ｂ、ｃ、ｄ、ｅは子特徴である。親特徴ノードと同様に、プールノードは、アクティベート時に選択関数を実行するように構成される。この選択関数は、任意の適切な関数とすることができるが、親特徴ノードについて上述したように論理演算子であることが好ましい。選択関数は、同様に、ランダム化、偏りおよび／または重み付けすることができる。プールノードの選択関数は、対応するＰＳＣＦノードを選択、トリガ、アクティベート、または他の方法でシグナリングすることが好ましい。さらに、選択関数は、アクティベートされた制約ノードに基づいて制限または無効にされてもよい。アクティベートされた制約ノードは、（制約ノードを介して接続されている）ＰＳＣＦノードの選択に基づいてプール内でどのノードが選択されるかを定義してもよい。同様に、それはプールノードのための可能なＰＳＣＦノードのセットを決定し、および／またはプールノードの重み付けまたはプリファレンスを決定することができる。サブネットワーク内のプールノードを、必要に応じて制約ノードが他のプールに適用され得るように順次評価することができる。
【００２５】
［００３９］ＰＳＣＦノードは、不変特徴オプションのオプションとして機能する。１つのＰＳＣＦノードは１つの子特徴にマッピングし、１つのＰＳＣＦノードは親プールノードを１つのみ有する。ＰＳＣＦノードは、制約ノードとさらに接続または結合されてもよい。制約ノードは、複数のＰＳＣＦノード間の関係を定義することが好ましい。制約ノードは、異なるプール、異なる時間、および／または異なるサブネットワークの他のＰＳＣＦノードに接続することが好ましい。ＰＳＣＦノードは、サブネットワーク間で共有されないことが好ましい。しかしながら、子特徴ノード（下位のサブネットワークの親ノードであり得る）は、複数のサブネットワークへの接続を共有してもよい。
【００２６】
［００４０］制約ノードは、サブネットワークにおいて許容されるパターンの種類を制限するように機能する。制約ノードは、少なくとも２つのＰＳＣＦノードに接続することが好ましい。あるいは、２より多いＰＳＣＦノードが１の制約ノードを介して接続されてもよい。制約ノードはさらに、任意の適切な種類のノード間にあってもよい。制約ノードは、プールノード同士の間にあってもよい。制約ノードは、さらに２種類のノード間にあってもよい。例えば、制約ノードが、ＰＳＣＦノードとプールノードとを接続することができる。ここでは、好ましい実装例として制約ノードがＰＳＣＦノード同士を接続する例が示されているが、制約ノードは、ＲＣＮ内の（任意の種類の）ノードの任意のセット間で制約を課すのに使用することができる。制約ノードは、プールノード間、プールノードとＰＳＣＦノード間、またはネットワークの任意の適切なノード間にあり得る。ＰＳＣＦノードは、同じプールではないことが好ましく、場合によっては同じサブネットワークにない。制約ノードは好ましくは、同じ層のＰＳＣＦノード同士を接続するが、代わりに異なる層のサブネットワーク同士を接続してもよい。さらに、任意の適切なＰＳＣＦノードに、１つの制約ノードが接続されてもよいし、任意の適切な数の制約ノードが接続されてもよい。制約ノードは、他のプール、他のサブネットワーク、および／または異なる時間のノードの選択内で制限、ルール、および制約を実施することができる。ネットワークは、制約ノードを介して接続されているＰＳＣＦノードが好ましくは同時に評価されないように、好ましくは順序付けられた方法で評価される。第１のＰＳＣＦノードがアクティベートまたは選択されると、当該第１のＰＳＣＦノードに接続されている制約ノードがアクティベートされる。続いて、制約ノードの制限が、接続されたＰＳＣＦノード上でアクティベート／執行される。制約ノードは、他のノードと同様に、ＰＳＣＦノードをどのようにアクティベートするかを決定する選択関数を有し得る。制約ノードは好ましくは、プールノードがＰＳＣＦノードをどのように選択できるかに影響を与える。一例では、制約ノードの選択関数は、ＰＳＣＦノードの１つがアクティブである場合に、接続されているＰＳＣＦノードの選択を実施するようなＡＮＤ論理演算子である。別の変形例では、制約ノードの選択関数は、プール内の可能なＰＳＣＦノードを変更するようなＯＲ論理演算子であり得る。任意の適切な選択関数を使用することができる。いくつかの制約ノードは、１つのノードのアクティベーションが第２のノードの選択に対応するという基本的または単純な制約を有してもよい。選択ロジックはノード間の直接対応（direct correspondence）であるため、これらはノードなしの直接接続として表すことができる。
【００２７】
［００４１］制約ノードは、横方向制約ノード、外部制約ノード、および時間制約ノードを含むことができる。横方向制約ノードは、サブネットワークのプールノード間の相互作用に基づいてサブネットワークの種類のパターンを制限するように機能する。外部制約ノードは、異なるサブネットワークにまたがる不変パターンを執行するように機能する。１つのプールノードのどのＰＳＣＦノードが別のプールのＰＳＣＦノードと一緒にできるかの制約を課すことによって、横方向制約ノードが異なるプールの表現を互いに確実に矛盾しないようにさせる方法と同様に、外部制約ノードは、階層全体の適合性を維持することができる。時間制約ノードは、他の時間インスタンスで動作するＲＣＮおよびサブネットワークにわたって関係を執行するように機能する。基本レベルでは、プールの要素（例えば、共有の親プールノードを有するＰＳＣＦノード）は、それらが時間内に発生する順序を指定する関係を有することができる。時間制約ノードは、好ましくは単純な直接接続制約であり、１つのノードの起動／選択が、第２のインスタンスにおいて特定のノードの選択を執行する。別の説明では、制約ノードはマルコフ連鎖における仕様と似たように機能する。
【００２８】
［００４２］ＰＳＣＦノードには、２以上の種類の制約ノードを執行することができる。横方向制約ノードは、同じネットワークの異なるプール内のＰＳＣＦノード間に調整を課し、外部制約ノードは、異なるサブネットワーク内のＰＳＣＦノード間に調整を課す。制約ノードは、競合が生じないように設定されることが好ましい（例えば、一方の制約がノードをアクティベートし、他方がアクティベートすべきでないことを指定する場合）。制約ノードのランク付け、または制約ノードを実施する順序に関する手法、または他の適切な規則を使用して、制約ノード間の競合および競合を解決することができる。
【００２９】
３．データ解釈の生成方法
［００４３］図６に示されるように、レイヤベース双方向データ変換システム（ＬＢＤ）においてデータ解釈を生成する方法１００は、証拠データを受信するステップ（Ｓ１１０）と、変換構成を設定するステップ（Ｓ１２０）と、順方向変換を実行するステップ（Ｓ１３０）と、逆方向変換を実行するステップ（Ｓ１４０）と、変換済み証拠データを出力するステップ（Ｓ１５０）とを含む。
【００３０】
［００４４］方法１００は、レイヤベース双方向データ変換システム（ＬＢＤ）が受信した証拠データについての解釈を生成するように機能する。方法１００は、画像、映像、音声、スピーチ、医療センサデータ、自然言語データ、金融データ、アプリケーションデータ、交通データ、環境データなどのような多種多様なデータ種類におけるパターンを推論するために使用することができる。一実装例では、方法１００は、画像または映像内のオブジェクトの存在を検出するための画像検出に使用できる。方法１００は、追加的または代替的に、検出されたオブジェクトを分類するために使用され得る。
【００３１】
［００４５］方法１００は、証拠データ（ステップＳ１１０で受信）について、一連の順方向変換および逆方向変換（それぞれステップＳ１３０、Ｓ１４０）を通じ、変換済み証拠データを最終的に出力して（ステップＳ１５０）、解釈を生成し、これが受信された証拠データの解釈として理解または使用され得る。順方向変換および逆方向変換は、証拠データのセット全体または証拠データのサブセットに対して実行することができ、変換済み証拠データのセットは、変換ごとに異なる場合がある。さらに、順方向変換および逆方向変換は、同時を含む任意の順序および任意の時間に実行することができる。変換データセットの選択、順序、およびタイミングに関する詳細は、好ましくは変換構成（ステップＳ１２０で設定）によって指示される。
【００３２】
［００４６］一般に、順方向変換は証拠データの解釈を提供すると考えることができ、逆方向変換は特定の解釈を与えられた証拠データを予測すると考えることができる。前述のように、順方向変換および逆方向変換は、特定のデータの抽象化レベルを増減することと考えることもできる。順方向変換および逆方向変換はＬＢＤの層を通る動作方向として作用するが、好ましい実施形態の方法は、出力を向上させるために両方の形式の変換を適用することが好ましい。これらの説明は、順方向変換および逆方向変換を理解するためのガイドとして意図するものであり、（本明細書でより詳細に説明する）順方向および逆方向変換を限定または定義することを意図するものではない。
【００３３】
［００４７］逆方向変換は、抽象化の方向において順方向変換とは実質的に反対に動作するが（例えば、順方向変換および逆方向変換はそれぞれ抽象化レベルの増分子と減分子として作用する）、本方法は好ましくは逆方向変換を適用してデータの抽象化レベルを高めるのを補助することができる（例えば、証拠データの解釈を生成）。図７に示すように、入力画像内の文字を認識するように設計された基準の単方向ニューラルネットワークを考える。この基準のニューラルネットワークの例は、画像の異なるセクション（ａ、ｂ、ｃ）内の文字を認識するように設計された複数のサブネットワーク（Ｓａ、Ｓｂ、Ｓｃ）からなる。そして、ネットワークは、これらのサブネットワークによって検出された文字を、より上位レベルのノードで画像セクションの順序に対応する順序（すなわち、ａ→ｂ→ｃ）で出力する。このニューラルネットワークは、サブネットワークＳａ、Ｓｂ、およびＳｃが、入力データを、文字および位置空間にわたる尤度分布を含む中間データに変換するように設計されている。例えば、Ｓａによって出力される中間データの１つの要素には、入力データが与えられたときの位置ベクトル（ｘ１、ｙ１）に文字「ａ」が存在する尤度を含む。この中間データは、サブネットワークＯによって処理されて、文字列と位置空間とにまたがる文字列の尤度分布が生成され、これが最も可能性の高い文字列として出力される。図２の画像例の場合、この最も可能性の高い文字列は「ｃｋｏ」であり、これは明らかに画像に示されている文字列（「ｄｏ」）ではない。このニューラルネットワーク処理の例では、図７のニューラルネットワークは、各画像セクションの周囲の状況を考慮することができないため、誤った結果を返した。これは、例えば隣接する画像セクション内の文字に与えられた文字の組み合わせの事前確率を格納するなど、前後関係上のナレッジを層２に組み込むことを試みることによって対処することができる。例えば、「ｃ」?「ｌ」のペアが実際には「ｄ」であるという可能性がいくらかあり、または様々な文字列の可能性がある（例えば、特定の言語において「ｃｋｏ」が生じる可能性が低い可能性がある）。このアプローチは、様々な文字のペアの可能性が同等に高い場合や、ニューラルネットワークに格納されたナレッジが不十分である場合は難しくなる（例えば、ｃ?ｌのペアと「ｄ」の可能性が同等に高い場合や、トレーニングセット内で「ｃｋｏ」と「ｄｏ」の相対的な尤度が現実社会のデータを表すものではない場合）。別のアプローチは、層１からより多くのデータを含めることであり、例えば、文字および位置データを送る代わりに、層１は文字の特徴と位置データも含み得る。このアプローチは、ある意味で（画像セクションではなく）画像に特徴検出を単に実行することに類似しており、層１から層２へ送信されるデータの大幅な増加を伴うために問題がある。
【００３４】
［００４８］この方法に双方向処理を適用すると、好ましくは、上記の基準のニューラルネットワーク例の問題が対処され、推論を改善するための生成の例として役立つ。上記の参考例におけるニューラルネットワークは、ニューラルネットワークの処理が順方向変換と逆方向変換の両方を適用する双方向であることを除いて、あらゆる点で同様であり得る。このニューラルネットワークは、図８に示されるように、前後関係（例えば、上位レベルのデータ）が下位レベルのサブネットワークの出力に影響を及ぼすことを可能にするために、再帰を利用することができる。再帰の最初のステップでは、層１は単方向ネットワークの場合と同じ尤度分布を出力する。文字列「ｃｋｏ」を出力する代わりに、層２が、第２のステップ中に近隣領域に関する情報を各サブネットワークに渡す（例えば、Ｓｂの内容に関するＳａの情報）。この情報は、全尤度分布またはそのサブセット（たとえば上位５つの尤度）、あるいはその他の適切な前後関係の情報であり得る。サブネットワークはこの情報を処理し、Ｓｂは実質的に変更された尤度分布を計算する（特に、「ｄ」と「ｏ」を含む尤度が、以前の最大選択値「ｋ」より高くなる）。その結果、ステップ３において、Ｓｂが更新された尤度分布をＯに送信する。次に、ステップ４において、Ｏは更新された尤度情報をＳａおよびＳｃに送信し、これらは次に、更新された尤度情報に基づいてそれらの尤度を再計算し、ステップ５においてそれをＯに戻す。このプロセスは、ステップＮであるしきい値（例えば、再帰ステップ数、しきい値最大尤度など）に達するまで必要に応じて何度も繰り返すことができ、その時点でＯが最終的な文字列を出力する。この例示的なニューラルネットワークの再帰ステップは、方法１００の可能な順方向変換および逆方向変換に似ている。より複雑なニューラルネットワーク（または他のＬＢＤ）では、再帰ステップは逆方向変換の前に複数の順方向変換を含むことができ、あるいはその逆も可能であることに留意されたい。変換の順序および方向は、方法１００によって決定されるのが好ましい。双方向処理は、推論出力を生成するという最終目的または生成出力を生成する目的に適用することができる。方法１００は、前述のように再帰的皮質ネットワークによって実施されることが好ましく、参照によりその全体が本明細書に組み込まれる米国特許出願第１３／８９５２２５号に記載されるような再帰的皮質ネットワークによって実施されることがより好ましい。追加的に又は代替的に、方法１００は、任意の適切なニューラルネットワーク又は関連システム（すなわちＬＢＤ）によって実施することができる。
【００３５】
［００４９］証拠データを受信するステップＳ１１０は、データ解釈が望まれるデータをＬＢＤに提供するように機能する。証拠データを受信するステップは、前処理された、よりおそらくはデータ特徴へと（例えば、属性の仕様および関連値へと）低減、変換、または抽出されたデータを受信するステップを含むが、追加的または代替的に前処理されていないデータを含んでもよい。例えば、画像を複数の画像ブロックに細分化し、複数のブロック内の画素パターンを特徴量として抽出してもよい。別の例として、ステップＳ１１０は、画像（前処理済みデータ）または未処理画像の検出されたエッジを受け取るステップを含み得る。ステップＳ１１０は、追加的または代替的に（潜在的にデータが前処理されていても）証拠データの処理を実行するステップを含むことができる。証拠データの処理は、データをＬＢＤによる処理に適した形式に変換する任意の種類のデータ処理を含むことが好ましい。画像に対する証拠データ処理のいくつかの例は、エッジ検出、解像度低減、コントラスト強調を含み得る。音声用の証拠データ処理のいくつかの例は、ピッチ検出、周波数分析、またはメル周波数ケプストラム係数の生成を含み得る。証拠データは任意の適切な情報源から受け取ることができる。場合によっては、証拠データにＬＢＤからの出力データが含まれる。そのような証拠データの例は、画像内に含まれる文字に関する情報を含むデータセット（例えば、図７のニューラルネットワークの出力）を含み得る。
【００３６】
［００５０］証拠データが受信された（そして必要に応じて処理された）場合、証拠データは、好ましくは、ＬＢＤの入力に送信され、入力され、あるいはそこに向けられる。ＲＣＮの場合、証拠データは、最下位のサブネットワークレベルの子特徴ノードに向けられることが好ましい。追加的または代替的に、証拠データは任意のＬＢＤノードまたは接続に向けられてもよい（例えば、以前にＬＢＤのレベル１、２を通して既に処理されたデータはレベル３に直接挿入されてもよい）。
【００３７】
［００５１］変換構成を設定するステップＳ１２０は、ＬＢＤにどのようにして順方向変換および逆方向変換が実行されるかに関する命令を提供するように機能する。ステップＳ１２０は、ＬＢＤのいつ、どこで順方向変換および逆方向変換（すなわち、それぞれステップＳ１３０およびＳ１４０）が実行され、出力が生成されるのかを決定することが好ましい。ステップＳ１２０は、例えば５層システムの第１層（Ｌ１）への入力が与えられると、静的構成を設定するステップを含むことができ、ステップＳ１２０は、以下に従って変換を実行するようにＬＢＤに指示することができる。
入力→Ｌ１→Ｌ２→Ｌ３→Ｌ２→Ｌ３→Ｌ４→Ｌ３→Ｌ４→Ｌ５→出力
【００３８】
［００５２］この静的構成は、上記実施例で見られるように、好ましくは順方向変換と逆方向変換の両方を適用する。静的構成は、入力から出力への変換がどのように適用されるかについて完全に定義され得る。あるいは、静的構成は、以下に説明する動的変換構成の場合のように、何らかのトリガに応答して起動または実行することができる層のサブセットをカバーする変換パターンとすることができる。逆方向変換は浅くてもよい（例えば１つまたは少数の抽象化層のみを逆方向に進行させる）が、逆方向変換は深くすることもできる（例え開始層に戻っても、多くの抽象化層を戻る）。さらに、１つの層の正味の進行を前進させるパターンとして、例えば逆方向に３回、順方向に２回、逆方向に１回、順方向に２回、逆方向に１回、および順方向に２回などの一連の変換によって混合パターンを定義することができる。あるいは、任意の適切な変換パターンを任意の適切な組み合わせで使用することができる。
【００３９】
［００５３］追加的または代替的に、ステップＳ１２０は、動的変換構成を設定するステップを含み得る。これは例えば、確率しきい値に基づいて再帰を実行することである（分布の最大確率が０．８を超えるまで、または最大再帰サイクル数に達するまで再帰を実行するなど）。別の例として、ステップＳ１２０は、収束に基づいて再帰を実行してもよい。これは例えば、再帰サイクルにわたって高レベル出力間の差がある閾値を下回るまで、または最大再帰サイクル数に達するまで再帰を実行することである。
【００４０】
［００５４］ここに挙げた実施例は層間の再帰について説明しているが、ステップＳ１２０は、追加的または代替的に、ノード間または他のＬＢＤ構成要素間で再帰を設定するステップを含んでもよい。ＬＢＤがＲＣＮである場合、ステップＳ１２０は、追加的にまたは代替的に、横方向制約のための伝播についての命令を含み得る。
【００４１】
［００５５］順方向変換を実行するステップＳ１３０は、証拠データから解釈または分類を推論するように機能する。推論は、パターン検出、分類、予測、システム制御、意思決定、およびデータからの情報の推論を含む他の用途を含み得る。順方向変換は、好ましくはＬＢＤ内の層ごとに（すなわち層を横切って同時に）行われるが、追加的にまたは代替的に、サブネットワークごと、ノードごと、または他の適切な方法で行われてもよい。図７に示す例の場合、層１の各サブネットワークは、関連するセクションの画像データを受信し、文字と位置空間にわたる尤度分布を計算し、その尤度分布を出力することによって順方向変換を実行する。同様に、サブネットワークＯ（すなわち、層２）は、証拠として尤度分布を受け取り、文字列空間（stringspace、すなわち、可能性のある文字列の空間）にわたる文字列の尤度分布を計算し、最大尤度の文字列を出力することによって順方向変換を実行する。順方向変換は、図７に示されるようにサブネットワークによって実行されてもよく、あるいはノードによって、または別の適切なＬＢＤ構成要素もしくはサブ構造によって実行されてもよい。
【００４２】
［００５６］ステップＳ１３０は、好ましくは、ＬＢＤユニットの入力（例えば、ノード、サブネットワーク、または層）で証拠（evidence）を受け取るステップと、入力証拠の数学的変換を実行する（例えば、確率分布または比率を計算する）ステップと、変換された証拠をＬＢＤユニットの出力へと出力するステップとを含む。ステップＳ１３０で実行される数学的変換は、受信された更新された尤度データに基づいてＬＢＤユニットの事後確率分布を計算することが好ましいが、追加的または代替的に、変換の一部として任意の適切な数学関数を計算してもよい。ステップＳ１３０は、情報を通信するために確率伝搬技術を利用することが好ましいが、他の確率的推論アプローチを代替的に実施することもできる。確率伝搬は、ノード間でメッセージをやり取りし、異なる仮定の下でノード内で計算を実行することを含む。
【００４３】
［００５７］ステップＳ１３０は、ステップＳ１２０で設定された変換構成に基づいて順方向変換を実行することを含むことが好ましい。
【００４４】
［００５８］例示的なネットワークは図９に示す通りである。ネットワーク内で符号化されているのは、事前確率Ｐ１（Ｓ１）、Ｐ１（Ｒ１）、Ｐ１（Ｑ１）と、尤度関係Ｐ（ｅ｜Ｓ１）、Ｐ（Ｓ１｜Ｒ１）、Ｐ（Ｒ１｜Ｑ１）である。証拠ｅがシステムに導入されると、それはまずＳ１に入力される。一般的な形の証拠ｅを考えると、以下のように記載できる。
2019520655.tif 000004
【００４５】
［００５９］この合計はｅにわたる離散的確率分布に有効であるが、当業者はこれが連続確率分布へと一般化できることを認識するであろう。ｅが特定の値をとる簡単な例では、以下のようになる。
2019520655.tif 000005
【００４６】
［００６０］Ｓ１、（Ｐ２（Ｓ１））の事後確率を計算した後、この事後確率はＳ１からＲ１に送信され、そこでＲ１の事後確率を更新するために使用される（本質的に、Ｓ１の事後に対するＳ１の事前の比は、尤度ｐ（Ｓ１｜Ｒ１）を補正または重み付けするために使用される関数である）。以下は、Ｒ１の事後確率とＳ１の事後確率との間の関係の導出である。
2019520655.tif 000006
【００４７】
［００６１］この導出から、事後確率は、Ｓ１の事後確率と事前確率の比のみを考慮して、Ｒ１で計算できることが明らかである。同様に、この関係がＱ１についても成り立つことが示される（Ｓ１の前／後または証拠ではなく、Ｒ１の前後の比の伝達のみを必要とする）。
【００４８】
［００６２］Ｑ１については以下の通りである。
2019520655.tif 000007
【００４９】
［００６３］この実施例のネットワークは、ネットワークの任意の層またはノードでの計算が、隣接するＬＢＤユニット（例えば、サブネットワーク、ノード、層）によって出力された値のみに直接依存することが好ましいという事実を強調するための、特定の種類の順方向転送を示す。Ｓ１３０の順方向変換は、変換が行われるユニットのみに直接依存する関数を出力することが好ましいが、追加的または代替的に任意の適切な関数を出力してもよい。直接依存は、好ましくは、ＬＢＤのユニットによる再計算を減らし、ユニット構造のより容易な再使用を可能にする（例えば、多くの同一のサブネットワークを一緒に接続してＬＢＤを形成する）。
【００５０】
［００６４］前の実施例は尤度更新メッセージの明示的な受け渡し（前後の比、または数学的に関連する用語）を含むが、ステップＳ１３０は、尤度または関連概念が渡されるメッセージに直接相関しないネットワークにおける順方向変換も実行することができる（例えば、閾値関数に基づくバイナリ出力）。図１０に示すように、バイナリノードを有するニューラルネットワークは、所与の４ビット数が素数であるかどうかを計算する。図１１に示すように、ニューラルネットワークは０ｘｂ１０１１（十進法の１１）の入力を受け取る。次に、ノードの第１層が応答を計算し、それをネットワークに沿って伝播させる（すなわち、層１で順方向変換を実行する）。次に、ノードの２番目の層が入力を受け取り、応答を計算し、その後にノードの３番目の層が続く。最後に、システムは１を出力し、これは実際に１１が素数であることを示す。
【００５１】
［００６５］この実施例は、ノードの出力機能によって多少制限される。説明したように、ある数値が素数であるかどうかだけを出力することができる。多くの場合、代わりに事後確率（例えば、いくつかの証拠が与えられた場合、その数が素数である確率）を知ることが有用となる。この実施例のシステムでは、例えば、最小桁のビットが１である４ビット２進数が素数である確率をどのように計算できるかは明らかではない。この確率を計算する方法の１つは、時間の経過とともにネットワーク上で多数の順方向パスを実行することである。最小桁のビットが１の４ビット２進数が素数である確率を計算するために、システムに単に最小桁ビットが「１」でありｐ（Ｘ＝１）＝０．５を有するランダムなバイナリ変数を入力として提供することができる。確率分布は、いくつかの順方向パスの後のシステムの出力によって推定することができる。
【００５２】
［００６６］図１２に示される例では、方法１００は、画像のパターンを推論するためにＲＣＮの順方向変換を実行する。この実施例のメッセージは、メッセージの発信元に対応するノードがオンであるという前提の、証拠の尤度を表す。例えば、ノードＣＦ２の表現は入力証拠とよりよく整合しているので、ノードＣＦ２はノードＣＦ１と比較してより高い尤度を有する。プールの尤度（プールノードから発生する接続で表される）は、プール要素の尤度の最大値である。後続の時間インスタンスに対応する一連の入力を用いてネットワークに確率伝搬するとき、ネットワークは時間内にメッセージを伝播し、時間的推論を行うことができる。そのようなシナリオでは、異なるノードで計算された値は、一連の証拠が与えられた場合の確率を表す。
【００５３】
［００６７］伝播は、ネットワークの最終的な子特徴ノードにおいてデータ特徴入力を受信すると開始されることが好ましい。この最後の子特徴ノードは、階層内の最下層の子特徴ノードである。データは好適に、処理され、変換され、または一組の特徴へと分割される。その後、データ特徴を使用して、最後の子特徴ノードを選択またはアクティベートする。単純なシナリオでは、特徴の存在は、子特徴ノードをアクティベートするかアクティベートしないかに用いられる。あるいは、特徴ノードの尤度パラメータを入力とすることができる。尤度は、畳み込み類似性測定値、または特徴がデータ内で明白であるとする尤度の何らかの適切な測定値であり得る。確率伝搬は、この入力をネットワークの階層を上に伝播し続ける。サブネットワーク内で、ノードアクティベーションの伝播は、子特徴ノードが接続されたＰＳＣＦノードに尤度スコアを送るステップと、サブネットワークのプールノードにおいて、事後分布成分および接続されたＰＳＣＦノードの尤度スコアから尤度スコアを生成するステップと、サブネットワークの親特徴ノードにおいて、事後分布成分と、親特徴ノードに接続されたプールノードの尤度スコアとから尤度スコアを生成するステップとを含む。この確率伝搬は、好ましくは、より高いサブネットワークへと続き、ネットワーク伝播が最後まで進むか、何らかの閾値が満たされるまで続く（これらの制約は、ステップＳ１２０で設定されることが好ましい）。
【００５４】
［００６８］ＲＣＮで使用される場合、ステップＳ１３０は、少なくとも第２のノードに選択制約を実施することを含み、これはプールとサブネットワークとの間の不変の関係が推論中に定義され使用できるように機能する。ノードがアクティベートされると、制約ノードを介して接続された他のノードに、それらに課された制約が執行されることが好ましい。外部制約ノードは、少なくとも２つのＰＳＣＦノード間にあることが好ましいが、あるいは任意のノードセット間にあってもよい。一変形例では、制約は、代替として、接続されたＰＳＣＦノードおよび／または同じプールのＰＳＣＦノードの確率測度を増強または変更することができる。
【００５５】
［００６９］ステップＳ１３０は、好ましくは、変換された証拠をＬＢＤユニットの出力で出力し、この出力はネットワークのアクティベートされたノードを推論の結果へと処理または同化させるように機能することが好ましい。好ましくは、親特徴ノードがパターンの指標として使用される。ネットワークを構築する際に、異なる層が、異なる粒度のスケールでパターンを検出することが好ましい。低いレベルでは、これにはコーナーや線や点などの特定のピクセルパターンの検出が含まれ得る。高いレベルでは、これは、人が画像内で検出されたこと、またはメッセージが幸せを表現しているといったパターン検出となる。また、各サブネットワークは、特定のパターン識別用にカスタマイズされていることが好ましい。上記の例では、サブネットワークは、不変コーナー検出用であり得る。この特定のサブネットワークの親ノードがアクティベートされると、コーナーが存在すると推論することができる。サブネットワークの親ノードのアクティベーションが別個のパターンラベルと対になるように、マッピングが存在してもよい。推論は最上位層から来てもよいが、代わりにネットワークの複数の層を通して得られてもよい。例えば、この方法が「男性の人間が笑っている」という推論を出力するものであれば、人間がいる、この人間は男性である、そして表情が笑顔であるという推論が、複数の層および／またはサブネットワークを通して得られる。また、推論を出力する際にどの層および／またはサブネットワークを使用するかを選択することによって、推論の範囲を調整することができる。例えば、画像から推論を生成する場合に、上位層からの推論は、その画像が喫茶店のシーンのものであることを検出することができる。下位の層は、画像内に３つのテーブル、男性、女性、および他の様々な喫茶店の備品があると検出するために使用することができる。
【００５６】
［００７０］逆方向変換を実行するステップＳ１４０は、ＬＢＤのナレッジから証拠データを予測するように機能する。追加的または代替的に、ステップＳ１４０は、逆方向変換中に課された制約に基づいて証拠データを予測するステップを含み得る。逆方向変換は生成と呼ばれ、ＬＢＤに外部証拠が提供されていないという特別な場合は想像と呼ばれる。生成は、静止画像、映像グラフィック、音声メディア、テキストコンテンツ、選択動作または応答、または高レベル入力に基づいて合成された任意の適切な媒体を含むことができる。
【００５７】
［００７１］逆方向変換を実行するステップＳ１４０の間、ノードは、その情報にその情報に作用し、出力が最下層サブネットワークの出力から得られるまでＬＢＤの階層に沿ってノード選択／処理を伝播させることが好ましい。より明確には、最上層のサブネットワークは同時にサンプルを生成する。最上層サブネットワークの出力サンプルにより、どの下位層サブネットワークをアクティブにするかが決定する。次に、下位層のサブネットワークから同時にサンプルが生成される。この出力はさらに下層のアクティブなサブネットワークを決定する。このパターンが、サブネットワークの最下層から最終的にサンプルが生成されるまで、ＬＢＤの各層を通過し続ける。生成において、出力は好ましくはシミュレートされた出力である。例えば、ＬＢＤが画像の生成に使用され、入力がオブジェクトの名前であった場合、出力はそのオブジェクト名を表す画像であることが好ましい。
【００５８】
［００７２］ステップＳ１３０と同様に、逆方向変換Ｓ１４０は、好ましくは、ＬＢＤ内の層毎に（すなわち層にわたって同時に）発生するが、追加的または代替的に、サブネットワーク毎、ノード毎、または他の適切な態様で発生してもよい。図１３に示す実施例の場合、入力文字列がＬＢＤの出力に供給される。サブネットワークＯは、入力文字列が与えられると、層２の様々な特徴についての確率分布の計算を通して入力文字列に基づいて逆方向変換を実行する。同様に、層１が中間データを予測画像データに変換することにより逆方向変換を実行する。この予測画像データは、ＬＢＤによって定義された確率分布を有する一組の確率変数の出力と考えることができる。
【００５９】
［００７３］ステップＳ１４０は、ＬＢＤユニットの出力において制約条件を受け取るステップと、制約条件が与えられたＬＢＤに格納された情報に対して数学的変換を実行するステップと、生成されたデータをＬＢＤユニットの入力において出力するステップとを含む。ステップＳ１４０で実行される数学的変換は、制約に基づいてＬＢＤユニットに対する更新された尤度分布を計算することが好ましいが、追加的または代替的に、変換の一部として任意の適切な数学関数を計算してもよい。
【００６０】
［００７４］ステップＳ１４０は、情報を通信するために確率伝搬技術を利用することが好ましいが、他の確率論的推論手法を代わりに実施してもよい。確率伝搬は、ノード間でメッセージをやり取りし、異なる仮定の下でノード内で計算を実行することを含む。
【００６１】
［００７５］ステップＳ１４０は、ステップＳ１２０で設定された変換構成に基づいて逆方向変換を実行するステップを含むことが好ましい。
【００６２】
［００７６］例示的なネットワークは図１４に示す通りである。ネットワーク内に符号化されているのは、事前確率Ｐ１（Ｓ１）、Ｐ１（Ｒ１）、Ｐ１（Ｑ１）と、尤度関係Ｐ（ｅ｜Ｓ１）、Ｐ（Ｓ１｜Ｒ１）、Ｐ（Ｒ１｜Ｑ１）である．制約Ｑ１＝ｑがシステムに導入された場合、それを既知の尤度に直接差し込むことができ、Ｒ１の更新された確率として使用することができる。
Ｐ２（Ｒ１）＝Ｐ（Ｒ１｜Ｑ１＝ｑ）
【００６３】
［００７７］同様にＳ１：
2019520655.tif 000008
【００６４】
［００７８］さらに、ｅを記述する確率分布が生成されてもよい。
2019520655.tif 000009
この確率分布は、与えられた制約Ｑ１＝ｑについてＬＢＤで予測された証拠の分布を表している。Ｑ１にわたって合計することによって、層が大きなＬＢＤのどこに存在するかに拘わらず、各層について可能性のあるすべての出力をその層への入力関数として計算することができる。ＲＣＮの場合、あらゆる可能なオブジェクト（潜在的にＱ１＝｛ｑ１、ｑ２、…｝によって表される）は、各層の計算についてグラフへと拡張され、これによりプール選択の問題を因子グラフとして公式化することが可能となる。因子グラフの因子のパラメータは入力に依存するが、ＲＣＮのより大きな構造は依存しない。この因子グラフを事前計算することにより、任意の所望のオブジェクトについて、更新された最大積の順序付けと割り当てを格納することが可能になり、それによって高速なオブジェクト認識が可能になる。これは静的逆方向変換と呼ばれ、ステップＳ１４０に含まれてもよい。
【００６５】
［００７９］ステップＳ１４０は、追加的または代替的に、動的逆方向変換を実行するステップを含んでもよい。出力が何らかの制約のある予測されたアクティベーションに基づく確率分布である静的逆方向変換とは異なり、動的逆方向変換は、制約を与えられたＬＢＤの特徴を直接アクティベートして出力例（または、繰り返しの場合は出力例のセット）を生成する。これは、好ましくは、新規なオブジェクトの検出および／またはオブジェクトの部分の挙動の一般化を可能にする。
【００６６】
［００８０］このネットワークの実施例は、ネットワークの任意の層またはノードでの計算が、隣接するＬＢＤユニット（例えば、サブネットワーク、ノード、層）によって出力された値のみに直接依存することが好ましいという事実を強調するために、特定のタイプの逆方向変換を示す。Ｓ１４０の逆方向変換は、変換が行われるユニットのみに直接依存する関数を出力することが好ましいが、追加的または代替的に任意の適切な関数を出力すしてもよい。直接依存は、好ましくは、ＬＢＤのユニットによる再計算を減らし、ユニット構造のより容易な再使用を可能にする（例えば、ＬＢＤを形成するために一緒に接続された多くの同一のサブネットワークを使用する）。
【００６７】
［００８１］前の実施例は、確率更新メッセージ（尤度計算または数学的に関連する用語）の明示的な受け渡しを含むが、ステップＳ１４０は、確率や関連する概念が渡されるメッセージ（例えば、しきい値関数に基づくバイナリ出力）に直接相関しないネットワークにおいて逆方向変換を実行してもよい。
【００６８】
［００８２］図１５に示す例では、方法１００は、パターンを生成するためにＲＣＮに対して逆方向変換を実行する。パターンの生成は、コンピュータグラフィックス、発話合成、物理モデリング、データシミュレーション、自然言語処理／翻訳などの様々な媒体および分野に適用することができる。最初に、パターン親特徴入力が受け取られる。親特徴は、高レベルの特徴、分類、またはパターンが生成される基礎となる他の入力であることが好ましい。入力は、ネットワークの最上層のサブネットワークに提供されることが好ましい。次に、ネットワークを介した伝播が進行する。最上位層のサブネットワークが処理され、次にサブネットワークの次の層が処理され、そしてネットワークの各階層が漸進的に（すなわち、順次または連続的に）処理されるように処理が継続する。場合によっては、外部制約が２つのサブネットワーク間の関係を定義して、一方のサブネットワークが最初に処理され、次に他方のサブネットワークが外部制約を考慮して処理される。この順序は事前定義されていても構成されてもよい。あるいは、処理は、制約の執行を決定する処理を完了するための、異なるサブネットワークと第１のサブネットワークとの間の競合状態であり得る。あるいは、それらは任意の適切な方法で同時に処理または管理されてもよい。同様に、サブネットワーク内のノード間の処理の順序付けがあってもよい。サブネットワーク内のプールも同様に順序付けされることが好ましい。いくつかの事例では、横方向制約が、２つのプールのＰＳＣＦノード間の関係を定義して、一方のプールが最初に処理され、次に他方のプールが横方向の制約を考慮して処理される。この順序は事前定義または設定されてもよい。あるいは、処理は、処理を完了して他のプールに対する制約の執行を決定するための、異なるプールと第１のプールとの間の競合状態であり得る。あるいは、それらは任意の適切な方法で同時に処理または管理されてもよい。各サブネットワーク内で、ノードの選択は親特徴ノードから始まり、次にプールノードがアクティベートされ、そしてＰＳＣＦノードが選択される。ＰＳＣＦノードの選択は、制約ノードの執行済み選択制約によって少なくとも部分的に影響を受けるかまたは決定され得る。親特徴ノードの関数と矛盾しないプールノードを選択することは、サブネットワークのプールを適切にアクティベートするように機能する。前述のように、プールは、不変の特徴に対応するＰＳＣＦノードのグループであることが好ましい。選択は、選択関数で構成されている親特徴ノード内で行われることが好ましい。この選択関数は、接続された各プールノードがアクティベートされるようなＡＮＤ関係であることが好ましいが、代わりに任意の適切な選択関数を使用することもできる。
【００６９】
［００８３］サブネットワークの子特徴に対応する少なくとも第１のＰＳＣＦノードを選択することは、プールノードのプール要素のセット内のＰＳＣＦノードを選択するように機能する。選択は、選択されたプールノードごとに行われる。サブネットワーク内のプールノードを評価する順序は、ランダムかつ連続的で非同時的な順序で順序付けられてもよい。あるいは、プールを同時に評価してもよい。ＰＳＣＦノードの選択は、選択されたプールノードの選択関数に従って実行されることが好ましい。一実施態様では、選択関数はＸＯＲ関数であり、１つのＰＳＣＦノードのみが選択される。あるいは、任意の適切な選択機能が使用されてもよい。ＰＳＣＦノードは、好ましくは直接関係で少なくとも１つの子特徴ノードに接続されるか、そうでなければ関連付けられる−このＰＳＣＦノードが選択されると、接続された子特徴ノードが選択される。いくつかの変形例では、ＰＳＣＦノードは複数の子特徴ノードに関連付けられてもよい。各子特徴ノードは、好ましくは対応するＰＳＣＦノードが選択されたら選択される。さらに別の変形例では、子特徴ノードはさらに、ネットワークまたはサブネットワーク内の他のＰＳＣＦノードと関連付けられてもよい。子特徴ノードは、当該子特徴ノードへの上位位置の接続に基づいて選択／アクティベートされるのが好ましい。
【００７０】
［００８４］選択制約を執行することは、プールとサブネットワーク間の不変の関係を定義できるように機能する。制約は、好ましくは、特徴の組み合わせとパターンとの間の論理を定義するために作成される。一般的な例では、サブネットワークが画像コンポーネントをつなぎ合わせて自動車の画像を形成し、１つのプールが自動車の車体を選択するものである場合、自動車の車輪が選択されるように他のプールに制限を課すことができ、したがって車輪と車体は矛盾しない。選択制約は、制約ノードを介した少なくとも２つのＰＳＣＦノード間の接続を介して定義され得る。制約ノードは、任意の適切な数の接続されたＰＳＣＦノードを有し、任意の適切な選択機能を執行し得る。場合によっては、選択制約は、２つのプールノード間の接続または任意の適切な種類のノードを介して定義され得る。同様に、制約ノードは、ＰＳＣＦノードとプールノードとの間など、任意の２以上のタイプのノード間であり得る。制約ノードの執行は、例えば第１のノードの選択が第２のノードに対する選択の影響をもたらすように、実行時に何らかの形の方向性を有することが好ましい。この方向性は、２種類のノード間で任意の方向に進むこともできる。ＰＳＣＦノードは、制約ノードがプールノードに影響を及ぼすことをもたらし、プールノードは、制約ノードがＰＳＣＦノードに影響を及ぼすことをもたらしてもよい。１つの好ましい選択制約は、制約ノードに接続されているＰＳＣＦノードのうちの１つがアクティベートされた場合に、接続されているＰＳＣＦノードの選択を強制することであろう。言い換えれば、この制約ノードの選択制約関数はＡＮＤ演算となる。選択制約は、接続された制約ノードを有する少なくとも第１のＰＳＣＦノードの選択に応答して執行されることが好ましい。上述したように、ノードは、何らかの順序で評価または伝播されることが好ましい。選択制約は、好ましくは、既に選択されているＰＳＣＦノードには適用されないが、代わりにプールノードによる選択に適用される。いくつかのシナリオでは、１のプールノードは１組の可能なＰＳＣＦノードを有し、これは選択制約が執行されて、制約ノードを介してプール要素に送信された後に、１つのノードに減らされる。他のシナリオでは、プールノードは、可能なＰＳＣＦノードの数を減らしてもよく、あるいは選択のための確率的重み付けを変えてもよい。１の制約ノードは、２つのＰＳＣＦノード間の接続として示されているが、これらの制約は、代替として、プール要素および／またはサブネットワーク間のメッセージ受け渡しメカニズムを介して動作可能に実施することもできる。メッセージは、本明細書に記載されているように制約ノードを事実上強制するために選択関数の動作を修正することが好ましい。制約ノードは、横方向制約、外部制約、時間的制約、および／または任意の適切な種類の制約であり得る。横方向制約は、好ましくは２つの異なるプール間で執行される。外部制約は、好ましくは２つの異なるサブネットワーク間で執行される。横方向制約および外部制約は、空間的な制約に使用されることが好ましいが、任意の適切な不変パターンを定義するために使用されてもよい。時間的制約は、異なる時間インスタンスに対してネットワーク評価を実施する。時間的制約は、異なる時間枠にわたって不変パターンを定義することができる。時間的選択制約は、一連の特徴内で、起こるかもしれない、起こり得る、または起こり得ない特徴を特定する。ネットワークの最終的な子特徴を生成される出力関数へとコンパイルして、特徴を生成される製品、表現、または分析、シミュレーション、または任意の適切な出力へと組み立てる。最終的な子特徴は、階層ネットワークの最下層の子特徴ノードであることが好ましい。子特徴ノードは、特定のデータ特徴の存在を表す二項変数を表すのが好ましい。子特徴ノードを特定のデータ特徴にマッピングするデータベースまたはマッピングを保持してもよい。最終的な子特徴をコンパイルするステップは、好ましくは選択された子特徴ノードをデータ特徴にマッピングするステップを含み、それが次に生成される出力へとコンパイルされる。アクティベートされた子特徴ノードは、組み合わされるとメディアの複製を形成する構成要素であることが好ましい。例えば、ネットワークが画像生成用にトレーニングまたは作成された場合、出力は好ましくは実質的に完全な模擬画像である。ネットワークが音声特徴でトレーニングされた場合、最終的な子特徴を組み合わせて音声ファイルまたは信号を出力することができる。複数のネットワーク評価が時間信号について使用される場合、複数のネットワークの最終的な子特徴は最終的に生成される出力へとコンパイルされ得る。
【００７１】
［００８５］方法１００は、好ましくはステップＳ１２０の変換構成に従って、ＬＢＤの任意の時間および任意の位置でステップＳ１３０とＳ１４０を実行するステップを含み得る。例えば、ＬＢＤは、図８に示すように、一連の部分的な順方向変換および逆方向変換を実行することができる。別の例として、ＬＢＤは、画像の半分についての画像入力を取得してもよい。この半画像入力は子特徴に入力される。それからＬＢＤは他方の半分のための可能性を生成するように促される。
【００７２】
［００８６］ステップＳ１５０は、変換済みの証拠データを出力するステップを含み、ＬＢＤによって生成されたデータ解釈を出力するように機能する。変換済みの証拠データを出力するステップは、出力を後処理するステップを含むことが好ましいが、追加的または代替的に、未処理の出力データを出力するステップを含んでもよい。例えば、出力データは、分類タグにわたって確率分布から後処理された、画像に対する分類タグのセットを含んでもよい。別の例として、Ｓ１５０は、写真内のオブジェクトの自然言語の説明を出力するステップを含み得る。
【００７３】
［００８７］好ましい実施形態の方法およびその変形例は、コンピュータ可読命令を記憶するコンピュータ可読媒体を受け入れる構成された装置として少なくとも部分的に実施および／または実装することができる。命令は、好ましくは再帰的皮質ネットワークと統合されたコンピュータ実行可能コンポーネントによって実行されることが好ましい。コンピュータ可読媒体は、ＲＡＭ、ＲＯＭ、フラッシュメモリ、ＥＥＰＲＯＭ、光学装置（ＣＤまたはＤＶＤ）、ハードドライブ、フロッピードライブ、または任意の適切な装置などの任意の適切なコンピュータ可読媒体に格納することができる。コンピュータ実行可能コンポーネントは、一般的なまたは特定用途向けプロセッサであることが好ましいが、任意の適切な専用ハードウェアまたはハードウェア／ファームウェア組合せ装置が代替的にまたは追加的に命令を実行してもよい。
【００７４】
［００８８］当業者であれば、前述の詳細な説明ならびに図面および特許請求の範囲から認識されるように、添付の特許請求の範囲で定義される本発明の範囲から逸脱することなく本発明の好ましい実施形態に対して修正および変更を加えることができる。
【図１】
2019520655.tif 000010
【図２】
2019520655.tif 000011
【図３】
2019520655.tif 000012
【図４】
2019520655.tif 000013
【図５】
2019520655.tif 000014
【図６】
2019520655.tif 000015
【図７】
2019520655.tif 000016
【図８】
2019520655.tif 000017
【図９】
2019520655.tif 000018
【図１０】
2019520655.tif 000019
【図１１】
2019520655.tif 000020
【図１２】
2019520655.tif 000021
【図１３】
2019520655.tif 000022
【図１４】
2019520655.tif 000023
【図１５】
2019520655.tif 000024
【国際調査報告】
2019520655.tif 000025