JP7322273B2 - 脳型知能とコグニティブコンピューティングに使用されるスパイキングニューラルネットワーク演算システムおよび方法 - Google Patents

脳型知能とコグニティブコンピューティングに使用されるスパイキングニューラルネットワーク演算システムおよび方法 Download PDF

Info

Publication number
JP7322273B2
JP7322273B2 JP2022500548A JP2022500548A JP7322273B2 JP 7322273 B2 JP7322273 B2 JP 7322273B2 JP 2022500548 A JP2022500548 A JP 2022500548A JP 2022500548 A JP2022500548 A JP 2022500548A JP 7322273 B2 JP7322273 B2 JP 7322273B2
Authority
JP
Japan
Prior art keywords
container
model
neuron
network
brain
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.)
Active
Application number
JP2022500548A
Other languages
English (en)
Other versions
JP2022538694A (ja
Inventor
化▲龍▼ 任
Original Assignee
深▲セン▼▲憶▼▲海▼原▲識▼科技有限公司
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 深▲セン▼▲憶▼▲海▼原▲識▼科技有限公司 filed Critical 深▲セン▼▲憶▼▲海▼原▲識▼科技有限公司
Publication of JP2022538694A publication Critical patent/JP2022538694A/ja
Application granted granted Critical
Publication of JP7322273B2 publication Critical patent/JP7322273B2/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/10Interfaces, programming languages or software development kits, e.g. for simulating neural networks
    • G06N3/105Shells for specifying net layout
    • 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/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/082Learning methods modifying the architecture, e.g. adding, deleting or silencing nodes or connections
    • 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/088Non-supervised learning, e.g. competitive learning
    • 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)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • General Health & Medical Sciences (AREA)
  • Evolutionary Computation (AREA)
  • Molecular Biology (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Computational Linguistics (AREA)
  • Artificial Intelligence (AREA)
  • Neurology (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Measurement And Recording Of Electrical Phenomena And Electrical Characteristics Of The Living Body (AREA)

Description

本出願は、2019年07月02日に中国特許局に出願された、出願番号201910588964.5、発明の名称「脳型知能とコグニティブコンピューティングに使用されるスパイキングニューラルネットワーク演算システムおよび方法」の中国特許出願の優先権を主張し、その全てが参照により本出願に組み込まれる。
本出願は、脳型スパイキングニューラルネットワークシミュレーションとハイパフォーマンスコンピューティング技術の分野に関し、具体的には、脳型知能とコグニティブコンピューティングに使用されるスパイキングニューラルネットワーク演算システムおよび方法に関する。
現在、脳型知能とコグニティブコンピューティングは、スパイキングニューラルネットワークをベースとして、バイオコンピュータ内の色々な神経伝達物質、神経修飾物質、受容体、電気シナプス、化学シナプス、樹状突起、ニューロン、グリア細胞の豊富な動作メカニズムと組み合わせて計算のモデル化を行い、神経回路、神経核、脳領域、脳全体のモデルを構築することで、記憶と学習、感情のシミュレーション、ナビゲーションとプランニング、動作制御、脳型視覚と脳型聴覚、注意力、意思決定など、バイオコンピュータの様々な認知メカニズムや行動をシミュレートし、人工知能システムの発展により広いルートを提供することができる。
しかしながら、既存の脳型スパイキングニューラルネットワーク演算フレームワークには、以下のような問題がある。
1、統一された柔軟なモデリング手法を提供せず、柔軟なネットワークトポロジー構造にも対応できないため、モデリングのスケールとモデリングの豊かさとの統一性が得られない。例えば、モデリングのスケールという点では、既存の脳型スパイキングニューラルネットワークの演算フレームワークの多くは、分子スケール、神経伝達物質と神経修飾物質スケール、受容体スケール、シナプススケール、樹状突起スケール、ニューロンスケール、グリア細胞スケール、神経回路スケール、神経核スケール、神経線維束スケール、脳領域スケール、脳全体スケールおよび行動スケールのモデリングをサポートして統一することができない。別の例として、モデリングの豊かさという点では、既存の脳型スパイキングニューラルネットワークの演算フレームワークは、電気シナプスに対応するモデリング、神経修飾物質のシミュレーションに対応する動作メカニズム、および樹状突起において複数のシナプスが互いに情報を交換して論理演算を行うシミュレーションに対応するメカニズムを無視することが多く、さらにシナプスと他のシナプスが直接的につながっているトポロジー構造などにも対応することができない。
2、バイオコンピュータ神経系の構成形態をシミュレートするための記述方法が提供されていない。
3、十分に豊富な内蔵機能と柔軟なユーザーインターフェースが統合されておらず、例えば、シナプスとニューロンの自動剪定・再生に対応できず、ユーザーによって、関連機能を実現するために、自らプログラムを作成する必要がある。
4、スパイキングニューラルネットワーク、従来のニューラルネットワーク、およびテンソルを主要なデータ表現方法とする他のアルゴリズムを効果的に統一して組み合わせて混合演算を行うことができない。
5、CPU、ARM、GPU、DSPなどのチップアーキテクチャとの互換性がなく、ハードウェアリソースの利用がほとんど最適化されておらず、汎用コンピュータや組み込み機器に中・大規模の脳型ニューラルネットワークを効果的に運用させることができない。
上記問題により、既存の脳型スパイキングニューラルネットワークの演算フレームワークのハードウェアプラットフォームのモデリング範囲が制限され、互換性が悪く、演算効率が低く、開発と使用が不便であり、脳型知能とコグニティブコンピューティングをスマートトイ、ロボット、ドローン、IOT機器、スマートホーム、車載システムなどの製品に低コストかつ大規模で応用することが困難である。
したがって、脳型知能とコグニティブコンピューティングに柔軟かつ効果的に使用されるスパイキングニューラルネットワーク演算システムおよび方法を提供することは、当業者にとって喫緊の課題である。
本出願の実施例は、脳型知能とコグニティブコンピューティングに使用されるスパイキングニューラルネットワーク演算システムおよび方法を提供することを1つの目的とし、当該システムは、統一された柔軟なモデリング手法を提供し、しかも提供される多階層ツリー構造のネットワーク記述手法は、バイオコンピュータ神経系のフルスケールのモデリングと柔軟なネットワークトポロジーに対応することで、モデリングのスケールとモデリングの豊かさを有機的に統一し、各スケールの全てのモデルを統一されたニューラルネットワークに融合させて演算し、また、データをテンソルの形で表現・格納することにも対応するため、本システムは、スパイキングニューラルネットワークのほか、従来のニューラルネットワーク(深層学習)、およびテンソルを主要なデータ表現方法とする他のアルゴリズムにも対応することができ、さらに、一定の条件およびルールに応じてシナプスとニューロンの剪定・再生を自動的に実行する機能を提供し、ニューラルネットワークの開発者が自ら関連機能を実現する必要がなくなり、既存の脳型スパイキングニューラルネットワークの演算フレームワークの上記問題が効果的に解決される。
上記技術的課題を解決するために、本出願の実施例で採用される技術的解決手段は以下のとおりである。
脳型知能とコグニティブコンピューティングに使用されるスパイキングニューラルネットワーク演算システムであって、前記システムは、モデル記述モジュール、パラメータデータベース、構成記述モジュール、構成マネージャー、ルールマネージャー、データマネージャー、ネットワークビルダー、ネットワークマネージャー、オペレーションマネージャー、スケジューラー、ログマネージャー、動作監視モジュールおよびグラフィカル表示モジュールを含み、
前記モデル記述モジュールは、ユーザーがネットワークモデルを設計および記述するためのインターフェースを提供するために使用され、
前記パラメータデータベースは、初期化パラメータと動作時パラメータを含むネットワークの各パラメータデータを格納するために使用され、パラメータデータベースは、バイナリファイルまたはテキストファイルを選択することができ、テキストファイルは、CSVファイルフォーマット、またはデータが他の文字で区切られたファイルフォーマットを使用することができ、
前記構成記述モジュールは、現在のネットワーク動作環境の構成パラメータ、およびシナプスとニューロンの剪定・再生を開始するための条件を記述するために使用され、
前記構成マネージャーは、上述した構成記述モジュールを読み取って、システム構成パラメータを取得するために使用され、
前記ネットワークモデルオブジェクトは、ネットワークビルダーによって構築され、かつメモリに常駐し、全てのコンテナ、トポロジー関係およびパラメータデータを含むネットワーク全体を表現するために使用され、スケジューラーがスケジューリングして実行するオブジェクトであり、
前記ルールマネージャーは、モデル記述モジュールにおけるユーザーが宣言したルールを読み取り、かつスケジューラーがネットワークモデルオブジェクトの演算をスケジューリングする際に、これらのルールを解釈しルール間の競合を調停するために使用され、
前記データマネージャーは、1つ以上のデコーダとエンコーダを含み、パラメータデータベースの読み取りと解析、データフォーマットの変換、およびデータのシリアル化を行うために使用され、ユーザーは、データマネージャーにカスタムデコーダとエンコーダを追加して、カスタムフォーマットのファイルを読み書きすることができ、
前記ネットワークビルダーは、モデル記述モジュールを読み取って、ネットワークのトポロジー構造を解析し、かつデータマネージャーによってデータファイルを読み取って、メモリにネットワークモデルオブジェクトを構築するために使用され、
前記ネットワークマネージャーは、ネットワークモデルオブジェクトの構築、トラバース、アクセスおよび更新を行うために使用され、
前記オペレーションマネージャーは、本システム上で動作可能な全てのオペレーションを管理するために使用され、全てのオペレーションはオペレーションライブラリーを構成し、ユーザーは、モデル記述モジュールで各コンテナに対して実行する必要があるオペレーションを指定することができ、対応するオペレーションは動作時にスケジューラーによってスケジューリングして実行され、
前記スケジューラーは、ハードウェアリソースの割り当て、および演算プロセスのスケジューリングを行い、演算効率を最適化するために使用され、
前記ログマネージャーは、システム動作時に生成されたログを記録し、デバッグおよびメンテナンスを容易にするために、システムの稼働状態と異常をユーザーに提示するために使用され、
前記動作監視モジュールは、ユーザーからの入力を受信して応答し、かつデフォルト状態、ネットワーク構築状態、ネットワーク動作状態、およびネットワーク一時停止状態を含むシステム全体の動作状態を管理するために使用され、
前記グラフィカル表示モジュールは、開発、監視、およびデバッグの目的で、ネットワークデータを読み取り、かつそれをユーザーに表示するために使用され、
任意選択的に、前記モデル記述モジュールは、ネットワーク記述ユニット、集約記述ユニット、フロースルー記述ユニットを含み、これらは、共にネットワーク全体の各構成部分とトポロジー構造を記述するために使用され、また、これらはテキストファイルを選択してもよく、ネストされた構文を使用する場合、XMLまたはJSONのファイルフォーマットを選択することができる。
任意選択的に、前記モデル記述モジュールは、バイオコンピュータ神経系の構成形態をシミュレートする多階層ツリー構造のネットワーク記述手法を使用し、
前記集約記述ユニットは、ネットワーク内のノードを所定のレイヤグループおよびモジュールに応じて配置して構成することをサポートし、バイオコンピュータにおけるニューロンおよび関連するグリア細胞の多階層構成形態(例えば、核->脳領域->脳全体)を表現するために使用され、
前記フロースルー記述ユニットは、ネットワーク内のエッジをトポロジー(接続関係)の類似性に応じてグループ化しおよび階層的に配置して構成することをサポートし、バイオコンピュータにおける神経シナプスの様々な構成形態(例えば、樹状突起、神経経路への投射、神経線維束など)、および関連するグリア細胞の突起の構成形態を表現するために使用される。
任意選択的に、前記ネットワーク記述ユニットは、1つ以上のNetworkやParamなどのコンテナの記述、ネットワーク全体のパラメータおよび動作ルールの記述に使用され、かつリンクで1つ以上の集約記述ユニットおよびフロースルー記述ユニットに指向し、
前記集約記述ユニットは、1つ以上のConfluence、Module、Layer、Node、NodeParamやParamなどのコンテナの記述、ネットワークにおけるノードのモジュールとレイヤの配置、各コンテナのパラメータ、および動作時のルールとコマンドの記述に使用され、
前記フロースルー記述ユニットは、1つ以上のFlow、Channel、Link、Edge、EdgeParamやParamなどのコンテナの記述、ネットワークにおけるエッジの接続(トポロジー)関係、各コンテナのパラメータ、および動作時のルールとコマンドの記述に使用される。
任意選択的に、前記Networkは、ツリー構造の第1の階層(最上位)に位置し、脳全体および行動スケールのモデルを表現するためのネットワークコンテナを表し、各Networkは、1つ以上のConfluenceおよびFlowを保持することができ、
前記Confluenceは、ツリー構造の第2の階層に位置し、脳領域スケールのモデルの表現に使用可能な集約コンテナを表し、各Confluenceは、1つ以上のModuleを保持することができ、
前記Moduleは、ツリー構造の第3の階層に位置し、神経核スケールのモデルの表現に使用可能なモジュールコンテナを表し、各Moduleは1つ以上のLayerを保持することができ、
前記Layerは、ツリー構造の第4の階層に位置し、神経回路スケールのモデルの表現に使用可能なレイヤグループコンテナを表し、各Layerは、1つ以上のNodeを保持することができ、
前記Nodeは、ツリー構造の第5の階層に位置し、ニューロンスケールまたはグリア細胞スケールのモデルの表現、ニューロンまたはグリア細胞のグループの表現に使用可能なノードコンテナを表し、各Nodeは、1つ以上のNodeParamを保持することができ、
前記Nodeはさらに、入力ノードおよび/または出力ノードの表現にも使用可能であり、かつシステムのI/O機器、例えば、カメラ入力、オーディオ入力、センサー入力、制御出力などをドッキングするために使用され、I/O機器を読み書きするデータは、当該Nodeの各NodeParamを通じて動的に更新され、
前記NodeParamは、ツリー構造の第6の階層(最下位)に位置し、分子スケール、受容体スケール、神経伝達物質または神経修飾物質スケールのモデルの表現、一群のニューロンまたはグリア細胞モデルのパラメータテンソルの表現に使用可能なノードパラメータコンテナを表し、
前記Flowは、ツリー構造の第2の階層に位置し、脳領域間を接続する神経線維束スケールのモデルの表現に使用可能なフロースルーコンテナを表し、各Flowは、1つ以上のChannelを保持することができ、
前記Channelは、ツリー構造の第3の階層に位置し、神経核間を接続する軸索で構成された伝導束のモデルの表現に使用可能なチャネルコンテナを表し、各Channelは、1つ以上のLinkを保持することができ、
前記Linkは、ツリー構造の第4の階層に位置し、神経回路内の軸索からなる神経経路のモデルの表現に使用可能な接続コンテナを表し、各Linkは、1つ以上のEdgeを保持することができ、
前記Edgeは、ツリー構造の第5の階層に位置し、樹状突起スケールまたはシナプススケールのモデルの表現、一群のシナプスまたはグリア細胞の突起の表現に使用可能なエッジコンテナを表し、各Edgeは、1つ以上のEdgeParamを保持することができ、
前記EdgeParamは、ツリー構造の第6の階層(最下位)に位置し、分子スケール、神経伝達物質または神経修飾物質スケール、受容体スケールのモデルの表現、一群のシナプスまたはグリア細胞の突起モデルのパラメータテンソルの表現に使用可能なエッジパラメータコンテナを表し、
前記Paramは、補助コンテナとして使用される一般パラメータコンテナを表す。モデリングの必要性に応じて、上記各階層のコンテナには、いずれもテンソルの形でパラメータデータを保持するための1つ以上のParamを追加で備えることができ、または、上記各階層のコンテナにはParamを備えなくてもよく、
上記各コンテナには、番号と名称が付けられており、多階層ツリー構造でインデックスを作成するために使用され、
上記各コンテナには、いずれもネットワークのトラバーサル順序とルール、トラバーサル演算に関与した回数、データがメインメモリに常駐しているか、データがコプロセッサーのメモリに常駐しているか、ハードディスクの読み書き頻度などを含む統計情報および制御情報を格納するための1つ以上の制御ブロック(Control Block)があり、かつルールマネージャーおよびスケジューラーによって管理および更新される。
任意選択的に、前記ニューロンモデルのスパイキング特性は、トニック発火、迅速発火、バースト発火、プラトー発火または相動性発火などにすることができる。
上流入力信号に対する前記ニューロンモデルの応答は、異なる神経適応性または感度曲線として構築することができ、
下流に対する前記ニューロンモデルの作用メカニズムは、興奮性、抑制性、調節性または中立性のモデルとして構築することができ、
前記ニューロンモデルは、スパイキングニューロンモデルとして構築されてもよく、従来のニューロンモデルとして構築されてもよく、
前記グリア細胞モデルは、アストロサイト、オリゴデンドロサイト、ミクログリア、シュワン細胞およびサテライト細胞のモデルとして構築することができる。
任意選択的に、前記神経伝達物質または神経修飾物質モデルは、興奮性、抑制性または調節性のモデルとして構築することができ、
前記受容体モデルは、イオン性または代謝性モデルとして構築することができ、
神経伝達物質または神経修飾物質に対する前記受容体モデルの応答効果は、興奮性、抑制性、調節性または中立性のモデルとして構築することができる。
任意選択的に、前記樹状突起スケールのモデルは、頂端樹状突起モデル、基底樹状突起モデルまたは突起棘モデルとして構築することができ、
前記シナプスモデルは、興奮性、抑制性、調節性または中立性のものとして構築することができる。
任意選択的に、前記分子スケールのモデルは、細胞内分子モデル、細胞膜内分子モデルおよび細胞間分子モデルとして構築することができる。
任意選択的に、前記NodeParam、EdgeParamおよびParamは、テンソル(すなわち、多次元行列)の形でパラメータを内部に保持することができ、
前記テンソルの次元は、1次元以上であってもよく、その具体的な配置と使用方法はユーザーによって指定され、
前記テンソルは、4次元のものとして構成されてもよく、テンソルにおける各パラメータの位置は、座標(x,y,z,t)で表されてもよく、ここで、x、y、zの3つの次元は、親コンテナ内で表現される各神経組織(例えば、ニューロンやシナプス)モデルの空間的配置位置に対応し、tは時間ディメンションを表し、タイミング情報のキャッシングおよび遅延を表現でき、かつニューロンとシナプスに対する神経修飾物質の長期的な作用メカニズム(遅延性を有する)をシミュレートするのに使用できる。
前記テンソル内のパラメータは、親コンテナ内の神経組織(例えば、ニューロンやシナプスの)モデル全体または一部で共有することができ、対象領域内の神経組織全体に対する神経修飾物質の大領域効果をシミュレートするのに使用できる。
任意選択的に、前記Flowおよびその全ての子コンテナは、いずれも1つ以上の上流コンテナ、および1つ以上の下流コンテナに対応し、かつ上流と下流コンテナの番号または名称によってそれらへのインデックスアクセスを実現することができ、
前記上流コンテナおよび下流コンテナは、いずれも任意の階層のコンテナであってよく、両者は同じコンテナであっても異なるコンテナであってもよく、
前記Flowおよびその全ての子コンテナは、いずれもその上流と下流コンテナと共に情報流通経路を形成し、2つの情報ソース(例えば、上流コンテナと下流コンテナ)間の情報の(一方向または双方向)流通と処理プロセスを表現することができ、ネットワーク内の複数のコンテナの間は、情報が流通する任意のトポロジー構造を構成することができる。
任意選択的に、前記情報の流通と処理プロセスは、シナプスを介するニューロン間での神経インパルスの伝導、シナプスとシナプス間の情報交換、ニューロンとシナプスの可塑性など、様々なバイオコンピュータ神経メカニズムを実現するために使用されてもよい。
任意選択的に、前記情報が流通する任意のトポロジー構造は、同一のニューロンがそれ自体に戻るように接続するフィードバック接続、同じ群(レイヤ)のニューロンの相互の間の接続、異なる群(レイヤ)のニューロン間の任意の接続(シーケンシャル/フィードフォワード、クロスレイヤ、フィードバックなど)、およびシナプスとシナプスの直接接続を含む脳神経系における任意の神経回路の接続方法を実現するために使用可能であり、かつフィードバック型接続の無限ループ計算を可能にする。
任意選択的に、前記システムは、任意の階層(またはスケール)のモデルをデータ(data)とオペレーション(operation)の2つの部分に分解するモデリング設計方法をサポートし、
前記データは、NodeParam、EdgeParamまたはParamによって保持され、かつ対応するパラメータデータベースによって格納されてもよく、
前記オペレーションは、前記データのアクセスおよび更新ができる実行可能なプログラム(例えば、関数や関数を含むクラス)として構成され、オペレーションは、一定のハードウェアプラットフォームを超えた汎用性を前記システムに持たせるために、汎用CPU、ARM、DSP、GPUまたは他のプロセッサー上で実行されてもよい。
任意選択的に、前記システムは、ユーザーが1つ以上のオペレーションを定義することで、同じNode内の各ニューロンが(Edgeを経由せずに)互いのデータに直接相互にアクセスして更新し、情報の高速な交換を可能にし、バイオコンピュータ神経系における電気シナプスのシミュレートに使用することをサポートする。
任意選択的に、前記システムは、ユーザーが1つ以上のオペレーションを定義することで、同じEdge内の各シナプスが互いのデータにアクセスして更新し、情報の高速な交換を可能にし、シャント抑制(shunting inhibition)などのメカニズムを含む、バイオコンピュータ神経系における同じニューロンの樹状突起上の複数のシナプス間の相互の情報交換および理論演算のシミュレートに使用することをサポートする。
任意選択的に、前記システムは、所定のトリガー条件と実行ルールに従って、シナプスとニューロンの剪定および/または再生を自動的に実行する機能をサポートし、
前記トリガー条件は、ユーザーが前記構成記述モジュールで指定することができ、
前記実行ルールは、ユーザーが前記モデル記述モジュールで指定することができ、
前記実行ルールは、ネットワークモデルオブジェクト全体に作用してよく、サブネットワークまたは特定のコンテナに作用してもよく、
前記シナプスとニューロンの剪定・再生プロセスは、ネットワークの動作中またはネットワークの一時停止中に、スケジューラーによってスケジューリングして実行することができる。
任意選択的に、前記トリガー条件は、
ユーザーがキーボードやマウスなどの手段を使って本システムにコマンドを入力し、本システムがコマンドを受信した後すぐ、あるいは第1の所定時間後に、切断または再生プロセスを実行するユーザーコマンドと、
ネットワークモデルまたはそのサブ領域が、剪定または再生プロセスに適合するルールを満たすと、剪定または再生プロセスを実行する持続的な実行と、
システムが第1の所定の時間間隔または第1の所定のトラバーサル期間に応じて、自動的に剪定または再生プロセスをタイムリーに開始する間隔的な実行と、のうちの1つまたは任意のいくつかを含む。
任意選択的に、前記剪定プロセスの実行ルールは、シナプス剪定ルールおよび/またはニューロン剪定ルールに分けられ、
前記シナプス剪定ルールは、
あるシナプスのパラメータと、指定された参照シナプス集合における全てのシナプスパラメータの統計値が第1の所定値関係に達した場合(例えば、あるシナプスの重みが、指定されたエッジにおける全てのシナプスの重みの平均値の1%未満である場合)、当該シナプスが剪定待ちシナプスとなることと、
あるシナプスのパラメータと、指定された閾値が第2の所定値関係に達した場合(例えば、あるシナプスの重みが10.0未満である場合)、当該シナプスが切断待ちシナプスとなることと、
あるシナプスが第2の所定時間を超えた時期、または第2の所定のトラバーサル期間にトリガーされていない場合、当該シナプスが剪定待ちシナプスとなることと、
あるシナプスは、他の演算プロセスによって剪定可能になるようにマークされている場合、そのシナプスは剪定待ちシナプスとなり、剪定待ちシナプスに対して、剪定を行うことができることと、のうちの1つまたは任意のいくつかを含み、
前記ニューロン剪定ルールは、
あるニューロンに入力のシナプスがない場合、当該ニューロンが剪定待ちニューロンとなることと、
あるニューロンに出力のシナプスがない場合、当該ニューロンが剪定待ちニューロンとなることと、
あるニューロンに入力および出力のシナプスがない場合、当該ニューロンが剪定待ちニューロンとなることと、
あるニューロンのパラメータと、指定された参照ニューロンの集合における全てのニューロンパラメータの統計値が第3の所定値関係に達した場合(例えば、あるニューロンの閾値が指定されたノードにおける全てのニューロンの閾値の最大値を超える場合)、当該ニューロンが剪定待ちニューロンとなることと、
あるニューロンのパラメータと、指定された閾値が第4の所定値関係に達した場合(例えば、あるニューロンの閾値が1000.0を超える場合)、当該ニューロンが剪定待ちニューロンとなることと、
あるニューロンが第3の所定時間を超えた時期、または第3の所定のトラバーサル期間にスパイキングされていない場合、当該ニューロンが剪定待ちニューロンとなり、あるニューロンが他の演算プロセスによって剪定可能になるようにマークされている場合、当該ニューロンが剪定待ちニューロンとなり、剪定待ちニューロンに対して、剪定を行うことができることと、のうちの1つまたは任意のいくつかを含む。
任意選択的に、前記再生プロセスの実行ルールは、ニューロン再生ルールおよびシナプス再生ルールに分けられ、
前記ニューロン再生ルールは、
あるノードコンテナの既存のニューロン数とそのノードコンテナの総容量が第1の所定比率または第5の所定値関係に達した場合、その総容量の第2の所定比率または第1の所定数でニューロンを再生することであって、第1の所定比率と第2の所定比率は、同じであっても異なってもよいことと、
あるノードコンテナは、第1の所定レートで(つまり、所定の時間間隔または所定のトラバーサル期間に応じて)、その総容量の第3の所定比率または第2の所定数でニューロンを再生することと、
あるノードコンテナは、他の演算プロセスによってニューロンを再生する必要があるとマークされ、かつ第2の所定レートで(つまり、所定の時間間隔または所定のトラバーサル期間おきに、その総容量の所定比率または数)ニューロンを再生することと、のうちの1つまたは任意のいくつかを含み、
前記シナプス再生ルールは、
あるエッジコンテナの既存のシナプス数とそのエッジコンテナの総容量が第4の所定比率または第6の所定値関係に達した場合、その総容量の第5の所定比率または第3の所定数でシナプスを再生することであって、第4の所定比率と第5の所定比率は、同じであっても異なってもよいことと、
あるエッジコンテナは、第3の所定レートで(つまり、所定の時間間隔または所定のトラバーサル期間に応じて、その総容量の所定比率または数で)シナプスを再生することと、
あるエッジコンテナは、他の演算プロセスによってシナプスを再生する必要があるとマークされ、かつ第4の所定レートで(つまり、所定の時間間隔または所定のトラバーサル期間に応じて、その総容量の所定比率または数で)シナプスを再生することと、
あるノードコンテナに入力または出力シナプスを備えないニューロンが存在する場合、対応する各エッジコンテナに入力シナプスまたは出力シナプスをそれぞれ再生することと、のうちの1つまたは任意のいくつかを含む。
任意選択的に、前記モデル記述モジュールにおいて、ユーザーは、各コンテナに対する1つ以上のルールを指定することができ、これらのルールの全てはルールベースを構成し、
前記ルールマネージャーは、前記ルールベース内のルールを所定の優先順位に従ってソートし、1つのコンテナに作用する複数のルールが互いに競合する場合には、最も高い優先順位のルールのみが実行され、1つのコンテナにルールが指定されていない場合には、デフォルトルールを利用して実行され、
前記ルールベース内のルールは、トラバーサルルール、メモリ使用ルール、データI/Oルール、シナプスとニューロンの剪定・再生ルールを含み、
前記トラバーサルルールは、計算集約が必要なサブネットワークに計算リソースを集中させ、データの利用効率を向上させるために、第2の所定の時間間隔または第4の所定のトラバーサル期間に応じて、ネットワークの全てまたは特定のコンテナのトラバーサルを繰り返す、またはスキップするようにスケジューラーに案内するために使用することができ、
前記メモリ使用ルールは、スケジューラーがメインメモリとコプロセッサーメモリの使用を合理化するように案内するために使用することができ、
前記データI/Oルールは、I/Oリソースを節約し、全体的な演算効率を向上させるために、スケジューラーがメインメモリとコプロセッサーメモリの間、およびメモリとハードディスクの間のデータ交換の頻度をスケジューリングするように案内するために使用することができる。
任意選択的に、前記スケジューラーは、メインメモリと各機器メモリにおけるネットワークモデルオブジェクトの使用を合理的に割り当てるように、1つ以上のメインメモリプールと、1つ以上の機器メモリプールを管理し、
前記メインメモリプールは、メインメモリの使用を管理するために使用され、
前記機器メモリプールは、各コプロセッサー(ARM、GPU、DSP、ASICなど)に対応し、対応する機器メモリの使用を管理するために使用され、
前記メインメモリプールと機器メモリプールの容量の上限と下限は、構成記述モジュールによってユーザーが指定される。
任意選択的に、前記スケジューラーは、マルチスレッドコンピューティングに関与するサブスレッドを動的に配置して、メインコンピューティングユニット(CPU、ARMなどであってもよい)とコプロセッサー(ARM、GPU、DSPなどであってもよい)およびI/O機器(ハードディスク、カメラ、オーディオ入力、制御出力など)の演算負荷を合理化するための1つ以上のスレッドプールを管理する。
任意選択的に、前記スケジューラーは、1つ以上のノードデータ入力バッファ、1つ以上のノードデータ出力バッファ、1つ以上のエッジデータ入力バッファ、1つ以上のエッジデータ出力バッファを管理し、ハードディスクまたはI/O機器の読み書きに必要なデータをキャッシングするために使用され、それによって、スケジューラーは、プロセッサー、ハードディスクとI/O機器の負荷に応じて、ハードディスク、I/O機器の読み書きをタイムリーに配置して、I/Oブロッキングを回避し、
前記各バッファの容量、ハードディスクまたはI/O機器の読み書き頻度の上限と下限、ハードディスクまたはI/O機器を読み書きするスループットの上限と下限は、構成記述モジュールによってユーザーが指定される。
本出願はさらに、脳型知能とコグニティブコンピューティングに使用されるスパイキングニューラルネットワーク演算方法を提供し、当該方法は、上述した脳型知能とコグニティブコンピューティングに使用されるスパイキングニューラルネットワーク演算システムを使用する。
上記技術的解決手段から分かるように、従来技術と比較して、本出願の開示は、脳型知能とコグニティブコンピューティングに使用されるスパイキングニューラルネットワーク演算システムおよび方法を提供し、当該システムは、統一された柔軟なモデリング手法を提供し、しかも提供される多階層ツリー構造のネットワーク記述手法は、バイオコンピュータ神経系のフルスケールのモデリングと柔軟なネットワークトポロジーに対応することで、モデリングのスケールとモデリングの豊かさを有機的に統一し、各スケールの全てのモデルを統一されたニューラルネットワークに融合させて演算し、また、データをテンソルの形で表現・格納することにも対応するため、本システムは、スパイキングニューラルネットワークのほか、従来のニューラルネットワーク(深層学習)、およびテンソルを主要なデータ表現方法とする他のアルゴリズムにも対応することができ、さらに一定の条件およびルールに応じてシナプスとニューロンの剪定・再生を自動的に実行する機能も提供し、ニューラルネットワークの開発者が自ら関連機能を実現する必要がなくなる。
上記モデリング設計方法は、任意の階層(またはスケール)のモデルをデータ(data)とオペレーション(operation)の2つの部分に分解するということであってよい。前述したように、データは、NodeParam、EdgeParamまたはParamで保持され、かつ対応するパラメータデータベースによって格納され得る。オペレーションは、前記データへのアクセスおよび更新を行うことができる実行可能なプログラム(例えば、関数や関数を含むクラス)である。
本出願の実施例における技術的解決手段をより明確に説明するために、以下、実施例または例示的な技術の記述に用いられる図面を簡単に紹介するが、当然ながら、以下に記載する図面は、本出願のいくつかの実施例に過ぎず、当業者であれば、創造的労力を要することなく、これらの図面に基づく他の図面を得ることができる。
本出願によって提供される脳型知能とコグニティブコンピューティングに使用されるスパイキングニューラルネットワーク演算システムのアーキテクチャ全体の概略図である。 本出願の実施例における脳型知能とコグニティブコンピューティングに使用されるスパイキングニューラルネットワーク演算システムのネットワークの階層の概略図である。 本出願の実施例における脳型知能とコグニティブコンピューティングに使用されるスパイキングニューラルネットワーク演算システムの動作プロセスのフローチャートである。
本出願の目的、技術的解決手段、および利点をより明確にするために、図面および実施例と組み合わせて、以下に本出願を詳細に説明する。ここで記載されている具体的な実施例は、本出願を限定するためのものではなく、単に本出願を解釈することを目的とすることを理解すべきである。
本出願の技術的解決手段を説明するために、以下において、具体的な図面および実施例と組み合わせて詳細に説明する。
図1を参照し、本出願の実施例は、脳型知能とコグニティブコンピューティングに使用されるスパイキングニューラルネットワーク演算システムを開示し、当該システムは、モデル記述モジュール3、パラメータデータベース2、構成記述モジュール1、構成マネージャー6、ルールマネージャー12、データマネージャー8、ネットワークビルダー9、ネットワークマネージャー10、オペレーションマネージャー7、スケジューラー11、ログマネージャー5、動作監視モジュール13、グラフィカル表示モジュール4を含む。
上記モデル記述モジュール3は、ネットワーク記述ユニット、集約記述ユニット、フロースルー記述ユニットを含む。これらは共に、ネットワーク全体の各構成部分とトポロジー構造を記述している。これらは、ネストされた構文を優先して使用し、XMLまたはJSONのファイルフォーマットを選択することができる。
ネットワーク記述ユニットは、NetworkおよびParamなどのコンテナの記述、ネットワーク全体のパラメータや動作ルールの記述に使用可能であり、かつリンクで1つ以上の集約記述ユニットおよびフロースルー記述ユニットに指向する。
集約記述ユニットは、Confluence、Module、Layer、Node、NodeParamやParamなどのコンテナの記述、ネットワークにおけるノードのモジュールとレイヤグループの分割関係、各コンテナのパラメータ、および動作時のルールとコマンドの記述に使用可能である。
フロースルー記述ユニットは、Flow、Channel、Link、Edge、EdgeParamやParamなどのコンテナの記述、ネットワークにおけるエッジの接続(トポロジー)関係、各コンテナのパラメータ、および動作時のルールとコマンドの記述に使用可能である。
図3を参照すると、モデル記述モジュール3でサポートされているネットワーク記述手法は、バイオコンピュータ神経系の構成形態をシミュレートするために、多階層ツリー構造による表示を優先して選択する。
1. 上記集約記述ユニットは、ネットワーク内のノードを所定のレイヤグループおよびモジュールに応じて配置して構成することをサポートし、バイオコンピュータにおけるニューロンおよび関連するグリア細胞の多層構成形態(例えば、核->脳領域->脳全体)を表現することができる。
2. 上記フロースルー記述ユニットは、ネットワーク内のエッジをトポロジー(接続関係)の類似性に応じてグループ化しおよび階層的に配置して構成することをサポートし、バイオコンピュータにおける神経シナプスの様々な構成形態(例えば、樹状突起、神経経路への投射、神経線維束など)および関連するグリア細胞の突起の構成形態を表現することができる。これにより、大規模な脳型ニューラルネットワークの開発、デバッグ、管理やスケジューリング動作をより直感的かつ容易に行うことができる。
具体的には、上記多階層ツリー構造では、
Networkは、ツリー構造の第1の階層(最上位)に位置し、脳全体および行動スケールのモデルの表現に使用可能なネットワークコンテナを表す。各Networkは、1つ以上のConfluenceおよびFlowを保持することができる。
Confluenceは、ツリー構造の第2の階層に位置し、脳領域スケールのモデルの表現に使用可能な集約コンテナを表す。各Confluenceは、1つ以上のModuleを保持することができる。
Moduleは、ツリー構造の第3の階層に位置し、神経核スケールのモデルの表現に使用可能なモジュールコンテナを表す。各Moduleは、1つ以上のLayerを保持することができる。
Layerは、ツリー構造の第4の階層に位置し、神経回路スケールのモデルの表現に使用可能なレイヤグループコンテナを表す。各Layerは、1つ以上のNodeを保持することができる。
Nodeは、ツリー構造の第5の階層に位置し、ニューロンスケールまたはグリア細胞スケールのモデルの表現、一群のニューロンまたはグリア細胞の表現に使用可能なノードコンテナを表す。ニューロンモデルのスパイキング特性は、トニック発火、迅速発火、バースト発火、プラトー発火または相動性発火などにすることができ、上流入力信号に対するその応答は、異なる神経適応性または感度曲線として構築することができ、下流に対するその作用メカニズムは、興奮性、抑制性、調節性または中立性のモデルとして構築することができる。グリア細胞モデルは、アストロサイト、オリゴデンドロサイト、ミクログリア、シュワン細胞、およびサテライト細胞のモデルなどとして構築することができる。各Nodeは、1つ以上のNodeParamを保持することができる。Nodeは、同じ種類の一群のニューロンの表現に用いられる場合、保持するNodeParamの数がニューロンモデルのパラメータの種類の数によって決められ、つまり、各種類はそれぞれ1つのNodeParamに対応し、かつ当該Nodeにおける全てのニューロンのその種類のパラメータがテンソルで配列して保存される。
Nodeはさらに、入力、出力ノードの表現、システムのI/O機器、例えば、カメラ入力、オーディオ入力、センサー入力、制御出力などへのドッキングにも使用可能である。I/O機器を読み書きするデータは、当該Nodeの各NodeParamを通じて動的に更新される。
NodeParamは、ツリー構造の第6の階層(最下位)に位置し、分子スケール、受容体スケール、神経伝達物質または神経修飾物質スケールのモデルの表現に使用可能であり、一群のニューロンまたはグリア細胞モデルのパラメータテンソルの表現にも使用可能なノードパラメータコンテナを表す。神経伝達物質または神経修飾物質モデルは、興奮性、抑制性または調節性モデルとして構築することができる。受容体モデルは、イオン性のものまたは代謝性のものとして構築することができ、神経伝達物質または神経修飾物質に対する応答効果は、興奮性、抑制性、調節性または中立性のモデルとして構築することができる。
Flowは、ツリー構造の第2の階層に位置し、脳領域間を接続する神経線維束スケールのモデルの表現に使用可能なフロースルーコンテナを表す。各Flowは、1つ以上のChannelを保持することができる。
Channelは、ツリー構造の第3の階層に位置し、神経核間を接続する軸索で構成された伝導束のモデルの表現に使用可能なチャネルコンテナを表す。各Channelは、1つ以上のLinkを保持することができる。
Linkは、ツリー構造の第4の階層に位置し、神経回路内の軸索からなる神経経路のモデルの表現に使用可能な接続コンテナを表す。各Linkは、1つ以上のEdgeを保持することができる。
Edgeは、ツリー構造の第5の階層に位置し、樹状突起スケールまたはシナプススケールのモデルの表現に使用可能であり、一群のシナプスまたはグリア細胞の突起の表現にも使用可能なエッジコンテナを表す。樹状突起スケールのモデルは、頂端樹状突起モデル、基底樹状突起モデルまたは突起棘モデルとして構築することができる。シナプスモデルは、興奮性、抑制性、調節性または中立性のモデルとして構築することができる。各Edgeは、1つ以上のEdgeParamを保持することができる。Edgeは、同じ種類の一群のシナプスの表現に用いられる場合、保持するEdgeParamの数がシナプスモデルのパラメータの種類の数によって決められ、各種類はそれぞれ1つのEdgeParamに対応し、当該Edgeにおける全てのシナプスのその種類のパラメータがテンソルで配列して保存される。
EdgeParamは、ツリー構造の第6の階層(最下位)に位置し、分子スケール、神経伝達物質または神経修飾物質スケール、受容体スケールのモデルの表現に使用可能であり、一群のシナプスまたはグリア細胞の突起モデルのパラメータテンソルの表現にも使用可能なエッジパラメータコンテナを表す。分子スケールのモデルは、細胞内分子モデル、細胞膜内分子モデルおよび細胞間分子モデルとして構築することができる。神経伝達物質または神経修飾物質モデルは、興奮性、抑制性または調節性モデルとして構築することができる。受容体モデルは、イオン性または代謝性のモデルとして構築することができ、神経伝達物質または神経修飾物質に対する応答効果は、興奮性、抑制性、調節性または中立性のモデルとして構築することができる。
Paramは、補助コンテナに属する一般パラメータコンテナを表す。モデリングの必要性に応じて、上記各階層のコンテナには、テンソルの形でパラメータデータを保持するための1つ以上のParamを追加で備えることができ、または、上記各階層のコンテナにはParamを備えなくてもよい。
NodeParam、EdgeParamおよびParamは、テンソル(すなわち、多次元行列)の形でパラメータを内部に保持することができる。テンソルの次元は、1次元以上であってもよく、具体的な配置と使用方法はユーザーによって指定される。例えば、テンソルは、4次元のものであってよく、テンソルにおける各パラメータの位置は、座標(x,y,z,t)で表されてもよく、ここで、x、y、zの3つの次元は、親コンテナ内で表現される各神経組織(ニューロンやシナプスなど)のモデルの空間的配置位置に対応し、tは時間ディメンションを表し、タイミング情報のキャッシングおよび遅延を表現でき、かつニューロンとシナプスに対する神経修飾物質の長期的な作用メカニズム(遅延性を有する)をシミュレートするのに使用できる。さらに別の例として、テンソル内のパラメータは、親コンテナ内の神経組織(ニューロンやシナプスなどの)モデル全体または一部で共有することができ、対象領域の神経組織全体に対する神経修飾物質の大領域効果をシミュレートするのに使用できる。
上記各コンテナには、番号と名称が付けられており、多階層ツリー構造でインデックスを作成するために使用される。各コンテナには、ネットワークのトラバーサル順序とルール、トラバーサル演算に関与した回数、データがメインメモリに常駐しているか、データがコプロセッサーのメモリに常駐しているか、ハードディスクの読み書き頻度などを含む統計情報や制御情報を格納するための1つ以上の制御ブロック(Control Block)があり、かつルールマネージャーおよびスケジューラーによって管理および更新される。
Flowおよびその全ての子コンテナは、いずれも1つ以上の上流コンテナ、および1つ以上の下流コンテナに対応し、かつ上流と下流コンテナの番号または名称によってそれらへのインデックスアクセスを実現することができる。上流コンテナおよび下流コンテナは、いずれも任意の階層のコンテナであり、両者は同じコンテナであっても異なるコンテナであってもよい。従って、Flowおよびその全ての子コンテナは、いずれもその上流と下流コンテナと共に情報流通経路を形成し、2つの情報リソース(例えば、上流コンテナや下流コンテナ)間の情報の(一方向または双方向)流通と処理プロセスを表現することができる。ネットワーク内の複数のコンテナ間は、情報が流通する任意のトポロジー構造を構成することができる。
上記情報の流通と処理プロセスは、シナプスを介するニューロン間での神経インパルスの伝導、シナプスとシナプス間の情報交換、ニューロンとシナプスの可塑性など、様々なバイオコンピュータ神経メカニズムを実現するために使用されてもよい。
上記情報が流通する任意のトポロジー構造は、同一のニューロンがその自体に戻るように接続するフィードバック接続、同じ群(レイヤ)のニューロンの相互の間の接続、異なる群(レイヤ)のニューロン間の任意の接続(シーケンシャル/フィードフォワード、クロスレイヤ、フィードバックなど)、およびシナプスとシナプスの直接接続を含む脳神経系における任意の神経回路の接続方法を実現するために使用可能であり、かつフィードバック型接続の無限ループ計算を可能にする。
以下に詳細な例を示して説明する。
Edgeが1つ以上のシナプスを表現するために使用され、かつその対応する上流と下流コンテナがいずれも1つ以上のニューロンを表現するNodeである場合、
1. 当該Edgeの上流と下流コンテナが異なるNodeである場合、それらの間のトポロジー関係(例えば、Node 1 -> Edge -> Node 2)を、シナプスを介する異なる群(層)のニューロン間のシーケンシャル/フィードフォワード接続の実現に使用することができる。
2. 当該Edgeの上流と下流コンテナが同じNodeである場合、それらの間のトポロジー関係(例えば、Node 1 -> Edge -> Node 1)を、シナプスを介する同じ群(レイヤ)のニューロン間の相互接続の実現に使用でき、自己シナプス(autapse)を介してニューロンがその自体に戻るように接続するフィードバック接続の実現にも使用することができる。
3. 当該Edgeの上流と下流コンテナが異なるLayerからのNodeである場合、それらの間のトポロジー関係を、シナプスを介する異なるレイヤのニューロン間のクロスレイヤ接続に使用することができる。
いくつかのEdgeがそれぞれ1つ以上のシナプスの表現に用いられ、また、いくつかのNodeがそれぞれ1つ以上のニューロンの表現に用いられ、それらがNode 1 -> Edge 1 -> Node N -> Edge N -> Node 1のようなトポロジー関係を形成している場合、
1. 各Nodeがそれぞれ異なるLayerに属する場合、当該トポロジー関係を、異なるレイヤのニューロン間がシーケンシャルフィード接続、クロスレイヤー接続、およびフィードバック接続によって形成される神経回路の実現に使用することができる。
2. 各Nodeが同じLayerに属する場合、当該トポロジー関係を、1つ以上の(または1群以上の)異なるニューロンからなるフィードバック回路の実現に使用することができる。
前述の例では、Edge内のシナプスは、上流と下流コンテナ内のニューロンにアクセスして、その励起タイミング情報を得て、その自体のパラメータ(例えば、重み)と組み合わせて演算を行い、かつ演算結果を上流と下流コンテナ内のニューロンに伝播させることで、シナプスを介するニューロン間での神経インパルスの伝導、およびHebbian、Anti-Hebbian、STDPなどの長短期の可塑性メカニズムを実現することができ、Node内のニューロンは、受け取った(神経伝達物質または神経修飾によって伝達される)情報に応じて、機能の変更またはモデリング(ニューロンの可塑性の1つ)を行うことができる。
1つのEdgeが1つ以上のシナプスの表現に用いられ、かつその対応する上流と下流コンテナのうちの少なくとも1つが1つ以上のシナプスのEdgeを表現する場合、それらの間のトポロジー関係(例えば、Edge 1 -> Edge 2 -> Edge 3)を、シナプスとシナプスの間の直接接続関係および直接的な情報交換の実現に使用することができる。
上記パラメータデータベースは、ネットワークの(初期化パラメータと動作時パラメータを含む)各パラメータデータを格納するために使用される。パラメータデータベースは、バイナリファイルまたはテキストファイルを選択することができる。テキストファイルは、CSVファイルフォーマット、またはデータが他の文字で区切られたファイルフォーマットを使用することができる。各コンテナは、いずれも1つ以上の対応するパラメータデータベースを備えることができる。例えば、NodeParam、EdgeParamまたはParamが保持するパラメータを1つ以上のパラメータデータベースに格納することができ、複数のNodeParam、EdgeParamまたはParamに1つ以上のパラメータデータベースを共有させて同じパラメータを格納することができる。ユーザーは、ネットワーク内の各コンテナのパラメータデータベースをモデルファイルパスの対応するサブフォルダに配置することができる。
本システムが対応するモデリング設計方法は、任意の階層(またはスケール)のモデルをデータ(data)とオペレーション(operation)の2つの部分に分解するということであってよい。前述したように、データは、NodeParam、EdgeParamまたはParamで保持され、かつ対応するパラメータデータベースによって格納され得る。オペレーションは、前記データへのアクセスおよび更新を行うことができる実行可能なプログラム(例えば、関数や関数を含むクラス)である。
例えば、ニューロンは、従来のニューロンモデルを用いて、そのReLU活性化関数をオペレーションとして設計し、かつその閾値パラメータをデータとして設計してモデリングすることができ、また、スパイキングニューロンモデルを用いて、そのleaky integrate-and-fire modelの関数をオペレーションとして設計し、かつそのパラメータをデータとして設計してモデリングすることもできる。
さらに別の例として、ユーザーは、1つ以上のオペレーションを定義することで、同じNode内の各ニューロン(Edgeを経由せずに)が互いのデータに直接相互にアクセスして更新し、情報の高速な交換を可能にし、バイオコンピュータ神経系における電気シナプスのシミュレートに使用することができる。
他の例として、ユーザーはモデリング時に、1つ以上のオペレーションを定義することで、同じEdge内の各シナプスが互いのデータに直接相互にアクセスして更新し、情報の高速な交換を可能にし、シャント抑制(shunting inhibition)などのメカニズムを含む、バイオコンピュータ神経系における同じニューロンの樹状突起上の複数のシナプス間の情報相互交換および理論演算のシミュレートに使用することができる。
要約すると、本システムは、統一された柔軟なモデリング手法を提供し、しかも提供される多階層ツリー構造のネットワーク記述手法は、バイオコンピュータ神経系のフルスケールのモデリングと柔軟なネットワークトポロジーに対応することで、モデリングのスケールとモデリングの豊かさを有機的に統一し、かつ各スケールの全てのモデルを統一されたニューラルネットワークとして融合させて演算する。また、データがテンソルの形で表現および格納されることで、本システムは、スパイキングニューラルネットワークのほか、従来のニューラルネットワーク(深層学習)、およびテンソルを主要なデータ表現方法とする他のアルゴリズムにも対応することができる。
上記オペレーションマネージャー7は、本システム上で動作可能な全てのオペレーションを管理するために使用される。オペレーションは、汎用CPU、ARM、DSP、GPUまたは他のプロセッサーで動作可能なプログラム(コードセグメント、関数やクラスを含む)であってもよい。全てのオペレーションは、オペレーションライブラリーを構成する。オペレーションマネージャー7は、指定されたオペレーションをオペレーションの番号または名称に応じて照会および呼び出しを行うためのプログラミングインターフェースを提供する。ユーザーは、モデル記述モジュールで各コンテナに対して実行する必要があるオペレーションを指定することができ、対応するオペレーションは動作時にスケジューラーによってスケジューリングして実行される。これにより、当該システムは、ハードウェアプラットフォームを超えた汎用性をある程度備えることが確保され、汎用CPU、GPU、ARM、DSPなどのハードウェアプラットフォーム上で実行されてもよい。
上記構成記述モジュール1は、現在のネットワーク動作環境の構成パラメータを記述するために使用される。例えば、システムが利用できるメモリプールの大きさ、どのように動作するか(1回、複数回、連続動作)、ハードディスクデータを読み書きする頻度の上限と下限、シナプスとニューロンの剪定・再生プロセスを開始する条件など。
上記構成マネージャー6は、上記構成記述モジュール1を読み取って、システム構成パラメータを取得し、かつコンポーネントが呼び出すためのプログラミングインターフェースを提供するために使用される。
上記ネットワークモデルオブジェクトは、ネットワークビルダー9によって構築され、かつメモリに常駐する。それは、全てのコンテナ、トポロジー関係およびパラメータデータを含むネットワーク全体を表現し、スケジューラーがスケジューリングして実行するオブジェクトである。
上記ルールマネージャー12は、モデル記述モジュール3におけるユーザーが宣言したルールを読み取り、かつスケジューラー11がネットワークモデルオブジェクトの演算をスケジューリングする際に、これらのルールを解釈するために使用される。ユーザーは、モデル記述モジュール3で各コンテナに対する1つ以上のルールを指定することができる。これらのルールの全てはルールベースを構成する。ルールマネージャー12は、ルールベース内のルールを所定の優先順位に従ってソートし、1つのコンテナに作用する複数のルールが互いに競合する場合に、最も高い優先順位のルールのみが実行される。1つのコンテナにいずれかのルールも指定されていない場合には、ルールマネージャー12は、デフォルトルールを使用して実行する。
ルールベース内のルールは、トラバーサルルール、メモリ使用ルール、データI/Oルール、シナプスとニューロンの剪定・再生ルールなどを含むが、これらに限定されない。トラバーサルルールは、計算集約が必要なサブネットワークに計算リソースを集中させ、データの利用効率を向上させるために、第2の所定の時間間隔または第4の所定のトラバーサル期間に応じて、スケジューラーがネットワークの全てまたは特定のコンテナのトラバーサルを繰り返す、またはスキップするように案内するために使用することができ、メモリ使用ルールは、スケジューラーがメインメモリとコプロセッサーメモリの使用を合理化するように案内するために使用することができ、データI/Oルールは、I/Oリソースを節約し、全体的な演算効率を向上させるために、スケジューラーがメインメモリとコプロセッサーメモリの間、およびメモリとハードディスクの間のデータ交換の頻度をスケジューリングするように案内するために使用することができる。
上記データマネージャー8は、1つ以上のデコーダとエンコーダを含む。デコーダは、ユーザーが指定したフォーマットのデータファイルを読み取り、解析し、かつそのコンテンツをコンピュータが計算できる種類のデータに変換するために使用される。エンコーダは、メモリ内のデータを、ハードディスクに容易に書き戻すために、ユーザーが指定したフォーマットでシリアル化するために使用される。データファイルのファイルタイプは、バイナリファイルであってよく、テキストファイル(UnicodeまたはASCIIフォーマットを用いる)であってもよい。ユーザーは、データマネージャー8にカスタムデコーダやエンコーダを追加して、カスタムフォーマットのファイルを読み書きすることができる。
上記ネットワークビルダー9は、モデル記述モジュール3を読み取り、ネットワークのトポロジー構造を解析し、かつデータマネージャー8によってデータファイルを読み取り、メモリにネットワークモデルオブジェクトを構築する。
上記ネットワークマネージャー10は、ネットワークモデルオブジェクトを構築するプログラミングインターフェースを提供し、当該インターフェースは、ネットワークビルダー9を呼び出すことで、ネットワークモデルオブジェクトを構築する。ネットワークマネージャー9はさらに、ネットワークモデルオブジェクトへのアクセス、トラバース、および操作のためのプログラミングインターフェースを提供し、任意のコンテナ、ニューロン、シナプス、パラメータなどを番号または名称で照会および更新を行うことをサポートするものを含む。サポートされているトラバーサル順序は、
1.深さ優先トラバーサルと、
2.幅優先トラバーサルと、
3.モデル記述モジュールで指定されたルールに従ったトラバーサルと、を含むが、これらに限定されない。
トラバーサルの実現方法は、
1.サイクリック・トラバーサルと、
2.再帰的なトラバーサルと、を含むが、これらに限定されない。
上記スケジューラー11は、ハードウェアリソースの割り当ておよび演算プロセスのスケジューリングを行い、最適な演算効率を確保するために使用される。スケジューラー11は、メインメモリと各機器メモリでのネットワークモデルオブジェクトの使用を合理的に割り当てるように、1つ以上のメインメモリプールと、1つ以上の機器メモリプールを管理する。メインメモリプールは、メインメモリの使用を管理するために使用され、各コプロセッサー(ARM、GPU、DSP、ASIC)は、それぞれ1つ以上の対応する機器メモリプールを持ち、対応する機器メモリの使用を管理するために使用される。その容量の上限と下限は、構成記述モジュール1によってユーザーが指定される。
上記スケジューラー11は、マルチスレッドコンピューティングに関与するサブスレッドを動的に配置して、メインコンピューティングユニット(CPU、ARMなどであってもよい)とコプロセッサー(ARM、GPU、DSPなどであってもよい)およびI/O機器(ハードディスク、カメラ、オーディオ入力、制御出力など)の演算負荷を合理化するための1つ以上のスレッドプールを管理する。
上記スケジューラー11は、1つ以上のノードデータ入力バッファ、1つ以上のノードデータ出力バッファ、1つ以上のエッジデータ入力バッファ、1つ以上のエッジデータ出力バッファを管理し、ハードディスクまたはI/O機器の読み書きに必要なデータをキャッシングするために使用される。それらは環状キューのデータ構造を優先して使用する。各バッファの容量、ハードディスクまたはI/O機器の読み書き頻度の上限と下限、ハードディスクまたはI/O機器を読み書きするスループットの上限と下限は、構成記述モジュール1によってユーザーが指定される。スケジューラー11は、プロセッサー、ハードディスクおよびI/O機器の負荷に応じて、ハードディスク、I/O機器の読み書きをタイムリーに配置して、I/Oブロッキングを回避する。
スケジューラー11を使用してプロセッサーおよびコプロセッサー、メモリ、ハードディスク、IO機器などのハードウェアリソースを合理的に割り当てるため、本システムは、ハードウェアリソース(メモリなど)が比較的に限られている組み込み機器上の効率的な動作に適している。
本システムは、一定のトリガー条件および実行ルールに従って、シナプスとニューロンの剪定・再生を自動的に実行する機能を提供する。ユーザーは、構成記述モジュール1で剪定または再生プロセスを開始するトリガー条件を指定し、かつモデル記述モジュール3で剪定または再生プロセスの実行ルールを指定することができる。実行ルールは、ネットワークモデルオブジェクト全体に作用してもよく、サブネットワークまたは特定のコンテナに作用してもよい。剪定または再生プロセスは、ネットワークの動作中またはネットワークの一時停止中に、スケジューラー11によってスケジューリングして実行することができる。
上述した剪定または再生プロセスを開始するトリガー条件は、
1.ユーザーがキーボードやマウスなどの手段を使って本システムにコマンドを入力し、本システムがそのコマンドを受信した後すぐ、あるいは第1の所定時間後に、剪定または再生プロセスを実行するユーザーコマンドと、
2.ネットワークモデルまたはそのサブ領域が、剪定または再生プロセスに適合するルールを満たすと、剪定または再生プロセスを実行する持続的な実行と、
3.システムが第1の所定の時間間隔または第1の所定のトラバーサル期間に応じて、自動的に剪定または再生プロセスをタイムリーに開始する間隔的な実行と、のうちの1つ以上を含むが、これらに限定されない。
当該剪定プロセスの実行ルールは、シナプス剪定ルールとニューロン剪定ルールに分けられる。シナプス剪定ルールは、
1.あるシナプスのパラメータと、指定された参照シナプスの集合における全てのシナプスパラメータの統計値が第1の所定値関係に達した場合(例えば、あるシナプスの重みが、指定されたエッジにおける全てのシナプスの重みの平均値の1%未満である場合)、当該シナプスが剪定待ちシナプスとなることと、
2.あるシナプスのパラメータと、指定された閾値が第2の所定値関係に達した場合(例えば、あるシナプスの重みが10.0未満である場合)、当該シナプスが剪定待ちシナプスとなることと、
3.あるシナプスが第2の所定時間を超えた時期、または第2の所定のトラバーサル期間にトリガーされていない場合、当該シナプスが剪定待ちシナプスとなることと、
4.あるシナプスが他の演算プロセスによって剪定可能になるようにマークされている場合、当該シナプスが剪定待ちシナプスとなり、剪定待ちシナプスに対して、剪定を行うことができることと、のうちの1つ以上を含むが、これらに限定されない。
ニューロン剪定ルールは、
1.あるニューロンに入力のシナプスがない場合、当該ニューロンが剪定待ちニューロンとなることと、
2.あるニューロンに出力のシナプスがない場合、当該ニューロンが剪定待ちニューロンとなることと、
3.あるニューロンに入力および出力のシナプスがない場合、当該ニューロンが剪定待ちニューロンとなることと、
4.あるニューロンのパラメータと、指定された参照ニューロンの集合における全てのニューロンパラメータの統計値が第3の所定値関係に達した場合(例えば、あるニューロンの閾値が指定されたノードにおける全てのニューロンの閾値の最大値を超える場合)、当該ニューロンが剪定待ちニューロンとなることと、
5.あるニューロンのパラメータと、指定された閾値が第4の所定値関係に達した場合(例えば、あるニューロンの閾値が1000.0を超える場合)、当該ニューロンが剪定待ちニューロンとなることと、
6.あるニューロンが第3の所定時間を超えた時期、または第3の所定のトラバーサル期間にスパイキングされていない場合、当該ニューロンが剪定待ちニューロンとなることと、
7.あるニューロンが他の演算プロセスによって剪定可能になるようにマークされている場合、当該ニューロンが剪定待ちニューロンとなり、剪定待ちニューロンに対して、剪定を行うことができることと、のうちの1つ以上を含むが、これらに限定されない。
当該再生プロセスの実行ルールは、ニューロン再生ルールとシナプス再生ルールに分けられる。ニューロン再生ルールは、
1.あるノードコンテナの既存のニューロン数とそのノードコンテナの総容量が第1の所定比率または第5の所定値関係に達した場合、その総容量の第2の所定比率または第1の所定数でニューロンを再生することであって、第1の所定比率と第2の所定比率は、同じであっても異なってもよいことと、
2.あるノードコンテナは、第1の所定レートで(つまり、所定の時間間隔または所定のトラバーサル期間に応じて)、その総容量の第3の所定比率または第2の所定数でニューロンを再生することと、
3.あるノードコンテナは、他の演算プロセスによってニューロンを再生する必要があるとマークされ、かつ第2の所定レートで(つまり、所定の時間間隔または所定のトラバーサル期間に応じて、その総容量の所定比率または数で)ニューロンを再生することと、のうちの1つ以上を含むが、これらに限定されない。
シナプス再生ルールは、
1.あるエッジコンテナの既存のシナプス数とそのエッジコンテナの総容量が第4の所定比率または第6の所定値関係に達した場合、その総容量の第5の所定比率または第3の所定数でシナプスを再生することであって、第4の所定比率と第5の所定比率は、同じであっても異なってもよいことと、
2.あるエッジコンテナは、第3の所定レートで(つまり、所定の時間間隔または所定のトラバーサル期間に応じて、その総容量の所定比率または数で)シナプスを再生することと、
3.あるエッジコンテナは、他の演算プロセスによってシナプスを再生する必要があるとマークされ、かつ第4の所定レートで(つまり、所定の時間間隔または所定のトラバーサル期間に応じて、その総容量の所定比率または数で)シナプスを再生することと、
4.あるノードコンテナに入力または出力シナプスを備えないニューロンが存在する場合、対応する各エッジコンテナに入力シナプスまたは出力シナプスをそれぞれ再生することと、のうちの1つ以上を含むが、これらに限定されない。
上記スケジューラーは、シナプスとニューロンの剪定・再生の実行をスケジューリングする役割を担っている。シナプスとニューロンの剪定または再生を開始する条件がトリガーされると、スケジューラーは、その管理するスレッドプールから1つ以上のサブスレッドを割り当て、それぞれがネットワークモデルオブジェクトの一部の領域または特定のコンテナを担当する。サブスレッドは、管轄する領域内の各コンテナをトラバースし、かつ指定されたルールに従ってニューロンおよび/またはシナプスの剪定および/または再生プロセスを実行する。
ニューロンまたはシナプスの再生プロセスは、コンテナに必要なメモリ空間を割り当て、かつ対応するオブジェクト(new/construct object)を作成するということであり得、ニューロンまたはシナプスの剪定プロセスは、コンテナにおいて対応するオブジェクトを破棄し(delete/destruct object)、かつ占有したメモリ空間を解放するということであり得る。
本システムは、一定の条件およびルールに応じてシナプスとニューロンの剪定・再生を自動的に実行する機能を提供し、かつ柔軟な剪定と再生プロセスを開始するためのトリガー条件、およびプロセスを実行するためのルールを数多く提供するため、ニューラルネットワークの開発者が自らシナプスとニューロンの剪定・再生プログラムを作成する必要がなくなり、開発の柔軟性と効率性を向上させる。シナプスとニューロンの剪定プロセスは、再生プロセスと交互に組み合わせて使用することができ、ニューラルネットワークのコーディング効率を最適化し、ニューラルネットワークのサイズと必要な格納空間を大幅に圧縮し、メモリを節約するとともに演算効率を向上させることができ、それによって、本システムは、ハードウェアリソースが限られている組み込み機器上での動作に適している。本システムは、シナプスとニューロンの剪定と再生をサポートすることで、バイオコンピュータ神経系における豊富的なメカニズム(例えば、海馬のシナプスとニューロンのアポトーシスと再生現象)のシミュレートに寄与し、脳型知能とコグニティブコンピューティングをよりよくサポートすることができる。
上記ログマネージャー5は、システム動作時に生成されたログを記録するために使用され、ログは、デバッグおよびメンテナンスを容易にするために、システムの稼働状態と異常をユーザーに提示するために使用される。ログは、一連の文字列とタイムスタンプで構成され、コマンドライン環境で表示し、またはファイルに保存してテキストブラウザで表示することができる。ログマネージャーは、ログ記録プログラミングインターフェースとログ管理サービスで構成される。ログ記録プログラミングインターフェースは、ユーザーがプログラムから呼び出され、かつログデータをログ管理サービスに送信する。ログ管理サービスは、ネットワーク演算をブロックしないように単独のスレッドで実行され、それは、受信したログデータをタイムスタンプで一括してソートし、メモリにキャッシングし、キャッシングされたデータ量が、ある程度に達すると、一定の順序でハードディスクに保存されてキャッシュメモリーをクリアする。
上記動作監視モジュール13は、ユーザーからの入力を受信して応答し、かつシステム全体の動作状態を管理するために使用される。それは、デフォルト状態、ネットワーク構築状態、ネットワーク動作状態、ネットワーク一時停止状態を含む、ステートマシンの設計を採用している。それは、ユーザーから入力されたコマンドを受信してキャッシングするためのメッセージキューを含み、しかもステートマシンが異なる状態を切り替えるように、キュー内のコマンドにリアルタイムに応答するための単独のスレッドを備える。ユーザーは、キーボード、マウス、プログラミングインターフェースまたは他の手段を利用してコマンドを入力することができる。コマンドは、ネットワーク構築コマンド、動作開始コマンド、動作一時停止コマンド、動作終了コマンド、シナプスとニューロン剪定コマンド、およびシナプスとニューロン再生コマンドを含むが、これらに限定されない。
図3と組み合わせて、システムの動作原理を以下に簡単に説明する。
S1:システムを開始して動作環境を初期化する。
S2:動作環境がデフォルト状態に進む。
S3:構成を通じて、構成記述モジュールを読み取って構成パラメータを取得するように管理する。
S4:コマンドの入力を待つ。
S5:ネットワーク構築コマンドが受信されたか否かを判断し、判断結果がYesの場合、次のステップに進む。
S6:ネットワーク構築コマンドを受信すると、動作環境をネットワーク構築状態に切り替える。
S7:ネットワークマネージャーとルールマネージャーを初期化する。
S8:ネットワークビルダーによってモデル記述モジュールを読み取ってネットワークモデルオブジェクトを構築し、データマネージャーによってパラメータデータベースを読み取る。
S9:コマンドの入力を待つ。
S10:動作開始コマンドが受信された否かを判断し、判断結果がNOの場合、ステップS9に戻って、再度コマンドの入力を持ち、判断結果がYESの場合、次のステップに進む。
S11:動作環境がネットワーク動作状態に進む。
S12:スケジューリングして実行する。
S13:動作一時停止コマンドが受信されたか否かを判断し、判断結果がYesの場合、ステップS14に進み、判断結果がNOの場合、ステップS17に進む。
S14:動作環境がネットワーク一時停止状態に進む。
S15:コマンドの入力を待つ。
S16:動作開始コマンドが受信されたか否かを判断し、判断結果がYesの場合、ステップS11に進み、判断結果がNOの場合、ステップS15に戻る。
S17:指定された停止条件(動作終了コマンドを受信したなどを含む)に達したか否かを判断し、判断結果がNOの場合、ステップS12に戻り、判断結果がYesの場合、動作を終了する。
システムが初期化されると、上記ステートマシンはデフォルト状態にあり、メッセージキューを開始し、ユーザーの入力を受信し始め、ネットワーク構築コマンドが受信されると、ステートマシンはネットワーク構築状態に切り替わり、かつネットワークモデルオブジェクトを構築し、動作開始コマンドが受信されると、ステートマシンはネットワーク動作状態に切り替わり、かつネットワーク演算を実行し、動作一時停止コマンドが受信されると、ステートマシンはネットワーク一時停止状態に切り替わり、かつネットワーク演算を一時停止し、動作終了コマンドが受信されると、ステートマシンはネットワークデータをハードディスクに保存し、システムは終了してログアウトする。ステートマシンがネットワーク動作状態またはネットワーク一時停止状態にあるとき、メッセージキューにシナプスとニューロン剪定コマンドが存在する場合、スケジューラーによってシナプスとニューロン剪定プロセスを開始し、メッセージキューにシナプスとニューロン再生コマンドが存在する場合、スケジューラーによってシナプスとニューロン再生プロセスを開始する。本システムは、動作監視モジュールを用いてシステムの稼働状態を管理するため、アプリケーション環境がネットワーク演算を必要としない場合に、システムをネットワーク一時停止状態に切り替えて消費電力を抑え、本システムを組み込みシステムに適用するようになることができる。
上記グラフィカル表示モジュール4は、開発、監視、およびデバッグを容易にするために、ネットワークデータを読み取り、かつそれをユーザーに表示するために使用される。グラフィカル表示モジュール4は、メモリにおけるネットワークモデルオブジェクトのデータを直接読み取ることができ、ハードディスクに保存されるデータを読み取ることもできる。グラフィカル表示モジュール4は、ネットワーク演算をブロッキングしないように単独のスレッドを採用するため、ネットワークのスケジューリング動作中にリアルタイムに表示することができ、ネットワークのスケジューリング動作の終了後に表示することもできる。
なお、上記第1の所定時間から第3の所定時間、第1の所定の時間間隔から第2の所定の時間間隔、第1の所定のトラバーサル期間から第4の所定のトラバーサル期間、第1の所定値関係から第6の所定値関係、第1の所定比率から第5の所定比率、第1の所定数から第3の所定数、および第1の所定レートから第4の所定レートなどの表現は、所定時間、所定の時間間隔、所定のトラバーサル期間、所定値関係、所定比率、所定数および所定レートのを容易に区別するためのものに過ぎず、その具体的な値または範囲は、実際の必要に応じて決定することができ、本出願の実施例によって限定されるものではない。また、上述した各所定時間、所定の時間間隔、所定のトラバーサル期間、所定値関係、所定比率、所定数および所定レートの値は、同じであっても異なってもよい。例えば、第1の所定時間から第3の所定時間までの時間長さは、完全に同じてあっても、完全に異なってもよく、または、その一部の時間長さが同じで他の一部の時間長さが異なってもよい。また、これも本出願の実施例によって限定されるものではない。
以上は、本出願の選択可能な実施例に過ぎず、本出願を限定するものではない。当業者にとって、本出願は様々な変更および変化を行うことができる。本出願の精神と原則の範囲内で行われた任意の修正、同等の代替や改良などは、いずれも本出願の特許請求の範囲に含まれるものとする。
1 構成記述モジュール
2 パラメータデータベース
3 モデル記述モジュール
4 グラフィカル表示モジュール
5 ログマネージャー
6 構成マネージャー
7 オペレーションマネージャー
8 データマネージャー
9 ネットワークビルダー
10 ネットワークマネージャー
11 スケジューラー
12 ルールマネージャー
13 動作監視モジュール

Claims (38)

  1. ユーザーがネットワークモデルを設計および記述するためのインターフェースを提供して、ネットワークモデルオブジェクトに対して実行するオペレーションおよびルールを指定するために使用されるモデル記述モジュールと、
    ネットワークモデルの各パラメータデータをパラメータデータベースの形で格納するために使用されるパラメータデータベースと、
    現在のネットワーク動作環境の構成パラメータ、並びに、前記ネットワークモデルにより動作メカニズムがモデル化されるシナプスおよび/またはニューロンの剪定・再生プロセスを開始する条件を記述するための構成記述モジュールと、
    前記構成記述モジュールから関連する構成パラメータを呼び出すための構成マネージャーと、
    モデル記述モジュールを読み取って、ネットワークのトポロジー構造を解析し、かつデータマネージャーによってデータファイルを読み取って、ネットワークモデルオブジェクトをメモリに構築するためのネットワークビルダーと、
    ネットワークモデルオブジェクトの構築、トラバーサル、アクセスおよび/または更新を行うためのネットワークマネージャーと、
    前記モデル記述モジュールにおけるユーザーが宣言したルールを読み取って、かつスケジューラーで前記ネットワークモデルオブジェクトの演算をスケジューリングする際にユーザーが宣言したルールを解釈し、ルール間の競合を調停するためのルールマネージャーと、
    パラメータデータベースを読み取って解析し、データフォーマットの変換、およびデータのシリアル化を行うためのデータマネージャーと、
    ハードウェアリソースを割り当て、演算プロセスをスケジューリングし、対応するオペレーションをスケジューリングして実行するためのスケジューラーと、
    動作するオペレーションを管理するためのオペレーションマネージャーと、
    システム動作時に生成されたログを記録し、システムの稼働状態を記録し、かつ異常状態を提示するためのログマネージャーと、
    ユーザーからの入力命令を受信して応答し、システムの動作状態を管理するための動作監視モジュールと、
    ネットワークデータを読み取って表示するためのグラフィカル表示モジュールと、を含むことを特徴とする、脳型知能とコグニティブコンピューティングに使用されるスパイキングニューラルネットワーク演算システム。
  2. 前記モデル記述モジュールは、ネットワーク記述ユニット、集約記述ユニットおよびフロースルー記述ユニットを含み、
    前記ネットワーク記述ユニットは、ネットワークコンテナと一般パラメータコンテナの記述、ネットワークのパラメータと動作ルールの記述に使用され、かつリンクで1つ以上の集約記述ユニットおよびフロースルー記述ユニットに指向し、
    前記集約記述ユニットは、集約コンテナ、モジュールコンテナ、レイヤグループコンテナ、ノードコンテナ、ノードパラメータコンテナ、および一般パラメータコンテナのうちの少なくとも1つのコンテナの記述、ネットワークにおけるノードのモジュールとレイヤグループの分割関係、各ネットワークモデルオブジェクトのパラメータ、および動作時のルールとコマンドの記述に使用され、
    前記フロースルー記述ユニットは、フロースルーコンテナ、チャネルコンテナ、接続コンテナ、エッジコンテナ、エッジパラメータコンテナ、および一般パラメータコンテナのうちの少なくとも1つのコンテナの記述、ネットワークにおけるエッジの接続関係、各ネットワークモデルオブジェクトのパラメータ、および動作時のルールとコマンドの記述に使用されることを特徴とする、請求項1に記載の脳型知能とコグニティブコンピューティングに使用されるスパイキングニューラルネットワーク演算システム。
  3. 前記モデル記述モジュールは、バイオコンピュータ神経系の構成形態をシミュレートする多階層ツリー構造のネットワーク記述手法を使用し、前記集約記述ユニットは、ネットワーク内のノードを所定のレイヤグループおよびモジュールに応じて配置して構成することをサポートし、バイオコンピュータにおけるニューロンおよび関連するグリア細胞の多階層構成形態を表現するために使用され、前記フロースルー記述ユニットは、ネットワーク内のエッジをトポロジーの類似性に応じてグループ化しおよび階層的に配置して構成することをサポートし、バイオコンピュータにおける神経シナプスの様々な構成形態、および関連するグリア細胞の突起の構成形態を表現するために使用されることを特徴とする、請求項2に記載の脳型知能とコグニティブコンピューティングに使用されるスパイキングニューラルネットワーク演算システム。
  4. 前記ネットワーク記述ユニット、集約記述ユニットおよびフロースルー記述ユニットは、いずれもXMLおよび/またはJSONのファイルフォーマットを選択するとともにネストされた構文を使用することを特徴とする、請求項2に記載の脳型知能とコグニティブコンピューティングに使用されるスパイキングニューラルネットワーク演算システム。
  5. 前記パラメータデータは、初期化パラメータデータおよび動作時パラメータデータを含むことを特徴とする、請求項1に記載の脳型知能とコグニティブコンピューティングに使用されるスパイキングニューラルネットワーク演算システム。
  6. 前記パラメータデータベースは、バイナリファイルまたはテキストファイルであり、前記テキストファイルは、CSVファイルフォーマット、またはデータが他の文字で区切られたファイルフォーマットを使用することを特徴とする、請求項1に記載の脳型知能とコグニティブコンピューティングに使用されるスパイキングニューラルネットワーク演算システム。
  7. 前記ネットワークモデルオブジェクトは、コンテナ、トポロジー関係および/またはパラメータデータを含み、スケジューラーによってスケジューリングして実行するオブジェクトであることを特徴とする、請求項1に記載の脳型知能とコグニティブコンピューティングに使用されるスパイキングニューラルネットワーク演算システム。
  8. 前記コンテナは、番号および/または名称を含み、多階層ツリー構造でインデックスを作成するために使用されることを特徴とする、請求項7に記載の脳型知能とコグニティブコンピューティングに使用されるスパイキングニューラルネットワーク演算システム。
  9. 前記コンテナは、統計および制御情報を格納するための1つ以上の制御ブロックを含むことを特徴とする、請求項7に記載の脳型知能とコグニティブコンピューティングに使用されるスパイキングニューラルネットワーク演算システム。
  10. 前記制御ブロックは、ネットワークのトラバーサル順序とルール、トラバーサル演算に関与した回数、データがメインメモリに常駐しているか、データがコプロセッサーメモリに常駐しているか、ハードディスクの読み書き頻度のうちの少なくとも1つを含み、かつ前記ルールマネージャーおよびスケジューラーによって管理および更新されることを特徴とする、請求項9に記載の脳型知能とコグニティブコンピューティングに使用されるスパイキングニューラルネットワーク演算システム。
  11. 前記コンテナは、
    ツリー構造の第1の階層に位置し、脳全体および行動スケールのモデルを表現するためのネットワークコンテナと、
    ツリー構造の第2の階層に位置し、脳領域スケールのモデルを表現するための集約コンテナと、
    ツリー構造の第3の階層に位置し、神経核スケールのモデルを表現するためのモジュールコンテナと、
    ツリー構造の第4の階層に位置し、神経回路スケールのモデルを表現するためのレイヤグループコンテナと、
    ツリー構造の第5の階層に位置し、ニューロンスケールまたはグリア細胞スケールのモデル、および一群のニューロンまたはグリア細胞を表現するためのノードコンテナと、
    ツリー構造の第6の階層に位置し、分子スケール、受容体スケール、神経伝達物質または神経修飾物質スケールのモデル、および/または、一群のニューロンモデルまたはグリア細胞モデルのパラメータテンソルを表現するためのノードパラメータコンテナと、
    ツリー構造の第2の階層に位置し、脳領域間を接続する神経線維束スケールのモデルを表現するためのフロースルーコンテナと、
    ツリー構造の第3の階層に位置し、神経核間を接続する軸索で構成された伝導束のモデルを表現するためのチャネルコンテナと、
    ツリー構造の第4の階層に位置し、神経回路内の軸索からなる神経経路のモデルを表現するための接続コンテナと、
    ツリー構造の第5の階層に位置し、樹状突起スケールまたはシナプススケールのモデル、および/または、一群のシナプスまたはグリア細胞の突起を表現するためのエッジコンテナと、
    ツリー構造の第6の階層に位置し、分子スケール、神経伝達物質または神経修飾物質スケール、受容体スケールのモデル、および一群のシナプスまたはグリア細胞の突起モデルのパラメータテンソルを表現するためのエッジパラメータコンテナ、および/または、
    テンソルの形でパラメータデータを保持するための一般パラメータコンテナとを含み、
    前記一般パラメータコンテナは、補助コンテナに属し、各階層のコンテナには1つ以上の前記一般パラメータコンテナを追加で備えることができることを特徴とする、請求項8または9に記載の脳型知能とコグニティブコンピューティングに使用されるスパイキングニューラルネットワーク演算システム。
  12. 前記ニューロンモデルのスパイキング特性は、トニック発火、迅速発火、バースト発火、プラトー発火、および/または相動性発火を含むように構築され、
    上流入力信号に対する前記ニューロンモデルの応答は、異なる神経適応性または感度曲線として構築され、
    下流に対する前記ニューロンモデルの作用メカニズムは、興奮性、抑制性、調節性、および/または中立性のモデルとして構築され、
    前記ニューロンモデルは、スパイキングニューロンモデル、および/または従来のニューロンモデルとして構築され、
    前記グリア細胞モデルは、アストロサイトモデル、オリゴデンドロサイトモデル、ミクログリアモデル、シュワン細胞モデル、および/またはサテライト細胞モデルとして構築されることを特徴とする、請求項11に記載の脳型知能とコグニティブコンピューティングに使用されるスパイキングニューラルネットワーク演算システム。
  13. 前記神経伝達物質または神経修飾物質モデルは、興奮性、抑制性、および/または調節性のモデルとして構築され、
    前記受容体スケールのモデルは、イオン性、および/または代謝性のモデルとして構築され、
    神経伝達物質または神経修飾物質に対する前記受容体スケールのモデルの応答効果は、興奮性、抑制性、調節性、および/または中立性のモデルとして構築されることを特徴とする、請求項11に記載の脳型知能とコグニティブコンピューティングに使用されるスパイキングニューラルネットワーク演算システム。
  14. 前記樹状突起スケールのモデルは、頂端樹状突起モデル、基底樹状突起モデル、および/または突起棘モデルとして構築され、
    前記シナプススケールのモデルは、興奮性、抑制性、調節性、および/または中立性のモデルとして構築されることを特徴とする、請求項11に記載の脳型知能とコグニティブコンピューティングに使用されるスパイキングニューラルネットワーク演算システム。
  15. 前記分子スケールのモデルは、細胞内分子モデル、細胞膜内分子モデル、および/または細胞間分子モデルとして構築されることを特徴とする、請求項11に記載の脳型知能とコグニティブコンピューティングに使用されるスパイキングニューラルネットワーク演算システム。
  16. 前記ノードパラメータコンテナ、エッジパラメータコンテナおよび一般パラメータコンテナは、テンソルの形でパラメータを内部に保持することを特徴とする、請求項11に記載の脳型知能とコグニティブコンピューティングに使用されるスパイキングニューラルネットワーク演算システム。
  17. 前記テンソルの次元は、1次元以上であり、前記テンソルの配置と使用方法はユーザーによって指定されることを特徴とする、請求項16に記載の脳型知能とコグニティブコンピューティングに使用されるスパイキングニューラルネットワーク演算システム。
  18. 前記テンソルは4次元のものとして構成され、テンソルにおける各パラメータの位置は、座標(x,y,z,t)で表され、ここで、x、y、zの3つの次元は、親コンテナ内で表現される各神経組織モデルの空間的配置位置に対応し、tは時間ディメンションを表し、タイミング情報のキャッシングおよび遅延を表現し、ニューロンおよび/またはシナプスに対する神経修飾物質の長期的な作用メカニズムをシミュレートするために使用され、
    前記テンソル内のパラメータは、親コンテナ内の神経組織モデル全体または一部で共有され、対象領域における神経組織全体に対する神経修飾物質の大領域効果をシミュレートするために使用されることを特徴とする、請求項17に記載の脳型知能とコグニティブコンピューティングに使用されるスパイキングニューラルネットワーク演算システム。
  19. 前記フロースルーコンテナおよびその全ての子コンテナは、いずれも1つ以上の上流コンテナ、および1つ以上の下流コンテナに対応し、かつ前記上流コンテナと前記下流コンテナの番号または名称によってそれらへのインデックスアクセスを実現することを特徴とする、請求項11に記載の脳型知能とコグニティブコンピューティングに使用されるスパイキングニューラルネットワーク演算システム。
  20. 前記上流コンテナおよび下流コンテナは、いずれも任意の階層のコンテナであり、両者は同じコンテナであっても、異なるコンテナであってもよいことを特徴とする、請求項19に記載の脳型知能とコグニティブコンピューティングに使用されるスパイキングニューラルネットワーク演算システム。
  21. 前記フロースルーコンテナおよびその全ての子コンテナは、いずれもその上流コンテナと下流コンテナと共に情報流通経路を形成し、2つの情報ソース間の情報の流通と処理プロセスを表現し、ネットワーク内の複数のコンテナ間は、情報が流通する任意のトポロジー構造を構成することを特徴とする、請求項11に記載の脳型知能とコグニティブコンピューティングに使用されるスパイキングニューラルネットワーク演算システム。
  22. 前記情報の流通と処理プロセスは、少なくとも1つのバイオコンピュータ神経メカニズムを実現するために使用されることを特徴とする、請求項21に記載の脳型知能とコグニティブコンピューティングに使用されるスパイキングニューラルネットワーク演算システム。
  23. 前記バイオコンピュータ神経メカニズムは、シナプスを介するニューロン間での神経インパルスの伝導、シナプスとシナプスの間の情報交換、およびニューロンとシナプスの可塑性のうちの少なくとも1つを含むことを特徴とする、請求項22に記載の脳型知能とコグニティブコンピューティングに使用されるスパイキングニューラルネットワーク演算システム。
  24. 前記情報が流通する任意のトポロジー構造は、同一のニューロンがその自体に戻るように接続するフィードバック接続、同じ群のニューロン間の相互接続、異なる群のニューロン間の任意の接続、およびシナプスとシナプスの直接接続のうちの少なくとも1つを含む脳神経系における任意の神経回路の接続方法を実現するために使用され、かつフィードバック型接続の無限ループ計算を可能にすることを特徴とする、請求項21に記載の脳型知能とコグニティブコンピューティングに使用されるスパイキングニューラルネットワーク演算システム。
  25. 前記モデル記述モジュールは、任意の階層のモデルをデータとオペレーションの2つの部分に分解するモデリング設計方法をサポートし、
    前記データは、ノードパラメータコンテナ、エッジパラメータコンテナ、および/または一般パラメータコンテナで保持され、かつ対応するパラメータデータベースに格納され、
    前記オペレーションは、前記データのアクセスおよび更新ができる実行可能なプログラムとして構成され、前記オペレーションは、ハードウェアプラットフォームを超えた汎用性をシステムに持たせるために、汎用CPU、ARM、DSP、GPU、および/または他のプロセッサーで実行されることを特徴とする、請求項1に記載の脳型知能とコグニティブコンピューティングに使用されるスパイキングニューラルネットワーク演算システム。
  26. 前記モデル記述モジュールは、ユーザーが1つ以上のオペレーションを定義することで、同じノードコンテナ内の各ニューロンが互いのデータに直接相互にアクセスおよび/または更新し、情報の高速な交換を可能にし、バイオコンピュータ神経系における電気シナプスのシミュレートに使用することをサポートすることを特徴とする、請求項1に記載の脳型知能とコグニティブコンピューティングに使用されるスパイキングニューラルネットワーク演算システム。
  27. 前記モデル記述モジュールは、ユーザーが1つ以上のオペレーションを定義することで、同じエッジコンテナ内の各シナプスが互いのデータに直接相互にアクセスおよび/または更新し、情報の高速な交換を可能にし、シャント抑制メカニズムを含む、バイオコンピュータ神経系における同じニューロンの樹状突起上の複数のシナプス間の情報交換および理論演算のシミュレートに使用することをサポートすることを特徴とする、請求項1に記載の脳型知能とコグニティブコンピューティングに使用されるスパイキングニューラルネットワーク演算システム。
  28. 前記システムは、所定のトリガー条件と実行ルールに従って、シナプスおよび/またはニューロンの剪定・再生を自動的に実行する機能をサポートし、
    前記トリガー条件は、ユーザーが前記構成記述モジュールで指定され、
    前記実行ルールは、ユーザーが前記モデル記述モジュールで指定され、
    前記実行ルールは、ネットワークモデルオブジェクトに作用し、および/または、サブネットワークまたは特定のコンテナに作用し、
    前記シナプスおよび/またはニューロンの剪定・再生プロセスは、ネットワーク動作中、および/またはネットワーク一時停止中に、スケジューラーによってスケジューリングして実行されることを特徴とする、請求項1に記載の脳型知能とコグニティブコンピューティングに使用されるスパイキングニューラルネットワーク演算システム。
  29. 前記トリガー条件は、
    ユーザーがキーボードまたはマウスなどの手段を使ってシステムにコマンドを入力し、システムがそのコマンドを受信した後、すぐ、あるいは第1の所定時間後に、剪定または再生プロセスを実行するユーザーコマンドと、
    ネットワークモデルまたはそのサブ領域が、剪定または再生プロセスに適合するルールを満たすと、剪定または再生プロセスを実行する持続的な実行と、
    システムが第1の所定の時間間隔または第1の所定のトラバーサル期間に応じて、剪定または再生プロセスを自動的に開始する間隔的な実行と、のうちの1つ以上を含むことを特徴とする、請求項28に記載の脳型知能とコグニティブコンピューティングに使用されるスパイキングニューラルネットワーク演算システム。
  30. 前記剪定プロセスの実行ルールは、シナプス剪定ルールおよび/またはニューロン剪定ルールを含み、
    前記シナプス剪定ルールは、
    あるシナプスのパラメータと、指定された参照シナプスの集合における全てのシナプスパラメータの統計値が第1の所定値関係に達した場合、当該シナプスが剪定待ちシナプスとなることと、
    あるシナプスのパラメータと、指定された閾値が第2の所定値関係に達した場合、当該シナプスが剪定待ちシナプスとなることと、
    あるシナプスが第2の所定時間を超えた時期、または第2の所定のトラバーサル期間にトリガーされていない場合、当該シナプスが剪定待ちシナプスとなることと、
    あるシナプスが剪定待ちとマークされている場合、当該シナプスが剪定待ちシナプスとなることと、のうちの任意の1つの1つ以上を含み、
    前記ニューロン剪定ルールは、
    あるニューロンに入力のシナプスがない場合、当該ニューロンが剪定待ちニューロンとなることと、
    あるニューロンに出力のシナプスがない場合、当該ニューロンが剪定待ちニューロンとなることと、
    あるニューロンに入力および出力のシナプスがない場合、当該ニューロンが剪定待ちニューロンとなることと、
    あるニューロンのパラメータと、指定された参照ニューロンの集合における全てのニューロンパラメータの統計値が第3の所定値関係に達した場合、当該ニューロンが剪定待ちニューロンとなることと、
    あるニューロンのパラメータと、指定された閾値が第4の所定値関係に達した場合、当該ニューロンが剪定待ちニューロンとなることと、
    あるニューロンが第3の所定時間を超えた時期、または第3の所定のトラバーサル期間にスパイキングされていない場合、当該ニューロンが剪定待ちニューロンとなることと、
    あるニューロンが剪定待ちとマークされている場合、当該ニューロンが剪定待ちニューロンとなることと、のうちの任意の1つ以上を含むことを特徴とする、請求項28に記載の脳型知能とコグニティブコンピューティングに使用されるスパイキングニューラルネットワーク演算システム。
  31. 前記再生プロセスの実行ルールは、ニューロン再生ルールおよび/またはシナプス再生ルールを含み、
    前記ニューロン再生ルールは、
    あるノードコンテナの既存のニューロン数とそのノードコンテナの総容量が第1の所定比率または第5の所定値関係に達した場合、その総容量の第2の所定比率または第1の所定数でニューロンを再生することと、
    あるノードコンテナは、第1の所定レートで、その総容量の第3の所定比率または第2の所定数でニューロンを再生することと、
    あるノードコンテナは、再生待ちニューロンとしてマークされ、かつ第2の所定レートでニューロンを再生することと、のうちの任意の1つ以上を含み、
    前記シナプス再生ルールは、
    あるエッジコンテナの既存のシナプス数とそのエッジコンテナの総容量が第4の所定比率または第6の所定値関係に達した場合、その総容量の第5の所定比率または第3の所定数でシナプスを再生することと、
    あるエッジコンテナは、第3の所定レートでシナプスを再生することと、
    あるエッジコンテナは、再生待ちシナプスとしてマークされ、かつ第4の所定レートでシナプスを再生することと、
    あるノードコンテナに入力または出力シナプスを備えないニューロンが存在する場合、対応する各エッジコンテナに入力シナプスまたは出力シナプスをそれぞれ再生することと、のうちの任意の1つ以上を含むことを特徴とする、請求項28に記載の脳型知能とコグニティブコンピューティングに使用されるスパイキングニューラルネットワーク演算システム。
  32. システムの動作状態は、デフォルト状態、ネットワーク構築状態、ネットワーク動作状態および/またはネットワーク一時停止状態を含むことを特徴とする、請求項1に記載の脳型知能とコグニティブコンピューティングに使用されるスパイキングニューラルネットワーク演算システム。
  33. 前記モデル記述モジュールにおいて、ユーザーは、各コンテナに対する1つ以上のルールを指定し、前記1つ以上のルールは1つのルールベースを構成し、
    前記ルールマネージャーは、前記ルールベース内のルールを所定の優先順位に従ってソートし、1つのコンテナに作用する複数のルールが互いに競合する場合には、最も高い優先順位のルールのみが実行され、1つのコンテナにいかなるルールも指定されていない場合には、デフォルトルールを利用して実行され、
    前記ルールベース内のルールは、トラバーサルルール、メモリ使用ルール、データI/Oルール、および/またはシナプスとニューロンの剪定・再生ルールを含み、
    前記トラバーサルルールは、第2の所定の時間間隔または第4の所定のトラバーサル期間に応じて、ネットワークの全てまたは特定のコンテナのトラバーサルを繰り返す、またはスキップするようにスケジューラーに案内するために使用され、それによって、計算集約が必要なサブネットワークに計算リソースを集中させ、データの利用効率を向上させ、
    前記メモリ使用ルールは、スケジューラーがメインメモリおよび/またはコプロセッサーメモリの使用を配置するように案内するために使用され、
    前記データI/Oルールは、前記スケジューラーがメインメモリとコプロセッサーメモリの間、およびメモリとハードディスクの間のデータ交換の頻度をスケジューリングするように案内するために使用されることを特徴とする、請求項1に記載の脳型知能とコグニティブコンピューティングに使用されるスパイキングニューラルネットワーク演算システム。
  34. 前記スケジューラーは、1つ以上のメインメモリプール、および1つ以上の機器メモリプールを管理し、
    前記メインメモリプールは、メインメモリの使用を管理するために使用され、
    前記機器メモリプールは、各コプロセッサーに対応し、対応する機器メモリの使用を管理するために使用され、
    前記メインメモリプールと機器メモリプールの容量の上限と下限は、構成記述モジュールによってユーザーが指定されることを特徴とする、請求項1に記載の脳型知能とコグニティブコンピューティングに使用されるスパイキングニューラルネットワーク演算システム。
  35. 前記スケジューラーは、マルチスレッドコンピューティングに関与するサブスレッドを動的に配置して、メインコンピューティングユニット、コプロセッサー、および/またはI/O機器の演算負荷を配置するための1つ以上のスレッドプールを管理することを特徴とする、請求項1または34に記載の脳型知能とコグニティブコンピューティングに使用されるスパイキングニューラルネットワーク演算システム。
  36. 前記スケジューラーは、1つ以上のノードデータ入力バッファ、1つ以上のノードデータ出力バッファ、1つ以上のエッジデータ入力バッファ、および1つ以上のエッジデータ出力バッファを管理し、ハードディスクまたはI/O機器を読み書くデータをキャッシングすることで、スケジューラーがプロセッサー、ハードディスク、および/またはI/O機器の負荷に応じて、ハードディスク、I/O機器の読み書きを配置し、I/Oのブロッキングを回避するようになるために使用されることを特徴とする、請求項35に記載の脳型知能とコグニティブコンピューティングに使用されるスパイキングニューラルネットワーク演算システム。
  37. 各前記バッファの容量、ハードディスクまたはI/O機器の読み書き頻度の上限と下限、ハードディスクまたはI/O機器を読み書くスループットの上限と下限は、構成記述モジュールによってユーザーが指定されることを特徴とする、請求項36に記載の脳型知能とコグニティブコンピューティングに使用されるスパイキングニューラルネットワーク演算システム。
  38. 請求項1-37のいずれか一項に記載の脳型知能とコグニティブコンピューティングに使用されるスパイキングニューラルネットワーク演算システムを使用することを特徴とする、脳型知能とコグニティブコンピューティングに使用されるスパイキングニューラルネットワーク演算方法。
JP2022500548A 2019-07-02 2020-07-01 脳型知能とコグニティブコンピューティングに使用されるスパイキングニューラルネットワーク演算システムおよび方法 Active JP7322273B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN201910588964.5 2019-07-02
CN201910588964.5A CN110322010B (zh) 2019-07-02 2019-07-02 用于类脑智能与认知计算的脉冲神经网络运算***及方法
PCT/CN2020/099714 WO2021000890A1 (zh) 2019-07-02 2020-07-01 用于类脑智能与认知计算的脉冲神经网络运算***及方法

Publications (2)

Publication Number Publication Date
JP2022538694A JP2022538694A (ja) 2022-09-05
JP7322273B2 true JP7322273B2 (ja) 2023-08-07

Family

ID=68122227

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2022500548A Active JP7322273B2 (ja) 2019-07-02 2020-07-01 脳型知能とコグニティブコンピューティングに使用されるスパイキングニューラルネットワーク演算システムおよび方法

Country Status (7)

Country Link
US (1) US20220253675A1 (ja)
EP (1) EP3996004A4 (ja)
JP (1) JP7322273B2 (ja)
KR (1) KR20220027199A (ja)
CN (1) CN110322010B (ja)
GB (1) GB2601643A (ja)
WO (1) WO2021000890A1 (ja)

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110322010B (zh) * 2019-07-02 2021-06-25 深圳忆海原识科技有限公司 用于类脑智能与认知计算的脉冲神经网络运算***及方法
CN112766470B (zh) * 2019-10-21 2024-05-07 地平线(上海)人工智能技术有限公司 特征数据处理方法、指令序列生成方法、装置及设备
CN112905524A (zh) * 2019-11-19 2021-06-04 安徽寒武纪信息科技有限公司 自适应算法运算方法及设备
CN111552563B (zh) * 2020-04-20 2023-04-07 南昌嘉研科技有限公司 一种多线程数据***、多线程消息传递方法及***
CN113688981B (zh) * 2020-05-19 2024-06-18 深圳忆海原识科技有限公司 具有记忆与信息抽象功能的类脑神经网络
CN111858989B (zh) * 2020-06-09 2023-11-10 西安工程大学 一种基于注意力机制的脉冲卷积神经网络的图像分类方法
US20210406661A1 (en) * 2020-06-25 2021-12-30 PolyN Technology Limited Analog Hardware Realization of Neural Networks
CN112270407B (zh) * 2020-11-11 2022-09-13 浙江大学 支持亿级神经元的类脑计算机
CN112270406B (zh) * 2020-11-11 2023-05-23 浙江大学 一种类脑计算机操作***的神经信息可视化方法
CN112434800B (zh) * 2020-11-20 2024-02-20 清华大学 控制装置及类脑计算***
CN112651504B (zh) * 2020-12-16 2023-08-25 中山大学 一种基于并行化的类脑仿真编译的加速方法
KR20220118047A (ko) * 2021-02-18 2022-08-25 삼성전자주식회사 어플리케이션의 모델 파일을 초기화하는 프로세서 및 이를 포함하는 전자 장치
CN112987765B (zh) * 2021-03-05 2022-03-15 北京航空航天大学 一种仿猛禽注意力分配的无人机/艇精准自主起降方法
CN113222134B (zh) * 2021-07-12 2021-10-26 深圳市永达电子信息股份有限公司 一种类脑计算***、方法及计算机可读存储介质
CN113283594B (zh) * 2021-07-12 2021-11-09 深圳市永达电子信息股份有限公司 一种基于类脑计算的入侵检测***
CN114399033B (zh) * 2022-03-25 2022-07-19 浙江大学 基于神经元指令编码的类脑计算***和计算方法
WO2023238186A1 (ja) * 2022-06-06 2023-12-14 ソフトバンク株式会社 Nn成長装置、情報処理装置、ニューラル・ネットワーク情報の生産方法、およびプログラム
CN117709400A (zh) * 2022-09-02 2024-03-15 深圳忆海原识科技有限公司 层次化***、运算方法、运算装置、电子设备及存储介质
CN117709402A (zh) * 2022-09-02 2024-03-15 深圳忆海原识科技有限公司 模型构建方法、装置、平台、电子设备及存储介质
CN117709401A (zh) * 2022-09-02 2024-03-15 深圳忆海原识科技有限公司 模型管理装置及用于神经网络运算的层次化***
CN115392443B (zh) * 2022-10-27 2023-03-10 之江实验室 类脑计算机操作***的脉冲神经网络应用表示方法及装置
CN115879544B (zh) * 2023-02-28 2023-06-16 中国电子科技南湖研究院 一种针对分布式类脑仿真的神经元编码方法及***
CN116542291B (zh) * 2023-06-27 2023-11-21 北京航空航天大学 一种记忆环路启发的脉冲记忆图像生成方法和***
CN117251275B (zh) * 2023-11-17 2024-01-30 北京卡普拉科技有限公司 多应用异步i/o请求的调度方法及***、设备及介质

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015529357A (ja) 2012-08-17 2015-10-05 クゥアルコム・テクノロジーズ・インコーポレイテッド スパイキングニューロンネットワーク学習のための装置および方法

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8515885B2 (en) * 2010-10-29 2013-08-20 International Business Machines Corporation Neuromorphic and synaptronic spiking neural network with synaptic weights learned using simulation
EP3089080A1 (en) * 2015-04-27 2016-11-02 Universität Zürich Networks and hierarchical routing fabrics with heterogeneous memory structures for scalable event-driven computing systems
CN105095967B (zh) * 2015-07-16 2018-02-16 清华大学 一种多模态神经形态网络核
CN105913119B (zh) * 2016-04-06 2018-04-17 中国科学院上海微***与信息技术研究所 行列互联的异构多核心类脑芯片及其使用方法
CN108182473A (zh) * 2017-12-12 2018-06-19 中国科学院自动化研究所 基于类脑脉冲神经网络的全尺度分布式全脑模拟***
CN108985447B (zh) * 2018-06-15 2020-10-16 华中科技大学 一种硬件脉冲神经网络***
CN109858620B (zh) * 2018-12-29 2021-08-20 北京灵汐科技有限公司 一种类脑计算***
CN109816026B (zh) * 2019-01-29 2021-09-10 清华大学 卷积神经网络和脉冲神经网络的融合装置及方法
CN110322010B (zh) * 2019-07-02 2021-06-25 深圳忆海原识科技有限公司 用于类脑智能与认知计算的脉冲神经网络运算***及方法

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015529357A (ja) 2012-08-17 2015-10-05 クゥアルコム・テクノロジーズ・インコーポレイテッド スパイキングニューロンネットワーク学習のための装置および方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
DURA-BERNAL, Salvador et al.,NetPyNE, a tool for data-driven multiscale modeling of brain circuits,eLife [オンライン],2019年04月26日,[検索日 2023.06.27], インターネット:<URL:https://elifesciences.org/articles/44494>
VITAY, Julien et al.,ANNarchy: a code generation approach to neural simulations on parallel hardware,Frontiers in Neuroinformatics [オンライン],2015年07月31日,[検索日 2023.06.27], インターネット:<URL:https://www.frontiersin.org/articles/10.3389/fninf.2015.00019/full>

Also Published As

Publication number Publication date
KR20220027199A (ko) 2022-03-07
EP3996004A1 (en) 2022-05-11
GB2601643A (en) 2022-06-08
US20220253675A1 (en) 2022-08-11
CN110322010A (zh) 2019-10-11
CN110322010B (zh) 2021-06-25
WO2021000890A1 (zh) 2021-01-07
EP3996004A4 (en) 2022-10-19
JP2022538694A (ja) 2022-09-05

Similar Documents

Publication Publication Date Title
JP7322273B2 (ja) 脳型知能とコグニティブコンピューティングに使用されるスパイキングニューラルネットワーク演算システムおよび方法
JP6937357B2 (ja) データ処理方法および関連製品
Shahverdi et al. Big stream processing systems: an experimental evaluation
Xiao et al. Plasticity-on-chip design: Exploiting self-similarity for data communications
CN112580792B (zh) 一种神经网络多核张量处理器
Ahmed et al. An integrated interconnection network model for large-scale performance prediction
CN112631986A (zh) 大规模dsp并行计算装置
Peng et al. The research of the parallel computing development from the angle of cloud computing
Ribeiro Contributions on memory affinity management for hierarchical shared memory multi-core platforms
WO2024046459A1 (zh) 模型管理装置及用于神经网络运算的层次化***
Lin et al. SongC: A compiler for hybrid near-memory and in-memory many-core architecture
Lam et al. Profiling and optimization of FUNWAVE-TVD on high performance computing (HPC) machines
WO2024046458A1 (zh) 层次化***、运算方法、装置、电子设备及存储介质
Mani et al. Massively parallel real-time reasoning with very large knowledge bases: An interim report
Fjeld Streamlining the use of parallelization in a software platform for domain-tailored machine learning analyses
Kitor Novel Allreduce Algorithms for Distributed Deep Learning
Tang et al. Optimization of grover’s algorithm simulation based on cloud computing
Azzopardi et al. Mapping CSP Networks to MPI Clusters Using Channel Graphs and Dynamic Instrumentation
Li et al. Intelligent Computing, Computational Power, Computational Power Networks and Technology Ecosystems
Ross Performance analysis and visualization tools to support the codesign of next generation computer systems
Allen et al. Application of the Butterfly parallel processor in artificial intelligence
Mani et al. Massively parallel simulation of structured connectionist networks: An interim report
Legrand et al. Design and Simulation of the On-Line Trigger and Reconstruction Farm for the Hera-B Experiment
CN117632442A (zh) 任务处理方法以及相关设备
Yaroviy Applied Realization of Neural Network and Neurolike Parallel-Hierarchical System Based on GPGPU

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220104

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20221214

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20221219

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230315

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230726

R150 Certificate of patent or registration of utility model

Ref document number: 7322273

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150