(57)【要約】ネットワークを用いてパターンを生成および推論するシステムおよび方法であって、１の親特徴入力ノードと少なくとも２の子特徴出力ノードを有する再帰的サブネットワークのネットワークを提供するステップと、ネットワークのサブネットワークのノード接続と矛盾しないように、ネットワーク階層を通してノード選択を伝播するステップとを具え、前記サブネットワーク内での伝播は、制約ノードに従って第２のプールの少なくとも第２のノードに選択制約を執行するステップと、サブネットワークのネットワークの最終的な子特徴ノードの状態を生成出力へとコンパイルするステップとを含む。【選択図】図１Ａ
2019520656.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークを用いてパターンを生成する方法であって、
１の親特徴ノードと少なくとも２つの子特徴ノードとを有するサブネットワークの再帰的ネットワークを提供するステップであって、前記親特徴ノードは入力ノードであり、前記少なくとも２つの子特徴ノードは出力ノードである、ステップと；
前記ネットワークのサブネットワークのノード接続と矛盾しないように、ノード選択をネットワーク階層の下方に伝播するステップであって、前記サブネットワーク内での伝播は：
１のサブネットワークのアクティベートされた親特徴ノードにおいて、当該親特徴ノードの選択関数に矛盾しない１のプールノードを選択する工程と；
第１のプールのプールノードにおいて、前記サブネットワークの子特徴ノードに対応する少なくとも第１の親特有の子特徴（ＰＳＣＦ）ノードを選択する工程と；
前記サブネットワークの第１のノードの選択に応答して、前記サブネットワークの横方向制約ノードに従って少なくとも第２のプールの第２のノードに選択制約を執行する工程とを含む、ステップと；
前記ネットワークの最終的な子特徴ノードの状態を生成出力へとコンパイルするステップとを含むことを特徴とする方法。
【請求項２】
請求項１の方法において、前記第１のノードは前記第１のＰＳＣＦノードであり、前記第２のプールの第２のノードはＰＳＣＦノードであることを特徴とする方法。
【請求項３】
請求項２の方法において、前記第２のプールの第２のＰＳＣＦノードは、前記第１のノードのサブネットワーク内にあることを特徴とする方法。
【請求項４】
請求項２の方法において、前記第２のプールの第２のＰＳＣＦノードは、第２のサブネットワーク内にあることを特徴とする方法。
【請求項５】
請求項２の方法において、前記第１のＰＳＣＦノードは第１の時刻のネットワーク内にあり、前記第２のプールの第２のＰＳＣＦノードは第２の時刻のネットワーク内にあることを特徴とする方法。
【請求項６】
請求項２の方法において、前記ＰＳＣＦノードを選択する工程に応答して、少なくとも１つの子特徴ノードを選択するステップと、選択された子特徴ノードを前記生成出力へとコンパイルされるデータ特徴にマッピングするステップとをさらに含むことを特徴とする方法。
【請求項７】
請求項６の方法において、前記生成出力は画像であることを特徴とする方法。
【請求項８】
請求項６の方法において、前記生成出力は画像シーケンスであることを特徴とする方法。
【請求項９】
請求項６の方法において、前記生成出力は音声であることを特徴とする方法。
【請求項１０】
請求項６の方法において、前記選択関数がブール論理選択関数であることを特徴とする方法。
【請求項１１】
請求項１０の方法において、第１層のサブネットワークの子特徴ノードが、第２層の少なくとも２つのサブネットワークの親特徴ノードであることを特徴とする方法。
【請求項１２】
請求項１１の方法において、選択関数と矛盾しないプールノードを選択するステップは、論理ＡＮＤ選択関数に従って前記親ノードに接続された各プールノードを選択するステップを含み、前記第１のＰＳＣＦノードを選択するステップは、前記プールノードの論理ＸＯＲ選択関数に従って、前記プールノードに接続されたＰＳＣＦノードのセットからただ１つのＰＳＣＦノードをランダムに選択するステップを含むことを特徴とする方法。
【請求項１３】
請求項１１の方法において、少なくとも第１のＰＳＣＦノードを選択するステップは、前記プールノードの論理ＸＯＲ選択関数に従って、前記プールノードに接続されたＰＳＣＦノードのセットからＰＳＣＦノードの第１のサブセットをランダムに選択するステップをさらに含み、この選択関数は前記ＰＳＣＦノードのセットの複数のサブセットに適用されることを特徴とする方法。
【請求項１４】
請求項１３の方法において、選択関数と矛盾しないプールノードを選択するステップは、論理ＡＮＤ選択関数に従って前記親ノードに接続された各プールノードを選択するステップを含むことを特徴とする方法。
【請求項１５】
ネットワークを用いてパターンを生成する方法であって、
親特徴ノードと少なくとも２つの子特徴ノードとを有するサブネットワークの再帰的ネットワークを提供するステップであって、前記親特徴ノードは入力ノードであり、前記少なくとも２つの子特徴ノードは出力ノードである、ステップと；
前記再帰的ネットワークの第１のサブネットワークにおいて、当該第１のサブネットワークは、前記親特徴ノードと前記少なくとも２つの子特徴ノードとを含み、
前記第１のサブネットワークのアクティベートされた親特徴ノードにおいて、前記親特徴ノードの選択関数と矛盾しない第１のプールノードと第２のプールノードを選択するステップと；
前記第１のプールノードにおいて、前記サブネットワークの第１の子特徴ノードに対応する少なくとも第１の親固有の子特徴（ＰＳＣＦ）ノードを選択するステップと；
前記第２のプールノードにおいて、前記サブネットワークの第２の子特徴ノードに対応する少なくとも第２の親固有の子特徴（ＰＳＣＦ）ノードを選択するステップと；
前記第１および第２の子特徴ノードを含む、前記ネットワークの最終的な子特徴ノードの状態を生成出力へとコンパイルするステップと、を含むことを特徴とする方法。
【請求項１６】
請求項１５の方法において、前記第１および第２のＰＳＣＦノードを選択することに応答して、選択された子特徴ノードを前記生成出力へとコンパイルされるデータ特徴にマッピングするステップをさらに含むことを特徴とする方法。
【請求項１７】
請求項１６の方法において、前記生成出力は画像であることを特徴とする方法。
【請求項１８】
請求項１６の方法において、前記生成出力は画像シーケンスであることを特徴とする方法。
【請求項１９】
請求項１６の方法において、前記生成出力は音声であることを特徴とする方法。
【請求項２０】
請求項１５の方法において、前記第１のプールノードにおいて、前記サブネットワークの第３の子特徴ノードに対応する少なくとも第３の親固有の子特徴（ＰＳＣＦ）ノードを選択するステップをさらに含み、前記第１および第３のＰＳＣＦノードは、前記第１のプールノードに接続されたＰＳＣＦノードのセットの複数のサブセットにまたがって適用された第１のプールノードの論理ＸＯＲ選択関数に従って選択されることを特徴とする方法。
【請求項２１】
ネットワークを用いてパターンを推論するための方法であって、
親特徴ノードと少なくとも２つの子特徴ノードとを有するサブネットワークの再帰的ネットワークを提供するステップと；
事後分布要素を用いて前記サブネットワークのノードを構成するステップと；
最終的な子特徴ノードでデータ特徴入力を受け取るステップと；
前記ネットワークのサブネットワークのノード接続および子ノードの事後予測に矛盾しない方法で、ネットワーク階層を通してノードアクティベーションを伝播するステップと；
サブネットワークの少なくとも２つのノード間でアクティベーション制約を執行するステップと；
親特徴ノード選択を推論出力へと出力するステップとを含むことを特徴とする方法。
【請求項２２】
請求項２１の方法において、ノードアクティベーションを伝播するステップは、接続された親固有の子特徴（ＰＳＣＦ）ノードに子特徴ノードが尤度スコアを送るステップと；
サブネットワークのプールノードにおいて、事後分布要素と、接続されたＰＳＣＦノードの尤度スコアとから尤度スコアを生成するステップと；
前記サブネットワークの親特徴ノードにおいて、前記事後分布要素と、前記親特徴ノードに接続されたプールノードの尤度スコアとから尤度スコアを生成するステップとを含むことを特徴とする方法。
【請求項２３】
請求項２２の方法において、少なくとも２つのノード間でアクティベーション制約を執行するステップは、第１のプールノードに接続された第１のＰＳＣＦノードと、第２のプールノードに接続された第２のＰＳＣＦノードとの間でアクティベーション制約を執行するステップを含むことを特徴とする方法。
【請求項２４】
請求項２２の方法において、少なくとも２つのノード間でアクティベーション制約を執行するステップは、第１のサブネットワーク内の第１のＰＳＣＦノードと、第２のサブネットワーク内の第２のＰＳＣＦノードとの間でアクティベーション制約を執行するステップを含むことを特徴とする方法。
【請求項２５】
請求項２２の方法において、少なくとも２つのノード間でアクティベーション制約を執行するステップは、第１の時刻のネットワーク内の第１のＰＳＣＦノードと、第２の時刻のネットワーク内の第２のＰＳＣＦとの間でアクティベーション制約を執行するステップを含むことを特徴とする方法。
【請求項２６】
請求項２１の方法において、データ特徴入力を受信することは、画像の画像特徴に従って最終的な子特徴ノードのアクティベーションを設定することを含み、前記推定出力は画像内で検出されたオブジェクトであることを特徴とする方法。
【請求項２７】
請求項２１の方法において、データ特徴入力を受信することは、音声信号特徴に従って最終的な子特徴ノードのアクティベーションを設定することを含み、前記推定出力は、音声信号中の検出された音声パターンであることを特徴とする方法。
【請求項２８】
請求項２１の方法において、第１層のサブネットワークの子特徴ノードは、少なくとも２つの第２層のサブネットワークの親特徴ノードであることを特徴とする方法。
【請求項２９】
ニューラルネットワークを構築する方法において、
上位階層サブネットワークの各子特徴ノードを下位階層サブネットワークの親特徴ノードに通信可能に結合することを含む、ネットワーク階層において複数のサブネットワークを再帰的に構築するステップと；
前記サブネットワークの親特徴ノードの選択関数を設定するステップであって、前記選択関数は、前記サブネットワーク内の少なくとも２つのプールの選択オプションによって定義される、ステップと；
前記プールノードの選択関数を設定するステップであって、前記プールノードの選択関数は、少なくとも２つの親固有の子特徴（ＰＳＣＦ）ノードの選択オプションによって定義される、ステップと；
少なくとも一対のノードを制約ノードとリンクさせるステップと；
前記ネットワークのサブネットワークのノード接続と、前記選択関数と、前記リンクされた制約ノードと矛盾しない方法で、前記ネットワーク階層を通してノード選択を伝播するステップと、を含むことを特徴とする方法。
【請求項３０】
請求項２９の方法において、少なくとも一対のノードを制約ノードとリンクさせるステップは、第１のプールノードに接続された第１のＰＳＣＦノードを、第２のプールに接続された第２のＰＳＣＦノードとリンクさせるステップを含むことを特徴とする方法。
【請求項３１】
請求項２９の方法において、少なくとも一対のノードを制約ノードとリンクさせるステップは、第１のサブネットワークの第１のＰＳＣＦノードを、第２のサブネットワークの第２のＰＳＣＦノードとリンクさせるステップを含むことを特徴とする方法。
【請求項３２】
請求項２９の方法において、少なくとも一対のノードを制約ノードとリンクさせるステップは、第１のインスタンスにおける第１のネットワークの第１のＰＳＣＦノードを、第１のインスタンスにおける第２のネットワークの第２のＰＳＣＦノードとリンクさせるステップを含むことを特徴とする方法。
【請求項３３】
請求項２９の方法において、さらに事後パラメータを設定するステップを含み、前記ネットワーク階層を通してノード選択を伝播するステップは、設定された事後パラメータに従って確率伝搬と矛盾しない方法でさらに実行されることを特徴とする方法。
【請求項３４】
請求項２９の方法において、さらに前記ＰＳＣＦノードを子特徴ノードと接続するステップを含み、少なくとも１つの子特徴ノードが少なくとも２つのＰＳＣＦノードと接続されることを特徴とする方法。
【請求項３５】
システムであって、
複数の階層に編成されたサブネットワークの再帰的に設計されたネットワークを具え、
前記サブネットワークは、少なくとも親特徴ノードと、プールノードと、親固有の子特徴（ＰＳＣＦ）ノードと、子特徴ノードとを含み；
前記少なくとも１つのサブネットワークの親特徴ノードは、前記少なくとも１つのサブネットワークの親特徴ノードに接続された少なくとも２つのプールノード上で動作可能な選択関数で構成され；
前記少なくとも１つのサブネットワークのプールノードは、前記少なくとも１つのサブネットワークのプールノードに接続された少なくとも２つのＰＳＣＦノード上で動作可能な選択関数で構成され；
少なくとも１つのサブネットワークのＰＳＣＦノードは、接続された子特徴ノードをアクティベートするように構成され；
前記子特徴ノードは、下位階層の第２のサブネットワークの少なくとも親特徴ノードに接続可能であることを特徴とするシステム。
【請求項３６】
請求項３５のシステムにおいて、少なくとも２つのＰＳＣＦノードからの少なくとも２つの接続を有し、前記プールノードによる選択を増強するための選択関数を有する制約ノードをさらに含むことを特徴とするシステム。
【請求項３７】
請求項３６のシステムにおいて、前記制約ノードは第１のＰＣＳＦノードと第２のＰＣＳＦノードとに接続され、前記第１のＰＣＳＦノードは第１のプールノードに接続され、前記第２のＰＣＳＦノードは第２のプールノードに接続されることを特徴とするシステム。
【請求項３８】
請求項３７のシステムにおいて、前記第１のプールノードおよび第２のプールノードは、単一の共有親特徴ノードに接続されており、前記第１のプールノードおよび第２のノードは単一のサブネットワーク内に含まれることを特徴とするシステム。
【請求項３９】
請求項３７のシステムにおいて、前記第１のプールノードは、第１の親特徴ノードに接続されるとともに第１のサブネットワーク内に含まれており、第２のプールノードは、第２の親特徴ノードに接続されるとともに、第１のサブネットワークとは異なる第２のサブネットワーク内に含まれることを特徴とするシステム。
【請求項４０】
請求項３９のシステムにおいて、前記第１のサブネットワークは、前記第２のサブネットワークとは異なる階層レベルにあることを特徴とするシステム。
【請求項４１】
請求項３５のシステムにおいて、前記ネットワークのノードは事後分布要素で構成されており前記ネットワークは、当該ネットワークのサブネットワークのノード接続および前記事後分布要素と矛盾しない方法で複数の階層層を通してノードアクティベーションを伝播するように構成されることを特徴とするシステム。
【請求項４２】
請求項４１のシステムにおいて、前記ネットワークは、少なくとも１つの子特徴ノードにおいてデータ特徴入力を受け取ることに応答して、親特徴ノードの選択を推論出力として出力するように構成されていることを特徴とするシステム。
【請求項４３】
請求項４２のシステムにおいて、前記ネットワークは：
・子特徴ノードにおいて、接続された親固有の子特徴（ＰＳＣＦ）ノードに尤度スコアをメッセージングするステップと；
・サブネットワークのプールノードにおいて、事後分布要素と、接続されたＰＳＣＦノードの尤度スコアとから尤度スコアを生成するステップと：
・前記サブネットワークの親特徴ノードにおいて、前記事後分布要素と、前記親特徴ノードに接続されたプールノードの尤度スコアとから尤度スコアを生成するステップと、
によって、ノードアクティベーションを伝播するように構成されることを特徴とするシステム。
【請求項４４】
請求項４２のシステムにおいて、前記ネットワークは、画像の画像特徴に従って子特徴ノードのアクティベーションを設定することによってデータ特徴入力を受け取るように構成され、前記推論出力は前記画像の分類を含むことを特徴とするシステム。
【請求項４５】
請求項４２のシステムにおいて、前記ネットワークは、音声信号の音声特徴に従って子特徴ノードのアクティベーションを設定することによってデータ特徴入力を受け取るように構成され、前記推定出力は音声信号の分類を含むことを特徴とするシステム。
【請求項４６】
請求項４１のシステムにおいて、前記ネットワークは、受け取った親特徴入力に応答して子特徴ノード選択を生成出力として出力するように構成されていることを特徴とするシステム。
【請求項４７】
請求項４６のシステムにおいて、前記生成出力は、選択された子特徴ノードの画像特徴へのマッピングに基づいて生成された画像であることを特徴とするシステム。
【請求項４８】
請求項４７のシステムにおいて、前記親特徴入力は画像分類であることを特徴とするシステム。
【請求項４９】
請求項４６のシステムにおいて、前記生成出力は、選択された子特徴ノードの音声特徴へのマッピングに基づいて生成された音声信号であることを特徴とするシステム。
【請求項５０】
請求項４７のシステムにおいて、前記親特徴入力が音声信号分類であることを特徴とするシステム。
【請求項５１】
請求項４６のシステムにおいて、前記ネットワークは、シード子特徴入力を受け取るようにさらに構成されており、当該シード子特徴入力は、前記生成出力を修正するために前記ネットワークに用いられることを特徴とするシステム。
【請求項５２】
請求項５１のシステムにおいて、前記ネットワークは、シードされた子特徴ノードのアクティベーションを設定することによってシード子特徴入力を受け取るように構成されていることを特徴とするシステム。
【請求項５３】
請求項５２のシステムにおいて、前記ネットワークは、前記受け取った親特徴入力と前記シード子特徴入力の両方に応答して、子特徴ノード選択を生成出力として出力するように構成されていることを特徴とするシステム。
【請求項５４】
請求項５３のシステムにおいて、前記ネットワークは、画像の第１の部分の画像特徴に従って前記シードされた子特徴ノードのアクティベーションを設定するように構成され、、前記生成出力は前記画像の第２の部分であることを特徴とするシステム。
【請求項５５】
請求項３５のシステムにおいて、前記子特徴ノードは、下位階層レベルでサブネットワークの複数の親特徴ノードに接続されることを特徴とするシステム。
【請求項５６】
請求項５５のシステムにおいて、前記子特徴ノードに提供されたエビデンスが、前記複数の親特徴ノードのうちの第１の親特徴ノードによって送信されたエビデンスと前記複数の親特徴ノードのうちの第２の親特徴ノードによって送信されたエビデンスとにＮｏｉｓｙ−ＯＲゲートを適用することによって処理されることを特徴とするシステム。
【請求項５７】
請求項５５のシステムにおいて、前記子特徴ノードに提供されたエビデンスが、前記複数の親特徴ノードのうちの第１の親特徴ノードによって送信されたエビデンスと、前記複数の親特徴ノードのうちの第２の親特徴ノードによって送信されたエビデンスとに、Ｎｏｉｓｙ−ＭＡＸゲートを適用することによって処理されることを特徴とするシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
［０００１］本発明は、一般に人工知能の分野に関し、より詳細には人工知能の分野における再帰的皮質ネットワークのための新しく有用なシステムおよび方法に関する。
【背景技術】
【０００２】
［０００２］コンピュータビジョン、画像処理、および機械学習の進歩にも拘わらず、視覚的対象物の認識においては、コンピュータが人間の能力と比較して劣る課題が未だ残っている。画像からオブジェクトを認識することは、シーン内で画像を認識することを必要とするだけでなく、様々な位置で、異なる設定で、わずかな変化を伴ってオブジェクトを認識することも必要とする。例えば、椅子を認識するためには、椅子が椅子であるとする生来の性質を理解する必要がある。これは人間にとっては簡単な作業である。コンピュータは、さまざまな種類の椅子や、椅子が存在し得るシチュエーションに対処するのに苦労する。シーン内の複数のオブジェクトを検出するという問題を考えると、この問題はさらに困難となる。畳み込みニューラルネットワーク、ＨＭＡＸモデル、低速特徴分析（ＳＦＡ）、および階層的時間記憶（ＨＴＭ）などのオブジェクト認識のためのモデルが存在するが、これらのアプローチは理想的な認識性能に近い結果を達成することができない。オブジェクト検出は、より広くはパターン検出の問題である。パターン検出は、音声認識、自然言語処理、その他の分野などの画像処理以外の他の分野および媒体において問題である。さらに、パターン認識の逆は生成である。パターン生成も同様の問題を有し、既存の手法は同様に満足のいく結果を生み出すことができない。したがって、人工知能の分野において、改善されたオブジェクト認識（または「推論」）および生成を伴う新しい有用なシステムおよび方法を作り出すことが必要とされている。本発明は、再帰的皮質ネットワークと呼ばれ、そのようなシステムおよび方法を提供する。
【図面の簡単な説明】
【０００３】
【図１】［０００３］図１Ａ、１Ｂは、好ましい実施形態のシステムの概略図である。
【図２】［０００４］図２は、好ましい実施形態のシステムの一般化された表現の概略図である。
【図３】［０００５］図３は、好ましい実施形態のサブネットワークの概略図である。
【図４】［０００６］図４は、好ましい実施形態の横方向制約ノードを用いてパターンを生成するためのサブネットワークの概略図である。
【図５】［０００７］図５は、好ましい実施形態の外部制約ノードを用いてパターンを生成するためのサブネットワークの概略図である。
【図６】［０００８］図６は、好ましい実施形態の時間的制約ノードを用いてパターンを生成するためのサブネットワークの概略図である。
【図７】［０００９］図７は、好ましい実施形態のパターンを推論するためのサブネットワークの概略図である。
【図８】［００１０］図８は、好ましい実施形態の子特徴ノードを共有する２つのサブネットワークを有するネットワークの変形例の概略図である。
【図９】［００１１］図９は、２つの層の間で分割された複数のサブネットワークを有するネットワーク変形例の例示的な概略図であり、そのうちのいくつかは子特徴ノードを共有している。
【図１０】［００１２］図１０は、好ましい実施形態のネットワークを作成する方法の概略図である。
【図１１】［００１３］図１１は、ネットワークを作成する方法の例示的な実装例を示す図である。
【図１２】［００１４］図１２は、好ましい実施形態のパターンを生成する方法の概略図である。
【図１３】［００１５］図１３は、好ましい実施形態のネットワークからパターンを推論するための方法の概略図である。
【図１４】［００１６］図１４は、様々な制約ノードを有するネットワークの概略図である。
【発明を実施するための形態】
【０００４】
［００１７］本発明の好ましい実施形態の以下の説明は、本発明をこれらの好ましい実施形態に限定することを意図するものではなく、むしろ当業者が本発明を製造および使用することを可能にすることを意図する。
【０００５】
ｌ。再帰的皮質ネットワークのシステム
［００１８］図１Ａおよび図１Ｂに示すように、好ましい実施形態のシステムは、複数のサブネットワーク１００でなる再帰的皮質ネットワーク１０を具える。サブネットワークは、好適には、少なくとも親特徴ノード（parent feature node）１１０と、プールノード１２０と、親固有の子特徴ノード１３０（parent-specific child feature node、略してＰＳＣＦノード）と、少なくとも１つの制約ノード１４０を具える。システムは、ネットワーク内の情報の不変性（invariance）、選択性（selectivity）、および共有（sharing）を改善するように機能する。ネットワークはある意味で、入来するメッセージ／信号に加算、乗算、累乗、または他の関数を実行する分散処理要素のネットワークである。ネットワークを介してノードアクティベーションを伝播することによって、パターンを推論および／または生成することができる。ニューラルネットワークまたはベイジアンネットワークとしてモデル化することができるネットワークは、さまざまな実装例を通じて有効化および実現することができる。第１の実装例では、システムは電子的に結合された特徴ノード要素のネットワークとして実施される。特徴ノード要素は、特定の機能を実行するようにプロセッサ内に配置または構成された論理ゲートであり得る。第２の実装例では、システムは、プロセッサ上で動作するようにプログラムまたは構成されたネットワークモデルとして実施される。ネットワークモデルは、ネットワークのノード間の動作および通信を符号化した電子的に格納されたソフトウェアであることが好ましい。ネットワーク１０は、多種多様な用途に使用することができ、画像、映像、音声、自然言語テキスト、分析データ、広く分散されたセンサデータ、または他の適切な形態のデータなどを入力とする多種多様なデータタイプを使用することができる。さらに、ネットワーク１０は、第１の動作モード：生成モードと、第２のモード：推論モードとを含む異なる動作モード用に構成することができる。ネットワーク１０は、図１Ａに示すように、様々な親子関係にある相互接続されたサブネットワークの階層的に編成されたネットワークであることが好ましい。ネットワークは、あるいは、図１Ｂに示すようなサブネットワークの集合の単一層または単一のサブネットワークであり得る。本明細書に記載されるネットワーク１０の得られる形態は、独特な形態のニューラルネットワーク、すなわち皮質ネットワークを実装するのに用いられる繰り返しサブネットワークパターンによって、部分的には再帰的皮質ネットワーク（ＲＣＮ）と呼ぶことができる。
【０００６】
［００１９］好ましい実施形態の階層ネットワーク１０は、様々な層内にサブネットワークを構築するように機能する。図２に示すように、サブネットワーク１００の様々なインスタンスおよびインスタンス化が、ネットワーク１０の階層において再帰的に構築、接続、および使用される。階層ネットワーク１０のアーキテクチャは、アルゴリズム的に、または少なくとも部分的なユーザ選択および構成を通じて構築することができる。階層ネットワーク１０は、ニューラルネットワークにおける特徴ノードとプールノードの交互の層として説明することができる。サブネットワークは、特徴入力ノードと特徴出力ノードとを有し、これらの特徴ノードは、サブネットワークをブリッジまたは接続するために使用される。図２に示されるように、特徴ノードは、プールにわたって空間的または時間的に異なるサブネットワーク間で制約を橋渡しする制約ノードを使用することによって様々な不変パターンに制約することができる。階層ネットワークの各ノードは、親ノード接続と子ノード接続を有することが好ましい。一般に、親ノード接続は、生成における入力と推論における出力であることが好ましい。逆に、子ノード接続は、生成における出力と推論における入力である。単層（または非階層）のサブネットワーク１００の変形例では、サブネットワーク１００は姉妹（siblings）として配置される。以下に記載されるようなサブネットワーク１００は、様々な形態の制約ノードを介して相互作用を有し得る。
【０００７】
［００２０］サブネットワーク１００は、ネットワーク内の様々な異なる構成でセットアップすることができる。構成の多くは、サブネットワーク内、サブネットワーク間、またはネットワーク間のでさえもノード選択を定義する制約ノードによって決定される。さらに、サブネットワークは、個別のまたは共有の子特徴を持つように設定することができる。サブネットワークはさらに階層的に配置され得る。換言すれば、第１のサブネットワークは第２のサブネットワークの親であり得る。同様に、第２のサブネットワークはさらに第３のサブネットワークの親であり得る。サブネットワークの層は、共有の親特徴ノードおよび子特徴ノードを介して接続されることが好ましい。好ましくは、最上層のサブネットワークの子特徴ノードは、下位のサブネットワークの親特徴ノードである。逆に、サブネットワーク１００の親特徴ノードは、より上位のサブネットワーク１００の子特徴ノードとして参加することができる。最上位のサブネットワークの親特徴ノードは、好ましくはシステムへの入力である。最下位／最底位のサブネットワークの子特徴は、好ましくはシステムの出力である。複数のサブネットワーク１００を接続すると、ネットワーク内のいくつかのノードでマルチペアレントインタラクションを導入することができる。これらの相互作用は、ノード内の異なる確率モデルを使用してモデル化することができる。
【０００８】
［００２１］サブネットワーク１００を階層的に接続すると、サブネットワークの再利用を通じてコンパクトで圧縮された表現（representation）を促進するように機能する。１つのサブネットワークの親特徴ノードは、複数の親サブネットワークにおける子特徴ノードとして参加できる。同様の利点は、子サブネットワークの不変の表現を複数の親サブネットワーク１００で再利用できることである。これが適用可能である場所の一例は、ネットワーク１０が視覚オブジェクトを表す場合である。下位のサブネットワーク１００がオブジェクトの一部に対応することができ、上位のサブネットワーク（すなわち上層サブネットワーク）がそれらの部分がオブジェクトを形成するためにどのように集まるかを表すことができる。例えば、下位レベルのサブネットワークは、牛の画像のボディーパーツの表現に対応することができる。各ボディーパーツは不変に表現され、並進、縮尺変更、歪みなどの位置の変換に対して寛容度がある。上位レベルのサブネットワークが、各ボディーパーツが牛を表すためにどのように集まるかを指定する。牛の下位レベルのボディーパーツのいくつかは、ヤギを表すために上位レベルで再利用することができる。例えば、これら両方の動物の足は同様に動くので、これらのパーツは潜在的に再使用される可能性がある。これは、牛の足のために学習された不変の表現が、自動的にヤギの表現に再利用されることを意味する。
【０００９】
［００２２］このシステムは、推論（inference）または生成（generation）に使用することができる。推論は、パターン検出、分類、予測、システム制御、意思決定、およびデータから情報を推論することを含む他の用途を含み得る。生成は、静止画、映像グラフィック、音声媒体、テキストコンテンツの生成、動作または応答の選択、または上位レベル入力に基づいて合成される任意の適切な媒体を含み得る。好ましい実装例では、ネットワーク１０を推論または生成のために選択的に使用することができ、いくつかの変形例では、両方の動作モードを同時に実現することができる。ネットワーク１０が推論用途に使用される場合、ネットワーク１０の動作は、好適にはデータ特徴へと縮小、変換、または抽出されたサンプルデータから開始される。データ特徴は、好適には属性の仕様およびその値である。特徴ベクトルは、好適にはデータサンプルのインスタンスの特徴のセットである。例えば、ネットワークを画像データの推論に適用する場合、画像は複数の画像ブロックへと細分化され、複数のブロック内の画素パターンが特徴として使用される。入力されたデータ特徴は、好適にはネットワーク１０の対応する子特徴ノードに送信され、供給され、あるいは向けられる。換言すれば、データ特徴は、サブネットワーク１００の最下層の子特徴ノードに向けられる。推論動作では、ノードは、情報に基づいて動作し、最上位サブネットワーク１００の親特徴から出力が得られるまで、ネットワーク１０の階層を通してノード選択／処理を伝播することが好ましい。階層内の上位（上位の親の層）へと下位（最後の子特徴）への情報の伝播の組み合わせもある。推論中に階層を下方に展開することで、ネットワークは、想像／生成機能を使用して入力データに対する推論の結論を入力子特徴と比較することによって精度を高めることができる。推論において、出力は好適には推論情報である。例えば、推論が画像のオブジェクト検出に使用される場合、出力は検出されたオブジェクトの同定（identification）であり得る。ネットワーク１０が生成用途に使用される場合、ネットワーク１０の動作は好適に、最上層のサブネットワーク１００の親特徴ノードに向けられ、供給され、または配信される一般的な生成リクエストから開始される。生成動作では、ノードは好適に、情報に基づいて動作し、出力が最下層のサブネットワーク１００の子特徴ノードから得られるまで、ネットワーク１０の階層の下方にノード選択／処理を伝播する。より明確には、最上層のサブネットワーク１００は同時に複数のサンプルを生成する。これらの最上層サブネットワーク１００の出力サンプルは、どの下位層サブネットワーク１００がアクティブであるかを決定する。次に、これらの下位層サブネットワーク１００から同時にサンプルが生成される。この出力は、さらに下位層のアクティブなサブネットワーク１００を決定する。このパターンが、最終的にサンプルがサブネットワーク１００の最下層から生成されるまで、ネットワーク１０の各層を通って続く。生成において、出力は好ましくはシミュレートされた出力である。例えば、ネットワーク１０が画像の生成に使用され、入力がオブジェクトの名前であった場合、好ましくは出力はそのオブジェクト名を表す画像である。より好ましくは、生成および推論はハイブリッドまたは混合された入力アプローチを含む。生成動作はさらに、前のインスタンスから部分的に完成した、ノイズのある、歪んだ、またはそうでなくとも生成プロセスへの一般的なガイドとして機能する、子特徴ノードへの入力に依存する。一の変形例では、生成は、システムが画像の半分について画像入力を取得することを含むことが好ましい。この半分の画像入力が子特徴に入力される。次いでネットワーク１０は他の半分のための可能性を生成するように促される。いくつかの変形例では、ネットワーク１０は、接続が１つの層をスキップするように接続されたサブネットワークを含んでもよい。層をスキップしたサブネットワーク１００の出力は、好適には他のサブネットワークが対応する層に供給されるときにアクティブなサブネットワーク１００の選択に関与することになる。
【００１０】
［００２３］図３に示すように、サブネットワーク１００は、親特徴と子特徴との間のノード選択動作を提供するように機能する。サブネットワーク１００は、ネットワーク１０の基本構成要素である。サブネットワーク１００は、生成の場合、好適には、より低いレベルの特徴アクティビティ（例えば、画像の視覚的特徴）がより高いレベルの特徴アクティビティ（オブジェクト名など）から決定されるように、より高いレベルの特徴からより低いレベルの特徴のセットへマッピングまたはネットワーク化される。推論の場合、サブネットワークは、好適には、より高いレベルの特徴アクティビティ（例えばオブジェクト名）がより低いレベルの特徴のアクティビティ（例えば画像の視覚的特徴）によって決定されるように、より低いレベルの特徴からより高いレベルの特徴にマッピングまたはネットワーク化される。サブネットワーク１００の一般的なアーキテクチャは、親特徴ノード１１０である単一の最上レベルのノードを含むことが好ましい。親特徴ノード１１０（ＰＦ１）は、少なくとも２つのプールノード１２０（Ｐ１およびＰ２）への接続を含むことが好ましい。各プールノード１２０は、複数のＰＳＣＦノード１３０（Ｘ１、Ｘ２、Ｘ３、Ｘ４、Ｘ５、Ｘ６）への接続を含むことが好ましい。制約ノード１４０（Ｃ１、Ｃ２、Ｃ３）がさらにサブネットワーク１００内にあってもよい。制約ノード１４０は、他のＰＳＣＦノード１３０に接続することが好ましい。制約ノード１４０は、少なくとも２つのＰＳＣＦノード１３０間の制限、規則、および限定を定義する。ＰＳＣＦノード１３０は、子特徴ノード１５０（ＣＦ１、ＣＦ２、ＣＦ３、ＣＲ４、ＣＦ５、ＣＦ６）に接続することが好ましい。ネットワーク１０内のサブネットワーク１００のインスタンスは、他のサブネットワークと共通性を共有しても、しなくてもよい。各ノードの機能的動作は、接続の数および構成、接続の重み付け、および／または他の任意の態様において異なってもよい。いくつかのエッジケースでは、サブネットワークのノード選択オプションは１つだけではない場合がある。１つの例示的なエッジケースでは、親特徴のアクティベーションが子特徴のアクティベーションをもたらすように、サブネットワークを選択オプションなしで定義することができる。例えば、親特徴ノードが１つのプールに接続し、その１つのプールが１つのＰＳＣＦノードに接続してもよい。
【００１１】
［００２４］ネットワークのノードは、ノードのアクティベーション、選択、オン／オフ、または他の適切な状態を決定する確率的インタラクションで動作、実行、または相互作用するように構成されることが好ましい。親ノードによってアクティベートされると、ノードは、ノードの選択関数に従って、接続されている子ノードのアクティベーションをトリガすることが好ましい。ノードは、好ましくは、ベイジアンネットワークにおけるようにバイナリ確率変数または多項確率変数を表すが、他の適切なノードモデルが代わりに使用されてもよい。特徴ノードは、複数の親と複数の子を持つことができるバイナリ確立変数ノードであることが好ましい。親特徴ノード１１０および子特徴ノード１５０は特徴ノードと見なされる。複数の親が関与する場合（すなわち、１の親接続／入力接続を介して複数のノードが接続されている）、親接続間の相互作用は、接続の上位位置として扱われることが好ましい。例えば、子特徴ノードは、いずれかの親ノードがＯＮであるときにＯＮとなる（すなわち、選択され、アクティベートされるなど）ことが好ましい。Ｎｏｉｓｙ−ＯＲやＮｏｉｓｙ−Ｍａｘゲートなどの正準モデルを使用して、ノード内で複数の親の相互作用を確率的にモデル化することができる。特徴ノードの子接続は、特徴とプールとの間の確率的関係をエンコードすることが好ましい。好ましい実施形態では、１の特徴がアクティブであればその特徴のすべてのプールがアクティブとなるが、そのようなアクティベーションは確率表または任意の適切なメカニズムに従って修正することができる。以下の表に示すように、ノードからプールノードへの各リンクは、種類Ｐ（プール｜特徴）の確率テーブルをエンコードする。
2019520656.tif 000003
【００１２】
［００２５］特徴がオンのときにプールノードがオンの場合、ｐとｑはゼロになる。しかしながら、ｐとｑの他の値が代わりに使用されてもよい。プールノード１２０は、バイナリノードとして扱われることが好ましい。プールノード１２０は、上記の確率テーブルを表す１つの親接続を有することが好ましい。プールノード１２０は、子ノードへの複数の接続を有することができる。一例では、子ノード接続は、瞬時（instant-by-instant）の接続を表す。瞬時接続は、関連する確率でプール要素に対してＯＲ選択関数を実行することが好ましい。換言すれば、瞬時接続は、多項確率変数接続を表す。例えば、特定のプールにＮｐｍのプール要素があるとする。値１．．．、Ｎｐｍをとる二項確率変数Ｍを考える。プールノード１２０からの出発リンクは確率分布Ｐ（Ｍ｜プール）を表す。順番に考えると、Ｐ（Ｍ｜プール）は、特定のプール要素がシーケンスの開始要素として選択される確率を定義する。終点に到達するまで、またはネットワークの動作が解決するまで、そのプール要素の時間選択関数（すなわち、遷移関数）に従うことによって、後続のプール要素が時系列で生成される。プール要素（ＰＳＣＦノード１３０の可能なアクティベートセットとしてもモデル化される）は、好ましくは、バイナリ確率変数として作用するように構成され、そのうちの少なくとも１つが、分布Ｐ（Ｍ｜プール）に従ってプールが選択されるときに選択される。プール要素は、子特徴の関数の組み合わせを表す。例えば、プール要素１が子特徴１と子特徴２であるとする。制約ノードは、観測値が１にインスタンス化されているバイナリノードとして扱われるのが好ましい。これらの制約ノードで使用される確率テーブルは、制約ノードに接続する親ノード間で強制される種類の制約を実装する。制約は多くの場合ＡＮＤまたはＯＲ制約であるが、任意の適切な選択関数であってもよい。これらの制約ノードはさらに、対の接続よりも大きい接続を有するノードであり得る。
【００１３】
［００２６］親特徴ノード１１０は、上位の特徴ノードとして機能する。生成動作モードでは、親特徴ノード１１０はサブネットワーク１００の入力となる。推論動作モードでは、親特徴ノード１１０はサブネットワーク１００の出力となる。親特徴ノード１１０は、アクティベート時に選択関数を執行するように構成される。選択関数は、ノード選択のＡＮＤ、ＯＲ、ＮＯＴ、ＸＯＲ演算のためのブール選択関数などの論理関数であることが好ましい。例えば、Ｐ１とＰ２がＰＦ１のプールノードであり、ＰＦ１がＡＮＤ選択関数として構成されている場合、ＰＦ１のアクティベーションにより、Ｐ１とＰ２のプールがアクティベートされる。この選択関数は、演算子がＸＯＲであり、１つの接続されたノードのみが選択可能である場合など、異なるオプション間の選択を決定するためのランダム化された選択メカニズムを含み得る。さらに、ランダム化された選択は、親特徴ノード１１０とプールノード１２０との間の接続のノード接続重み付けに従って偏りまたは重み付けされてもよい。選択関数は、代替として、確率選択関数または接続オプションを選択する際に用いられる任意の適切な関数であり得る。
【００１４】
［００２７］プールノード１２０は、子特徴の集合から選択するためのノードとして機能する。１のプールノード１２０に関連付けられた子特徴は好ましくは、関係を共有し、相関を有し、または互いのバリエーション（variations）である。例えば、１のプールは、ピクセルパターンの位置が異なる複数のバリエーションのためのものであり得る。換言すれば、ＰＳＣＦノード１３０は好ましくは、特徴のバリエーションの不変の表現（invariant representation）である。図３において、Ｐ１は垂直線の３つの異なる変形（translations）に対する１の不変表現であり、Ｐ２は水平線の３つの異なる変形（translations）に対する１の不変表現である。本明細書では、プールという用語は、特定のプールノード１２０に対するＰＳＣＦノードの可能なセットを指すために使用されることがある。可能なＰＳＣＦノード１３０のセットは、好ましくは、プールノード１２０への接続を有する任意のＰＳＣＦノード１３０である。プールは制約があってもよい。例えば、プールの要素は｛ａ、ｂとｃ、ｄ、ｅ｝のセットであり得、ここで、ａ、ｂ、ｃ、ｄ、ｅは子特徴である。親特徴ノード１１０と同様に、プールノード１２０は、アクティベート時に選択関数を実行するように構成される。この選択関数は、任意の適切な関数とすることができるが、親特徴ノード１１０について上述したように論理演算子であることが好ましい。選択関数は、同様に、ランダム化、偏りおよび／または重み付けすることができる。プールノード１２０の選択関数は、対応するＰＳＣＦノード１３０を選択、トリガ、アクティベート、または他の方法でシグナリングすることが好ましい。さらに、選択関数は、アクティベートされた制約ノードに基づいて制限または無効にされてもよい。アクティベートされた制約ノードは、（制約ノードを介して接続されている）ＰＳＣＦノード１３０の選択に基づいてプール内でどのノードが選択されるかを定義してもよい。同様に、それはプールノード１２０のための可能なＰＳＣＦノード１３０のセットを決定し、および／またはプールノード１２０の重み付けまたはプリファレンスを決定することができる。サブネットワーク内のプールノード１２０を、必要に応じて制約ノードが他のプールに適用され得るように順次評価することができる。
【００１５】
［００２８］ＰＳＣＦノード１３０は、不変特徴オプションのオプションとして機能する。１つのＰＳＣＦノード１３０は１つの子特徴にマッピングし、１つのＰＳＣＦノード１３０は親プールノード１２０を１つのみ有する。ＰＳＣＦノード１３０は、制約ノード１４０とさらに接続または結合されてもよい。制約ノード１４０は、複数のＰＳＣＦノード１３０間の関係を定義することが好ましい。制約ノード１４０は、異なるプール、異なる時間、および／または異なるサブネットワーク１００の他のＰＳＣＦノード１３０に接続することが好ましい。ＰＳＣＦノード１３０は、サブネットワーク間で共有されないことが好ましい。しかしながら、子特徴ノード１５０（下位のサブネットワークの親ノードであり得る）は、複数のサブネットワークへの接続を共有してもよい。
【００１６】
［００２９］制約ノード１４０は、サブネットワーク１００において許容されるパターンの種類を制限するように機能する。制約ノード１４０は、少なくとも２つのＰＳＣＦノード１３０に接続することが好ましい。あるいは、２より多いＰＳＣＦノード１３０が１の制約ノードを介して接続されてもよい。制約ノード１４０はさらに、任意の適切な種類のノード間にあってもよい。制約ノード１４０は、プールノード１２０同士の間にあってもよい。制約ノードは、さらに２種類のノード間にあってもよい。例えば、制約ノードが、ＰＳＣＦノード１３０とプールノード１２０とを接続することができる。ここでは、好ましい実装例として制約ノードがＰＳＣＦノード同士を接続する例が示されているが、制約ノードは、ネットワーク１０内の（任意の種類の）ノードの任意のセット間で制約を課すのに使用することができる。制約ノードは、プールノード間、プールノードとＰＳＣＦノード間、または図１４に示されるようなネットワークの任意の適切なノード間にあり得る。ＰＳＣＦノード１３０は、同じプールではないことが好ましく、場合によっては同じサブネットワークにない。制約ノード１４０は好ましくは、同じ層のＰＳＣＦノード１３０同士を接続するが、代わりに異なる層のサブネットワーク１００同士を接続してもよい。さらに、任意の適切なＰＳＣＦノード１３０に、１つの制約ノード１４０が接続されてもよいし、任意の適切な数の制約ノード１４０が接続されてもよい。制約ノードは、他のプール、他のサブネットワーク１００、および／または異なる時間のノードの選択内で制限、ルール、および制約を実施することができる。ネットワーク１０は、制約ノード１４０を介して接続されているＰＳＣＦノード１３０が好ましくは同時に評価されないように、好ましくは順序付けられた方法で評価される。第１のＰＳＣＦノード１３０がアクティベートまたは選択されると、当該第１のＰＳＣＦノード１３０に接続されている制約ノード１４０がアクティベートされる。続いて、制約ノード１４０の制限が、接続されたＰＳＣＦノード上でアクティベート／執行される。制約ノード１４０は、他のノードと同様に、ＰＳＣＦノードをどのようにアクティベートするかを決定する選択関数を有し得る。制約ノード１４０は好ましくは、プールノード１２０がＰＳＣＦノードをどのように選択できるかに影響を与える。一例では、制約ノード１４０の選択関数は、接続されているＰＳＣＦノードの１つがアクティブである場合にその選択を実施するようなＡＮＤ論理演算子である。別の変形例では、制約ノード１４０の選択関数は、プール内の可能なＰＳＣＦノードを変更するようなＯＲ論理演算子であり得る。任意の適切な選択関数を使用することができる。いくつかの制約ノード１４０は、１つのノードのアクティベーションが第２のノードの選択に対応するという基本的または単純な制約を有してもよい。選択ロジックはノード間の直接対応（direct correspondence）であるため、これらはノードなしの直接接続として表すことができる。制約ノード１４０の好ましい変形例は、横方向制約ノード１４２、外部制約ノード１４４、および時間制約ノード１４６を含み得る。
【００１７】
［００３０］横方向制約ノード１４２は、サブネットワーク１００のプールノード１２０間の相互作用に基づいて、サブネットワークのパターンの種類を制限するように機能する。横方向制約ノード１４２は好ましくは、第１のプールノード１２０のＰＳＣＦノード１３０と、第２のプールノード１２０内の少なくとも１つの第２のＰＳＣＦノード１３０との間の執行ルールまたはノード接続であり、これらの第１および第２のプールノードは共通の親ノード１１０を共有する。横方向制約は、生成されるさまざまな構成がコーナーの水平方向の変形（translations）に対応するように用いられる。この場合、親特徴はコーナーのさまざまな変形を表すものと見なすことができる。つまり、親特徴は、コーナーの変形に対して不変のコーナーの表現を持つ。
【００１８】
［００３１］図４に示されるように、サブネットワークの例示的な実装形態は、２つのプールノード１２０（Ｐ１およびＰ２）と、各プールノード１２０に対して３つずつの６つのＰＳＣＦノード１３０（Ｘ１、Ｘ２、Ｘ３、Ｘ４、Ｘ５、Ｘ６）と、一対のＰＳＣＦノード１３０に接続された３つの横方向制約ノード１４２（Ｃ１、Ｃ２、およびＣ３）と、個別に１つのＰＳＣＦノード１３０に接続された６つの子特徴ノード１５０（ＣＦ１、ＣＦ２、ＣＦ３、ＣＦ４、ＣＦ５、ＣＦ６）とを具える。親ノードの選択関数は、Ｐ１およびＰ２が両方同時に選択されるようなＡＮＤ演算子である。親特徴を選択すると、親特徴ノードに接続されているプールＰ１およびＰ２が自動的に選択される。Ｐ１、Ｐ２は両方とも、特定の瞬間（time instant）についてＸＯＲ論理演算子として構成されている。ＸＯＲ演算子として、一度に１つの子孫（すなわち接続されたＰＳＣＦノード１３０）のみが選択される。各プールノードＰ１およびＰ２がそのＰＳＣＦノードの１つをランダムに選択するモードでは、横方向制約ノード１４２およびそれらの接続は、同じ親の異なるプールの子特徴選択間に課される制約をエンコードする。この実装例では、Ｃ１とＣ２はＡＮＤ演算子である。そのため、Ｘ１がアクティベートされると、Ｃ１の接続によりＸ４が強制アクティベートされる。同様に、Ｘ２がアクティベートされると、Ｃ２の接続がＸ５のアクティベートを強制する。Ｃ３はＸＯＲとして実装することができる。Ｘ３がアクティベートされると、Ｘ３、Ｘ４、およびＸ５のうちの１つしか選択できないため、Ｘ３、Ｘ５、およびＸ６の間のＣ３の接続が、Ｐ２によるＸ５とＸ６の選択を阻止する。これらは、単なる例示的な接続および選択関数としてのみ役立つ。各ノードは任意の適切な関数および接続アーキテクチャを有することができる。本例において、横方向制約ノード１４２がなかった場合、各プールは互いに独立して子特徴を選択することができ、親特徴は、Ｐ１から１つの特徴と、独立してＰ２から別の特徴とを選択することによって生成され得る組み合わせのすべてに対応する９つの異なるパターンの不変表現に対応する。いくつかのサブネットワークでは、制約ノード１４０は使用されなくてもよい。
【００１９】
［００３２］外部制約ノード１４４は、異なるサブネットワーク１００にまたがって不変パターンを強制するように機能する。１のプールノード１２０のどのＰＳＣＦノード１３０が他のプールのＰＳＣＦノードと一緒にできるかの制約を課すことによって、横方向制約ノード１４２が異なるプール内の表現を互いに確実に矛盾なくする方法と同様に、外部制約ノード１４４は、階層全体の互換性を維持することができる。外部制約ノード１４４は、接続、規則、または２つの異なるサブネットワーク１００間に選択の相互作用を生成できる他の制約メカニズムを作成することが好ましい。外部制約ノード１４４は、少なくとも２つのＰＳＣＦノード１３０を接続するのが好ましい。他の制約ノードと同様に、アクティベートされたときに選択関数が実行される。図５に示すように、階層ネットワーク１０は、少なくとも２つの下位層サブネットワーク１００への入力を提供する少なくとも１つの上位層サブネットワーク１００を用いて構成することができる。ネットワークからサンプルを生成するとき、最上層サブネットワーク１００の生成された特徴は、下位層サブネットワーク１００から同時にサンプルを生成するための入力として使用される。外部制約がないと、プール１およびプール２によって生成されたサンプルは、プール３およびプール４によって生成されたサンプルとの調整がなされない。しかし、図５に太線で示される外部制約ノードは、下位層のサブネットワーク１００のプール間の調整を実施するためのメカニズムを提供する。図５に示すように、ＰＳＣＦノード１３０は、それらに強制される１より多い種類の制約ノードを有することができる。横方向制約ノード１４２は、同じネットワークの異なるプール内のＰＳＣＦノード１３０間の調整を課し、外部制約ノード１４４は、異なるサブネットワーク１００内のＰＳＣＦノード１３０間の調整を課す。制約ノード１４０は、競合が生じないように設定されることが好ましい（例えば、一方の制約がノードをアクティベートし、他方がアクティベートすべきでないと指定している場合）。制約ノード１４０のランク付け、または制約ノード１４０を実施する順序に関するヒューリスティックス、または他の適切な規則を使用して、制約ノード１４０間の競合および競争を解消することができる。
【００２０】
［００３３］時間制約ノード１４６は、他の時間帯に動作するネットワーク１０とサブネットワーク１００との間の関係を実施するように機能する。基本レベルでは、プールの各要素（例えば、共有の親プールノード１２０を有するＰＳＣＦノード１３０）は、それらが発生する時間の順序を特定する関係を持つことができる。時間制約ノード１４６は、好ましくは単純な直接接続制約であり、ここで１つのノードのアクティベーション／選択により、第２のインスタンスにおいて指定ノードの選択が実施される。時間制約１４６は厳密な順序付けを有しなくてもよい。時間制約ノード１４６は、第１の瞬間に発生したプール要素またはプール要素の集合を考えた場合に、第２の瞬間に発生し得る１組の可能なプール要素を指定することができる。別の説明では、制約ノード１４０はマルコフ連鎖における仕様に似た機能を果たし得る。図６の例示的な時間制約に示されるように、時間ｔにＰＳＣＦノード「ａ」をアクティベートすると時間ｔ＋１にＰＳＣＦノード「ｂ」に進み、時間ｔにおけるＰＳＣＦノード「ｂ」はｔ＋ｉにおけるＰＳＣＦノード「ｃ」に進む。最初のプールの場合、この例では２つのタイムスライスの表現を使用して「ａ」から「ｂ」、「ｃ」へのシーケンスを表す。２番目のプールの場合、時間制約ノードは「ｄ」から「ｅ」、「ｆ」へのシーケンスを定義する。時間制約ノード１４６の選択関数は、他のノードと同様に任意に複雑にすることができる。例えば、ノードａが時刻ｔにアクティブであるとき、時刻ｔ＋ｉにノードｂまたはｃがアクティブになることができる。高次の時間的関係をさらに用いることができる。時間制約ノード１４６は好適に、時間的に後の瞬間へと進む関係を定義するが、時間制約ノードは、複数のインスタンス間の関係を定義してもよい。例えば、時間制約ノードは、１つのＰＳＣＦノードから３つの異なる瞬間のネットワークへの制約を定義することができる。加えて、いくつかの変形例における時間制約ノード１４６は、以前の瞬間への遡及的な制約さえも定義し得る。例えば、現時点で１つのパターンの検出を推論することが、以前の時点におけるパターンを検出するためのキューを強化し得る。ここで、ネットワーク１０の１つのインスタンスは、異なる時間インスタンスにおけるこのネットワーク１０の動作または使用であることが好ましい。時間制約ノード１４６は、映像、音声、またはコンピュータグラフィックスなどの時間ベースのメディアへの生成または推論アプリケーションに特に有用であり得る。ここでは時間制約ノードが時間ベースのアプリケーションに特有のものであるが、課題の分野または使用事例に応じて他の次元に沿ってネットワーク１０の異なるインスタンス間で同様の制約ノード１４０を定義することができる。
【００２１】
［００３４］図７に示すように、ネットワーク１０は、推論または認識の使用例シナリオ用に構成することができる。ネットワーク１０が推論用に構成される場合、ノード選択の伝播はデータ特徴（すなわち、最も低位の子特徴）から階層を上向きに流れ、本質的にネットワーク１０を似ているが逆の態様で動作させる。上位レベルの特徴から詳細な特徴へと移行する代わりに、詳細な特徴を用いて上位層の一般的な機能を推測する。適用において、推論は、画像特徴（画像特性またはサブ画像構成要素）を取り、それらの特徴に基づいて情報を抽出するために使用され得る。推論構成ネットワーク１０は、好ましくは、ノードの事後分布（すなわち、エビデンスが与えられたパラメータの確率）および子ノードに供給されたエビデンスを使用して、アクティベーション、選択、およびオン／オフ状態を階層の上位に伝播させる。これは、ローカルメッセージ伝達を使用して関心のあるノードにおける事後分布の近似値を導出するために利用可能な、確率伝搬アルゴリズムの変形例として特徴付けることができる。ネットワーク内のすべてのノードは二値として扱われることが好ましいので、ノードの事後は、エビデンス（子ノード）が与えられた場合にノードがＯＮかＯＦＦになる確率をノードが特定するメカニズムである。ノードは、ノード間の図示する接続チャネルを介してメッセージを渡すように構成されていることが好ましい。これらの接続は、メッセージ用の双方向コンジットであり得る。上流に流れるメッセージは、尤度メッセージと下流の確率メッセージである。図７に示されるように、サブネットワークは入力画像に基づいてメッセージを伝播する。本例のメッセージは、メッセージの発信元に対応するノードがオンであるとして、エビデンスの尤度を表している。したがって、ノードＣＦ２は、ノードＣＦ１と比較して尤度が高く、これはＣＦ２の表現が入力エビデンスとより一致するためである。あるプールの尤度は、各プール要素の尤度にわたる最大値である。ネットワークに後続の時間インスタンスに対応する一連の入力があると、ネットワークは時間内にメッセージを伝搬し、時間的推論を行うことができる。その場合、異なるノードの評価は、一連のエビデンスが与えられた場合の確率の表現となる。
【００２２】
［００３５］図８に示されるように、ネットワーク１０は、オーバーラップ、オーバーレイ、あるいは共有された子特徴ノードを有する少なくとも２つのサブネットワーク１００をさらに含むことができ、これらは複数親の相互作用を導入するように機能する。２つのサブネットワークの共有の子特徴は好適に、同じ子特徴ノードへの子接続を有する２つの異なるサブネットワークの２つのＰＳＣＦノードを含む。推論中に、そのようなネットワークアーキテクチャは説明的な効果を生成することができる。例えば、２つのサブネットワークによって共有される特徴ノード「ｂ」を、当該ノードに提示されたエビデンスについて２つのサブネットワークが競合できるように、Ｎｏｉｓｙ−ＯＲメカニズムモデルで用いることができる。競合は、確率伝搬メカニズムまたは同様のメッセージ伝搬メカニズムを介して有効になる。サブネットワークは、個別に構成されることが好ましく、各サブネットワークは、プール要素、制約接続、およびＰＳＣＦノードの別々の表現を有する。２つの異なるサブネットワークの一部として２つの異なる親特徴に参加する子特徴は、パターンの生成時と推論時に異なるアクティベート値を持つことができる。図９に示されるように、再帰的に使用されるとき、再帰的皮質ネットワークとして特徴付けることができるネットワークは、任意に大きく複雑なネットワーク１０を形成することができる。
【００２３】
２．ニューラルネットワークを作成する方法
［００３６］図１０に示すように、好ましい実施形態のニューラルネットワーク作成方法Ｓ１０は、ネットワーク階層において複数のサブネットワークを再帰的に構築するステップＳ１００であって、第１層サブネットワークの子特徴ノードを、第２層サブネットワークの親特徴ノードと結合するステップＳ１１０を含むステップと；サブネットワーク内で、少なくとも２つのプールノードに接続された親特徴ノードの選択関数を設定するステップＳ１２０と；サブネットワーク内で、少なくとも２つの親特有の子特徴ノード（略してＰＳＣＦノード）に接続されたプールノードの選択関数を設定するステップＳ１３０と；制約ノードを介して少なくとも一対のＰＳＣＦノードをリンクさせるステップＳ１４０と；サブネットワークのノード接続およびサブネットワークのノードの選択関数と矛盾しない方法で、ネットワーク選択をネットワーク層の階層の下方に伝播するステップＳ１５０とを含む。この方法は好適に、ニューラルネットワークを構成し、作成し、製造し、または使用可能なシステムに変換するように機能する。方法Ｓ１０によって作成されたネットワークはさらに、下位レベルと上位レベルとの間の協調接続（coordinated connections）と、制約ノードによる選択性と、特徴のまばらな分散表現を介した共有学習とを用いることによって、不変性を増進するように機能する。完成したネットワークは、好ましくは上述のシステムと実質的に同様であるが、この方法Ｓ１０に任意の適切な変形例または代替例を組み込むことができる。生成に使用される場合、出力特徴ノードは、複数の特徴を生成パターンへと組み立てるために接続されることが好ましい。一実装例では、複数の子特徴ノードの出力が生成画像へと組み立てられる。別の実装例では、複数の子特徴ノードの出力が音声信号へと組み立てられる。推論に使用される場合、子特徴ノードはデータ入力を受け取る。この実装例において、画像処理技術から導出された計算された画像特徴が子特徴ノードに供給される。同様に、入力データは、音声、データ信号、または任意の適切なデータ特徴であり得る。
【００２４】
［００３７］ネットワーク階層内の複数のサブネットワークを再帰的に構築するステップを含むブロックＳ１００は、階層化ネットワーク内のサブネットワークパターンを再利用するように機能する。サブネットワークは、好ましくは、特徴ノード、すなわち親特徴ノードと子特徴ノードとを介して互いにインターフェースする。親特徴ノードは、ネットワーク階層の最上位にあることが好ましく、親特徴ノードから最終的に子特徴ノードへと接続が分岐する。サブネットワークは、いくつかの可能な子特徴ノードを有することが好ましい。これは、ネットワークの葉であるノード、または別の方法で説明すると、下位のレベル／層のノードのセットである。ここで、ノードは、人工ニューロン、人工ニューロデス、処理要素、処理ユニット、または人工ニューラルネットワークのノードの任意の適切な説明として記述することができる。ノードは、アクティベートするためにノードが信号を受信するための親接続と、アクティベートするために接続されたノードにノードが信号を送信するための子接続とを含む動作要素であることが好ましい。アクティベーションは、選択、ノードの設定状態（例えば、オンまたはオフ状態）、または任意の適切な出力としてさらに説明することができる。アクティベーション信号は好ましくは２値であるが、任意の適切な数の状態を有してもよい。サブネットワークは、親ノード、プールノード、ＰＳＣＦノード、任意で制約ノード、および子特徴を含むことが好ましいが、そのようなノード分類および種類は適切に調整されてもよい。例えば、ＰＳＣＦノードは、プロセッサ内の物理的論理ブロックに構成するときに子特徴ノードと機能的に結合されてもよい。サブネットワークは、個別に構成されることが好ましく、各サブネットワークは、プール要素、制約接続、およびＰＳＣＦノードの別々の表現を有する。言い換えれば、各サブネットワークは各サブネットワークと同一ではないことが多いが、代わりに、カスタマイズされた接続、ノード数、制約、および他の個別に設定された構成を含む。しかしながら、サブネットワークのアーキテクチャパターンは、サブネットワーク内で一貫していることが好ましい。ノードおよび接続の設定は、トレーニングデータ、ライブデータ、または履歴データのいずれかを介して自動化されるのが好ましい。ノードの設定はさらに、ユーザ入力を介した調整およびカスタマイズで半自動化することができる。ネットワークの設定は固定であっても、連続的または定期的に更新されてもよい。サブネットワークの任意の適切な数の層を用いることができる。さらに、複数のサブネットワークを再帰的に設計することは、第２の時間インスタンスについて少なくとも第２のネットワークを設計すること、オーバーラップ、オーバーレイ、または共有の子特徴ノードでサブネットワークを設計することを含み得る。
【００２５】
［００３８］第１層サブネットワークの子特徴ノードを第２層サブネットワークの親特徴ノードの子特徴ノードと結合するステップを含むブロックＳ１１０は、親特徴ノードおよび子特徴ノードを介してサブネットワークを接続するように機能する。サブネットワークは、多層に編成されるのが好ましい。同じ層のサブネットワークは、好ましくは、同じ親サブネットワーク、または少なくとも親サブネットワークと同じ層内のサブネットワークに接続された親ノードを有する。サブネットワークの階層は、オープンな親特徴ノードポートを有する最高レベルで始まり、オープンな子特徴ノードポートを有する最低レベルまで下方に伸展することが好ましい。サブネットワークは、１の「子」サブネットワークが１の「親」サブネットワークから下がっている別々の層に分離することができる。しかし、一変形例では、サブネットワークは、任意の層のサブネットワークとして相互作用するように構成され得る。これはまた、選択関数が１の親ノード、１のプールノード、１のＰＳＣＦノード、および１の子ノードが存在する識別関数である単純なネットワークを有する中間の特別な場合のサブネットワークを有することによっても達成できる。親ノードがアクティブになると、子ノードがアクティブになる。任意の適切な数の層と、単一層内に任意の数のサブネットワークを構成することができる。一変形例では、図８および図９に示すように、第１のサブネットワークの少なくとも１つの子特徴ノードを、同じ層内の第２のサブネットワークと共有することができる。さらに、この方法は、ノード内のノードの事後分布モデルを設定するステップを含むことができ、それは推論または検出の使用例のための確率伝播を可能にするように機能する。事後分布は、エビデンス（例えば、子ノード）が与えられると、ノードがアクティベートされる（すなわち、ＯＮになる）確率を提供することが好ましい。
【００２６】
［００３９］サブネットワーク内のプールノードに接続された親特徴ノードの選択関数を設定するステップを含むブロックＳ１２０は、親特徴のプールのアクティベートを定義および構成するように機能する。好ましくは、親特徴ノードの選択関数は、接続されているすべてのプールノードを選択するＡＮＤ関数である。あるいは、選択関数は、ＸＯＲ関数（１つのプールのみを選択）、ＯＲ関数（少なくとも１つのプールノードをランダムに選択）、または任意の適切な論理演算子関数であり得る。追加的または代替的に、確率論的モデリングを、ブール論理関数、確率的選択関数、または他の適切な選択関数に組み込むことができる。異なるプールノードが、強化された／優先的な重み付け、または優先順位を下げた／低減した重み付けを受け取ることができる。確率論的モデリングと連携してランダム選択メカニズムを使用してプールノードを選択してもよい。選択関数は、デジタル媒体に符号化された動作命令であり得る。あるいは、動作命令は物理プロセッサゲートアーキテクチャへと符号化されてもよい。
【００２７】
［００４０］ブロックＳ１３０は、サブネットワーク設定内に、少なくとも２つのＰＳＣＦノードに接続されたプールノードの選択関数を含み、親ノードの関連する、関係する、またはそうでなければ子特徴に関連する特徴ノードのアクティベーションを定義および構成する機能を果たす。選択関数は、好ましくは、親特徴ノードによるアクティベーションにトリガされるように構成される。好ましくは、プールノードの選択関数は、子ＰＳＣＦノードのうちの１つを選択するＸＯＲ関数である。選択関数は、上述のように任意の適切な代替関数であり得る。選択関数の動作に基づいて、１または複数のＰＳＣＦノードを選択することができる。ＰＳＣＦノードのプールが、一群の特徴の不変パターンを設定するために使用される。サブネットワークの層に応じて、不変パターンは任意の適切な抽象化レベルを有することができる。例えば、下位層内のＰＳＣＦノードのプールが、一次元に沿った長方形のピクセルパターンの異なる変形に対応してもよい。例示的な上位層は、異なる種類の動物の脚に対応するＰＳＣＦノードのプールを含んでもよい。このＰＳＣＦノードは、任意の適切な不変パターン収集に対応し得る。
【００２８】
［００４１］ブロックＳ１４０は、制約ノードを介して少なくとも一対のノードをリンクさせるステップを含み、ネットワークの孤立部分間の相互作用を定義するように機能する。制約ノードは、少なくとも２つのＰＳＣＦノード間にあることが好ましいが、代わりに任意のノードセット間にあってもよい。ＰＳＣＦノードを制約ノードを介してリンクさせると、好ましくは、１つのノードの選択が他のプールの選択関数の挙動に影響を及ぼし、変更できるようになる。上述のように、３つの好ましいタイプの制約ノードは、横方向制約、外部制約、および時間的制約を含む。これらの制約は、空間的および／または時間的形式のデータに対する好ましい制約の形態である。代替のネットワークまたはサブネットワークが他のデータ次元を占める場合、他の形式の制約を追加的または代替的に用いることができる。制約ノードは、他の種類のノードについて説明したように、選択関数をさらに含むことができる。選択関数も同様に設定することができる。制約ノードに対して任意の適切な数の入力および出力接続を構成することができる。基本的な実装例では、制約ノードは、接続されたＰＳＣＦノードが制約ノードを選択またはアクティベートしたときに、接続されたＰＳＣＦノードの選択を実施するＡＮＤ論理関数である。制約ノードは、どのＰＳＣＦノードが制約ノードをアクティベートするのに用いられるかを定義する、定義済み入力接続を含むことができる。代替的に、制約ノードは混合モードでＰＳＣＦノードのすべての接続を使用してもよく、その場合はアクティベートまたは選択を示す第１の信号が制約ノードをトリガして、残りの接続されたＰＳＣＦノードに選択制約を執行する（プールノードはまだＰＳＣＦノードを選択していない）。
【００２９】
［００４２］一変形例では、ブロックＳ１４０は、第１のプールの第１のノードを第２のプールの第２のノードにリンクするステップを含み、ここで第１のプールと第２のプールは同じサブネットワーク内の同じ親特徴ノードを共有する。姉妹プール要素間のそのような制約は、横方向制約として定義されることが好ましい。横方向制約ノードは、少なくとも２つのＰＳＣＦノード間にあることが好ましいが、代わりに任意の組のノード間にあってもよい。別の変形例では、ブロックＳ１４０は、第１のサブネットワークの第１のノードを第２のサブネットワークの第２のノードにリンクさせるステップを含み、ここで第１のサブネットワークと第２のサブネットワークは異なるサブネットワークである。異なるサブネットワーク間のそのような制約ノードは、外部制約ノードとして定義される。第１および第２のサブネットワークは、ネットワーク内の同じ階層にあることが好ましいが、異なる層にあってもよい。同様に、外部制約ノードは、少なくとも２つのＰＳＣＦノード間にあることが好ましいが、代わりに任意のノードの組の間にあってもよい。
【００３０】
［００４３］別の変形例では、ブロックＳ１４０は、第１のネットワークの第１のノードを第２のネットワークの第２のノードにリンクするステップを含み、ここで第１のネットワークは第１のインスタンス（例えば時間ｔ）ついて指定され、第２のネットワークは第２のインスタンス（例えば時間ｔ＋１）について指定される。このような異なる時刻間の制約ノードは時間制約ノードである。第１および第２のインスタンスは、同等のネットワークだが２つの異なる期間における評価である。時間制約ノードは、少なくとも２つのＰＳＣＦノード間にあることが好ましいが、代わりに任意のノードセット間にあってもよい。第１および第２のインスタンスは、あるいは、連続的なネットワーク評価に指定（assign）された２つの異なるネットワークの評価であってもよい。さらなる別の変形例では、第１および第２のインスタンスは子特徴を通して定義されてもよい（ここで、１の特徴セットは１の期間についてであり、特徴の第２のセットは異なる期間についてである）。この変形例では、時間的制約はまた、横方向または外部制約とみなすことができる。さらに、基礎となるネットワークアーキテクチャが使用されている特有の使用例に応じて、他の形態または種類の制約ノードを使用することができる。
【００３１】
［００４４］ブロックＳ１５０は、サブネットワークのノード接続およびサブネットワークのノードの選択関数と矛盾しない方法でネットワーク階層を通してノード選択を伝播するステップを含み、入力によってネットワークをアクティベートするように機能する。ネットワークは、パターン生成および／またはパターン推論に用いることができる。パターン生成は、好ましくは、上位層のまたはぼんやりしたパターン入力を使用し、新規または潜在的なオブジェクトまたは解釈を変換、投影、または合成する。パターン推論は、好ましくは、オブジェクト、イベント、またはメタコンセプトの物理的エビデンスを表すデータを、ネットワークを介した伝播を通じて明らかにされるパターン解釈に変換する。生成モードおよび推定モードは、パターン出力の生成または推論を改善、増強、または促進するための他のモードを追加的に少なくとも部分的に用いてもよい。同様に、ネットワーク内のノードの確率モデルを強化するのに、１の動作モードを使用することができる。好ましくは、任意の適切なヒューリスティック、アルゴリズム、またはアプローチに従って確率モデルを更新する訓練エンジンを用いて、訓練データが、システムを通して反復的または連続的に伝播される。ノード選択の伝播は、以下の方法で説明されているように実施されることが好ましいが、代わりに任意の適切な手法を使用してもよい。
【００３２】
［００４５］図１１に示されるように、方法Ｓ１０の例示的な実装例は、それぞれの選択関数を用いて設定された３つのサブネットワークおよびノードの階層である。親ノードには、各接続が同時に選択されるように、実線の接続矢印で表されるＡＮＤ関係関数が設定されている。親特徴を選択すると、親特徴ノードに接続されているプールノードが自動的に選択される。プールノードは、破線の接続矢印で表されるＸＯＲ関係関数で設定されている。特定の時点では、１つの子孫（descendant）しか選択できない。さらに、この関数はランダム選択プロセスを用いて、ＰＳＣＦノードのうちの１つを選択する。ＰＳＣＦノードのうちの１つが選択されたときに他のプール内の対応するノードが選択されるように、３つの横方向制約ノードはＡＮＤ関数を使用する。
【００３３】
３．ネットワークからパターンを生成する方法
［００４６］図１２に示すように、好ましい実施形態におけるネットワークからパターンを生成する方法Ｓ２０は、親特徴入力ノードと少なくとも２つの子特徴出力ノードを有する再帰的サブネットワークのネットワークを提供するステップＳ２１０と；ネットワークのサブネットワークのノード接続と矛盾しない（consistent）方法で、ネットワーク階層を通してノード選択を伝播するステップＳ２２０と、親特徴ノードにおいて、当該親特徴ノードの関数と一致するプールノードを選択するステップＳ２３０と；プールノードにおいて、サブネットワークの子特徴に対応する少なくとも第１のＰＳＣＦノードを選択するステップＳ２４０と；少なくとも第１のＰＳＣＦノードの選択に応答して、少なくとも第２のＰＳＣＦノードに選択制約を執行するステップＳ２５０と；ネットワークの最終的な子特徴を生成出力へとコンパイルするステップＳ２６０とを含む。この方法Ｓ２０は、ネットワークパターンに基づいてパターンを合成、模倣（simulate）、または生成するように機能する。ネットワークは、上述のようにニューラルネットワークまたはベイジアンネットワークであり、演算デバイス上で動作可能であることが好ましい。方法Ｓ２０は、最上層の親特徴ノードの上位の入力を、子特徴ノードの出力から組み立て可能な、または組み合わせ可能な詳細なデータ特徴へと変換することが好ましい。この方法は、ネットワークの単一インスタンスについて実行されることが好ましいが、方法Ｓ２０は、複数のインスタンスに対して定期的または連続的に動作するようにさらに拡張されてもよい。同様に、この方法は、１のネットワークがさらなるネットワークと協調して動作することができるように、任意の適切な調整を含むことができる。パターン生成は、コンピュータグラフィックス、音声合成、物理モデリング、データシミュレーション、自然言語処理／翻訳などの様々な媒体および分野に適用することができる。一実装例では、方法Ｓ２０は、コンテキスト情報に基づいて画像を生成するために使用され得る。他の実施形態では、方法Ｓ２０を使用して合成物（synthesis）を生成することができる。パターン生成は、予測ベースのアプリケーションで使用されるように修正することができる。予測は、生成されたコンテンツが将来の時間へと投影されている特別なケースと見なすことができる。そのような実装例は、金融トレンド予測またはデータ分析を含み得る。
【００３４】
［００４７］ブロックＳ２１０は、再帰的サブネットワークのネットワークに親特徴入力ノードと少なくとも２つの子特徴出力ノードとを提供するステップを含み、強制された制約を有する再帰的皮質ネットワークを実装するように機能する。このネットワークは、好適には、上述のような、または方法Ｓ１０で作成されたようなネットワークである。任意の複雑さの基本ネットワークは、１つの最上層サブネットワークと２つの下位層のサブネットワークとを有する少なくとも２つの層を有することが好ましい。再帰的サブネットワークのネットワークは、階層内に複数の層を有する、より複雑なものであることが好ましい。各サブネットワークは任意の適切な数の子特徴ノードを有することができ、それを任意の数の子孫／子サブネットワークが下位層の入力として使用することができる。例えば、第１層のサブネットワークは、それぞれ２、３、４、５、および６つの接続された子ノードを有する５つのプールを有することができる。全部で２０の子ノードを有して、第２の層は、それらのそれぞれの親特徴ノードへの入力としてそれらの子特徴ノードを使用する２０の異なるサブネットワークを有することができる。
【００３５】
［００４８］ブロックＳ２２０は、ネットワークのサブネットワークのノード接続と矛盾しない方法でネットワーク階層を通してノード選択を伝播するステップを含み、選択、アクティベート、オンまたはオフ、あるいはネットワーク内のノードの状態を設定するように機能する。ノード選択を伝播するステップは、ターゲットノードの適切なアクティベートを導出するトリガまたはアクティベータとして作用する電気信号を送信するステップを含むことができる。ノード選択を伝播するステップは、あるいは、メッセージまたは通信を別のノードに送信するステップを含むことができる。通信／メッセージングを調整するためにプロトコルが整っていてもよい。ノード選択の伝播は、好ましくは、ノードのアクティベーションへの系統的または体系的なアプローチを含む。最初に、パターンの親特徴入力が受け取られる。親特徴は、高位の特徴、分類、またはパターン生成の基礎となる他の入力であることが好ましい。入力は、ネットワークの最上層のサブネットワークに供給されることが好ましい。次に、ネットワークを介した伝播が進行され：最上位層のサブネットワークが処理され；次にサブネットワークの次の層が処理され；そして、処理が継続されて、ネットワークの各階層が漸進的に（すなわち、順次的にまたは連続的に）処理される。別の変形例では、少なくとも部分的な子特徴入力が、最下位の子特徴ノードで受け取られる。この変形例は、供給された子特徴ノード入力の一部内でネットワークが生成を実行するステップを含む。この変形例は、生成のためのコンテキストとフレームワークを提供するように機能するシード子特徴入力（例えば、子特徴ノードの少なくとも部分的な選択）を受け取るステップを含む。例えば、画像の半分が供給されたら、ネットワーク内の伝播を用いて、画像の残りの半分についての子特徴を生成／作成／想像する。単一の層（例えば、姉妹サブネットワークの集合）がある特別な場合には、ノード選択の伝播は、構成に応じて、サブネットワークにわたって並行して、および／または順番に行われることが好ましい。さらに、単一層内のサブネットワークの処理の順序付けがあり得る。いくつかの例では、外部制約が２つのサブネットワーク間の関係を定義しており、１つのサブネットワークが最初に処理され、次に別の１つのサブネットワークが外部制約を考慮して処理される。この順序は事前に定義あるいは構成されていてもよい。代替的に、処理は、制約の執行を決定する処理を完了するための、異なるサブネットワークと最初のサブネットワークとの間の競合条件であってもよい。あるいは、それらは任意の適切な方法で同時に処理または運用されてもよい。同様に、サブネットワーク内のノードの処理に順番があってもよい。サブネットワーク内のプールも同様に順序付けされることが好ましい。いくつかの例では、横方向制約が、２つのプールのＰＳＣＦノード間の関係を定義し、一方のプールが最初に処理され、次に他方のプールが横方向制約を考慮して処理される。この順序は事前に定義または構成されていてもよい。あるいは、処理は、処理を完了して他のプールに対する制約の執行を決定するための、異なるプールと最初のプールとの間の競合条件であってもよい。あるいは、それらは任意の適切な方法で同時に処理または管理されてもよい。各サブネットワーク内で、ブロックＳ２３０、Ｓ２４０、およびＳ２５０が実施されることが好ましい。ノードの選択は、好ましくは親特徴ノードから始まり、次いでプールノードがアクティベートされ、そしてＰＳＣＦノードが選択される。ＰＳＣＦノードの選択は、制約ノードの執行された選択制約によって少なくとも部分的に影響を受けるか決定されてもよい。
【００３６】
［００４９］ブロックＳ２３０は、親特徴ノードの関数と矛盾しない少なくとも２つのプールノードを選択するステップを含み、サブネットワークのプールを適切にアクティベートするように機能する。前述のように、プールは、不変特徴に対応するＰＳＣＦノードのグループであることが好ましい。選択は、選択関数で構成されている親特徴ノード内で行われることが好ましい。選択関数は、好ましくは接続された各プールノードがアクティベートされるようなＡＮＤ関数であるが、代わりに任意の適切な選択関数を使用することもできる。
【００３７】
［００５０］ブロックＳ２４０は、サブネットワークの子特徴に対応する少なくとも第１のＰＳＣＦノードを選択するステップを含み、プールノードのプール要素のセット内でＰＳＣＦノードを選択するように機能する。この選択は、ブロックＳ２３０からの選択されたプールノードのそれぞれに対して行われることが好ましい。サブネットワーク内のプールノードを評価する順序は、ランダムな順序かつ非同時的な方法で順序付けすることができる。あるいは、複数のプールを同時に評価してもよい。ＰＳＣＦノードの選択は、選択されたプールノードの選択関数に従って実行されることが好ましい。一実施態様では、選択関数はＸＯＲ機能であり、１つのＰＳＣＦノードのみが選択される。あるいは、任意の適切な選択関数が使用されてもよい。１のＰＳＣＦノードは、好ましくは直接の関係で少なくとも１つの子特徴ノードに接続あるいは関連付けられ、このＰＳＣＦノードが選択されると、接続された子特徴ノードが選択される。いくつかの変形例では、ＰＳＣＦノードは複数の子特徴ノードに関連付けられてもよい。各々の子特徴ノードは、好ましくは対応するＰＳＣＦノードが選択されたときに選択される。さらに別の変形では、子特徴ノードはさらに、ネットワークまたはサブネットワーク内の他のＰＳＣＦノードと関連付けられてもよい。子特徴ノードは、子特徴ノードへの接続の上位位置に基づいて選択／アクティベートされるのが好ましい。
【００３８】
［００５１］ブロックＳ２５０は、少なくとも第２のノードに選択制約を実施するステップを含み、プールとサブネットワークとの間の不変の関係を定義可能にするように機能する。制約は、好ましくは特徴の組み合わせとパターンとの間の論理を定義するために作成される。一般的な例では、サブネットワークが複数の画像成分をつなぎ合わせて自動車の画像を形成し、１つのプールが自動車の車体を選択する場合、他のプールに自動車の車輪が選択されるように制限を執行することができ、これによって車輪と車体の一貫性が維持される。選択制約は、制約ノードを介した少なくとも２つのＰＳＣＦノード間の接続を介して定義されてもよい。制約ノードは、任意の適切な数の接続されたＰＳＣＦノードを含み、任意の適切な選択関数を執行することができる。いくつかの変形例では、選択制約は、２つのプールノードまたは任意の適切な種類のノード間の接続を介して定義されてもよい。同様に、制約ノードは、ＰＳＣＦノードとプールノードとの間など、任意の２つ以上のタイプのノード間にあってもよい。制約ノードの執行は、実行時に何らかの形の方向性を有することが好ましく、第１のノードの選択が、第２のノードに対する選択の影響をもたらす。方向性は、２種類のノード間で任意の方向に進むこともできる。ＰＳＣＦノードは、制約ノードがプールノードに影響を及ぼすことをもたらし、プールノードは、制約ノードがＰＳＣＦノードに影響を及ぼすことをもたらし得る。１つの好ましい選択制約は、制約ノードに接続されているＰＳＣＦノードのうちの１つがアクティベートされている場合に、接続されているＰＳＣＦノードの選択を強制することであろう。換言すれば、制約ノードの選択制約関数はＡＮＤ演算となる。選択制約は、接続された制約ノードを有する少なくとも第１のＰＳＣＦノードの選択に応答して実施されることが好ましい。上述したように、ノードは、何らかの順序で評価または伝播されることが好ましい。選択制約は、既に選択されているＰＳＣＦノードには執行されないことが好ましいが、代わりにプールノードによる選択に適用される。いくつかのシナリオでは、プールノードは、選択制約が執行されて制約ノードを介してプール要素に送信された後に、１組の可能なＰＳＣＦノードを１つのノードに減らすことができる。他のシナリオでは、プールノードは、可能なＰＳＣＦノードの数を減らしたり、選択のための確率的重み付けを変えたりすることができる。制約ノードは、２つのＰＳＣＦノード間の接続として示されているが、代替として、プール要素間および／またはサブネットワーク間のメッセージ受け渡しメカニズムを介して制約を実装することもできる。これらのメッセージは、好ましくは本書に記載されているように制約ノードを事実上執行するために選択関数の動作を修正する。制約ノードは、横方向制約、外部制約、時間的制約、および／または任意の適切な種類の制約であり得る。横方向制約は、好ましくは２つの異なるプール間で実施される。外部制約は、好ましくは２つの異なるサブネットワーク間で実施される。横方向制約および外部制約は、好ましくは空間的な制約条件に用いられるが、任意の適切な不変のパターンを定義するために使用されてもよい。時間的制約は、異なる時間インスタンスでネットワーク評価を執行する。時間的制約は、異なる時間フレームにわたって不変パターンを定義することができる。時間的選択制約は、一連の特徴内で起こり得る、または起こり得ない特徴を決定する。
【００３９】
［００５２］ブロックＳ２６０は、ネットワークの最終的な子特徴を生成出力にコンパイルするステップを含み、複数の特徴を生成される１つの成果物、表現、または分析、模倣、あるいは任意の適切な出力に組み立てるように機能する。最終的な子特徴は、好ましくは階層ネットワークの最下層の子特徴ノードである。これらの子特徴ノードは、好ましくは特定のデータ特徴の存在を表す二項変数を表す。子特徴ノードを特定のデータ特徴へとマッピングするデータベースまたはマッピングを維持することができる。図４の例に示されるように、子特徴ノードＣＦ１、ＣＦ２、およびＣＦ３は個々に、異なる水平位置にある垂直バーを表す。最終的な子特徴をコンパイルするステップは、好ましくは選択された複数の子特徴ノードをデータ特徴にマッピングするステップを含み、それが次に生成出力へとコンパイルされる。アクティベートされた子特徴ノードは、組み合わされるとある媒体の再現を形成する構成要素であることが好ましい。好ましくは、出力は、ネットワークを訓練または作成するのに用いられたデータ媒体のものと類似である。例えば、ネットワークが画像生成のためにトレーニングまたは作成された場合、出力は好ましくは実質的に完全に模倣の画像である。ネットワークが音声特徴でトレーニングされた場合は、最終的な子特徴を組み合わせて音声ファイルまたは信号を出力することができる。複数のネットワーク評価が時間信号について使用される場合、複数のネットワークの最終的な子特徴は、最終的に生成出力へとコンパイルされ得る。例示的な実施態様では、最終的な子特徴は空間的要素と関連付けられる。換言すれば、各子特徴は特定の態様の特定の特徴に対応する。画像の場合、この空間成分は好ましくは二次元ブロック位置である。空間成分は、さらに、三次元または任意の適切な次元のデータであってもよい。次元は、物理的寸法または人工的寸法に対応してもよい。例えば、データ分析と一緒に使用されるとき、子特徴はそれぞれデータ分析の様々な次元に対応してもよく、それは好ましくは適切な出力を形成するためにコンパイルすることができる。子特徴ノードは好ましくはバイナリアクティベーション状態のノードであるので、好ましくは子特徴と関連する特徴パターンとの間のマッピングがある。子特徴は、媒体の特定の態様に一意的に対応することが好ましい。例えば、ある画像について画像をブロックのグリッドに分割し、そして下層の各子特徴ノードを画素パターン（例えば３×３画素パターン）と関連付けることができる。この方法により、アクティベートされたノードが様々な画素パターンの選択に用いられ、それらの画素パターンが最終画像内の適切な位置に重ね合わされる。
【００４０】
４．ネットワークを用いて入力からパターンを推論する方法
［００５３］図１３に示すように、好ましい実施形態のネットワークからパターンを推論する方法Ｓ３０は、親特徴入力ノードと少なくとも２つの子特徴出力ノードとを有する再帰的サブネットワークのネットワークを提供するステップＳ３１０と；事後分布モデルを用いてサブネットワークのノードを構成するステップＳ３２０と；ネットワークのサブネットワークのノード接続と一致する方法で、ネットワーク階層を介してノード選択を伝播するステップＳ３３０と；少なくとも第１のＰＳＣＦノードの選択に応答して、少なくとも第２のＰＳＣＦノードに選択制約を執行するステップＳ３４０と；ネットワークの親特徴ノードを推定出力に出力するステップＳ３５０とを含む。方法Ｓ３０は、入力データ内のパターンを推測または検出するように機能する。推論の際に、好ましくは入力データが供給される。データは、データ特徴へと変換、処理、または変更される。次に、データ機能を使用してさまざまな子ノードを選択的にアクティベート／選択する。次に、確率伝搬または同様のメッセージ受け渡しアプローチがネットワーク上で実施され、ノード選択が下層のサブネットワーク（例えば生のデータ特徴の層）から上層のサブネットワーク（例えばパターン特徴の層）までそのように作用するように行われる。方法Ｓ３０は、画像、映像、音声、スピーチ、医療センサデータ、自然言語データ、金融データ、アプリケーションデータ、トラフィックデータ、環境データなどのような多種多様なデータタイプの推論パターンに使用することができる。一実装形態では、この方法は、画像または映像内のオブジェクトの存在を検出するための画像検出に使用することができる。さらに、この方法は、同じ画像内で複数のオブジェクトを検出するために利用可能である。
【００４１】
［００５４］ブロックＳ３１０は、再帰的サブネットワークのネットワークに親特徴入力ノードと少なくとも２つの子特徴出力ノードとを提供するステップを含み、執行された制約で再帰的皮質ネットワークを実施するように機能する。ネットワークは、好ましくは上述のような、または方法Ｓ１０で作成されたようなネットワークである。ネットワークのアーキテクチャは方法Ｓ２０で用いたものと類似しているので、方法Ｓ２０およびＳ３０は、同じネットワーク構成を生成または推論のいずれの使用例にも使用することができる。
【００４２】
［００５５］ブロックＳ３２０は、事後分布モデルでサブネットワークのノードを構成するステップを含み、そこから推論が階層を上へ伝播することができる確率モデルを付与するように機能する。推論は、ノードのサブセットで何らかのエビデンスが与えられた場合に、ネットワーク内のすべてのノードで事後分布を見つけるプロセスである。事後分布モデルは、好ましくは、エビデンスが与えられた場合にノードがアクティベートされる確率を指定するパラメータである。エビデンスは、特定のノードの子であるノードのセットであることが好ましい。事後分布モデルは、一組のエビデンスの可能性についての事後分布を含むことができ、ここで一組のエビデンスの可能性は、ＯＮとＯＦＦであるエビデンスノードの順列（permutations）を含む。事後分布は、確率、比率、比率の対数、加重選択関数（エビデンスに応じてノードがアクティブになる場合）、または任意の適切な表現として表すことができる。代替的または追加的に、他の推論メカニズムが方法Ｓ３０に組み込まれてもよい。
【００４３】
［００５６］ブロックＳ３３０は、ネットワークのサブネットワークのノード接続と矛盾しないようにネットワーク階層を通してノード選択を伝播するステップを含み、ネットワーク階層の上下に確率推論を伝播するように機能する。ブロックＳ３３０は、好ましくは確率伝搬を使用するが、他の確率推論アプローチも代替的に実装してもよい。確率伝搬は、ネットワーク階層の上方に選択を伝播するために使用されることが好ましい。ノード選択の伝播はさらに、子ノードの事後予測と無矛盾である。確率伝搬は、ノード間でメッセージをやり取りし、異なる仮定の下でノード内で計算を実行するステップを含む。ノード間のリンクは、メッセージ用の双方向通信チャネルとして構築することができる。一実装例では、上流に流れるメッセージは可能性を表し、下流に流れるメッセージは確率を表す。さらに、生成または下方伝播を用いて、上方伝播へのフィードバックを強化および提供することができる。例えば、上記の生成的伝播を用いて、画像内に存在し得るものを想像し、それを画像内に実際に存在するものと比較することができる。図７に示す一例では、ネットワークのリンクを伝播するメッセージは、画像のパターンを推論するのに使用することができる。本例のメッセージは、メッセージの発信元に対応するノードがオンであるという前提で、エビデンスが存在する尤度を表す。例えば、ノードＣＦ２の表現は入力エビデンスとより整合しているので、ノードＣＦ２はノードＣＦ１と比較してより高い尤度を有する。プールの尤度（プールノードから発生する接続によって表される）は、プール要素の尤度の最大値である。後続の時間インスタンスに対応する一連の入力を用いてネットワークに確率を伝播する場合、ネットワークは時間内にメッセージを伝播し、時間的推論を行うことができる。そのようなシナリオでは、異なるノードで計算された値は、一連のエビデンスが与えられた場合の確率を表す。
【００４４】
［００５７］好ましくは、伝播は、ネットワークの最後の子特徴ノードにおいてデータ特徴入力を受け取ると開始される。最後の子特徴ノードは、階層内の最下層の子特徴ノードである。好ましくは、データは、処理され、変換され、または一組の特徴へと分割される。その後、データ特徴を使用して、最後の子特徴ノードを選択またはアクティベートする。単純なシナリオでは、特徴の存在は、子特徴ノードをアクティベートまたは非アクティベートするのに用いられる。あるいは、特徴ノードの尤度パラメータを入力とすることができる。尤度は、畳み込み類似度測定値、または特徴がデータ内で明白である可能性の任意の適切な測定値であり得る。確率伝搬が、この入力をネットワーク階層を上に伝播し続ける。サブネットワーク内で、ノードのアクティベーションを伝播するステップは、子特徴ノードが接続されたＰＳＣＦノードに尤度スコアを送るステップと；サブネットワークのプールノードにおいて、事後分布成分と接続されたＰＳＣＦノードの尤度スコアとから尤度スコアを生成するステップと；サブネットワークの親特徴ノードにおいて、事後分布成分と、親特徴ノードに接続されたプールノードの尤度スコアとから尤度スコアを生成するステップとを含む。次いで、確率伝搬は、好ましくは、より上のサブネットワークまで続き、ネットワーク伝播が終わるか、何らかの閾値が満たされるまで続く。
【００４５】
［００５８］ブロックＳ３４０は、少なくとも第２のノードに選択制約を実施するステップを含み、推論中にプールとサブネットワークとの間の不変関係が定義され使用できるように機能する。制約ノードと接続は、ブロックＳ２５０と実質的に同様の方法で実施されることが好ましい。ノードがアクティベートされると、制約ノードを介して接続されている他のノードにはそれらに適用されている制約が執行される。外部制約ノードは、少なくとも２つのＰＳＣＦノードの間にあることが好ましいが、代わりに任意のノードセット間にあってもよい。一変形例では、制約は、代替として、接続されたＰＳＣＦノードおよび／または同じプールのＰＳＣＦノードの確率測度を増大または変更することができる。
【００４６】
［００５９］ブロックＳ３５０は、ネットワークの親特徴ノードの特徴を推論出力へと出力するステップを含み、ネットワークのアクティベートされたノードを推論結果へと処理または同化（assimilate）させるように機能する。好ましくは、親特徴ノードがパターンの指標として使用される。ネットワークを構築する際に、好ましくは、異なる層が異なる粒度のスケールでパターンを検出する。低いレベルでは、コーナーや線や点などの特定のピクセルパターンを検出するステップが含まれる。高いレベルでは、画像から人物が検出されたり、メッセージが幸福を表しているといったパターン検出となり得る。また、各サブネットワークは、特定のパターン識別用にカスタマイズされていることが好ましい。上記の例では、サブネットワークは、不変のコーナー検出用であり得る。この特定のサブネットワークの親ノードがアクティベートされると、コーナーが存在すると推論することができる。サブネットワークの親ノードのアクティベートが個別のパターンラベルと対になるように、マッピングが存在してもよい。推論は最上位層から来てもよいが、代わりにネットワークの複数の層を通して得られてもよい。例えば、この方法が「男性の人間が笑っている」という推論を出力するものであれば、人間がいる、この人間は男性である、そして表情が笑顔であるという推論が、複数の層および／またはサブネットワークを通して得られる。また、推論を出力する際にどの層および／またはサブネットワークを使用するかを選択することによって、推論の範囲を調整することができる。例えば、画像から推論を生成するとき、上位層からの推論は、その画像が喫茶店のシーンのものであることを検出することができる。下位層は、画像内に３つのテーブル、男性、女性、および他の様々な喫茶店の備品があることを検出するために使用され得る。適切なレベルの推論情報がネットワークから抽出されるように、ＡＰＩまたはインターフェースが存在してもよい。このインタフェースは、好ましくは、適切な推論情報を用いて応答を適切に選択しフォーマットすることによって、分析の要求に応答する。例えば、インターフェースにおいて、リクエストは、「この画像に何人の人がいるか」、「このシーンの背景は何ですか」、「この画像の白鳥はどこにいるか」、または「このシーン内のオブジェクトの次の状態は何か」といった特定の関心パターンを特定し得る。オープンエンドのリクエストが多いほど、検出されるパターン量が多くなる可能性がある。サブネットワークのアクティベートされた親ノードのセット内に明示されている推論情報は、代わりに任意の適切な方法で使用することができる。
【００４７】
５．システムおよび方法の使用例
［００６０］上述したように、再帰的皮質ネットワークは多種多様なシナリオで使用することができる。ネットワークのアーキテクチャは、生成と推論の両方に有用である。ネットワークはさらに、好ましくは、生成または推論のための入力として使用されるデータの形式にとらわれない。好ましいデータ媒体は、２Ｄまたは３Ｄ画像データ、画像シーケンス、映像、音声、自然言語テキスト、分析データ、広く分散したセンサデータ、または他の適切な形式のデータが含まれる。１つの好ましい応用例では、システムおよび方法は画像に適用される。ネットワークは、推論モードで、オブジェクト検出、事象分析、顔認識、気分の検出、オブジェクト追跡、および他の適切な用途に使用することができる。生成モードでは、ネットワークは模擬画像を生成することができる。他の例示的な応用例として、システムおよび方法は自然言語処理に適用することができる。推論モードでは、文の文脈および意図を解釈し、言語を翻訳し、他の言語パターンを検出することができる。例えば、質問の意味を解釈することができ、その後これをネットワークの生成モードで使用して、返答または応答を生成することができる。いくつかの実装例では、この応答は自然言語の応答であるが、単なる言語コミュニケーションを越えたアクションまたはイベントのトリガとしてもよい。他の例示的な用途としては、医療におけるスキャンと画像内異常検出、金融データの分析および予測、広告ターゲティング、トラフィック予測、環境シミュレーション、ならびに他の適切な分野のシミュレーション、検出、または予測が含まれる。ネットワークは特定の用途および使用例（画像分析専用ネットワークなど）のために作成されることが好ましいが、ノードのネットワークの拡張を通じてより一般的で高いレベルのパターンおよび機能が可能になるように、ネットワークをさらに組み合わせて使用することができる。ネットワークの使用中、ネットワーク構成は、新しいデータを考慮するように更新および拡張されることが好ましく、これによってネットワークを介した処理能力がさらに拡張される。
【００４８】
［００６１］好ましい実施形態のシステムおよび方法、ならびにその変形例は、少なくとも部分的に、コンピュータ可読命令を格納するコンピュータ可読媒体を受容するように構成された装置として実施および／または実装することができる。命令は、好ましくは再帰的皮質ネットワークと統合されたコンピュータ実行可能コンポーネントによって実行されることが好ましい。コンピュータ可読媒体は、ＲＡＭ、ＲＯＭ、フラッシュメモリ、ＥＥＰＲＯＭ、光学装置（ＣＤまたはＤＶＤ）、ハードドライブ、フロッピードライブ、または任意の適切な装置などの任意の適切なコンピュータ可読媒体に格納することができる。コンピュータ実行可能コンポーネントは、好ましくは一般的なまたは特定用途向けプロセッサであるが、任意の適切な専用ハードウェアまたはハードウェア／ファームウェアの組合せ装置が代替的または追加的に命令を実行してもよい。
【００４９】
［００６２］当業者であれば、前述の詳細な説明ならびに図面および特許請求の範囲から認識するように、添付の特許請求の範囲に規定される本発明の範囲から逸脱することなく、本発明の好ましい実施形態に対して修正および変更を加えることができる。
【００５０】
システムと方法の実施例
［００６３］ネットワークを用いてパターンを生成する方法は、親特徴ノードと少なくとも２つの子特徴ノードとを有するサブネットワークの再帰的ネットワークを提供するステップであって、親特徴ノードは入力ノードであり、少なくとも２つの子特徴ノードは出力ノードであるステップと；ネットワークのサブネットワークのノード接続と矛盾しないように、ノード選択をネットワーク階層の下方に伝播するステップとを具え、サブネットワーク内での伝播は、サブネットワークのアクティベートされた親特徴ノードにおいて、親特徴ノードの選択関数と矛盾しない１のプールノードを選択するステップと；第１のプールのプールノードにおいて、サブネットワークの子特徴ノードに対応する少なくとも第１の親固有の子特徴（ＰＳＣＦ）ノードを選択するステップと；サブネットワークの第１のノードの選択に応答して、サブネットワークの横方向制約ノードに従って少なくとも第２のプールの第２のノードに選択制約を執行するステップと；ネットワークの最終的な子特徴ノードの状態を生成出力へとコンパイルするステップとを含む。
【００５１】
［００６４］この方法の一実施例では、第１のノードは第１のＰＳＣＦノードであり、第２のプールの第２のノードはＰＳＣＦノードである。この方法のさらなる実施例では、第２のプールの第２のＰＳＣＦノードは、第１のノードのサブネットワーク内にある。この方法の第２のさらなる実施例では、第２のプールの第２のＰＳＣＦノードは第２のサブネットワーク内にある。この方法の第３のさらなる実施例では、第１のＰＳＣＦノードは第１の時刻のネットワーク内にあり、第２のプールの第２のＰＳＣＦノードは第２の時刻のネットワーク内にある。この方法のさらなる第４の実施例では、方法は、少なくとも１つの子特徴ノードを選択するＰＳＣＦノードの選択に応答して、選択された子特徴ノードを生成出力へとコンパイルされるデータ特徴にマッピングするステップを含む。
【００５２】
［００６５］本方法の生成出力は、画像、画像シーケンス、音声を含み得る。この方法の選択関数は、ブール論理選択関数であり得る。
【００５３】
［００６６］この方法の第２の実施例では、第１層のサブネットワークの子特徴ノードは、第２層の少なくとも２つのサブネットワークの親特徴ノードである。この方法のさらなる実施例では、選択関数と矛盾しないプールノードを選択するステップは、論理ＡＮＤ選択関数に従って親ノードに接続されたそれぞれのプールノードを選択するステップを含み；第１のＰＳＣＦノードを選択するステップは、プールノードの論理ＸＯＲ選択関数に従って、プールノードに接続されたＰＳＣＦノードのセットからただ１つのＰＳＣＦノードをランダムに選択するステップを含む。この方法の第２のさらなる実施例では、少なくとも第１のＰＳＣＦノードを選択するステップは、プールノードの論理ＸＯＲ選択関数に従って、プールノードに接続されたＰＳＣＦノードのセットからＰＳＣＦノードの第１のサブセットをランダムに選択するステップをさらに含み、この選択関数はＰＳＣＦノードのセットの複数のサブセットに適用される。この方法の第３のさらなる実施例では、選択関数と矛盾しないプールノードを選択するステップは、論理ＡＮＤ選択関数に従って親ノードに接続された各プールノードを選択するステップを含む。
【００５４】
［００６７］ネットワークを用いてパターンを生成するための方法は、親特徴ノードと少なくとも２つの子特徴ノードとを有するサブネットワークの再帰的ネットワークを提供するステップであって、親特徴ノードは入力ノードであり、少なくとも２つの子特徴ノードは出力ノードであり；再帰ネットワークの第１のサブネットワークにおいて、当該第１のサブネットワークが、前記親特徴ノードと前記少なくとも２つの子特徴ノードとを含む、ステップと；第１のサブネットワークのアクティベートされた親特徴ノードにおいて、当該親特徴ノードの選択関数と矛盾しない第１のプールノードと第２のプールノードとを選択するステップと；第１のプールノードにおいて、サブネットワークの第１の子特徴ノードに対応する少なくとも第１の親固有の子特徴（ＰＳＣＦ）ノードを選択するステップと；第２のプールノードにおいて、サブネットワークの第２の子特徴ノードに対応する少なくとも第２の親固有の子特徴（ＰＳＣＦ）ノードを選択するステップと；第１および第２の子特徴ノードを含む、ネットワークの最終的な子特徴ノードの状態を、生成出力へとコンパイルするステップとを含む。
【００５５】
［００６８］この方法の一実施例では、当該方法は、第１および第２のＰＳＣＦノードの選択に応答して、選択された子特徴ノードを、生成出力へとコンパイルされるデータ特徴にマッピングするステップをさらに含む。この方法の生成出力は、画像、画像シーケンス、音声を含み得る。
【００５６】
［００６９］この方法の第２の実施例では、当該方法は、第１のプールノードにおいて、サブネットワークの第３の子特徴ノードに対応する少なくとも第３の親固有の子特徴（ＰＳＣＦ）ノードを選択するステップを含み、前記第１および第３のＰＳＣＦノードは、第１のプールノードに接続されたＰＳＣＦノードのセットのサブセットにわたって適用された第１のプールノードの論理ＸＯＲ選択関数に従って選択される。
【００５７】
［００７０］ネットワークを用いてパターンを推論するための方法は、親特徴ノードと少なくとも２つの子特徴ノードとを有するサブネットワークの再帰的ネットワークを提供するステップと；事後分布要素を用いてサブネットワークのノードを構成するステップと；最終的な子特徴ノードでデータ特徴入力を受け取るステップと；ネットワークのサブネットワークのノード接続および子ノードの事後予測と矛盾しないように、ネットワーク階層を通してノードのアクティベーションを伝播するステップと；サブネットワークの少なくとも２つのノード間でアクティベーション制約を執行するステップと；親特徴ノードの選択を推論出力へと出力するステップとを含む。
【００５８】
［００７１］この方法の一実施例では、ノードのアクティベーションを伝播するステップは、接続された親固有の子特徴（ＰＳＣＦ）ノードに尤度スコアを子特徴ノードがメッセージングするステップと；サブネットワークのプールノードにおいて、事後分布要素と接続されたＰＳＣＦノードの尤度スコアとから尤度スコアを生成するステップと；サブネットワークの親特徴ノードにおいて、事後分布成分と接続された親特徴ノードの尤度スコアとから、尤度スコアとを生成するステップとを含む。この方法のさらなる実施例では、少なくとも２つのノード間でアクティベーション制約を執行するステップは、第１のプールノードに接続された第１のＰＳＣＦノードと第２のプールノードに接続された第２のＰＳＣＦノードとの間でアクティベーション制約を執行するステップを含む。この方法のさらなる第２の実施例では、少なくとも２つのノード間でアクティベーション制約を執行するステップは、第１のサブネットワーク内の第１のＰＳＣＦノードと第２のサブネットワーク内の第２のＰＳＣＦノードとの間でアクティベーション制約を執行するステップを含む。この方法のさらなる実施例では、少なくとも２つのノード間でアクティベーション制約を執行することは、第１の時刻のネットワーク内の第１のＰＳＣＦノードと第２の時刻のネットワーク内の第２のＰＳＣＦとの間でアクティベーション制約を執行するステップを含む。
【００５９】
［００７２］この方法の第２の実施例では、データ特徴入力を受け取るステップは、画像の画像特徴に従って最終的な子特徴ノードのアクティベーションを設定するステップを含み、推論される出力は前記画像内で検出されたオブジェクトである。
【００６０】
［００７３］この方法の第３の実施例では、データ特徴入力を受信するステップは、音声信号特徴に従って最終的な子特徴ノードのアクティベーションを設定するステップを含み、推論される出力は、音声信号中の検出された音声パターンである。
【００６１】
［００７４］この方法の第４の実施例例では、第１層サブネットワークの子特徴ノードは、少なくとも２つの第２層サブネットワークの親特徴ノードである。
【００６２】
［００７５］ニューラルネットワークを構築する方法は、上位階層サブネットワークの各子特徴ノードを下位階層のサブネットワークの親特徴ノードに通信可能に結合することを含む、ネットワーク階層における複数のサブネットワークを再帰的に構築するステップと；サブネットワークの親特徴ノードの選択関数を設定するステップであって、選択関数は、サブネットワーク内の少なくとも２つのプールの選択オプションによって定義される、ステップと；プールノードの選択関数を設定するステップであって、プールノードの選択関数は、少なくとも２つの親特有の子特徴（ＰＳＣＦ）ノードの選択オプションによって定義されるステップと；少なくとも一対のノードを制約ノードでリンクさせるステップと；ネットワークのサブネットワークのノード接続、選択関数、およびリンクされた制約ノードに矛盾しない方法で、ネットワーク階層を通してノード選択を伝播するステップとを含む。
【００６３】
［００７６］この方法の一実施例では、少なくとも一対のノードを制約ノードとリンクさせるステップは、第１のプールノードに接続された第１のＰＳＣＦノードを第２のプールに接続された第２のＰＳＣＦノードとリンクさせるステップを含む。
【００６４】
［００７７］この方法の第２の実施例では、少なくとも一対のノードを制約ノードとリンクさせるステップは、第１のサブネットワークの第１のＰＳＣＦノードを第２のサブネットワークの第２のＰＳＣＦノードとリンクさせるステップを含む。方法のさらなる実施例では、少なくとも一対のノードを制約ノードとリンクさせるステップは、第１のインスタンスの第１のネットワーク内の第１のＰＳＣＦノードを、第１のインスタンスの第２のネットワーク内の第２のＰＳＣＦノードとリンクさせるステップを含む。この方法の第２のさらなる実施例において、当該方法はさらに事後パラメータを設定するステップを含み、ネットワーク階層を通してノード選択を伝播するステップはさらに、設定された事後パラメータに従って確率伝搬と矛盾しない方法で実行される。方法の第３のさらなる実施例では、当該方法は、ＰＳＣＦノードを子特徴ノードと接続するステップをさらに含み、少なくとも１つの子特徴ノードは少なくとも２つのＰＳＣＦノードと接続される。
【００６５】
［００７８］システムは、複数の階層に編成されたサブネットワークの再帰的に設計されたネットワークを具え、前記サブネットワークは、少なくとも親特徴ノードと、プールノードと、親特有の子特徴（ＰＳＣＦ）ノードと、子特徴ノードとを具え、少なくとも１つのサブネットワークの親特徴ノードは、少なくとも１つのサブネットワークの親特徴ノードに接続された少なくとも２つのプールノード上で動作可能な選択関数で構成されており；少なくとも１つのサブネットワークのプールノードは、少なくとも１つのサブネットワークのプールノードに接続された少なくとも２つのＰＳＣＦノード上で動作可能な選択関数で構成され；少なくとも１つのサブネットワークのＰＳＣＦノードは、接続された子特徴ノードをアクティベートするように構成され、子特徴ノードは、下位階層において第２のサブネットワークの少なくとも親特徴ノードに接続可能である。
【００６６】
［００７９］このシステムの第１の実施例において、当該システムは、少なくとも２つのＰＳＣＦノードからの少なくとも２つの接続を有し、プールノードによる選択を増強するための選択関数を有する制約ノードをさらに含む。システムのさらなる実施例では、制約ノードは第１のＰＣＳＦノードおよび第２のＰＣＳＦノードに接続され、第１のＰＣＳＦノードは第１のプールノードに接続され、第２のＰＣＳＦノードは第２のプールノードに接続される。システムのさらなる第２の実施例では、第１のプールノードおよび第２のプールノードは単一の共有親特徴ノードに接続され、第１のプールノードおよび第２のノードは単一のサブネットワーク内に含まれる。システムのさらなる第３の実施例では、第１のプールノードは第１の親特徴ノードに接続され、第１のサブネットワーク内に含まれ；第２のプールノードは第２の親特徴ノードに接続され、第１のサブネットワークとは異なる第２のサブネットワーク内に含まれる。システムのさらなる第４の実施例では、第１のサブネットワークは第２のサブネットワークとは異なる階層レベルにある。
【００６７】
［００８０］このシステムの第２の実施例では、ネットワークのノードは事後分布要素で構成され；ネットワークは、当該ネットワークのサブネットワークとのノード接続および事後分布要素と矛盾しない方法で、複数の階層を通してノードアクティベーションを伝播するように構成される。システムのさらなる実施例では、ネットワークは、少なくとも１つの子特徴ノードでデータ特徴入力を受け取ったことに応答して、親特徴ノードの選択を推定出力として出力するように構成される。システムのさらなる第２の実施例では、ネットワークは：子特徴ノードにおいて、接続された親固有の子特徴（ＰＳＣＦ）ノードに尤度スコアをメッセージングするステップと；サブネットワークのプールノードにおいて、事後分布要素と接続されたＰＳＣＦノードの尤度スコアとから尤度スコアを生成するステップと；サブネットワークの親特徴ノードにおいて、事後分布要素と親特徴ノードに接続されたプールノードの尤度スコアとから、尤度スコアを生成するステップとによって、ノードアクティベーションを伝播するように構成されている。システムのさらなる第３の実施例では、ネットワークは、画像の画像特徴に従って子特徴ノードのアクティベーションを設定することによって、データ特徴入力を受け取るように構成され、ここで推論出力は画像の分類を含む。システムのさらなる第４の実施例では、ネットワークは、音声信号の音声特徴に従って子特徴ノードのアクティベーションを設定することによってデータ特徴入力を受け取るように構成され、ここで推論出力は音声信号の分類を含む。
【００６８】
［００８１］システムの第３の実施例では、ネットワークは、受信した親特徴入力に応じた生成出力として、子特徴ノード選択を出力するように構成される。システムのさらなる実施例では、生成出力は、選択された子特徴ノードの画像特徴へのマッピングに基づいて生成された画像である。システムのさらなる第２の実施例では、生成出力は、選択された子特徴ノードの画像特徴へのマッピングに基づいて生成された画像である。システムのさらなる第３の実施例では、親特徴入力は画像分類である。システムのさらなる第４の実施例では、生成出力は、選択された子特徴ノードの音声特徴へのマッピングに基づいて生成された音声信号である。システムのさらなる第５の実施例では、親特徴入力は音声信号分類である。システムの第６のさらなる実施例では、ネットワークはさらにシード子特徴入力を受け取るように構成され、ここでシード子特徴入力は、ネットワークによって生成出力を修正するために用いられる。システムのさらなる第７の実施例では、ネットワークは、シードされた子特徴ノードのアクティベートを設定することによってシード子特徴入力を受け取るように構成されている。システムのさらなる第８の実施例では、ネットワークは、受け取った親特徴入力とシード子特徴入力の両方に応答して、生成出力として子特徴ノード選択を出力するように構成される。システムのさらなる第９の実施例では、ネットワークは、画像の第１の部分の画像特徴に従ってシードされた子特徴ノードのアクティベートを設定するように構成され、生成出力は画像の第２の部分である。
【００６９】
［００８２］システムの第４の実施例では、子特徴ノードは、下位階層のサブネットワークの複数の親特徴ノードに接続されている。このシステムのさらなる実施例では、子特徴ノードに提供されたエビデンスは、前記複数の親特徴ノードのうちの第１の親特徴ノードによって送信されたエビデンスと、前記複数の親特徴ノードのうちの第２の親特徴ノードによって送信されたエビデンスとにｎｏｉｓｙ−ＯＲゲートを適用することによって処理される。システムのさらなる第２の実施例では、子特徴ノードに提供されたエビデンスは、複数の親特徴ノードのうちの第１の親特徴ノードによって送信されたエビデンスと、複数の親特徴ノードのうちの第２の親特徴ノードによって送信されたエビデンスとにｎｏｉｓｙ−ＭＡＸゲートを適用することによって処理される。
【図１Ａ】
2019520656.tif 000004
【図１Ｂ】
2019520656.tif 000005
【図２】
2019520656.tif 000006
【図３】
2019520656.tif 000007
【図４】
2019520656.tif 000008
【図５】
2019520656.tif 000009
【図６】
2019520656.tif 000010
【図７】
2019520656.tif 000011
【図８】
2019520656.tif 000012
【図９】
2019520656.tif 000013
【図１０】
2019520656.tif 000014
【図１１】
2019520656.tif 000015
【図１２】
2019520656.tif 000016
【図１３】
2019520656.tif 000017
【図１４】
2019520656.tif 000018
【国際調査報告】
2019520656.tif 000019