JP6732880B2 - イベントとイベントとの間の時間間隔による値の表現を使用するデータ処理デバイス - Google Patents

イベントとイベントとの間の時間間隔による値の表現を使用するデータ処理デバイス Download PDF

Info

Publication number
JP6732880B2
JP6732880B2 JP2018501204A JP2018501204A JP6732880B2 JP 6732880 B2 JP6732880 B2 JP 6732880B2 JP 2018501204 A JP2018501204 A JP 2018501204A JP 2018501204 A JP2018501204 A JP 2018501204A JP 6732880 B2 JP6732880 B2 JP 6732880B2
Authority
JP
Japan
Prior art keywords
node
connection
neuron
connections
value
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
JP2018501204A
Other languages
English (en)
Other versions
JP2018529143A (ja
JP2018529143A5 (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.)
Sorbonne Universite
Original Assignee
Sorbonne Universite
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 Sorbonne Universite filed Critical Sorbonne Universite
Publication of JP2018529143A publication Critical patent/JP2018529143A/ja
Publication of JP2018529143A5 publication Critical patent/JP2018529143A5/ja
Application granted granted Critical
Publication of JP6732880B2 publication Critical patent/JP6732880B2/ja
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/04Architecture, e.g. interconnection topology
    • G06N3/049Temporal neural networks, e.g. delay elements, oscillating neurons or pulsed inputs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/11Complex mathematical operations for solving equations, e.g. nonlinear equations, general mathematical optimization problems
    • G06F17/13Differential equations
    • 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/048Activation functions

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Physics (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computational Linguistics (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Biophysics (AREA)
  • Biomedical Technology (AREA)
  • Artificial Intelligence (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Evolutionary Computation (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Operations Research (AREA)
  • Algebra (AREA)
  • Databases & Information Systems (AREA)
  • Multi Processors (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Advance Control (AREA)

Description

本発明は、データ処理技術に関係する。実施形態は、機械、特に、プログラム可能な機械で計算を実行する新しい様式を実装するものである。
大部分、現在のコンピュータは、フォンノイマンアーキテクチャに基づく。データおよびプログラム命令は、データに対してプログラムを実行するために算術論理演算装置によって順次アクセスされるメモリ内に記憶される。この順次アーキテクチャは、比較的不効率である、すなわち、メモリアクセスを何回も必要とするため、読み出しにも書き込みにも不効率である。
エネルギー効率の高い代替的手段を探索して行くうちに、脳の働きを模倣することを試みるクロックレス(clockless)処理アーキテクチャの提案に至った。DARPA SyNAPSEプログラムなどの、最近のプロジェクトは、シリコンベースのニューロモーフィックカード(neuromorphic card)技術の発展をもたらし、これは脳の形状、働き、およびアーキテクチャから発想を得た新しいタイプのコンピュータを製作することを可能にする。これらのクロックレスシステムの主要な利点は、そのエネルギー効率、および性能が使用されるニューロンおよびシナプスの量に比例することである。このような状況で、複数のプラットフォームが開発されており、特に、次のようなものである。
- IBM TrueNorth(Paul A. Merollaら、「A Million Spiking-Neuron Integrated Circuit with a Scalable Communication Network and Interface」、Science、第345巻、第6197号、668〜673頁、2014年8月)、
- Neurogrid(Ben V. Benjaminら、「Neurogrid: A Mixed-Analog-Digital Multichip System for Large-Scale Neural Simulations」、Proceedings of the IEEE、第102巻、第5号、699〜716頁、2014年5月)、
- SpiNNaker(Steve B. Furberら、「The SpiNNaker Project」、Proceedings of the IEEE、第102巻、第5号、652〜665頁、2014年5月)。
これらの機械は、生物学をシミュレートすることを実質的に目的としている。その主要な用途は、学習の分野にあり、すなわち、ニューラルネットワークまたはディープビリーフネットワークなどの深層学習アーキテクチャを実行するための分野である。これらは、コンピュータビジョン、音声認識、および言語処理の分野のような複数の分野において効率的である。
脳のいくつかの機能をシミュレートする、特に、視覚、認知、および運動課題を遂行することができるNEF(「ニューラルエンジニアリングフレームワーク」)などの他のオプションがある(Chris Eliasmithら、「A Large-Scale Model of the Functioning Brain」、Science、第338巻、第6111号、1202〜1205頁、2012年11月)。
これらの様々なアプローチでは、プログラム可能な機械で計算を実行するための一般的方法を提案していない。
Paul A. Merollaら、「A Million Spiking-Neuron Integrated Circuit with a Scalable Communication Network and Interface」、Science、第345巻、第6197号、668〜673頁、2014年8月 Ben V. Benjaminら、「Neurogrid: A Mixed-Analog-Digital Multichip System for Large-Scale Neural Simulations」、Proceedings of the IEEE、第102巻、第5号、699〜716頁、2014年5月 Steve B. Furberら、「The SpiNNaker Project」、Proceedings of the IEEE、第102巻、第5号、652〜665頁、2014年5月 Chris Eliasmithら、「A Large-Scale Model of the Functioning Brain」、Science、第338巻、第6111号、1202〜1205頁、2012年11月 John Backus、「Can Programming Be Liberated from the von Neumann Style?: A Functional Style and Its Algebra of Programs」、Communications of the ACM、第21巻、第8号、613〜641頁、1978年8月 「Deterministic Nonperiodic Flow」、Journal of the Atmospheric Sciences、第20巻、第2号、130〜141頁、1963年3月
本発明の目的は、データの表現および計算の実行に対する新規性のあるアプローチを提案することである。このアプローチがエネルギー消費量が少なく、超並列処理を行える実装に適していることが望ましい。
一組の処理ノードおよびノード間の接続を含む、データ処理デバイスが提案されている。各接続は、その一組の処理ノードのうちからエミッタノードとレシーバノードとを有し、レシーバノードに、エミッタノードによって送出されるイベントを送信するように構成される。各ノードは、それが受信するイベントに応じてそれぞれの電位値を変化させ、電位値が事前定義された閾値に達したときにイベントを送出するように配置構成される。データ処理デバイスの少なくとも1つの入力値は、少なくとも1つのノードによって受信される2つのイベントの間の時間間隔によって表され、データ処理デバイスの少なくとも1つの出力値は、少なくとも1つのノードによって送出される2つのイベントの間の時間間隔によって表される。
処理ノードは、ニューロンタイプの計算ユニットを形成する。しかしながら、ここでは、脳の働きを模倣することは特には望まれていない。「ニューロン」という用語は、本開示では、言語上の便宜のために使用されているが、大脳皮質のニューロンの動作モードとの著しい類似性を必ずしも意味するわけではない。
処理デバイスにおけるイベントの特定の時間的構成、さらには結合(シナプス)の様々な特性を使用することによって、初等関数を計算するのに適している、計算フレームワーク全体を得ることができる。次いで、すべての既存の数学演算子が、線形または非線形であろうと、フォンノイマンアーキテクチャを必ずしも使用しなくても、実装され得る。その時点以降、デバイスが従来のコンピュータのように、ただし、メモリとの間で絶え間なく往復することを必要とせず、また浮動小数点精度に基づくことなく、機能することが可能である。これは、データの表現に対する基盤を形成する、シナプスのイベント、またはその時間的オフセットの時間的同時性である。
提案されている方法は、メモリと計算を区別しないニューロモーフィックアーキテクチャと一致している。各処理ノードの各接続は、情報を記憶し、同時に、この情報を計算に使用する。これは、メモリと処理とを区別し、フォンノイマンボトルネックを引き起こす、従来のコンピュータにおいて広く使用されている構成とは非常に異なり、計算時間の大部分は、メモリと中央演算処理装置との間の情報の移動にもっぱら費やされる(John Backus、「Can Programming Be Liberated from the von Neumann Style?: A Functional Style and Its Algebra of Programs」、Communications of the ACM、第21巻、第8号、613〜641頁、1978年8月)。
動作は、生体ニューロンのようにイベントによって支配される(「イベントドリブン」)通信に基づき、これにより、超並列処理による実行が可能になる。
デバイスの一実施形態において、各処理ノードは、その電位値を、イベントを送出するときにリセットするように配置構成される。リセットは、特に、ゼロ電位値へのリセットとすることができる。
データを処理するためのデバイスの多数の実施形態は、ノード間の接続のうち、各々がそれぞれの重みを有する1つまたは複数の電位変動接続(potential variation connection)を含む。そのような接続のレシーバノードは、接続の重みを電位値に加えることによってこの接続で受信されたイベントに応答するように配置構成される。
電位変動接続は、正の重みを有する、励起接続(excitation connection)と、負の重みを有する、抑制接続(inhibiting connection)とを含み得る。
デバイス内の値を操作するために、一組の処理ノードは、電位値に対する事前定義された閾値に少なくとも等しい第1の正の重みを有する第1の電位変動接続のレシーバノードを形成する少なくとも1つの第1のノードと、電位値に対する事前定義された閾値の1/2に少なくとも等しく、電位値に対する事前定義された閾値未満である重みを有する第2の電位変動接続のレシーバノードを形成する少なくとも1つの第2のノードとを含む。前述の第1のノードは、第1の重みと反対の値に等しい重みを有する第3の電位変動接続のエミッタノードおよびレシーバノード、さらには第4の接続のエミッタノードをさらに形成し、その一方で、第2のノードは、第5の接続のエミッタノードを形成する。したがって、第1および第2の電位変動接続は、各々入力値を表す第1の時間間隔によって隔てられた2つのイベントを受信するように構成され、それによって、第4および第5の接続は第1の時間間隔に関係する第2の時間間隔を間に有するそれぞれのイベントをトランスポート(transport)する。
本発明によるデバイスを使用して様々な動作が実行され得る。
特に、データを処理するためのデバイスの一例は、少なくとも1つの最小値計算回路を備え、これはそれ自体、
第1および第2の入力ノードと、
出力ノードと、
第1および第2の選択ノードと、
各々電位値に対する事前定義された閾値の1/2に少なくとも等しく、電位値に対する事前定義された閾値未満である第1の正の重みを有する第1、第2、第3、第4、第5、および第6の電位変動接続と、
各々第1の重みの値と反対の第2の重みを有する第7および第8の電位変動接続と、
各々第2の重みの2倍の第3の重みを有する第9および第10の電位変動接続とを備える。
この最小値計算回路において、第1の入力ノードは、第1および第3の接続のエミッタノードと第10の接続のレシーバノードとを形成し、第2の入力ノードは、第2および第4の接続のエミッタノードと第9の接続のレシーバノードとを形成し、第1の選択ノードは、第5、第7、および第9の接続のエミッタノードと第1および第8の接続のレシーバノードとを形成し、第2の選択ノードは、第6、第8、および第10の接続のエミッタノードと第2および第7の接続のレシーバノードとを形成し、出力ノードは、第3、第4、第5、および第6の接続のレシーバノードを形成する。
データを処理するためのデバイスの別の例は、少なくとも1つの最大値計算回路を備え、これはそれ自体、
第1および第2の入力ノードと、
出力ノードと、
第1および第2の選択ノードと、
各々電位値に対する事前定義された閾値の1/2に少なくとも等しく、電位値に対する事前定義された閾値未満である第1の正の重みを有する第1、第2、第3、および第4の電位変動接続と、
各々第1の重みの値と反対の値の2倍に等しい第2の重みを有する第5および第6の電位変動接続とを備える。
この最大値計算回路において、第1の入力ノードは、第1および第3の接続のエミッタノードを形成し、第2の入力ノードは、第2および第4の接続のエミッタノードを形成し、第1の選択ノードは、第5の接続のエミッタノードと第1および第6の接続のレシーバノードとを形成し、第2の選択ノードは、第6の接続のエミッタノードと第2および第5の接続のレシーバノードとを形成し、出力ノードは、第3および第4の接続のレシーバノードを形成する。
データを処理するためのデバイスの別の例は、少なくとも1つの減算器回路を備え、これはそれ自体、
第1および第2の同期ノードと、
第1および第2の抑制ノードと、
第1および第2の出力ノードと、
各々電位値に対する事前定義された閾値に少なくとも等しい第1の正の重みを有する第1、第2、第3、第4、第5、および第6の電位変動接続と、
各々第1の重みの1/2に等しい第2の重みを有する第7および第8の電位変動接続と、
各々第1の重みの値と反対の第3の重みを有する第9および第10の電位変動接続と、
各々第3の重みの2倍の第4の重みを有する第11および第12の電位変動接続とを備える。
この減算器回路において、第1の同期ノードは、第1、第2、第3、および第9の接続のエミッタノードを形成し、第2の同期ノードは、第4、第5、第6、および第10の接続のエミッタノードを形成し、第1の抑制ノードは、第11の接続のエミッタノードと第3、第8、および第10の接続のレシーバノードとを形成し、第2の抑制ノードは、第12の接続のエミッタノードと第6、第7、および第9の接続のレシーバノードとを形成し、第1の出力ノードは、第7の接続のエミッタノードと第1、第5、および第11の接続のレシーバノードとを形成し、第2の出力ノードは、第8の接続のエミッタノードと第2、第4、および第12の接続のレシーバノードとを形成する。第1の同期ノードは、第2の重みを有する少なくとも1つの電位変動接続上で、間に第1のオペランドを表す第1の時間間隔を有する第1の一対のイベントを受信するように構成される。第2の同期ノードは、第2の重みを有する少なくとも1つの電位変動接続上で、間に第2のオペランドを表す第2の時間間隔を有する第2の一対のイベントを受信するように構成され、それによって、間に第3の時間間隔を有する第3の一対のイベントは、第1の時間間隔が第2の時間間隔よりも長い場合には第1の出力ノードによって、第1の時間間隔が第2の時間間隔よりも短い場合には第2の出力ノードによって送出され、第3の時間間隔は第1のオペランドと第2のオペランドとの間の差の絶対値を表している。
減算器回路は、第1および第2の同期ノード、第1および第2の抑制ノードのうちの1つ、ならびに第1および第2の出力ノードのうちの1つとともに検出および抑制接続に関連付けられている少なくとも1つの検出ノードを含むゼロ検出論理回路をさらに備えることができる。検出および抑制接続は、第1および第2の時間間隔が実質的に等しいときに第1および第2の出力ノードのうちの一方によってイベントの発生を抑制するために、第1、第2、第3、第4、第5、第6、第7、第8、第9、第10、第11、および第12の接続よりも高速である。
デバイスの様々な実施形態において、この一組の処理ノードは、少なくとも1つの電流調整接続上で受信されたイベントに従って電流値を変化させ、前記電流値に比例する速度で時間の経過とともにその電位値を変化させるように配置構成されている少なくとも1つのノードを備える。そのような処理ノードは、特に、イベントを送出するときに電流値をゼロにリセットするように配置構成され得る。
これらのノードのうちの少なくともいくつかにおける電流値は、それぞれの重みを有する少なくとも1つの定電流成分調整接続上で受信された2つのイベントの間で一定である成分を有する。定電流成分調整接続のレシーバノードは、接続の重みを電流値の定数成分に加えることによってこの接続上で受信されたイベントに反応するように配置構成される。
データを処理するためのデバイスの別の例は、少なくとも1つのインバータメモリ回路を備え、これはそれ自体、
アキュムレータノードと、
第1、第2、および第3の定電流成分調整接続であって、第1および第3の接続は同じ正の重みを有し、第2の接続は第1および第3の接続の重みの値と反対の重みを有する、第1、第2、および第3の定電流成分調整接続と、
少なくとも1つの第4の接続とを備える。
このインバータメモリ回路において、アキュムレータノードは、第1、第2、および第3の接続のレシーバノードと第4の接続のエミッタノードとを形成し、第1および第2の接続は、それぞれ、アキュムレータノードへ、間に覚えておくべき値を表す時間間隔に関係する第1の時間間隔を有する第1および第2のイベントをアドレス指定するように構成され、それによって、アキュムレータノードは、次いで、第4の接続上の第4のイベントの送出までその電位値を増加させることによって第3の接続上で受信される第3のイベントに応答し、第3および第4のイベントは間に第1の時間間隔に関係する第2の時間間隔を有する。
データを処理するためのデバイスの別の例は、少なくとも1つのメモリ回路を備え、これはそれ自体、
第1および第2のアキュムレータノードと、
第1、第2、第3、および第4の定電流成分調整接続であって、第1、第2、および第4の接続は各々第1の正の重みを有し、第3の接続は第1の重みの値と反対の第2の重みを有する、第1、第2、第3、および第4の定電流成分調整接続と、
少なくとも1つの第5の接続とを備える。
このメモリ回路において、第1のアキュムレータノードは、第1の接続のレシーバノードと第3の接続のエミッタノードとを形成し、第2のアキュムレータノードは、第2、第3、および第4および第5の接続のレシーバノードを形成し、第5の接続のエミッタノード、第1および第2の接続は、それぞれ、第1および第2のアキュムレータノードへ、間に覚えておくべき値を表す時間間隔に関係する第1の時間間隔を有する第1および第2のイベントをアドレス指定するように構成され、それによって、第2のアキュムレータノードは、次いで、第5の接続上の第4のイベントの送出までその電位値を増加させることによって第4の接続上で受信される第3のイベントに応答し、第3および第4のイベントは間に第1の時間間隔に関係する第2の時間間隔を有する。
メモリ回路は、第1のアキュムレータノードをエミッタノードとして有する第6の接続をさらに備え、第6の接続はメモリ回路を読み取りに利用可能であることを知らせるイベントを送出する。
データを処理するためのデバイスの別の例は、今言及したばかりのタイプの、個数N>1のメモリ回路と、同期ノードとを含む、少なくとも1つの同期回路を備える。同期ノードは、第1の重みをNで割った値に等しい重みを有するそれぞれの電位変動接続を介してN個のメモリ回路のうちの1つの第6の接続上で送出される各イベントを感知する。同期ノードは、N個のメモリ回路のそれぞれの第4の接続を介して第3のイベントの同時受信をトリガするように配置構成される。
データを処理するためのデバイスの別の例は、少なくとも1つの累算回路を備え、これはそれ自体、
Nを1より大きい整数として、各々がそれぞれの重み付け係数を有するN個の入力と、
アキュムレータノードと、
同期ノードと、
累算回路のN個の入力の各々について、
前記入力のそれぞれの重み付け係数に比例する第1の正の重みを有する第1の定電流成分調整接続と、
第1の重みの値と反対の第2の重みを有する第2の定電流成分調整接続と、
第3の正の重みを有する第3の定電流成分調整接続とを備える。
この累算回路において、アキュムレータノードは、第1、第2、および第3の接続のレシーバノードを形成し、同期ノードは、第3の接続のエミッタノードを形成する。N個の入力の各々について、第1および第2の接続は、アキュムレータノードへ、間に前記入力上で与えられるそれぞれのオペランドを表す第1の時間間隔を有するそれぞれの第1および第2のイベントをアドレス指定するように構成される。同期ノードは、第1および第2のイベントがN個の入力の各々についてアドレス指定された後に第3のイベントを送出するように構成され、それによって、アキュムレータノードは、第4のイベントの送出までその電位値を増加させる。第3および第4のイベントは、それらの間にN個の入力上で与えられるオペランドの加重和を表す時間間隔に関係する第2の時間間隔を有する。
本発明によりデータを処理するためのデバイスの一例において、累算回路は、加重加算回路の一部であり、これは
第2のアキュムレータノードと、
第3の重みを有する第4の定電流成分調整接続と、
第5および第6の接続とをさらに備える。
この加重加算回路において、累算回路の同期ノードは、第4の接続のエミッタノードを形成し、累算回路のアキュムレータノードは、第5の接続のエミッタノードを形成し、第2のアキュムレータノードは、第4の接続のレシーバノードと第6の接続のエミッタノードとを形成する。同期ノードによる第3のイベントの送出に応答して、累算回路のアキュムレータノードは、第5の接続上の第4のイベントの送出までその電位値を増加させ、第2のアキュムレータノードは、第6の接続上の第5のイベントの送出までその電位値を増加させ、第4および第5のイベントはそれらの間に累算回路のN個の入力上で与えられるオペランドの加重和を表す時間間隔に関係する第3の時間間隔を有する。
データを処理するためのデバイスの別の例は、同期ノードを共有する、2つの累算回路と、共有された同期ノードによって送出される第3のイベントに応答し、間に2つの累算回路のうちの一方に対する加重和と2つの累算回路のうちの他方に対する加重和との差を表す第3の時間間隔を有する一対のイベントを送出することによって2つの累算回路のアキュムレータノードによってそれぞれ送出される第4のイベントに応答するように構成されている減算器回路とを含む少なくとも1つの一次結合回路を備える。
デバイスのいくつかの実施形態において、この一組の処理ノードは、少なくとも1つのノードを含み、その電流値は、それぞれの重みを有する少なくとも1つの指数関数的減少電流成分調整接続(exponentially decreasing current component adjustment connection)上で受信された2つのイベントの間で指数関数的に減少する成分を有する。指数関数的減少電流成分調整接続のレシーバノードは、接続の重みを電流値の指数関数的減少成分に加えることによってこの接続上で受信されたイベントに反応するように配置構成される。
データを処理するためのデバイスの別の例は、少なくとも1つの対数計算回路を備え、これはそれ自体、
アキュムレータノードと、
第1および第2の定電流成分調整接続であって、第1の接続は正の重みを有し、第2の接続は第1の接続の重みの値と反対の重みを有する、第1および第2の定電流成分調整接続と、
第3の指数関数的減少電流成分調整接続と、
少なくとも1つの第4の接続とを備える。
この対数計算回路において、アキュムレータノードは、第1、第2、および第3の接続のレシーバノードと第4の接続のエミッタノードとを形成する。第1および第2の接続は、アキュムレータノードへ、間に対数計算回路の入力値を表す時間間隔に関係する第1の時間間隔を有するそれぞれの第1および第2のイベントをアドレス指定するように構成される。第3の接続は、アキュムレータノードへ、第2のイベントと同時またはその後の第3のイベントをアドレス指定するように構成され、それによって、アキュムレータノードは、第4の接続上の第4のイベントの送出までその電位値を増加させ、第3および第4のイベントは間に入力値の対数を表す時間間隔に関係する第2の時間間隔を有する。
処理デバイスは、少なくとも1つのデアクティベーション接続をさらに備えることができ、そのレシーバノードは、デアクティベーション接続上で受信されたイベントに応答して電流の指数関数的に減少する成分を相殺することができるノードである。
データを処理するためのデバイスの別の例は、少なくとも1つの累乗回路(exponentiation circuit)を備え、これはそれ自体、
アキュムレータノードと、
第1の指数関数的減少電流成分調整接続と、
第2のデアクティベーション接続と、
第3の定電流成分調整接続と、
少なくとも1つの第4の接続とを備える。
この累乗回路において、アキュムレータノードは、第1、第2、および第3の接続のレシーバノードと第4の接続のエミッタノードとを形成する。第1および第2の接続は、アキュムレータノードへ、間に累乗回路の入力値を表す時間間隔に関係する第1の時間間隔を有するそれぞれの第1および第2のイベントをアドレス指定するように構成される。第3の接続は、アキュムレータノードへ、第2のイベントと同時またはその後の第3のイベントをアドレス指定するように構成され、それによって、アキュムレータノードは、第4の接続上の第4のイベントの送出までその電位値を増加させ、第3および第4のイベントは間に入力値の累乗を表す時間間隔に関係する第2の時間間隔を有する。
データを処理するためのデバイスの別の例は、少なくとも1つの乗算器回路を備え、これはそれ自体、
第1、第2、および第3のアキュムレータノードと、
同期ノードと、
第1、第2、第3、第4、および第5の定電流成分調整接続であって、第1、第3、および第5の接続は正の重みを有し、第2および第4の接続は第1、第2、および第5の接続の重みの値と反対の重みを有する、第1、第2、第3、第4、および第5の定電流成分調整接続と、
第6、第7、および第8の指数関数的減少電流成分調整接続と、
第9のデアクティベーション接続と、
少なくとも1つの第10の接続とを備える。
この乗算器回路において、第1のアキュムレータノードは、第1、第2、および第6の接続のレシーバノードと第7の接続のエミッタノードとを形成し、第2のアキュムレータノードは、第3、第4、および第7の接続のレシーバノードと第5および第9の接続のエミッタノードとを形成し、第3のアキュムレータノードは、第5、第8、および第9の接続のレシーバノードと第10の接続のエミッタノードとを形成し、同期ノードは、第6および第8の接続のエミッタノードを形成する。第1および第2の接続は、第1のアキュムレータノードへ、間に乗算器回路の第1のオペランドを表す時間間隔に関係する第1の時間間隔を有するそれぞれの第1および第2のイベントをアドレス指定するように構成される。第3および第4の接続は、第2のアキュムレータノードへ、間に乗算器回路の第2のオペランドを表す時間間隔に関係する第2の時間間隔を有するそれぞれの第3および第4のイベントをアドレス指定するように構成される。同期ノードは、第1、第2、第3、および第4のイベントが受信された後に第6および第8の接続上で第5のイベントを送出するように構成される。したがって、第1のアキュムレータノードは、第7の接続上の第6のイベントの送出までその電位値を増加させ、次いで、第6のイベントに応答して、第2のアキュムレータノードは、第5の接続および第9の接続上の第7のイベントの送出までその電位値を増加させる。この第7のイベントに応答して、第3のアキュムレータノードは、第10の接続上の第8のイベントの送出までその電位値を増加させ、第7および第8のイベントはそれらの間に第1のオペランドと第2のオペランドとの積を表す時間間隔に関係する第3の時間間隔を有する。
符号検出論理回路は、乗算器回路に関連付けられるものとしてよく、第1および第2のオペランドのそれぞれの符号を検出し、検出された符号に従って、間に第1のオペランドと第2のオペランドとの積を表す時間間隔を有する2つのイベントを乗算器回路の2つの出力のうちの一方または他方で送出させる。
処理デバイスの典型的な一実施形態において、各接続は遅延パラメータに関連付けられ、それにより、この接続のレシーバノードに、前記パラメータによって指示される、接続上でイベントを受信することに関して、遅延とともに状態の変化を実行することを知らせる。
絶対値xを有する値を表す2つのイベントの間の時間間隔Δtは、特に、Δt=Tmin+x.Tcodの形式をとることができ、ここで、TminおよびTcodは、事前定義された時間パラメータである。時間間隔によって表される値は、たとえば、0から1の間の絶対値xを有する。
xの関数としてのΔtに対して均等目盛ではなく対数目盛を使用することもいくつかの用途に適していることがある。他の目盛も使用できる。
処理デバイスは、符号付き値を扱うために特別な構成を有するものとしてよい。したがって、これは、入力値について、
一組の処理ノードのうちから1つのノードまたは2つのノードを含む第1の入力であって、間に入力値の正の値を表す時間間隔を有する2つのイベントを受信するように配置構成されている、第1の入力と、
一組の処理ノードのうちから1つのノードまたは2つのノードを含む第2の入力であって、間に入力値の負の値を表す時間間隔を有する2つのイベントを受信するように配置構成されている、第2の入力とを備える。
出力値について、処理デバイスは、
一組の処理ノードのうちから1つのノードまたは2つのノードを含む第1の出力であって、間に前記出力値の正の値を表す時間間隔を有する2つのイベントを送出するように配置構成されている、第1の出力と、
一組の処理ノードのうちから1つのノードまたは2つのノードを含む第2の出力であって、間に前記出力値の負の値を表す時間間隔を有する2つのイベントを送出するように配置構成されている、第2の出力とを備える。
処理デバイスの一実施形態において、一組の処理のノードは、少なくとも1つのプログラム可能なアレイの形態をとり、アレイのノードは受信されたイベントに従う共有挙動モデルを有する。このデバイスは、計算プログラムに従ってアレイのノードの間の接続の重みおよび遅延パラメータを調整するためのプログラミング論理回路と、入力値をアレイに供給し、プログラムに従って計算された出力値を復元するための制御ユニットとをさらに備える。
本発明の他の特徴および利点は、添付図面を参照しつつ次の説明に示される。
本発明の一実施形態による、オンデマンドで定数値の表現を生成する処理回路の図である。 本発明の一実施形態によるインバータメモリデバイスの図である。 図2による時間が経過して生じる電位値の変化およびインバータメモリデバイスにおけるイベントの生成を示す図である。 本発明の一実施形態によるメモリデバイスの図である。 図4による時間が経過して生じる電位値の変化およびメモリデバイスにおけるイベントの生成を示す図である。 本発明の一実施形態による符号付きメモリデバイスの図である。 様々な入力値を与えられたときの図6による時間が経過して生じる電位値の変化および符号付きメモリデバイスにおけるイベントの生成を示す図である。 様々な入力値を与えられたときの図6による時間が経過して生じる電位値の変化および符号付きメモリデバイスにおけるイベントの生成を示す図である。 本発明の一実施形態による同期デバイスの図である。 図8による時間が経過して生じる電位値の変化および同期デバイスにおけるイベントの生成を示す図である。 本発明の別の実施形態による同期デバイスの図である。 本発明の一実施形態による最小値を計算するためのデバイスの図である。 図11による時間が経過して生じる電位値の変化および最小値を計算するためのデバイスにおけるイベントの生成を示す図である。 本発明の一実施形態による最大値を計算するためのデバイスの図である。 図13による時間が経過して生じる電位値の変化および最大値を計算するためのデバイスにおけるイベントの生成を示す図である。 本発明の一実施形態による減算器デバイスの図である。 図15による時間が経過して生じる電位値の変化および減算器デバイスにおけるイベントの生成を示す図である。 ゼロに等しい差が考慮される減算器デバイスの代替的形態の図である。 本発明の一実施形態による累算回路の図である。 本発明の一実施形態による加重加算デバイスの図である。 本発明の一実施形態による一次結合計算デバイスの図である。 本発明の一実施形態による対数計算デバイスの図である。 図21による時間が経過して生じる電位値の変化および対数計算デバイスにおけるイベントの生成を示す図である。 本発明の一実施形態による累乗デバイスの図である。 図23による時間が経過して生じる電位値の変化および累乗デバイスにおけるイベントの生成を示す図である。 本発明の一実施形態による乗算器デバイスの図である。 図25による時間が経過して生じる電位値の変化および乗算器デバイスにおけるイベントの生成を示す図である。 本発明の一実施形態による符号付き乗算器デバイスの図である。 本発明の一実施形態による積分器デバイスの図である。 本発明の一実施形態の一例における1階微分方程式を解くのに適しているデバイスの図である。 図29のデバイスのシミュレーションの結果を示すグラフである。 図29のデバイスのシミュレーションの結果を示すグラフである。 本発明の一実施形態の一例における2階微分方程式を解くのに適しているデバイスの図である。 図31のデバイスのシミュレーションの結果を示すグラフである。 図31のデバイスのシミュレーションの結果を示すグラフである。 本発明の一実施形態の一例における3変数非線形微分方程式系を解くのに適しているデバイスの図である。 図33のデバイスのシミュレーションの結果を示すグラフである。 本発明の一実施形態によるプログラム可能処理デバイスの図である。
本明細書で提示されているようなデータ処理デバイスは、電気信号の振幅として、または論理回路によって処理される2進符号化された数としてではなく、間に接続を有する一組の処理ノード内に生じるイベントの間の時間間隔として処理済み値を表すことによって動作する。
本開示の文脈において、人工ニューラルネットワークに類似するアーキテクチャによるデータ処理デバイスの一実施形態が提示される。データ処理デバイスは、必ずしも、人々が「ニューラルネットワーク」と呼ぶものに厳密に対応するアーキテクチャを有していないが、次の説明では、デバイス内の2つのノードまたはニューロンの間の接続を指定するために「シナプス」という用語を使用するのと全く同様に、「ノード」および「ニューロン」という用語を入れ替えて使用することができる。
シナプスは、方向性を有する、すなわち、各接続は、エミッタノードとレシーバノードとを有し、レシーバノードに、エミッタノードによって生成されたイベントを送信する。イベントは、典型的には、エミッタノードによって送出され、レシーバノードに影響を及ぼす、電圧信号または電流信号のスパイクとして現れる。
人工ニューラルネットワークの文脈においては普通のことであるが、各接続またはシナプスは、イベントにおいてエミッタノードがレシーバノードに及ぼす影響の尺度を示す重みパラメータwを有する。
各ノードの挙動の記述は、人工ニューラルネットワークのパラダイムにおける膜電位Vに対応する電位値Vを参照することによって与えられ得る。ノードの電位値Vは、入接続上でノードが受信するイベントに従って時間の経過とともに変化する。この電位値Vが、閾値Vtに達するか、超えたときに、ノードは、下流に配置されているノードに送信されるイベント(「スパイク」)を放出する。
ノードまたはニューロンの挙動を説明するために、本発明の例示的な一実施形態において、成分geおよび適宜、成分gfを有する電流値gをさらに参照することができる。
成分geは、ここでは定電流成分調整接続と呼ばれる特定のシナプス上でノードが受信する2つのイベントの間で一定であるか、または実質的に一定のままである成分である。
成分gfは、ここでは指数関数的減少電流成分調整接続と呼ばれる特定のシナプス上でノードが受信する2つのイベントの間で指数関数的に変化する成分である、すなわち、指数関数的に変化する。
指数関数的減少電流成分gfを考慮するノードは、ここではアクティベーション接続と呼ばれる特定のシナプス上で成分gfのアクティベーションおよびデアクティベーションに対するイベントをさらに受信することができる。
したがって、注目する例では、処理ノードの挙動は、一組の微分方程式
Figure 0006732880
によって一般的な形で表現されるものとしてよく、
ここで、
tは時間を指定し、
成分geはシナプスイベントによってのみ変化させられ得る一定入力電流を表し、
成分gfは指数関数的に変化する入力電流を表し、
gateは、指数関数的減少電流成分gfの2進アクティベーション(gate=1)またはデアクティベーション(gate=0)信号であり、
τmは電流値の関数g=ge+gate.gfとして電位値Vの直線変化を調節する時定数であり、
τjは成分gfにおける減少の指数関数的変化を調節する時定数である。
方程式系(1)において、膜電位Vの漏れはないか、またはこの漏れの力学はデバイス内で動作している他のすべての力学よりもかなり大きいタイムスケールに基づくことが考えられる。
このモデルでは、ニューロンの挙動に影響を及ぼす次の4種類のシナプスを識別することができ、各シナプスは正または負のシナプス重みwを示す重みパラメータに関連付けられる。
ニューロンの膜電位の値を直接修正する、電位変化接続、またはVシナプス。V←V+w。言い替えれば、レシーバノードは、その電位値Vに、重みパラメータによって指示される重みwを加えることによってVシナプス上で受信されたイベントに応答する。
ニューロンの一定の入力電流を直接修正する、定電流成分調整接続、またはgeシナプス。ge←ge+w。言い替えれば、レシーバノードは、その電流値の一定成分に、重みパラメータによって指示される重みwを加えることによってgeシナプス上で受信されたイベントに応答する。
ニューロンの指数関数的に変化する入力電流を直接修正する、指数関数的減少電流成分調整接続、またはgfシナプス。gf←gf+w。言い替えれば、レシーバノードは、その電流値の指数関数的に減少する成分に、重みパラメータによって指示される重みwを加えることによってgfシナプス上で受信されたイベントに反応する。
正の重みw=1を指示するときにgate←1を設定することによってニューロンをアクティベートし、負の重みw=-1を指示するときにgate←0を設定することによってニューロンをデアクティベートする、アクティベーション接続、またはgateシナプス。
各シナプス接続は、エミッタニューロンとレシーバニューロンとの間の伝搬の遅延を与える遅延パラメータにさらに関連付けられる。
ニューロンは、その電位値Vが閾値Vtに達すると、すなわち
V≧Vt (2)
のときに、イベントをトリガする。
イベントがトリガされると、ニューロンがエミッタノードを形成する各シナプス上で送出されるスパイクが引き起こされ、その状態変数は次のようにリセットされる。
V←Vreset (3)
ge←0 (4)
gf←0 (5)
gate←0 (6)
一般性を失うことなく、Vreset=0の場合が考慮され得る。
これ以降、表記Tsynは、標準シナプスに沿った伝搬の遅延を指定し、表記Tneuは、入力シナプスイベントによってトリガされた後にスパイクを発生させるときにニューロンがイベントを送信するのに要する時間を指定する。Tneuは、たとえば、神経シミュレータの時間ステップを表すものとしてよい。
標準重みweは、リセット状態からニューロンをトリガするためにVシナプスに適用されなければならない最小励起重みとして定義され、別の標準重みwiは、反対の効果を有する抑制重みとして定義され、次のとおりに書かれる。
we=Vt (7)
wi=-we (8)
デバイスによって処理される値は、イベントの間の時間間隔によって表される。一対のイベントの2つのイベントは、この対によって符号化される値xの関数である時間間隔Δtだけ隔てられ、次のとおりである。
Δt=f(x) (9)
ただし、fはデバイス内のデータの表現に対して選択された符号化関数である。
この値xを符号化する対の2つのイベントは、同じニューロンnによって、または2つの異なるニューロンによって送出され得る。
同じニューロンnの場合、時間的に連続してイベントen(i)、i=0、1、2、などを送出すると、このニューロンnは、時間変化信号u(t)を符号化すると考えることができ、その離散値は、
Figure 0006732880
によって与えられ、
ここで、f-1は選択された符号化関数の逆関数であり、iは偶数である。
符号化関数
Figure 0006732880
は、特定のシステムにおいて処理される信号を考慮しつつ選択され、必要な精度に適合され得る。関数fは、特定の値に関連付けられているスパイクの間の間隔を計算する関数である。本発明の説明の残り部分において、線形符号化関数を使用する処理デバイスの実施形態は
Δt=f(x)=Tmin+x.Tcod (11)
x∈[0, 1]
で表される。
関数のこの表現f:[0, 1]→[Tmin,Tmax]は、TminとTmax=Tmin+Tcodとの間の時間間隔によって0と1の間の任意の値xを線形符号化することを可能にする。Tminの値は、ゼロであってよい。しかしながら、これが非ゼロであることは有利である。実際、値を表す2つのイベントが同じニューロンに由来するか、または同じニューロンによって受信された場合、最小間隔Tmin>0は、このニューロンにリセットまでの時間を与える。さらに、Tmin>0の選択は、ニューロンの特定の配置構成が第2のイベントを受信する前に第1の入力イベントに応答し、状態の変化を伝搬させることを可能にする。
符号化関数fに対する形式(11)は、可能なただ1つのものではない。別の好適な選択は、対数関数をとるもので、これはこの場合に大きい値に対して精度が低い、いくつかの用途に適している力学で広範な値が符号化されることを可能にする。
符号付き値を表すために、2つの異なる経路、各符号につき1つの経路が使用され得る。そこで、正の値は、特定のニューロンを使用して符号化され、負の値は、別のニューロンを使用して符号化される。任意に、ゼロは、正の値または負の値として表され得る。これ以降、ゼロは正の値として表される。
したがって、形式(11)の例を引き続き使用すると、値xが範囲[-1,+1]内の値を有する場合、これはx≧0の場合に正の値に関連付けられている経路上およびx<0の場合に負の値に関連付けられている経路上で伝搬される2つのイベントの間の時間間隔Δt=Tmin+|x|.Tcodによって表される。
符号化関数に対する(9)または(11)の選択で、geシナプスに対する2つの標準重みの定義が生じる。重みwaccは、時間Tmax=Tmin+Tcodの後に、そのリセット状態から、ニューロンをトリガするのに必要なgeの値であるものとして定義される、すなわち、(1)を考慮して
Figure 0006732880
となる。
さらに、重み
Figure 0006732880
は、時間Tcodの後に、そのリセット状態から、ニューロンをトリガするのに必要なgeの値であるものとして定義される、すなわち、
Figure 0006732880
となる。
geシナプスについては、別の標準重みgmult
Figure 0006732880
として与えられるものとしてよい。
デバイスのノードの間の接続は、それぞれの遅延パラメータに各々さらに関連付けられ得る。このパラメータは、接続上のイベントの放出に関して、接続のレシーバノードが状態の変化を引き起こす際の遅延を指示する。シナプスに関連付けられているこれらの遅延パラメータによる遅延値の指示は、処理デバイス内の動作の適切な順序付けを確実にすることを可能にする。
式(1)〜(6)に記述されているような挙動をするように、処理ノードおよび相互接続を実装するために、様々な技術、すなわち、人工ニューラルネットワークのよく知られている分野において通常使用されている技術が使用され得る。各ノードは、たとえば、電圧レベルを保持し、変化させるための抵抗および容量素子、ならびに電圧レベルが閾値Vtを超えたときにイベントを送出するためのトランジスタ素子を伴う、アナログ技術を使用して作製され得る。
別の可能性として、たとえば、人工ニューロンを実装するための都合のよい手段を実現する、フィールドプログラマブルゲートアレイ(FPGA)に基づくデジタル技術を使用する方法もある。
以下では、相互接続された処理ノードを使用して形成されるデータを処理するためのいくつかのデバイスまたは回路が提示されている。図1、図2、図4、図6、図8、図10、図11、図13、図15、図17、図18、図19、図20、図21、図23、図25、図27、図28、図29、図31、および図33において、
実線で図示されているノード間の接続は、Vシナプスである。
破線で図示されている接続は、geシナプスである。
一点鎖線で図示されている接続は、gfシナプスである。
点線で図示されている接続は、gateシナプスである。
接続は、レシーバノードの横にあるシンボルで向き付けられる。このシンボルは、励起接続、すなわち、正の重みを有する接続に対しては開いた正方形、抑制接続、すなわち、負の重みを有する接続に対しては閉じた正方形である。
接続の隣りのパラメータの対(w;T)は、重みwおよび接続に関連付けられている遅延Tを示す。ときには、重みwだけが示される。
これらの図面に示されているノードまたはニューロンのうちのいくつかは、回路内のその配置構成の結果、関数を呼び出すことを示すような名前を付けられ、入力ニューロンに対しては「input」、正の値の入力に対しては「input+」、負の値の入力に対しては「input-」、出力ニューロンに対しては「output」、正の値の出力に対しては「output+」、負の値の出力に対しては「output-」、値を復元するために使用されるニューロンに対しては「recall」、アキュムレータニューロンに対しては「acc」、値の結果の利用可能性を示すニューロンに対しては「ready」などとなる。
図1は、定数値xの表現をオンデマンドで生成するために使用され得る非常に単純な回路10を示している。we以上の重み(図示されている例では、重みはweに等しくなるように取られる)を有する2つのVシナプス11、12は、各々、エミッタノードとしてrecallニューロン15を、レシーバノードとしてoutputニューロン16を有する。シナプス11は、遅延パラメータTsynを使用するように構成されるが、シナプス12は、遅延パラメータTsyn+f(x)を使用するように構成される。
recallニューロン15のアクティベーションは、時刻TsynおよびTsyn+f(x)でoutputニューロン16をトリガし、そこで、回路10は、定数xを表す値f(x)によって時間に関して隔てられている2つのイベントを送出する。
A.メモリ
A.1.反転メモリ
図2は、反転メモリを形成する処理回路18を示している。
このデバイス18は、accニューロン30における動的範囲geにわたる電流の積分を使用して、区間Δtin=f(x)とともにinputニューロン21で与えられた一対の入力スパイクによって符号化されたアナログ値xを記憶する。値xは、accニューロン30の膜電位に記憶され、recallニューロン31のアクティベーション時に読み出され、それにより、outputニューロン33における値1-xに対応する時間間隔Δtout、すなわち、Δtout=f(1-x)だけ隔てられた一対のイベントが送出される。
inputニューロン21は、accニューロン30に向けられるgeシナプス26、27上でf(x)-Tmin=x.Tcodだけ隔てられている2つのイベントを発生させるために使用されるノード20のグループに属す。このグループは、「first」ニューロン23および「last」ニューロン25を備える。遅延Tsynを有する2つの励起Vシナプス22、24は、inputニューロン21からfirstニューロン23およびlastニューロン25にそれぞれ進む。Vシナプス22は重みweを有し、Vシナプス24はwe/2に等しい重みを有する。firstニューロン23は、重みwiおよび遅延Tsynを有するVシナプス28を介して自己抑制する。
励起geシナプス26は、firstニューロン23からaccニューロン30へ進み、重みwaccおよびTsyn+Tminの遅延を有する。抑制geシナプス27は、lastニューロン25からaccニューロン30へ進み、重み-waccおよび遅延Tsynを有する。励起Vシナプス32は、recallニューロン31からoutputニューロン33へ進み、重みweおよび2Tsyn+Tneuの遅延を有する。励起Vシナプス34は、recallニューロン31からaccニューロン30へ進み、重みwaccおよび遅延Tsynを有する。最後に、励起Vシナプス35は、accニューロン30からoutputニューロン33へ進み、重みweおよび遅延Tsynを有する。
反転メモリデバイス18の動作は、図3に例示されている。
inputニューロン21で時刻
Figure 0006732880
に第1のイベント(スパイク)を放出すると、時刻Tsyn+Tneuの後に、すなわち、図3において時刻
Figure 0006732880
にfirstニューロン23の出力でイベントがトリガされ、lastニューロン25の電位値がVt/2に上げられる。次いで、firstニューロン23は、値-Vtをその膜電位に与えることによってシナプス28を介して自己抑制し、geシナプス26を介して、Tsyn+Tminの後に、すなわち、時刻
Figure 0006732880
にaccニューロン30により累算を開始する。
inputニューロン21で時刻
Figure 0006732880
に第2のスパイクを放出すると、lastニューロン25は閾値電位Vtに達する。次いで、抑制geシナプス27上で時刻
Figure 0006732880
にイベントが生成される。第2のスパイクは、シナプス22を介してfirstニューロン23の電位をゼロにリセットすることもトリガする。第2のスパイクに応答してgeシナプス27によってトランスポートされるイベントは、時刻
Figure 0006732880
にaccニューロン30によって実行された累算を停止する。
この段階で、電位値
Figure 0006732880
は、値xを覚えておくためaccニューロン30に記憶される。次いで、その補数1-xが、recallニューロン31をアクティベートすることによって読み出されるものとしてよく、これは図3では時刻
Figure 0006732880
に行われる。このアクティベーションは、時刻
Figure 0006732880
にaccニューロン30における累算のプロセスを再開し、outputニューロン33上で時刻
Figure 0006732880
にイベントをトリガする。累算は、電位値が閾値Vtに達する時刻
Figure 0006732880
までaccニューロン30内で継続する、すなわち、
Figure 0006732880
である。イベントは、時刻
Figure 0006732880
にVシナプス35上で放出され、時刻
Figure 0006732880
にoutputニューロン33上で別のイベントをトリガする。
最後に、outputニューロン33によって送出される2つのイベントは、時間間隔
Figure 0006732880
で隔てられる。
値xは、2つの入力スパイクを受信した後にaccニューロン30に記憶され、recallニューロン31をアクティベートすることによって読み出しに即座に利用可能であることに留意されたい。
標準重みweは、リセット状態からニューロンをトリガするためにVシナプスに適用されなければならない最小励起重みとして定義されたので、図2の処理回路18は、次のようにしていくつかの重みが選択される場合に同様の機能を示すことに留意されたい。Vシナプス22は、we以上の重みwを有し、Vシナプス24は、少なくともwe/2に等しく、Vtよりも小さい重みを有し、firstニューロン23は、重み-wを有するrecall Vシナプス28を介して自己抑制し、励起Vシナプス32は、we以上の重みを有し、励起Vシナプス35は、we以上の重みを有する、この観察結果は、次の処理回路に及ぶ。
A.2.メモリ
図4は、メモリを形成する処理回路40を示している。
このデバイス40は、一対のイベントが時間間隔Δtout=f(x)で隔てられている、非反転出力を形成するために、2つのカスケードaccニューロン42、44における動的範囲ge上の電流の積分を使用して、区間Δtin=f(x)とともにinputニューロン21で与えられた一対の入力スパイクによって符号化されたアナログ値xを覚えておく。
メモリ回路40は、記憶されるべき値を受信するためのinputニューロン21、recallニューロン48によって形成される読み出しコマンド入力、recallニューロン48に読み出しコマンドを提示できる時刻を指示するreadyニューロン47、および記憶されている値を返すためのoutputニューロン50を有する。このメモリ回路のすべてのシナプスは、遅延Tsynを有する。
inputニューロン21は、図2を参照しつつ説明されているものに類似するノード20のグループに属しており、firstニューロン23およびlastニューロン25はinputニューロン21によってf(x)=Tmin+x.Tcodの間隔で生成される2つのイベントを隔てる。
geシナプス41は、firstニューロン23から第1のaccニューロン42へ進み、重みwaccを有する。そこで、accニューロン42は時刻
Figure 0006732880
に累算を開始する(図5)。geシナプス43は、lastニューロン25から第2のaccニューロン44へ進み、重みwaccを有する。そこで、accニューロン44は時刻
Figure 0006732880
に累算を開始する。accニューロン42の出力で、重みwaccを有する別のgeシナプス45は、accニューロン44に進み、重みweを有するVシナプス46は、readyニューロン47に進む。
accニューロン42における累算は、accニューロン42の電位が閾値Vtに達する時刻
Figure 0006732880
まで継続し、geシナプス45上で時刻
Figure 0006732880
にスパイクの放出をトリガする(図5)。このスパイクは、時刻
Figure 0006732880
にaccニューロン44における累算を停止する。accニューロン42のトリガは、また、時刻
Figure 0006732880
にreadyニューロン47上でイベントをトリガする。
この段階で、accニューロン44に記憶されている電位値は
Figure 0006732880
であり、これにより値xを覚えておくことができる。読み出しは、recallニューロン48をアクティベートすることによって行われるものとしてよく、これは図5では時刻
Figure 0006732880
に行われる。
recallニューロン48のアクティベーションは、Vシナプス49を介してoutputニューロン50上で時刻
Figure 0006732880
にイベントをトリガし、時刻
Figure 0006732880
にgeシナプス51を介してaccニューロン44における累算のプロセスを再開する。累算は、電位値が閾値Vtに達する時刻
Figure 0006732880
までaccニューロン44内で継続する、すなわち、
Figure 0006732880
である。イベントは、時刻
Figure 0006732880
にVシナプス52上で放出され、時刻
Figure 0006732880
にoutputニューロン50上で別のイベントをトリガする。
最後に、outputニューロン50によって送出される2つのイベントは、時間間隔
Figure 0006732880
で隔てられる。
図4のaccニューロン42は、いくつかのシナプス上でTsyn+Tmaxの遅延を構成することによって排除することも可能でことに留意されたい。これは、ニューロンの数を減らすことについて興味深いものであり得るが、隣接するニューロンの間の遅延が延長することで特定の集積回路(ASIC)を使用するインストレーションにおいて問題を引き起こす可能性がある。
また、メモリ回路40は、上記の形式(11)に制限されることなく、TminとTmaxとの間の時間間隔により値xの符号化に対して機能することに留意されたい。
A.3.符号付きメモリ
図6は、-1と+1との間の、符号付き値に対するメモリを形成する処理回路60を示している。その絶対値は、x≧0の場合に、input+ニューロン61によって与えられ、次いでoutput+ニューロン81によって返され、x<0の場合に、input-ニューロン62によって与えられ、output-ニューロン82によって返される2つのイベントの間の間隔Δtin=f(|x|)によって符号化される。このメモリ回路のすべてのシナプスは、遅延Tsynを有する。
符号付きメモリ回路60は、図4A〜図4Bに示されているタイプのメモリ回路40に基づく。input+ニューロン61およびinput-ニューロン62は、それぞれ、重みweを有する励起Vシナプス63、64によって回路40のinputニューロン21に接続される。したがって、|x|を表す2つのスパイクを受信するニューロン61、62のうちの一方は、回路40のinputニューロン21を2回アクティベートし、それにより、時間間隔f(|x|)が回路40のoutputニューロン50上で返される。
さらに、ニューロン61、62は、それぞれ、we/4の重みを有する励起Vシナプス67、68によってready+ニューロン65およびready-ニューロン66に接続される。符号付きメモリ回路は、重みwe/2を有するそれぞれの励起Vシナプス71、72によってready+ニューロン65およびready-ニューロン66に接続されたrecallニューロン70を有する。ready+ニューロン65およびready-ニューロン66の各々は、重みweを有するそれぞれの励起Vシナプス73、74によって回路40のrecallニューロン48に接続される。wi/2の重みを有する抑制Vシナプス75は、ready+ニューロン65からready-ニューロン66に進み、逆に、wi/2の重みを有する抑制Vシナプス76は、ready-ニューロン66からready+ニューロン65に進む。ready+ニューロン65は、2wiの重みを有する抑制Vシナプス77によって符号付きメモリ回路のoutput-ニューロン82に接続される。ready-ニューロン66は、2wiの重みを有する抑制Vシナプス78によって符号付きメモリ回路のoutput+ニューロン81に接続される。
回路40のoutputニューロン50は、重みweを有するそれぞれの励起Vシナプス79、80によってoutput+ニューロン81およびoutput-ニューロン82に接続されている。
符号付きメモリ回路60の出力は、メモリ回路40のreadyニューロン47から来る重みweを有する励起Vシナプス85のレシーバノードであるreadyニューロン84を備える。
図7は、(a)正の入力の場合および(b)負の入力の場合の符号付きメモリ回路60のニューロンの挙動を示している。
ニューロン61、62のうちの一方における時刻
Figure 0006732880
および
Figure 0006732880
での2つのイベントの出現は、ready+ニューロン65またはready-ニューロン66の電位を2ステップで値Vt/2に上げる。並行して、上で説明されているように、メモリ回路40のaccニューロン44は、値
Figure 0006732880
に帯電され、そのreadyニューロン47は、時刻
Figure 0006732880
にイベントを生成する。
readyニューロン47がイベントを生成した後、readyニューロン70は、符号付きデータを読み取るようにアクティベートされてよく、これは図7では時刻
Figure 0006732880
において行われる。
recallニューロン70のアクティベーションは、Vシナプス70または71を介してready+ニューロン65またはready-ニューロン66をトリガし、このトリガは、Vシナプス75または76を介して他のready-ニューロン65またはready+ニューロン66をゼロにリセットする。ready+ニューロン65またはready-ニューロン66によって送出されるイベントは、電位を-2VtにすることによってVシナプス77または78を介してoutput-ニューロン82またはoutput+ニューロン81を抑制する。
時刻
Figure 0006732880
にready+ニューロン65またはready-ニューロン66によって送出されるイベントは、Vシナプス73または74を介して提供される。これは、回路40のoutputニューロン50によってf(|x|)に等しい時間間隔によって隔てられた一対のスパイクの放出をトリガする。Vシナプス79、80を介してoutput+ニューロン81およびoutput-ニューロン82に伝達されるこの一対のスパイクは、時刻
Figure 0006732880
および
Figure 0006732880
に、入力されたデータxの符号に対応するoutput+ニューロン81およびoutput-ニューロン82のうちの一方を2回トリガし、他方のニューロン81、82の電位値をゼロにリセットする。
図6に示されている符号付きメモリ回路60は、次のことが可能であるので、ニューロンの数に関して最適化されないことに留意されたい。
メモリ回路40のinputニューロン21を排除することを、Vシナプス63および64を図4に示されている回路40のfirstニューロン23に直接送信することによって(Vシナプス22の代わりに)、およびwe/2の重みを有する励起Vシナプスをinput+ニューロン61およびinput-ニューロン62からlastニューロン25に加えることによって(Vシナプス24の代わりに)行う。
メモリ回路40のoutputニューロン50を排除することを、geシナプス52を直接、output+ニューロン81およびoutput-ニューロン82に送信することによって(Vシナプス79、80の代わりに)行う。
メモリ回路40のrecallニューロン48を排除することを、Vシナプス73および74をoutput+ニューロン81およびoutput-ニューロン82に直接送信することによって(Vシナプス49の代わりに)、および重みwaccを有する励起geシナプスをready+ニューロン65およびready-ニューロン66から回路40のaccニューロン44に加えることによって(geシナプス51の代わりに)、行う。
A.4.シンクロナイザ
図8は、個数Nの入力上で受信された信号を同期させるために使用される処理回路90を示している(N≧2)。この同期回路のすべてのシナプスは、遅延Tsynを有する。
各信号は、k=0、1、...、N-1について値xkを符号化し、時刻
Figure 0006732880
および
Figure 0006732880
に生じる一対のスパイクの形態をとり、Δtk=f(xk)∈[Tmin,Tmax]である。これらの信号は、同期化方式で回路90の出力のところに返される、すなわち、N=2の場合について図9に示されているように、値xkを符号化する各信号は時刻
Figure 0006732880
および
Figure 0006732880
に生じる、
Figure 0006732880
である、一対のスパイクの形態をとって出力のところに現れる。
図8に示されている回路90は、N個のニューロン入力910、...、91N-1、およびN個のニューロン出力920、...、92N-1を備える。各inputニューロン91kは、重みweを有するVシナプス93kのエミッタノードであり、そのレシーバノードは、それぞれのメモリ回路40kのinputニューロン21kである。各メモリ回路40kのoutputニューロン50kは、重みweを有するVシナプス94kのエミッタノードであり、そのレシーバノードは、同期回路90のoutputニューロン92kである。
同期回路90は、we/Nの重みを有するN個の励起Vシナプス960、...、96N-1のレシーバノードであるsyncニューロン95を備え、そのエミッタノードは、それぞれ、メモリ回路400、...、40N-1のreadyニューロン470、...、47N-1である。回路90は、重みweを有する励起Vシナプス970、...、97N-1、エミッタノードとしてのsyncニューロン95、およびそれぞれ、レシーバノードとしてのメモリ回路400、...、40N-1のrecallニューロン480、...、48N-1も備える。
syncニューロン95は、N個の入力信号がメモリ回路400、...、40N-1内にロードされるときに、すなわち、図9の時刻
Figure 0006732880
Figure 0006732880
にreadyニューロン470、...、47N-1によって生成されるイベントを受信する。これらのN個のイベントの最後が受信されたときに、syncニューロン95は、イベントをTsynだけ後に、すなわち、図9の時刻
Figure 0006732880
に送出する。これは、メモリ回路400、...、40N-1のシナプス970、...97N-1およびシナプス49を介して、各outputニューロン920、...、92N-1上で第1の同期スパイク(
Figure 0006732880
)の放出をトリガする。次いで、各メモリ回路40kは、時刻
Figure 0006732880
にその第2のそれぞれのスパイクを生成する。
図8を参照して同期回路を提示することで、説明がわかりやすくなっているが、いくつかのニューロンを排除することによって複数の簡素化が可能であることに留意されたい。たとえば、inputニューロン910、...、91N-1およびoutputニューロン920、...、92N-1は、オプションであるが、それは、入力はメモリ回路400、...、40N-1のinputニューロン210、...、21N-1によって直接与えられ、出力はメモリ回路400、...、40N-1のoutputニューロン500、...、50N-1によって直接与えられ得るからである。メモリ回路400、...、40N-1のVシナプス46は、readyニューロン470、...、47N-1を通過することなく、syncニューロン95に直接進むことができる。シナプス970、...、97N-1は、メモリ回路のoutputニューロン500、...、50N-1に直接供給されるものとしてよく(したがって、そのシナプス49を置き換える)、syncニューロン95は、accニューロン44における累算の再開を制御するためにメモリ回路400、...、40N-1のgeシナプス51のエミッタノードも形成する(図4および図5)。
単一のイベントのみを、時刻
Figure 0006732880
に、同期出力信号を形成するすべての対の第1のイベントとして出力することも可能である。したがって、syncニューロン95は、回路の特定の出力(outputニューロン920、...、92N-1のうちの1つまたは特定のニューロンであってよい)上で第1のスパイクの放出を直接制御し、次いで、geシナプスを介してメモリ回路400、...、40N-1のaccニューロン44を再アクティベートすることによって各対の第2のスパイクの放出を直接制御する。言い替えれば、syncニューロン95は、様々なメモリ回路のrecallニューロン48として働く。
そのようなシンクロナイザ回路98は、図10によりN=2の場合について例示されており、ここでもまた、すべてのシナプスは遅延Tsynを有する。syncニューロン95は、2つのメモリ回路のaccニューロン42から直接来るwe/2の重みを有する2つのVシナプス46によって励起され、これは、accニューロン44における累算を再開するためのgeシナプス51のエミッタノードである。この例では、「output ref」と表記されている特定のニューロン99は、Vシナプス97を介してsyncニューロン95から受信された励起に応答して、時刻
Figure 0006732880
に2つの出力対の各々の第1のイベントを送出する。このoutput refニューロン99の役割は、代替的に、2つのoutputニューロン920、921のうちの一方によって果たされ得る。
図10の例では、回路98の出力値の値を符号化した2つのイベントは、2つの異なるニューロン(たとえば、値x1に対してニューロン99および921)によって生成されることに留意されたい。
より一般的には、本発明の文脈において、値を表す1つの対の2つのイベントが単一のノードに由来する(出力値の場合に)か、または単一のノードによって受信される(入力値の場合に)必要はない。
B.論理演算
B.1.最小値
図11は、2つの入力ノード101、102上で同期方式で受信された2つの値の間の最小値を計算し、この最小値を出力ノード103上で送出する処理回路100を示している。
inputニューロン101、102およびoutputニューロン103に加えて、この回路100は、2つの「smaller」ニューロン104、105を備える。励起Vシナプス106は、we/2の重みを有し、inputニューロン101からsmallerニューロン104に進む。励起Vシナプス107は、we/2の重みを有し、inputニューロン102からsmallerニューロン105に進む。励起Vシナプス108は、we/2の重みを有し、inputニューロン101からoutputニューロン103に進む。励起Vシナプス109は、we/2の重みを有し、inputニューロン102からoutputニューロン103に進む。励起Vシナプス110は、we/2の重みを有し、smallerニューロン104からoutputニューロン103に進む。励起Vシナプス111は、we/2の重みを有し、smallerニューロン105からoutputニューロン103に進む。抑制Vシナプス112は、wi/2の重みを有し、smallerニューロン104からsmallerニューロン105に進む。抑制Vシナプス113は、wi/2の重みを有し、smallerニューロン105からsmallerニューロン104に進む。抑制Vシナプス114は、重みwiを有し、smallerニューロン104からinputニューロン102に進む。抑制Vシナプス115は、重みwiを有し、smallerニューロン105からinputニューロン101に進む。図11に示されているすべてのシナプス106〜115は、遅延が2.Tsyn+Tneuであるシナプス108、109を除き、遅延Tsynに関連付けられている。
時刻
Figure 0006732880
の各inputニューロン101、102上での第1のスパイクの放出は(図12)、smallerニューロン104、105の各々を時刻
Figure 0006732880
に電位値Vt/2に設定し、時刻
Figure 0006732880
にoutputニューロン103上で第1のイベントをトリガする。図12の例における時刻
Figure 0006732880
の最小値を有するinputニューロン、すなわち、ニューロン101上での第2のスパイクの放出は、smallerニューロンのうちの1つ、すなわち、この例におけるニューロン104を閾値電圧Vtに設定し、それにより、このニューロン104の出力のところで時刻
Figure 0006732880
にイベントが引き起こされる。したがって、シナプス114は、他のinputニューロン102を抑制し、時刻
Figure 0006732880
に第2のスパイクを発生せず、シナプス112は、他のsmallerニューロン105を抑制し、その電位はゼロにリセットされる。smallerニューロン104のトリガは、時刻
Figure 0006732880
にoutputニューロン103の第2のトリガをさらに引き起こす。
最後に、outputニューロン103は、それが送出するイベントの間で、inputニューロン101、102によって生成される2つの対のイベントの間の最小時間間隔
Figure 0006732880
を再現する。この最小値は、入力においてそれを表す対の第2のイベントの受信後に回路100の出力のところで利用可能である。
図11の最小値を計算するための回路100は、Δt=f(x)となるように関数fが増加関数であるときに機能する。
B.2.最大値
図13は、2つの入力ノード121、122上で同期方式で受信された2つの値の間の最大値を計算し、この最大値を出力ノード123上で送出する処理回路120を示している。
inputニューロン121、122およびoutputニューロン123に加えて、この回路120は、2つの「larger」ニューロン124、125を備える。励起Vシナプス126は、we/2の重みを有し、inputニューロン121からlargerニューロン124に進む。励起Vシナプス127は、we/2の重みを有し、inputニューロン122からlargerニューロン125に進む。励起Vシナプス128は、we/2の重みを有し、inputニューロン121からoutputニューロン123に進む。励起Vシナプス129は、we/2の重みを有し、inputニューロン122からoutputニューロン123に進む。抑制Vシナプス132は、重みwiを有し、largerニューロン124からlargerニューロン125に進む。抑制Vシナプス133は、重みwiを有し、largerニューロン125からlargerニューロン124に進む。図13に示されているすべてのシナプスは、遅延Tsynに関連付けられる。
inputニューロン121、122によって同期方式(
Figure 0006732880
)で放出される第1のスパイクは、時刻
Figure 0006732880
にlargerニューロン124、125を電位値Vt/2に設定し、時刻
Figure 0006732880
(図14)でoutputニューロン123上で第1のイベントをトリガする。図14の例における時刻
Figure 0006732880
の最小値を有するinputニューロン、すなわち、ニューロン121上での第2のスパイクの放出は、largerニューロンのうちの1つ、すなわち、この例におけるニューロン124を閾値電圧Vtに設定し、それにより、このニューロン124の出力のところで時刻
Figure 0006732880
にイベントがトリガされる。したがって、シナプス132は、他のlargerニューロン125を抑制し、その電位は値-Vt/2に設定される。第2のスパイクが時刻
Figure 0006732880
に他のinputニューロン122によって放出されたときに(Δt2>Δt1の場合)、largerニューロン125の電位は、シナプス127を介してゼロにリセットされ、outputニューロン123は、時刻
Figure 0006732880
にシナプス129を介してトリガされる。
最後に、outputニューロン123は、それが送出するイベントの間で、inputニューロン121、122によって生成される2つの対のイベントの間の最大時間間隔
Figure 0006732880
を再現する。この最大値は、入力においてそれを表す対の第2のイベントの受信後に回路120の出力のところで利用可能である。
図13の最大値を計算するための回路120は、Δt=f(x)となるような関数fが増加関数であるときに機能する。
C.線形演算
C.1.減算
図15は、2つの入力ノード141、142上で同期方式で受信された2つの値x1、x2の間の差を計算し、結果x1-x2を正の場合に出力ノード143上で、負の場合に別の出力ノード144上で送出する減算回路140を示している。形式(11)の場合と同様に、Δt1=f(x1)およびΔt2=f(x2)となるような関数fが線形関数であることがここで仮定される。
inputニューロン141、142およびoutput+ニューロン143およびoutput-ニューロン144に加えて、減算回路140は、2つのsyncニューロン145、146および2つの「inb」ニューロン147、148を備える。励起Vシナプス150は、we/2の重みを有し、inputニューロン141からsyncニューロン145に進む。励起Vシナプス151は、we/2の重みを有し、inputニューロン142からsyncニューロン146に進む。各々weの重みを有する3つの励起Vシナプス152、153、154は、syncニューロン145からoutput+ニューロン143、output-ニューロン144、およびinbニューロン147にそれぞれ進む。各々重みweを有する3つの励起Vシナプス155、156、157は、syncニューロン146からoutput-ニューロン144、output+ニューロン143、およびinbニューロン148にそれぞれ進む。抑制Vシナプス158は、重みwiを有し、syncニューロン145からinbニューロン148に進む。抑制Vシナプス159は、重みwiを有し、syncニューロン146からinbニューロン147に進む。励起Vシナプス160は、we/2の重みを有し、output+ニューロン143からinbニューロン148に進む。励起Vシナプス161は、we/2の重みを有し、output-ニューロン144からinbニューロン147に進む。抑制Vシナプス162は、2wiの重みを有し、inbニューロン147からoutput+ニューロン143に進む。抑制Vシナプス163は、2wiの重みを有し、inbニューロン163からoutput-ニューロン144に進む。シナプス150、151、154、および157〜163は、Tsynの遅延に関連付けられる。シナプス152および155は、Tmin+3.Tsyn+2.Tneuの遅延に関連付けられる。シナプス153および156は、3.Tsyn+2.Tneuの遅延に関連付けられる。
図15による減算回路140の演算は、結果x1-x2が正である場合について図16によって例示されている。すべて、結果が負の場合も対称的に生じる。
inputニューロン141、142によって同期方式(
Figure 0006732880
)で放出される第1のスパイクは、時刻
Figure 0006732880
にsyncニューロン145、146を電位値Vt/2に設定する。Δt2<Δt1の場合の図16の例における時刻
Figure 0006732880
の最小値を与えるinputニューロン、すなわち、ニューロン142上での第2のスパイクの放出は、syncニューロンのうちの1つ、すなわち、この例におけるニューロン146を閾値電圧Vtに設定し、それにより、このニューロン146の出力のところで時刻
Figure 0006732880
にイベントがトリガされる。そこで、以下のようになる。
シナプス159は、inbニューロン147を抑制し、その電位は時刻
Figure 0006732880
に値-Vtに設定される。
シナプス157は、時刻
Figure 0006732880
にイベントを送出するinbニューロン148を励起し、次いで、そのイベントは、シナプス163を介して、output-ニューロン144を抑制し、その電位は時刻
Figure 0006732880
に値-2Vtに設定される。
次いで、シナプス155は、output-ニューロン144を再励起し、その電位は時刻
Figure 0006732880
に値-Vtに設定される。
シナプス156は、時刻
Figure 0006732880
にイベントを送出するoutput+ニューロン143を励起し、次いで、そのイベントは、inbニューロン148を励起し、その電位は、時刻
Figure 0006732880
に放出された前のイベントの後にゼロにリセットされ、時刻
Figure 0006732880
に値Vt/2に設定される。
次いで、時刻
Figure 0006732880
の他のinputニューロン141上での第2のスパイクの放出は、他のsyncニューロン145を閾値電圧Vtに設定し、これはこのニューロン145の出力のところで時刻
Figure 0006732880
にイベントをトリガする。そこで、以下のようになる。
シナプス158は、inbニューロン148を抑制し、その電位は時刻
Figure 0006732880
に値-Vt/2に設定される。
シナプス154は、その膜電位をゼロにリセットするinbニューロン147を励起する。
シナプス152は、時刻
Figure 0006732880
にイベントを送出するoutput+ニューロン143を励起し、次いで、そのイベントは、inbニューロン148を励起し、その電位は時刻
Figure 0006732880
にゼロにリセットされる。
シナプス153は、output-ニューロン144を励起し、その電位は時刻
Figure 0006732880
にゼロにリセットされる。
時刻
Figure 0006732880
および
Figure 0006732880
に、output-ニューロン144によって受信された2つの励起イベントは、時刻
Figure 0006732880
に受信された抑制ベントの後である。結果として、このニューロン144は、Δt2<Δt1のときにイベントを放出せず、したがって、結果の符号は、適切に知らされる。
最後に、output+ニューロン143は、間に、inputニューロン141、142によって生成される2つの対のイベントの間の時間間隔Δtout、すなわち、
Figure 0006732880
を有する2つのイベントを送出する。
減算器回路140の出力のところで正しい符号を有するoutputニューロン上で、間に時間間隔Δtout=f(x1-x2)を有する2つのイベントが適切に得られる。この結果は、最大の絶対値を有する入力対の第2のイベントの受信後に回路の出力のところで利用可能である。
2つの等しい値が、入力のところで与えられたときに、図15に示されている減算器回路140は、2つの平行な経路をアクティベートし、結果は、output+ニューロン143およびoutput-ニューロン144の両方で送出され、inbニューロン147、148には勝利の経路を選択する時間がない。これを回避するために、減算器回路に、zeroニューロン171および高速Vシナプス172〜178を加えて、図17による減算器回路170を形成することが可能である。
図17において、図15と同じように配置構成されているニューロンおよびシナプスの参照番号は、繰り返されない。zeroニューロン171は、we/2の重みおよび遅延Tneuを有する2つの励起Vシナプス172、173のレシーバノードであり、一方はsyncニューロン145から来て、他方はsyncニューロン146から来る。これは、wi/2の重みおよび2.Tneuの遅延を有する2つの抑制Vシナプス174、175のレシーバノードでもあり、一方はsyncニューロン145から来て、他方はsyncニューロン146から来る。zeroニューロン171は、重みweおよび遅延Tneuを有するVシナプス176を介して自己励起する。また、これは遅延Tneuを有する2つの抑制Vシナプスのエミッタノードでもあり、一方177はinbニューロン148の方へ向き付けられた重みwiを有し、他方178はoutput-ニューロン144の方へ向き付けられた2wiの重みを有する。
zeroニューロン171は、syncニューロン145、146によって送出されるイベントの間の一致の検出器として働く。これら2つのニューロンが関連付けられている入力の第2の符号化スパイクの時刻にのみイベントを送出するとした場合、この時間的一致を検出することは、後者が正しく同期化されている場合に、2つの入力値が等しいことを検出することと同等である。zeroニューロン171は、これがsyncニューロン145、146からTneu未満の時間間隔だけ隔てられている2つのイベントを受信する場合にのみイベントを生成する。この場合、これは、シナプス178を介してoutput-ニューロン144を直接抑制し、シナプス177を介してinbニューロン148をデアクティベートする。
その結果、図17の減算器回路に与えられる2つの等しい入力値により、2つのイベントがoutput+ニューロン143の出力のところでTminに等しい時間間隔で隔てられる、すなわち、zeroの差を符号化し、output-ニューロン144上でイベントを引き起こさない。入力値が等しくない場合、zeroニューロン171は、アクティベートされず、減算器は、図15と同じ方式で機能する。
C.2.累算
図18は、重み付けとともに正の入力値の累算を行うための回路180を示している。目標は、accニューロン184内に、加重和
Figure 0006732880
に関係する電位値をロードすることであり、
ここで、α0、α1、...αN-1は正またはzeroの重み付け係数であり、入力値x0、x1、...、xN-1は正またはゼロである。
各入力値xk(0≦k<N)について、回路180は、inputニューロン181kおよびinput-ニューロン182kを備え、ニューロンのそれぞれのグループ20の各部分は図2を参照しつつ上で説明されているグループ20の場合と同じように配置構成される。
ニューロン20のこれらのN個のグループのfirstおよびlastニューロンの出接続は、計算されるべき加重和の係数αkの関数として構成される。
inputニューロン181k(0≦k<N)に接続されたfirstニューロンは、αk.waccの重みおよびTmin+Tsynの遅延を有する励起geシナプス182kのエミッタノードである。inputニューロン181kに接続されたlastニューロンは、-αk.waccの重みおよび遅延Tsynを有する抑制geシナプス183kのエミッタノードである。
accニューロン184は、項αk.xkを累算する。したがって、各入力kについて、accニューロン184は、励起geシナプス182kおよび抑制geシナプス183kのレシーバノードである。
回路180は、N個のVシナプスのレシーバノードであるsyncニューロン185をさらに備え、各々we/Nの重みおよび遅延Tsynを有し、それぞれN個のニューロン入力181k(0≦k<N)に接続されたlastニューロンから来る。syncニューロン185は、重みwaccおよび遅延Tsynを有する励起geシナプス186のエミッタノードであり、そのレシーバノードは、accニューロン184である。
inputニューロン181k上でΔtk=Tmin+xk.Tcodによって隔てられている2つのスパイクを有する各入力について、accニューロン184は、持続時間Δtk-Tmin=xk.Tcodにわたって量αk.Vt/Tmaxを積分する。
k個の入力信号のすべての第2のスパイクが受信された後、syncニューロン185はトリガされ、geシナプス186を介してaccニューロン184を励起する。accニューロン184の電位は、
Figure 0006732880
に等しい残留時間について増加し続ける。このときに、イベントをトリガするaccニューロン184が閾値Vtに達する。
syncニューロン185によって送出されるものに関するこのイベントの遅延は
Figure 0006732880
である。加重和sは、反転形式(1-s)の回路180によってのみアクセス可能にされる。
回路180は、
Figure 0006732880
という条件の下で説明されたばかりの仕方で機能する。係数αkは、xkの可能なすべての値についてこの条件が満たされるように、すなわち、
Figure 0006732880
が成り立つように正規化され得る。
C.3.加重和
重み付き加算回路190は、図19に示されている構造を有することができる。
(16)に従って加重和sの表現を得るために、図18を参照しつつ説明されているもののタイプの加重累算のための回路180が、別のaccニューロン188およびoutputニューロン189に関連付けられる。
accニューロン188は、重みwaccおよび遅延Tsynを有する励起geシナプス191のレシーバノードであり、励起Vシナプス192のエミッタノードは重みweおよびTmin+Tsynの遅延を有する。outputニューロン189は、また、重みweおよび遅延Tsynを有する励起Vシナプス193のレシーバノードでもある。
直線的に変化する累算は、回路180のaccニューロン184において再開するのと同時にaccニューロン188において開始し、2つのaccニューロン184、188はsyncニューロン185から来る同じイベントによってgeシナプス186、191上で励起される。それらの残留累算時間は、閾値Vtに達するまで、それぞれ、
Figure 0006732880
およびTmaxである。シナプス192は、Tminの相対的遅延を有するので、outputニューロン189上でトリガされる2つのイベントは、間に時間間隔
Figure 0006732880
を有する。
予想される加重和は、回路190の出力のところに表される。N=2およびα01=1/2であるときに、この回路190は、単純な加算器回路になり、スケール係数1/2を有し、これによりaccニューロン184におけるオーバーフローを回避する。
C.4.一次結合
一次結合のより一般的な場合も、上記の式(16)で表されるが、係数αkは、入力値xkと全く同様に、正または負であってよい。一般性を失うことなく、係数および入力値は、係数α0、α1、...、αM-1が正またはゼロであり、係数αM+1、αM+2、...、αN-1が負(N≧2、M≧0、N-M≧0)になるように順序付けられる。
正または負の値を考慮するために、図20に示されている一次結合計算するための回路200は、図18を参照しつつ説明されているもののタイプの2つの累算回路180A、180Bを備える。
累算回路180Aのinputニューロン181kは、それぞれ、0≦k<Mに対する係数αk、およびM≦k<Nに対する反転係数-αkに関連付けられる。0≦k<Mに対するこれらのinputニューロン181kは、xk≧0のときにxkを表す一対のスパイクを受信し、したがって、これらの値x0、...、xM-1に対するinput+タイプのニューロンを形成する。M≦k<Nに対する回路180Aのinputニューロン181kは、xk<0のときにxkを表す一対のスパイクを受信し、したがって、これらの値xM、...、xN-1に対するinput-タイプのニューロンを形成する。
加重累算に対する回路180Bのinputニューロン181kは、それぞれ、0≦k<Mに対する係数-αk、およびM≦k<Nに対する係数αkに関連付けられる。0≦k<Mに対するこれらのinputニューロン181kは、xk<0のときにxkを表す一対のスパイクを受信し、したがって、これらの値x0、...、xM-1に対するinput-タイプのニューロンを形成する。M≦k<Nに対する回路180Bのinputニューロン181kは、xk≧0のときにxkを表す一対のスパイクを受信し、したがって、これらの値xM、...、xN-1に対するinput+タイプのニューロンを形成する。
2つの累算回路180A、180Bは、これにより2N個のVシナプスのレシーバノードであるsyncニューロン185を共有し、各々we/Nの重みおよび遅延Tsynを有し、2N個のinputニューロン181kに結合されたlastニューロンから来る。一次結合計算回路200のsyncニューロン185は、したがって、正または負のN個の入力値x0、...、xN-1がニューロン181k上で受信された後にトリガされる。
回路180Aのsyncニューロン185およびaccニューロン184によって送出されるそれぞれのイベントからイベントの間に時間
Figure 0006732880
が経過する。
回路180Bのsyncニューロン185およびaccニューロン184によって送出されるそれぞれのイベントからイベントの間に時間
Figure 0006732880
が経過する。
次いで、図17に示されているもののタイプであってよい減算器回路170は、sの符号を示す出力上で
Figure 0006732880
の表現を生成するために、時間間隔ΔTAとΔTBとを組み合わせる。このために、図20の一次結合計算回路200は、減算器回路170のinputニューロン141、142の方へ向き付けられた、重みweおよびTmin+Tsynの遅延を有する2つの励起Vシナプス198、199を備える。さらに、重みweおよび遅延Tsynを有する励起Vシナプス201が回路180Aのaccニューロン184から減算器回路170のinputニューロン141に進む。重みweおよび遅延Tsynを有する励起Vシナプス202が回路180Bのaccニューロン184から減算器回路170の他のinputニューロン142に進む。
減算器回路170のoutput-ニューロン144およびoutput+ニューロン143は、それぞれ、重みweおよび遅延Tsynを有する励起Vシナプス205、206を介して、一次結合を計算するための回路200の出力を形成する2つの他のoutput+ニューロン203およびoutput-ニューロン204に接続される。
トリガされるこれら2つのニューロンのうちの一方は、一次結合の結果sの符号を指示する。これは、時間間隔
Figure 0006732880
で隔てられた一対のイベントを送出する。
この結果が利用可能であることは、減算器回路170のoutput+ニューロン143およびoutput-ニューロン144から来る、重みweおよび遅延Tsynを有する、2つの励起Vシナプス208、209を受信する「start」ニューロン207によって外部で指示される。startニューロン207は、重みwiおよび遅延Tsynを有する、Vシナプス210を介して自己抑制する。startニューロン207は、スパイクを、アクティベートされるoutput+ニューロン203またはoutput-ニューロン204の第1のスパイクと同時に送出する。
係数αkは、条件
Figure 0006732880
および
Figure 0006732880
がxkの可能なすべての値について満たされるように、すなわち、
Figure 0006732880
となるように、正規化することができ、一次結合を計算するための回路200が上で説明されているように機能するようにできる。したがって、結果において正規化係数が考慮されなければならない。
D.非線形演算
D1.対数
図21は、数x∈]0,1]の自然対数を計算するための回路210を示しており、その符号化された表現は、Δt=f(x)=Tmin+x.Tcodとして時刻
Figure 0006732880
および
Figure 0006732880
(図22)に2つのイベントが生じるという形でinputニューロン211によって生成される。
inputニューロン211は、図2を参照しつつ説明されているものに類似するノード20のグループに属す。このグループ20のfirstニューロン213は、重み
Figure 0006732880
およびTmin+Tsynの遅延を有する励起geシナプス212のエミッタノードであり、lastニューロン215は、
Figure 0006732880
の重みおよび遅延Tsynを有する抑制geシナプス214のエミッタノードである。2つのgeシナプス212、214は、レシーバノードと同じaccニューロン216を有する。lastニューロン215からaccニューロン216まで、重み
Figure 0006732880
および遅延Tsynを有するgfシナプス217、ならびに1の重みおよび遅延Tsynを有するgateシナプス218もある。
回路210は、lastニューロン215から来る重みweおよび2.Tsynの遅延を有する励起Vシナプス221、ならびにaccニューロン216から来る重みweおよびTmin+Tsynの遅延を有する励起Vシナプス222のレシーバノードであるoutputニューロン220をさらに備える。
図21による対数計算回路210の演算は、図22に例示されている。
inputニューロン211で時刻
Figure 0006732880
に第1のスパイクを放出すると、時刻
Figure 0006732880
にfirstニューロン213の出力でイベントがトリガされる。firstニューロン213は、geシナプス212を介して時刻
Figure 0006732880
にaccニューロン216による累算を開始する。
inputニューロン211で時刻
Figure 0006732880
に第2のスパイクを放出すると、lastニューロン215は時刻
Figure 0006732880
にイベントを送出させられる。geシナプス214によってトランスポートされるこのイベントは、時刻
Figure 0006732880
にaccニューロン216によって実行された累算を停止する。このときに、電位値Vt.xは、accニューロン216に記憶される。
シナプス217および218を介して、lastニューロン215は、gfシナプス217およびgateシナプス218を介して同じ時刻
Figure 0006732880
にaccニューロン216上で指数関数的変化をさらにアクティベートする。代替的に、gfシナプス217によってトランスポートされるイベントは、また、他の演算がデバイス内で実行されている間に、後者において、電位値Vt.xを記憶することが望ましい場合にその後accニューロン216に届く可能性もあることに留意されたい。
シナプス217および218によるアクティベーションの後に、accニューロン216の構成要素gf
Figure 0006732880
に従って変化し、
その膜電位は
Figure 0006732880
に従って変化する。
この電位V(t)は、閾値Vtに達し、時刻
Figure 0006732880
にVシナプス222上でイベントをトリガする。
時刻
Figure 0006732880
におけるVシナプス221により、第1のイベントがoutputニューロン220上でトリガされる。シナプス222によってトリガされる第2のイベントは、時刻
Figure 0006732880
に生じる。
最後に、outputニューロン220によって送出される2つのイベントは、時間間隔
Figure 0006732880
で隔てられる。
入力値xの自然対数log(x)に比例する数の表現は、出力で適切に得られる。0<x≦1なので、対数log(x)は負の値である。
Aを値
Figure 0006732880
と呼ぶとすれば、図21の回路210は、A≦x≦1となるような実数xの表現を受信したときにlogA(x)の表現を送出するが、ただし、logA(.)はAを底とする対数の演算を表す。われわれが、形式(11)において、outputニューロン220によって送出される2つのイベントの間の時間間隔がTmaxを超え得ると考えた場合に、回路210は、0<x≦1である任意の数xに対するlogA(x)の表現を送出する。
D.2.累乗
図23は、数x∈[0,1]に対する累乗回路230を示しており、その符号化された表現は、Δt=f(x)=Tmin+x.Tcodとして時刻
Figure 0006732880
および
Figure 0006732880
(図24)に2つのイベントが生じるという形でinputニューロン231によって生成される。
inputニューロン231は、図2を参照しつつ説明されているものに類似するノード20のグループに属す。このグループ20のfirstニューロン233は、重みgmultおよびTmin+Tsynの遅延を有するgfシナプス232、さらには1の重みおよびTmin+Tsynの遅延を有する励起gateシナプス234のエミッタノードである。グループ20のlastニューロン235は、-1の重みおよび遅延Tsynを有する抑制gateシナプス236、さらには重み
Figure 0006732880
および遅延Tsynを有する励起geシナプス237のエミッタノードである。これらのシナプスは、レシーバノードと同じaccニューロン238を有する。
回路230は、lastニューロン235から来る重みweおよび2.Tsynの遅延を有する励起Vシナプス241、ならびにaccニューロン238から来る重みweおよびTmin+Tsynの遅延を有する励起Vシナプス242のレシーバノードであるoutputニューロン240をさらに備える。
図23による累乗回路230の演算は、図24に例示されている。
inputニューロン231で時刻
Figure 0006732880
に第1のスパイクを放出すると、時刻
Figure 0006732880
にfirstニューロン233の出力でイベントがトリガされる。firstニューロン233は、gfシナプス232およびgateシナプス234を介して時刻
Figure 0006732880
にaccニューロン238での指数関数的に増大する累算を開始する。
accニューロン238の構成要素gfは、
Figure 0006732880
に従って変化し、その膜電位は、
Figure 0006732880
に従って変化する。
inputニューロン231で時刻
Figure 0006732880
に第2のスパイクを放出すると、lastニューロン235は時刻
Figure 0006732880
にイベントを送出させられる。gateシナプス236によってトランスポートされるこのイベントは、時刻
Figure 0006732880
にaccニューロン238によって実行された指数関数的に変化する累算を停止する。このときに、電位値Vt.(1-Ax)は、accニューロン238に記憶され、上記のように、
Figure 0006732880
である。geシナプス237を介して、lastニューロン235は、accニューロン238上で重み
Figure 0006732880
を有する線形力学を、同じ時刻
Figure 0006732880
にさらにアクティベートする。
したがって、ニューロン238の膜電位は、
Figure 0006732880
に従って変化する。
この電位V(t)は、閾値Vtに達し、時刻
Figure 0006732880
にVシナプス222上でイベントをトリガする。
時刻
Figure 0006732880
におけるVシナプス241により、第1のイベントがoutputニューロン240上でトリガされる。シナプス242によってトリガされる第2のイベントは、時刻
Figure 0006732880
に生じる。
最後に、outputニューロン240によって送出される2つのイベントは、時間間隔
Figure 0006732880
で隔てられる。
そこで、図23の回路230は、0から1の範囲内の数xの表現を受信したときにAxの表現を送出する。この回路は、1よりも大きい入力値xを受け付け(Δt>Tmax)、また、そのoutputニューロン240上でAxの表現を送出する。
図23の回路230は、図21の回路210によって実行される演算の逆演算を実行する。
これは、対数計算回路と累乗回路との間に単純な演算を使用して様々な非線形計算を実装するために使用され得る。たとえば、2つの対数の和で乗算を実行させることができ、2つの対数の減算で除算を実行させることができ、対数をn回足した和で数xをn乗することができる。
D.3.乗算
図25は、2つの値x1、x2の積を計算する乗算器回路250を示しており、その符号化された表現は、それぞれ、Δt1=f(x1)=Tmin+x1.TcodおよびΔt2=f(x2)=Tmin+x2.Tcodとして、値x1については時刻
Figure 0006732880
および
Figure 0006732880
に、値x2(図25)については時刻
Figure 0006732880
および
Figure 0006732880
に生じるイベントの2つの対の形態で2つのinputニューロン2511、2512によって生成される。
各inputニューロン251k(k=1または2)は、図2を参照しつつ説明されているものに類似するノード20kのグループに属す。このグループ20kのfirstニューロン253kは、重み
Figure 0006732880
およびTmin+Tsynの遅延を有する励起geシナプス252kのエミッタノードであり、lastニューロン255kは、
Figure 0006732880
の重みおよび遅延Tsynを有する抑制geシナプス254kのエミッタノードである。ノード20kのグループからの2つのgeシナプス252k、254kは、レシーバノードとして、図21のaccニューロン216と同様の役割を果たす、同じaccニューロン256kを有する。
回路250は、それぞれlastニューロン2551、2552から来るwe/2の重みおよび遅延Tsynを有する2つの励起Vシナプス2611、2612のレシーバノードであるsyncニューロン260をさらに備える。重みgmultおよび遅延Tsynを有するgfシナプス262、ならびに1の重みおよび遅延Tsynを有する励起gateシナプス264は、syncニューロン260からaccニューロン2561に進む。
重みgmultおよび遅延Tsynを有するgfシナプス265、ならびに1の重みおよび遅延Tsynを有する励起gateシナプス266は、accニューロン2561からaccニューロン2562に進む。
回路250は、図23のaccニューロン238と同様の役割を果たす別のaccニューロン268を備える。accニューロン268は、重みgmultおよび3Tsynの遅延を有するgfシナプス269、ならびに1の重みおよび3Tsynの遅延を有する励起gateシナプス270のレシーバノードであり、両方ともsyncニューロン260から来る。さらに、accニューロン268は、-1の重みおよび遅延Tsynを有する抑制gateシナプス271、ならびに重み
Figure 0006732880
および遅延Tsynを有する励起geシナプス272のレシーバノードであり、両方ともaccニューロン2562から来る。
最後に、回路250は、accニューロン2562から来る、重みweおよび2Tsynの遅延を有する励起Vシナプス275、ならびにaccニューロン268から来る、重みweおよびTsyn+Tsynの遅延を有する励起Vシナプス276のレシーバノードであるoutputニューロン274を有する。
図25による乗算器回路250の演算は、図26に例示されている。
2つのaccニューロン2561、2562の各々は、それぞれ、最初に図21のaccニューロン216に似た挙動を示し、線形数列2781、2782はx1.Tcod、x2.Tcodのそれぞれの持続時間を有する第1の期間に重み
Figure 0006732880
を有し、それにより、電位値Vt.x1およびVt.x2はaccニューロン2561、2562内に記憶される。
最小値を有するinputニューロン(x1>x2である図26に示されている例におけるinputニューロン2512)で時刻
Figure 0006732880
に第2のスパイクを放出することにより、時刻
Figure 0006732880
にgeシナプス2542を介して対応するaccニューロン2562における直線的に変化する累算を停止する。したがって、このaccニューロン2562の膜電位は、シナプス265、266を介してその再アクティベーションまで持続するプラトー279を有する。時刻
Figure 0006732880
に、syncニューロン260の電位は、Vシナプス2612を介してlastニューロン2552からイベントが受信されたことで、値Vt/2になる。
最大値を有するinputニューロン(図26の場合のinputニューロン2511)で時刻
Figure 0006732880
に第2のスパイクを放出することにより、時刻
Figure 0006732880
にgeシナプス2541を介して対応するaccニューロン2561における直線的に変化する累算を停止する。それと同時に、このsyncニューロン260の電位は、Vシナプス2611上でイベントが受信されたことにより、値Vtに達する。この結果、シナプス262および264上で時刻
Figure 0006732880
にイベントを放出する。次いで、指数関数的変化2801は、時刻
Figure 0006732880
に直線的な変化2781の代わりにaccニューロン2561においてアクティベートされる。並行して、シナプス269、270は、時刻
Figure 0006732880
にaccニューロン268において指数関数的変化281をアクティベートする。
accニューロン2561の電位は、値Vtに達し、時刻
Figure 0006732880
にシナプス265、266上でイベントをトリガする。
指数関数的変化2801は、時刻
Figure 0006732880
にaccニューロン2562でアクティベートされる。このaccニューロン2562の電位は、閾値Vtに達し、時刻
Figure 0006732880
にシナプス271、272、275上でイベントをトリガする。gateシナプス271は、時刻
Figure 0006732880
にaccニューロン268における指数関数的変化281をデアクティベートし、同時に、accニューロン268における直線的な変化282は、値
Figure 0006732880
から開始して、geシナプス272を介してアクティベートされる。
Vシナプス275は、時刻
Figure 0006732880
にoutputニューロン274上で第1のスパイクの放出をトリガする。
accニューロン268は、閾値Vtに達し、時刻
Figure 0006732880
にVシナプス276上でイベントをトリガする。この結果、時刻
Figure 0006732880
にoutputニューロン274で第2のスパイクを放出する。
最後に、outputニューロン268によって送出される2つのイベントは、時間間隔
Figure 0006732880
で隔てられる。
そこで、図25の回路250は、outputニューロン268上で、Aと1との間の2つの数x1、x2の積x1.x2の表現を送出し、そのそれぞれの表現を、inputニューロン2511、2512上で受信する。
このために、イベントの対は、syncニューロン260が同期を処理するので、inputニューロン2511、2512上で同期方式で受信されなければならないということはなかった。
D.4.符号付き乗算
図27は、2つの符号付き値x1、x2の積を計算する乗算器回路290を示している。図27に示されているすべてのシナプスは、遅延Tsynを有する。
各入力値xk(1≦k≦2)について、乗算器回路290は、重みweを有する2つのそれぞれのVシナプス293kおよび294kのエミッタノードであるinput+ニューロン291kおよびinput-ニューロン292kを備える。Vシナプス2931および2941は、図25に示されているタイプの乗算器回路250のinputニューロン2511の方へ向き付けられるが、Vシナプス2931および2941は、回路250の他のinputニューロン2512の方へ向き付けられる。
乗算器回路290は、回路250のoutputニューロン274から来る重みweを有する2つのそれぞれの励起Vシナプス297および298のレシーバノードであるoutput+ニューロン295およびoutput-ニューロン296を有する。
乗算器回路290は、乗算の結果の符号を選択するための論理を形成するように接続されている4つのsignニューロン300〜303も備える。各signニューロン300〜303は、4つのinputニューロン291k、292kのうちの2つから来るwe/4の重みを有する2つのそれぞれの励起Vシナプスのレシーバノードである。input+ニューロン2911、2912に接続されているsignニューロン300は、2つの正の入力x1、x2の受信を検出する。これは、output-ニューロン296に進む2wiの重みを有する抑制Vシナプス305のエミッタノードを形成する。input-ニューロン2921、2922に接続されているsignニューロン303は、2つの負の入力x1、x2の受信を検出する。これは、output-ニューロン296に進む2wiの重みを有する抑制Vシナプス308のエミッタノードを形成する。input-ニューロン2921およびinput+ニューロン2921に接続されているsignニューロン301は、負の入力x1および正の入力x2の受信を検出する。これは、output+ニューロン295に進む2wiの重みを有する抑制Vシナプス306のエミッタノードを形成する。input+ニューロン2911およびinput-ニューロン2922に接続されているsignニューロン302は、正の入力x1および負の入力x2の受信を検出する。これは、output+ニューロン295に進む2wiの重みを有する抑制Vシナプス307のエミッタノードを形成する。
抑制Vシナプスは、signニューロン300〜303の間に配置構成され、これにより、それらのうちの1つのみが、output+ニューロン295およびoutput-ニューロン296のうちの一方を抑制するように働くことを確実にする。したがって、積の符号(+または-)に対応する各signニューロン300〜303は、反対符号に対応する2つのsignニューロンにそれぞれ進むwe/2の重みを有する2つの抑制Vシナプスのエミッタノードである。
こうして配置構成されている図27の回路290は、2つの数x1、x2が入力291k、292k上でそれぞれの符号とともに提示されたときに、x1.x2の符号に従って、その出力295、296のうちの一方の上で時間間隔f(|x1.x2|)で隔てられた2つのイベントを送出する。
図17の場合のように、入力の1つでゼロを検出するための論理回路が追加されてよく、これにより、ゼロの入力がoutput+ニューロン295上で生成されるがoutput-ニューロン296上では生成されない2つのイベントの間の時間間隔Tminをもたらすことを確実にする。
E.微分方程式の解法
E.1.積分
図28は、input+ニューロン311およびinput-ニューロン312の対のニューロン上で符号付き形式で与えられる微分係数から信号を再構成する回路310を示している。積分された信号は、その符号に従って、output+ニューロン313およびoutput-ニューロン314の対のニューロンによって与えられる。図28に示されているシナプス321〜332は、すべて重みweを有する励起Vシナプスである。これらはすべて、遅延がTmin+Tsynであるシナプス329を除いて、遅延Tsynを有する。
積分を実行するために、回路310は、図20に示されているタイプの一次結合回路200を使用し、ここで、N=2、係数α0=1およびα1=dt、dtは選択された積分ステップサイズとする。
input+ニューロン311およびinput-ニューロン312は、それぞれ、2つのVシナプス321、322によって係数α1=dtに関連付けられている回路200のinput+およびinput-ニューロン1811に接続される。
係数α0=1に関連付けられている、回路200の他のinput+およびinput-ニューロン1811は、それぞれ、回路217の2つのoutput+ニューロン315およびoutput-ニューロン316に2つのVシナプス323、324によって接続され、その役割は積分プロセスに対する初期化値x0を与えることである。回路317は、実質的に、図1に示されている方式で同じrecallニューロン15に接続されているoutput+ニューロン315およびoutput-ニューロン316の対からなる。
積分回路310の別のinitニューロン318は、シナプス325のエミッタノードであり、そのレシーバノードは、回路317のrecallニューロン15である。initニューロン318は、積分器に、回路317に記憶されている初期値x0をロードする。
シナプス326、327は、一次結合回路200のoutput+ニューロン143からそのinput+ニューロン1810に、積分回路200のoutput-ニューロン144からそのinput-ニューロン1810にフィードバックを送るように配置構成される。
startニューロン319は、積分回路180のinput+ニューロン1811上で時間間隔Tminで隔てられた2つのイベントの形でゼロ値を供給する2つのシナプス328、329のエミッタノードである。
一次結合回路200のoutput+ニューロン143およびoutput-ニューロン144は、2つのシナプス330、331のそれぞれのエミッタノードであり、そのレシーバノードは、それぞれ、積分回路310のoutput+ニューロン313およびoutput-ニューロン314である。
最後に、積分回路310は、一次結合回路200のstartニューロン207から来るシナプス332のレシーバノードであるnew inputニューロン320を有する。
初期値x0は、その符号に従って、initニューロン318、次いでstartニューロン319がアクティベートされた後に、output+ニューロン313またはoutput-ニューロン314上で送出される。それと同時に、new inputニューロン320によってイベントが送出される。このイベントは、回路310の環境に、k=0の場合の微分値g'(k.dt)を与えることができることを知らせるものである。微分値g'(k.dt)がinput+ニューロン311またはinput-ニューロン312上で与えられるとすぐに、新しい積分値がoutput+ニューロン313またはoutput-ニューロン314によって送出され、new inputニューロン320によって送出された新しいイベントが、回路310の環境に、次の微分値g'((k+1).dt)が与えられ得ることを知らせる。このプロセスは、微分値g'(k.dt)が与えられる(k=0、1、2、など)限り繰り返される。
(k+1)次微分値g'(k.dt)が積分器回路310に与えられた後、値の表現
Figure 0006732880
が出力のところで得られ、これは、付加定数まで、T=(k+1).dtである場合に
Figure 0006732880
の近似となっている。
図1〜図28を参照しつつ上で説明されている回路は、入力および/または出力のところで、操作される値が、ニューロンによって受信されるかまたは送出されるイベントの間の時間間隔によって表される多数のタイプの計算を実行するように組み立てられ、構成され得る。
特に、図29、図31、および図33は、微分方程式を解くために使用される本発明による処理デバイスの例を示している。計算は、これらの図のように製作された回路により、純粋に一例として、すなわち、τm=100s、τf=20ms、Vt=10mV、Tmin=10ms、およびTcod=100msのように選択したパラメータを用いて実行された。
E.2.一階微分方程式
図29は、微分方程式
Figure 0006732880
の解を求める処理デバイスを示しており、
ここで、τおよびXは様々な値を取り得るパラメータである。図29に示されているシナプスは、すべて重みweおよび遅延Tsynを有する励起Vシナプスである。
方程式(24)を解くために、図29のデバイスでは、
N=2および係数α0=-1/τおよびα1=+1/τとした、図20に示されているような一次結合回路200と、
積分ステップサイズをdtとした、図28に示されているような積分器回路310と、
図28を参照しつつ説明されている回路317のように、定数Xを、Xの符号に従って、output+ニューロン315またはoutput-ニューロン316のいずれかによって送出される2つのスパイクの間の時間間隔f(|X|)の形で与えるための回路317とを使用する。
定数Xは、積分器回路310のnew inputニューロン320から来るシナプス340のレシーバノードであるrecallニューロン15の各アクティベーションの後に一次結合回路200内の係数α1=1/τに関連付けられているinput+およびinput-ニューロン1811のうちの1つで与えられる。2つのシナプス341、342は、積分器回路310の出力ノードoutput+313から一次結合回路200の他の入力ノードinput+1810に、および回路310の出力ノードoutput-314から回路200の他の入力ノードinput-1810にフィードバックを送る。2つのシナプス343、344は、一次結合回路200の出力ノードoutput+203から積分器回路310の入力ノードinput+311へ進み、それぞれ、回路200の出力ノードoutput+204から回路310の入力ノードinput-312に進む。
図29のデバイスは、積分器回路310のoutput+ニューロン313およびoutput-ニューロン314から来る2つのシナプスのレシーバノードであるoutput+ニューロン346とoutput-ニューロン347の対を有する。
initニューロン348およびstartニューロン349は、積分のプロセスを初期化し、開始することを可能にする。initニューロン348は、初期値を積分器回路310にロードするために積分プロセスの前にトリガされなければならない。startニューロン349は、回路310から第1の値を送出するようにトリガされる。
図29のデバイスは、前の図を参照しつつ説明されているような構成要素が使用される場合に118個のニューロンを使用して作られる。ニューロンのこの数は、最適化を介して減らすことができる。
パラメータτ、Xの様々なセットを使用し、積分ステップサイズdt=0.5とした場合のこのデバイスのシミュレーションの結果が、τの様々な値について図30Aに、またXの様々な値について図30Bに、提示されている(X=-0.2、X=0.1、X=-0.4)。図30Aおよび図30Bに示されている曲線C1-C3、C'1-C'3の各点は、output+ニューロン346またはoutput-ニューロン347によって送出される一対のスパイクによって符号化されたそれぞれの出力値に対応する。微分方程式(24)の解X(t)についてこうして得られた曲線は、(解析解を介して)予想されているものに対応することが観察される。
E.3.二階微分方程式
図31は、微分方程式
Figure 0006732880
の解を求める処理デバイスを示しており、
ここで、ξおよびω0は様々な値を取り得るパラメータである。図31に示されているシナプスは、すべて重みweおよび遅延Tsynを有する励起Vシナプスである。この例で操作される値はすべて正であるので、正の値に対する経路と負の値に対する経路とについて異なる2つの経路を用意する必要はない。したがって、正の値に関係する経路のみが含まれる。
方程式(25)を解くために、図31のデバイスでは、
N=3および係数α020 2およびα1=-ξ.ω0とした、図20に示されているような一次結合回路200と、
積分ステップサイズをdtとした、図28に示されているものに似た2つの積分器回路310A、310Bと、
図1を参照しつつ説明されている回路のように、定数Xを、outputニューロン16によって送出される2つのスパイクの間の時間間隔f(X)の形で与えるための回路317(X>0)とを使用する。
定数Xは、第2の積分器回路310Bのnew inputニューロン320から来るシナプス350のレシーバノードであるrecallニューロン15の各アクティベーションの後に一次結合回路200内の係数α20 2に関連付けられているinputニューロン1812のところで与えられる。2つのシナプス351、352は、第2の積分器回路310Bの出力ノードoutput313から係数α1=-ξ.ω0に関連付けられている一次結合回路200の入力ノードinput1811へ、それぞれ、第1の積分器回路310Aの出力ノードoutput313から係数α00 2に関連付けられている、回路200の他の入力ノードinput1810へフィードバックを送る。シナプス353は、一次結合回路200の出力ノードoutput203から第1の積分器回路310Aの入力ノードinput311に進む。シナプス354は、第1の積分器回路310Aの出力ノードoutput313から第2の積分器回路310Bの入力ノードinput311に進む。
図31のデバイスは、第2の積分器回路310Bのoutputニューロン313から来るシナプスのレシーバノードであるoutputニューロン356を有する。
initニューロン358およびstartニューロン359は、積分のプロセスを初期化し、開始することを可能にする。initニューロン358は、初期値を積分器回路310A、310Bにロードするために積分プロセスの前にトリガされなければならない。startニューロン359は、第2の積分器回路310Bから第1の値を送出するようにトリガされる。
図31のデバイスは、前の図を参照しつつ説明されているような構成要素が使用される場合に187個のニューロンを使用して作られる。ニューロンのこの数は、最適化を介して減らすことができる。
パラメータξ、ω0の様々なセットを使用し、積分ステップサイズdt=0.2およびX=-0.5とした場合のこのデバイスのシミュレーションの結果が、ω0の様々な値について図32Aに、またξの様々な値について図32Bに、提示されている。図32Aおよび図32Bに示されている曲線D1-D3、D'1-D'3の各点は、outputニューロン356によって送出される一対のスパイクによって符号化されたそれぞれの出力値に対応する。微分方程式(25)の解X(t)についてこうして得られた曲線はここでもまた予想されているものに対応することは明らかである。
E.4.非線形微分方程式系の解法
図33は、決定論的非周期性フローのモデリングのためにE. Lorenzによって提案された非線形微分方程式系
Figure 0006732880
の解を求める処理デバイスを示している(「Deterministic Nonperiodic Flow」、Journal of the Atmospheric Sciences、第20巻、第2号、130〜141頁、1963年3月)。
モデル化されたシステムがカオス的挙動を示すことを確実にするために、図33のデバイスは、パラメータσ=10、β=8/3、およびρ=28の選択でシミュレートされた。変数は、状態変数X、Y、およびZを得るためにスケーリングされ、上記の形式(11)で表すことが可能であるように各々区間[0,1]内で変化する。システムの初期状態は、X=-0.15、Y=-0.20、およびZ=0.20に設定された。使用される積分ステップサイズはdt=0.01であった。
図33に示されているシナプスは、すべて重みweおよび遅延Tsynを有する励起Vシナプスである。図面を簡素化するために、1つの経路のみが図示されているが、毎回、変数の正の値に1つの経路、それに並行して、負の値に1つの経路があることは理解されるべきである。
方程式系(26)を解くために、図33のデバイスでは、
X、Y、およびZの微分に含まれる非線形性を計算するために図27に示されているものに似た2つの符号付き乗算器回路290A、290Bと、
X、Y、およびZの微分を計算するために図20に示されているものに似た3つの一次結合回路200A、200B、200Cと、
システムの状態を変化させる前に3つの微分が計算されるのを待つためにN=3とした場合の図8に示されているもののタイプの符号付きシンクロナイザ回路90と、
微分係数X、Y、およびZから新しい状態を計算するために図28に示されているものに似たステップサイズdtを有する3つの積分器回路310A、310B、310Cとを使用する。
一次結合回路200Aは、N=2および係数α0=σおよびα1=-σとなるように構成される。inputニューロン181A0は、積分器回路310Aのoutputニューロン313Aから励起され、inputニューロン181A1は、積分器回路310Bのoutputニューロン313Bから励起される。outputニューロン203Aは、inputニューロン910からシンクロナイザ回路90まで及ぶシナプスのエミッタノードである。
一次結合回路200Bは、N=3および係数α0=ρおよびα12=-1となるように構成される。inputニューロン181B0は、積分器回路310Bのoutputニューロン313Bから励起され、inputニューロン181B1は、積分器回路310Aのoutputニューロン313Aから励起され、inputニューロン181B2は、乗算器回路290Aのoutputニューロン295Aから励起される。outputニューロン203Bは、inputニューロン911からシンクロナイザ回路90に至るシナプスのエミッタノードである。
一次結合回路200Cは、N=2および係数α0=1およびα1=-βとなるように構成される。inputニューロン181C0は、乗算器回路290Bのoutputニューロン295Bから励起され、inputニューロン181C1は、積分器回路310Cのoutputニューロン313Cから励起される。outputニューロン203Cは、inputニューロン912からシンクロナイザ回路90まで及ぶシナプスのエミッタノードである。
3つのシナプスは、それぞれ、シンクロナイザ回路90のoutputニューロン920から積分器回路310Aのinputニューロン311Aに進み、回路90のoutputニューロン921から積分器回路310Bのinputニューロン311Bに進み、回路90のoutputニューロン922から積分器回路310Cのinputニューロン311Cに進む。
乗算器回路290Aのinputニューロン291A1は、積分器回路310Aのoutputニューロン313Aから励起され、inputニューロン291A2は、積分器回路310Cのoutputニューロン313Cから励起される。乗算器回路290Bのinputニューロン291B1は、積分器回路310Aのoutputニューロン313Aから励起され、inputニューロン291B2は、積分器回路310Bのoutputニューロン313Bから励起される。
図33のデバイスは、積分器回路310A、310B、310Cのoutputニューロン313A、313B、および313Cから来る3つのそれぞれの励起Vシナプスのレシーバノードである3つのoutputニューロン361、362、および363を有する。これら3つのoutputニューロン361〜363は、一対のイベントを送出し、その間隔は、方程式系(26)について計算された解{X(t),Y(t),Z(t)}の値を表す。
図33のデバイスは、前の図を参照しつつ説明されているような構成要素が使用される場合に549個のニューロンを使用して作られる。ニューロンのこの数は、最適化を介して著しく減らすことができる。
図34内の点は、各々、それぞれ図33に示されているデバイスのシミュレーションを例示する三次元グラフ内の3つのoutputニューロン361〜363によって送出される3対のスパイクによって符号化された出力値の三つ組み{X(t),Y(t),Z(t)}に対応する。点Pは、シミュレーションの初期化値X(0)、Y(0)、およびZ(0)を表す。他の点は、図33のデバイスによって計算された三つ組みを表す。
この系は、Lorenzによって説明されているストレンジアトラクターに従って予想通りの挙動を示す。
F.議論
一組の処理ノードにおけるイベントの間の時間間隔の形態でデータを表現する提案されている計算アーキテクチャは、非常に効率よく高速に初等関数を実行する比較的単純な回路を設計することを可能にすることが示された。一般に、計算の結果は、様々な入力データが提供されるとすぐに利用可能である(わずかなシナプス遅延で可能)。
これらの回路は、より高度な計算を実行するように組み立てられ得る。これらは、強力な計算構造が構築できる一種の基本構造を形成する。これの例は、微分方程式の解に関して示されている。
基本回路が組み立てられるときに、使用されるニューロンの数を最適化することが可能である。たとえば、回路のいくつかが、inputニューロン、および/またはoutputニューロンおよび/またはfirst、lastニューロンとともに説明された。実際、基本回路間のインターフェースにおけるこれらのニューロンは、実行される機能を変更することなく排除され得る。
処理ノードは、典型的には、行列として構成される。これは、FPGAを使用する実装に特に十分役立つ。
処理デバイスの例示的な実装における、一組の処理ノード、またはこの一組のノードの一部を形成するプログラム可能なアレイ400は、図35に概略が示されている。アレイ400は複数のニューロンからなり、これらはすべてその接続で受信されたイベントに従って同じ挙動モデルを有する。たとえば、挙動は、上で示されている方程式(1)によってモデル化することができ、この場合、アレイの様々なノードに対してパラメータτmおよびτfは同一である。
プログラミングまたは構成論理回路420は、アレイ400のノードの間の接続のシナプス重みおよび遅延パラメータを調整するためにアレイ400に関連付けられる。この構成は、人工ニューラルネットワークの分野における決まり切った慣例である方式に類似する方式で実行される。この文脈において、接続のパラメータの構成は、実行される計算プログラムに従って、時間間隔とそれらが表す値との間で使用される関係、たとえば、関係式(11)を考慮しながら実行される。プログラムが基本演算に細分される場合、その構成は、上で説明されたもののタイプの回路の組み立ての結果行うことができる。この構成は、マンマシンインターフェースを備える制御ユニット410の制御の下で行われる。
制御ユニット410の別の役割は、好適な時間間隔で隔てられたイベントの形態で、プログラム可能なアレイ400に入力値を渡し、アレイ400の処理ノードが計算を実行し、結果を送出することである。これらの結果は、ユーザに、またはそれらを使用するアプリケーションに提示されるように制御ユニット410によって素早く復元される。
この計算アーキテクチャは、超並列計算を高速に実行するのに最適である。
さらに、このタイプの構成に最適であるアルゴリズムの実行のために、計算のパイプライン構成をとることは比較的容易である。
上で説明されている実施形態は、本発明を例示したものである。付属の請求項に示されている本発明の範囲から逸脱することなく様々な修正を加えることができる。
10 回路
11、12 Vシナプス
15 recallニューロン
16 outputニューロン
18 処理回路
18 反転メモリデバイス
20 ノード
20 グループ
21 inputニューロン
210、...、21N-1 inputニューロン
21k inputニューロン
22、24 励起Vシナプス
23 「first」ニューロン
24 Vシナプス
25 「last」ニューロン
26、27 geシナプス
28 Vシナプス
30 accニューロン
31 recallニューロン
32 励起Vシナプス
33 outputニューロン
34 励起Vシナプス
35 励起Vシナプス
40 処理回路
40 メモリ回路
400、...、40N-1 メモリ回路
40k メモリ回路
41 geシナプス
42 第1のaccニューロン
43 geシナプス
44 第2のaccニューロン
45 geシナプス
46 Vシナプス
47 readyニューロン
470、...、47N-1 readyニューロン
48 recallニューロン
480、...、48N-1 recallニューロン
49 Vシナプス
50 outputニューロン
500、...、50N-1 outputニューロン
50k outputニューロン
51 geシナプス
52 Vシナプス
60 処理回路
60 符号付きメモリ回路
61 input+ニューロン
62 input-ニューロン
63、64 励起Vシナプス
65 ready+ニューロン
66 ready-ニューロン
67、68 励起Vシナプス
70 recallニューロン
71、72 励起Vシナプス
73、74 励起Vシナプス
75 抑制Vシナプス
76 抑制Vシナプス
77 抑制Vシナプス
78 抑制Vシナプス
79、80 励起Vシナプス
81 output+ニューロン
82 output-ニューロン
84 readyニューロン
85 励起Vシナプス
90 処理回路
90 符号付きシンクロナイザ回路
910、...、91N-1 ニューロン入力
910 inputニューロン
911 inputニューロン
912 inputニューロン
920、...、92N-1 ニューロン出力
920 outputニューロン
921 outputニューロン
922 outputニューロン
91k inputニューロン
92k outputニューロン
93k Vシナプス
94k Vシナプス
95 syncニューロン
960、...、96N-1 励起Vシナプス
970、...、97N-1 励起Vシナプス
97 Vシナプス
98 シンクロナイザ回路
99 ニューロン
99 output refニューロン
100 処理回路
101、102 入力ノード
101 inputニューロン
102 inputニューロン
103 出力ノード
103 outputニューロン
104 smallerニューロン
105 smallerニューロン
106〜115 シナプス
106 励起Vシナプス
107 励起Vシナプス
108 励起Vシナプス
109 励起Vシナプス
110 励起Vシナプス
111 励起Vシナプス
112 抑制Vシナプス
113 抑制Vシナプス
114 抑制Vシナプス
115 抑制Vシナプス
120 処理回路
121、122 入力ノード
123 出力ノード
124 largerニューロン
125 largerニューロン
126 励起Vシナプス
127 励起Vシナプス
128 励起Vシナプス
129 励起Vシナプス
132 抑制Vシナプス
133 抑制Vシナプス
140 減算回路
141、142 入力ノード
141 inputニューロン
142 inputニューロン
143 出力ノード
143 output+ニューロン
144 output-ニューロン
145 syncニューロン
146 syncニューロン
147 inbニューロン
148 inbニューロン
150、151、154、157〜163 シナプス
150 励起Vシナプス
151 励起Vシナプス
152、153、154 励起Vシナプス
155、156、157 励起Vシナプス
159 抑制Vシナプス
160 励起Vシナプス
161 励起Vシナプス
162 抑制Vシナプス
163 inbニューロン
163 抑制Vシナプス
170 減算器回路
171 zeroニューロン
172〜178 高速Vシナプス
172、173 励起Vシナプス
174、175 抑制Vシナプス
176 Vシナプス
177、178 シナプス
180 回路
180A、180B 累算回路
1810 入力ノードinput+
1810 入力ノードinput-
181A0 inputニューロン
181A1 inputニューロン
181B0 inputニューロン
181B1 inputニューロン
181B2 inputニューロン
181C0 inputニューロン
181C1 inputニューロン
181k inputニューロン
182k input-ニューロン
182k 励起geシナプス
183k 抑制geシナプス
184 accニューロン
185 syncニューロン
186 励起geシナプス
188 accニューロン
189 outputニューロン
190 重み付き加算回路
191 励起geシナプス
192 励起Vシナプス
193 励起Vシナプス
198、199 励起Vシナプス
200 一次結合回路
200A、200B、200C 一次結合回路
201 励起Vシナプス
202 励起Vシナプス
203 output+ニューロン
203A outputニューロン
204 output-ニューロン
205、206 励起Vシナプス
207 「start」ニューロン
208、209 励起Vシナプス
210 Vシナプス
210 回路
210 対数計算回路
211 inputニューロン
212 励起geシナプス
213 firstニューロン
214 抑制geシナプス
215 lastニューロン
216 accニューロン
217 gfシナプス
218 gateシナプス
220 outputニューロン
221 励起Vシナプス
222 励起Vシナプス
230 累乗回路
231 inputニューロン
232 gfシナプス
233 firstニューロン
234 励起gateシナプス
235 lastニューロン
236 抑制gateシナプス
237 励起geシナプス
238 accニューロン
240 outputニューロン
241 励起Vシナプス
242 励起Vシナプス
250 乗算器回路
2511、2512 inputニューロン
252k 励起geシナプス
253k firstニューロン
254k 抑制geシナプス
2542 geシナプス
255k lastニューロン
2551、2552 lastニューロン
256k accニューロン
2561 accニューロン
2562 accニューロン
260 syncニューロン
2611、2612 励起Vシナプス
262 gfシナプス
264 励起gateシナプス
265 gfシナプス
266 励起gateシナプス
268 accニューロン
269 gfシナプス
270 励起gateシナプス
271 抑制gateシナプス
272 励起geシナプス
274 outputニューロン
275 励起Vシナプス
276 励起Vシナプス
2781、2782 線形数列
279 プラトー
2801 指数関数的変化
281 指数関数的変化
290 乗算器回路
290A、290B 符号付き乗算器回路
291k input+ニューロン
292k input-ニューロン
2921、2922 input-ニューロン
291A1 inputニューロン
291A2 inputニューロン
291B1 inputニューロン
291B2 inputニューロン
293k、294k Vシナプス
2931、2941 Vシナプス
295 output+ニューロン
295A outputニューロン
295B outputニューロン
296 output-ニューロン
297、298 励起Vシナプス
300〜303 signニューロン
302 signニューロン
305 抑制Vシナプス
306 抑制Vシナプス
307 抑制Vシナプス
308 抑制Vシナプス
310 積分回路
310A、310B、310C 積分器回路
311 input+ニューロン
311A、311B、311C inputニューロン
312 input-ニューロン
313 output+ニューロン
313A、313B、313C outputニューロン
314 output-ニューロン
315 output+ニューロン
316 output-ニューロン
317 回路
318 initニューロン
319 startニューロン
320 new inputニューロン
321〜332 Vシナプス
323、324 Vシナプス
325 シナプス
326、327 シナプス
328、329 シナプス
330、331 シナプス
341、342 シナプス
346 output+ニューロン
347 output-ニューロン
348 initニューロン
349 startニューロン
350 シナプス
351、352 シナプス
353 シナプス
354 シナプス
356 outputニューロン
358 initニューロン
359 startニューロン
361、362、363 outputニューロン
400 アレイ
410 制御ユニット
420 プログラミングまたは構成論理回路

Claims (30)

  1. 一組の処理ノードおよび前記ノード間の接続を含む、データ処理デバイスであって、
    各接続は、前記一組の処理ノードのうちからエミッタノードとレシーバノードとを有し、前記レシーバノードに、前記エミッタノードによって送出されるイベントを送信するように構成され、
    各ノードは、前記ノードによって受信されたイベントに従ってそれぞれの電位値(V)を変化させ、前記電位値が事前定義された閾値(Vt)に達したときにイベントを送出するように配置構成され、
    前記データ処理デバイスの少なくとも1つの入力値(x)は、少なくとも1つのノードによって受信された2つのイベントの間の時間間隔(Δt)で表され、
    前記データ処理デバイスの少なくとも1つの出力値は、少なくとも1つのノードによって送出された2つのイベントの間の時間間隔で表されるデータ処理デバイス。
  2. 各処理ノードは、その電位値を、イベントを送出するときにリセットするように配置構成される請求項1に記載のデバイス。
  3. 前記ノード間の前記接続は、各々がそれぞれの重みを有する電位変動接続を含み、
    電位変動接続の前記レシーバノードは、その電位値(V)に、前記電位変動接続の前記重みを加えることによって前記電位変動接続で受信されたイベントに応答するように配置構成される請求項1または2に記載のデバイス。
  4. 前記一組の処理ノードは、前記電位値に対する前記事前定義された閾値(Vt)に少なくとも等しい第1の正の重みを有する第1の電位変動接続(22)の前記レシーバノードを形成する少なくとも1つの第1のノード(23)と、前記電位値に対する前記事前定義された閾値の1/2に少なくとも等しく、前記電位値に対する前記事前定義された閾値(Vt)未満である重みを有する第2の電位変動接続(24)の前記レシーバノードを形成する少なくとも1つの第2のノード(25)とを含み、前記第1のノード(23)は、前記第1の正の重みと反対の値に等しい重みを有する第3の電位変動接続(28)の前記エミッタノードおよび前記レシーバノードをさらに形成し、
    前記第1のノード(23)は、第4の接続(26)の前記エミッタノードをさらに形成し、前記第2のノード(25)は、第5の接続(27)の前記エミッタノードをさらに形成し、
    前記第1および第2の電位変動接続(22、24)は、各々入力値を表す第1の時間間隔(Δt)によって隔てられた2つのイベントを受信するように構成され、それによって、前記第4および第5の接続(26、27)は前記第1の時間間隔(Δt)に関係する第2の時間間隔を間に有するそれぞれのイベントをトランスポートする請求項3に記載のデバイス。
  5. 少なくとも1つの最小値計算回路(100)を備え、
    前記最小値計算回路は、
    第1および第2の入力ノード(101、102)と、
    出力ノード(103)と、
    第1および第2の選択ノード(104、105)と、
    各々前記電位値に対する前記事前定義された閾値(Vt)の1/2に少なくとも等しく、前記電位値に対する前記事前定義された閾値(Vt)未満である第1の正の重みを有する第1、第2、第3、第4、第5、および第6の電位変動接続(106〜111)と、
    各々前記第1の正の重みの値と反対の第2の重みを有する第7および第8の電位変動接続(112〜113)と、
    各々前記第2の重みの2倍の第3の重みを有する第9および第10の電位変動接続(114〜115)とを備え、
    前記第1の入力ノード(101)は、前記第1および第3の接続(106、108)の前記エミッタノードと前記第10の接続(115)の前記レシーバノードとを形成し、
    前記第2の入力ノード(102)は、前記第2および第4の接続(107、109)の前記エミッタノードと前記第9の接続(114)の前記レシーバノードとを形成し、
    前記第1の選択ノード(104)は、前記第5、第7、および第9の接続(110、112、114)の前記エミッタノードと前記第1および第8の接続(106、113)の前記レシーバノードとを形成し、
    前記第2の選択ノード(105)は、前記第6、第8、および第10の接続(111、113、115)の前記エミッタノードと前記第2および第7の接続(107、112)の前記レシーバノードとを形成し、
    前記出力ノード(103)は、前記第3、第4、第5、および第6の接続(108〜111)の前記レシーバノードを形成する請求項3に記載のデバイス。
  6. 少なくとも1つの最大値計算回路(120)を備え、
    前記最大値計算回路は、
    第1および第2の入力ノード(121、122)と、
    出力ノード(123)と、
    第1および第2の選択ノード(124、125)と、
    各々前記電位値に対する前記事前定義された閾値(Vt)の1/2に少なくとも等しく、前記電位値に対する前記事前定義された閾値(Vt)未満である第1の正の重みを有する第1、第2、第3、および第4の電位変動接続(126〜129)と、
    各々前記第1の正の重みの値と反対の値の2倍に等しい第2の重みを有する第5および第6の電位変動接続(132〜133)とを備え、
    前記第1の入力ノード(121)は、前記第1および第3の接続(126、128)の前記エミッタノードを形成し、
    前記第2の入力ノード(122)は、前記第2および第4の接続(127、129)の前記エミッタノードを形成し、
    前記第1の選択ノード(104)は、前記第5の接続(132)の前記エミッタノードと前記第1および第6の接続(126、133)の前記レシーバノードとを形成し、
    前記第2の選択ノード(105)は、前記第6の接続(133)の前記エミッタノードと前記第2および第5の接続(127、132)の前記レシーバノードとを形成し、
    前記出力ノード(123)は、前記第3および第4の接続(128、129)の前記レシーバノードを形成する請求項3に記載のデバイス。
  7. 少なくとも1つの減算器回路(140、170)を備え、
    前記減算器回路(140、170)は、
    第1および第2の同期ノード(145、146)と、
    第1および第2の抑制ノード(147、148)と、
    第1および第2の出力ノード(143、144)と、
    各々前記電位値に対する前記事前定義された閾値(Vt)に少なくとも等しい第1の正の重みを有する第1、第2、第3、第4、第5、および第6の電位変動接続(152〜157)と、
    各々前記第1の正の重みの1/2に等しい第2の重みを有する第7および第8の電位変動接続(160、161)と、
    各々前記第1の正の重みの値と反対の第3の重みを有する第9および第10の電位変動接続(158、159)と、
    各々前記第3の重みの2倍の第4の重み(2wi)を有する第11および第12の電位変動接続(162、163)とを備え、
    前記第1の同期ノード(145)は、前記第1、第2、第3、および第9の接続(152、153、154、158)の前記エミッタノードを形成し、
    前記第2の同期ノード(146)は、前記第4、第5、第6、および第10の接続(155、156、157、159)の前記エミッタノードを形成し、
    前記第1の抑制ノード(147)は、前記第11の接続(162)の前記エミッタノードと前記第3、第8、および第10の接続(154、161、159)の前記レシーバノードとを形成し、
    前記第2の抑制ノード(148)は、前記第12の接続(163)の前記エミッタノードと前記第6、第7、および第9の接続(157、160、158)の前記レシーバノードとを形成し、
    前記第1の出力ノード(143)は、前記第7の接続(160)の前記エミッタノードと前記第1、第5、および第11の接続(152、156、162)の前記レシーバノードとを形成し、
    前記第2の出力ノード(144)は、前記第8の接続(161)の前記エミッタノードと前記第2、第4、および第12の接続(153、155、163)の前記レシーバノードとを形成し、
    前記第1の同期ノード(145)は、前記第2の重みを有する少なくとも1つの電位変動接続(150)上で、間に第1のオペランド(x1)を表す第1の時間間隔(Δt1)を有する第1の一対のイベントを受信するように構成され、前記第2の同期ノード(146)は、前記第2の重みを有する少なくとも1つの電位変動接続(151)上で、間に第2のオペランド(x2)を表す第2の時間間隔(Δt2)を有する第2の一対のイベントを受信するように構成され、それによって、間に第3の時間間隔(Δtout)を有する第3の一対のイベントは、前記第1の時間間隔(Δt1)が前記第2の時間間隔(Δt2)よりも長い場合には前記第1の出力ノード(143)によって、前記第1の時間間隔(Δt1)が前記第2の時間間隔(Δt2)よりも短い場合には前記第2の出力ノード(144)によって送出され、前記第3の時間間隔(Δtout)は前記第1のオペランド(x1)と前記第2のオペランド(x2)との間の差の絶対値を表す請求項3に記載のデバイス。
  8. 前記減算器回路(170)は、前記第1および第2の同期ノード(145、146)、前記第1および第2の抑制ノード(147、148)のうちの1つ、ならびに前記第1および第2の出力ノード(143、144)のうちの1つとともに検出および抑制接続(172〜178)に関連付けられている少なくとも1つの検出ノード(171)を含むゼロ検出論理回路をさらに備え、
    前記検出および抑制接続(172〜178)は、前記第1および第2の時間間隔(Δt1、Δt2)が等しいときに前記第1および第2の出力ノード(143、144)のうちの一方によってイベントの発生を抑制するために、前記第1、第2、第3、第4、第5、第6、第7、第8、第9、第10、第11、および第12の接続(152〜163)よりも高速である請求項7に記載のデバイス。
  9. 前記一組の処理ノードは、少なくとも1つの電流調整接続上で受信されたイベントに従って電流値を変化させ、前記電流値に比例する速度で時間の経過とともにその電位値を変化させるように配置構成されている少なくとも1つのノードを備える請求項3から8のいずれか一項に記載のデバイス。
  10. 電流値を変化させるように配置構成されている処理ノードは、イベントを送出するときに前記電流値をゼロにリセットするように配置構成される請求項9に記載のデバイス。
  11. 少なくとも1つのノードにおける前記電流値は、それぞれの重みを有する少なくとも1つの定電流成分調整接続上で受信された2つのイベントの間で一定である成分(ge)を有し、
    定電流成分調整接続の前記レシーバノードは、前記接続の前記重みをそれの電流値の前記定数成分(ge)に加えることによって前記接続上で受信されたイベントに応答するように配置構成される請求項9または請求項10に記載のデバイス。
  12. 少なくとも1つのインバータメモリ回路(18)を備え、
    前記インバータメモリ回路は、
    アキュムレータノード(30)と、
    第1、第2、および第3の定電流成分調整接続であって、前記第1および第3の接続(26、34)は同じ正の重み(wacc)を有し、前記第2の接続(27)は前記第1および第3の接続の前記重みの値と反対の重み(-wacc)を有する、第1、第2、および第3の定電流成分調整接続と、
    少なくとも1つの第4の接続(35)とを備え、
    前記アキュムレータノード(30)は、前記第1、第2、および第3の接続(26、27、34)の前記レシーバノードと前記第4の接続(35)の前記エミッタノードとを形成し、
    前記第1および第2の接続(26、27)は、それぞれ、アキュムレータノード(30)へ、間に覚えておくべき値を表す時間間隔に関係する第1の時間間隔を有する第1および第2のイベントをアドレス指定するように構成され、それによって、前記アキュムレータノード(30)は、次いで、前記第4の接続(35)上の第4のイベントの送出までその電位値を増加させることによって前記第3の接続(34)上で受信される第3のイベントに反応し、前記第3および第4のイベントは間に前記第1の時間間隔に関係する第2の時間間隔を有する請求項11に記載のデバイス。
  13. 少なくとも1つのメモリ回路(40)を備え、
    前記メモリ回路は、
    第1および第2のアキュムレータノード(42、44)と、
    第1、第2、第3、および第4の定電流成分調整接続であって、前記第1、第2、および第4の接続(41、43、51)は各々第1の正の重み(wacc)を有し、前記第3の接続(45)は前記第1、第2、および第4の接続の前記重みの値と反対の重み(-wacc)を有する、第1、第2、第3、および第4の定電流成分調整接続と、
    少なくとも1つの第5の接続(52)とを備え、
    前記第1のアキュムレータノード(42)は、前記第1の接続(41)の前記レシーバノードと前記第3の接続(45)の前記エミッタノードとを形成し、
    前記第2のアキュムレータノード(44)は、前記第2、第3、および第4および第5の接続(43、45、51)の前記レシーバノードと前記第5の接続(52)の前記エミッタノードとを形成し、
    前記第1および第2の接続(41、43)は、前記第1および第2のアキュムレータノード(42、44)へ、それぞれ、間に覚えておくべき値を表す時間間隔に関係する第1の時間間隔を有する第1および第2のイベントをアドレス指定するように構成され、それによって、前記第2のアキュムレータノード(44)は、次いで、前記第5の接続(52)上の第4のイベントの送出までその電位値を増加させることによって前記第4の接続(51)上で受信される第3のイベントに応答し、前記第3および第4のイベントは間に前記第1の時間間隔に関係する第2の時間間隔を有する請求項12に記載のデバイス。
  14. 前記メモリ回路(40)は、前記第1のアキュムレータノード(42)をエミッタノードとして有する第6の接続(46)を備え、前記第6の接続は前記メモリ回路を読み取りに利用可能であることを知らせるイベントを送出する請求項13に記載のデバイス。
  15. 個数N>1のメモリ回路(401、...、40N-1)と同期ノード(95)とを含む、少なくとも1つの同期回路(90、98)を備え、
    前記同期ノード(95)は、前記第1の正の重みをNで割った値に等しい重みを有するそれぞれの電位変動接続(46;960、...、96N-1)を介してN個のメモリ回路(401、...、40N-1)のうちの1つの前記第6の接続上で送出される各イベントを感知し、
    前記同期ノード(95)は、前記N個のメモリ回路(401、...、40N-1)の前記それぞれの第4の接続(51)を介して前記第3のイベントの同時受信をトリガするように配置構成される請求項14に記載のデバイス。
  16. 少なくとも1つの累算回路(180)を備え、
    前記累算回路は、
    Nを1より大きい整数として、各々がそれぞれの重み付け係数(α0、...、αN-1)を有するN個の入力(1810、...、181N-1)と、
    アキュムレータノード(184)と、
    同期ノード(185)と、
    前記累算回路(180)の前記N個の入力の各々について、
    前記入力の前記それぞれの重み付け係数に比例する第1の正の重み(α0wacc、...、αN-1wacc)を有する第1の定電流成分調整接続(1820、...、182N-1)と、
    前記第1の正の重みの値と反対の第2の重み(-α0wacc、...、-αN-1wacc)を有する第2の定電流成分調整接続(1830、...、183N-1)と、
    第3の正の重み(wacc)を有する第3の定電流成分調整接続(186)とを備え、
    前記アキュムレータノード(184)は、前記第1、第2、および第3の接続(1810、...、181N-1、1820、...、182N-1、186)の前記レシーバノードを形成し、
    前記同期ノード(185)は、前記第3の接続(186)の前記エミッタノードを形成し、
    前記N個の入力の各々について、前記第1および第2の接続(1810、...、181N-1、1820、...、182N-1)は、それぞれ、前記アキュムレータノード(184)へ、間に前記入力上で与えられるそれぞれのオペランドを表す第1の時間間隔を有する第1および第2のイベントをアドレス指定するように構成され、
    前記同期ノード(185)は、前記第1および第2のイベントが前記N個の入力の各々についてアドレス指定された後に第3のイベントを送出するように構成され、それによって、前記アキュムレータノード(184)は、第4のイベントの送出までその電位値を増加させ、前記第3および第4のイベントは間に前記N個の入力上で与えられた前記オペランドの加重和を表す時間間隔に関係する第2の時間間隔を有する請求項11に記載のデバイス。
  17. 前記累算回路(180)は、
    第2のアキュムレータノード(188)と、
    前記第3の正の重み(wacc)を有する第4の定電流成分調整接続(191)と、
    第5および第6の接続(193、192)とをさらに備える重み付き加算回路(190)の一部であり、
    前記累算回路の前記同期ノード(185)は、前記第4の接続(191)の前記エミッタノードを形成し、
    前記累算回路の前記アキュムレータノード(184)は、前記第5の接続(193)の前記エミッタノードを形成し、
    前記第2のアキュムレータノード(188)は、前記第4の接続(191)の前記レシーバノードと前記第6の接続(192)の前記エミッタノードとを形成し、
    前記同期ノード(185)による前記第3のイベントの送出に応答して、前記累算回路の前記アキュムレータノード(184)は、前記第5の接続(193)上の第4のイベントの送出までその電位値を増加させ、前記第2のアキュムレータノード(188)は、前記第6の接続(192)上の第5のイベントの送出までその電位値を増加させ、前記第4および第5のイベントは間に前記累算回路(180)の前記N個の入力上で与えられた前記オペランドの加重和を表す時間間隔に関係する第3の時間間隔を有する請求項16に記載のデバイス。
  18. 一次結合回路(200)内に組み立てられた2つの累算回路(180A、180B)を備え、
    前記2つの累算回路(180A、180B)は、同期ノード(184)を共有し、
    前記一次結合回路は、前記共有された同期ノード(185)によって送出される前記第3のイベントに反応し、間に前記2つの累算回路のうちの一方に対する前記加重和と前記2つの累算回路のうちの他方に対する前記加重和との差を表す第3の時間間隔を有する一対のイベントを送出することによって前記2つの累算回路(180A、180B)の前記アキュムレータノード(184)によってそれぞれ送出される前記第4のイベントに反応するように構成されている減算器回路(170)をさらに備える請求項16に記載のデバイス。
  19. 少なくとも1つのノードにおける前記電流値は、それぞれの重みを有する少なくとも1つの指数関数的減少電流成分調整接続上で受信された2つのイベントの間で指数関数的に減少する成分(gf)を有し、
    指数関数的減少電流成分調整接続の前記レシーバノードは、前記接続の前記重みをそれの電流値の前記指数関数的減少成分(gf)に加えることによって前記接続上で受信されたイベントに応答するように配置構成される請求項11〜18のいずれか一項に記載のデバイス。
  20. 少なくとも1つの対数計算回路(210)を備え、
    前記対数計算回路は、
    アキュムレータノード(216)と、
    第1および第2の定電流成分調整接続であって、前記第1の接続(212)は正の重み(
    Figure 0006732880
    )を有し、前記第2の接続(214)は前記第1の接続の前記重みの値と反対の重み(
    Figure 0006732880
    )を有する、第1および第2の定電流成分調整接続と、
    第3の指数関数的減少電流成分調整接続(217)と、
    少なくとも1つの第4の接続(222)とを備え、
    前記アキュムレータノード(216)は、前記第1、第2、および第3の接続(212、214、217)の前記レシーバノードと前記第4の接続(222)の前記エミッタノードとを形成し、
    前記第1および第2の接続(212、214)は、前記アキュムレータノード(216)へ、間に前記対数計算回路(210)の入力値(x)を表す時間間隔(Δt)に関係する第1の時間間隔を有するそれぞれの第1および第2のイベントをアドレス指定するように構成され、
    前記第3の接続(217)は、前記アキュムレータノード(216)へ、前記第2のイベントと同時またはその後の第3のイベントをアドレス指定するように構成され、それによって、前記アキュムレータノードは、前記第4の接続(222)上の第4のイベントの送出までその電位値を増加させ、前記第3および第4のイベントは間に前記入力値の対数を表す時間間隔(Δtout)に関係する第2の時間間隔を有する請求項19に記載のデバイス。
  21. 指数関数的減少電流成分(gf)を考慮する少なくとも1つのノード(238;268)は、前記指数関数的減少成分のデアクティベーションに対するイベントを受信するためのデアクティベーション接続(236;271)の前記レシーバノードである請求項19に記載のデバイス。
  22. 少なくとも1つの累乗回路(230)を備え、
    前記累乗回路は、
    アキュムレータノード(238)と、
    第1の指数関数的減少電流成分調整接続(232)と、
    第2のデアクティベーション接続(236)と、
    第3の定電流成分調整接続(237)と、
    少なくとも1つの第4の接続(242)とを備え、
    前記アキュムレータノード(238)は、前記第1、第2、および第3の接続(232、236、237)の前記レシーバノードと前記第4の接続(242)の前記エミッタノードとを形成し、
    前記第1および第2の接続(232、236)は、前記アキュムレータノード(238)へ、間に前記累乗回路(230)の入力値(x)を表す時間間隔(Δt)に関係する第1の時間間隔を有するそれぞれの第1および第2のイベントをアドレス指定するように構成され、
    前記第3の接続(237)は、前記アキュムレータノード(238)へ、前記第2のイベントと同時またはその後の第3のイベントをアドレス指定するように構成され、それによって、前記アキュムレータノードは、前記第4の接続(242)上の第4のイベントの送出までその電位値を増加させ、前記第3および第4のイベントは間に前記入力値の累乗を表す時間間隔(Δtout)に関係する第2の時間間隔を有する請求項21に記載のデバイス。
  23. 少なくとも1つの乗算器回路(250)を備え、
    前記乗算器回路は、
    第1、第2、および第3のアキュムレータノード(2561、2562、268)と、
    同期ノード(260)と、
    第1、第2、第3、第4および第5の定電流成分調整接続であって、前記第1、第3、および第5の接続(2521、2522、272)は第1の正の重み(
    Figure 0006732880
    )を有し、前記第2および第4の接続(2541、2542)は前記第1の正の重みの値と反対の第2の重み(
    Figure 0006732880
    )を有する、第1、第2、第3、第4、および第5の定電流成分調整接続と、
    第6、第7、および第8の指数関数的減少電流成分調整接続(262、265、279)と、
    第9のデアクティベーション接続(271)と、
    少なくとも1つの第10の接続(276)とを備え、
    前記第1のアキュムレータノード(2561)は、前記第1、第2、および第6の接続(2521、2541、262)の前記レシーバノードと前記第7の接続(265)の前記エミッタノードとを形成し、
    前記第2のアキュムレータノード(2562)は、前記第3、第4、および第7の接続(2522、2542、265)の前記レシーバノードと前記第5および第9の接続(272、271)の前記エミッタノードとを形成し、
    前記第3のアキュムレータノード(268)は、前記第5、第8、および第9の接続(272、269、271)の前記レシーバノードと前記第10の接続(276)の前記エミッタノードとを形成し、
    前記同期ノード(260)は、前記第6および第8の接続(272、271)の前記エミッタノードを形成し、
    前記第1および第2の接続(2521、2541)は、前記第1のアキュムレータノード(2561)へ、間に前記乗算器回路(250)の第1のオペランド(x1)を表す時間間隔(Δt1)に関係する第1の時間間隔を有するそれぞれの第1および第2のイベントをアドレス指定するように構成され、
    前記第3および第4の接続(2522、2542)は、前記第2のアキュムレータノード(2562)へ、間に前記乗算器回路(250)の第2のオペランド(x2)を表す時間間隔(Δt2)に関係する第2の時間間隔を有するそれぞれの第3および第4のイベントをアドレス指定するように構成され、
    前記同期ノード(260)は、前記第1、第2、第3、および第4のイベントが受信された後に前記第6および第8の接続上で第5のイベントを送出するように構成され、それによって、
    前記第1のアキュムレータノード(2561)は、前記第7の接続(265)上の第6のイベントの送出までその電位値を増加させ、
    前記第6のイベントに応答して、前記第2のアキュムレータノード(2562)は、前記第5の接続および第9の接続(272、271)上の第7のイベントの送出までその電位値を増加させ、
    前記第7のイベントに応答して、前記第3のアキュムレータノード(268)は、前記第10の接続(276)上の第8のイベントの送出までその電位値を増加させ、前記第7および第8のイベントは間に前記第1のオペランド(x1)と前記第2のオペランド(x2)との積を表す時間間隔(Δtout)に関係する第3の時間間隔を有する請求項21に記載のデバイス。
  24. 前記第1および第2のオペランド(x1、x2)のそれぞれの符号を検出し、前記検出された符号に従って、間に前記第1のオペランドと前記第2のオペランドとの積を表す時間間隔(Δtout)を有する2つのイベントを前記乗算器回路(250)の2つの出力のうちの一方または他方で送出させるために前記乗算器回路(250)に関連付けられている符号検出論理回路(300〜303)をさらに備える請求項23に記載のデバイス。
  25. 各接続は、遅延パラメータに関連付けられ、前記接続の前記レシーバノードに、前記遅延パラメータによって指示される、前記接続上でイベントを受信することに関して、遅延とともに状態の変化を実行することを知らせる請求項1から24のいずれか一項に記載のデバイス。
  26. 絶対値xを有する値を表す2つのイベントの間の前記時間間隔Δtは、Δt=Tmin+x.Tcodの形式をとり、ここで、TminおよびTcodは、事前定義された時間パラメータである請求項1から25のいずれか一項に記載のデバイス。
  27. 時間間隔によって表される前記値は、0から1の間の絶対値xを有する請求項26に記載のデバイス。
  28. 入力値(x)について、
    前記一組の処理ノードのうちから1つのノードまたは2つのノードを含む第1の入力であって、間に前記入力値(x)の正の値を表す時間間隔(Δt)を有する2つのイベントを受信するように配置構成されている、第1の入力と、
    前記一組の処理ノードのうちから1つのノードまたは2つのノードを含む第2の入力であって、間に前記入力値(x)の負の値を表す時間間隔(Δt)を有する2つのイベントを受信するように配置構成されている、第2の入力とを備える請求項1から27のいずれか一項に記載のデバイス。
  29. 出力値(x)について、
    前記一組の処理ノードのうちから1つのノードまたは2つのノードを含む第1の出力であって、間に前記出力値(x)の正の値を表す時間間隔(Δt)を有する2つのイベントを送出するように配置構成されている、第1の出力と、
    前記一組の処理ノードのうちから1つのノードまたは2つのノードを含む第2の出力であって、間に前記出力値(x)の負の値を表す時間間隔(Δt)を有する2つのイベントを送出するように配置構成されている、第2の出力とを備える請求項1から28のいずれか一項に記載のデバイス。
  30. 前記一組の処理ノードは、少なくとも1つのプログラム可能なアレイ(400)の形態をとり、前記アレイの前記ノードは受信された前記イベントによる共有挙動モデルを有し、前記デバイスは計算プログラムに従って前記アレイの前記ノードの間の前記接続の重みおよび遅延パラメータを調整するためのプログラミング論理回路(420)と、入力値を前記アレイに供給し、前記プログラムに従って計算された出力値を復元するための制御ユニット(410)とをさらに備える請求項1から29のいずれか一項に記載のデバイス。
JP2018501204A 2015-07-13 2016-07-06 イベントとイベントとの間の時間間隔による値の表現を使用するデータ処理デバイス Expired - Fee Related JP6732880B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
FR1556659A FR3038997A1 (fr) 2015-07-13 2015-07-13 Dispositif de traitement de donnees avec representation de valeurs par des intervalles de temps entre evenements
FR1556659 2015-07-13
PCT/FR2016/051717 WO2017009543A1 (fr) 2015-07-13 2016-07-06 Dispositif de traitement de données avec représentation de valeurs par des intervalles de temps entre événements

Publications (3)

Publication Number Publication Date
JP2018529143A JP2018529143A (ja) 2018-10-04
JP2018529143A5 JP2018529143A5 (ja) 2019-08-22
JP6732880B2 true JP6732880B2 (ja) 2020-07-29

Family

ID=54848671

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018501204A Expired - Fee Related JP6732880B2 (ja) 2015-07-13 2016-07-06 イベントとイベントとの間の時間間隔による値の表現を使用するデータ処理デバイス

Country Status (9)

Country Link
US (1) US20180357527A1 (ja)
EP (1) EP3323090A1 (ja)
JP (1) JP6732880B2 (ja)
KR (1) KR20180077148A (ja)
CN (1) CN108369660A (ja)
CA (1) CA2992036A1 (ja)
FR (1) FR3038997A1 (ja)
IL (1) IL256813A (ja)
WO (1) WO2017009543A1 (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3825925B1 (en) 2016-08-19 2023-11-08 Sony Group Corporation Multiply-accumulate operation device
EP3605401A1 (en) 2018-07-31 2020-02-05 GrAl Matter Labs S.A.S. Data processing module, data processing system and data processing method
EP3617957A1 (en) 2018-08-29 2020-03-04 GrAl Matter Labs S.A.S. Neuromorphic processing method and update utility for use therein
EP3640862A1 (en) 2018-10-15 2020-04-22 GrAl Matter Labs S.A.S. Neural network evaluation tool and method
CN111506384B (zh) * 2019-01-31 2022-12-09 中科寒武纪科技股份有限公司 模拟运算方法和模拟器
EP3716155A1 (en) 2019-03-27 2020-09-30 Grai Matter Labs Data processing node and data processing engine

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6581046B1 (en) * 1997-10-10 2003-06-17 Yeda Research And Development Co. Ltd. Neuronal phase-locked loops
KR100272167B1 (ko) * 1998-07-13 2000-11-15 윤종용 동기식 반도체 메모리 장치의 기준 신호 발생 회로
CA2467401A1 (en) * 2001-11-16 2003-05-30 Yuan Yan Chen Pausible neural network with supervised and unsupervised cluster analysis
JP5672489B2 (ja) * 2011-02-08 2015-02-18 ソニー株式会社 データ処理装置、及び、データ処理方法
GB2496886A (en) * 2011-11-24 2013-05-29 Melexis Technologies Nv Determining network address of integrated circuit network node
US8903746B2 (en) * 2012-03-22 2014-12-02 Audrey Kudritskiy System and method for viewing, modifying, storing, and running artificial neural network components
US20140044206A1 (en) * 2012-08-13 2014-02-13 Telefonaktiebolaget L M Ericsson (Publ) Methods of mapping retransmissions responsive to bundled nack messages and related devices
WO2014081671A1 (en) * 2012-11-20 2014-05-30 Qualcomm Incorporated Dynamical event neuron and synapse models for learning spiking neural networks
CN104605845B (zh) * 2015-01-30 2017-01-25 南京邮电大学 一种基于diva模型的脑电信号处理方法

Also Published As

Publication number Publication date
US20180357527A1 (en) 2018-12-13
JP2018529143A (ja) 2018-10-04
IL256813A (en) 2018-03-29
CA2992036A1 (fr) 2017-01-19
EP3323090A1 (fr) 2018-05-23
KR20180077148A (ko) 2018-07-06
FR3038997A1 (fr) 2017-01-20
WO2017009543A1 (fr) 2017-01-19
CN108369660A (zh) 2018-08-03

Similar Documents

Publication Publication Date Title
JP6732880B2 (ja) イベントとイベントとの間の時間間隔による値の表現を使用するデータ処理デバイス
Tu et al. Global dissipativity analysis for delayed quaternion-valued neural networks
US10970628B2 (en) Training neural networks represented as computational graphs
Dettmers 8-bit approximations for parallelism in deep learning
CN106953862B (zh) 网络安全态势的感知方法和装置及感知模型训练方法和装置
US10482380B2 (en) Conditional parallel processing in fully-connected neural networks
EP3446260A1 (en) Memory-efficient backpropagation through time
Lagorce et al. Stick: spike time interval computational kernel, a framework for general purpose computation using neurons, precise timing, delays, and synchrony
Guo et al. Novel recurrent neural network for time-varying problems solving [research frontier]
KR102396447B1 (ko) 파이프라인 구조를 가지는 인공신경망용 연산 가속 장치
WO2019207376A1 (en) Central scheduler and instruction dispatcher for a neural inference processor
US20230041163A1 (en) Sparse matrix operations for deep learning
CN108629403B (zh) 处理脉冲神经网络中的信号饱和
Park et al. H∞ state estimation for discrete-time neural networks with interval time-varying delays and probabilistic diverging disturbances
Wang et al. End-to-end implementation of various hybrid neural networks on a cross-paradigm neuromorphic chip
CN113196233A (zh) 用模拟神经元的单个物理层实现多层神经网络
Singh et al. Distributed quadratic programming solver for kernel SVM using genetic algorithm
US20210019362A1 (en) Method for Interfacing with Hardware Accelerators
Plotnikova et al. Gravitation search training algorithm for asynchronous distributed multilayer perceptron model
CN112384935A (zh) 分布式神经网络核心网络中的层级并行
CN110852414A (zh) 高精度低位卷积神经网络
WO2019089553A1 (en) Tensor radix point calculation in a neural network
Arce et al. Forecasting high frequency financial time series using parallel FFN with CUDA and ZeroMQ
Čerňanský Training recurrent neural network using multistream extended Kalman filter on multicore processor and CUDA enabled graphic processor unit
US20210142153A1 (en) Resistive processing unit scalable execution

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180228

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190708

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190708

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200708

R150 Certificate of patent or registration of utility model

Ref document number: 6732880

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees