[go: up one dir, main page]

JP6761055B2 - Systems and methods for generating data interpretations in neural networks and related systems - Google Patents

Systems and methods for generating data interpretations in neural networks and related systems Download PDF

Info

Publication number
JP6761055B2
JP6761055B2 JP2018567585A JP2018567585A JP6761055B2 JP 6761055 B2 JP6761055 B2 JP 6761055B2 JP 2018567585 A JP2018567585 A JP 2018567585A JP 2018567585 A JP2018567585 A JP 2018567585A JP 6761055 B2 JP6761055 B2 JP 6761055B2
Authority
JP
Japan
Prior art keywords
data
node
conversion
network
layer
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2018567585A
Other languages
Japanese (ja)
Other versions
JP2019520655A (en
Inventor
ジョージ,ディリープ
カンスキー,ケンネス,アラン
ラーン,クリストファー,レンメルト
リーラック,ウルフギャング
マルティ,バースカラ,マンナー
フェニックス,デイヴィッド,スコット
パーディ,エリック
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Vicarious FPC Inc
Original Assignee
Vicarious FPC Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Vicarious FPC Inc filed Critical Vicarious FPC Inc
Publication of JP2019520655A publication Critical patent/JP2019520655A/en
Application granted granted Critical
Publication of JP6761055B2 publication Critical patent/JP6761055B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/044Recurrent networks, e.g. Hopfield networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/047Probabilistic or stochastic networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Evolutionary Computation (AREA)
  • Molecular Biology (AREA)
  • Artificial Intelligence (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Probability & Statistics with Applications (AREA)
  • Image Analysis (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

[0001]本発明は、一般に人工知能分野に関し、より詳細にはニューラルネットワーク用のデータ解釈を生成するための新規で有用なシステムおよび方法、ならびに人工知能分野における関連システムに関する。 [0001] The present invention relates generally to the field of artificial intelligence, and more specifically to novel and useful systems and methods for generating data interpretations for neural networks, and related systems in the field of artificial intelligence.

[0002]コンピュータビジョン、画像処理、および機械学習の進歩にも拘わらず、視覚オブジェクトの認識においては、コンピュータが人間の能力と比較して劣る課題が未だ残っている。画像からオブジェクトを認識することは、シーン内で画像を認識することを必要とするだけでなく、様々な位置で、異なる設定で、わずかな変化を伴ってオブジェクトを認識することも必要とする。例えば、椅子を認識するためには、椅子が椅子であるとする生来の性質を理解する必要がある。これは人間にとっては簡単な作業である。コンピュータは、さまざまな種類の椅子や、椅子が存在し得るシチュエーションに対処するのに苦労する。シーン内の複数のオブジェクトを検出するという問題を考えると、この問題はさらに困難となる。視覚オブジェクト認識を実行可能なモデルは、それらの視覚的データセット内に存在するオブジェクトを認識するために、視覚的データセットについての説明を提供できなければならない。視覚オブジェクト認識は、パターン認識(およびその逆のパターン生成)という人工知能におけるより一般的な問題の特定のケースである。パターン認識は、音声認識、自然言語処理、および他の分野などの画像処理以外の他の分野および媒体において問題である。したがって、ニューラルネットワークおよび関連システムのためのデータ解釈を生成するための新しく有用な方法を作り出すことが人工知能分野において必要とされている。本発明はそのような新規かつ有用な方法を提供する。 Despite advances in computer vision, image processing, and machine learning, there are still challenges in recognizing visual objects that computers are inferior to human capabilities. Recognizing an object from an image not only requires recognizing the image in the scene, but also requires recognizing the object at various positions, with different settings, and with slight changes. For example, in order to recognize a chair, it is necessary to understand the innate nature of the chair as a chair. This is an easy task for humans. Computers struggle to deal with different types of chairs and situations where chairs can exist. This problem is even more difficult given the problem of detecting multiple objects in the scene. Models capable of performing visual object recognition must be able to provide a description of the visual dataset in order to recognize the objects that exist within those visual datasets. Visual object recognition is a particular case of pattern recognition (and vice versa), a more common problem in artificial intelligence. Pattern recognition is a problem in other disciplines and media other than image processing, such as speech recognition, natural language processing, and other disciplines. Therefore, there is a need in the field of artificial intelligence to create new and useful methods for generating data interpretations for neural networks and related systems. The present invention provides such a novel and useful method.

[0003]図1は、レイヤベースの双方向データ変換システム(LBD)のフローチャート図である。FIG. 1 is a flowchart of a layer-based bidirectional data conversion system (LBD). [0004]図2は、再帰的皮質ネットワーク(RCN)の概略図である。FIG. 2 is a schematic diagram of a recursive cortical network (RCN). [0005]図3は、再帰的皮質ネットワーク(RCN)の概略図である。FIG. 3 is a schematic diagram of a recursive cortical network (RCN). [0006]図4は、RCNのサブネットワークの概略図である。FIG. 4 is a schematic diagram of the RCN subnetworks. [0007]図5は、RCNのサブネットワークの概略図である。FIG. 5 is a schematic diagram of the RCN subnetworks. [0008]図6は、好ましい実施形態の方法のチャート図である。FIG. 6 is a chart of the method of the preferred embodiment. [0009]図7は、順方向変換を用いた推論の概略図である。FIG. 7 is a schematic diagram of inference using forward transformation. [0010]図8は、順方向変換および逆方向変換の組み合わせを使用した推論の概略図である。FIG. 8 is a schematic diagram of inference using a combination of forward and reverse transformations. [0011]図9は、好ましい実施形態の方法の順方向変換のフローチャート図である。FIG. 9 is a flowchart of forward conversion of the method of the preferred embodiment. [0012]図10は、LBDの例示的な図である。FIG. 10 is an exemplary diagram of the LBD. [0013]図11は、好ましい実施形態の方法の順方向変換の例示的な実装例を示す図である。FIG. 11 is a diagram showing an exemplary implementation example of forward conversion of the method of the preferred embodiment. [0014]図12は、好ましい実施形態の方法の順方向変換の例示的な実装例を示す図である。FIG. 12 is a diagram showing an exemplary implementation example of forward conversion of the method of the preferred embodiment. [0015]図13は、好ましい実施形態の方法の逆方向変換の例示的な実装例を示す図である。FIG. 13 is a diagram showing an exemplary implementation example of the reverse conversion of the method of the preferred embodiment. [0016]図14は、好ましい実施形態の方法の逆方向変換のフローチャート実装例である。FIG. 14 is a flowchart implementation example of the reverse conversion of the method of the preferred embodiment. [0017]図15は、好ましい実施形態の方法の逆方向変換の例示的な実装例である。FIG. 15 is an exemplary implementation of the reverse transformation of the method of the preferred embodiment.

[0018]本発明の好ましい実施形態の以下の説明は、本発明をこれらの好ましい実施形態に限定することを意図するものではなく、むしろ当業者が本発明を製造および使用することを可能にすることを意図する。 The following description of preferred embodiments of the invention is not intended to limit the invention to these preferred embodiments, but rather allows one of ordinary skill in the art to manufacture and use the invention. Intended to be.

[0019]好ましい実施形態のデータ解釈を生成するためのシステムおよび方法は、ニューラルネットワークおよび関連システムの生成および/または推論タスクを改善するように機能する。このシステムおよび方法は、データ変換システム(例えば、ニューラルネットワーク)の様々な層を通した双方向変換を適用することが好ましい。パターン認識の課題に取り組むために、好ましい実施形態のシステムおよび方法を適用して、パターンデータに関するデータ解釈(data explanation)を生成することができる。データ解釈の生成は、畳み込みニューラルネットワーク、再帰的皮質ネットワーク、および各層が下の層に変換を適用する一連の層からなる他のモデルを含む多くのパターン認識モデルにとって重要である。ニューラルネットワークの第1の目的タスクでは、推論出力が生成される。本明細書では、そのような推論出力を生成するためのプロセスおよびシステムについて説明する。特に、一例では、逆方向の生成変換を適用して、推論出力を好ましくは改善することができる。ニューラルネットワークの第2の目的タスクでは、生成出力または想像出力(imagining output)を提供することができる。本明細書に記載のシステムおよび方法は、追加的または代替的に、そのような生成出力を提供するために適用され得る。生成プロセスの一変形例では、生成出力を好ましくは改善するために、少なくとも部分的に推論変換を使用することが好ましい。このシステムおよび方法は、ニューラルネットワーク、より具体的には再帰的皮質ネットワークで使用されることが好ましいが、このシステムおよび方法はさらに、任意の適切な階層化データ変換システムに使用することができる。 Systems and methods for generating data interpretations of preferred embodiments function to improve the generation and / or inference tasks of neural networks and related systems. This system and method preferably applies bidirectional transformation through various layers of a data transformation system (eg, a neural network). To address the challenges of pattern recognition, the systems and methods of preferred embodiments can be applied to generate data explanations for pattern data. The generation of data interpretations is important for many pattern recognition models, including convolutional neural networks, recursive cortical networks, and other models consisting of a series of layers, each layer applying transformations to the underlying layers. In the first objective task of the neural network, an inference output is generated. The process and system for producing such inference output is described herein. In particular, in one example, the inference output can be preferably improved by applying a generational transformation in the opposite direction. A second objective task of a neural network can provide a generated output or an imagining output. The systems and methods described herein may, in addition or alternative, be applied to provide such generated output. In one variant of the production process, it is preferable to use inference transformations, at least in part, to preferably improve the production output. This system and method is preferably used in neural networks, more specifically recursive cortical networks, but this system and method can also be used in any suitable layered data conversion system.

1.ニューラルネットワークと関連システム
[0020]ニューラルネットワークと関連システムは、再帰的皮質ネットワーク(RCN)、畳み込みニューラルネットワーク(CNN)、HMAXモデル、低速特徴分析(SFA)システム、および階層的時間記憶(HTM)システムを含み、標準的なルールベースのプログラミングを使用しては完成が困難な多種多様なタスクに使用することができる。これらのタスクには、コンピュータビジョンと音声認識の重要な分野の多くが含まれる。
1. 1. Neural Networks and Related Systems [0020] Neural networks and related systems include recursive cortical networks (RCN), convolutional neural networks (CNN), HMAX models, slow feature analysis (SFA) systems, and hierarchical time storage (HTM) systems. Can be used for a wide variety of tasks that are difficult to complete using standard rule-based programming, including. These tasks include many of the key areas of computer vision and speech recognition.

[0021]ニューラルネットワークおよび関連システムは、要素の入来メッセージ/信号に加算、乗算、べき乗または他の関数を実行する分散処理要素として表すことができる。このようなネットワークは、さまざまな実装例を通じて実現および実装することができる。例えば、あるシステムは、電子的に結合された機能ノード構成要素のネットワークとして実施することができる。これらの機能ノード構成要素は、特定の機能を実行するようにプロセッサ内に配置または構成された論理ゲートとすることができる。第2の例として、システムは、プロセッサ上で動作するようにプログラムおよび/または構成されたネットワークモデルとして実装することができる。そのようなネットワークモデルは、ネットワークのノード間の動作および通信を符号化した電子的に格納されたソフトウェアであることが好ましい。ニューラルネットワークおよび関連システムは、多種多様な用途に使用できるとともに、画像、映像、音声、自然言語テキスト、分析データ、広く分散されたセンサデータ、または他の適切なデータ形式などを入力とする多種多様なデータタイプを使用できる。 Neural networks and related systems can be represented as distributed processing elements that perform addition, multiplication, exponentiation or other functions on the element's incoming message / signal. Such networks can be implemented and implemented through various implementation examples. For example, a system can be implemented as a network of electronically coupled functional node components. These functional node components can be logic gates that are placed or configured within the processor to perform a particular function. As a second example, the system can be implemented as a network model programmed and / or configured to run on a processor. Such a network model is preferably electronically stored software that encodes the operation and communication between the nodes of the network. Neural networks and related systems can be used in a wide variety of applications, including images, videos, audio, natural language text, analytical data, widely distributed sensor data, or other suitable data formats. Data types can be used.

[0022]ニューラルネットワークおよび関連システムは、多数の変換層を含むシステムとして説明することができる。これらのシステムに入る入力データ(通常は低い抽象レベルを有する)は、第1の層で変換されて第1の中間データが生成される。この第1の中間データは、第2の層で変換されて第2の中間データが生成され、以下同様である。このプロセスは、システムが最終層に到達するまで継続し、そこで中間データから出力データ(通常はより高い抽象レベルを有する)が生成される。このプロセスは、データセットの局所的特徴を識別し、これらの局所的特徴に基づいてより複雑な特徴を識別するステップなどによって、当該データセットについてのデータ解釈(すなわち推論(inference))を生成するために用いられ、各層においてデータ解釈の抽象レベルが増大する。 Neural networks and related systems can be described as systems that include multiple transformation layers. The input data (usually having a low level of abstraction) entering these systems is transformed in the first layer to produce the first intermediate data. The first intermediate data is converted in the second layer to generate the second intermediate data, and so on. This process continues until the system reaches the final layer, where the intermediate data produces output data (usually with a higher level of abstraction). This process produces a data interpretation (ie, inference) for a dataset, such as by identifying local features of the dataset and identifying more complex features based on these local features. Used to increase the level of abstraction of data interpretation at each layer.

[0023]1つの層が、中間データと出力データの両方を生成してもよい。すなわち、ある中間層の出力は、上位の層への入力としても、データ解釈出力(すなわち、他のプロセスへの出力)としても使用することができる。 [0023] One layer may generate both intermediate data and output data. That is, the output of one intermediate layer can be used both as an input to a higher layer and as a data interpretation output (ie, an output to another process).

[0024]いくつかのニューラルネットワークおよび関連システムを、補完的に使用することができる。このようにして、前述のシステムと同様のシステムを最終層(または中間層)から初期化(initialize)して、より高い抽象レベルからより低い抽象レベルへとデータを変換することができる。このプロセスは一般に生成(generation)と呼ばれる(そして、生成が入力データから生成されたデータによって影響されない場合には想像(imagination)と呼ばれる)。 Several neural networks and related systems can be used in a complementary manner. In this way, a system similar to the one described above can be initialized from the final layer (or intermediate layer) to transform the data from a higher level of abstraction to a lower level of abstraction. This process is commonly referred to as generation (and if generation is not affected by the data generated from the input data, it is called imagination).

[0025]特に、人工知能アプリケーション(例えばコンピュータビジョン)の場合、ニューラルネットワークおよび関連システムは、図1に示すように、データ伝播の方向を変えることによって推論と生成の両方を実行することができる。このようなシステムでは、以降はレイヤベース双方向データ変換システム(LBD)と呼ぶが、推論は、下位層から上位層への「ボトムアップメッセージ」(例えば、BU1、BU2・・・)の受け渡しによって実行される。一方で、生成は、システムの上位層からシステムの下位層への「トップダウンメッセージ」(例えば、TD1、TD2・・・)の受け渡しによって実行される。LBDでは、層の数は、入出力変換プロセスの様々な等級(gradation)を可能にするために任意に大きくてもよい。 Especially for artificial intelligence applications (eg computer vision), neural networks and related systems can perform both inference and generation by redirecting data propagation, as shown in FIG. In such a system, hereinafter referred to as a layer-based bidirectional data conversion system (LBD), inference is performed by passing a "bottom-up message" (for example, BU1, BU2 ...) from a lower layer to an upper layer. Will be executed. On the other hand, the generation is executed by passing a "top-down message" (for example, TD1, TD2 ...) From the upper layer of the system to the lower layer of the system. In LBD, the number of layers may be arbitrarily large to allow for various gradations of the input / output conversion process.

[0026]推論の一例として、LBDへの入力データは画像からなることがある。この画像データは、(BU1メッセージとして)LBDに直接導入されてもよいし、(例えば、BU1メッセージとして送信するために入力データの画像コントラストを高めることによって)前処理されてもよい。(前処理され、あるいはされていない)画像データからなるBU1メッセージは、層1によって変換され、BU2メッセージとして表される変換済データセット(例えば、位置によって検出された輪郭)が作成される。このBU2メッセージは、層3、4によってさらに変換されて、それぞれBU3、BU4メッセージが順次作成される。この場合のBU4メッセージは、たとえば、画像データ内の検出されたオブジェクトに対応するデータセットを表す。このBU4メッセージは、後処理層によって処理されてもよい(例えば、BU4を画像内のオブジェクトを説明する記述へと処理する)。 As an example of inference, the input data to the LBD may consist of an image. This image data may be introduced directly into the LBD (as a BU1 message) or preprocessed (eg, by increasing the image contrast of the input data for transmission as a BU1 message). A BU1 message consisting of image data (preprocessed or unprocessed) is transformed by layer 1 to create a converted dataset (eg, a contour detected by position) represented as a BU2 message. This BU2 message is further converted by layers 3 and 4, and BU3 and BU4 messages are sequentially created, respectively. The BU4 message in this case represents, for example, the dataset corresponding to the detected object in the image data. This BU4 message may be processed by the post-processing layer (eg, processing BU4 into a description that describes the objects in the image).

[0027]生成の似た例として、LBDに、後処理層を通過した生成制約(例えば、生成される画像内にあることが望まれるオブジェクトを説明する記述)、またはより直接的にはTD1メッセージ(例えば、生成される画像データ内に含まれることが望まれるオブジェクトに対応するデータセット)が与えられる。TD1メッセージは、層3によってTD2メッセージに変換され、次に層2によってTD3メッセージに変換される。これらの層の変換は、層への入力(例えば、層3の場合にはTD1メッセージ)に基づいて、可能性のあるより低い抽象レベルのデータを効果的に予測する。最終的に、LBDは、生成制約または他の初期化入力に基づいてシステムによって予測された画像データを表す生成データを出力することができる。追加的または代替的に、LBDは生成のための入力データを与えられず、システムに記憶されているデフォルト値(あるいはランダムに生成された値)の仮定(assumption)をもたらす。このLBDの出力は、想像(imagination)と呼ばれる特別な生成のケースである。 As a similar example of generation, the LBD may have a generation constraint that has passed through the post-processing layer (eg, a description that describes an object that is desired to be in the generated image), or more directly a TD1 message. (For example, a dataset corresponding to an object that is desired to be included in the generated image data) is given. The TD1 message is converted into a TD2 message by layer 3 and then converted into a TD3 message by layer 2. The transformation of these layers effectively predicts possible lower level of abstraction data based on the inputs to the layers (eg, TD1 message in the case of layer 3). Finally, the LBD can output generated data that represents the image data predicted by the system based on generation constraints or other initialization inputs. Additional or alternative, the LBD is not given input data for generation, resulting in an assumption of default values (or randomly generated values) stored in the system. The output of this LBD is a special case of generation called imagination.

[0028]前の2つの例は入力データおよび/またはBU1メッセージの推論と、生成制約および/またはTD1メッセージに基づく生成を表すが、そのような推論または生成は、LBDの任意の層で生じ得る。例えば、LBDは、層3に直接提供されたデータに対して推論を実行してもよい。ニューラルネットワークおよび関連システムは、推論および/または生成プロセス中に、相補的な生成および/または推論を適用することが好ましい。 The previous two examples represent inference of input data and / or BU1 messages and generation based on generation constraints and / or TD1 messages, but such inferences or generations can occur at any layer of the LBD. .. For example, the LBD may perform inferences on the data provided directly to layer 3. Neural networks and related systems preferably apply complementary generation and / or inference during the inference and / or inference process.

2.再帰皮質ネットワーク
[0029]本願に記載された好ましい実施形態のシステムおよび方法は、好ましくは上記の説明に適合する任意のニューラルネットワークおよび関連システム(すなわち、LBD)に適用可能であるが、実装の詳細および実施例は特に再帰皮質ネットワーク(RCN)に関連する。
2. 2. Recursive Cortical Network [0029] The systems and methods of preferred embodiments described herein are preferably applicable to any neural network and related system (ie, LBD) that fits the above description, but implementation details. And examples are particularly relevant to the retrocortical network (RCN).

[0030]図2に示すように、再帰的皮質ネットワーク(RCN)は複数のサブネットワークを含み得る。1のサブネットワークは、少なくとも親特徴ノードと、プールノードと、親固有の子特徴ノード(または略してPSCFノード)と、少なくとも1つの制約ノードとを含むことが好ましい。RCNは、第1の動作モード:生成モードと、第2のモード:推論モードとを含む、異なる動作モード用に構成することができる。RCNは、図3に示すように、様々な親子関係にある相互接続されたサブネットワークの階層的に編成されたネットワークであることが好ましい。あるいは、RCNは、サブネットワークの集合体のうちの単一層または単一のサブネットワークであり得る。 As shown in FIG. 2, the recursive cortical network (RCN) may include multiple subnetworks. The subnet of 1 preferably includes at least a parent feature node, a pool node, a parent-specific child feature node (or PSCF node for short), and at least one constraint node. The RCN can be configured for different modes of operation, including a first mode of operation: generation mode and a second mode: inference mode. As shown in FIG. 3, the RCN is preferably a hierarchically organized network of interconnected subnetworks having various parent-child relationships. Alternatively, the RCN can be a single layer or a single subnet of a collection of subnetworks.

[0031]図4に示すように、RCNサブネットワークの様々なインスタンスおよびインスタンス化が、RCNの階層において再帰的に構築、接続、および使用される。階層ネットワークのアーキテクチャは、アルゴリズム的に、または少なくとも部分的なユーザ選択および構成を通じて構築することができる。RCNは、ニューラルネットワークにおける特徴ノードとプールノードの交互の層として説明することができる。サブネットワークは、特徴入力ノードと特徴出力ノードとを有し、これらの特徴ノードは、サブネットワークをブリッジまたは接続するために使用される。図4に示されるように、特徴ノードは、プールにわたって空間的または時間的に異なるサブネットワーク間で制約を橋渡しする制約ノードを使用することによって様々な不変パターンに制約することができる。階層ネットワークの各ノードは、親ノード接続と子ノード接続を有することが好ましい。一般に、親ノード接続は、好ましくは生成における入力と推論における出力である。逆に、子ノード接続は、生成における出力と推論における入力である。単層(または非階層)のサブネットワークの変形例では、サブネットワークは姉妹(siblings)として配置される。以下に記載されるようなサブネットワークは、様々な形態の制約ノードを介して相互作用を有し得る。 As shown in FIG. 4, various instances and instantiations of the RCN subnetworks are recursively constructed, connected, and used in the RCN hierarchy. Hierarchical network architectures can be built algorithmically, or at least through partial user selection and configuration. RCN can be described as alternating layers of feature nodes and pool nodes in a neural network. Subnetworks have feature input nodes and feature output nodes, which are used to bridge or connect subnetworks. As shown in FIG. 4, feature nodes can be constrained to various immutable patterns by using constraint nodes that bridge constraints between subnetworks that differ spatially or temporally across the pool. Each node in the hierarchical network preferably has a parent node connection and a child node connection. In general, the parent node connection is preferably an input in generation and an output in inference. Conversely, child node connections are outputs in generation and inputs in inference. In a variant of a single-layer (or non-layer) subnetworks, the subnetworks are placed as siblings. Subnetworks such as those described below can interact through various forms of constraint nodes.

[0032]サブネットワークは、ネットワーク内で様々な異なる構成でセットアップすることができる。構成の多くは、サブネットワーク内、サブネットワーク間、またはネットワーク間のでさえもノード選択を定義する制約ノードによって決定される。さらに、サブネットワークは、個別のまたは共有の子特徴を持つように設定することができる。サブネットワークはさらに階層的に配置され得る。換言すれば、第1のサブネットワークは第2のサブネットワークの親であり得る。同様に、第2のサブネットワークはさらに第3のサブネットワークの親であり得る。サブネットワークの層は、共有の親特徴ノードおよび子特徴ノードを介して接続されることが好ましい。好ましくは、最上層のサブネットワークの子特徴ノードは、下位のサブネットワークの親特徴ノードである。逆に、サブネットワークの親特徴ノードは、より上位のサブネットワークの子特徴ノードとして参加することができる。最上位のサブネットワークの親特徴ノードは、好ましくはシステムへの入力である。最下位/最底位のサブネットワークの子特徴は、好ましくはシステムの出力である。複数のサブネットワークを接続すると、ネットワーク内のいくつかのノードでマルチペアレントインタラクションを導入することができる。これらの相互作用は、ノード内の異なる確率モデルを使用してモデル化することができる。 Subnetworks can be set up in a variety of different configurations within the network. Many configurations are determined by constrained nodes that define node selection within, between subnetworks, or even between networks. In addition, subnetworks can be configured to have individual or shared child features. Subnetworks can be arranged more hierarchically. In other words, the first subnetworks can be the parent of the second subnetworks. Similarly, the second subnetworks can be the parent of the third subnetworks. Subnetwork layers are preferably connected via shared parent and child feature nodes. Preferably, the child feature node of the top layer subnetwork is the parent feature node of the lower subnetwork. Conversely, a parent feature node of a subnetwork can participate as a child feature node of a higher subnetwork. The parent feature node of the top-level subnetworks is preferably the input to the system. The child feature of the lowest / lowest subnetwork is preferably the output of the system. By connecting multiple subnetworks, multiple parental interactions can be introduced at several nodes in the network. These interactions can be modeled using different probabilistic models within the node.

[0033]サブネットワークを階層的に接続すると、サブネットワークの再利用を通じてコンパクトで圧縮された表現(representation)を促進するように機能する。1つのサブネットワークの親特徴ノードは、複数の親サブネットワークにおける子特徴ノードとして参加できる。同様の利点は、子サブネットワークの不変表現(invariant representations)を複数の親サブネットワークで再利用できることである。これが適用可能である一例が、RCNが視覚オブジェクトを表す場合である。下位のサブネットワークがオブジェクトの一部に対応することができ、上位のサブネットワーク(すなわち上層サブネットワーク)がそれらの部分がオブジェクトを形成するためにどのように集まるかを表すことができる。例えば、下位レベルのサブネットワークは、牛の画像のボディーパーツの表現に対応することができる。各ボディーパーツは不変に表現され、並進、縮尺変更、歪みなどの位置の変換に対して寛容度がある。上位レベルのサブネットワークが、各ボディーパーツが牛を表すためにどのように集まるかを指定する。牛の下位レベルのボディーパーツのいくつかは、ヤギを表すために上位レベルで再利用することができる。例えば、これら両方の動物の足は同様に動くので、これらのパーツは潜在的に再使用される可能性がある。これは、牛の足のために学習された不変の表現が、自動的にヤギの表現に再利用されることを意味する。 Hierarchical connection of subnetworks serves to facilitate compact and compressed representation through the reuse of subnetworks. A parent feature node of one subnetwork can participate as a child feature node in multiple parent subnetworks. A similar advantage is that the invariant representations of child subnetworks can be reused across multiple parent subnetworks. One example where this is applicable is when the RCN represents a visual object. Lower subnetworks can correspond to parts of an object, and higher subnetworks (ie, upper subnetworks) can represent how those parts come together to form an object. For example, lower level subnetworks can accommodate the representation of body parts in cow images. Each body part is expressed immutably and is tolerant of position changes such as translation, scale change, and distortion. Higher-level subnetworks specify how each body part gathers to represent a cow. Some of the lower level body parts of cows can be reused at higher levels to represent goats. For example, the paws of both of these animals move in the same way, so these parts can potentially be reused. This means that the invariant expressions learned for the cow's paws are automatically reused for the goat's expression.

[0034]RCNは、データ解釈を生成する(例えば、画像内のオブジェクトを分類する)ためにも、データ予測を生成する(例えば、オブジェクトのセットを含む画像)ためにも使用することができる。データ解釈の生成時、好ましくはRCNのノードは、入力データ特徴に作用し、最上位サブネットワークの親特徴からの出力が得られるまでRCNの階層を通してノード選択/処理を伝播する。この出力を達成するために、情報を階層の上方(上位の親の層へ)および下方(最終的な子特徴へ)に伝播させることの組み合わせを使用することができる。データ予測の生成時、好ましくはRCNは、最上層サブネットワークの親特徴ノードに向けられた、供給された、または配信された一般的な生成リクエストから開始する。ノードは、情報に対して作用し、最下層サブネットワークの子特徴ノードから出力が得られるまで、RCNの階層を下ってノード選択/処理を伝播することが好ましい。図5に示すように、サブネットワークは、親特徴と子特徴との間のノード選択操作を提供するように機能する。サブネットワークはRCNの基本的な構成要素である。サブネットワークは、生成の場合、1つのより高いレベルの特徴から1組のより低いレベルの特徴へとマッピングまたはネットワーク化され、それにより、より低いレベルの特徴のアクティビティ(例えば、画像の視覚的特徴)が、より高いレベルの特徴のアクティビティ(例えば、オブジェクト名)によって決定される。推論の場合、サブネットワークはより低いレベルの特徴からより高いレベルの特徴へとマッピングまたはネットワーク化され、それにより、より高いレベルの特徴のアクティビティ(例えば、オブジェクト名)がより低いレベルの特徴のアクティビティ(例えば、画像の視覚的特徴)によって決定される。サブネットワークの一般的なアーキテクチャは、好ましくは、親特徴ノードである単一の最上位ノードを含む。親特徴ノード(PF1)は、少なくとも2つのプールノード(P1およびP2)への接続を含むことが好ましい。各プールノードは、複数のPSCFノード130(X1、X2、X3、X4、X5、X6)への接続を含むことが好ましい。制約ノード(C1、C2、C3)がさらにサブネットワーク内にあってもよい。制約ノードは、他のPSCFノードに接続することが好ましい。制約ノードは、少なくとも2つのPSCFノード間の制限、規則、および限定を定義する。PSCFノードは、子特徴ノード150(CF1、CF2、CF3、CR4、CF5、CF6)に接続することが好ましい。RCN内のサブネットワークのインスタンスは、他のサブネットワークと共通性を共有しても、しなくてもよい。各ノードの機能的動作は、接続の数および構成、接続の重み付け、および/または他の任意の態様において異なってもよい。いくつかのエッジケースでは、サブネットワークのノード選択オプションは1つだけではない場合がある。1つの例示的なエッジケースでは、親特徴のアクティベーションが子特徴のアクティベーションをもたらすように、サブネットワークを選択オプションなしで定義することができる。例えば、親特徴ノードが1つのプールに接続し、その1つのプールが1つのPSCFノードに接続してもよい。 The RCN can be used both to generate data interpretations (eg, classify objects in an image) and to generate data predictions (eg, images containing a set of objects). When generating a data interpretation, preferably the nodes of the RCN act on the input data features and propagate the node selection / processing through the hierarchy of the RCN until the output from the parent feature of the top-level subnetworks is obtained. To achieve this output, a combination of propagating information up (to the upper parent layer) and down (to the final child feature) of the hierarchy can be used. When generating data predictions, the RCN preferably starts with a general generated request directed to, supplied, or delivered to the parent feature node of the top-tier subnetworks. It is preferred that the nodes act on the information and propagate the node selection / processing down the RCN hierarchy until output is obtained from the child feature nodes of the bottom subnetwork. As shown in FIG. 5, the sub-network functions to provide a node selection operation between the parent feature and the child feature. Subnetworks are a basic component of RCN. Subnetworks, in the case of generation, are mapped or networked from one higher level feature to a set of lower level features, whereby the activity of the lower level features (eg, the visual features of the image). ) Is determined by a higher level feature activity (eg, object name). In the case of inference, the subnetworks are mapped or networked from lower level features to higher level features so that the activity of the higher level features (eg object name) is the activity of the lower level features. Determined by (eg, visual features of the image). The general architecture of a subnetwork preferably includes a single top-level node that is the parent feature node. The parent feature node (PF1) preferably includes connections to at least two pool nodes (P1 and P2). Each pool node preferably includes connections to a plurality of PSCF nodes 130 (X1, X2, X3, X4, X5, X6). Constraint nodes (C1, C2, C3) may also be in the subnetwork. The constraint node is preferably connected to another PSCF node. Constraint nodes define restrictions, rules, and restrictions between at least two PSCF nodes. The PSCF node is preferably connected to the child feature nodes 150 (CF1, CF2, CF3, CR4, CF5, CF6). Subnetwork instances within the RCN may or may not share commonality with other subnetworks. The functional behavior of each node may differ in the number and configuration of connections, weighting of connections, and / or any other aspect. In some edge cases, there may be more than one subnetwork node selection option. In one exemplary edge case, the subnetworks can be defined without the selection option so that the activation of the parent feature results in the activation of the child feature. For example, the parent feature node may connect to one pool and that one pool may connect to one PSCF node.

[0035]ネットワークのノードは、ノードのアクティベーション、選択、オン/オフ、または他の適切な状態を決定する確率的インタラクションで動作、実行、または相互作用するように構成されることが好ましい。親ノードによってアクティベートされると、ノードは、ノードの選択関数に従って、接続されている子ノードのアクティベーションをトリガすることが好ましい。ノードは、好ましくは、ベイジアンネットワークにおけるようにバイナリ確率変数または多項確率変数を表すが、他の適切なノードモデルが代わりに使用されてもよい。特徴ノード(例えば、親特徴ノード、子特徴ノード)は、バイナリランダム変数ノードであり、複数の親と複数の子を有することができることが好ましい。複数の親を有する(すなわち、親接続/入力接続を介して複数のノードが接続されている)場合、親接続間の相互作用は、接続の重ね合わせ(superposition)として扱われるのが好ましい。追加的または代替的に、複数親の相互作用は任意の方法でモデル化することができる。複数親の相互作用は、Noisy−ORやNoisy−MAXゲートなどの正準モデルを使用して、ノード内で確率的にモデル化することができる。特徴ノードの子接続は、特徴とプールとの間の確率的関係をエンコードすることが好ましい。いくつかのRCNでは、1の特徴がアクティブであればその特徴のすべてのプールがアクティブとなるが、そのようなアクティベーションは確率表または任意の適切なメカニズムに従って修正することができる。以下の表に示すように、ノードからプールノードへの各リンクは、種類P(プール|特徴)の確率テーブルをエンコードする。


Figure 0006761055
Nodes in the network are preferably configured to operate, perform, or interact with stochastic interactions that determine node activation, selection, on / off, or other appropriate state. When activated by the parent node, the node preferably triggers the activation of the connected child node according to the node's choice function. Nodes preferably represent binary or multinomial random variables, as in Bayesian networks, but other suitable node models may be used instead. The feature node (eg, parent feature node, child feature node) is a binary random variable node, preferably having a plurality of parents and a plurality of children. When having multiple parents (ie, multiple nodes are connected via a parent / input connection), the interaction between the parent connections is preferably treated as a superposition of connections. Additional or alternative, multi-parent interactions can be modeled in any way. Multi-parent interactions can be stochastically modeled within a node using canonical models such as Nosy-OR and Nosy-MAX gates. The child connection of the feature node preferably encodes the stochastic relationship between the feature and the pool. In some RCNs, if one feature is active, then all pools of that feature are active, but such activations can be modified according to probability tables or any suitable mechanism. As shown in the table below, each link from node to pool node encodes a probability table of type P (pool | feature).


Figure 0006761055

[0036]プールノードがオンの場合、特徴がオンのときにのみ、pとqはゼロになる。しかしながら、pとqの他の値が代わりに使用されてもよい。プールノードは、バイナリノードとして扱われることが好ましい。プールノードは、上記の確率テーブルを表す1つの親接続を有することが好ましい。プールノードは、子ノードへの複数の接続を有することができる。一例では、子ノード接続は、瞬時(instant-by-instant)の接続を表す。瞬時の接続は、関連する確率でプール要素に対してOR選択関数を実行することが好ましい。換言すれば、瞬時接続は、多項確率変数接続を表す。プール要素(pool members、PSCFノードの可能なアクティベートセットとしてモデル化される)は、好ましくは、バイナリ確率変数として作用するように構成され、そのうちの少なくとも1つが、分布P(M|プール)に従ってプールが選択されるときに選択される。プール要素は、子特徴の関数の組み合わせを表す。例えば、プール要素1が子特徴1と子特徴2であるとする。制約ノードは、観測値が1にインスタンス化されているバイナリノードとして扱われるのが好ましい。これらの制約ノードで使用される確率テーブルは、制約ノードに接続する親ノード間で強制される種類の制約を実装する。制約は多くの場合ANDまたはOR制約であるが、任意の適切な選択関数であってもよい。これらの制約ノードはさらに、対の接続よりも大きい接続を有するノードであり得る。 When the pool node is on, p and q are zero only when the feature is on. However, other values of p and q may be used instead. The pool node is preferably treated as a binary node. The pool node preferably has one parent connection representing the probability table described above. Pool nodes can have multiple connections to child nodes. In one example, a child node connection represents an instant-by-instant connection. For instant connections, it is preferable to execute an OR selection function on the pool element with a relevant probability. In other words, the instantaneous connection represents a multinomial random variable connection. Pool elements (modeled as pool members, a possible activation set of PSCF nodes) are preferably configured to act as binary random variables, at least one of which is pooled according to the distribution P (M | pool). Is selected when is selected. The pool element represents a combination of child feature functions. For example, suppose pool element 1 is child feature 1 and child feature 2. The constraint node is preferably treated as a binary node whose observed value is instantiated to 1. The probability table used by these constraint nodes implements the kind of constraint that is enforced between the parent nodes that connect to the constraint node. The constraint is often an AND or OR constraint, but it may be any suitable choice function. These constrained nodes can also be nodes with connections larger than the paired connections.

[0037]親特徴ノードは、上位の特徴ノードとして機能する。生成動作モードでは、親特徴ノードはサブネットワークの入力となる。推論動作モードでは、親特徴ノードはサブネットワークの出力となる。親特徴ノードは、アクティベート時に選択関数を実施するように構成される。選択関数は、ノード選択のAND、OR、NOT、XOR演算のためのブール選択関数などの論理関数であることが好ましい。例えば、P1とP2がPF1のプールノードであり、PF1がAND選択関数として構成されている場合、PF1のアクティベーションにより、P1とP2のプールがアクティベートされる。この選択関数は、演算子がXORであり、1つの接続されたノードのみが選択可能である場合など、異なるオプション間の選択を決定するためのランダム化された選択メカニズムを含み得る。さらに、ランダム化された選択は、親特徴ノードとプールノードとの間の接続のノード接続重み付けに従って偏りまたは重み付けされてもよい。選択関数は、代替として、確率選択関数または接続オプションを選択する際に用いられる任意の適切な関数であり得る。 [0037] The parent feature node functions as a higher-level feature node. In the generation operation mode, the parent feature node is the input of the subnetwork. In the inference operation mode, the parent feature node is the output of the subnetwork. The parent feature node is configured to perform a choice function upon activation. The choice function is preferably a logical function such as an AND, OR, NOT, or Boolean choice function for node selection. For example, when P1 and P2 are pool nodes of PF1 and PF1 is configured as an AND selection function, activation of PF1 activates the pools of P1 and P2. This choice function may include a randomized choice mechanism for determining the choice between different options, such as when the operator is XOR and only one connected node is selectable. In addition, the randomized selection may be biased or weighted according to the node connection weighting of the connection between the parent feature node and the pool node. The choice function can be, as an alternative, a probability choice function or any suitable function used in selecting connection options.

[0038]プールノードは、子特徴のセットから選択するためのノードとして機能する。1のプールノードに関連付けられた子特徴は好ましくは、関係を共有し、相関を有し、または互いのバリエーション(variations)である。例えば、1のプールは、ピクセルパターンの位置が異なる複数のバリエーションのためのものであり得る。換言すれば、PSCFノードは好ましくは、特徴のバリエーションの不変の表現(invariant representation)である。図5において、P1は垂直線の3つの異なる変形(translations)に対する1の不変表現であり、P2は水平線の3つの異なる変形に対する1の不変表現である。本明細書では、プールという用語は、特定のプールノードに対するPSCFノードの可能なセットを指すために使用されることがある。可能なPSCFノードのセットは、好ましくは、プールノードへの接続を有する任意のPSCFノードである。プールには制約があってもよい。例えば、プールの要素は{(a)、(bとc)、(d)、(e)}のセットであり得、ここで、a、b、c、d、eは子特徴である。親特徴ノードと同様に、プールノードは、アクティベート時に選択関数を実行するように構成される。この選択関数は、任意の適切な関数とすることができるが、親特徴ノードについて上述したように論理演算子であることが好ましい。選択関数は、同様に、ランダム化、偏りおよび/または重み付けすることができる。プールノードの選択関数は、対応するPSCFノードを選択、トリガ、アクティベート、または他の方法でシグナリングすることが好ましい。さらに、選択関数は、アクティベートされた制約ノードに基づいて制限または無効にされてもよい。アクティベートされた制約ノードは、(制約ノードを介して接続されている)PSCFノードの選択に基づいてプール内でどのノードが選択されるかを定義してもよい。同様に、それはプールノードのための可能なPSCFノードのセットを決定し、および/またはプールノードの重み付けまたはプリファレンスを決定することができる。サブネットワーク内のプールノードを、必要に応じて制約ノードが他のプールに適用され得るように順次評価することができる。 The pool node functions as a node for selecting from a set of child features. The child features associated with one pool node are preferably sharing relationships, having correlations, or variations of each other. For example, one pool can be for multiple variations with different pixel pattern positions. In other words, PSCF nodes are preferably an invariant representation of a variation of features. In FIG. 5, P1 is an invariant representation of 1 for 3 different translations of the vertical line and P2 is an invariant representation of 1 for 3 different transformations of the horizontal line. As used herein, the term pool may be used to refer to a possible set of PSCF nodes for a particular pool node. A possible set of PSCF nodes is preferably any PSCF node that has a connection to a pool node. The pool may be constrained. For example, the elements of the pool can be a set of {(a), (b and c), (d), (e)}, where a, b, c, d, e are child features. Like the parent feature node, the pool node is configured to execute a choice function at activation. This choice function can be any suitable function, but is preferably a logical operator as described above for the parent feature node. Choice functions can be randomized, biased and / or weighted as well. The pool node selection function preferably signals the corresponding PSCF node by selecting, triggering, activating, or otherwise. In addition, the choice function may be restricted or disabled based on the activated constraint node. Activated constraint nodes may define which nodes are selected in the pool based on the selection of PSCF nodes (connected through the constraint nodes). Similarly, it can determine the possible set of PSCF nodes for the pool node and / or the weighting or preference of the pool node. Pool nodes in a subnetwork can be evaluated sequentially so that constraint nodes can be applied to other pools as needed.

[0039]PSCFノードは、不変特徴オプションのオプションとして機能する。1つのPSCFノードは1つの子特徴にマッピングし、1つのPSCFノードは親プールノードを1つのみ有する。PSCFノードは、制約ノードとさらに接続または結合されてもよい。制約ノードは、複数のPSCFノード間の関係を定義することが好ましい。制約ノードは、異なるプール、異なる時間、および/または異なるサブネットワークの他のPSCFノードに接続することが好ましい。PSCFノードは、サブネットワーク間で共有されないことが好ましい。しかしながら、子特徴ノード(下位のサブネットワークの親ノードであり得る)は、複数のサブネットワークへの接続を共有してもよい。 The PSCF node serves as an option for the immutable feature option. One PSCF node maps to one child feature and one PSCF node has only one parent pool node. PSCF nodes may be further connected or coupled with constraint nodes. The constraint node preferably defines the relationship between the plurality of PSCF nodes. The constraint node preferably connects to other PSCF nodes in different pools, different times, and / or different subnetworks. PSCF nodes are preferably not shared between subnetworks. However, child feature nodes (which can be parent nodes of subnetworks) may share connections to multiple subnetworks.

[0040]制約ノードは、サブネットワークにおいて許容されるパターンの種類を制限するように機能する。制約ノードは、少なくとも2つのPSCFノードに接続することが好ましい。あるいは、2より多いPSCFノードが1の制約ノードを介して接続されてもよい。制約ノードはさらに、任意の適切な種類のノード間にあってもよい。制約ノードは、プールノード同士の間にあってもよい。制約ノードは、さらに2種類のノード間にあってもよい。例えば、制約ノードが、PSCFノードとプールノードとを接続することができる。ここでは、好ましい実装例として制約ノードがPSCFノード同士を接続する例が示されているが、制約ノードは、RCN内の(任意の種類の)ノードの任意のセット間で制約を課すのに使用することができる。制約ノードは、プールノード間、プールノードとPSCFノード間、またはネットワークの任意の適切なノード間にあり得る。PSCFノードは、同じプールではないことが好ましく、場合によっては同じサブネットワークにない。制約ノードは好ましくは、同じ層のPSCFノード同士を接続するが、代わりに異なる層のサブネットワーク同士を接続してもよい。さらに、任意の適切なPSCFノードに、1つの制約ノードが接続されてもよいし、任意の適切な数の制約ノードが接続されてもよい。制約ノードは、他のプール、他のサブネットワーク、および/または異なる時間のノードの選択内で制限、ルール、および制約を実施することができる。ネットワークは、制約ノードを介して接続されているPSCFノードが好ましくは同時に評価されないように、好ましくは順序付けられた方法で評価される。第1のPSCFノードがアクティベートまたは選択されると、当該第1のPSCFノードに接続されている制約ノードがアクティベートされる。続いて、制約ノードの制限が、接続されたPSCFノード上でアクティベート/執行される。制約ノードは、他のノードと同様に、PSCFノードをどのようにアクティベートするかを決定する選択関数を有し得る。制約ノードは好ましくは、プールノードがPSCFノードをどのように選択できるかに影響を与える。一例では、制約ノードの選択関数は、PSCFノードの1つがアクティブである場合に、接続されているPSCFノードの選択を実施するようなAND論理演算子である。別の変形例では、制約ノードの選択関数は、プール内の可能なPSCFノードを変更するようなOR論理演算子であり得る。任意の適切な選択関数を使用することができる。いくつかの制約ノードは、1つのノードのアクティベーションが第2のノードの選択に対応するという基本的または単純な制約を有してもよい。選択ロジックはノード間の直接対応(direct correspondence)であるため、これらはノードなしの直接接続として表すことができる。 The constraint node functions to limit the types of patterns allowed in the subnetwork. The constraint node is preferably connected to at least two PSCF nodes. Alternatively, more than 2 PSCF nodes may be connected via 1 constraint node. Constraint nodes may also be between any suitable type of node. Constraint nodes may be between pool nodes. The constraint node may also be between two types of nodes. For example, a constraint node can connect a PSCF node and a pool node. Here, as a preferred implementation example, constraint nodes connect PSCF nodes to each other, but constraint nodes are used to impose constraints between any set of nodes (of any kind) in the RCN. can do. Constraint nodes can be between pool nodes, between pool nodes and PSCF nodes, or between any suitable node in the network. The PSCF nodes are preferably not in the same pool and in some cases are not in the same subnetworks. The constraint nodes preferably connect PSCF nodes of the same layer to each other, but may instead connect subnetworks of different layers. Furthermore, one constraint node may be connected to any suitable PSCF node, or any suitable number of constraint nodes may be connected. Constraint nodes can enforce restrictions, rules, and constraints within the selection of other pools, other subnetworks, and / or nodes at different times. The network is preferably evaluated in an ordered manner so that PSCF nodes connected via constraint nodes are not preferably evaluated at the same time. When the first PSCF node is activated or selected, the constraint node connected to the first PSCF node is activated. The restriction of the constraint node is then activated / enforced on the connected PSCF node. The constraint node, like any other node, may have a choice function that determines how to activate the PSCF node. The constraint node preferably affects how the pool node can select the PSCF node. In one example, the constraint node choice function is an AND logical operator that performs a selection of connected PSCF nodes when one of the PSCF nodes is active. In another variant, the constraint node choice function can be an OR logical operator that modifies possible PSCF nodes in the pool. You can use any suitable choice function. Some constraint nodes may have a basic or simple constraint that the activation of one node corresponds to the selection of a second node. Since the selection logic is direct correspondence between nodes, these can be represented as direct connections without nodes.

[0041]制約ノードは、横方向制約ノード、外部制約ノード、および時間制約ノードを含むことができる。横方向制約ノードは、サブネットワークのプールノード間の相互作用に基づいてサブネットワークの種類のパターンを制限するように機能する。外部制約ノードは、異なるサブネットワークにまたがる不変パターンを執行するように機能する。1つのプールノードのどのPSCFノードが別のプールのPSCFノードと一緒にできるかの制約を課すことによって、横方向制約ノードが異なるプールの表現を互いに確実に矛盾しないようにさせる方法と同様に、外部制約ノードは、階層全体の適合性を維持することができる。時間制約ノードは、他の時間インスタンスで動作するRCNおよびサブネットワークにわたって関係を執行するように機能する。基本レベルでは、プールの要素(例えば、共有の親プールノードを有するPSCFノード)は、それらが時間内に発生する順序を指定する関係を有することができる。時間制約ノードは、好ましくは単純な直接接続制約であり、1つのノードの起動/選択が、第2のインスタンスにおいて特定のノードの選択を執行する。別の説明では、制約ノードはマルコフ連鎖における仕様と似たように機能する。 [0041] The constraint node can include a lateral constraint node, an external constraint node, and a time constraint node. Lateral constraint nodes serve to limit the pattern of subnet types based on the interaction between the subnet's pool nodes. External constraint nodes serve to enforce immutable patterns across different subnetworks. Similar to how laterally constrained nodes ensure that representations of different pools are consistent with each other by imposing constraints on which PSCF nodes in one pool node can be combined with PSCF nodes in another pool. External constraint nodes can maintain the suitability of the entire hierarchy. Time-constrained nodes serve to enforce relationships across RCNs and subnetworks running on other time instances. At the base level, pool elements (eg, PSCF nodes with shared parent pool nodes) can have relationships that specify the order in which they occur in time. A time-constrained node is preferably a simple direct connection constraint, where the activation / selection of one node enforces the selection of a particular node in the second instance. In another description, constraint nodes behave similarly to specifications in Markov chains.

[0042]PSCFノードには、2以上の種類の制約ノードを執行することができる。横方向制約ノードは、同じネットワークの異なるプール内のPSCFノード間に調整を課し、外部制約ノードは、異なるサブネットワーク内のPSCFノード間に調整を課す。制約ノードは、競合が生じないように設定されることが好ましい(例えば、一方の制約がノードをアクティベートし、他方がアクティベートすべきでないことを指定する場合)。制約ノードのランク付け、または制約ノードを実施する順序に関する手法、または他の適切な規則を使用して、制約ノード間の競合および競合を解決することができる。 Two or more types of constraint nodes can be executed on the PSCF node. Lateral constraint nodes impose coordination between PSCF nodes in different pools of the same network, and external constraint nodes impose coordination between PSCF nodes in different subnetworks. Constraint nodes are preferably configured so that conflicts do not occur (eg, if one constraint activates the node and the other specifies that it should not be activated). Conflicts and conflicts between constraint nodes can be resolved using techniques for ranking constraint nodes, or the order in which constraint nodes are enforced, or other appropriate rules.

3.データ解釈の生成方法
[0043]図6に示されるように、レイヤベース双方向データ変換システム(LBD)においてデータ解釈を生成する方法100は、証拠データを受信するステップ(S110)と、変換構成を設定するステップ(S120)と、順方向変換を実行するステップ(S130)と、逆方向変換を実行するステップ(S140)と、変換済み証拠データを出力するステップ(S150)とを含む。
3. 3. Data Interpretation Generation Method [0043] As shown in FIG. 6, the method 100 for generating the data interpretation in the layer-based bidirectional data conversion system (LBD) includes a step (S110) of receiving evidence data and a conversion configuration. It includes a step of setting (S120), a step of executing forward conversion (S130), a step of executing reverse conversion (S140), and a step of outputting converted evidence data (S150).

[0044]方法100は、レイヤベース双方向データ変換システム(LBD)が受信した証拠データについての解釈を生成するように機能する。方法100は、画像、映像、音声、スピーチ、医療センサデータ、自然言語データ、金融データ、アプリケーションデータ、交通データ、環境データなどのような多種多様なデータ種類におけるパターンを推論するために使用することができる。一実装例では、方法100は、画像または映像内のオブジェクトの存在を検出するための画像検出に使用できる。方法100は、追加的または代替的に、検出されたオブジェクトを分類するために使用され得る。 Method 100 functions to generate an interpretation of the evidence data received by the layer-based bidirectional data conversion system (LBD). Method 100 is used to infer patterns in a wide variety of data types such as image, video, audio, speech, medical sensor data, natural language data, financial data, application data, traffic data, environmental data, etc. Can be done. In one implementation example, method 100 can be used for image detection to detect the presence of an object in an image or video. Method 100 may be used to classify the detected objects, either additionally or alternatively.

[0045]方法100は、証拠データ(ステップS110で受信)について、一連の順方向変換および逆方向変換(それぞれステップS130、S140)を通じ、変換済み証拠データを最終的に出力して(ステップS150)、解釈を生成し、これが受信された証拠データの解釈として理解または使用され得る。順方向変換および逆方向変換は、証拠データのセット全体または証拠データのサブセットに対して実行することができ、変換済み証拠データのセットは、変換ごとに異なる場合がある。さらに、順方向変換および逆方向変換は、同時を含む任意の順序および任意の時間に実行することができる。変換データセットの選択、順序、およびタイミングに関する詳細は、好ましくは変換構成(ステップS120で設定)によって指示される。 [0045] The method 100 finally outputs the converted evidence data (received in step S110) through a series of forward conversion and reverse conversion (steps S130 and S140, respectively) (step S150). , Produces an interpretation, which can be understood or used as an interpretation of the received evidence data. Forward and reverse transformations can be performed on an entire set of evidence data or a subset of evidence data, and the set of transformed evidence data may vary from transformation to transformation. In addition, forward and reverse transformations can be performed in any order and at any time, including simultaneous. Details regarding the selection, ordering, and timing of the conversion dataset are preferably indicated by the conversion configuration (set in step S120).

[0046]一般に、順方向変換は証拠データの解釈を提供すると考えることができ、逆方向変換は特定の解釈を与えられた証拠データを予測すると考えることができる。前述のように、順方向変換および逆方向変換は、特定のデータの抽象化レベルを増減することと考えることもできる。順方向変換および逆方向変換はLBDの層を通る動作方向として作用するが、好ましい実施形態の方法は、出力を向上させるために両方の形式の変換を適用することが好ましい。これらの説明は、順方向変換および逆方向変換を理解するためのガイドとして意図するものであり、(本明細書でより詳細に説明する)順方向および逆方向変換を限定または定義することを意図するものではない。 In general, the forward transformation can be thought of as providing an interpretation of the evidence data, and the reverse transformation can be thought of as predicting the evidence data given a particular interpretation. As mentioned above, forward and reverse transformations can also be thought of as increasing or decreasing the level of abstraction of a particular piece of data. Although forward and reverse transformations act as directions of action through the layers of the LBD, the method of preferred embodiments preferably applies both forms of transformation to improve output. These descriptions are intended as a guide to understanding forward and reverse transformations and are intended to limit or define forward and reverse transformations (discussed in more detail herein). It's not something to do.

[0047]逆方向変換は、抽象化の方向において順方向変換とは実質的に反対に動作するが(例えば、順方向変換および逆方向変換はそれぞれ抽象化レベルの増分子と減分子として作用する)、本方法は好ましくは逆方向変換を適用してデータの抽象化レベルを高めるのを補助することができる(例えば、証拠データの解釈を生成)。図7に示すように、入力画像内の文字を認識するように設計された基準の単方向ニューラルネットワークを考える。この基準のニューラルネットワークの例は、画像の異なるセクション(a、b、c)内の文字を認識するように設計された複数のサブネットワーク(Sa、Sb、Sc)からなる。そして、ネットワークは、これらのサブネットワークによって検出された文字を、より上位レベルのノードで画像セクションの順序に対応する順序(すなわち、a→b→c)で出力する。このニューラルネットワークは、サブネットワークSa、Sb、およびScが、入力データを、文字および位置空間にわたる尤度分布を含む中間データに変換するように設計されている。例えば、Saによって出力される中間データの1つの要素には、入力データが与えられたときの位置ベクトル(x1、y1)に文字「a」が存在する尤度を含む。この中間データは、サブネットワークOによって処理されて、文字列と位置空間とにまたがる文字列の尤度分布が生成され、これが最も可能性の高い文字列として出力される。図2の画像例の場合、この最も可能性の高い文字列は「cko」であり、これは明らかに画像に示されている文字列(「do」)ではない。このニューラルネットワーク処理の例では、図7のニューラルネットワークは、各画像セクションの周囲の状況を考慮することができないため、誤った結果を返した。これは、例えば隣接する画像セクション内の文字に与えられた文字の組み合わせの事前確率を格納するなど、前後関係上のナレッジを層2に組み込むことを試みることによって対処することができる。例えば、「c」?「l」のペアが実際には「d」であるという可能性がいくらかあり、または様々な文字列の可能性がある(例えば、特定の言語において「cko」が生じる可能性が低い可能性がある)。このアプローチは、様々な文字のペアの可能性が同等に高い場合や、ニューラルネットワークに格納されたナレッジが不十分である場合は難しくなる(例えば、c?lのペアと「d」の可能性が同等に高い場合や、トレーニングセット内で「cko」と「do」の相対的な尤度が現実社会のデータを表すものではない場合)。別のアプローチは、層1からより多くのデータを含めることであり、例えば、文字および位置データを送る代わりに、層1は文字の特徴と位置データも含み得る。このアプローチは、ある意味で(画像セクションではなく)画像に特徴検出を単に実行することに類似しており、層1から層2へ送信されるデータの大幅な増加を伴うために問題がある。 Inverse transformations behave substantially opposite to forward transformations in the direction of abstraction (eg, forward transformations and inverse transformations act as abstraction-level increase and decrease, respectively. ), The method can preferably assist in applying a reverse transformation to increase the level of abstraction of the data (eg, generate an interpretation of the evidence data). Consider a reference unidirectional neural network designed to recognize characters in an input image, as shown in FIG. An example of this reference neural network consists of multiple subnetworks (Sa, Sb, Sc) designed to recognize characters in different sections (a, b, c) of the image. The network then outputs the characters detected by these subnetworks in the order corresponding to the order of the image sections (ie, a → b → c) at the higher level nodes. The neural network is designed so that the subnet networks Sa, Sb, and Sc transform the input data into intermediate data that includes a likelihood distribution across characters and location space. For example, one element of the intermediate data output by Sa includes the likelihood that the character "a" is present in the position vector (x1, y1) given the input data. This intermediate data is processed by the sub-network O to generate a likelihood distribution of the string across the string and the position space, which is output as the most probable string. In the case of the image example of FIG. 2, this most likely character string is "cco", which is clearly not the character string ("do") shown in the image. In this example of neural network processing, the neural network of FIG. 7 returned erroneous results because it could not take into account the circumstances surrounding each image section. This can be addressed by attempting to incorporate contextual knowledge into layer 2, for example storing prior probabilities of character combinations given to characters in adjacent image sections. For example, there is some possibility that the "c"? "L" pair is actually a "d", or there may be various strings (eg, "cco" in a particular language). It may be less likely). This approach becomes difficult if the likelihood of different character pairs is equally high, or if the knowledge stored in the neural network is inadequate (eg, cl? L pairs and "d" possibilities). Is equally high, or the relative likelihood of "cco" and "do" in the training set does not represent real-world data). Another approach is to include more data from layer 1, for example, instead of sending character and position data, layer 1 may also include character feature and position data. This approach is, in a sense, similar to simply performing feature detection on an image (rather than an image section) and is problematic because it involves a significant increase in the data transmitted from layer 1 to layer 2.

[0048]この方法に双方向処理を適用すると、好ましくは、上記の基準のニューラルネットワーク例の問題が対処され、推論を改善するための生成の例として役立つ。上記の参考例におけるニューラルネットワークは、ニューラルネットワークの処理が順方向変換と逆方向変換の両方を適用する双方向であることを除いて、あらゆる点で同様であり得る。このニューラルネットワークは、図8に示されるように、前後関係(例えば、上位レベルのデータ)が下位レベルのサブネットワークの出力に影響を及ぼすことを可能にするために、再帰を利用することができる。再帰の最初のステップでは、層1は単方向ネットワークの場合と同じ尤度分布を出力する。文字列「cko」を出力する代わりに、層2が、第2のステップ中に近隣領域に関する情報を各サブネットワークに渡す(例えば、Sbの内容に関するSaの情報)。この情報は、全尤度分布またはそのサブセット(たとえば上位5つの尤度)、あるいはその他の適切な前後関係の情報であり得る。サブネットワークはこの情報を処理し、Sbは実質的に変更された尤度分布を計算する(特に、「d」と「o」を含む尤度が、以前の最大選択値「k」より高くなる)。その結果、ステップ3において、Sbが更新された尤度分布をOに送信する。次に、ステップ4において、Oは更新された尤度情報をSaおよびScに送信し、これらは次に、更新された尤度情報に基づいてそれらの尤度を再計算し、ステップ5においてそれをOに戻す。このプロセスは、ステップNであるしきい値(例えば、再帰ステップ数、しきい値最大尤度など)に達するまで必要に応じて何度も繰り返すことができ、その時点でOが最終的な文字列を出力する。この例示的なニューラルネットワークの再帰ステップは、方法100の可能な順方向変換および逆方向変換に似ている。より複雑なニューラルネットワーク(または他のLBD)では、再帰ステップは逆方向変換の前に複数の順方向変換を含むことができ、あるいはその逆も可能であることに留意されたい。変換の順序および方向は、方法100によって決定されるのが好ましい。双方向処理は、推論出力を生成するという最終目的または生成出力を生成する目的に適用することができる。方法100は、前述のように再帰的皮質ネットワークによって実施されることが好ましく、参照によりその全体が本明細書に組み込まれる米国特許出願第13/895225号に記載されるような再帰的皮質ネットワークによって実施されることがより好ましい。追加的に又は代替的に、方法100は、任意の適切なニューラルネットワーク又は関連システム(すなわちLBD)によって実施することができる。 Applying bidirectional processing to this method preferably addresses the problem of the above reference neural network example and serves as an example of generation to improve inference. The neural network in the above reference example can be similar in all respects, except that the processing of the neural network is bidirectional, applying both forward and reverse transformations. This neural network can utilize recursion to allow context (eg, higher level data) to affect the output of lower level subnetworks, as shown in FIG. .. In the first step of recursion, layer 1 outputs the same likelihood distribution as in a unidirectional network. Instead of outputting the string "cco", layer 2 passes information about the neighborhood area to each subnet network during the second step (eg, Sa information about the contents of Sb). This information can be the total likelihood distribution or a subset thereof (eg, the top 5 likelihoods), or other suitable contextual information. Subnetworks process this information and Sb calculates a substantially modified likelihood distribution (in particular, the likelihood of including "d" and "o" is higher than the previous maximum selection value "k". ). As a result, in step 3, the likelihood distribution with updated Sb is transmitted to O. Then, in step 4, O sends the updated likelihood information to Sa and Sc, which then recalculate their likelihood based on the updated likelihood information, which in step 5 Is returned to O. This process can be repeated as many times as needed until the threshold of step N (eg, number of recursive steps, maximum threshold likelihood, etc.) is reached, at which point O is the final character. Output the column. The recursive steps of this exemplary neural network are similar to the possible forward and reverse transformations of Method 100. Note that in more complex neural networks (or other LBDs), recursive steps can include multiple forward transforms before the reverse transform, and vice versa. The order and direction of conversion is preferably determined by method 100. Bidirectional processing can be applied for the ultimate purpose of generating inference output or for the purpose of generating generated output. Method 100 is preferably performed by a recursive cortical network as described above, by a recursive cortical network as described in US Patent Application No. 13/895225, which is incorporated herein by reference in its entirety. It is more preferred to be carried out. Additional or alternative, method 100 can be performed by any suitable neural network or associated system (ie LBD).

[0049]証拠データを受信するステップS110は、データ解釈が望まれるデータをLBDに提供するように機能する。証拠データを受信するステップは、前処理された、よりおそらくはデータ特徴へと(例えば、属性の仕様および関連値へと)低減、変換、または抽出されたデータを受信するステップを含むが、追加的または代替的に前処理されていないデータを含んでもよい。例えば、画像を複数の画像ブロックに細分化し、複数のブロック内の画素パターンを特徴量として抽出してもよい。別の例として、ステップS110は、画像(前処理済みデータ)または未処理画像の検出されたエッジを受け取るステップを含み得る。ステップS110は、追加的または代替的に(潜在的にデータが前処理されていても)証拠データの処理を実行するステップを含むことができる。証拠データの処理は、データをLBDによる処理に適した形式に変換する任意の種類のデータ処理を含むことが好ましい。画像に対する証拠データ処理のいくつかの例は、エッジ検出、解像度低減、コントラスト強調を含み得る。音声用の証拠データ処理のいくつかの例は、ピッチ検出、周波数分析、またはメル周波数ケプストラム係数の生成を含み得る。証拠データは任意の適切な情報源から受け取ることができる。場合によっては、証拠データにLBDからの出力データが含まれる。そのような証拠データの例は、画像内に含まれる文字に関する情報を含むデータセット(例えば、図7のニューラルネットワークの出力)を含み得る。 The step S110 of receiving the evidence data functions to provide the LBD with the data for which data interpretation is desired. The step of receiving evidence data includes, but additionally, the step of receiving preprocessed, more likely data features (eg, attribute specifications and related values), reduced, transformed, or extracted data. Alternatively, it may include unprocessed data. For example, the image may be subdivided into a plurality of image blocks, and the pixel patterns in the plurality of blocks may be extracted as feature quantities. As another example, step S110 may include receiving a detected edge of an image (preprocessed data) or unprocessed image. Step S110 may include additional or alternative (potentially preprocessing) steps of performing processing of evidence data. Evidence data processing preferably includes any type of data processing that transforms the data into a format suitable for processing by the LBD. Some examples of evidence data processing on images may include edge detection, resolution reduction, contrast enhancement. Some examples of evidence data processing for speech may include pitch detection, frequency analysis, or generation of mel frequency cepstrum coefficients. Evidence data can be received from any suitable source. In some cases, the evidence data includes output data from the LBD. An example of such evidence data may include a dataset containing information about the characters contained within the image (eg, the output of the neural network of FIG. 7).

[0050]証拠データが受信された(そして必要に応じて処理された)場合、証拠データは、好ましくは、LBDの入力に送信され、入力され、あるいはそこに向けられる。RCNの場合、証拠データは、最下位のサブネットワークレベルの子特徴ノードに向けられることが好ましい。追加的または代替的に、証拠データは任意のLBDノードまたは接続に向けられてもよい(例えば、以前にLBDのレベル1、2を通して既に処理されたデータはレベル3に直接挿入されてもよい)。 [0050] When evidence data is received (and processed as needed), the evidence data is preferably sent to, entered, or directed to the input of the LBD. In the case of RCN, the evidence data is preferably directed to the lowest subnetwork level child feature node. Additional or alternative, evidence data may be directed to any LBD node or connection (eg, data previously processed through levels 1 and 2 of the LBD may be inserted directly into level 3). ..

[0051]変換構成を設定するステップS120は、LBDにどのようにして順方向変換および逆方向変換が実行されるかに関する命令を提供するように機能する。ステップS120は、LBDのいつ、どこで順方向変換および逆方向変換(すなわち、それぞれステップS130およびS140)が実行され、出力が生成されるのかを決定することが好ましい。ステップS120は、例えば5層システムの第1層(L1)への入力が与えられると、静的構成を設定するステップを含むことができ、ステップS120は、以下に従って変換を実行するようにLBDに指示することができる。
入力→L→L→L→L2→→L→L→L→L→出力
Step S120, which sets the conversion configuration, functions to provide the LBD with instructions on how the forward and reverse transformations are performed. Step S120 preferably determines when and where the forward and reverse transformations of the LBD (ie, steps S130 and S140, respectively) are performed and output is produced. Step S120 can include, for example, a step of setting a static configuration given an input to the first layer (L1) of a five-layer system, step S120 telling the LBD to perform the transformation according to: Can be instructed.
Input → L 1 → L 2 → L 3 → L 2 → L 3 → L 4 → L 3 → L 4 → L 5 → Output

[0052]この静的構成は、上記実施例で見られるように、好ましくは順方向変換と逆方向変換の両方を適用する。静的構成は、入力から出力への変換がどのように適用されるかについて完全に定義され得る。あるいは、静的構成は、以下に説明する動的変換構成の場合のように、何らかのトリガに応答して起動または実行することができる層のサブセットをカバーする変換パターンとすることができる。逆方向変換は浅くてもよい(例えば1つまたは少数の抽象化層のみを逆方向に進行させる)が、逆方向変換は深くすることもできる(例え開始層に戻っても、多くの抽象化層を戻る)。さらに、1つの層の正味の進行を前進させるパターンとして、例えば逆方向に3回、順方向に2回、逆方向に1回、順方向に2回、逆方向に1回、および順方向に2回などの一連の変換によって混合パターンを定義することができる。あるいは、任意の適切な変換パターンを任意の適切な組み合わせで使用することができる。 [0052] This static configuration preferably applies both forward and reverse transformations, as seen in the above examples. The static configuration can be fully defined as to how the input-to-output conversion is applied. Alternatively, the static configuration can be a transformation pattern that covers a subset of the layers that can be invoked or executed in response to some trigger, as in the case of the dynamic transformation configuration described below. The reverse transformation can be shallow (for example, only one or a few abstraction layers travel in the opposite direction), but the reverse transformation can be deep (even back to the starting layer, many abstractions). Back layer). Further, patterns that advance the net progression of one layer include, for example, three times in the reverse direction, two times in the forward direction, one time in the reverse direction, two times in the forward direction, one time in the reverse direction, and forward. A mixed pattern can be defined by a series of transformations such as twice. Alternatively, any suitable conversion pattern can be used in any suitable combination.

[0053]追加的または代替的に、ステップS120は、動的変換構成を設定するステップを含み得る。これは例えば、確率しきい値に基づいて再帰を実行することである(分布の最大確率が0.8を超えるまで、または最大再帰サイクル数に達するまで再帰を実行するなど)。別の例として、ステップS120は、収束に基づいて再帰を実行してもよい。これは例えば、再帰サイクルにわたって高レベル出力間の差がある閾値を下回るまで、または最大再帰サイクル数に達するまで再帰を実行することである。 [0053] Additional or alternative, step S120 may include setting a dynamic transformation configuration. This is, for example, performing recursion based on a probability threshold (for example, performing recursion until the maximum probability of the distribution exceeds 0.8 or the maximum number of recursion cycles is reached). As another example, step S120 may perform recursion based on convergence. This is, for example, performing recursion until the difference between high-level outputs falls below a certain threshold over the recursion cycle, or until the maximum number of recursion cycles is reached.

[0054]ここに挙げた実施例は層間の再帰について説明しているが、ステップS120は、追加的または代替的に、ノード間または他のLBD構成要素間で再帰を設定するステップを含んでもよい。LBDがRCNである場合、ステップS120は、追加的にまたは代替的に、横方向制約のための伝播についての命令を含み得る。 Although the examples presented herein describe recursion between layers, step S120 may additionally or optionally include the step of setting recursion between nodes or between other LBD components. .. If the LBD is RCN, step S120 may additionally or alternatively include instructions for propagation for lateral constraints.

[0055]順方向変換を実行するステップS130は、証拠データから解釈または分類を推論するように機能する。推論は、パターン検出、分類、予測、システム制御、意思決定、およびデータからの情報の推論を含む他の用途を含み得る。順方向変換は、好ましくはLBD内の層ごとに(すなわち層を横切って同時に)行われるが、追加的にまたは代替的に、サブネットワークごと、ノードごと、または他の適切な方法で行われてもよい。図7に示す例の場合、層1の各サブネットワークは、関連するセクションの画像データを受信し、文字と位置空間にわたる尤度分布を計算し、その尤度分布を出力することによって順方向変換を実行する。同様に、サブネットワークO(すなわち、層2)は、証拠として尤度分布を受け取り、文字列空間(stringspace、すなわち、可能性のある文字列の空間)にわたる文字列の尤度分布を計算し、最大尤度の文字列を出力することによって順方向変換を実行する。順方向変換は、図7に示されるようにサブネットワークによって実行されてもよく、あるいはノードによって、または別の適切なLBD構成要素もしくはサブ構造によって実行されてもよい。 Step S130, which performs the forward transformation, functions to infer an interpretation or classification from the evidence data. Inference can include other uses, including pattern detection, classification, prediction, system control, decision making, and inference of information from data. Forward transformations are preferably performed layer by layer within the LBD (ie, simultaneously across layers), but additionally or alternatively, subnetworks, nodes, or other suitable methods. May be good. In the case of the example shown in FIG. 7, each subnet of layer 1 receives the image data of the related section, calculates the likelihood distribution over the character and the position space, and outputs the likelihood distribution to perform forward conversion. To execute. Similarly, the subnet O (ie, layer 2) receives the likelihood distribution as evidence and calculates the likelihood distribution of the string across the string space (the string space, i.e. the space of the possible strings). Perform forward conversion by outputting the string with the maximum likelihood. The forward transformation may be performed by a subnetwork as shown in FIG. 7, or by a node, or by another suitable LBD component or substructure.

[0056]ステップS130は、好ましくは、LBDユニットの入力(例えば、ノード、サブネットワーク、または層)で証拠(evidence)を受け取るステップと、入力証拠の数学的変換を実行する(例えば、確率分布または比率を計算する)ステップと、変換された証拠をLBDユニットの出力へと出力するステップとを含む。ステップS130で実行される数学的変換は、受信された更新された尤度データに基づいてLBDユニットの事後確率分布を計算することが好ましいが、追加的または代替的に、変換の一部として任意の適切な数学関数を計算してもよい。ステップS130は、情報を通信するために確率伝搬技術を利用することが好ましいが、他の確率的推論アプローチを代替的に実施することもできる。確率伝搬は、ノード間でメッセージをやり取りし、異なる仮定の下でノード内で計算を実行することを含む。 Step S130 preferably performs a step of receiving evidence at the input (eg, node, subnet, or layer) of the LBD unit and performing a mathematical transformation of the input evidence (eg, probability distribution or). Includes a step (calculating the ratio) and a step of outputting the transformed evidence to the output of the LBD unit. The mathematical transformation performed in step S130 preferably calculates the posterior probability distribution of the LBD unit based on the updated likelihood data received, but is optional, additionally or optionally, as part of the transformation. You may calculate the appropriate mathematical function of. Step S130 preferably utilizes stochastic propagation techniques to communicate information, but other stochastic inference approaches can be implemented in alternatives. Belief propagation involves exchanging messages between nodes and performing calculations within the nodes under different assumptions.

[0057]ステップS130は、ステップS120で設定された変換構成に基づいて順方向変換を実行することを含むことが好ましい。 [0057] Step S130 preferably includes performing forward conversion based on the conversion configuration set in step S120.

[0058]例示的なネットワークは図9に示す通りである。ネットワーク内で符号化されているのは、事前確率P(S)、P(R)、P(Q)と、尤度関係P(e|S)、P(S|R)、P(R|Q)である。証拠eがシステムに導入されると、それはまずS1に入力される。一般的な形の証拠eを考えると、以下のように記載できる。

Figure 0006761055
An exemplary network is as shown in FIG. The prior probabilities P 1 (S 1 ), P 1 (R 1 ), P 1 (Q 1 ) and the likelihood relations P (e | S 1 ) and P (S 1 ) are encoded in the network. | R 1 ), P (R 1 | Q 1 ). When evidence e is introduced into the system, it is first entered into S1. Considering the general form of evidence e, it can be described as follows.
Figure 0006761055

[0059]この合計はeにわたる離散的確率分布に有効であるが、当業者はこれが連続確率分布へと一般化できることを認識するであろう。eが特定の値をとる簡単な例では、以下のようになる。

Figure 0006761055
[0059] While this sum is valid for a discrete probability distribution over e, one of ordinary skill in the art will recognize that it can be generalized to a continuous probability distribution. A simple example of e taking a specific value is as follows.
Figure 0006761055

[0060]S1、(P2(S1))の事後確率を計算した後、この事後確率はS1からR1に送信され、そこでR1の事後確率を更新するために使用される(本質的に、S1の事後に対するS1の事前の比は、尤度p(S1|R1)を補正または重み付けするために使用される関数である)。以下は、R1の事後確率とS1の事後確率との間の関係の導出である。

Figure 0006761055
After calculating the posterior probability of S1, (P2 (S1)), this posterior probability is transmitted from S1 to R1 where it is used to update the posterior probability of R1 (essentially, of S1). The posterior ratio of S1 to posterior is a function used to correct or weight the likelihood p (S1 | R1)). The following is the derivation of the relationship between the posterior probabilities of R1 and the posterior probabilities of S1.
Figure 0006761055

[0061]この導出から、事後確率は、S1の事後確率と事前確率の比のみを考慮して、R1で計算できることが明らかである。同様に、この関係がQ1についても成り立つことが示される(S1の前/後または証拠ではなく、R1の前後の比の伝達のみを必要とする)。 From this derivation, it is clear that posterior probabilities can be calculated in R1 by considering only the ratio of posterior probabilities to prior probabilities in S1. Similarly, it is shown that this relationship holds for Q1 (only the transmission of the ratio before and after R1 is required, not before / after S1 or evidence).

[0062]Q1については以下の通りである。

Figure 0006761055
[0062] Q1 is as follows.
Figure 0006761055

[0063]この実施例のネットワークは、ネットワークの任意の層またはノードでの計算が、隣接するLBDユニット(例えば、サブネットワーク、ノード、層)によって出力された値のみに直接依存することが好ましいという事実を強調するための、特定の種類の順方向転送を示す。S130の順方向変換は、変換が行われるユニットのみに直接依存する関数を出力することが好ましいが、追加的または代替的に任意の適切な関数を出力してもよい。直接依存は、好ましくは、LBDのユニットによる再計算を減らし、ユニット構造のより容易な再使用を可能にする(例えば、多くの同一のサブネットワークを一緒に接続してLBDを形成する)。 [0063] The network of this embodiment preferably says that calculations at any layer or node of the network depend directly only on the values output by adjacent LBD units (eg, subnetworks, nodes, layers). Shows a particular type of forward transfer to emphasize the facts. The forward conversion of S130 preferably outputs a function that depends directly on only the unit on which the conversion is performed, but may additionally or alternatively output any suitable function. Direct dependence preferably reduces the recalculation of the LBD by the unit and allows for easier reuse of the unit structure (eg, connecting many identical subnetworks together to form the LBD).

[0064]前の実施例は尤度更新メッセージの明示的な受け渡し(前後の比、または数学的に関連する用語)を含むが、ステップS130は、尤度または関連概念が渡されるメッセージに直接相関しないネットワークにおける順方向変換も実行することができる(例えば、閾値関数に基づくバイナリ出力)。図10に示すように、バイナリノードを有するニューラルネットワークは、所与の4ビット数が素数であるかどうかを計算する。図11に示すように、ニューラルネットワークは0xb1011(十進法の11)の入力を受け取る。次に、ノードの第1層が応答を計算し、それをネットワークに沿って伝播させる(すなわち、層1で順方向変換を実行する)。次に、ノードの2番目の層が入力を受け取り、応答を計算し、その後にノードの3番目の層が続く。最後に、システムは1を出力し、これは実際に11が素数であることを示す。 Although the previous embodiment includes explicit passing of a likelihood update message (ratio before and after, or mathematically related term), step S130 correlates directly with the message to which the likelihood or related concept is passed. Forward conversions can also be performed in non-networks (eg, binary output based on threshold functions). As shown in FIG. 10, a neural network with binary nodes calculates whether a given 4-bit number is a prime number. As shown in FIG. 11, the neural network receives an input of 0xb1011 (decimal 11). The first layer of nodes then computes the response and propagates it along the network (ie, performing forward transformations at layer 1). The second layer of the node then receives the input, computes the response, followed by the third layer of the node. Finally, the system outputs a 1, which indicates that 11 is actually a prime number.

[0065]この実施例は、ノードの出力機能によって多少制限される。説明したように、ある数値が素数であるかどうかだけを出力することができる。多くの場合、代わりに事後確率(例えば、いくつかの証拠が与えられた場合、その数が素数である確率)を知ることが有用となる。この実施例のシステムでは、例えば、最小桁のビットが1である4ビット2進数が素数である確率をどのように計算できるかは明らかではない。この確率を計算する方法の1つは、時間の経過とともにネットワーク上で多数の順方向パスを実行することである。最小桁のビットが1の4ビット2進数が素数である確率を計算するために、システムに単に最小桁ビットが「1」でありp(X=1)=0.5を有するランダムなバイナリ変数を入力として提供することができる。確率分布は、いくつかの順方向パスの後のシステムの出力によって推定することができる。 [0065] This embodiment is somewhat limited by the output function of the node. As explained, it is possible to output only whether a certain number is a prime number. In many cases, it is useful to know the posterior probabilities (eg, the probabilities that the numbers are prime, given some evidence) instead. In the system of this embodiment, for example, it is not clear how to calculate the probability that a 4-bit binary number with the smallest digit bit of 1 is a prime number. One way to calculate this probability is to perform a number of forward paths on the network over time. To calculate the probability that a 4-bit binary number with a minimum digit bit of 1 is a prime number, the system simply has a random binary variable with a minimum digit bit of "1" and p (X = 1) = 0.5. Can be provided as input. The probability distribution can be estimated by the output of the system after some forward paths.

[0066]図12に示される例では、方法100は、画像のパターンを推論するためにRCNの順方向変換を実行する。この実施例のメッセージは、メッセージの発信元に対応するノードがオンであるという前提の、証拠の尤度を表す。例えば、ノードCF2の表現は入力証拠とよりよく整合しているので、ノードCF2はノードCF1と比較してより高い尤度を有する。プールの尤度(プールノードから発生する接続で表される)は、プール要素の尤度の最大値である。後続の時間インスタンスに対応する一連の入力を用いてネットワークに確率伝搬するとき、ネットワークは時間内にメッセージを伝播し、時間的推論を行うことができる。そのようなシナリオでは、異なるノードで計算された値は、一連の証拠が与えられた場合の確率を表す。 In the example shown in FIG. 12, method 100 performs a forward transformation of the RCN to infer the pattern of the image. The message in this embodiment represents the likelihood of evidence, assuming that the node corresponding to the source of the message is on. For example, node CF2 has a higher likelihood compared to node CF1 because the representation of node CF2 is better consistent with the input evidence. The likelihood of a pool (represented by connections originating from a pool node) is the maximum likelihood of a pool element. When belief-propagating to a network using a set of inputs corresponding to subsequent time instances, the network can propagate the message in time and make temporal inferences. In such a scenario, the values calculated at different nodes represent the probabilities given a set of evidence.

[0067]伝播は、ネットワークの最終的な子特徴ノードにおいてデータ特徴入力を受信すると開始されることが好ましい。この最後の子特徴ノードは、階層内の最下層の子特徴ノードである。データは好適に、処理され、変換され、または一組の特徴へと分割される。その後、データ特徴を使用して、最後の子特徴ノードを選択またはアクティベートする。単純なシナリオでは、特徴の存在は、子特徴ノードをアクティベートするかアクティベートしないかに用いられる。あるいは、特徴ノードの尤度パラメータを入力とすることができる。尤度は、畳み込み類似性測定値、または特徴がデータ内で明白であるとする尤度の何らかの適切な測定値であり得る。確率伝搬は、この入力をネットワークの階層を上に伝播し続ける。サブネットワーク内で、ノードアクティベーションの伝播は、子特徴ノードが接続されたPSCFノードに尤度スコアを送るステップと、サブネットワークのプールノードにおいて、事後分布成分および接続されたPSCFノードの尤度スコアから尤度スコアを生成するステップと、サブネットワークの親特徴ノードにおいて、事後分布成分と、親特徴ノードに接続されたプールノードの尤度スコアとから尤度スコアを生成するステップとを含む。この確率伝搬は、好ましくは、より高いサブネットワークへと続き、ネットワーク伝播が最後まで進むか、何らかの閾値が満たされるまで続く(これらの制約は、ステップS120で設定されることが好ましい)。 [0067] Propagation is preferably initiated when a data feature input is received at the final child feature node of the network. This last child feature node is the lowest child feature node in the hierarchy. The data is preferably processed, transformed, or split into a set of features. The data feature is then used to select or activate the last child feature node. In a simple scenario, the presence of a feature is used to activate or not activate the child feature node. Alternatively, the likelihood parameter of the feature node can be input. Likelihood can be a convolutional similarity measure, or any suitable measure of likelihood for which features are apparent in the data. Belief propagation continues to propagate this input up the network hierarchy. Within the subnetwork, node activation propagation involves sending the likelihood score to the PSCF node to which the child feature node is connected, and the posterior distribution component and the likelihood score of the connected PSCF node at the pool node of the subnetwork. It includes a step of generating a likelihood score from, and a step of generating a likelihood score from the posterior distribution component in the parent feature node of the subnetwork and the likelihood score of the pool node connected to the parent feature node. This belief propagation preferably continues to higher subnetworks until the network propagation progresses to the end or some threshold is met (these constraints are preferably set in step S120).

[0068]RCNで使用される場合、ステップS130は、少なくとも第2のノードに選択制約を実施することを含み、これはプールとサブネットワークとの間の不変の関係が推論中に定義され使用できるように機能する。ノードがアクティベートされると、制約ノードを介して接続された他のノードに、それらに課された制約が執行されることが好ましい。外部制約ノードは、少なくとも2つのPSCFノード間にあることが好ましいが、あるいは任意のノードセット間にあってもよい。一変形例では、制約は、代替として、接続されたPSCFノードおよび/または同じプールのPSCFノードの確率測度を増強または変更することができる。 [0068] When used in an RCN, step S130 involves enforcing a selection constraint on at least the second node, which allows the invariant relationship between the pool and the subnetworks to be defined and used during inference. Works like. When a node is activated, it is preferred that the constraints imposed on it be enforced on other nodes connected through the constraint node. The external constraint node is preferably between at least two PSCF nodes, or may be between any set of nodes. In one variant, the constraint can, as an alternative, increase or change the probability measure of the connected PSCF node and / or the PSCF node of the same pool.

[0069]ステップS130は、好ましくは、変換された証拠をLBDユニットの出力で出力し、この出力はネットワークのアクティベートされたノードを推論の結果へと処理または同化させるように機能することが好ましい。好ましくは、親特徴ノードがパターンの指標として使用される。ネットワークを構築する際に、異なる層が、異なる粒度のスケールでパターンを検出することが好ましい。低いレベルでは、これにはコーナーや線や点などの特定のピクセルパターンの検出が含まれ得る。高いレベルでは、これは、人が画像内で検出されたこと、またはメッセージが幸せを表現しているといったパターン検出となる。また、各サブネットワークは、特定のパターン識別用にカスタマイズされていることが好ましい。上記の例では、サブネットワークは、不変コーナー検出用であり得る。この特定のサブネットワークの親ノードがアクティベートされると、コーナーが存在すると推論することができる。サブネットワークの親ノードのアクティベーションが別個のパターンラベルと対になるように、マッピングが存在してもよい。推論は最上位層から来てもよいが、代わりにネットワークの複数の層を通して得られてもよい。例えば、この方法が「男性の人間が笑っている」という推論を出力するものであれば、人間がいる、この人間は男性である、そして表情が笑顔であるという推論が、複数の層および/またはサブネットワークを通して得られる。また、推論を出力する際にどの層および/またはサブネットワークを使用するかを選択することによって、推論の範囲を調整することができる。例えば、画像から推論を生成する場合に、上位層からの推論は、その画像が喫茶店のシーンのものであることを検出することができる。下位の層は、画像内に3つのテーブル、男性、女性、および他の様々な喫茶店の備品があると検出するために使用することができる。 [0069] Step S130 preferably outputs the transformed evidence at the output of the LBD unit, which output preferably functions to process or assimilate the activated nodes of the network into the inference results. Preferably, the parent feature node is used as an indicator of the pattern. When constructing a network, it is preferable that different layers detect patterns on different particle size scales. At lower levels, this can include the detection of specific pixel patterns such as corners, lines and points. At a high level, this is a pattern detection, such as a person being detected in an image, or a message expressing happiness. Also, each subnetlight is preferably customized for specific pattern recognition. In the above example, the subnetworks can be for invariant corner detection. When the parent node of this particular subnetworks is activated, it can be inferred that a corner exists. Mappings may be present so that the activation of the parent node of the subnetwork is paired with a separate pattern label. Inferences may come from the top layer, but may instead be obtained through multiple layers of the network. For example, if this method outputs the inference that "a male human is laughing", then the inference that there is a human, this human is a male, and the facial expression is a smile is in multiple layers and / Or obtained through a subnetwork. In addition, the scope of inference can be adjusted by selecting which layer and / or subnetwork to use when outputting inference. For example, when generating inference from an image, the inference from the upper layer can detect that the image is from a coffee shop scene. The lower layer can be used to detect that there are three tables, men, women, and various other coffee shop fixtures in the image.

[0070]逆方向変換を実行するステップS140は、LBDのナレッジから証拠データを予測するように機能する。追加的または代替的に、ステップS140は、逆方向変換中に課された制約に基づいて証拠データを予測するステップを含み得る。逆方向変換は生成と呼ばれ、LBDに外部証拠が提供されていないという特別な場合は想像と呼ばれる。生成は、静止画像、映像グラフィック、音声メディア、テキストコンテンツ、選択動作または応答、または高レベル入力に基づいて合成された任意の適切な媒体を含むことができる。 [0070] Step S140, which performs the reverse transformation, functions to predict evidence data from the knowledge of the LBD. Additional or alternative, step S140 may include predicting evidence data based on the constraints imposed during the reverse transformation. The reverse transformation is called generation, and the special case where no external evidence is provided to the LBD is called imagination. The generation can include still images, video graphics, audio media, text content, selection behavior or response, or any suitable medium synthesized based on high level input.

[0071]逆方向変換を実行するステップS140の間、ノードは、その情報にその情報に作用し、出力が最下層サブネットワークの出力から得られるまでLBDの階層に沿ってノード選択/処理を伝播させることが好ましい。より明確には、最上層のサブネットワークは同時にサンプルを生成する。最上層サブネットワークの出力サンプルにより、どの下位層サブネットワークをアクティブにするかが決定する。次に、下位層のサブネットワークから同時にサンプルが生成される。この出力はさらに下層のアクティブなサブネットワークを決定する。このパターンが、サブネットワークの最下層から最終的にサンプルが生成されるまで、LBDの各層を通過し続ける。生成において、出力は好ましくはシミュレートされた出力である。例えば、LBDが画像の生成に使用され、入力がオブジェクトの名前であった場合、出力はそのオブジェクト名を表す画像であることが好ましい。 [0071] During step S140 of performing the reverse transformation, the node acts on that information and propagates node selection / processing along the LBD hierarchy until the output is obtained from the output of the lowest layer subnetworks. It is preferable to let it. More specifically, the top-level subnetworks generate samples at the same time. The output sample of the top-tier subnetworks determines which lower-tier subnetworks to activate. Next, samples are generated simultaneously from the lower layer subnetworks. This output determines the active subnetwork below. This pattern continues through each layer of the LBD from the bottom layer of the subnet until a final sample is generated. In generation, the output is preferably a simulated output. For example, if LBD is used to generate an image and the input is the name of an object, the output is preferably an image representing that object name.

[0072]ステップS130と同様に、逆方向変換S140は、好ましくは、LBD内の層毎に(すなわち層にわたって同時に)発生するが、追加的または代替的に、サブネットワーク毎、ノード毎、または他の適切な態様で発生してもよい。図13に示す実施例の場合、入力文字列がLBDの出力に供給される。サブネットワークOは、入力文字列が与えられると、層2の様々な特徴についての確率分布の計算を通して入力文字列に基づいて逆方向変換を実行する。同様に、層1が中間データを予測画像データに変換することにより逆方向変換を実行する。この予測画像データは、LBDによって定義された確率分布を有する一組の確率変数の出力と考えることができる。 [0072] Similar to step S130, the reverse transformation S140 preferably occurs layer by layer within the LBD (ie, simultaneously across layers), but additionally or alternatively, per subnet, per node, or otherwise. It may occur in an appropriate manner. In the case of the embodiment shown in FIG. 13, the input character string is supplied to the output of the LBD. Given an input string, the subnetwork O performs a reverse transformation based on the input string through the calculation of probability distributions for the various features of layer 2. Similarly, layer 1 performs reverse transformation by converting intermediate data into predicted image data. This predicted image data can be thought of as the output of a set of random variables with a probability distribution defined by the LBD.

[0073]ステップS140は、LBDユニットの出力において制約条件を受け取るステップと、制約条件が与えられたLBDに格納された情報に対して数学的変換を実行するステップと、生成されたデータをLBDユニットの入力において出力するステップとを含む。ステップS140で実行される数学的変換は、制約に基づいてLBDユニットに対する更新された尤度分布を計算することが好ましいが、追加的または代替的に、変換の一部として任意の適切な数学関数を計算してもよい。 [0073] In step S140, a step of receiving a constraint condition at the output of the LBD unit, a step of executing a mathematical transformation on the information stored in the LBD to which the constraint condition is given, and a step of executing the generated data to the LBD unit. Includes steps to output at the input of. The mathematical transformation performed in step S140 preferably calculates the updated likelihood distribution for the LBD unit based on constraints, but additionally or alternatively, any suitable mathematical function as part of the transformation. May be calculated.

[0074]ステップS140は、情報を通信するために確率伝搬技術を利用することが好ましいが、他の確率論的推論手法を代わりに実施してもよい。確率伝搬は、ノード間でメッセージをやり取りし、異なる仮定の下でノード内で計算を実行することを含む。 [0074] Step S140 preferably utilizes a probability propagation technique for communicating information, but other stochastic reasoning techniques may be implemented instead. Belief propagation involves exchanging messages between nodes and performing calculations within the nodes under different assumptions.

[0075]ステップS140は、ステップS120で設定された変換構成に基づいて逆方向変換を実行するステップを含むことが好ましい。 [0075] It is preferable that step S140 includes a step of executing reverse conversion based on the conversion configuration set in step S120.

[0076]例示的なネットワークは図14に示す通りである。ネットワーク内に符号化されているのは、事前確率P(S)、P(R)、P(Q)と、尤度関係P(e|S)、P(S|R)、P(R|Q)である.制約Q1=qがシステムに導入された場合、それを既知の尤度に直接差し込むことができ、R1の更新された確率として使用することができる。
(R)=P(R|Q=q)
An exemplary network is as shown in FIG. The prior probabilities P 1 (S 1 ), P 1 (R 1 ), P 1 (Q 1 ) and the likelihood relations P (e | S 1 ) and P (S 1 ) are encoded in the network. | R 1 ), P (R 1 | Q 1 ). If the constraint Q1 = q is introduced into the system, it can be plugged directly into the known likelihood and used as the updated probability of R1.
P 2 (R 1 ) = P (R 1 | Q 1 = q)

[0077]同様にS1:

Figure 0006761055
Similarly, S1:
Figure 0006761055

[0078]さらに、eを記述する確率分布が生成されてもよい。

Figure 0006761055
この確率分布は、与えられた制約Q1=qについてLBDで予測された証拠の分布を表している。Q1にわたって合計することによって、層が大きなLBDのどこに存在するかに拘わらず、各層について可能性のあるすべての出力をその層への入力関数として計算することができる。RCNの場合、あらゆる可能なオブジェクト(潜在的にQ1={q1、q2、…}によって表される)は、各層の計算についてグラフへと拡張され、これによりプール選択の問題を因子グラフとして公式化することが可能となる。因子グラフの因子のパラメータは入力に依存するが、RCNのより大きな構造は依存しない。この因子グラフを事前計算することにより、任意の所望のオブジェクトについて、更新された最大積の順序付けと割り当てを格納することが可能になり、それによって高速なオブジェクト認識が可能になる。これは静的逆方向変換と呼ばれ、ステップS140に含まれてもよい。 [0078] Further, a probability distribution describing e may be generated.
Figure 0006761055
This probability distribution represents the distribution of evidence predicted by the LBD for the given constraint Q1 = q. By summing over Q1, all possible outputs for each layer can be calculated as input functions to that layer, regardless of where the layers are located in the large LBD. In the case of RCN, every possible object (potentially represented by Q1 = {q1, q2, ...}) Is extended to a graph for the computation of each layer, thereby formulating the pool selection problem as a factor graph. It becomes possible. The parameters of the factors in the factor graph depend on the input, but not on the larger structure of the RCN. Pre-computing this factor graph makes it possible to store updated maximum product ordering and allocation for any desired object, which allows for faster object recognition. This is called static reverse transformation and may be included in step S140.

[0079]ステップS140は、追加的または代替的に、動的逆方向変換を実行するステップを含んでもよい。出力が何らかの制約のある予測されたアクティベーションに基づく確率分布である静的逆方向変換とは異なり、動的逆方向変換は、制約を与えられたLBDの特徴を直接アクティベートして出力例(または、繰り返しの場合は出力例のセット)を生成する。これは、好ましくは、新規なオブジェクトの検出および/またはオブジェクトの部分の挙動の一般化を可能にする。 [0079] Step S140 may additionally or optionally include a step of performing a dynamic reverse transformation. Unlike static reverse transformation, where the output is a probability distribution based on predicted activation with some constraints, dynamic reverse transform directly activates the features of the constrained LBD and is an example output (or). , In the case of repetition, a set of output examples) is generated. This preferably allows the detection of new objects and / or generalization of the behavior of parts of the object.

[0080]このネットワークの実施例は、ネットワークの任意の層またはノードでの計算が、隣接するLBDユニット(例えば、サブネットワーク、ノード、層)によって出力された値のみに直接依存することが好ましいという事実を強調するために、特定のタイプの逆方向変換を示す。S140の逆方向変換は、変換が行われるユニットのみに直接依存する関数を出力することが好ましいが、追加的または代替的に任意の適切な関数を出力すしてもよい。直接依存は、好ましくは、LBDのユニットによる再計算を減らし、ユニット構造のより容易な再使用を可能にする(例えば、LBDを形成するために一緒に接続された多くの同一のサブネットワークを使用する)。 [0080] In this network embodiment, it is preferred that calculations at any layer or node of the network directly depend only on the values output by adjacent LBD units (eg, subnetworks, nodes, layers). To emphasize the facts, a particular type of inverse transformation is shown. The reverse conversion of S140 preferably outputs a function that directly depends only on the unit on which the conversion is performed, but may additionally or alternatively output any suitable function. Direct dependence preferably reduces recalculation by the LBD unit and allows easier reuse of the unit structure (eg, using many identical subnetworks connected together to form the LBD). To do).

[0081]前の実施例は、確率更新メッセージ(尤度計算または数学的に関連する用語)の明示的な受け渡しを含むが、ステップS140は、確率や関連する概念が渡されるメッセージ(例えば、しきい値関数に基づくバイナリ出力)に直接相関しないネットワークにおいて逆方向変換を実行してもよい。 [0081] The previous embodiment includes explicit passing of a probability update message (likelihood calculation or mathematically related term), whereas step S140 includes a message (eg,) in which a probability or related concept is passed. Inverse transformations may be performed in networks that do not directly correlate with (binary output based on the threshold function).

[0082]図15に示す例では、方法100は、パターンを生成するためにRCNに対して逆方向変換を実行する。パターンの生成は、コンピュータグラフィックス、発話合成、物理モデリング、データシミュレーション、自然言語処理/翻訳などの様々な媒体および分野に適用することができる。最初に、パターン親特徴入力が受け取られる。親特徴は、高レベルの特徴、分類、またはパターンが生成される基礎となる他の入力であることが好ましい。入力は、ネットワークの最上層のサブネットワークに提供されることが好ましい。次に、ネットワークを介した伝播が進行する。最上位層のサブネットワークが処理され、次にサブネットワークの次の層が処理され、そしてネットワークの各階層が漸進的に(すなわち、順次または連続的に)処理されるように処理が継続する。場合によっては、外部制約が2つのサブネットワーク間の関係を定義して、一方のサブネットワークが最初に処理され、次に他方のサブネットワークが外部制約を考慮して処理される。この順序は事前定義されていても構成されてもよい。あるいは、処理は、制約の執行を決定する処理を完了するための、異なるサブネットワークと第1のサブネットワークとの間の競合状態であり得る。あるいは、それらは任意の適切な方法で同時に処理または管理されてもよい。同様に、サブネットワーク内のノード間の処理の順序付けがあってもよい。サブネットワーク内のプールも同様に順序付けされることが好ましい。いくつかの事例では、横方向制約が、2つのプールのPSCFノード間の関係を定義して、一方のプールが最初に処理され、次に他方のプールが横方向の制約を考慮して処理される。この順序は事前定義または設定されてもよい。あるいは、処理は、処理を完了して他のプールに対する制約の執行を決定するための、異なるプールと第1のプールとの間の競合状態であり得る。あるいは、それらは任意の適切な方法で同時に処理または管理されてもよい。各サブネットワーク内で、ノードの選択は親特徴ノードから始まり、次にプールノードがアクティベートされ、そしてPSCFノードが選択される。PSCFノードの選択は、制約ノードの執行済み選択制約によって少なくとも部分的に影響を受けるかまたは決定され得る。親特徴ノードの関数と矛盾しないプールノードを選択することは、サブネットワークのプールを適切にアクティベートするように機能する。前述のように、プールは、不変の特徴に対応するPSCFノードのグループであることが好ましい。選択は、選択関数で構成されている親特徴ノード内で行われることが好ましい。この選択関数は、接続された各プールノードがアクティベートされるようなAND関係であることが好ましいが、代わりに任意の適切な選択関数を使用することもできる。 In the example shown in FIG. 15, Method 100 performs a reverse transformation on the RCN to generate a pattern. Pattern generation can be applied to various media and disciplines such as computer graphics, speech synthesis, physical modeling, data simulation, and natural language processing / translation. First, the pattern parent feature input is received. The parent feature is preferably another input on which a high level feature, classification, or pattern is generated. The input is preferably provided to the top subnetwork of the network. Next, propagation over the network proceeds. Processing continues so that the top layer subnetworks are processed, then the next layer of the subnetwork is processed, and each layer of the network is processed incrementally (ie, sequentially or continuously). In some cases, the external constraint defines the relationship between the two subnetworks, one subnetwork is processed first, then the other subnetworks is processed with the external constraint in mind. This order may be predefined or configured. Alternatively, the process can be a race condition between different subnetworks and the first subnet network to complete the process of determining the enforcement of the constraint. Alternatively, they may be processed or managed simultaneously in any suitable manner. Similarly, there may be an order of processing between nodes in the subnetwork. The pools in the subnetwork are preferably ordered in the same way. In some cases, the lateral constraint defines the relationship between the PSCF nodes of the two pools, one pool is processed first, then the other pool is processed with the lateral constraint in mind. The pool. This order may be predefined or set. Alternatively, the process can be a race condition between the different pools and the first pool to complete the process and determine the enforcement of constraints on the other pools. Alternatively, they may be processed or managed simultaneously in any suitable manner. Within each subnet, node selection begins with the parent feature node, then the pool node is activated, and the PSCF node is selected. The selection of PSCF nodes can be at least partially affected or determined by the enforced selection constraints of the constraint node. Choosing a pool node that is consistent with the function of the parent feature node works to properly activate the pool in the subnetwork. As mentioned above, the pool is preferably a group of PSCF nodes corresponding to invariant features. The selection is preferably made within the parent feature node configured by the selection function. This choice function is preferably in an AND relationship such that each connected pool node is activated, but any suitable choice function can be used instead.

[0083]サブネットワークの子特徴に対応する少なくとも第1のPSCFノードを選択することは、プールノードのプール要素のセット内のPSCFノードを選択するように機能する。選択は、選択されたプールノードごとに行われる。サブネットワーク内のプールノードを評価する順序は、ランダムかつ連続的で非同時的な順序で順序付けられてもよい。あるいは、プールを同時に評価してもよい。PSCFノードの選択は、選択されたプールノードの選択関数に従って実行されることが好ましい。一実施態様では、選択関数はXOR関数であり、1つのPSCFノードのみが選択される。あるいは、任意の適切な選択機能が使用されてもよい。PSCFノードは、好ましくは直接関係で少なくとも1つの子特徴ノードに接続されるか、そうでなければ関連付けられる−このPSCFノードが選択されると、接続された子特徴ノードが選択される。いくつかの変形例では、PSCFノードは複数の子特徴ノードに関連付けられてもよい。各子特徴ノードは、好ましくは対応するPSCFノードが選択されたら選択される。さらに別の変形例では、子特徴ノードはさらに、ネットワークまたはサブネットワーク内の他のPSCFノードと関連付けられてもよい。子特徴ノードは、当該子特徴ノードへの上位位置の接続に基づいて選択/アクティベートされるのが好ましい。 [0083] Selecting at least the first PSCF node corresponding to a child feature of a subnetwork functions to select a PSCF node within the set of pool elements of the pool node. Selection is made for each selected pool node. The order in which pool nodes in a subnetwork are evaluated may be random, continuous, and non-simultaneous. Alternatively, the pools may be evaluated at the same time. The selection of PSCF nodes is preferably performed according to the selection function of the selected pool node. In one embodiment, the selection function is an XOR function and only one PSCF node is selected. Alternatively, any suitable selection function may be used. The PSCF node is preferably connected to or otherwise associated with at least one child feature node in a direct relationship-when this PSCF node is selected, the connected child feature node is selected. In some variants, the PSCF node may be associated with multiple child feature nodes. Each child feature node is preferably selected when the corresponding PSCF node is selected. In yet another variant, the child feature node may also be associated with other PSCF nodes in the network or subnetworks. The child feature node is preferably selected / activated based on the higher-level connection to the child feature node.

[0084]選択制約を執行することは、プールとサブネットワーク間の不変の関係を定義できるように機能する。制約は、好ましくは、特徴の組み合わせとパターンとの間の論理を定義するために作成される。一般的な例では、サブネットワークが画像コンポーネントをつなぎ合わせて自動車の画像を形成し、1つのプールが自動車の車体を選択するものである場合、自動車の車輪が選択されるように他のプールに制限を課すことができ、したがって車輪と車体は矛盾しない。選択制約は、制約ノードを介した少なくとも2つのPSCFノード間の接続を介して定義され得る。制約ノードは、任意の適切な数の接続されたPSCFノードを有し、任意の適切な選択機能を執行し得る。場合によっては、選択制約は、2つのプールノード間の接続または任意の適切な種類のノードを介して定義され得る。同様に、制約ノードは、PSCFノードとプールノードとの間など、任意の2以上のタイプのノード間であり得る。制約ノードの執行は、例えば第1のノードの選択が第2のノードに対する選択の影響をもたらすように、実行時に何らかの形の方向性を有することが好ましい。この方向性は、2種類のノード間で任意の方向に進むこともできる。PSCFノードは、制約ノードがプールノードに影響を及ぼすことをもたらし、プールノードは、制約ノードがPSCFノードに影響を及ぼすことをもたらしてもよい。1つの好ましい選択制約は、制約ノードに接続されているPSCFノードのうちの1つがアクティベートされた場合に、接続されているPSCFノードの選択を強制することであろう。言い換えれば、この制約ノードの選択制約関数はAND演算となる。選択制約は、接続された制約ノードを有する少なくとも第1のPSCFノードの選択に応答して執行されることが好ましい。上述したように、ノードは、何らかの順序で評価または伝播されることが好ましい。選択制約は、好ましくは、既に選択されているPSCFノードには適用されないが、代わりにプールノードによる選択に適用される。いくつかのシナリオでは、1のプールノードは1組の可能なPSCFノードを有し、これは選択制約が執行されて、制約ノードを介してプール要素に送信された後に、1つのノードに減らされる。他のシナリオでは、プールノードは、可能なPSCFノードの数を減らしてもよく、あるいは選択のための確率的重み付けを変えてもよい。1の制約ノードは、2つのPSCFノード間の接続として示されているが、これらの制約は、代替として、プール要素および/またはサブネットワーク間のメッセージ受け渡しメカニズムを介して動作可能に実施することもできる。メッセージは、本明細書に記載されているように制約ノードを事実上強制するために選択関数の動作を修正することが好ましい。制約ノードは、横方向制約、外部制約、時間的制約、および/または任意の適切な種類の制約であり得る。横方向制約は、好ましくは2つの異なるプール間で執行される。外部制約は、好ましくは2つの異なるサブネットワーク間で執行される。横方向制約および外部制約は、空間的な制約に使用されることが好ましいが、任意の適切な不変パターンを定義するために使用されてもよい。時間的制約は、異なる時間インスタンスに対してネットワーク評価を実施する。時間的制約は、異なる時間枠にわたって不変パターンを定義することができる。時間的選択制約は、一連の特徴内で、起こるかもしれない、起こり得る、または起こり得ない特徴を特定する。ネットワークの最終的な子特徴を生成される出力関数へとコンパイルして、特徴を生成される製品、表現、または分析、シミュレーション、または任意の適切な出力へと組み立てる。最終的な子特徴は、階層ネットワークの最下層の子特徴ノードであることが好ましい。子特徴ノードは、特定のデータ特徴の存在を表す二項変数を表すのが好ましい。子特徴ノードを特定のデータ特徴にマッピングするデータベースまたはマッピングを保持してもよい。最終的な子特徴をコンパイルするステップは、好ましくは選択された子特徴ノードをデータ特徴にマッピングするステップを含み、それが次に生成される出力へとコンパイルされる。アクティベートされた子特徴ノードは、組み合わされるとメディアの複製を形成する構成要素であることが好ましい。例えば、ネットワークが画像生成用にトレーニングまたは作成された場合、出力は好ましくは実質的に完全な模擬画像である。ネットワークが音声特徴でトレーニングされた場合、最終的な子特徴を組み合わせて音声ファイルまたは信号を出力することができる。複数のネットワーク評価が時間信号について使用される場合、複数のネットワークの最終的な子特徴は最終的に生成される出力へとコンパイルされ得る。 Enforcing selection constraints serves to define invariant relationships between pools and subnetworks. Constraints are preferably created to define the logic between feature combinations and patterns. In a typical example, subnetworks splice image components together to form an image of a car, and if one pool selects the body of the car, then the wheels of the car are selected in the other pool. Limits can be imposed, so the wheels and car body are consistent. Selection constraints can be defined via connections between at least two PSCF nodes via constraint nodes. The constraint node has any suitable number of connected PSCF nodes and may perform any suitable selection function. In some cases, selection constraints can be defined via a connection between two pool nodes or any suitable type of node. Similarly, constraint nodes can be between any two or more types of nodes, such as between PSCF nodes and pool nodes. Execution of constrained nodes preferably has some form of orientation at run time, for example, such that the selection of the first node has the effect of the selection on the second node. This direction can also go in any direction between the two types of nodes. The PSCF node may result in the constraint node affecting the pool node, and the pool node may result in the constraint node affecting the PSCF node. One preferred selection constraint would be to force the selection of the connected PSCF node if one of the PSCF nodes connected to the constraint node is activated. In other words, the selection constraint function of this constraint node is an AND operation. The selection constraint is preferably enforced in response to the selection of at least the first PSCF node having the connected constraint node. As mentioned above, the nodes are preferably evaluated or propagated in some order. The selection constraint preferably does not apply to PSCF nodes that have already been selected, but instead applies to selection by pool nodes. In some scenarios, one pool node has a set of possible PSCF nodes, which are reduced to one node after the selection constraint is enforced and sent to the pool element through the constraint node. .. In other scenarios, pool nodes may reduce the number of possible PSCF nodes or change the probabilistic weighting for selection. One constraint node is shown as a connection between two PSCF nodes, but these constraints can also be implemented operably via a pool element and / or message passing mechanism between subnetworks as an alternative. it can. The message preferably modifies the behavior of the choice function to effectively enforce the constraint node as described herein. Constraint nodes can be lateral constraints, external constraints, time constraints, and / or any suitable type of constraint. Lateral constraints are preferably enforced between two different pools. External constraints are preferably enforced between two different subnetworks. Lateral and external constraints are preferably used for spatial constraints, but may be used to define any suitable invariant pattern. Time constraints perform network evaluations for different time instances. Time constraints can define invariant patterns over different time frames. Temporal selection constraints identify features that may or may not occur within a set of features. Compile the final child features of the network into a generated output function and assemble the features into the product, representation, or analysis, simulation, or any suitable output that is generated. The final child feature is preferably the child feature node at the bottom of the hierarchical network. The child feature node preferably represents a binomial variable that represents the presence of a particular data feature. You may have a database or mapping that maps child feature nodes to specific data features. The step of compiling the final child feature preferably includes the step of mapping the selected child feature node to the data feature, which is compiled into the next generated output. Activated child feature nodes are preferably components that, when combined, form a replica of the media. For example, if the network is trained or created for image generation, the output is preferably a substantially complete simulated image. If the network is trained with audio features, the final child features can be combined to output an audio file or signal. If multiple network evaluations are used for the time signal, the final child features of the multiple networks can be compiled into the final output.

[0085]方法100は、好ましくはステップS120の変換構成に従って、LBDの任意の時間および任意の位置でステップS130とS140を実行するステップを含み得る。例えば、LBDは、図8に示すように、一連の部分的な順方向変換および逆方向変換を実行することができる。別の例として、LBDは、画像の半分についての画像入力を取得してもよい。この半画像入力は子特徴に入力される。それからLBDは他方の半分のための可能性を生成するように促される。 The method 100 may include performing steps S130 and S140 at any time and at any position on the LBD, preferably according to the conversion configuration of step S120. For example, the LBD can perform a series of partial forward and reverse transformations, as shown in FIG. As another example, the LBD may acquire an image input for half of the image. This semi-image input is input to the child feature. The LBD is then prompted to create a possibility for the other half.

[0086]ステップS150は、変換済みの証拠データを出力するステップを含み、LBDによって生成されたデータ解釈を出力するように機能する。変換済みの証拠データを出力するステップは、出力を後処理するステップを含むことが好ましいが、追加的または代替的に、未処理の出力データを出力するステップを含んでもよい。例えば、出力データは、分類タグにわたって確率分布から後処理された、画像に対する分類タグのセットを含んでもよい。別の例として、S150は、写真内のオブジェクトの自然言語の説明を出力するステップを含み得る。 [0086] Step S150 includes a step of outputting the converted evidence data, and functions to output the data interpretation generated by the LBD. The step of outputting the converted evidence data preferably includes a step of post-processing the output, but may additionally or optionally include a step of outputting the unprocessed output data. For example, the output data may include a set of classification tags for the image, post-processed from the probability distribution across the classification tags. As another example, S150 may include the step of outputting a natural language description of the object in the photo.

[0087]好ましい実施形態の方法およびその変形例は、コンピュータ可読命令を記憶するコンピュータ可読媒体を受け入れる構成された装置として少なくとも部分的に実施および/または実装することができる。命令は、好ましくは再帰的皮質ネットワークと統合されたコンピュータ実行可能コンポーネントによって実行されることが好ましい。コンピュータ可読媒体は、RAM、ROM、フラッシュメモリ、EEPROM、光学装置(CDまたはDVD)、ハードドライブ、フロッピードライブ、または任意の適切な装置などの任意の適切なコンピュータ可読媒体に格納することができる。コンピュータ実行可能コンポーネントは、一般的なまたは特定用途向けプロセッサであることが好ましいが、任意の適切な専用ハードウェアまたはハードウェア/ファームウェア組合せ装置が代替的にまたは追加的に命令を実行してもよい。 [0087] The methods of the preferred embodiment and variations thereof can be implemented and / or implemented at least partially as a configured device that accepts a computer-readable medium for storing computer-readable instructions. The instructions are preferably executed by computer-executable components integrated with the recursive cortical network. The computer readable medium can be stored in any suitable computer readable medium such as RAM, ROM, flash memory, EEPROM, optical device (CD or DVD), hard drive, floppy drive, or any suitable device. The computer-executable component is preferably a general or application-specific processor, but any suitable dedicated hardware or hardware / firmware combination device may provide alternative or additional instructions. ..

[0088]当業者であれば、前述の詳細な説明ならびに図面および特許請求の範囲から認識されるように、添付の特許請求の範囲で定義される本発明の範囲から逸脱することなく本発明の好ましい実施形態に対して修正および変更を加えることができる。

[0088] As will be appreciated by those skilled in the art from the above detailed description as well as the drawings and claims, the present invention will not deviate from the scope of the invention as defined in the appended claims. Modifications and changes can be made to the preferred embodiments.

Claims (20)

双方向レイヤベースネットワークにおいてデータ解釈を生成するための方法であって、コンピュータ実行可能コンポーネントが、
・証拠データのセットを受信するステップと、
・ネットワークの層間で証拠データおよび変換済みデータのメッセージングを指示する変換構成を設定するステップと、
・前記ネットワークの第1層において、証拠データのセットの、第1の変換データのセットへの第1の順方向変換を実行するステップと、
・前記ネットワークの第2層において、前記第1の変換データのセットから、第2の変換データのセットへの第2の順方向変換を実行するステップと、
・前記ネットワークの第2の層において、前記第2の変換データのセットの、第3の変換データのセットへの第1の逆方向変換を実行するステップと、
・前記ネットワークの第2層において、前記第3の変換データのセットの、第4の変換データのセットへの第3の順方向変換を実行するステップと、
・前記第4の変換データのセットを出力するステップと
を実行することを特徴とする方法。
A method for generating data interpretations in a two-way layer-based network, where computer-executable components
-Steps to receive a set of evidence data and
· Steps to set up a transformation configuration that directs the messaging of evidence and transformed data between layers of the network,
A step of performing a first forward conversion of a set of evidence data into a first set of converted data in the first layer of the network.
A step of performing a second forward conversion from the first set of conversion data to the second set of conversion data in the second layer of the network.
In the second layer of the network, a step of performing a first reverse conversion of the second set of converted data into a third set of converted data,
A step of performing a third forward conversion of the third set of conversion data into a fourth set of conversion data in the second layer of the network.
-The step of outputting the fourth set of conversion data
A method characterized by performing .
請求項1の方法において、前記双方向レイヤベースネットワークは再帰的皮質ネットワークであることを特徴とする方法。 The method according to claim 1, wherein the bidirectional layer-based network is a recursive cortical network. 請求項1の方法において、前記第2の順方向変換を実行するステップは、
○前記第2の層の1またはそれ以上の入力において、前記第1の変換データのセットを受け取るステップと、
○前記第1の変換データのセットと、前記第2の層で符号化された事前確率および尤度関係のセットとに基づいて、第1の事後確率分布を計算するステップと、
○前記第2の層の出力において、前記第1の事後確率分布から前記第2の変換データのセットを生成するステップと、を含み、
前記第1の逆方向変換を実行するステップは、
○前記第2の層の出力において、前記第2の変換データのセットを受信するステップと、
○前記第2の変換データのセットと、前記第2の層で符号化された事前確率および尤度関係のセットとに基づいて更新された尤度のセットを計算するステップと、
○前記第2の層の1以上の入力において、前記更新された尤度のセットから前記第3の変換データのセットを生成するステップとを含むことを特徴とする方法。
In the method of claim 1, the step of executing the second forward conversion is
○ A step of receiving the first set of conversion data at one or more inputs of the second layer, and
○ A step of calculating a first posterior probability distribution based on the first set of conversion data and a set of prior probabilities and likelihood relationships encoded in the second layer.
○ The output of the second layer includes a step of generating the second set of conversion data from the first posterior probability distribution.
The step of performing the first reverse transformation is
○ In the output of the second layer, the step of receiving the second set of conversion data and
○ A step of calculating an updated set of likelihood based on the second set of transformation data and the set of prior probabilities and likelihood relationships encoded in the second layer.
A method comprising: in one or more inputs of the second layer, a step of generating the third set of conversion data from the updated set of likelihoods.
請求項3の方法において、前記第3の順方向変換を実行するステップは、
○前記第2の層の1以上の入力において、前記第3の変換データのセットを受け取るステップと、
○前記第1の変換データのセットと、前記第3の変換データのセットの更新された尤度のセットと、前記第2の層で符号化された事前確率および尤度関係のセットとに基づいて、第2の事後確率分布を計算するステップと、
○前記第2の層の出力において、前記第2の事後確率分布から第4の変換データのセットを生成するステップとを含むことを特徴とする方法。
In the method of claim 3, the step of executing the third forward conversion is
○ A step of receiving the third set of conversion data at one or more inputs of the second layer, and
○ Based on the first set of transformation data, the updated set of likelihood of the third set of transformation data, and the set of prior probabilities and likelihood relationships encoded in the second layer. Then, the step of calculating the second posterior probability distribution,
○ A method characterized in that the output of the second layer includes a step of generating a fourth set of conversion data from the second posterior probability distribution.
請求項4の方法において、前記双方向レイヤベースネットワークが再帰的皮質ネットワークであることを特徴とする方法。 The method according to claim 4, wherein the bidirectional layer-based network is a recursive cortical network. 請求項5の方法において、前記再帰的皮質ネットワークが分散処理要素によって実施されることを特徴とする方法。 The method of claim 5, wherein the recursive cortical network is performed by a distributed processing element . 請求項5の方法において、前記再帰的皮質ネットワークは、
・複数の階層へと編成されたサブネットワークの再帰的に設計されたネットワークを含み、
・前記サブネットワークは、少なくとも親特徴ノードと、プールノードと、親固有の子特徴ノードと、子特徴ノードとを含み、
・少なくとも1つのサブネットワークの親特徴ノードは、当該少なくとも1つのサブネットワークの親特徴ノードに接続された少なくとも2つのプールノード上で動作可能な選択関数で構成され、
・前記少なくとも1つのサブネットワークのプールノードは、当該少なくとも1つのサブネットワークのプールノードに接続された少なくとも2つの親固有の子特徴(PSCF)ノード上で動作可能な選択関数で構成され、
・前記少なくとも1つのサブネットワークのPSCFノードは、接続された子特徴ノードをアクティベートするように構成され、
・前記子特徴ノードは、下位階層の第2のサブネットワークの少なくとも親特徴ノードに接続可能であり、
・少なくとも2つのPSCFノードからの少なくとも2つの接続を有し、前記プールノードによる選択を増強するための選択関数を有する制約ノードを含むことを特徴とする方法。
In the method of claim 5, the recursive cortical network is
· Includes recursively designed networks of sub-networks organized into multiple layers
-The sub-network includes at least a parent feature node, a pool node, a parent-specific child feature node, and a child feature node.
Parent feature node of the at least one sub-network is constituted by the at least one sub-network operable selection function on at least two pools nodes connected to the parent feature node,
• The pool node of at least one subnetwork is composed of a choice function that can operate on at least two parent-specific child feature (PSCF) nodes connected to the pool node of at least one subnet .
The PSCF node of at least one of the subnetworks is configured to activate the connected child feature node.
- child feature node can be connected to at least a parent feature node of the second sub-network of the lower layer,
A method comprising a constraint node having at least two connections from at least two PSCF nodes and having a choice function for enhancing selection by said pool node.
請求項5の方法において、前記証拠データのセットが画像データを含むことを特徴とする方法。 The method according to claim 5, wherein the set of evidence data includes image data. 請求項8の方法において、前記画像データが、エッジ検出フィルタによって処理された画像データを含むことを特徴とする方法。 The method according to claim 8, wherein the image data includes image data processed by an edge detection filter. 請求項9の方法において、前記画像データがカメラによって取り込まれ、前記第4の変換データのセットを出力するステップが、画像の解釈データを出力するステップを含むことを特徴とする方法。 The method according to claim 9, wherein the image data is captured by a camera, and the step of outputting the fourth set of conversion data includes a step of outputting interpretation data of the image. 請求項4の方法において、静的変換構成に基づいて追加の順方向変換および逆方向変換を実行するステップをさらに含むことを特徴とする方法。 A method of claim 4, further comprising performing additional forward and reverse transformations based on the static transformation configuration. 請求項4の方法において、動的変換構成に基づいて追加の順方向変換および逆方向変換を実行するステップをさらに含み、前記動的変換構成は、層出力の尤度のしきい値に基づいてメッセージングを指示することを特徴とする方法。 The method of claim 4 further comprises performing additional forward and reverse transformations based on the dynamic transformation configuration, wherein the dynamic transformation configuration is based on a layer output likelihood threshold. A method characterized by directing messaging. 請求項4の方法において、動的変換構成に基づいて追加の順方向変換および逆方向変換を実行するステップをさらに含み、前記動的変換構成は、再帰レベルのしきい値に基づいてメッセージングを指示することを特徴とする方法。 The method of claim 4 further comprises performing additional forward and reverse transformations based on the dynamic transformation configuration, wherein the dynamic transformation configuration directs messaging based on a recursive level threshold. A method characterized by doing. 請求項4の方法において、前記ネットワーク内で符号化された横方向制約に基づいて順方向変換を実行するステップをさらに含むことを特徴とする方法。 A method of claim 4, further comprising performing a forward transformation based on a lateral constraint encoded in the network. 請求項14の方法において、横方向制約に基づいて順方向変換を実行するステップは、前記ネットワークの少なくとも2つのノード間で選択制約を実施するステップを含むことを特徴とする方法。 A method according to claim 14, wherein the step of executing the forward transformation based on the lateral constraint includes a step of performing a selection constraint between at least two nodes of the network. 請求項4の方法において、前記第4の変換データのセットを出力するステップは、データ分類子のセットを出力するステップを含むことを特徴とする方法。 The method according to claim 4, wherein the step of outputting the fourth set of conversion data includes a step of outputting a set of data classifiers. 再帰的皮質ネットワークにおいてデータ解釈を生成する方法であって、コンピュータ実行可能コンポーネントが、
・前記再帰的皮質ネットワークの第1層の子特徴ノードにおいて証拠データのセットを受信するステップであって、前記再帰皮質ネットワークは1組の層からなり、各層が少なくとも2つの子特徴ノードと、1つの親ノードとを具える、ステップと、
・前記ネットワークの層間で証拠データおよび変換済みデータのメッセージングを指示する変換構成を設定するステップと、
・前記変換構成に従って、前記証拠データに対して、少なくとも1つの順方向変換と少なくとも1つの逆方向変換とを含む一連の変換を実行するステップと、
・変換された証拠データを出力するステップと
を実行することを特徴とする方法。
A method of generating data interpretations in a recursive cortical network, a computer-executable component of
A step of receiving a set of evidence data at a child feature node of the first layer of the recursive cortex network, the recursive cortex network consisting of a set of layers, each layer having at least two child feature nodes and one. Steps with one parent node,
A step of setting a conversion configuration that directs the messaging of evidence data and converted data between layers of the network, and
A step of performing a series of transformations, including at least one forward transformation and at least one reverse transformation, on the evidence data according to the transformation configuration.
・ Steps to output the converted evidence data
A method characterized by performing .
請求項17の方法において、前記変換構成は、前記方法によって実行される順方向変換および逆方向変換の順序を明示的に列挙する静的な変換構成であることを特徴とする方法。 A method of claim 17, wherein the conversion configuration is a static conversion configuration that explicitly enumerates the order of forward and reverse transformations performed by the method. 請求項17の方法において、前記変換構成は、層出力の確率しきい値に基づいて順方向変換および逆方向変換の順序を設定する動的な変換構成であることを特徴とする方法。 The method according to claim 17, wherein the conversion configuration is a dynamic conversion configuration that sets the order of forward conversion and reverse conversion based on the probability threshold value of the layer output. 請求項17の方法において、前記変換構成は、再帰レベルのしきい値に基づいて順方向変換および逆方向変換の順序を設定する動的な変換構成であることを特徴とする方法。 A method according to claim 17, wherein the conversion configuration is a dynamic conversion configuration that sets the order of forward conversion and reverse conversion based on a threshold value of a recursive level.
JP2018567585A 2016-06-21 2016-06-21 Systems and methods for generating data interpretations in neural networks and related systems Expired - Fee Related JP6761055B2 (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2016/038516 WO2017222505A1 (en) 2016-06-21 2016-06-21 Systems and methods for generating data explanations for neural networks and related systems

Publications (2)

Publication Number Publication Date
JP2019520655A JP2019520655A (en) 2019-07-18
JP6761055B2 true JP6761055B2 (en) 2020-09-23

Family

ID=60783511

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018567585A Expired - Fee Related JP6761055B2 (en) 2016-06-21 2016-06-21 Systems and methods for generating data interpretations in neural networks and related systems

Country Status (6)

Country Link
EP (1) EP3472713A4 (en)
JP (1) JP6761055B2 (en)
CN (1) CN109643389B (en)
AU (2) AU2016410565A1 (en)
CA (1) CA3028919C (en)
WO (1) WO2017222505A1 (en)

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5065040A (en) * 1990-08-03 1991-11-12 Motorola Inc. Reverse flow neuron
JPH0540829A (en) * 1991-08-07 1993-02-19 Seiko Epson Corp Data clustering method
JP2000259597A (en) * 1999-03-08 2000-09-22 Inst Of Physical & Chemical Res Brain-type computer system and storage system applicable to it
US6728690B1 (en) * 1999-11-23 2004-04-27 Microsoft Corporation Classification system trainer employing maximum margin back-propagation with probabilistic outputs
US6976012B1 (en) * 2000-01-24 2005-12-13 Sony Corporation Method and apparatus of using a neural network to train a neural network
US7519488B2 (en) * 2004-05-28 2009-04-14 Lawrence Livermore National Security, Llc Signal processing method and system for noise removal and signal extraction
US7720779B1 (en) * 2006-01-23 2010-05-18 Quantum Leap Research, Inc. Extensible bayesian network editor with inferencing capabilities
EP2162853A1 (en) 2007-06-29 2010-03-17 Numenta, Inc. Hierarchical temporal memory system with enhanced inference capability
WO2009097552A1 (en) * 2008-02-01 2009-08-06 Omnivision Cdm Optics, Inc. Image data fusion systems and methods
US8775341B1 (en) * 2010-10-26 2014-07-08 Michael Lamport Commons Intelligent control with hierarchical stacked neural networks
CN102509105B (en) * 2011-09-30 2013-07-31 北京航空航天大学 Hierarchical processing method of image scene based on Bayesian inference
US9262698B1 (en) * 2012-05-15 2016-02-16 Vicarious Fpc, Inc. Method and apparatus for recognizing objects visually using a recursive cortical network
CN102867327A (en) * 2012-09-05 2013-01-09 浙江理工大学 Textile flexible movement reestablishing method based on neural network system

Also Published As

Publication number Publication date
AU2016410565A1 (en) 2019-01-24
CN109643389B (en) 2023-08-22
JP2019520655A (en) 2019-07-18
CN109643389A (en) 2019-04-16
EP3472713A1 (en) 2019-04-24
AU2022202492A1 (en) 2022-05-12
EP3472713A4 (en) 2020-02-26
CA3028919A1 (en) 2017-12-28
WO2017222505A1 (en) 2017-12-28
CA3028919C (en) 2022-04-26

Similar Documents

Publication Publication Date Title
US11551057B2 (en) Systems and methods for generating data explanations for neural networks and related systems
US20220237431A1 (en) System and method for a recursive cortical network
US11715004B2 (en) Robustness against manipulations in machine learning
JP2024500182A (en) Explainable transducer transformer
US11055616B2 (en) Architecture for an explainable neural network
US20180082179A1 (en) Systems and methods for deep learning with small training sets
US11526757B2 (en) Systems and methods for deep learning with small training sets
JP6828065B2 (en) Systems and methods for recursive cortical networks
JP6761055B2 (en) Systems and methods for generating data interpretations in neural networks and related systems
Maashi et al. Automated Gesture Recognition Using African Vulture Optimization with Deep Learning for Visually Impaired People on Sensory Modality Data
CN113536859A (en) Behavior recognition model training method, recognition method, device and storage medium
KR102782217B1 (en) Method for providing medical counseling service between insurance organization and specialist based on bigdata
CN112115210B (en) A recommendation method and system based on knowledge graph
GB2633414A (en) Method for controlling an electronic device using a machine learning model

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190215

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200303

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20200228

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200529

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20200804

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200903

R150 Certificate of patent or registration of utility model

Ref document number: 6761055

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees