JP2022502727A - 因子グラフ上での確率伝搬 - Google Patents

因子グラフ上での確率伝搬 Download PDF

Info

Publication number
JP2022502727A
JP2022502727A JP2021505865A JP2021505865A JP2022502727A JP 2022502727 A JP2022502727 A JP 2022502727A JP 2021505865 A JP2021505865 A JP 2021505865A JP 2021505865 A JP2021505865 A JP 2021505865A JP 2022502727 A JP2022502727 A JP 2022502727A
Authority
JP
Japan
Prior art keywords
spike
signal
variable
node
occurrence
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.)
Granted
Application number
JP2021505865A
Other languages
English (en)
Other versions
JP7332193B2 (ja
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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of JP2022502727A publication Critical patent/JP2022502727A/ja
Application granted granted Critical
Publication of JP7332193B2 publication Critical patent/JP7332193B2/ja
Active 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/04Architecture, e.g. interconnection topology
    • G06N3/049Temporal neural networks, e.g. delay elements, oscillating neurons or pulsed inputs
    • 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
    • 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
    • G06N3/084Backpropagation, e.g. using gradient descent
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/06Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
    • G06N3/063Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
    • G06N3/065Analogue means

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Molecular Biology (AREA)
  • Artificial Intelligence (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Probability & Statistics with Applications (AREA)
  • Error Detection And Correction (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Complex Calculations (AREA)

Abstract

因子グラフ上でのランダム変数の確率分布の伝搬を実施するための方法及び装置が提供される。そうした方法は、因子グラフに対応する、変数ノードが因子ノードと相互接続されたスパイキングニューラルネットワークを提供することを含む。ノードの各々は、そのノードの計算機能を実装するように構成されたニューロンのセットを含む。方法は、ランダム変数のセットの各々について、その変数の可能な値の確率がスパイク信号におけるスパイクの発生を介してエンコードされる少なくとも1つのスパイク信号を生成することと、ランダム変数のセットについてのスパイク信号をそれぞれの変数ノードにおけるニューラルネットワークへの入力として供給することとをさらに含む。確率分布は、ニューラルネットワークを通じて伝搬される信号のスパイクの発生を介して伝搬される。

Description

本発明は、一般に、因子グラフ上での確率伝搬に関する。特に、因子グラフ上でランダム変数(random variable)の確率分布の伝搬を実施するための方法が、そうした方法を実施するための装置及びコンピュータプログラム製品と共に提供される。
因子グラフ上でのランダム変数の確率分布の伝搬は、科学技術における多くの用途で使用される確率計算技術である。例として、この技術は、データ伝送における誤り訂正(error correction)コードのデコード、例えばインターネットからなどの大量のデータから洞察を得るためのデータセット分析、及び患者の遺伝的要因を含む競合する治療の最適な組み合わせのための個別化された健康管理プログラムの開発のような用途において、統計的推論に利用することができる。この技術は、問題になっている特定の用途に従って、その値が物理的プロセス又は他の本質的にランダムな現象の可能な結果を表すランダム変数のグループの確率分布に適用される。これらの確率分布は、エッジを介して複数の変数ノードが複数の因子ノードと相互接続された因子グラフのエッジ上で伝搬される。この因子グラフの構造、及びグラフのノードと関連付けられた特定の計算機能は、基礎となる用途により決定される。確率伝搬プロセスは、添付図面の図1及び図2を参照して以下に簡単に説明される。
図1は、因子グラフの簡単な例を示す。この因子グラフは、変数s、u、v、w、x、y及びzのグループに対応する変数ノードと、因子分解(factorization)を記述する関数f、f、f、f及びfに対応する因子ノードとを有する:
Figure 2022502727
グラフ内のエッジは、変数が現れる因子に従って、変数ノードを因子ノードに接続する。次式を計算することが望まれると仮定する:
Figure 2022502727
ここで、
Figure 2022502727
は、変数zについてz’の観測値が与えられた場合の変数sの確率分布を示す。2つの手法を使用することができる。直接計算は、n項(ここでnは変数pの可能な値の数を表す)の総和によって行うことができる。:
Figure 2022502727
代替的に、個々の総和を因子分解の積に分散させることもできる(n+n+n+n項の総和):
Figure 2022502727
確率伝搬プロセスは、因子グラフのエッジをメッセージパッシングチャネル(message passing channel)として扱うことによって、上の第2のタイプの計算を実行する。確率分布を表すメッセージは、ノードにおいて計算され、エッジに沿って接続されたノードにパスされる。一般に、グラフの向き及びメッセージが伝搬される方法は、実行されるべき特定の計算によって決まり、メッセージは、観測に応答して作成される。グラフは、1つ又は複数のノードを根(root)として選択することによって方向付けることができ、1つの他のノードにのみ接続される根でないノードの各々は、葉(leaf)として指定される。メッセージは、第1のステップにおいて葉から根へレベルごとにフォワードパス(forward pass)し、その後、第2のステップにおいて根から葉へレベルごとにバックワードパス(backward pass)することができる。フォワードパス及びバックワードパスのそれぞれの間、2つのタイプのベクトルメッセージ、すなわち局所限界(local marginal)の積からなる変数から関数(variable-to-function)メッセージ、及び近傍の変数の分布の和からなる関数から変数(function-to-variable)メッセージがパスされる。図2に示される因子グラフのセクションにおける変数ノードx及び関数ノードfにおけるこれら2つのタイプのメッセージの計算は、以下の通りである。xからfへの変数・関数メッセージは:
Figure 2022502727
によって与えられ、fからxへの関数・変数メッセージは:
Figure 2022502727
によって与えられる。
2つのパスの間、値が既知である観測された変数vは、それらの値に一定に保持される。両方のパスが完了すると、各ノードzは、格納されたメッセージを組み合わせてP(z│v)を得る。従って、図2の変数ノードxについて:
Figure 2022502727
となり、ここでβは、
Figure 2022502727
となるようにするものである。
確率伝搬動作は計算が複雑であり、多数のランダム変数を含む用途において複雑さが著しく増大することが分かる。従来の(フォンノイマン(von-Neumann)型)コンピュータを用いる確率伝搬の実装には、かなりの処理リソースと著しい消費電力が必要であり、変数の数が増大するのに伴って効率が著しく低下する。
本発明の少なくとも1つの実施形態によれば、因子グラフ上でランダム変数の確率分布の伝搬を実施するための方法が提供される。この方法は、因子グラフに対応する、因子ノードと相互接続された変数ノードを有するスパイキングニューラルネットワークを提供することを含む。ノードの各々は、そのノードの計算機能を実装するように構成されたニューロンのセットを含む。方法はさらに、ランダム変数のセットの各々について、少なくとも1つのスパイク信号を生成することであって、その変数の可能な値の確率がスパイク信号におけるスパイクの発生を介してエンコードされる、生成することと、ランダム変数のセットについてのスパイク信号をニューラルネットワークへのそれぞれの変数ノードにおける入力として供給することとをさらに含む。確率分布は、ニューラルネットワークを通じて伝搬される信号におけるスパイクの発生を介して伝搬される。
スパイキングニューラルネットワークを用いてこのように確率伝搬を実施すると、従来のフォンノイマンコンピューティングアーキテクチャよりもエネルギー効率が著しく高く、実装の複雑さが低くなり、多数のランダム変数へのスケーラビリティが可能になる。
確率は、スパイク信号におけるスパイクの発生レート及びスパイクの発生時間の少なくとも1つを介してスパイク信号においてエンコードすることができる。ネットワークノードによってニューラルネットワークを介して伝搬される結果として得られる信号において、確率分布は、同様にスパイクレートもしくはタイミング又はその両方によって表現することもでき、伝搬の異なる段階において異なる表現を使用することができる。特に、単純で効率的な実施形態において、各スパイク信号は、確率がスパイク信号におけるスパイクの発生レートを介してエンコードされるように生成され、ノードのニューロンは、確率分布がニューラルネットワークを通じて伝搬される信号におけるスパイクの発生レートを介して伝搬されるように構成される。
バイナリランダム変数(2つの可能な値のみを有する)については、前述のセットの各変数について単一のスパイク信号を生成することができる。この信号は、その変数のバイナリ値のうちの所定の1つの値の確率をエンコードする。しかしながら、多値ランダム変数(3つ又はそれより多い可能な値を有する)は、スパイキングニューラルネットワークアーキテクチャにおいて容易に適合することができる。この場合、前述のセットの各ランダム変数の各々の可能な値について、変数のその値の確率をエンコードするスパイク信号を生成することができる。
本発明の少なくとも1つのさらなる実施形態において、チャネル出力でサンプリングされた信号において、因子グラフ上でそれぞれの信号サンプルに対応するコードワードシンボルの確率分布を伝搬させることによって、誤り訂正コードワードを検出する方法が提供される。この方法は、誤り訂正コードのデコードアルゴリズムによって定義された2部(bipartite)因子グラフに対応する、因子ノードと相互接続された変数ノードを有するスパイキングニューラルネットワークを提供することを含む。ノードの各々は、そのノードの計算機能を実装するように構成されたニューロンのセットを含む。方法はさらに、コードワードのシンボルに対応する信号サンプルについて、少なくとも1つのスパイク信号を生成することであって、そのサンプルについての可能なシンボル値の確率がスパイク信号におけるスパイクの発生を介してエンコードされる、生成することと、コードワードのシンボルに対応するスパイク信号をそれぞれの変数ノードにおけるニューラルネットワークへの入力として供給することとを含む。確率分布は、ニューラルネットワークを通じて伝搬された信号におけるスパイクの発生を介して伝搬され、変数ノードは、伝搬後のコードワードについての推定シンボル値を出力する。
本発明のさらなる実施形態は、上述の方法を実施するための装置、及び処理装置に上述の方法による確率分布の伝搬を実行させるためのコンピュータプログラム製品を提供する。
一般に、本発明を具体化する方法を参照して本明細書において特徴が説明される場合、対応する特徴は、本発明を具体化する装置/コンピュータプログラム製品において提供することができ、その逆も同様である。
本発明の実施形態が、添付図面を参照して、例示及び非限定的な例として以下にさらに詳細に説明される。
因子グラフの一例を示す。 因子グラフのセクションにおけるメッセージパッシングを示す。 因子グラフ上で確率分布の伝搬を実施する本発明を具体化する方法のステップを示す。 誤り訂正コードデコードアプリケーションのための因子グラフを示す。 デコードアプリケーションにおける確率伝搬を実施するための装置の概略的表現である。 図5の装置におけるスパイキングニューラルネットワークの構造を示す。 図6のネットワークの1つの実施形態における因子ノードにおけるニューロンの構成を示す。 図7のニューロン構成の動作を示す。 図6のネットワークの変数ノードにおけるニューロン構成を示す。 図9のニューロン構成の動作を示す。 図5の装置の第2の実施形態における入力スパイク信号における確率エンコードを示す。 第2の実施形態における因子ノードに入力されるスパイク信号における確率エンコードを示す。 第2の実施形態における確率伝搬の第1のパス後の変数ノードにおけるスパイク信号の確率エンコードを示す。 第2の実施形態におけるSNN構造を示す。 第2の実施形態における因子ノードのニューロンの動作を示す。
本発明は、システム、方法もしくはコンピュータプログラム製品又はその組み合わせとすることができる。コンピュータプログラム製品は、プロセッサに本発明の態様を実行させるためのコンピュータ可読プログラム命令を有するコンピュータ可読ストレージ媒体(単数又は複数)を含むことができる。
コンピュータ可読ストレージ媒体は、命令実行デバイスにより使用される命令を保持及び格納できる有形デバイスとすることができる。コンピュータ可読ストレージ媒体は、例えば、これらに限定されるものではないが、電子ストレージデバイス、磁気ストレージデバイス、光学ストレージデバイス、電磁気ストレージデバイス、半導体ストレージデバイス、又は上記のいずれかの適切な組み合わせとすることができる。コンピュータ可読ストレージ媒体のより具体的な例の非網羅的なリストとして、以下のもの、すなわち、ポータブルコンピュータディスケット、ハードディスク、ランダムアクセスメモリ(RAM)、読み出し専用メモリ(ROM)、消去可能プログラム可能読み出し専用メモリ(EPROM又はフラッシュメモリ)、スタティックランダムアクセスメモリ(SRAM)、ポータブルコンパクトディスク読み出し専用メモリ(CD−ROM)、デジタル多用途ディスク(DVD)、メモリスティック、フロッピーディスク、パンチカードもしくは命令がそこに記録された溝内の隆起構造のような機械的にエンコードされたデバイス、及び上記のいずれかの適切な組み合わせが挙げられる。本明細書で使用される場合、コンピュータ可読ストレージ媒体は、電波、又は他の自由に伝搬する電磁波、導波管もしくは他の伝送媒体を通じて伝搬する電磁波(例えば、光ファイバケーブルを通る光パルス)、又はワイヤを通って送られる電気信号などの、一時的信号自体として解釈されない。
本明細書で説明されるコンピュータ可読プログラム命令は、コンピュータ可読ストレージ媒体からそれぞれのコンピューティング/処理デバイスに、又は、例えばインターネット、ローカルエリアネットワーク、広域ネットワークもしくは無線ネットワーク又はその組み合わせのネットワークを介して外部コンピュータ又は外部ストレージデバイスにダウンロードすることができる。ネットワークは、銅伝送ケーブル、光伝送ファイバ、無線伝送、ルータ、ファイアウォール、スイッチ、ゲートウェイコンピュータもしくはエッジサーバ又はその組み合わせを含むことができる。各コンピューティング/処理デバイスにおけるネットワークアダプタカード又はネットワークインターフェースは、ネットワークからコンピュータ可読プログラム命令を受け取り、コンピュータ可読プログラム命令を転送して、それぞれのコンピューティング/処理デバイス内のコンピュータ可読ストレージ媒体に格納する。
本発明の動作を実行するためのコンピュータ可読プログラム命令は、アセンブラ命令、命令セットアーキテクチャ(ISA)命令、機械命令、機械依存命令、マイクロコード、ファームウェア命令、状態設定データ、又は、Smalltalk、C++などのオブジェクト指向プログラミング言語、及び、「C」プログラミング言語もしくは類似のプログラミング言語などの従来の手続き型プログラミング言語を含む1つ又は複数のプログラミング言語の任意の組み合わせで記述されるソース・コードもしくはオブジェクト・コードとすることができる。コンピュータ可読プログラム命令は、完全にユーザのコンピュータ上で実行される場合もあり、一部がユーザのコンピュータ上で、独立型ソフトウェア・パッケージとして実行される場合もあり、一部がユーザのコンピュータ上で実行され、一部が遠隔コンピュータ上で実行される場合もあり、又は完全に遠隔コンピュータもしくはサーバ上で実行される場合もある。最後のシナリオにおいて、遠隔コンピュータは、ローカルエリアネットワーク(LAN)もしくは広域ネットワーク(WAN)を含むいずれかのタイプのネットワークを通じてユーザのコンピュータに接続される場合もあり、又は外部コンピュータへの接続がなされる場合もある(例えば、インターネットサービスプロバイダを用いたインターネットを通じて)。幾つかの実施形態において、例えば、プログラマブル論理回路、フィールドプログラマブルゲートアレイ(FPGA)、又はプログラマブル論理アレイ(PLA)を含む電子回路は、本発明の態様を実施するために、コンピュータ可読プログラム命令の状態情報を利用することによって、コンピュータ可読プログラム命令を実行して、電子回路を個別化することができる。
本発明の態様は、本発明の実施形態による方法、装置(システム)及びコンピュータプログラム製品のフローチャート図もしくはブロック図又はその両方を参照して説明される。フローチャート図もしくはブロック図又はその両方の各ブロック、並びにフローチャート図もしくはブロック図又はその両方におけるブロックの組み合わせは、コンピュータ可読プログラム命令によって実装できることが理解されるであろう。
これらのコンピュータ可読プログラム命令を、汎用コンピュータ、専用コンピュータ、又は他のプログラム可能データ処理装置のプロセッサに与えて機械を製造し、それにより、コンピュータ又は他のプログラム可能データ処理装置のプロセッサによって実行される命令が、フローチャートもしくはブロック図又はその両方の1つ又は複数のブロック内で指定された機能/動作を実施するための手段を作り出すようにすることができる。これらのコンピュータプログラム命令を、コンピュータ、他のプログラマブルデータ処理装置もしくは他のデバイス又はその組み合わせを特定の方式で機能させるように指示することができるコンピュータ可読媒体内に格納し、それにより、そのコンピュータ可読媒体内に格納された命令が、フローチャートもしくはブロック図又はその両方の1つ又は複数のブロックにおいて指定された機能/動作の態様を実施する命令を含む製品を含むようにすることもできる。
コンピュータプログラム命令を、コンピュータ、他のプログラマブルデータ処理装置、又は他のデバイス上にロードして、一連の動作ステップをコンピュータ、他のプログラマブルデータ処理装置、又は他のデバイス上で行わせてコンピュータ実施のプロセスを生成し、それにより、コンピュータ又は他のプログラマブル装置上で実行される命令が、フローチャートもしくはブロック図又はその両方の1つ又は複数のブロックにおいて指定された機能/動作を実施するようにすることもできる。
図面内のフローチャート及びブロック図は、本発明の種々の実施形態による、システム、方法及びコンピュータプログラム製品の可能な実装のアーキテクチャ、機能及び動作を示す。この点に関して、フローチャート又はブロック図内の各ブロックは、指定された論理機能を実装するための1つ又は複数の実行可能命令を含むモジュール、セグメント、又は命令の一部を表すことができる。幾つかの代替的な実装において、ブロック内に示される機能は、図に示される順序とは異なる順序で行われることがある。例えば、連続して示される2つのブロックは、関与する機能に応じて、実際には実質的に同時に実行されることもあり、又はこれらのブロックはときとして逆順で実行されることもある。ブロック図もしくはフローチャート図又はその両方の各ブロック、並びにブロック図もしくはフローチャート図又はその両方におけるブロックの組み合わせは、指定された機能又は動作を実行する、又は専用のハードウェアとコンピュータ命令との組み合わせを実行する、専用ハードウェアベースのシステムによって実装できることにも留意されたい。
本発明の実施形態は、スパイキングニューラルネットワーク(SNN)を用いて確率計算(probabilistic computing)を実施する。SNNは、情報がシナプスを介して相互接続されたニューロンの複雑なネットワークによって処理される神経系の生体アーキテクチャから発想を得た神経形態学処理アーキテクチャである。生体ニューロンは、受け取った入力信号を積分することができる。格納されるニューロンの状態を表すニューロンの「膜電位」は、ニューロンの入力信号の到着によって徐々に修正される。膜電位が特定の電圧閾値を超えると、ニューロンは「発火(fire)」し、「活動電位」又は「スパイク」として知られる出力信号を生成し、次に初期状態に戻る。これらのスパイクは、シナプスを介して他のニューロンに伝達され、ニューロンの活動の結果として接続の強さ(「可塑性」又は「シナプス重み」)を変化させる。
SNNにおける計算は、スパイキングニューロンのネットワーク間の全か無かの(all-or-none)スパイクベースの通信に依存する。SNNの基本コンポーネントは、ニューロンとシナプスをエミュレートする機能を含み、ニューロンは、シナプスを介して相互接続され、格納されるシナプス重みに依存してニューロン間のスパイクを中継する。ニューロン/シナプスの機能は、ハードウェアもしくはソフトウェア又はその両方で実装することができ、ニューロンは、生体ニューロンの「積分及び発火(integrate-and-fire)」機能をエミュレートし、シナプスは、生体シナプスの可塑性をエミュレートする。ニューロン膜電位又はシナプス重みを格納するために、例えば位相変化メモリ(PCM)セルのような抵抗性メモリセルなどのナノデバイスのメムリスティブ(memristive)特性を利用する回路を含む、ニューロン及びシナプスのための種々の回路実装が、当技術分野において周知である。そうしたメムリスティブデバイスの密なクロスバーアレイは、超並列で非常に面積及びエネルギー効率の良いSNN実装を提供する。
単純なニューロンモデルは一次微分方程式:
Figure 2022502727
によって定められ、ここで、vは膜電位を示し、vは静止電位を、τは時定数を示す。ニューロンは、膜電位が閾値vthに達した場合にスパイクを発火し、膜電位をvresetにリセットする。スパイクを発火した後、ニューロンはTrefractに等しい不応期の間、入力に反応しない。上述のように、ニューロンは、シナプスを介して接続される。2つのニューロン間のシナプス接続は、シナプス前(pre-synaptic)ニューロンによってスパイクが発火された後、シナプス後(post-synaptic)ニューロンの膜電位においてwに等しい瞬間的な変化を生じさせる。このように、変化の大きさwは、シナプス重みを反映する。
本発明を具体化する方法は、SNNアーキテクチャを用いて、因子グラフ上でランダム変数の確率分布の伝搬を実施する。こうした方法の基本的ステップは、図3のフロー図に示される。ステップ1に示されるように、SNNは、問題になっているアプリケーションによって定められる因子グラフに対応する因子ノード(関数ノードとも呼ばれる)と相互接続された変数ノードを備える。SNNは、計算が実行されるべき複数の変数のそれぞれのランダム変数に対応する複数の変数ノードを含む。これらの変数の可能な値は、物理的プロセスの可能な結果、例えば、エンコードされたデータ伝送のサンプルに対応する可能なシンボル値、又は遺伝病の治療処置の結果として得られる可能な遺伝子発現データを表すことができる。別の例として、変数の値は、大規模データストレージシステムにおけるデータセットの関連性を表し得る。(ここで多数の他のアプリケーションを想定することができ、ランダム変数の特定の性質は、本明細書に記載される動作原理に直交する)。変数ノードは、因子グラフのエッジに従って因子ノードと相互接続される。SNN内の変数ノード及び因子ノードの各々は、確率伝搬動作においてそのノードの計算機能を実装するように構成された(1又は複数の)ニューロンのセットを含む。変数ノードを実装するニューロンの構成は、例えば、そのノードをグラフ内の隣接する因子ノードに接続するエッジの数に依存する。因子ノードを実装するニューロンの構成は、例えば、隣接する変数ノードへのエッジの数、及び基礎となるアプリケーションによって決定されるような因子ノードと関連付けられた計算機能に依存する。
伝搬動作を開始するために、グラフの変数ノードに対応するランダム変数の(1つ又は複数の)セットの各ランダム変数について、少なくとも1つのスパイク信号が生成される。スパイク信号が生成される変数のこのセットは、例えば、観測される変数(すなわち、値が観測される変数)もしくは「先験的」確率分布が利用可能な観測されていない変数又はその両方を含むことができる。図3のステップ2において、ランダム変数のためのスパイク信号の生成が示される。各スパイク信号において、対応する変数の可能な値の確率は、スパイク信号におけるスパイクの発生を介してエンコードされる。従って、ある変数について生成されるスパイク信号の数は、その変数の可能な値の数によって決まる。(一般に、ここでの各々の可能な値は、有限のアルファベットから取られた離散ランダム変数の値(離散ランダム変数の場合)、又は値の範囲、すなわち定義された範囲内の任意の値(連続ランダム変数の場合)を表すことができる)。ステップ3において、ランダム変数についてのスパイク信号は、それらのランダム変数に対応するそれぞれの変数ノードにおいて、SNNへの入力として供給される。ステップ4において、次に、ランダム変数の確率分布が、SNNを通じて伝搬される信号におけるスパイクの発生を介して伝搬される。伝搬プロセスは、1つより多い伝搬ステップを含むことができ、かつ、反復することができ、各々が複数の伝搬ステップ、例えば前述のようなフォワード(葉から根への)伝搬ステップ及びバックワード(根から葉への)伝搬ステップを含むことができる複数の伝搬動作を含む。伝搬動作の際、変数ノードは、メッセージパッシング演算の変数・関数(variable-to-function)メッセージ(積項)を計算し、因子ノードは、関数・変数(function-to-variable)メッセージ(積和)を計算し、それぞれの場合における計算結果は、各ノードを実装するニューロンによって出力される信号におけるスパイクの発生においてエンコードされる。伝搬の結果は、SNNノードにおいて実行される計算によって提供され、ステップ5において示されるように、伝搬後、1つ又は複数のノードにおける所望の計算結果を得ることができる。特に、伝搬演算の所望の結果は、演算から推論されるべき特定の計算結果に従って、例えばノード出力を介して、1つ又は複数のノードにおいて信号から得ることができる。例えば、1つ又は複数の変数ノードは、それらのノードにおける伝搬結果をエンコードするスパイク信号を出力するように適合することができる。結果は、計算結果が伝搬演算の連続パスによって徐々に改良される反復プロセスの1つ又は複数の段階において得ることができる。
このように、ランダム変数の確率分布は、SNNを通じて伝搬された信号におけるスパイクの発生を介して伝搬され、伝搬後、1つ又は複数のノードにおいて計算結果を取得する。因子グラフ上での確率伝搬の評価にSNNを使用することによって、本来複雑な演算を高効率に実行することが可能になり、フォンノイマン型コンピューティングアーキテクチャに基づいた従来の実装と比較して、エネルギー効率が著しく高く、実装の複雑さが低下する。このように、確率伝搬のためのSNNアーキテクチャは、多数のランダム変数に対するスケーラビリティを提供する。
ここで、誤り訂正符号のデコードにおいて確率伝搬のためにSNNアーキテクチャが用いられる例示的な実施形態をより詳細に説明する。このアプリケーションにおいて、上記の方法は、チャネル出力においてサンプリングされた信号における誤り訂正コードワード(codeword)を検出するために使用される。チャネル上で伝送される信号は、誤り訂正コード(ECC)を用いてデータをエンコードすることによって生成されるコードワードのシンボルで変調される。信号は、チャネル出力においてサンプリングされ、各ECCコードワードのそれぞれのシンボルに対応する信号サンプルを取得する。SNNアーキテクチャを用いて、誤り訂正符号のデコードアルゴリズムによって定められる2部因子グラフ上で、それぞれの信号サンプルに対応するコードワードシンボルの確率分布を伝搬させる。この例では、ECCコードは(7,4)ハミングコード(Hamming code)であり、デコードアルゴリズムは、以下のパリティ検査行列Hにより定められる。:
Figure 2022502727
シンボルb、b,...,bを有するコードワードbのパリティ検査(parity check)方程式は、Hb=0である。AWGN(Additive white Gaussian noise、加法性白色ガウス雑音)チャネル上でのバイナリアンチポーダルシグナリング(binary antipodal signaling)の場合、チャネル出力におけるシンボル確率は:
Figure 2022502727
となり、
ここで、xは、コードワードシンボルb(n=1〜7)に対応する信号サンプルであり、
Figure 2022502727
は、サンプルxがb=0に対応する確率であり、
Figure 2022502727
は、サンプルxがb=1に対応する確率であり、σは、加法性雑音の標準偏差である。
パリティ検査行列Hに対応する2部因子グラフが、図4に示される。このアプリケーションにおいて、ランダム変数は、コードワードシンボルに対応する。従って、グラフは、シンボルb〜bに対応する7つの変数ノードV1〜V7を有する。これらの変数はバイナリであるので、各変数の確率分布は、確率
Figure 2022502727
のいずれかによって完全に定義される。この例において、
Figure 2022502727
が使用され、それによって、変数ノードV1〜V7における初期シンボル確率が、それぞれサンプルx〜xに対応するシンボルb〜bが値1のビットである確率
Figure 2022502727
を表す。因子グラフは、デコードアルゴリズムのパリティ検査演算を実施する3つの因子ノード、ここでは検査ノードC1、C2及びC3を有する。パリティ検査行列Hによって定義されるように、グラフ内のエッジは、変数ノードと検査ノードとを相互接続する。
確率分布の伝搬、ここでは
Figure 2022502727
を実施するための装置の高レベル構造が、図5に示される。この装置は、SNN10と、スパイク信号生成器11とを含む。このアプリケーションにおいて、SNN10は、図4の因子グラフに従って検査ノードC1〜C3と相互接続された変数ノードV1〜V7を有する。各ノードは、ノードの計算機能を実装するように構成された、以下にさらに説明されるニューロンのセットを含む。スパイク信号生成器11は、伝送されたコードワードに対応する信号サンプルx〜xを受信し、上で与えられる式を介して、これらのサンプルについての確率
Figure 2022502727
を計算する。次に、スパイク信号生成器は、この場合は各シンボルb〜bについて1つのスパイク信号を生成し、それぞれ確率
Figure 2022502727
をエンコードする。以下にさらに説明されるように、これらの確率は、スパイク信号におけるスパイクの率もしくはタイミング又はその両方でエンコードされる。
Figure 2022502727
をエンコードするスパイク信号はそれぞれ、信号生成器11により、変数ノードV1〜V7においてSNN10への入力として供給される。次いで、確率分布は、SNNを通じて伝搬される信号におけるスパイクのレートもしくはタイミング又はその両方を介して伝搬される。伝搬動作は、ここで反復実行され、変数ノードは、反復動作の各パス上での伝搬後、コードワードについての、
Figure 2022502727
で示される推定シンボル値を出力するように適合される。
一般に、伝搬装置の種々のコンポーネントの機能は、ハードウェア又はソフトウェア、又はその組み合わせで実装される論理によって提供され得る。そうした論理は、(汎用又は専用)プログラミング装置によって実行される、プログラムモジュールなどのコンピュータシステム実行可能命令の一般的な文脈で記述することができる。一般に、プログラムモジュールは、特定のタスクを実行する又は特定の抽象的なデータ型を実装するルーチン、プログラム、オブジェクト、コンポーネント、論理、データ構造などを含むことができる。例えば、幾つかの実施形態において、SNN10におけるニューロン機能は、ソフトウェアで実装することができる。しかしながら、ハードウェア実装が好ましく、SNN10は、説明される機能を実装するために、一般的に知られている回路技術を用いて構築することができる。
図6は、SNN10のより詳細な構造を示す。示されるように、各変数ノードV1〜V7は、Πで示される1つ又は複数のニューロンを含む。各変数ノードを実装するΠニューロンの数は、そのノードと検査ノードとの間のエッジの数によって決まる。以下に説明されるように、各Πニューロンは、多数決関数を実装するように適合される。各検査ノードC1〜C3は、図中に
Figure 2022502727
で示されるXOR関数を実装するように構成されたニューロンを含む。具体的には、各検査ノードは、その検査ノードと変数ノードとの間の4つのエッジの各々について1つ、各々がXOR演算を実施する4つのニューラルネットワークを含む。検査ノードC1とその隣接する変数ノードV1、V2、V3及びV5の間の接続は、図中に実線で示される。検査ノードC2とその隣接する変数ノードV1、V2、V4及びV6との間の接続は、図中に点線で示される。検査ノードC3とその隣接する変数ノードV1、V3、V4及びV7との間の接続は、破線で示される。
動作において、確率
Figure 2022502727
をエンコードするスパイク信号は、それぞれ、図中に太線で示される入力を介して、Πニューロンに与えられる。この最初のパスにおいて、検査ノードから変数ノードへの出力はまだ存在しない。従って、
Figure 2022502727
をエンコードするスパイク信号は、Πニューロンによって伝送され、変数ノードにおいて入力をSNNに提供し、入力は、検査ノードに送信される。スパイク信号は、図に示される接続を介して、検査ノードのXORネットワークに与えられる。各XORネットワークは、XOR関数をその入力スパイク信号に適用し、結果として得られたスパイク信号を変数ノードに出力する。このようにして、検査ノードの各XORネットワークは、検査ノードによってその隣接する変数ノードの1つに伝送されるべき、前述の関数から変数メッセージμC→V(V)の1つを計算する。図中の接続により示されるように、XOR出力信号は、変数ノードにおいてΠニューロンにより受信される。各Πニューロンはまた、確率
Figure 2022502727
をエンコードする入力スパイク信号も受信する。(これらのスパイク信号は、ネットワークを通じた初期信号のΠニューロンへの伝搬時間に対応する遅延δtの後、スパイク生成器11によって発火される)。各変数ノードにおいて、1つのΠニューロンは、その変数ノードによってその接続された検査ノードの1つに伝送されるべき変数・関数メッセージμV→C(V)の1つを計算する。これらのΠニューロン出力信号は、伝搬演算の第2のパスを開始する。各変数ノードにおける1つのΠニューロンも、初期入力スパイク信号と共に接続された検査ノードから全ての信号を受信する。(1つの検査ノードにだけ接続される変数ノードV5〜V7については、単一のΠニューロンで十分である。他の変数ノードについては、付加的なΠニューロンが、初期入力信号と共に全ての検査ノード出力信号を受信する)。各変数ノードにおけるこのΠニューロンの出力信号は、その変数ノードに対応するコードワードシンボルに対するシンボル推定値、すなわち
Figure 2022502727
を提供する。
伝搬演算の第2のパスは、第1のパスの後のΠニューロン出力信号に基づいて上記のように進行する。このようにして、演算は反復的に進み、出力シンボル推定値
Figure 2022502727
は、連続的に反復して徐々に改良される。伝搬演算は、所定の反復回数実行することができ、又はシンボル推定値が所望の確度に達するまで、例えば推定値がパリティ検査式を満たすか、又は定められた反復回数にわたり変更されなくなるまで、続行することができる。
図6のSNNの第1の実施形態において、スパイク信号生成器11は、スパイク信号におけるスパイクレート(スパイク頻度)を介して、確率
Figure 2022502727
をエンコードする。また、ノードニューロンは、確率が、伝搬信号におけるスパイクレートを介してSNN全体にわたって伝搬されるように構成される。図7は、本実施形態における因子ノードC1〜C3のニューロンの構成を示す。左の図は、因子ノードの各XORブロックについてのニューラルネットワーク構造を示し、右の表は、前述のニューロンモデルに基づいた個々のニューロンについてのパラメータを示す。(以下のこれらの及び類似のパラメータは、ニューラルネットワークの訓練動作を介して一般的に知られる方法で決定される)。検査ノードの各々の3入力XORブロックは、示されるように接続された2つの同一の2入力XORネットワーク(その一方が図中に全体的に示される)から構成される。第1の2入力XORネットワークは、出力ニューロンNに接続された、XOR入力の2つ(ここではy及びyで示される)を受信する2つの入力ニューロンN及びNを含む。ニューロンNの出力zは、1つの入力を第2のXORネットワークに提供し、第2のXORネットワークの第2の入力は、ここではyで示される3入力XOR入力信号のうちの第3のものである。出力zは、3入力XORネットワークの出力信号である。
図8から、図7のネットワークの動作を理解することができる。これは、図7に示される2入力XORネットワークの2つの入力信号yi=1,2及び出力信号zにおけるスパイクレートのエンコードを示す。いずれの場合も、スパイクは縦線で示され、2つの入力yは、それぞれ実線及び点線で示される。左上の図では、両方の入力は、低い確率
Figure 2022502727
に対応する低いスパイクレートを有し、y=0及びy=0を示す。従って、下の図に示されるように、出力信号zは、低いスパイクレート、すなわちz=0を有する。右上の図において、一方の入力は低いスパイクレート、他方は高いスパイクレートを有し、例えばy=0及びy=1である。従って、下の図に示されるように、出力信号zは、高いスパイクレート、すなわちz=1を有する。残りの入力の組み合わせは、左のy=1、y=0、z=1及び右のy=1、y=1、z=0に対応する左下の図及び右下の図に示される。このようにして、2入力XOR演算が必要に応じて実装される。それに応じて、3入力XOR演算が続いて行われる。
図9は、本実施形態における、変動ノードV1〜V7における各Πニューロンの構成を示す。図6の各Πニューロンは、2〜4の入力を有する。図9には、3つの入力y〜yが示されるが、説明する動作は、任意の数の入力に対して適用される。ΠニューロンNは、その閾値電位vthを超えた場合にスパイクを発火する。これが、多数決関数を実装し、それにより、入力の半分より多くが高頻度(すなわち、シンボルが1に等しい確率が高い)入力である場合、高頻度(すなわち、シンボルの高確率が1に等しい)出力が生成される。入力のちょうど半分が高頻度入力である場合、確率0.5で高頻度出力が生成される。図10は、前述のように入力信号及び出力信号におけるレートエンコードを示し、ここでは3つの入力におけるスパイクが、それぞれ実線、点線及び破線で示される。入力の2つ以上が高いスパイクレートを有する場合、出力zは、高い確率に対応して高いスパイクレートを有することが分かる。
上記により、単純であるが高効率の実装が提供され、そこで、伝搬演算全体を通して、確率はスパイクレートでエンコードされる。検査ノードからの全ての入力を受信するΠニューロンは、出力zが高スパイクレートを有する場合、
Figure 2022502727
として、かつ、zが低スパイクレートを有する場合、
Figure 2022502727
として、出力シンボル推定値を示す。
図5の装置の第2の実施形態において、スパイク信号生成器11は、スパイク信号におけるスパイクのレート及びタイミングを介して、確率
Figure 2022502727
をエンコードする。特に、チャネル出力シンボルが1に等しい確率
Figure 2022502727
は、期間TのN間隔のシーケンス内のスパイクのランダムシーケンスとして、ベルヌーイシーケンスによってエンコードされ、そこで、スパイクは、確率
Figure 2022502727
で、時間t=iTにおいて、i番目の間隔τ,i∈{0,1,...,N−1}で発火する。このことは、N=8の例における
Figure 2022502727
について、図11に示される。
上の実施形態におけるように、変数ノードニューロンは、Πニューロンによって実装され、各Πニューロンは、その閾値電位を超えた場合にスパイクを発火する。検査ノードニューロンは3入力XORネットワークによって実装されるが、これらのノードは、スパイクタイミングを介するエンコードで動作する。特に、XORネットワークへの入力信号において、バイナリ情報は、スパイクが発火するタイミングを介して、i番目の間隔でエンコードされる。ビット1は、時間t=(i+1)T−Δにスパイクを発火することによってエンコードされ、ビット0は、時間t=iT+Δにスパイクを発火することによってエンコードされる。これは、入力確率
Figure 2022502727
について、図12に示される。3入力XORネットワークの出力ニューロンは、各間隔τで時間間隔t(Δ<t<(T−Δ))の間抑制され、XOR出力信号における0に対応するスパイクを抑止する。この「0スパイク」の抑止は、スパイクが発火される(1をエンコードする)又は発火されない(0をエンコードする)場合、スパイクエンコードを変換して、変数ノードのΠニューロンにおいて使用されるものに戻す。これらの変換された信号は、前述のように変数ノードにおける入力スパイク信号と組み合わされる。図13は、第1の反復後の、確率
Figure 2022502727
をエンコードする変数ノードの出力信号についての結果として得られるスパイク表現を示す。
本実施形態における変数ノード及び検査ノードで使用される異なるスパイクエンコード機構は、図14に示されるように、SNNにおける付加的な論理によって適合され得る。SNN20は、全体的に図6のものに対応する。しかしながら、上で詳述されるように、スパイク変換論理21は、変数・検査ノード信号におけるスパイク表現を、検査ノードによって使用されるものに変換する。論理21は、ここでは任意の便利な方法で実装することができ、当業者には適切な実装が容易に明らかになるであろう。22で示されるように、検査ノード出力を変数ノードスパイク表現に戻す変換は、ここではスパイク抑止によって実行することができる。上述のように、この機能は、単に、時間間隔tの間、各XORネットワークの出力ニューロンを抑制し、検査ノード出力信号における0スパイクを抑止することによって、実装することができる。
本実施形態の検査ノードのための3入力XORネットワークは、「Spiking Neural Networks」、S.M.Bohte,Ph.D.の論文、University Leiden(2003年)、ISBN90−6734−167−3のセクション3.3に詳述されるタイプの2つの2入力XORネットワークをカスケードすることによって実装することができ、以下に説明される。2入力XORネットワークは、2つのニューロンを接続する16個の利用可能なシナプス遅延を有する遅延スパイキングニューロンのネットワークで構成される。このネットワークは、3つの入力ニューロン(2つのコード化ニューロン及び1つのタイミング参照ニューロン)、1つの抑制性ニューロンが負符号のシナプス後電位のみを生成する5つの隠れ(すなわち中間層)ニューロンと、1つの出力ニューロンとを含む。シナプス前ニューロンからのスパイクは、16個の遅延スパイク応答関数を生成する。シナプス前ニューロンからの全てのスパイク応答関数の和が、シナプス後ニューロンにおける膜電位を生成する。これは、上の参考文献の図2.1に示される。正の重みのみが許容されている状態で、16×3×5+16×5×1=320の個々の重みが、誤差逆伝搬(error-backpropagation)アルゴリズムを用いてXOR関数を学習するために、訓練動作において調整される。このアルゴリズムは、参考文献のセクション3.2に詳述される。結果として得られるネットワークにおいて、入力情報及びXOR演算の結果は、入力ニューロンパルス及び出力ニューロンパルスのタイミングでエンコードされる。上の実施形態において、「0」は早期発火時間と関連付けられ、「1」は後期発火時間と関連付けられる。図15の表は、ミリ秒単位での入力/出力スパイク時間に関して、XORネットワークによって達成された入出力関係を示す。入力スパイクパターンにおいては、「0」は0msのスパイク時間、「1」は6msの時間と関連付けられる。出力スパイクパターンにおいては、「0」は10msのスパイク時間、「1」は16msの時間と関連付けられる。
上の実施形態において例示されるようなスパイク時間エンコードの使用は、幾つかの付加的な実装の複雑さを犠牲にして、確率伝搬のための強力なエンコード技術を提供する。全体を通して、スパイク発生時間の正確な特徴付けが要求される。例えば、変数ノード及び検査ノードを通る遅延δtは正確に特徴付けられるので、各々の反復において、シンボル確率
Figure 2022502727
を表すスパイクシーケンスの発火は、XOR出力ニューロンの発火と同時に行われる。変数ノード及び検査ノードにおけるタイミング参照ニューロンを含ませることによって適切な同期を達成することができ、それにより、ネットワーク動作は、タイミング参照ニューロンによって発火されたスパイクトレインと同期される。
上のバイナリランダム変数に関する動作が説明されるが、SNNアーキテクチャは、多値のランダム変数に適合するように容易に拡張することができる。次に、各変数の確率分布をエンコードするために、複数のスパイク信号が必要とされる。特に、各ランダム変数の各々の可能な値について、スパイク信号生成器11によって、変数のその値の確率をエンコードするスパイク信号が生成される。次に、SNNにおいてこれらの信号を伝搬するために、変数ノードと検査ノードとの間に複数の接続が提供され、複数の確率のための計算を適合するために、ノードにおいて複数のニューラルネットワークが提供される。しかしながら、基本的動作原理は同じであり、上述した機能は、SNNアーキテクチャにおいて多値変数を適合するために簡単な方法で拡張することができる。
多値ランダム変数についての例示的な実装において、確率的手法を確率エンコードのために適用することができる。2個の可能な値を有する変数は、n個の要素を有するバイナリベクトルで表すことができる。各ランダム変数は、信号生成器11をSNN10に接続する2本の平行信号線にマッピングすることができる。これらの2本の線の各々は、対応する値を仮定するランダム変数の確率をパスし、確率Pは、期間L*Tの間隔にわたって伝送される1の数(すなわち、スパイク)でエンコードされる。1は、次のように間隔にわたって分布される。確率は、2のバイナリランダムシーケンスによってLタイムスロットでエンコードされ、Lビットの合計は1に等しい。各タイムスロットにおいて、1ビットのみが1に等しく、1/Lの確率を有する。(代案として、確率Pに比例する平均レートRでポアソンプロセスから生成されるイベントとして、1を伝送することもできる)。検査ノード機能は、j個(j≧2)の2値の入力ランダム変数及び1つの2値の出力ランダム変数を有する論理によって実装することができる。変数ノード機能は、均衡を破るためにランダム選択で、k個(k≧2)の2値の入力変数の各値について受け取った1の数で多数決により実装することができる。こうした実装は、例えば、q=2=2の場合のガロア体GF(q)から、シンボルを用いる多値のLDPC(低密度パリティ検査)コードの確率的デコーディングにおいて用いることができる。
説明される例示的な実施形態に対して他の多くの変更及び修正をなすことができる。例えば、スパイクシーケンスにおける確率をエンコードするための他の技術を考えることができ、他の実施形態において、変数ノード及び検査ノードにおいてスパイクレートもしくは時間ベース又はその両方のエンコードの他の組み合わせを用いることができる。また、デコードアプリケーションが上記に詳述されるが、本発明の実施形態は、統計推論のためにランダム変数の確率伝搬が行われる任意のアプリケーションにおいて用いることができる。例として、一般的に、画像認識、機械学習、データセット分析、遺伝病のための治療分析、音声認識、及び確率伝搬(belief propagation)が挙げられる。
本発明の種々の実施形態の説明は説明を目的として提示されてが、網羅的であること、又は開示された実施形態に限定することを意図したものではない。当業者には、説明される実施形態の範囲及び趣旨から逸脱することなく、多くの修正及び変形が明らかであろう。本明細書で使用される用語は、実施形態の原理、実際の用途、もしくは市場で見出される技術に優る技術的改善を最も良く説明するために、又は当業者が本明細書に開示される実施形態を理解するのを可能にするために、選択された。

Claims (25)

  1. 因子グラフ上でランダム変数の確率分布の伝搬を実施するための方法であって、
    前記因子グラフに対応する、変数ノードが因子ノードと相互接続されたスパイキングニューラルネットワークを提供することであって、前記ノードの各々は、そのノードの計算機能を実装するように構成されたニューロンのセットを含む、提供することと、
    前記ランダム変数のセットの各々について、その変数の可能な値の確率が前記スパイク信号におけるスパイクの発生を介してエンコードされる少なくとも1つのスパイク信号を生成することと、
    ランダム変数の前記セットについての前記スパイク信号をそれぞれの変数ノードにおける前記ニューラルネットワークへの入力として供給することと
    を含み、
    それにより、前記確率分布は、前記ニューラルネットワークを通じて伝搬される信号におけるスパイクの前記発生を介して伝搬される、方法。
  2. 前記確率が前記スパイク信号におけるスパイクの発生のレート及び発生の時間の少なくとも1つを介してエンコードされるように、前記スパイク信号の各々を生成することを含む、請求項1に記載の方法。
  3. 前記ノードの前記ニューロンは、前記確率分布が前記ニューラルネットワークを通じて伝搬される信号におけるスパイクの発生の前記レート及び発生の前記時間の少なくとも1つを介して伝搬されるように構成される、請求項2に記載の方法。
  4. 前記確率が前記スパイク信号におけるスパイクの発生の前記レートを介してエンコードされるように、前記スパイク信号の各々を生成することを含み、前記ノードの前記ニューロンは、前記確率分布が、前記ニューラルネットワークを通じて伝搬される信号におけるスパイクの発生の前記レートを介して伝搬されるように構成される、請求項3に記載の方法。
  5. 前記ランダム変数はバイナリ変数であり、前記方法は、前記セットのランダム変数の各々について、前記変数のバイナリ値の所定の1つの値の前記確率をエンコードする単一のスパイク信号を生成することを含む、請求項1に記載の方法。
  6. 前記ランダム変数は多値変数であり、前記方法は、前記セットのランダム変数の各々の可能な値の各々について、前記変数のその値の前記確率をエンコードするスパイク信号を生成することを含む、請求項1に記載の方法。
  7. 因子グラフ上でそれぞれの信号サンプルに対応するコードワードシンボルの確率分布を伝搬することによって、チャネル出力においてサンプリングされた信号における誤り訂正コードワードを検出するための方法であって、
    前記誤り訂正コードのデコードアルゴリズムによって定められる2部因子グラフに対応する、変数ノードが因子ノードと相互接続されたスパイキングニューラルネットワークを提供することであって、前記ノードの各々は、そのノードの計算機能を実装するように構成されたニューロンのセットを含む、提供することと、
    コードワードのシンボルに対応する信号サンプルの各々について、そのサンプルの可能な値の確率が、前記スパイク信号におけるスパイクの発生を介してエンコードされる少なくとも1つのスパイク信号を生成することと、
    コードワードの前記シンボルに対応する前記スパイク信号をそれぞれの変数ノードにおける前記ニューラルネットワークへの入力として供給することと
    を含み、
    それにより、前記確率分布は、前記ニューラルネットワークを通じて伝搬される信号におけるスパイクの前記発生を介して伝搬され、前記変数ノードは、伝搬後、前記コードワードについての推定シンボル値を出力する、方法。
  8. 前記確率が前記スパイク信号におけるスパイクの発生のレート及び発生の時間の少なくとも1つを介してエンコードされるように、前記スパイク信号の各々を生成することを含む、請求項7に記載の方法。
  9. 前記ノードの前記ニューロンは、前記確率分布が前記ニューラルネットワークを通じて伝搬される信号におけるスパイクの発生の前記レート及び発生の前記時間の少なくとも1つを介して伝搬されるように構成される、請求項8に記載の方法。
  10. 前記確率が前記スパイク信号におけるスパイクの発生の前記レートを介してエンコードされるように、前記スパイク信号の各々を生成することを含み、前記ノードの前記ニューロンは、前記確率分布が前記ニューラルネットワークを通じて伝搬される信号におけるスパイクの発生の前記レートを介して伝搬されるように構成される、請求項9に記載の方法。
  11. 前記コードワードシンボルはバイナリシンボルであり、前記方法は、信号サンプルの各々について、バイナリシンボル値の所定の1つの値の前記確率をエンコードする単一のスパイク信号を生成することを含む、請求項7に記載の方法。
  12. 前記コードワードシンボルは多値シンボルであり、前記方法は、信号サンプルの各々の可能なシンボル値について、前記サンプルについてのそのシンボル値の前記確率をエンコードするスパイク信号を生成することを含む、請求項7に記載の方法。
  13. 因子グラフ上でランダム変数の確率分布の伝搬を実施するための装置であって、
    前記因子グラフに対応する、変数ノードが因子ノードと相互接続されたスパイキングニューラルネットワークであって、前記ノードの各々は、そのノードの計算機能を実装するように構成されたニューロンのセットを含む、スパイキングニューラルネットワークと、
    前記ランダム変数のセットの各々について、少なくとも1つのスパイク信号であって、その変数の可能な値の確率は、前記スパイク信号におけるスパイクの発生を介してエンコードされる、スパイク信号を生成するように適合され、かつ、ランダム変数の前記セットについての前記スパイク信号をそれぞれの変数ノードにおける前記ニューラルネットワークへの入力として供給するように適合されたスパイク信号生成器と
    を含み、
    前記確率分布は、前記ニューラルネットワークを通じて伝搬される信号におけるスパイクの前記発生を介して伝搬される、装置。
  14. 前記スパイク信号生成器は、前記確率が前記スパイク信号におけるスパイクの発生のレート及び発生の時間の少なくとも1つを介してエンコードされるように、前記スパイク信号の各々を生成するように適合される、請求項13に記載の装置。
  15. 前記ノードの前記ニューロンは、前記確率分布が前記ニューラルネットワークを通じて伝搬される信号におけるスパイクの発生の前記レート及び発生の前記時間の少なくとも1つを介して伝搬されるように構成される、請求項14に記載の装置。
  16. 前記スパイク信号生成器は、前記確率が前記スパイク信号におけるスパイクの発生の前記レートを介してエンコードされるように、前記スパイク信号の各々を生成するように適合され、前記ノードの前記ニューロンは、前記確率分布が前記ニューラルネットワークを通じて伝搬される信号におけるスパイクの発生の前記レートを介して伝搬されるように構成される、請求項15に記載の装置。
  17. 前記ランダム変数はバイナリ変数であり、前記スパイク信号生成器は、前記セットのランダム変数の各々について、前記変数のバイナリ値の所定の1つの値の前記確率をエンコードする単一のスパイク信号を生成するように適合される、請求項13に記載の装置。
  18. 前記ランダム変数は多値変数であり、前記スパイク信号生成器は、前記セットのランダム変数の各々の可能な値の各々について、前記変数のその値の前記確率をエンコードするスパイク信号を生成するように適合される、請求項13に記載の装置。
  19. 因子グラフ上でそれぞれの信号サンプルに対応するコードワードシンボルの確率分布を伝搬することによって、チャネル出力においてサンプリングされた信号における誤り訂正コードワードを検出するための装置であって、
    前記誤り訂正コードのデコードアルゴリズムによって定められる2部因子グラフに対応する、変数ノードが因子ノードと相互接続されたスパイキングニューラルネットワークであって、前記ノードの各々は、そのノードの計算機能を実装するように構成されたニューロンのセットを含む、スパイキングニューラルネットワークと、
    コードワードのシンボルに対応する信号サンプルの各々について、そのサンプルの可能な値の確率が前記スパイク信号におけるスパイクの発生を介してエンコードされる少なくとも1つのスパイク信号を生成するように適合されたスパイク信号生成器と
    を含み、
    前記確率分布は、前記ニューラルネットワークを通じて伝搬される信号におけるスパイクの前記発生を介して伝搬され、前記変数ノードは、伝搬後、前記コードワードについての推定シンボル値を出力するように適合される、装置。
  20. 変数ノードのニューロンの各々は、多数決関数を実装するように適合される、請求項19に記載の装置。
  21. 因子ノードの各々は、XOR関数を実装するように構成されたニューロンを含む、請求項19に記載の装置。
  22. 前記スパイク信号生成器は、前記確率が前記スパイク信号におけるスパイクの発生のレート及び発生の時間の少なくとも1つを介してエンコードされるように、前記スパイク信号の各々を生成するように適合される、請求項19に記載の装置。
  23. 前記ノードの前記ニューロンは、前記確率分布が前記ニューラルネットワークを通じて伝搬される信号におけるスパイクの発生の前記レート及び発生の前記時間の少なくとも1つを介して伝搬されるように構成される、請求項22に記載の装置。
  24. 前記スパイク信号生成器は、前記確率が前記スパイク信号におけるスパイクの発生の前記レートを介してエンコードされるように、前記スパイク信号の各々を生成するように適合され、
    前記ノードの前記ニューロンは、前記確率分布が前記ニューラルネットワークを通じて伝搬される信号におけるスパイクの発生の前記レートを介して伝搬されるように構成される、請求項23に記載の装置。
  25. プログラム命令がそこに具体化されたコンピュータ可読ストレージ媒体を含むコンピュータプログラム製品であって、前記プログラム命令は、処理装置により実行可能であり、
    前記因子グラフに対応する、変数ノードが因子ノードと相互接続されたスパイキングニューラルネットワークを実装することであって、前記ノードの各々は、そのノードの計算機能を実装するように構成されたニューロンのセットを含む、実装することと、
    前記ランダム変数のセットの各々について、その変数の可能な値の前記確率が前記スパイク信号におけるスパイクの発生を介してエンコードされる少なくとも1つのスパイク信号を生成することと、
    ランダム変数の前記セットについての前記スパイク信号をそれぞれの変数ノードにおける前記ニューラルネットワークへの入力として供給することと
    によって、前記処理装置に、因子グラフ上でランダム変数の確率分布の伝搬を実施させ、
    それにより、前記確率分布は、前記ニューラルネットワークを通じて伝搬される信号におけるスパイクの前記発生を介して伝搬される、コンピュータプログラム製品。
JP2021505865A 2018-09-06 2019-09-05 因子グラフ上での確率伝搬 Active JP7332193B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US16/123,940 US11200484B2 (en) 2018-09-06 2018-09-06 Probability propagation over factor graphs
US16/123,940 2018-09-06
PCT/IB2019/057472 WO2020049492A1 (en) 2018-09-06 2019-09-05 Probability propagation over factor graphs

Publications (2)

Publication Number Publication Date
JP2022502727A true JP2022502727A (ja) 2022-01-11
JP7332193B2 JP7332193B2 (ja) 2023-08-23

Family

ID=69719914

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021505865A Active JP7332193B2 (ja) 2018-09-06 2019-09-05 因子グラフ上での確率伝搬

Country Status (6)

Country Link
US (1) US11200484B2 (ja)
JP (1) JP7332193B2 (ja)
CN (1) CN112384934A (ja)
DE (1) DE112019003167T5 (ja)
GB (1) GB2589046A (ja)
WO (1) WO2020049492A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102606829B1 (ko) * 2019-01-09 2023-11-27 에스케이하이닉스 주식회사 Ldpc 디코더, 반도체 메모리 시스템 및 그것의 동작 방법

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017513127A (ja) * 2014-03-26 2017-05-25 クゥアルコム・インコーポレイテッドQualcomm Incorporated スパイキング深層信念ネットワーク(dbn)におけるトレーニング、認識、および生成
JP2017516192A (ja) * 2014-03-24 2017-06-15 クゥアルコム・インコーポレイテッドQualcomm Incorporated ニューラルネットワークにおける差分符号化

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6857097B2 (en) * 2001-05-16 2005-02-15 Mitsubishi Electric Research Laboratories, Inc. Evaluating and optimizing error-correcting codes using a renormalization group transformation
US7036720B2 (en) * 2003-06-25 2006-05-02 Centre National De La Recherche Scientifique (Cnrs) Method and apparatus for resolution of problems using constrained discrete variables
US20050193320A1 (en) * 2004-02-09 2005-09-01 President And Fellows Of Harvard College Methods and apparatus for improving performance of information coding schemes
WO2006120844A1 (ja) * 2005-05-13 2006-11-16 Nec Corporation Ldpc符号化方式によるエンコーダ及びデコーダ
EP2457354B1 (en) * 2009-06-26 2020-09-09 PlusN, LLC System and method for controlling combined radio signals
US8990132B2 (en) 2010-01-19 2015-03-24 James Ting-Ho Lo Artificial neural networks based on a low-order model of biological neural networks
US8825572B2 (en) * 2011-02-01 2014-09-02 Microsoft Corporation Program synthesis with existentially and universally quantified belief propagation using probabilistic inference
US9146546B2 (en) 2012-06-04 2015-09-29 Brain Corporation Systems and apparatus for implementing task-specific learning using spiking neurons
US9111222B2 (en) 2011-11-09 2015-08-18 Qualcomm Incorporated Method and apparatus for switching the binary state of a location in memory in a probabilistic manner to store synaptic weights of a neural network
US9111225B2 (en) 2012-02-08 2015-08-18 Qualcomm Incorporated Methods and apparatus for spiking neural computation
US9189730B1 (en) 2012-09-20 2015-11-17 Brain Corporation Modulated stochasticity spiking neuron network controller apparatus and methods
US9367798B2 (en) * 2012-09-20 2016-06-14 Brain Corporation Spiking neuron network adaptive control apparatus and methods
US8589164B1 (en) * 2012-10-18 2013-11-19 Google Inc. Methods and systems for speech recognition processing using search query information
US9477464B2 (en) * 2012-11-20 2016-10-25 Genesys Telecommunications Laboratories, Inc. Distributed aggregation for contact center agent-groups on sliding interval
US9542643B2 (en) 2013-05-21 2017-01-10 Qualcomm Incorporated Efficient hardware implementation of spiking networks
US20150213356A1 (en) * 2014-01-24 2015-07-30 Qualcomm Incorporated Method for converting values into spikes
US20150269485A1 (en) * 2014-03-24 2015-09-24 Qualcomm Incorporated Cold neuron spike timing back-propagation
US20150278685A1 (en) 2014-03-31 2015-10-01 Qualcomm Incorporated Probabilistic representation of large sequences using spiking neural network
US10311375B2 (en) 2014-10-16 2019-06-04 Nanyang Technological University Systems and methods for classifying electrical signals
CN105095966B (zh) 2015-07-16 2018-08-21 北京灵汐科技有限公司 人工神经网络和脉冲神经网络的混合计算系统
KR102565273B1 (ko) 2016-01-26 2023-08-09 삼성전자주식회사 뉴럴 네트워크에 기초한 인식 장치 및 뉴럴 네트워크의 학습 방법

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017516192A (ja) * 2014-03-24 2017-06-15 クゥアルコム・インコーポレイテッドQualcomm Incorporated ニューラルネットワークにおける差分符号化
JP2017513127A (ja) * 2014-03-26 2017-05-25 クゥアルコム・インコーポレイテッドQualcomm Incorporated スパイキング深層信念ネットワーク(dbn)におけるトレーニング、認識、および生成

Also Published As

Publication number Publication date
US11200484B2 (en) 2021-12-14
CN112384934A (zh) 2021-02-19
WO2020049492A1 (en) 2020-03-12
GB2589046A (en) 2021-05-19
JP7332193B2 (ja) 2023-08-23
GB202103947D0 (en) 2021-05-05
DE112019003167T5 (de) 2021-04-01
US20200082251A1 (en) 2020-03-12

Similar Documents

Publication Publication Date Title
Neftci et al. Event-driven contrastive divergence for spiking neuromorphic systems
US9715656B1 (en) Killing asymmetric resistive processing units for neural network training
JP6764473B2 (ja) 抵抗型処理ユニット
Yadav et al. Time series prediction with single multiplicative neuron model
KR102492318B1 (ko) 모델 학습 방법 및 장치, 및 데이터 인식 방법
US6009418A (en) Method and apparatus for neural networking using semantic attractor architecture
Bélisle et al. Evaluation of machine learning interpolation techniques for prediction of physical properties
KR20160102690A (ko) 신경망 학습 방법 및 장치, 및 인식 방법 및 장치
WO2013119861A1 (en) Methods and apparatus for spiking neural computation
KR20180045635A (ko) 뉴럴 네트워크 간소화 방법 및 장치
WO2018189600A1 (en) Update management for rpu array
Muratore et al. Target spike patterns enable efficient and biologically plausible learning for complex temporal tasks
CN113454648A (zh) 循环神经网络中的勒让德存储器单元
JP2022502727A (ja) 因子グラフ上での確率伝搬
JP7357080B2 (ja) Rpuアレイのためのノイズおよび信号管理
KR102059902B1 (ko) 교통 속도 추정 방법 및 시스템
Stromatias Developing a supervised training algorithm for limited precision feed-forward spiking neural networks
Thiruvarudchelvan et al. Analysis of SpikeProp convergence with alternative spike response functions
JP2024514063A (ja) ディープ・ニューラル・ネットワーク・トレーニング
Sporea et al. Reference time in SpikeProp
US6490571B1 (en) Method and apparatus for neural networking using semantic attractor architecture
US11436475B2 (en) Anomaly detection with spiking neural networks
Baicheng et al. LogGOPSC: A parallel computation model extending network contention into LogGOPS
Rahbari A novel approach in classification by evolutionary neural networks
Kaushik et al. Improved neural approach in maximising reliability for increasing networks

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210317

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210309

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220222

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20220512

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20230131

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230307

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230330

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: 20230718

RD14 Notification of resignation of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7434

Effective date: 20230718

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230803

R150 Certificate of patent or registration of utility model

Ref document number: 7332193

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150