JP2017509951A - スパースニューラルネットワークを構成すること - Google Patents

スパースニューラルネットワークを構成すること Download PDF

Info

Publication number
JP2017509951A
JP2017509951A JP2016547855A JP2016547855A JP2017509951A JP 2017509951 A JP2017509951 A JP 2017509951A JP 2016547855 A JP2016547855 A JP 2016547855A JP 2016547855 A JP2016547855 A JP 2016547855A JP 2017509951 A JP2017509951 A JP 2017509951A
Authority
JP
Japan
Prior art keywords
neuron
neurons
neural network
updated
zero
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.)
Pending
Application number
JP2016547855A
Other languages
English (en)
Other versions
JP2017509951A5 (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.)
Qualcomm Inc
Original Assignee
Qualcomm Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Qualcomm Inc filed Critical Qualcomm Inc
Publication of JP2017509951A publication Critical patent/JP2017509951A/ja
Publication of JP2017509951A5 publication Critical patent/JP2017509951A5/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/049Temporal neural networks, e.g. delay elements, oscillating neurons or pulsed inputs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/048Activation functions
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Molecular Biology (AREA)
  • Artificial Intelligence (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Image Analysis (AREA)
  • Feedback Control In General (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

ニューラルネットワーク内の低減された数のモデルニューロンを選択するための方法は、非ゼロ復号ベクトルの第1のスパースセットを生成することを含む。復号ベクトルの各々は、第1のニューロンレイヤと第2のニューロンレイヤとの間のシナプスに関連付けられる。本方法は、非ゼロ復号ベクトルに関連付けられる第1のニューロンレイヤ内の選択されたモデルニューロンだけでニューラルネットワークを実装することをさらに含む。

Description

関連出願の相互参照
[0001]本出願は、2014年1月23日に出願された米国仮特許出願第61/930,858号、2014年1月23日に出願された米国仮特許出願第61/930,849号、および2014年2月13日に出願された米国仮特許出願第61/939,537号の利益を主張し、その開示は、参照によりその全体が本明細書に明示的に組み込まれる。
[0002]本開示のいくつかの態様は、一般にニューラルシステムエンジニアリングに関し、より詳細には、低減された数のモデルニューロンでニューラルネットワークを動作するためのシステムおよび方法に関する。
[0003]人工ニューロン(すなわち、ニューロンモデル)の相互結合されたグループを備え得る人工ニューラルネットワークは、計算デバイスであるか、または計算デバイスによって実行される方法を表す。人工ニューラルネットワークは、生物学的ニューラルネットワークにおける対応する構造および/または機能を有し得る。しかしながら、人工ニューラルネットワークは、従来の計算技法が厄介、実行不可能または不適切であるいくつかの適用例に革新的で有用な計算技法を提供することができる。人工ニューラルネットワークは観測から関数を推測することができるので、そのようなネットワークは、タスクまたはデータの複雑さが従来の技法による関数の設計を煩わしくする用途において、特に有用である。
[0004]一態様では、ニューラルネットワーク内の低減された数のモデルニューロンを選択するための方法が開示される。本方法は、非ゼロ復号ベクトルの第1のスパースセットを生成することを含む。復号ベクトルの各々は、第1のニューロンレイヤと第2のニューロンレイヤとの間のシナプスに関連付けられる。本方法は、非ゼロ復号ベクトルに関連付けられる第1のニューロンレイヤ内の選択されたモデルニューロンだけでニューラルネットワークを実装することをさらに含む。
[0005]別の態様では、ニューラルネットワーク内の低減された数のモデルニューロンを選択するための装置が開示される。本装置は、メモリと、メモリに結合された1つまたは複数のプロセッサとを含む。本プロセッサは、非ゼロ復号ベクトルの第1のスパースセットを生成するように構成される。復号ベクトルの各々は、第1のニューロンレイヤと第2のニューロンレイヤとの間のシナプスに関連付けられる。本プロセッサは、非ゼロ復号ベクトルに関連付けられる第1のニューロンレイヤ内の選択されたモデルニューロンだけでニューラルネットワークを実装するようにさらに構成される。
[0006]別の態様では、ニューラルネットワーク内の低減された数のモデルニューロンを選択するための装置が開示される。本装置は、非ゼロ復号ベクトルの第1のスパースセットを生成するための手段を含む。復号ベクトルの各々は、第1のニューロンレイヤと第2のニューロンレイヤとの間のシナプスに関連付けられる。本装置は、非ゼロ復号ベクトルに関連付けられる第1のニューロンレイヤ内の選択されたモデルニューロンだけでニューラルネットワークを実装するための手段をさらに含む。
[0007]別の態様では、ニューラルネットワーク内の低減された数のモデルニューロンを選択するためのコンピュータプログラム製品が開示される。本コンピュータプログラム製品は、プログラムコードを符号化した非一時的コンピュータ可読媒体を含む。本プログラムコード化は、非ゼロ復号ベクトルの第1のスパースセットを生成するためのプログラムコードを含む。復号ベクトルの各々は、第1のニューロンレイヤと第2のニューロンレイヤとの間のシナプスに関連付けられる。本プログラムコードは、非ゼロ復号ベクトルに関連付けられる第1のニューロンレイヤ内の選択されたモデルニューロンだけでニューラルネットワークを実装するためのプログラムコードをさらに含む。
[0008]これは、以下の詳細な説明がより良く理解され得るために、本開示の特徴および技術的利点をかなり広く概説した。本開示の追加の特徴および利点は、以下で説明される。この開示は、本開示と同じ目的を実行するための他の構造を修正または設計するための基礎として容易に変更され得ることが、当業者によって理解されるべきである。また、添付の特許請求の範囲に記載されるように、そのような等価な構成は本開示の教示から逸脱しないことが、当業者によって理解されるべきである。本開示の特徴と考えられる新規な特徴は、その構成と動作の方法との両方に関して、さらなる目的および利点とともに、添付の図面と関連して考慮されるとき以下の説明からより良く理解されるであろう。しかしながら、図面の各々は単に例示および説明の目的のために提供されているにすぎず、本開示の制限の定義として意図されていないことが、明確には理解されるべきである。
[0009]本開示の特徴、性質、および利点は、同様の参照文字が全体を通して相応して識別する図面を考慮した場合、以下に示される詳細な説明から、より明らかになるだろう。
本開示のいくつかの態様によるニューロンの例示的なネットワークを示す図。 本開示のいくつかの態様による、計算ネットワーク(ニューラルシステムまたはニューラルネットワーク)の処理ユニット(ニューロン)の一例を示す図。 本開示のいくつかの態様によるスパイクタイミング依存可塑性(STDP)曲線の一例を示す図。 本開示のいくつかの態様による、ニューロンモデルの挙動を定義するための正レジームおよび負レジームの一例を示す図。 本開示のある態様による、汎用プロセッサを使用してニューラルネットワークを設計することの例示的な実装形態を示す図。 本開示のいくつかの態様による、メモリが個々の分散処理ユニットとインターフェースされ得るニューラルネットワークを設計する例示的な実装形態を示す図。 本開示のいくつかの態様による、分散メモリおよび分散処理ユニットに基づいてニューラルネットワークを設計する例示的な実装形態を示す図。 本開示のいくつかの態様による、ニューラルネットワークの例示的な実装形態を示す図。 本開示の態様による、ニューラルネットワークの例示的な構造を示すブロック図。 本開示の態様による、モデルニューロンの低減されたセットを示す例示的な図。 本開示の態様による、モデルニューロンの低減されたセットを示す例示的な図。 本開示の態様による、モデルニューロンの低減されたセットを示す例示的な図。 本開示の態様による、モデルニューロンの低減されたセットを示す例示的な図。 本開示のある態様による、ニューラルネットワーク内で動作するための低発火レートを有するニューロンモデルを選択するための方法を示す図。 本開示のある態様による、ニューラルネットワーク内の低減された数のモデルニューロンを選択するための方法を示すブロック図。 本開示のある態様による、ニューラルネットワークを生成するための方法を示すブロック図。
[0023]添付の図面に関連して以下に示される詳細な説明は、様々な構成の説明として意図されたものであり、本明細書において説明される概念が実現され得る唯一の構成を表すことを意図されるものではない。詳細な説明は、様々な概念の完全な理解を提供する目的で、具体的な詳細を含む。しかしながら、これらの概念がこれらの具体的な詳細なしで実施され得ることは、当業者にとっては明らかであろう。いくつかの事例では、よく知られている構造および構成要素が、そのような概念を曖昧にするのを避けるために、ブロック図形式で示される。
[0024]本教示に基づいて、本開示の範囲は、本開示の任意の他の態様とは無関係に実装されるにせよ、本開示の任意の他の態様と組み合わされるにせよ、本開示のいかなる態様をもカバーするものであることを、当業者なら諒解されたい。たとえば、記載される態様をいくつ使用しても、装置は実装され得、または方法は実施され得る。さらに、本開示の範囲は、記載される本開示の様々な態様に加えてまたはそれらの態様以外に、他の構造、機能、または構造および機能を使用して実施されるそのような装置または方法をカバーするものとする。開示する本開示のいずれの態様も、請求項の1つまたは複数の要素によって実施され得ることを理解されたい。
[0025]「例示的」という単語は、本明細書では「例、事例、または例示の働きをすること」を意味するために使用される。「例示的」として本明細書で説明するいかなる態様も、必ずしも他の態様よりも好ましいまたは有利であると解釈されるべきであるとは限らない。
[0026]本明細書では特定の態様について説明するが、これらの態様の多くの変形および置換は本開示の範囲内に入る。好ましい態様のいくつかの利益および利点が説明されるが、本開示の範囲は特定の利益、使用、または目的に限定されるものではない。むしろ、本開示の態様は、様々な技術、システム構成、ネットワーク、およびプロトコルに広く適用可能であるものとし、そのうちのいくつかを例として図および好ましい態様についての以下の説明で示す。発明を実施するための形態および図面は、本開示を限定するものではなく説明するものにすぎず、本開示の範囲は添付の特許請求の範囲およびそれの均等物によって定義される。
例示的なニューラルシステム、トレーニングおよび動作
[0027]図1は、本開示のいくつかの態様による、複数のレベルのニューロンをもつ例示的な人工ニューラルシステム100を示す。ニューラルシステム100は、シナプス結合のネットワーク104(すなわち、フィードフォワード結合)を介してニューロンの別のレベル106に結合されたニューロンのあるレベル102を有し得る。簡単のために、図1には2つのレベルのニューロンのみが示されているが、ニューラルシステムには、より少ないまたはより多くのレベルのニューロンが存在し得る。ニューロンのいくつかは、ラテラル結合を介して同じレイヤの他のニューロンに結合し得ることに留意されたい。さらに、ニューロンのいくつかは、フィードバック結合を介して前のレイヤのニューロンに戻る形で結合し得る。
[0028]図1に示すように、レベル102における各ニューロンは、前のレベル(図1に図示せず)のニューロンによって生成され得る入力信号108を受信し得る。信号108は、レベル102のニューロンの入力電流を表し得る。この電流は、膜電位を充電するためにニューロン膜上に蓄積され得る。膜電位がそれのしきい値に達すると、ニューロンは、発火し、ニューロンの次のレベル(たとえば、レベル106)に転送されるべき出力スパイクを生成し得る。いくつかのモデリング手法では、ニューロンは、信号をニューロンの次のレベルに継続的に転送し得る。この信号は、典型的には膜電位の関数である。そのような挙動は、以下で説明するものなどのアナログおよびデジタル実装形態を含むハードウェアおよび/またはソフトウェアでエミュレートまたはシミュレートされ得る。
[0029]生物学的ニューロンでは、ニューロンが発火するときに生成される出力スパイクは、活動電位と呼ばれる。電気信号は、約100mVの振幅と約1msの持続時間とを有する比較的急速で、一時的な神経インパルスである。一連の結合されたニューロンを有するニューラルシステムの特定の実施形態(たとえば、図1におけるあるレベルのニューロンから別のレベルのニューロンへのスパイクの転送)では、あらゆる活動電位が基本的に同じ振幅と持続時間とを有するので、信号における情報は、振幅によってではなく、スパイクの周波数および数、またはスパイクの時間によってのみ表され得る。活動電位によって搬送される情報は、スパイク、スパイクしたニューロン、および他の1つまたは複数のスパイクに対するスパイクの時間によって決定され得る。以下で説明するように、スパイクの重要性は、ニューロン間の接続に適用される重みによって決定され得る。
[0030]図1に示されるように、ニューロンのあるレベルから別のレベルへのスパイクの転送は、シナプス結合(または、単純に「シナプス」)104のネットワークを介して達成され得る。シナプス104に関して、レベル102のニューロンはシナプス前ニューロンと考えられ得、レベル106のニューロンはシナプス後ニューロンと考えられ得る。シナプス104は、レベル102のニューロンから出力信号(すなわち、スパイク)を受信して、調整可能なシナプスの重み
Figure 2017509951
に応じてそれらの信号をスケーリングすることができ、上式で、Pはレベル102のニューロンとレベル106のニューロンとの間のシナプス結合の総数であり、iはニューロンレベルのインジケータである。図1の例では、iはニューロンレベル102を表し、i+1は、ニューロンレベル106を表す。さらに、スケーリングされた信号は、レベル106における各ニューロンの入力信号として合成され得る。レベル106におけるあらゆるニューロンは、対応する合成された入力信号に基づいて、出力スパイク110を生成し得る。出力スパイク110は、シナプス結合の別のネットワーク(図1には図示せず)を使用して、別のレベルのニューロンに転送され得る。
[0031]生物学的シナプスは、シナプス後ニューロンにおける興奮性活動または抑制性(過分極化)活動のいずれかを調停することができ、ニューロン信号を増幅する役目を果たすことができる。興奮性信号は、膜電位を脱分極する(すなわち、静止電位に対して膜電位を増加させる)。しきい値を超えて膜電位を脱分極するために十分な興奮性信号が一定の時間期間内に受信された場合、シナプス後ニューロンに活動電位が生じる。対照的に、抑制性信号は一般に、膜電位を過分極する(すなわち、低下させる)。抑制性信号は、十分に強い場合、興奮性信号のすべてを相殺し、膜電位がしきい値に達するのを防止することができる。シナプス興奮を相殺することに加えて、シナプス抑制は、自然にアクティブニューロンに対して強力な制御を行うことができる。自然にアクティブニューロンは、たとえば、それのダイナミクスまたはフィードバックに起因するさらなる入力なしにスパイクするニューロンを指す。これらのニューロンにおける活動電位の自然な生成を抑圧することによって、シナプス抑制は、一般にスカルプチャリングと呼ばれる、ニューロンの発火のパターンを形成することができる。様々なシナプス104は、望まれる挙動に応じて、興奮性シナプスまたは抑制性シナプスの任意の組合せとして働き得る。
[0032]ニューラルシステム100は、汎用プロセッサ、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)もしくは他のプログラマブル論理デバイス(PLD)、個別ゲートもしくはトランジスタ論理、個別ハードウェア構成要素、プロセッサによって実行されるソフトウェアモジュール、またはそれらの任意の組合せによってエミュレートされ得る。ニューラルシステム100は、たとえば画像およびパターン認識、機械学習、モータ制御、等、かなりの適用範囲において利用され得る。ニューラルシステム100における各ニューロンは、ニューロン回路として実装され得る。出力スパイクを開始するしきい値まで充電されるニューロン膜は、たとえば、そこを通って流れる電流を積分するキャパシタとして実装され得る。
[0033]一態様では、キャパシタは、ニューロン回路の電流積分デバイスとして除去され得、その代わりにより小さいメモリスタ(memristor)要素が使用され得る。この手法は、ニューロン回路において、ならびにかさばるキャパシタが電流積分器として利用される様々な他の適用例において適用され得る。さらに、シナプス104の各々は、メモリスタ要素に基づいて実装され得、シナプス重みの変化は、メモリスタ抵抗の変化に関係し得る。ナノメートルの特徴サイズのメモリスタを用いると、ニューロン回路およびシナプスの面積が大幅に低減され得、それによって、大規模なニューラルシステムハードウェア実装形態の実装がより実用的になり得る。
[0034]ニューラルシステム100をエミュレートするニューラルプロセッサの機能は、ニューロン間の結合の強さを制御し得る、シナプス結合の重みに依存し得る。シナプス重みは、パワーダウン後にプロセッサの機能を維持するために、不揮発性メモリに記憶され得る。一態様では、シナプス重みメモリは、主たるニューラルプロセッサチップとは別個の外部チップ上に実装され得る。シナプス重みメモリは、交換可能メモリカードとしてニューラルプロセッサチップとは別個にパッケージ化され得る。これは、ニューラルプロセッサに多様な機能を提供することができ、特定の機能は、ニューラルプロセッサに現在取り付けられているメモリカードに記憶されたシナプス重みに基づき得る。
[0035]図2は、本開示のいくつかの態様による、計算ネットワーク(たとえば、ニューラルシステムまたはニューラルネットワーク)の処理ユニット(たとえば、ニューロンまたはニューロン回路)202の例示的な図200を示す。たとえば、ニューロン202は、図1のレベル102のニューロンおよび106のニューロンのうちのいずれかに対応し得る。ニューロン202は、ニューラルシステムの外部にある信号、または同じニューラルシステムの他のニューロンによって生成された信号、またはその両方であり得る、複数の入力信号2041〜204Nを受信し得る。入力信号は、電流、コンダクタンス、電圧、実数値および/または複素数値であり得る。入力信号は、固定小数点表現または浮動小数点表現をもつ数値を備え得る。これらの入力信号は、調整可能なシナプス重み2061〜206N(w1〜wN)に従って信号をスケーリングするシナプス結合を通してニューロン202に伝えられ得、Nはニューロン202の入力接続の総数であり得る。
[0036]ニューロン202は、スケーリングされた入力信号を合成し、合成された、スケーリングされた入力を使用して、出力信号208(すなわち、信号y)を生成し得る。出力信号208は、電流、コンダクタンス、電圧、実数値および/または複素数値であり得る。出力信号は、固定小数点表現または浮動小数点表現をもつ数値であり得る。出力信号208は、次いで、同じニューラルシステムの他のニューロンへの入力信号として、または同じニューロン202への入力信号として、またはニューラルシステムの出力として伝達され得る。
[0037]処理ユニット(ニューロン)202は電気回路によってエミュレートされ得、それの入力接続および出力接続は、シナプス回路をもつ電気接続によってエミュレートされ得る。処理ユニット202ならびにそれの入力接続および出力接続はまた、ソフトウェアコードによってエミュレートされ得る。処理ユニット202はまた、電気回路によってエミュレートされ得るが、それの入力接続および出力接続はソフトウェアコードによってエミュレートされ得る。一態様では、計算ネットワーク中の処理ユニット202はアナログ電気回路であり得る。別の態様では、処理ユニット202はデジタル電気回路であり得る。さらに別の態様では、処理ユニット202は、アナログ構成要素とデジタル構成要素の両方をもつ混合信号電気回路であり得る。計算ネットワークは、上述の形態のいずれかにおける処理ユニットを含み得る。そのような処理ユニットを使用した計算ネットワーク(ニューラルシステムまたはニューラルネットワーク)は、たとえば画像およびパターン認識、機械学習、モータ制御など、かなりの適用範囲において利用され得る。
[0038]ニューラルネットワークをトレーニングする過程で、シナプス重み(たとえば、図1の重み
Figure 2017509951
および/または図2の重み2061〜206N)がランダム値により初期化され得、学習ルールに従って増加または減少し得る。学習ルールの例は、これに限定されないが、スパイクタイミング依存可塑性(STDP)学習ルール、Hebb則、Oja則、Bienenstock−Copper−Munro(BCM)則等を含むことを当業者は理解するだろう。いくつかの態様では、重みは、2つの値のうちの1つに安定または収束し得る(すなわち、重みの双峰分布)。この効果が利用されて、シナプス重みごとのビット数を低減し、シナプス重みを記憶するメモリとの間の読取りおよび書込みの速度を上げ、シナプスメモリの電力および/またはプロセッサ消費量を低減し得る。
シナプスタイプ
[0039]ニューラルネットワークのハードウェアおよびソフトウェアモデルでは、シナプス関係機能の処理がシナプスタイプに基づき得る。シナプスタイプは、非塑性シナプス(non-plastic synapse)(重みおよび遅延の変化がない)、可塑性シナプス(重みが変化し得る)、構造遅延可塑性シナプス(重みおよび遅延が変化し得る)、完全可塑性シナプス(重み、遅延および結合性が変化し得る)、およびそれの変形(たとえば、遅延は変化し得るが、重みまたは結合性の変化はない)であり得る。複数のタイプの利点は、処理が再分割され得ることである。たとえば、非塑性シナプスは、可塑性機能を使用しないで実行される場合がある(またはそのような機能が完了するのを待つ)。同様に、遅延および重み可塑性は、一緒にまたは別々に、順にまたは並列に動作し得る動作に再分割され得る。異なるタイプのシナプスは、適用される異なる可塑性タイプの各々の異なるルックアップテーブルまたは式およびパラメータを有し得る。したがって、本方法は、シナプスのタイプについての関連する表、式、またはパラメータにアクセスする。
[0040]スパイクタイミング依存構造可塑性がシナプス可塑性とは無関係に実行され得るという事実のさらなる含意がある。構造可塑性は、重みの大きさに変化がない場合(たとえば、重みが最小値または最大値に達したか、あるいはそれが何らかの他の理由により変更されない場合)s構造可塑性(すなわち、遅延量の変化)は前後スパイク時間差(pre-post spike time difference)の直接関数であり得ても実行され得る。代替的に、構造可塑性は、重み変化量に応じて、または重みもしくは重み変化の限界に関係する条件に基づいて設定され得る。たとえば、重み変化が生じたとき、または重みが最大値になるのではなく、重みがゼロに達した場合のみ、シナプス遅延が変化し得る。しかしながら、これらのプロセスが並列化され、メモリアクセスの数および重複を低減し得るように、独立した機能を有することが有利であり得る。
シナプス可塑性の決定
[0041]神経可塑性(または単に「可塑性」)は、脳内のニューロンおよびニューラルネットワークがそれらのシナプス結合と挙動とを新しい情報、感覚上の刺激、発展、損傷または機能不全に応答して変える能力である。可塑性は、生物学における学習および記憶にとって、また計算論的神経科学およびニューラルネットワークにとって重要である。(たとえば、Hebb則理論による)シナプス可塑性、スパイクタイミング依存可塑性(STDP)、非シナプス可塑性、活性依存可塑性、構造可塑性および恒常的可塑性など、様々な形の可塑性が研究されている。
[0042]STDPは、ニューロン間のシナプス結合の強さを調整する学習プロセスである。結合強度は、特定のニューロンの出力スパイクおよび受信入力スパイク(すなわち、活動電位)の相対的タイミングに基づいて調整される。STDPプロセスの下で、あるニューロンに対する入力スパイクが、平均して、そのニューロンの出力スパイクの直前に生じる傾向がある場合、長期増強(LTP)が生じ得る。その場合、その特定の入力はいくらか強くなる。一方、入力スパイクが、平均して、出力スパイクの直後に生じる傾向がある場合、長期抑圧(LTD)が生じ得る。その場合、その特定の入力はいくらか弱くなるので、「スパイクタイミング依存可塑性」と呼ばれる。したがって、シナプス後ニューロンの興奮の原因であり得る入力は、将来的に寄与する可能性がさらに高くなる一方、シナプス後スパイクの原因ではない入力は、将来的に寄与する可能性が低くなる。結合の初期セットのサブセットが残る一方で、その他の部分の影響がわずかなレベルまで低減されるまで、このプロセスは続く。
[0043]ニューロンは一般に出力スパイクを、それの入力の多くが短い期間内に生じる(すなわち、出力をもたらすのに十分な累積がある)ときに生成するので、通常残っている入力のサブセットは、時間的に相関する傾向のあった入力を含む。さらに、出力スパイクの前に生じる入力は強化されるので、最も早い十分に累積的な相関指示を提供する入力は結局、ニューロンへの最終入力となる。
[0044]STDP学習ルールは、シナプス前ニューロンのスパイク時間tpreとシナプス後ニューロンのスパイク時間tpostとの間の時間差(すなわち、t=tpost−tpre)に応じて、シナプス前ニューロンをシナプス後ニューロンに結合するシナプスのシナプス重みを効果的に適合させ得る。STDPの通常の公式化は、時間差が正である(シナプス前ニューロンがシナプス後ニューロンの前に発火する)場合にシナプス重みを増加させ(すなわち、シナプスを増強し)、時間差が負である(シナプス後ニューロンがシナプス前ニューロンの前に発火する)場合にシナプス重みを低減させる(すなわち、シナプスを抑制する)ことである。
[0045]STDPプロセスでは、経時的なシナプス重みの変化は通常、以下の式によって与えられるように、指数関数的減衰を使用して達成され得る。
Figure 2017509951
ここで、k+およびk-τsign(Δt)τsign(Δt)はそれぞれ、正の時間差および負の時間差の時間定数であり、a+およびa-は対応するスケーリングの大きさであり、μは正の時間差および/または負の時間差に適用され得るオフセットである。
[0046]図3は、STDPによる、シナプス前スパイクおよびシナプス後スパイクの相対的タイミングに応じたシナプス重み変化の例示的な図300を示す。シナプス前ニューロンがシナプス後ニューロンの前に発火する場合、グラフ300の部分302に示すように、対応するシナプス重みは増加し得る。この重み増加は、シナプスのLTPと呼ばれ得る。グラフ部分302から、シナプス前スパイク時間とシナプス後スパイク時間との間の時間差に応じて、LTPの量がほぼ指数関数的に低減し得ることが観測され得る。グラフ300の部分304に示すように、発火の逆の順序は、シナプス重みを低減させ、シナプスのLTDをもたらし得る。
[0047]図3のグラフ300に示すように、STDPグラフのLTP(原因)部分302に負のオフセットμが適用され得る。x軸の交差306のポイント(y=0)は、レイヤi−1からの原因入力の相関を考慮して、最大タイムラグと一致するように構成され得る。フレームベースの入力(すなわち、スパイクまたはパルスを備える特定の持続時間のフレームの形態である入力)の場合、オフセット値μは、フレーム境界を反映するように計算され得る。直接的にシナプス後電位によってモデル化されるように、またはニューラル状態に対する影響の点で、フレームにおける第1の入力スパイク(パルス)が経時的に減衰することが考慮され得る。フレームにおける第2の入力スパイク(パルス)が特定の時間フレームと相関したまたはに関連したものと考えられる場合、フレームの前および後の関連する時間は、その時間フレーム境界で分離され、関連する時間の値が異なり得る(たとえば、1つのフレームよりも大きい場合は負、1つのフレームよりも小さい場合は正)ように、STDP曲線の1つまたは複数の部分をオフセットすることによって、可塑性の点で別様に扱われ得る。たとえば、曲線が、フレーム時間よりも大きい前後の時間で実際にゼロよりも下になり、結果的にLTPの代わりにLTDの一部であるようにLTPをオフセットするために負のオフセットμが設定され得る。
ニューロンモデルおよび演算
[0048]有用なスパイキングニューロンモデルを設計するための一般的原理がいくつかある。良いニューロンモデルは、2つの計算レジーム、すなわち、一致検出および関数計算の点で豊かな潜在的挙動を有し得る。その上、良いニューロンモデルは、時間コーディングを可能にするための2つの要素を有する必要がある:入力の到着時間は出力時間に影響を与え、一致検出は狭い時間ウィンドウを有し得る。最終的に、計算上魅力的であるために、良いニューロンモデルは、連続時間に閉形式解と、ニアアトラクター(near attractor)と鞍点とを含む安定した挙動とを有し得る。言い換えれば、有用なニューロンモデルは、実用的なニューロンモデルであり、豊かで、現実的で、生物学的に一貫した挙動をモデル化するために使用され得、神経回路のエンジニアリングとリバースエンジニアリングの両方を行うために使用され得るニューロンモデルである。
[0049]ニューロンモデルは事象、たとえば入力の到着、出力スパイク、または内部的であるか外部的であるかを問わず他の事象に依存し得る。豊かな挙動レパートリーを実現するために、複雑な挙動を示すことができる状態機械が望まれ得る。入力寄与(ある場合)とは別個の事象の発生自体が状態機械に影響を与え、事象の後のダイナミクスを制限し得る場合、システムの将来の状態は、単なる状態および入力の関数ではなく、むしろ状態、事象および入力の関数である。
[0050]一態様では、ニューロンnは、下記のダイナミクスによって決定される膜電圧νn(t)によるスパイキングリーキー積分発火ニューロンとしてモデル化され得る。
Figure 2017509951
ここでαおよびβは、シナプス前ニューロンmをシナプス後ニューロンnに結合するシナプスのパラメータ、wm,nwm、nは、シナプス重みであり、ym(t)は、ニューロンnの細胞体に到着するまでΔtm,nに従って樹状遅延または軸索遅延によって遅延し得るニューロンmのスパイキング出力である。
[0051]シナプス後ニューロンへの十分な入力が達成された時間からシナプス後ニューロンが実際に発火する時間までの遅延があることに留意されたい。イジケヴィッチの単純モデルなど、動的スパイキングニューロンモデルでは、脱分極しきい値νtとピークスパイク電圧νpeakとの間に差がある場合、時間遅延が生じ得る。たとえば、単純モデルでは、電圧および復元のための1対の微分方程式、すなわち、
Figure 2017509951
によってニューロン細胞体ダイナミクス(neuron soma dynamics)が決定され得る。ここでνは膜電位であり、uは、膜復元変数であり、kは、膜電位νの時間スケールを記述するパラメータであり、aは、復元変数uの時間スケールを記述するパラメータであり、bは、膜電位νのしきい値下変動に対する復元変数uの感度を記述するパラメータであり、νrは、膜静止電位であり、Iは、シナプス電流であり、Cは、膜のキャパシタンスである。このモデルによれば、ニューロンはν>νpeakのときにスパイクすると定義される。
Hunzinger Coldモデル
[0052]Hunzinger Coldニューロンモデルは、豊かな様々な神経挙動を再生し得る最小デュアルレジームスパイキング線形動的モデルである。モデルの1次元または2次元の線形ダイナミクスは2つのレジームを有することができ、時間定数(および結合)はレジームに依存し得る。しきい値下レジームでは、時間定数は、慣例により負であり、一般に生物学的に一貫した線形方式で静止状態に細胞を戻す役目を果たすリーキーチャネルダイナミクスを表す。しきい値上レジームにおける時間定数は、慣例により正であり、一般にスパイク生成のレイテンシを生じさせる一方でスパイク状態に細胞を駆り立てる反リーキーチャネルダイナミクスを反映する。
[0053]図4に示すように、モデル400のダイナミクスは2つの(またはそれよりも多くの)レジームに分割され得る。これらのレジームは、負のレジーム(negative regime)402(leaky−integrate−and−fire(LIF)ニューロンモデルと混同されないように、交換可能にLIFレジームとも呼ばれる)、および正のレジーム(positive regime)404(anti−leaky−integrate−and−fire(ALIF)ニューロンモデルと混同されないように、交換可能にALIFレジームとも呼ばれる)と呼ばれ得る。負レジーム402では、状態は将来の事象の時点における静止(ν-)の傾向がある。この負レジームでは、モデルは一般に、時間的入力検出特性と他のしきい値下挙動とを示す。正レジーム404では、状態はスパイキング事象(νs)の傾向がある。この正レジームでは、モデルは、後続の入力事象に応じてスパイクにレイテンシを生じさせるなどの計算特性を示す。事象の点からのダイナミクスの公式化およびこれら2つのレジームへのダイナミクスの分離は、モデルの基本的特性である。
[0054]線形デュアルレジーム2次元ダイナミクス(状態νおよびuの場合)は、慣例により次のように定義され得る。
Figure 2017509951
ここでqρおよびrは、結合のための線形変換変数である。
[0055]シンボルρは、ダイナミクスレジームを示すためにここで使用され、特定のレジームの関係を論述または表現するときに、それぞれ負レジームおよび正レジームについて符号「−」または「+」にシンボルρを置き換える慣例がある。
[0056]モデル状態は、膜電位(電圧)νおよび復元電流uによって定義される。基本形態では、レジームは基本的にモデル状態によって決定される。正確で一般的な定義の微妙だが重要な側面があるが、差し当たり、モデルが、電圧νがしきい値(ν+)を上回る場合に正レジーム404にあり、そうでない場合に負レジーム402にあると考える。
[0057]レジーム依存時間定数は、負レジーム時間定数であるτ-と正レジーム時間定数であるτ+とを含む。復元電流時間定数τuは通常、レジームから独立している。便宜上、τuと同様に、指数およびτ+が一般に正となる正レジームの場合に、電圧発展(voltage evolution)に関する同じ表現が使用され得るように、減衰を反映するために負の量として負レジーム時間定数τ-が一般に指定される。
[0058]2つの状態要素のダイナミクスは、事象において、ヌルクラインから状態をオフセットする変換によって結合され得、ここで変換変数は、
Figure 2017509951
であり、δ、ε、βおよびν-、ν+はパラメータである。νρのための2つの値は、2つのレジームのための参照電圧のベースである。パラメータν-は、負レジームのためのベース電圧であり、膜電位は一般に、負レジームにおいてν-に減衰する。パラメータν+は、正レジームのためのベース電圧であり、膜電位は一般に、正レジームにおいてν+から離れる傾向となる。
[0059]νおよびuのためのヌルクラインは、それぞれ変換変数qρおよびrの負によって与えられる。パラメータδは,uヌルクラインの傾きを制御するスケール係数である。パラメータεは通常、−ν-に等しく設定される。パラメータβは、両方のレジームにおいてνヌルクラインの傾きを制御する抵抗値である。τρ時間定数パラメータは、指数関数的減衰だけでなく、各レジームにおいて別個にヌルクラインの傾きを制御する。
[0060]モデルは、電圧νが値νsに達したときにスパイクするように定義され得る。続いて、状態は(スパイク事象と同じ1つのものであり得る)リセット事象でリセットされ得る。
Figure 2017509951
ここで、
Figure 2017509951
およびΔuはパラメータである。リセット電圧
Figure 2017509951
は通常、ν-にセットされる。
[0061]瞬時結合の原理によって、状態について(また、単一の指数項による)だけではなく、特定の状態に到達するための時間についても、閉形式解が可能である。閉形式状態解は、次のとおりである。
Figure 2017509951
[0062]したがって、モデル状態は、入力(シナプス前スパイク)または出力(シナプス後スパイク)などの事象に伴ってのみ更新され得る。また、演算が(入力があるか、出力があるかを問わず)任意の特定の時間に実行され得る。
[0063]その上、瞬時結合原理によって、反復的技法または数値解法(たとえば、オイラー数値解法)なしに、特定の状態に到達する時間が事前に決定され得るように、シナプス後スパイクの時間が予想され得る。前の電圧状態ν0を踏まえ、電圧状態νfに到達するまでの時間遅延は、次の式によって与えられる。
Figure 2017509951
[0064]スパイクが、電圧状態νがνsに到達する時間に生じると定義される場合、電圧が所与の状態νにある時間から測定されたスパイクが生じるまでの時間量、または相対的遅延に関する閉形式解は、次のとおりである。
Figure 2017509951
ここで、
Figure 2017509951
は通常、パラメータν+にセットされるが、他の変形も可能であり得る。
[0065]モデルダイナミクスの上記の定義は、モデルが正レジームにあるか、それとも負レジームにあるかに依存する。上述のように、結合およびレジームρは、事象に伴って計算され得る。状態の伝搬のために、レジームおよび結合(変換)変数は、最後の(前の)事象の時間における状態に基づいて定義され得る。続いてスパイク出力時間を予想するために、レジームおよび結合変数は、次の(最新の)事象の時間における状態に基づいて定義され得る。
[0066]Coldモデルの、適時にシミュレーション、エミュレーションまたはモデルを実行するいくつかの可能な実装形態がある。これは、たとえば、事象更新モード、ステップ事象更新モード、およびステップ更新モードを含む。事象更新は、(特定の瞬間における)事象または「事象更新」に基づいて状態が更新される更新である。ステップ更新は、間隔(たとえば、1ms)をおいてモデルが更新される更新である。これは必ずしも、反復的技法または数値解法を使用するとは限らない。また、事象がステップもしくはステップ間で生じる場合または「ステップ事象」更新によってモデルを更新するのみによって、ステップベースのシミュレータにおいて限られた時間分解能で事象ベースの実装形態が可能である。
ニューラルネットワークを動作するための最適化
[0067]ニューラルネットワークは、ニューロンモデルおよびニューロン状態に応じて様々な時点で発火し得るニューロンの複数のレイヤを含み得る。ネットワーク内のニューロンの集団が増加するにつれて、ネットワーク内でスパイキングするニューロンの数が増加し、次に、ニューラルネットワークを動作する際に消費される電力が同様に増加する。
[0068]本開示の態様は、ニューラルネットワークを改善すること、または、さらに最適化することを対象とする。いくつかの例示的な構成では、改善は、ニューラルネットワークを低減された発火レートで動作すること、および/またはモデルニューロンの低減されたセットで動作することを含み得る。そのような改善は、他の利点の中でも、消費電力を削減させて、ニューラルネットワークのスケーラビリティを改善し得る。
[0069]図5は、本開示のいくつかの態様による、汎用プロセッサ502を使用してニューラルネットワークを動作することの例示的な実装形態500を示している。計算ネットワーク(ニューラルネットワーク)、遅延、および周波数ビン情報に関連付けられる、変数(ニューラル信号)、シナプス重み、システムパラメータは、メモリブロック504に記憶され得、汎用プロセッサ502で実行される命令はプログラムメモリ506からロードされ得る。本開示のある態様では、汎用プロセッサ502にロードされた命令は、選択されたレート帯域幅に基づいてニューロンモデルを選択するためのコードを備え得る。
[0070]別の例示的な構成では、汎用プロセッサ502は、非ゼロ復号ベクトルの第1のスパースセットを生成するためのコードを備え得、各復号ベクトルは、第1のニューロンレイヤと第2のニューロンレイヤとの間のシナプスに関連付けられている。さらに、この例示的な構成では、汎用プロセッサ502は、非ゼロ復号ベクトルに関連付けられる第1のニューロンレイヤ内の選択されたモデルニューロンだけでニューラルネットワークを実装するためのコードを備え得る。
[0071]別の例示的な構成では、汎用プロセッサ502は、入力電流に基づいて線形を変更する膜電位を有するニューロンモデルを選択するためのコードを備え得る。さらに、この例示的な構成では、汎用プロセッサ502は、膜電位がしきい値に達すると、膜電位をあらかじめ定められた値にリセットするためのコードを備え得る。
[0072]図6は、本開示のいくつかの態様による、メモリ602が相互接続ネットワーク604を介して計算ネットワーク(ニューラルネットワーク)の個々の(分散型)処理ユニット(ニューラルプロセッサ)606とインターフェースされ得る、ニューラルネットワークを動作することの例示的な実装形態600を示している。計算ネットワーク(ニューラルネットワーク)、遅延、および/または周波数ビン情報に関連付けられる、変数(ニューラル信号)、シナプス重み、システムパラメータはメモリ602に記憶され得、相互接続ネットワーク604の接続を介してメモリ602から各処理ユニット(ニューラルプロセッサ)606にロードされ得る。本開示のある態様では、処理ユニット606は、選択されたレート帯域幅に基づいて、ニューロンモデルを選択するように構成され得る。
[0073]別の例示的な構成では、処理ユニット606は、非ゼロ復号ベクトルの第1のスパースセットを生成するように構成され得、各復号ベクトルは、第1のニューロンレイヤと第2のニューロンレイヤとの間のシナプスに関連付けられている。さらに、この例示的な構成では、処理ユニット606は、非ゼロ復号ベクトルに関連付けられる第1のニューロンレイヤ内の選択されたモデルニューロンだけでニューラルネットワークを実装するように構成され得る。
[0074]別の例示的な構成では、処理ユニット606は、入力電流に基づいて線形を変更する膜電位を有するニューロンモデルを選択するように構成され得る。さらに、この例示的な構成では、処理ユニット606は、膜電位がしきい値に達すると、膜電位をあらかじめ定められた値にリセッティングするように構成され得る。
[0075]図7は、ニューラルネットワークを動作することの例示的な実装形態700を示している。図7に示されるように、1つのメモリバンク702は、計算ネットワーク(ニューラルネットワーク)の1つの処理ユニット704に直接インターフェースされ得る。各メモリバンク702は、対応する処理ユニット(ニューラルプロセッサ)704、遅延、および/または周波数ビン情報に関連付けられる変数(ニューラル信号)、シナプス重み、および/またはシナプスパラメータを記憶し得る。本開示のある態様では、処理ユニット704は、選択されたレート帯域幅に基づいて、ニューロンモデルを選択するように構成され得る。
[0076]別の例示的な構成では、処理ユニット704は、非ゼロ復号ベクトルの第1のスパースセットを生成するように構成され得、各復号ベクトルは、第1のニューロンレイヤと第2のニューロンレイヤとの間のシナプスに関連付けられている。さらに、この例示的な構成では、処理ユニット704は、非ゼロ復号ベクトルに関連付けられる第1のニューロンレイヤ内の選択されたモデルニューロンだけでニューラルネットワークを実装するように構成され得る。
[0077]別の例示的な構成では、処理ユニット704は、入力電流に基づいて線形を変更する膜電位を有するニューロンモデルを選択するように構成され得る。さらに、この例示的な構成では、処理ユニット704は、膜電位がしきい値に達すると、膜電位をあらかじめ定められた値にリセットするように構成され得る。
[0078]図8は、本開示のいくつかの態様による、ニューラルネットワーク800の例示的な実装形態を示す。図8に示すように、ニューラルネットワーク800は、本明細書に記載される方法の様々な動作を実行し得る複数のローカル処理ユニット802を有することができる。各ローカル処理ユニット802は、ニューラルネットワークのパラメータを記憶する、ローカルステートメモリ804およびローカルパラメータメモリ806を備え得る。また、ローカル処理ユニット802は、ローカルモデルプログラムを記憶するためのローカル(ニューロン)モデルプログラム(LMP)メモリ808、ローカル学習プログラムを記憶するためのローカル学習プログラム(LLP)メモリ810、およびローカル接続メモリ812を有し得る。さらに、図8に示されるように、各ローカル処理ユニット802は、ローカル処理ユニットのローカルメモリの構成を提供するための構成プロセッサユニット814と、またローカル処理ユニット802間のルーティングを提供するルーティングユニット816とインターフェースされ得る。
[0079]一構成では、ニューロンモデルは、ニューラルネットワークが動作する選択された最小発火レートと、ニューラルネットワークが動作する選択された最大発火レートとの間の差に基づいてレート帯域幅を選択するように、および/または選択されたレート帯域幅に基づいてニューロンモデルを選択するように構成される。ニューロンモデルは、レート帯域幅を選択するための手段と、ニューロンモデルを選択するための手段とを含む。一態様では、帯域幅を選択するための手段、および/またはニューロンモデルを選択するための手段は、記載された機能を実行するように構成された汎用プロセッサ502、プログラムメモリ506、メモリブロック504、メモリ602、相互接続ネットワーク604、処理ユニット606、処理ユニット704、ローカル処理ユニット802、およびまたはルーティング接続処理要素816であり得る。別の構成では、上述の手段は、上記の手段によって記載された機能を実行するように構成された任意のモジュールまたは任意の装置であり得る。
[0080]別の構成では、ニューロンモデルは、ニューラルネットワーク内のモデルニューロンの数を低減させるように構成される。ニューロンモデルは、非ゼロ復号ベクトルの第1のスパースセットを生成するための手段と、ニューラルネットワークを実装するための手段とを含む。一態様では、生成手段および/または実装手段は、記載された機能を実行するように構成された汎用プロセッサ502、プログラムメモリ506、メモリブロック504、メモリ602、相互接続ネットワーク604、処理ユニット606、処理ユニット704、ローカル処理ユニット802、およびまたはルーティング接続処理要素816であり得る。別の構成では、上述の手段は、上記の手段によって記載された機能を実行するように構成された任意のモジュールまたは任意の装置であり得る。
[0081]別の構成では、ニューロンモデルは、ニューラルネットワークを生成するように構成される。ニューロンモデルは、処理ユニット606は、入力電流に基づいて線形を変更する膜電位を有するニューロンモデルを選択するための手段と、膜電位がしきい値に達すると、膜電位をあらかじめ定められた値にリセットするための手段とを含む。一態様では、選択手段および/またはリセット手段は、記載された機能を実行するように構成された汎用プロセッサ502、プログラムメモリ506、メモリブロック504、メモリ602、相互接続ネットワーク604、処理ユニット606、処理ユニット704、ローカル処理ユニット802、およびまたはルーティング接続処理要素816であり得る。別の構成では、上述の手段は、上記の手段によって記載された機能を実行するように構成された任意のモジュールまたは任意の装置であり得る。
[0082]本開示のいくつかの態様によれば、各ローカル処理ユニット802は、ニューラルネットワークの所望の1つまたは複数の機能的特徴に基づいて、ニューラルネットワークのパラメータを決定して、決定されたパラメータがさらに適応され、同調され、更新されるにつれて、所望の機能的特徴に向けて1つまたは複数の機能的特徴を開発するように構成され得る。
ニューラルネットワークを低減された発火レートで動作すること
[0083]本開示の態様は、ニューラルネットワークを低減された発火レートで動作することを対象とする。ニューラルネットワーク内の発火レートを低減すること、あるいは、低発火またはスパイキングレートを達成することには、消費電力の削減を含む様々な利点がある。これは、イベントベースのシミュレーション用に構成された、またはさらに最適化されたハードウェアシステムについて特にそうである。さらに、低減された発火レートは計算の複雑さを軽減して、ハードウェアシステム上で実行され得るネットワークの大きさの点でスケーラビリティを改善し得る。
[0084]図9は、本開示の態様による、ニューラルネットワーク900の例示的な構造を示すブロック図である。図9を参照すると、ニューラルネットワーク900は、入力レイヤ902と、隠れレイヤ904と、出力レイヤ906との3つのレイヤを有し得る。ニューラルネットワーク900内に3つのレイヤだけが示されているが、これは単なる例示であり、図示および説明を容易にするためのものである。もちろん、ニューラルネットワークは、追加のレイヤで、またはより少数のレイヤで構成され得る。
[0085]ニューラルネットワークのレイヤの各々は全対全構成(all-to-all configuration)、全対一構成(all-to-one configuration)、または任意の他の構成において、シナプス(908、910)を介してともに結合され得る1つまたは複数のニューロンを含み得る。
[0086]入力レイヤ902のニューロン(たとえば、x0、・・・、xD)は、たとえば、シナプス908を介して隠れレイヤ904のニューロンに供給され得る、アナログ入力を受信してスパイクを出力するように構成され得る非線形スパイキングニューロンを備え得る。いくつかの態様では、シナプス908は、ランダムに初期化された重みで構成され得る。ランダムに初期化された重みは、たとえば、連続ランダム分布(continuous random distribution)から提供され得る。他の態様では、シナプス908の重みは、シナプスごとの重みが別個であるように、異なって割り当てられ得る。
[0087]隠れレイヤ904は、1つまたは複数のニューロン912a、912b、・・・、912n(集合的にニューロン912と呼ばれ得る)を備え得る。いくつかの態様では、ニューロン912は、非線形ニューロンモデルのスパイキングニューロンを備える。たとえば、隠れレイヤ904のニューロンは、リーキー積分発火(LIF)ニューロン、二次積分発火(QIF)ニューロン、線形しきい値(LT)ニューロン、コールドニューロン、マップベースのニューロンモデル、微分方程式ベースのニューロンモデル等、および/またはそれらの組合せを備え得る。
[0088]入力データ(たとえば、入力電流I)は、隠れレイヤニューロン904の発火レート(または、ニューラル応答関数)で符号化され得る。線形非スパイキングニューロンを備え得る出力レイヤ906は、発火レートを復号して、隠れレイヤニューロン912の発火レートの線形加重和を出力するように構成され得る。出力重み(復号ベクトル)は、高速ワンショットトレーニングを有益に提供するように、分析的に決定され得る。このように、ニューラルネットワークを改善/最適化するための1つの機構が、ニューロンの発火レートを制御することによって実現され得る。
[0089]1つの例示的な構成では、たとえばニューラルエンジニアリングフレームワーク(NEF)ネットワークであり得るニューラルネットワーク900は、有界誤差による低い、または低減された発火レートで動作され得る。有界誤差は、目標最大誤差(E)を備え得る。目標最大誤差(E)は、ニューラルネットワークを動作する際に、アナログ入力のスパイクへの変換を達成するための誤差許容しきい値に対応し得る。たとえば、目標最大誤差は、最大許容平均二乗誤差であり得る。
[0090]レート帯域幅(rB)は、発火レート範囲に基づいて選択され得る。たとえば、レート帯域幅は、以下のように選択され得る。
Figure 2017509951
上式で、rmaxは符号化の最大周波数であり、rminは符号化の最小周波数である。rminとrmaxの値はあらかじめ定められてもよく、ユーザが定義してもよい。
[0091]rmin(レート最小)の所与の値のために、ニューロンモデルが選択され得る。発火を可能な限り0に近くなるように低減させることが望ましい。いくつかの態様では、ニューロンモデルは、以下の条件に基づいて選択され得る。
Figure 2017509951
上式で、I0は入力電流であり、a(I)はシナプスアクティビティ(たとえば、発火レート)であり、IthはI<Ithのときにa(I)=0であるようなスパイキングしきい値である。Ithは選択されたニューロンモデルの関数である。
[0092]隠れレイヤ904のニューロン912は、たとえば、リーキー積分発火(LIF)ニューロンモデル、二次積分発火(QIF)モデル、線形しきい値(LT)ニューロンモデル、およびコールドニューロンモデル等のニューロンモデルに従って構成され得る。
[0093]LIFニューロンモデルは以下のように表され得る。
Figure 2017509951
上式でτRCは時定数であり、νは膜電位であり、νrはリセット値であり、νthはしきい値である。
[0094]QIFニューロンモデルは以下のように表され得る。
Figure 2017509951
上式でτRCは時定数であり、νは膜電位であり、νrはリセット値であり、νthはしきい値である。
[0095]LTニューロンモデルは以下のように表され得る。
Figure 2017509951
上式でτRCは時定数であり、νは膜電位であり、νrはリセット値であり、νthはしきい値である。
[0096]ニューロンモデルは、式16および17において指定された条件が満たされるように選択され得る。これらの条件に基づいてニューロンモデルを選択して、選択されたニューロンモデルに従って構成されたニューロン912を隠れレイヤにポピュレートすることによって、ニューラルネットワーク900は低発火レートで動作され得る。
[0097]例として、様々なニューロンモデルを使用するニューラルネットワークの性能が、隠れレイヤニューロンにとって所望の、またはさらに最適なモデルニューロンを識別するために比較され得る。本開示の態様によれば、ニューロンモデルとレート帯域幅が選択され得る。たとえば、LTモデルのために、シナプスアクティビティは以下によって与えられ得る。
Figure 2017509951
[0098]したがって、上記の式16および17が、あらゆるrB>0およびrmin≧0、入力電流I0=νth、および時定数τRC=20msについて満たされる。
[0099]別の例では、LIFモデルのシナプスアクティビティは、以下によって与えられ得る。
Figure 2017509951
[0100]したがって、上記の式16および17は、非標準モデルパラメータ(たとえば、標準時定数τRC=20msと比較して、時定数τRC=400ms)を有するrB=60;rmin=5について満たされる。しかしながら、式16および17は、標準モデルパラメータ(すなわち、τRC=20ms)を有するrB=60;rmin=5について満たされ得ない。
[0101]さらなる例では、QIFモデルのシナプスアクティビティは、以下によって与えられる。
Figure 2017509951
[0102]したがって、上記の式16および17は、入力電流I0=νthおよび時定数τRC=20msを有するrB>100およびrmin≧5について満たされる。
[0103]1つの例示的な態様では、ニューラルネットワークは、以下のように低発火レートで動作するように構成され得る。
[0104]隠れニューロン912のニューロン発火レートの範囲、rminからrmaxを選択する。rminおよびrmaxの値は、ユーザが定義してもよく、それらのナイキストレート(たとえば、rmin>入力信号ナイキストレート)およびタウステップサイズなどの目標ハードウェアパラメータなどの、関数の入力信号および出力信号に基づいて選択されてもよい。
[0105]rB<rmax−rminになるように、レート範囲およびレート帯域幅(rB)を選択する。いくつかの態様では、この制約を満たして、固定点のパラメータ量子化などの他の要因に適合するために、大きなrBが選択され得る。
[0106]上記で指定されたように、式16および17を満たすニューロンモデルを選択する。1つの例示的な構成では、ニューロンモデルは、線形しきい値ニューロンモデルであり得る。もちろん、QIF、LIF、および他のニューロンモデルも選択され得る。いくつかの態様では、たとえば複数のニューロンが式16および17を満たす場合、計算、電力、性能の希望、および利用可能なニューロンモデルも、ニューロンモデル選択のための基礎として役立ち得る。
[0107]さらに、式(16)および(17)を満たすニューロンモデルのパラメータのセットが選択され得る。いくつかの態様では、これは、たとえばパラメータ検索手法を使用して発生し得る。ニューラルネットワーク最適化のための追加の基準がさらに指定され得る。あるいは、ニューロンモデルのパラメータのセットは、上記で指定された解空間等を使用して決定され得る。
[0108]機能を実現するために、モデルの重みが、選択されたニューロンモデルとパラメータのセットに基づいて決定され得る。いくつかの態様では、NEF手順がモデルの重みを決定し得る。
[0109]いくつかの態様では、モデル性能が目標性能に対して検査され得る。さらに、式16および17を満たしながら、性能を改善するためにモデルパラメータが修正され得る。
低減された数のモデルニューロンを使用してニューラルネットワークを動作すること
[0110]一旦ニューラルモデルが検出されると、ニューラルネットワーク900は、モデルニューロン912のセット(対応するシナプスである)を低減することによって改善され得る。低減された数のモデルニューロン912でニューラルネットワーク900を動作することは、重要な性能とコストの利点を有し得る。たとえば、ニューロンネットワーク内のモデルニューロンの低減されたセットは、ハードウェアシステム上のストレージ容量を改善し得(たとえば、より多くのニューロンレイヤがハードウェアシステムに収容され得る)、計算の複雑度および消費電力を低減させ得る。
[0111]本開示の例示的な態様によれば、モデルニューロンの低減されたセット(「効率的」ニューロンと呼ばれ得る)は、復号ベクトルφ(復号ベクトルφは、シナプス接続の重みを表し得る)のスパース(すなわち、いくつかのゼロ値を有する)セットを生成することによって取得され得る。次に、ニューラルネットワーク900は、非ゼロ復号ベクトルを有するニューロンだけを使用して動作され得る。すなわち、ゼロ重みを有するシナプス接続(たとえば、910b、910c)を介して出力レイヤ906に結合された隠れレイヤニューロン(たとえば、912b、912c)は、ニューラルネットワーク900が残りのニューロンだけを使用して動作され得るように除去され得る。
[0112]復号ベクトルφのスパースセットは、正則化技法を使用して生成され得る。正則化技法は、オーバーフィッティングおよび他の問題をもたらし得るモデルの複雑度を低減し得る。したがって、正則化技術は、ニューラルネットワーク内のシナプス接続および/またはニューロンの数を低減し得る。より少数の小さな値における正規化の結果は、代わりにゼロ値の数を増加させる。
[0113]たとえば、いくつかの態様では、復号ベクトルφのスパースセットは、L1正則化(LASSO(最小絶対値縮小選択演算子)最適化としても知られる)を有する最小二乗最適化を使用して、以下のように生成され得る。
Figure 2017509951
上式で、λは正則化用語(性能目標を満たすように変化される)であり、
Figure 2017509951
は、発火レートの加重和に対応する出力の推定であり、出力レイヤ906に供給され得、以下によって与えられる。
Figure 2017509951
上式で、xは入力信号であり、ai(x)(i=1、・・・、N)はニューラル応答関数であり、φは復号ベクトルである。適用すること、L1正則化は、最適な復号ベクトルが決定され得る。L1正則化を行う際に、復号化ベクトルφまたはシナプス接続の一部がゼロにされ得る。
方法1:
[0114]1つの例示的な構成では、モデルニューロンの低減されたセットは、隠れレイヤ内のN個のノードを有するニューラルネットワークを生成することによって決定され得る。いくつかの態様では、ニューラルネットワークは、NEFネットワーク等であり得る。
[0115]LASSO処理は、M(M≦N)非ゼロ復号ベクトルのスパースセットを生成し得る。非ゼロ復号ベクトルを有するニューロンは、効率的モデルニューロンとしてラベル付けされ得る。したがって、ニューラルネットワークは、効率的モデルニューロンだけで動作され得る。したがって、ニューラルネットワークは、ニューロンの低減されたセットと、その間の対応する接続で動作され得る。
方法2:
[0116]第2の例示的な構成では、モデルニューロンの低減されたセットは、方法1に記載されるようにM<N効率的モデルニューロンを生成することによって決定され得る。新しいレイヤは、M個の効率的モデルニューロンと、N−M個のモデルニューロンの新しいセットとを備える新しいレイヤで生成され得る。
[0117]LASSO処理は、非ゼロ復号ベクトルのスパースセット(L≦M≦N)を生成し得る。非ゼロ復号ベクトルを有するL個のニューロンのセットは、効率的モデルニューロンとしてラベル付けされ得る。次に、ニューラルネットワークは、効率的モデルニューロンだけで動作され得る。したがって、ニューラルネットワークは、ニューロンの低減されたセットと対応する相互接続とで動作され得る。
方法3:
[0118]さらなる例示的な構成では、モデルニューロンの低減されたセットは、それぞれM≦N個の効率的モデルニューロンを備えるL個の隠れレイヤを有するニューラルネットワークの正則化コミッティ(regularized committee)を生成するために方法1をL回繰り返すことによって決定され得る。ニューラルネットワークのコミッティは、NRC効率的モデルニューロンを備えるニューラルネットワークを実装するために、プールされ得る、ここで、
Figure 2017509951
である。
方法4:
[0119]さらなる例示的な構成では、モデルニューロンの低減されたセットは、復号ベクトルのスパースセットMRC≦NRCを生成するために、方法3からNRC効率的モデルニューロンのセットにLASSO処理を実行することによって決定され得る。ニューロンネットワークは、MRC効率的モデルニューロンの新しいセットで実装され得る。
[0120]上述の例示的な構成はLASSO正則化を利用するが、L2正則化または他の正則化方法も使用され得る。たとえば、一態様では、L2正則化が使用され得る。いくつかの態様では、非ゼロ復号ベクトルのスパースセットを生成することは、小さい値(たとえば、しきい値未満の絶対値)を有する復号ベクトルをゼロに設定することをさらに備え得る。
[0121]いくつかの態様では、式24の正則化用語(λ)は、予測される所望の性能の所与の値のための効率的ニューロンの数を低減する、またはさらに最小化するために選択され得る。すなわち、正則化用語(λ)は、たとえば、誤差レート、ニューロンの数、他のシステム、および/あるいは性能考慮またはメトリックに基づいて選択され得る。たとえば、方法1について、性能目標(たとえば、MSE(平均二乗誤差)に関して)は、λを変化させることによって性能目標の所望のレベルを満たすために、低減された数の効率的ニューロンを見つけるために設定および使用され得る。許容誤差はユーザによって選択され得、次いで、それに応じて正則化用語が設定され得る。
[0122]いくつかの態様では、隠れレイヤ(たとえば、904)内のモデルニューロンの低減されたセット(たとえば、上記の方法1〜4による)を含むニューラルネットワーク(たとえば、900)は、上述のように低発火レートで動作され得、それによって、さらに最適化されたニューラルネットワークを生成する。
[0123]本開示のいくつかの態様では、ニューラルネットワークは、入力電流で線形を変更する膜電位を有するニューロンモデル(たとえば、スパイキングニューロンモデル)を選択することと、膜電位がしきい値に達すると、膜電位をリセットすることとによって生成され得る。
[0124]図10A〜図10Dは、モデルニューロンの低減されたセットを示す例示的な図である。図10Aは、上述の方法1に従って生成された、モデルニューロンの低減されたセットを示している。図10Aは、N個のニューロン(たとえば、ニューロン1004と呼ばれ得る、1004a、・・・、1004n)を含むニューラルネットワークの隠れレイヤ1002を示している。隠れレイヤ1002は、図9の隠れレイヤ904の構成と同様に構成され得る。
[0125]LASSO処理(L1)は、復号ベクトル(たとえば、1008)によって表されるシナプス後重みを推定または学習するために実行され得る。L1正則化を適用すると、推定または学習された復号ベクトル重みのうちのいくつかがゼロに設定され得、残りは非ゼロ値に設定され得る。ゼロ重みを有する復号ベクトルは除去され得、それによって、復号ベクトルの低減されたセット、または復号ベクトルのより多くのスパースセットを生成し、それはスパースセットM≦N非ゼロ復号ベクトル1008a、・・・、1008m(集合的に、非ゼロ復号ベクトル1008と呼ばれ得る)と呼ばれ得る。
[0126]いくつかの態様では、ゼロ重みを有する復号ベクトルに関連付けられるニューロンは、修正された隠れレイヤ1006を生成するために、隠れレイヤ1002から除去される。非ゼロ復号ベクトル(たとえば、1008a、・・・、1008m)を有するM個の残りの隠れレイヤニューロン(たとえば、1004a、・・・、1004m)は、効率的モデルニューロン1004a、・・・、1004mとしてラベル付けされ得る。このように、M個の隠れレイヤニューロン1004の低減されたセットが達成され得る。したがって、ニューラルネットワークは、ニューロン1006の低減されたセットと、対応する相互接続で動作され得る。
[0127]図10Bは、上述の方法2に従って生成された、モデルニューロンの低減されたセットを示している。図10Bは、方法1に従って生成された(および、図10Aに示される)M個の効率的モデルニューロンを含むニューラルネットワークの修正された隠れレイヤ1006と、N−M個のモデルニューロン1010の新しいセットを示している。いくつかの態様では、M個の効率的モデルニューロン(1006)のシナプス後接続の重みは固定され得、N−M個のモデルニューロンの新しいセットのシナプス前接続の重みはランダムであり得る。
[0128]LASSO処理(L1)は、復号ベクトル重み(たとえば、1008a)を学習するために、M個の効率的モデルニューロン(1006)とN−M個のモデルニューロン(1010)の新しいセットとの組合せ上で実行され得る。図10Aに関して上述したように、復号ベクトル重みのうちのいくつかはゼロであり得、したがって、それによってL個(L≦M≦N)の非ゼロ復号ベクトル1008のスパースセットを生成するために除去される。
[0129]同様に、ゼロ重み復号ベクトルを有する隠れレイヤニューロンはまた、L個のニューロンを含む隠れレイヤ1012を生成するために除去され得る。非ゼロ復号ベクトルを有するL個のニューロンのセットは、効率的モデルニューロンとしてラベル付けされ得る。次に、ニューラルネットワークは、隠れレイヤ1012内のL個の効率的モデルニューロンだけで動作され得る。したがって、ニューラルネットワークは、ニューロンの低減されたセットと、その間の対応する接続とで動作され得る。
[0130]図10Cは、上述の方法3に従って生成された、モデルニューロンの低減されたセットを示している。図10Cに示すように、ニューラルネットワークの正則化コミッティは、それぞれが上述の方法1に従って生成された(および図10Aに示される)M(M≦N)個の効率的モデルニューロン(1021、1023、1025)を備える隠れレイヤを含む。ニューラルネットワークの正則化コミッティは、NRC効率的モデルニューロン1030を備えるニューラルネットワークを実装するためにプールされ得る。
[0131]図10Dは、上述の方法4に従って生成された、モデルニューロンの低減されたセットを示している。図10Dに示すように、方法3に従って生成された(および、図10Cに示される)NRC効率的モデルニューロン1030のセットは、復号ベクトル(1034)のスパースセットMRC≦NRCを生成するために、NRC効率的モデルニューロン1030のセット上にLASSO処理(L1)を実行することによってさらに低減され得る。したがって、ニューラルネットワークは、MRC効率的モデルニューロン1032の新しいセットで実装され得る。
[0132]図11は、ニューラルネットワーク内で動作するための低発火レートを有するニューロンモデルを選択するための方法1100を示している。ブロック1102で、プロセスは、発火レート範囲に基づいてレート帯域幅を選択する。さらに、ブロック1104で、プロセスは、選択されたレート帯域幅に基づいてニューロンモデルを選択する。
[0133]図12は、ニューラルネットワーク内の低減された数のモデルニューロンを選択するための方法1200を示している。ブロック1202で、プロセスは、非ゼロ復号ベクトルの第1のスパースセットを生成する。各復号ベクトルは、第1のニューロンレイヤと第2のニューロンレイヤとの間のシナプスに関連付けられる。さらに、ブロック1204で、プロセスは、非ゼロ復号ベクトルに関連付けられる第1のニューロンレイヤ内の選択されたモデルニューロンだけでニューラルネットワークを実装する。
[0134]図13は、ニューラルネットワークを生成するための方法1300を示している。ブロック1302で、プロセスがニューロンモデル(たとえば、スパイキングニューロンモデル)を選択する。ニューロンモデルは、入力電流に基づいて線形を変更する膜電位を有する。さらに、ブロック1304で、プロセスは、膜電位がしきい値に達すると、膜電位をあらかじめ定められた値にリセットする。
[00135]上述した方法の様々な動作は、対応する機能を実行することが可能な任意の好適な手段によって実行され得る。それらの手段は、限定はしないが、回路、特定用途向け集積回路(ASIC)、またはプロセッサを含む、様々なハードウェアおよび/またはソフトウェア構成要素および/またはモジュールを含み得る。概して、図に示されている動作がある場合、それらの動作は、同様の番号をもつ対応するカウンターパートのミーンズプラスファンクション構成要素を有し得る。
[00136]本明細書で使用する「決定」という用語は、多種多様なアクションを包含する。たとえば、「決定」は、計算すること、算出すること、処理すること、導出すること、調査すること、ルックアップすること(たとえば、テーブル、データベースまたは別のデータ構造においてルックアップすること)、確認することなどを含み得る。さらに、「決定」は、受信すること(たとえば、情報を受信すること)、アクセスすること(たとえば、メモリ中のデータにアクセスすること)などを含み得る。さらに、「決定」は、解決すること、選択すること、選定すること、確立することなどを含み得る。
[00137]本明細書で使用する、項目のリスト「のうちの少なくとも1つ」を指す句は、単一のメンバーを含む、それらの項目の任意の組合せを指す。一例として、「a、b、またはcのうちの少なくとも1つ」は、a、b、c、a−b、a−c、b−c、およびa−b−cを包含するものとする。
[00138]本開示に関連して説明した様々な例示的な論理ブロック、モジュール、および回路は、汎用プロセッサ、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ信号(FPGA)または他のプログラマブル論理デバイス(PLD)、個別ゲートまたはトランジスタ論理、個別ハードウェア構成要素、あるいは本明細書で説明した機能を実行するように設計されたそれらの任意の組合せを用いて実装または実行され得る。汎用プロセッサはマイクロプロセッサであり得るが、代替として、プロセッサは、任意の市販のプロセッサ、コントローラ、マイクロコントローラまたは状態機械であり得る。プロセッサはまた、コンピューティングデバイスの組合せ、たとえば、DSPとマイクロプロセッサとの組合せ、複数のマイクロプロセッサ、DSPコアと連携する1つまたは複数のマイクロプロセッサ、あるいは任意の他のそのような構成として実装され得る。
[00139]本開示に関連して説明した方法またはアルゴリズムのステップは、ハードウェアで直接実施されるか、プロセッサによって実行されるソフトウェアモジュールで実施されるか、またはその2つの組合せで実施され得る。ソフトウェアモジュールは、当技術分野で知られている任意の形式の記憶媒体で存在し得る。使用され得る記憶媒体のいくつかの例は、ランダムアクセスメモリ(RAM)、読出し専用メモリ(ROM)、フラッシュメモリ、消去可能プログラマブル読出し専用メモリ(EPROM)、電気的消去可能プログラマブル読出し専用メモリ(EEPROM(登録商標))、レジスタ、ハードディスク、リムーバブルディスク、CD−ROMなどを含む。ソフトウェアモジュールは、単一の命令、または多数の命令を備えることができ、いくつかの異なるコードセグメント上で、異なるプログラム間で、複数の記憶媒体にわたって分散され得る。記憶媒体は、プロセッサがその記憶媒体から情報を読み取ることができ、その記憶媒体に情報を書き込むことができるように、プロセッサに結合され得る。代替として、記憶媒体はプロセッサと一体化され得る。
[00140]本明細書で開示する方法は、説明した方法を達成するための1つまたは複数のステップまたはアクションを備える。本方法のステップおよび/またはアクションは、特許請求の範囲から逸脱することなく互いに交換され得る。言い換えれば、ステップまたはアクションの特定の順序が指定されない限り、特定のステップおよび/またはアクションの順序および/または使用は、特許請求の範囲から逸脱することなく変更され得る。
[00141]説明した機能は、ハードウェア、ソフトウェア、ファームウェア、またはそれらの任意の組合せで実装され得る。ハードウェアで実装される場合、例示的なハードウェア構成はデバイス中に処理システムを備え得る。処理システムは、バスアーキテクチャを用いて実装され得る。バスは、処理システムの特定の適用例および全体的な設計制約に応じて、任意の数の相互接続バスとブリッジとを含み得る。バスは、プロセッサと、機械可読媒体と、バスインターフェースとを含む様々な回路を互いにリンクし得る。バスインターフェースは、ネットワークアダプタを、特に、バスを介して処理システムに接続するために使用され得る。ネットワークアダプタは、信号処理機能を実装するために使用され得る。いくつかの態様では、ユーザインターフェース(たとえば、キーパッド、ディスプレイ、マウス、ジョイスティックなど)もバスに接続され得る。バスはまた、タイミングソース、周辺機器、電圧調整器、電力管理回路などの様々な他の回路にリンクし得るが、それらは当技術分野でよく知られており、したがってこれ以上は説明されない。
[00142]プロセッサは、機械可読媒体に記憶されたソフトウェアの実行を含む、バスおよび一般的な処理を管理することを担当し得る。プロセッサは、1つまたは複数の汎用および/または専用プロセッサを用いて実装され得る。例としては、マイクロプロセッサ、マイクロコントローラ、DSPプロセッサ、およびソフトウェアを実行し得る他の回路を含む。ソフトウェアは、ソフトウェア、ファームウェア、ミドルウェア、マイクロコード、ハードウェア記述言語などの名称にかかわらず、命令、データ、またはそれらの任意の組合せを意味すると広く解釈されたい。機械可読媒体は、一例として、ランダムアクセスメモリ(RAM)、フラッシュメモリ、読出し専用メモリ(ROM)、プログラマブル読出し専用メモリ(PROM)、消去可能プログラマブル読出し専用メモリ(EPROM)、電気的消去可能プログラム可能読出し専用メモリ(EEPROM)、レジスタ、磁気ディスク、光ディスク、ハードドライブ、または他の任意の適切な記憶媒体、あるいはそれらの任意の組合せを含み得る。機械可読媒体はコンピュータプログラム製品において実施され得る。コンピュータプログラム製品はパッケージング材料を備え得る。
[00143]ハードウェア実装形態では、機械可読媒体は、プロセッサとは別個の処理システムの一部であり得る。しかしながら、当業者なら容易に理解するように、機械可読媒体またはその任意の部分は処理システムの外部にあり得る。例として、機械可読媒体は、すべてバスインターフェースを介してプロセッサによってアクセスされ得る、伝送線路、データによって変調された搬送波、および/またはデバイスとは別個のコンピュータ製品を含み得る。代替的に、または追加で、機械可読媒体またはその任意の部分は、キャッシュおよび/または汎用レジスタファイルがそうであり得るように、プロセッサに統合され得る。論じた様々な構成要素は、ローカル構成要素などの特定の位置を有するものとして説明され得るが、それらはまた、分散コンピューティングシステムの一部として構成されているいくつかの構成要素などの様々な方法で構成され得る。
[00144]処理システムは、すべて外部バスアーキテクチャを介して他のサポート回路と互いにリンクされる、プロセッサ機能を提供する1つまたは複数のマイクロプロセッサと、機械可読媒体の少なくとも一部分を提供する外部メモリとをもつ汎用処理システムとして構成され得る。あるいは、処理システムは、本明細書に記載のニューロンモデルとニューラルシステムのモデルとを実装するための1つまたは複数のニューロモルフィックプロセッサを備え得る。別の代替として、処理システムは、プロセッサを有する特定用途向け集積回路(ASIC)と、バスインターフェースと、ユーザインターフェースと、サポート回路と、単一のチップに統合された機械可読媒体の少なくとも一部とを用いて、あるいは1つまたは複数のフィールドプログラマブルゲートアレイ(FPGA)、プログラマブル論理デバイス(PLD)、コントローラ、状態機械、ゲート論理、個別ハードウェア構成要素、または他の任意の適切な回路、あるいは本開示全体を通じて説明した様々な機能を実行し得る回路の任意の組合せを用いて実装され得る。当業者なら、特定の適用例と、全体的なシステムに課される全体的な設計制約とに応じて、どのようにしたら処理システムについて説明した機能を最も良く実装し得るかを理解されよう。
[00145]機械可読媒体はいくつかのソフトウェアモジュールを備え得る。ソフトウェアモジュールは、プロセッサによって実行されたときに、処理システムに様々な機能を実行させる命令を含む。ソフトウェアモジュールは、送信モジュールと受信モジュールとを含み得る。各ソフトウェアモジュールは、単一の記憶デバイス中に常駐するか、または複数の記憶デバイスにわたって分散され得る。例として、トリガイベントが発生したとき、ソフトウェアモジュールがハードドライブからRAMにロードされ得る。ソフトウェアモジュールの実行中、プロセッサは、アクセス速度を高めるために、命令のいくつかをキャッシュにロードし得る。次いで、1つまたは複数のキャッシュラインが、プロセッサによる実行のために汎用レジスタファイルにロードされ得る。以下でソフトウェアモジュールの機能に言及する場合、そのような機能は、そのソフトウェアモジュールからの命令を実行したときにプロセッサによって実装されることが理解されよう。
[00146]ソフトウェアで実装される場合、機能は、1つまたは複数の命令またはコードとしてコンピュータ可読媒体上に記憶されるか、あるいはコンピュータ可読媒体を介して送信され得る。コンピュータ可読媒体は、ある場所から別の場所へのコンピュータプログラムの転送を可能にする任意の媒体を含む、コンピュータ記憶媒体と通信媒体の両方を含む。記憶媒体は、コンピュータによってアクセスされ得る任意の利用可能な媒体であり得る。限定ではなく例として、そのようなコンピュータ可読媒体は、RAM、ROM、EEPROM、CD−ROMまたは他の光ディスクストレージ、磁気ディスクストレージまたは他の磁気記憶デバイス、あるいは命令またはデータ構造の形態の所望のプログラムコードを搬送または記憶するために使用され得、コンピュータによってアクセスされ得る、任意の他の媒体を備えることができる。さらに、いかなる接続もコンピュータ可読媒体を適切に名づけられる。たとえば、ソフトウェアが、同軸ケーブル、光ファイバーケーブル、ツイストペア、デジタル加入者回線(DSL)、または赤外線(IR)、無線、およびマイクロ波などのワイヤレス技術を使用して、ウェブサイト、サーバ、または他のリモートソースから送信される場合、同軸ケーブル、光ファイバーケーブル、ツイストペア、DSL、または赤外線、無線、およびマイクロ波などのワイヤレス技術は、媒体の定義に含まれる。本明細書で使用するディスク(disk)およびディスク(disc)は、コンパクトディスク(disc)(CD)、レーザーディスク(登録商標)(disc)、光ディスク(disc)、デジタル多用途ディスク(disc)(DVD)、フロッピー(登録商標)ディスク(disk)、およびBlu−ray(登録商標)ディスク(disc)を含み、ディスク(disk)は、通常、データを磁気的に再生し、ディスク(disc)は、データをレーザーで光学的に再生する。したがって、いくつかの態様では、コンピュータ可読媒体は非一時的コンピュータ可読媒体(たとえば、有形媒体)を備え得る。さらに、他の態様では、コンピュータ可読媒体は一時的コンピュータ可読媒体(たとえば、信号)を備え得る。上記の組合せもコンピュータ可読媒体の範囲内に含まれるべきである。
[00147]したがって、いくつかの態様は、本明細書で提示する動作を実行するためのコンピュータプログラム製品を備え得る。たとえば、そのようなコンピュータプログラム製品は、本明細書で説明する動作を実行するために1つまたは複数のプロセッサによって実行可能である命令を記憶した(および/または符号化した)コンピュータ可読媒体を備え得る。いくつかの態様では、コンピュータプログラム製品はパッケージング材料を含み得る。
[00148]さらに、本明細書で説明した方法および技法を実行するためのモジュールおよび/または他の適切な手段は、適用可能な場合にユーザ端末および/または基地局によってダウンロードされ、および/または他の方法で取得され得ることを諒解されたい。たとえば、そのようなデバイスは、本明細書で説明した方法を実施するための手段の転送を可能にするためにサーバに結合され得る。代替的に、本明細書で説明した様々な方法は、ユーザ端末および/または基地局が記憶手段をデバイスに結合または提供すると様々な方法を得ることができるように、記憶手段(たとえば、RAM、ROM、コンパクトディスク(CD)またはフロッピーディスクなどの物理記憶媒体など)によって提供され得る。その上、本明細書で説明した方法および技法をデバイスに与えるための任意の他の好適な技法が利用され得る。
[00149]特許請求の範囲は、上記で示した厳密な構成および構成要素に限定されないことを理解されたい。上記で説明した方法および装置の構成、動作および詳細において、特許請求の範囲から逸脱することなく、様々な改変、変更および変形が行われ得る。
[00149]特許請求の範囲は、上記で示した厳密な構成および構成要素に限定されないことを理解されたい。上記で説明した方法および装置の構成、動作および詳細において、特許請求の範囲から逸脱することなく、様々な改変、変更および変形が行われ得る。
以下に、本願出願の当初の特許請求の範囲に記載された発明を付記する。
[C1]
ニューラルネットワーク内の低減された数のモデルニューロンを選択するための方法であって、
非ゼロ復号ベクトルの第1のスパースセットを生成すること、各復号ベクトルは、第1のニューロンレイヤと第2のニューロンレイヤとの間のシナプスに関連付けられる、と、
前記非ゼロ復号ベクトルに関連付けられる前記第1のニューロンレイヤ内の選択されたモデルニューロンだけで前記ニューラルネットワークを実装することと
を備える、方法。
[C2]
前記生成することは、最小二乗最適化を実行することを備える、
C1に記載の方法。
[C3]
前記最小二乗最適化は、最小絶対値縮小選択演算子(LASSO)正則化を備える、
C2に記載の方法。
[C4]
性能の所望のレベルのために、前記選択されたニューロンの数を低減させるために正則化用語を選択することをさらに備える、
C2に記載の方法。
[C5]
前記選択されたモデルニューロンと、残りのモデルニューロンのための入力シナプス重みの新しいセットとを含むために、前記第1のニューロンレイヤを更新することと、
非ゼロ復号ベクトルの第2のスパースセットを生成すること、各復号ベクトルは、前記更新された第1のニューロンレイヤと前記第2のニューロンレイヤとの間のシナプスに関連付けられる、と、
前記非ゼロ復号ベクトルに関連付けられる前記更新された第1のニューロンレイヤ内の選択されたモデルニューロンの新しいセットだけで前記ニューラルネットワークを実装することと
をさらに備える、C1に記載の方法。
[C6]
更新された第1のニューロンレイヤのプールされたセットを作成するために、前記更新することと生成することとを複数回繰り返すことと、
更新された第1のニューロンレイヤの前記プールされたセットだけで前記ニューラルネットワークを実装することと
をさらに備える、C5に記載の方法。
[C7]
非ゼロ復号ベクトルの最後のスパースセットを生成すること、各復号ベクトルは、更新されたニューロンレイヤの前記プールされたセットと、前記第2のニューロンレイヤとの間のシナプスに関連付けられる、と、
前記非ゼロ復号ベクトルに関連付けられる更新されたニューロンレイヤの前記プールされたセット内のモデルニューロンだけで前記ニューラルネットワークを実装することと
をさらに備える、C6に記載の方法。
[C8]
ニューラルネットワーク内の低減された数のモデルニューロンを選択するための装置であって、
メモリと、
前記メモリに結合された少なくとも1つのプロセッサと
を備え、前記少なくとも1つのプロセッサは、
非ゼロ復号ベクトルの第1のスパースセットを生成すること、各復号ベクトルは、第1のニューロンレイヤと第2のニューロンレイヤとの間のシナプスに関連付けられる、と、
前記非ゼロ復号ベクトルに関連付けられる前記第1のニューロンレイヤ内の選択されたモデルニューロンだけで前記ニューラルネットワークを実装することと
を行うように構成される、装置。
[C9]
前記少なくとも1つのプロセッサは、最小二乗最適化を実行することによって非ゼロ復号ベクトルの前記第1のスパースセットを生成することを行うようにさらに構成される、
C8に記載の装置。
[C10]
前記最小二乗最適化は、最小絶対値縮小選択演算子(LASSO)正則化を備える、
C9に記載の装置。
[C11]
前記少なくとも1つのプロセッサは、性能の所望のレベルのために、前記選択されたニューロンの数を低減させるために正則化用語を選択するようにさらに構成される、
C9に記載の装置。
[C12]
前記少なくとも1つのプロセッサは、
前記選択されたモデルニューロンと、残りのモデルニューロンのための入力シナプス重みの新しいセットとを含むために、前記第1のニューロンレイヤを更新することと、
非ゼロ復号ベクトルの第2のスパースセットを生成すること、各復号ベクトルは、前記更新された第1のニューロンレイヤと前記第2のニューロンレイヤとの間のシナプスに関連付けられる、と、
前記非ゼロ復号ベクトルに関連付けられる前記更新された第1のニューロンレイヤ内の選択されたモデルニューロンの新しいセットだけで前記ニューラルネットワークを実装することと
を行うようにさらに構成される、C8に記載の装置。
[C13]
前記少なくとも1つのプロセッサは、
更新された第1のニューロンレイヤのプールされたセットを作成するために、前記更新することと生成することとを複数回繰り返すことと、
更新された第1のニューロンレイヤの前記プールされたセットだけで前記ニューラルネットワークを実装することと
を行うようにさらに構成される、C12に記載の装置。
[C14]
前記少なくとも1つのプロセッサは、
非ゼロ復号ベクトルの最後のスパースセットを生成すること、各復号ベクトルは、更新されたニューロンレイヤの前記プールされたセットと、前記第2のニューロンレイヤとの間のシナプスに関連付けられる、と、
前記非ゼロ復号ベクトルに関連付けられる更新されたニューロンレイヤの前記プールされたセット内のモデルニューロンだけで前記ニューラルネットワークを実装することと
を行うようにさらに構成される、C13に記載の装置。
[C15]
ニューラルネットワーク内の低減された数のモデルニューロンを選択するための装置であって、
非ゼロ復号ベクトルの第1のスパースセットを生成するための手段、各復号ベクトルは、第1のニューロンレイヤと第2のニューロンレイヤとの間のシナプスに関連付けられる、と、
前記非ゼロ復号ベクトルに関連付けられる前記第1のニューロンレイヤ内の選択されたモデルニューロンだけで前記ニューラルネットワークを実装するための手段と
を備える、装置。
[C16]
前記生成することは、最小二乗最適化を実行することを備える、
C15に記載の装置。
[C17]
前記最小二乗最適化は、最小絶対値縮小選択演算子(LASSO)正則化を備える、
C16に記載の装置。
[C18]
性能の所望のレベルのために、前記選択されたニューロンの数を低減させるために正則化用語を選択するための手段をさらに備える、
C16に記載の装置。
[C19]
前記選択されたモデルニューロンと、残りのモデルニューロンのための入力シナプス重みの新しいセットとを含むために、前記第1のニューロンレイヤを更新するための手段と、
非ゼロ復号ベクトルの第2のスパースセットを生成するための手段、各復号ベクトルは、前記更新された第1のニューロンレイヤと前記第2のニューロンレイヤとの間のシナプスに関連付けられる、と、
前記非ゼロ復号ベクトルに関連付けられる前記更新された第1のニューロンレイヤ内の選択されたモデルニューロンの新しいセットだけで前記ニューラルネットワークを実装するための手段と
をさらに備える、C15に記載の装置。
[C20]
更新された第1のニューロンレイヤのプールされたセットを作成するために、前記更新することと生成することとを複数回繰り返すための手段と、
更新された第1のニューロンレイヤの前記プールされたセットだけで前記ニューラルネットワークを実装するための手段と
をさらに備える、C19に記載の装置。
[C21]
非ゼロ復号ベクトルの最後のスパースセットを生成するための手段、各復号ベクトルは、更新されたニューロンレイヤの前記プールされたセットと、前記第2のニューロンレイヤとの間のシナプスに関連付けられる、と、
前記非ゼロ復号ベクトルに関連付けられる更新されたニューロンレイヤの前記プールされたセット内のモデルニューロンだけで前記ニューラルネットワークを実装するための手段と
をさらに備える、C20に記載の装置。
[C22]
ニューラルネットワーク内の低減された数のモデルニューロンを選択するためのコンピュータプログラム製品であって、
プログラムコードを符号化した非一時的コンピュータ可読媒体を備え、前記プログラムコードは、
非ゼロ復号ベクトルの第1のスパースセットを生成するためのプログラムコード、各復号ベクトルは、第1のニューロンレイヤと第2のニューロンレイヤとの間のシナプスに関連付けられる、と、
前記非ゼロ復号ベクトルに関連付けられる前記第1のニューロンレイヤ内の選択されたモデルニューロンだけで前記ニューラルネットワークを実装するためのプログラムコードと
を備える、コンピュータプログラム製品。
[C23]
最小二乗最適化を実行することによって非ゼロ復号ベクトルの前記第1のスパースセットを生成するためのプログラムコードをさらに備える、
C22に記載のコンピュータプログラム製品。
[C24]
前記最小二乗最適化は、最小絶対値縮小選択演算子(LASSO)正則化を備える、
C23に記載のコンピュータプログラム製品。
[C25]
性能の所望のレベルのために、前記選択されたニューロンの数を低減させるために正則化用語を選択するためのプログラムコードをさらに備える、
C23に記載のコンピュータプログラム製品。
[C26]
前記選択されたモデルニューロンと、残りのモデルニューロンのための入力シナプス重みの新しいセットとを含むために、前記第1のニューロンレイヤを更新するためのプログラムコードと、
非ゼロ復号ベクトルの第2のスパースセットを生成するためのプログラムコード、各復号ベクトルが、前記更新された第1のニューロンレイヤと前記第2のニューロンレイヤとの間のシナプスに関連付けられる、と、
前記非ゼロ復号ベクトルに関連付けられる前記更新された第1のニューロンレイヤ内の選択されたモデルニューロンの新しいセットだけで前記ニューラルネットワークを実装するためのプログラムコードと
をさらに備える、C22に記載のコンピュータプログラム製品。
[C27]
更新された第1のニューロンレイヤのプールされたセットを作成するために、前記更新することと生成することとを複数回繰り返すためのプログラムコードと、
更新された第1のニューロンレイヤの前記プールされたセットだけで前記ニューラルネットワークを実装するためのプログラムコードと
をさらに備える、C26に記載のコンピュータプログラム製品。
[C28]
非ゼロ復号ベクトルの最後のスパースセットを生成するためのプログラムコード、各復号ベクトルが、更新されたニューロンレイヤの前記プールされたセットと、前記第2のニューロンレイヤとの間のシナプスに関連付けられる、と、
前記非ゼロ復号ベクトルに関連付けられる更新されたニューロンレイヤの前記プールされたセット内のモデルニューロンだけで前記ニューラルネットワークを実装するためのプログラムコードと
をさらに備える、C27に記載のコンピュータプログラム製品。

Claims (28)

  1. ニューラルネットワーク内の低減された数のモデルニューロンを選択するための方法であって、
    非ゼロ復号ベクトルの第1のスパースセットを生成すること、各復号ベクトルは、第1のニューロンレイヤと第2のニューロンレイヤとの間のシナプスに関連付けられる、と、
    前記非ゼロ復号ベクトルに関連付けられる前記第1のニューロンレイヤ内の選択されたモデルニューロンだけで前記ニューラルネットワークを実装することと
    を備える、方法。
  2. 前記生成することは、最小二乗最適化を実行することを備える、
    請求項1に記載の方法。
  3. 前記最小二乗最適化は、最小絶対値縮小選択演算子(LASSO)正則化を備える、
    請求項2に記載の方法。
  4. 性能の所望のレベルのために、前記選択されたニューロンの数を低減させるために正則化用語を選択することをさらに備える、
    請求項2に記載の方法。
  5. 前記選択されたモデルニューロンと、残りのモデルニューロンのための入力シナプス重みの新しいセットとを含むために、前記第1のニューロンレイヤを更新することと、
    非ゼロ復号ベクトルの第2のスパースセットを生成すること、各復号ベクトルは、前記更新された第1のニューロンレイヤと前記第2のニューロンレイヤとの間のシナプスに関連付けられる、と、
    前記非ゼロ復号ベクトルに関連付けられる前記更新された第1のニューロンレイヤ内の選択されたモデルニューロンの新しいセットだけで前記ニューラルネットワークを実装することと
    をさらに備える、請求項1に記載の方法。
  6. 更新された第1のニューロンレイヤのプールされたセットを作成するために、前記更新することと生成することとを複数回繰り返すことと、
    更新された第1のニューロンレイヤの前記プールされたセットだけで前記ニューラルネットワークを実装することと
    をさらに備える、請求項5に記載の方法。
  7. 非ゼロ復号ベクトルの最後のスパースセットを生成すること、各復号ベクトルは、更新されたニューロンレイヤの前記プールされたセットと、前記第2のニューロンレイヤとの間のシナプスに関連付けられる、と、
    前記非ゼロ復号ベクトルに関連付けられる更新されたニューロンレイヤの前記プールされたセット内のモデルニューロンだけで前記ニューラルネットワークを実装することと
    をさらに備える、請求項6に記載の方法。
  8. ニューラルネットワーク内の低減された数のモデルニューロンを選択するための装置であって、
    メモリと、
    前記メモリに結合された少なくとも1つのプロセッサと
    を備え、前記少なくとも1つのプロセッサは、
    非ゼロ復号ベクトルの第1のスパースセットを生成すること、各復号ベクトルは、第1のニューロンレイヤと第2のニューロンレイヤとの間のシナプスに関連付けられる、と、
    前記非ゼロ復号ベクトルに関連付けられる前記第1のニューロンレイヤ内の選択されたモデルニューロンだけで前記ニューラルネットワークを実装することと
    を行うように構成される、装置。
  9. 前記少なくとも1つのプロセッサは、最小二乗最適化を実行することによって非ゼロ復号ベクトルの前記第1のスパースセットを生成することを行うようにさらに構成される、
    請求項8に記載の装置。
  10. 前記最小二乗最適化は、最小絶対値縮小選択演算子(LASSO)正則化を備える、
    請求項9に記載の装置。
  11. 前記少なくとも1つのプロセッサは、性能の所望のレベルのために、前記選択されたニューロンの数を低減させるために正則化用語を選択するようにさらに構成される、
    請求項9に記載の装置。
  12. 前記少なくとも1つのプロセッサは、
    前記選択されたモデルニューロンと、残りのモデルニューロンのための入力シナプス重みの新しいセットとを含むために、前記第1のニューロンレイヤを更新することと、
    非ゼロ復号ベクトルの第2のスパースセットを生成すること、各復号ベクトルは、前記更新された第1のニューロンレイヤと前記第2のニューロンレイヤとの間のシナプスに関連付けられる、と、
    前記非ゼロ復号ベクトルに関連付けられる前記更新された第1のニューロンレイヤ内の選択されたモデルニューロンの新しいセットだけで前記ニューラルネットワークを実装することと
    を行うようにさらに構成される、請求項8に記載の装置。
  13. 前記少なくとも1つのプロセッサは、
    更新された第1のニューロンレイヤのプールされたセットを作成するために、前記更新することと生成することとを複数回繰り返すことと、
    更新された第1のニューロンレイヤの前記プールされたセットだけで前記ニューラルネットワークを実装することと
    を行うようにさらに構成される、請求項12に記載の装置。
  14. 前記少なくとも1つのプロセッサは、
    非ゼロ復号ベクトルの最後のスパースセットを生成すること、各復号ベクトルは、更新されたニューロンレイヤの前記プールされたセットと、前記第2のニューロンレイヤとの間のシナプスに関連付けられる、と、
    前記非ゼロ復号ベクトルに関連付けられる更新されたニューロンレイヤの前記プールされたセット内のモデルニューロンだけで前記ニューラルネットワークを実装することと
    を行うようにさらに構成される、請求項13に記載の装置。
  15. ニューラルネットワーク内の低減された数のモデルニューロンを選択するための装置であって、
    非ゼロ復号ベクトルの第1のスパースセットを生成するための手段、各復号ベクトルは、第1のニューロンレイヤと第2のニューロンレイヤとの間のシナプスに関連付けられる、と、
    前記非ゼロ復号ベクトルに関連付けられる前記第1のニューロンレイヤ内の選択されたモデルニューロンだけで前記ニューラルネットワークを実装するための手段と
    を備える、装置。
  16. 前記生成することは、最小二乗最適化を実行することを備える、
    請求項15に記載の装置。
  17. 前記最小二乗最適化は、最小絶対値縮小選択演算子(LASSO)正則化を備える、
    請求項16に記載の装置。
  18. 性能の所望のレベルのために、前記選択されたニューロンの数を低減させるために正則化用語を選択するための手段をさらに備える、
    請求項16に記載の装置。
  19. 前記選択されたモデルニューロンと、残りのモデルニューロンのための入力シナプス重みの新しいセットとを含むために、前記第1のニューロンレイヤを更新するための手段と、
    非ゼロ復号ベクトルの第2のスパースセットを生成するための手段、各復号ベクトルは、前記更新された第1のニューロンレイヤと前記第2のニューロンレイヤとの間のシナプスに関連付けられる、と、
    前記非ゼロ復号ベクトルに関連付けられる前記更新された第1のニューロンレイヤ内の選択されたモデルニューロンの新しいセットだけで前記ニューラルネットワークを実装するための手段と
    をさらに備える、請求項15に記載の装置。
  20. 更新された第1のニューロンレイヤのプールされたセットを作成するために、前記更新することと生成することとを複数回繰り返すための手段と、
    更新された第1のニューロンレイヤの前記プールされたセットだけで前記ニューラルネットワークを実装するための手段と
    をさらに備える、請求項19に記載の装置。
  21. 非ゼロ復号ベクトルの最後のスパースセットを生成するための手段、各復号ベクトルは、更新されたニューロンレイヤの前記プールされたセットと、前記第2のニューロンレイヤとの間のシナプスに関連付けられる、と、
    前記非ゼロ復号ベクトルに関連付けられる更新されたニューロンレイヤの前記プールされたセット内のモデルニューロンだけで前記ニューラルネットワークを実装するための手段と
    をさらに備える、請求項20に記載の装置。
  22. ニューラルネットワーク内の低減された数のモデルニューロンを選択するためのコンピュータプログラム製品であって、
    プログラムコードを符号化した非一時的コンピュータ可読媒体を備え、前記プログラムコードは、
    非ゼロ復号ベクトルの第1のスパースセットを生成するためのプログラムコード、各復号ベクトルは、第1のニューロンレイヤと第2のニューロンレイヤとの間のシナプスに関連付けられる、と、
    前記非ゼロ復号ベクトルに関連付けられる前記第1のニューロンレイヤ内の選択されたモデルニューロンだけで前記ニューラルネットワークを実装するためのプログラムコードと
    を備える、コンピュータプログラム製品。
  23. 最小二乗最適化を実行することによって非ゼロ復号ベクトルの前記第1のスパースセットを生成するためのプログラムコードをさらに備える、
    請求項22に記載のコンピュータプログラム製品。
  24. 前記最小二乗最適化は、最小絶対値縮小選択演算子(LASSO)正則化を備える、
    請求項23に記載のコンピュータプログラム製品。
  25. 性能の所望のレベルのために、前記選択されたニューロンの数を低減させるために正則化用語を選択するためのプログラムコードをさらに備える、
    請求項23に記載のコンピュータプログラム製品。
  26. 前記選択されたモデルニューロンと、残りのモデルニューロンのための入力シナプス重みの新しいセットとを含むために、前記第1のニューロンレイヤを更新するためのプログラムコードと、
    非ゼロ復号ベクトルの第2のスパースセットを生成するためのプログラムコード、各復号ベクトルが、前記更新された第1のニューロンレイヤと前記第2のニューロンレイヤとの間のシナプスに関連付けられる、と、
    前記非ゼロ復号ベクトルに関連付けられる前記更新された第1のニューロンレイヤ内の選択されたモデルニューロンの新しいセットだけで前記ニューラルネットワークを実装するためのプログラムコードと
    をさらに備える、請求項22に記載のコンピュータプログラム製品。
  27. 更新された第1のニューロンレイヤのプールされたセットを作成するために、前記更新することと生成することとを複数回繰り返すためのプログラムコードと、
    更新された第1のニューロンレイヤの前記プールされたセットだけで前記ニューラルネットワークを実装するためのプログラムコードと
    をさらに備える、請求項26に記載のコンピュータプログラム製品。
  28. 非ゼロ復号ベクトルの最後のスパースセットを生成するためのプログラムコード、各復号ベクトルが、更新されたニューロンレイヤの前記プールされたセットと、前記第2のニューロンレイヤとの間のシナプスに関連付けられる、と、
    前記非ゼロ復号ベクトルに関連付けられる更新されたニューロンレイヤの前記プールされたセット内のモデルニューロンだけで前記ニューラルネットワークを実装するためのプログラムコードと
    をさらに備える、請求項27に記載のコンピュータプログラム製品。
JP2016547855A 2014-01-23 2014-12-03 スパースニューラルネットワークを構成すること Pending JP2017509951A (ja)

Applications Claiming Priority (9)

Application Number Priority Date Filing Date Title
US201461930858P 2014-01-23 2014-01-23
US201461930849P 2014-01-23 2014-01-23
US61/930,849 2014-01-23
US61/930,858 2014-01-23
US201461939537P 2014-02-13 2014-02-13
US61/939,537 2014-02-13
US14/449,101 US10339447B2 (en) 2014-01-23 2014-07-31 Configuring sparse neuronal networks
US14/449,101 2014-07-31
PCT/US2014/068449 WO2015112262A1 (en) 2014-01-23 2014-12-03 Configuring sparse neuronal networks

Publications (2)

Publication Number Publication Date
JP2017509951A true JP2017509951A (ja) 2017-04-06
JP2017509951A5 JP2017509951A5 (ja) 2017-12-21

Family

ID=53545086

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2016547861A Pending JP2017509953A (ja) 2014-01-23 2014-12-03 低スパイキングレートのためのニューラルネットワークを構成すること
JP2016547855A Pending JP2017509951A (ja) 2014-01-23 2014-12-03 スパースニューラルネットワークを構成すること

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP2016547861A Pending JP2017509953A (ja) 2014-01-23 2014-12-03 低スパイキングレートのためのニューラルネットワークを構成すること

Country Status (6)

Country Link
US (2) US20150206050A1 (ja)
EP (2) EP3097516A1 (ja)
JP (2) JP2017509953A (ja)
CN (2) CN105900115A (ja)
TW (2) TW201531965A (ja)
WO (2) WO2015112262A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019032833A (ja) * 2017-08-04 2019-02-28 三星電子株式会社Samsung Electronics Co.,Ltd. 固定小数点量子化ニューラルネットワークのための方法及び装置
US11580194B2 (en) 2017-11-01 2023-02-14 Nec Corporation Information processing apparatus, information processing method, and program

Families Citing this family (39)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016187500A1 (en) * 2015-05-21 2016-11-24 Cory Merkel Method and apparatus for training memristive learning systems
CN107609642B (zh) * 2016-01-20 2021-08-31 中科寒武纪科技股份有限公司 计算装置和方法
JP6453785B2 (ja) * 2016-01-21 2019-01-16 日本電信電話株式会社 回帰分析装置、回帰分析方法および回帰分析プログラム
US11151443B2 (en) * 2016-02-05 2021-10-19 Deepmind Technologies Limited Augmenting neural networks with sparsely-accessed external memory
US10643125B2 (en) 2016-03-03 2020-05-05 International Business Machines Corporation Methods and systems of neuron leaky integrate and fire circuits
US11222263B2 (en) 2016-07-28 2022-01-11 Samsung Electronics Co., Ltd. Neural network method and apparatus
CN107239825B (zh) * 2016-08-22 2021-04-09 赛灵思电子科技(北京)有限公司 考虑负载均衡的深度神经网络压缩方法
CN109952581A (zh) 2016-09-28 2019-06-28 D5A1有限责任公司 用于机器学习系统的学习教练
CN110298443B (zh) * 2016-09-29 2021-09-17 中科寒武纪科技股份有限公司 神经网络运算装置及方法
US20180164866A1 (en) * 2016-12-13 2018-06-14 Qualcomm Incorporated Low-power architecture for sparse neural network
US10679118B2 (en) 2016-12-20 2020-06-09 Intel Corporation Solving matrix inverse problems using neuromorphic computing
US10871964B2 (en) * 2016-12-29 2020-12-22 Qualcomm Incorporated Architecture for sparse neural network acceleration
US11551074B2 (en) * 2017-01-20 2023-01-10 Tsinghua University Self-adaptive threshold neuron information processing method, self-adaptive leakage value neuron information processing method, system computer device and readable storage medium
KR102390379B1 (ko) * 2017-03-06 2022-04-26 삼성전자주식회사 뉴럴 네트워크 프로세서, 뉴럴 네트워크 프로세서의 동작 방법, 및 뉴럴 네트워크 장치
US11915152B2 (en) 2017-03-24 2024-02-27 D5Ai Llc Learning coach for machine learning system
CN110914829A (zh) * 2017-04-07 2020-03-24 英特尔公司 使用改进的卷积神经网络用于图像处理的方法和系统
US10795836B2 (en) * 2017-04-17 2020-10-06 Microsoft Technology Licensing, Llc Data processing performance enhancement for neural networks using a virtualized data iterator
EP3699826A1 (en) 2017-04-20 2020-08-26 Shanghai Cambricon Information Technology Co., Ltd Operation device and related products
CN108734279B (zh) * 2017-04-20 2021-04-23 上海寒武纪信息科技有限公司 一种运算装置和方法
CN109146069B (zh) * 2017-06-16 2020-10-13 上海寒武纪信息科技有限公司 运算装置、运算方法和芯片
US20200143240A1 (en) * 2017-06-12 2020-05-07 D5Ai Llc Robust anti-adversarial machine learning
CN107609641B (zh) * 2017-08-30 2020-07-03 清华大学 稀疏神经网络架构及其实现方法
TWI653584B (zh) 2017-09-15 2019-03-11 中原大學 利用非揮發性記憶體完成類神經網路訓練的方法
US10366322B2 (en) 2017-10-06 2019-07-30 DeepCube LTD. System and method for compact and efficient sparse neural networks
CN111738431B (zh) 2017-12-11 2024-03-05 中科寒武纪科技股份有限公司 神经网络运算设备和方法
US10803379B2 (en) 2017-12-12 2020-10-13 Amazon Technologies, Inc. Multi-memory on-chip computational network
US10846621B2 (en) * 2017-12-12 2020-11-24 Amazon Technologies, Inc. Fast context switching for computational networks
CN108268938B (zh) * 2018-01-24 2020-04-21 清华大学 神经网络及其信息处理方法、信息处理系统
US11321612B2 (en) 2018-01-30 2022-05-03 D5Ai Llc Self-organizing partially ordered networks and soft-tying learned parameters, such as connection weights
CN110197272B (zh) * 2018-02-27 2020-08-25 上海寒武纪信息科技有限公司 集成电路芯片装置及相关产品
EP3576019A1 (en) * 2018-05-29 2019-12-04 Nokia Technologies Oy Artificial neural networks
US20200019839A1 (en) * 2018-07-11 2020-01-16 The Board Of Trustees Of The Leland Stanford Junior University Methods and apparatus for spiking neural network computing based on threshold accumulation
CA3051429A1 (en) * 2018-08-08 2020-02-08 Applied Brain Research Inc. Digital circuits for evaluating neural engineering framework style neural networks
US11537855B2 (en) * 2018-09-24 2022-12-27 International Business Machines Corporation Low spike count ring buffer mechanism on neuromorphic hardware
US11922314B1 (en) * 2018-11-30 2024-03-05 Ansys, Inc. Systems and methods for building dynamic reduced order physical models
CN110619905A (zh) * 2019-08-09 2019-12-27 上海集成电路研发中心有限公司 一种基于rram忆阻器单元的集合模块及其形成方法
CN110708341B (zh) * 2019-11-15 2020-09-29 中国科学院信息工程研究所 一种基于远程桌面加密网络流量模式差异的用户行为检测方法及系统
US11556384B2 (en) 2020-03-13 2023-01-17 Cisco Technology, Inc. Dynamic allocation and re-allocation of learning model computing resources
DE102020209538A1 (de) * 2020-07-29 2022-02-03 Robert Bosch Gesellschaft mit beschränkter Haftung Vorrichtung und Verfahren zum Ermitteln einer physikalischen Eigenschaft eines physikalischen Objekts

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030105409A1 (en) 2001-11-14 2003-06-05 Donoghue John Philip Neurological signal decoding
MY138544A (en) 2003-06-26 2009-06-30 Neuramatix Sdn Bhd Neural networks with learning and expression capability
JP4848492B2 (ja) 2006-08-03 2011-12-28 パナソニック電工Sunx株式会社 信号識別方法及び信号識別装置
US8095210B2 (en) 2007-01-19 2012-01-10 California Institute Of Technology Prosthetic devices and methods and systems related thereto
JP5154666B2 (ja) 2008-03-14 2013-02-27 ヒューレット−パッカード デベロップメント カンパニー エル.ピー. ニューロモーフィック回路
US8630966B2 (en) 2009-01-27 2014-01-14 Salk Institute For Biological Studies Temporally dynamic artificial neural networks
US8615476B2 (en) 2009-04-15 2013-12-24 University Of Southern California Protecting military perimeters from approaching human and vehicle using biologically realistic neural network
US8250010B2 (en) 2009-05-21 2012-08-21 International Business Machines Corporation Electronic learning synapse with spike-timing dependent plasticity using unipolar memory-switching elements
US10223632B2 (en) 2009-07-27 2019-03-05 International Business Machines Corporation Modeling states of an entity
US20120117012A1 (en) 2010-04-08 2012-05-10 Neurosciences Research Foundation, Inc. Spike-timing computer modeling of working memory
US20120023051A1 (en) * 2010-07-22 2012-01-26 Ramin Pishehvar Signal coding with adaptive neural network
US8606732B2 (en) 2010-08-04 2013-12-10 Qualcomm Incorporated Methods and systems for reward-modulated spike-timing-dependent-plasticity
US8577820B2 (en) 2011-03-04 2013-11-05 Tokyo Electron Limited Accurate and fast neural network training for library-based critical dimension (CD) metrology
US8521670B2 (en) 2011-05-25 2013-08-27 HGST Netherlands B.V. Artificial neural network application for magnetic core width prediction and modeling for magnetic disk drive manufacture
EP2742467B1 (en) 2011-08-11 2016-07-20 Greenray Industries, Inc. Neural network frequency control
KR101912165B1 (ko) 2011-12-09 2018-10-29 삼성전자주식회사 스파이킹 뉴런 기반 작업 기억 장치
US9111225B2 (en) 2012-02-08 2015-08-18 Qualcomm Incorporated Methods and apparatus for spiking neural computation
US9208431B2 (en) 2012-05-10 2015-12-08 Qualcomm Incorporated Method and apparatus for strategic synaptic failure and learning in spiking neural networks
US20130325767A1 (en) 2012-05-30 2013-12-05 Qualcomm Incorporated Dynamical event neuron and synapse models for learning spiking neural networks
US9367798B2 (en) * 2012-09-20 2016-06-14 Brain Corporation Spiking neuron network adaptive control apparatus and methods
US9367519B2 (en) * 2013-08-30 2016-06-14 Microsoft Technology Licensing, Llc Sparse matrix data structure

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019032833A (ja) * 2017-08-04 2019-02-28 三星電子株式会社Samsung Electronics Co.,Ltd. 固定小数点量子化ニューラルネットワークのための方法及び装置
JP7072464B2 (ja) 2017-08-04 2022-05-20 三星電子株式会社 固定小数点量子化ニューラルネットワークのための方法及び装置
US11588496B2 (en) 2017-08-04 2023-02-21 Samsung Electronics Co., Ltd. Method and apparatus for generating fixed-point quantized neural network
US11580194B2 (en) 2017-11-01 2023-02-14 Nec Corporation Information processing apparatus, information processing method, and program

Also Published As

Publication number Publication date
CN105900115A (zh) 2016-08-24
EP3097516A1 (en) 2016-11-30
US20150206050A1 (en) 2015-07-23
JP2017509953A (ja) 2017-04-06
TW201531965A (zh) 2015-08-16
TW201531966A (zh) 2015-08-16
US10339447B2 (en) 2019-07-02
WO2015112262A1 (en) 2015-07-30
CN105874477A (zh) 2016-08-17
US20150206048A1 (en) 2015-07-23
EP3097519A1 (en) 2016-11-30
WO2015112261A1 (en) 2015-07-30

Similar Documents

Publication Publication Date Title
JP2017509951A (ja) スパースニューラルネットワークを構成すること
JP6130056B2 (ja) スパイキングネットワークの効率的なハードウェア実装
CN107077637B (zh) 神经网络中的差分编码
JP2017525038A (ja) ニューラルネットワークにおける畳込み演算の分解
JP2017513127A (ja) スパイキング深層信念ネットワーク(dbn)におけるトレーニング、認識、および生成
JP6092477B2 (ja) ニューラルダイナミクスを修正するための自動化された方法
JP2017509982A (ja) 原位置ニューラルネットワークコプロセッシング
JP2017515205A (ja) Coldニューロンスパイクタイミングバックプロバゲーション
JP2017509952A (ja) シャドウネットワークでニューラルネットワークを監視すること
JP2016536679A (ja) ニューラルシミュレータ用の共有メモリアーキテクチャ
US20150212861A1 (en) Value synchronization across neural processors
JP2017519268A (ja) スパイキングニューラルネットワークにおけるグローバルスカラ値によって可塑性を調節すること
JP2017509978A (ja) 確率論的スパイキングベイジアンネットワークに関する事象に基づく推論および学習
JP2017514215A (ja) スパイキングニューラルネットワークを使用する画像の不変オブジェクト表現
JP2017509980A (ja) 動的な空間ターゲット選択
JP6219509B2 (ja) シナプス遅延を動的に割り当てることおおよび検査すること
JP6193509B2 (ja) 可塑性シナプス管理
JP2016537711A (ja) スパイキングニューロンのネットワークにおける輻輳回避
JP6133517B2 (ja) 座標変換のための位相コーディング
JP2017509956A (ja) 値をスパイクに変換するための方法
JP2017509979A (ja) 空間ターゲット選択のためのアンバランスな交差抑制メカニズム

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20171110

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20171110

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20181113

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20190702