(57)【要約】  本開示のいくつかの態様は、ニューロンスパイクをフィルタリングする（ドロップする、およびパスする）ために利用され得る、擬似乱数のプログラム可能な確率分布関数を生成するための方法および装置を提供する。本開示は、典型的に使用されるものに比べてよりシンプルで、より小さく、より低い電力回路を提供する。それは、様々な不均一に分布された数のシーケンスのうちのいずれかを生成するようにプログラムされ得る。これらのシーケンスは、真の確率分布を近似することができるが、確率論的な意味で依然としてランダムと考えられるべき、十分な擬似ランダム性を維持する。この回路は、人工神経系をエミュレートするＡＳＩＣチップ内のフィルタブロックの不可欠な部分であり得る。【選択図】図５
2016541038.tif 000002
【特許請求の範囲】
【請求項１】
乱数のシーケンスを生成することと、
プログラム可能な確率分布関数（ＰＤＦ）を用いて擬似乱数の第１のシーケンスを生成するために、前記生成された乱数のシーケンス上でビットレベル演算を実行することと、
乱数の別のシーケンスを生成することと、
プログラム可能なＰＤＦを用いて擬似乱数の第２のシーケンスを生成するために、前記第１のシーケンスと前記他のシーケンスとの間でビットレベル演算を実行することと
を備える、方法。
【請求項２】
前記乱数のシーケンスは、第１の線形フィードバックシフトレジスタ（ＬＦＳＲ）を使用して生成され、
前記乱数の他のシーケンスは、前記第１のＬＦＳＲとは別の第２のＬＦＳＲを使用して生成される、
請求項１に記載の方法。
【請求項３】
前記乱数のシーケンスのビットは、論理積演算され、
前記論理積演算されたビットは、ビットマスク値を取得するために、論理和ゲートのカスケードを通じてパスされる、
請求項１に記載の方法。
【請求項４】
前記第１のシーケンスを生成するために、乱数の前記シーケンスのビットに前記ビットマスク値を適用することをさらに備える、
請求項３に記載の方法。
【請求項５】
乱数の範囲限定シーケンスを取得するために、前記論理和ゲートのカスケードを通じてパスされた前記ビットと第１のビットマスクとの間の論理積演算を実行することをさらに備える、
請求項３に記載の方法。
【請求項６】
白色化された低値部分を有するＰＤＦを用いて乱数の別のシーケンスを取得するために、前記範囲限定シーケンスのビットと第２のビットマスクとの間の論理和演算を実行することをさらに備える、
請求項５に記載の方法。
【請求項７】
制御可能なマルチプレクサを使用して、前記第１のシーケンスを前記第２のシーケンスから切り離すことをさらに備える、
請求項１に記載の方法。
【請求項８】
プログラム可能なＰＤＦを用いて前記擬似乱数の第２のシーケンスを生成するために、前記マルチプレクサの出力、前記第１のシーケンスのビット、および前記他のシーケンスのビットを使用してビットレベル演算を実行することをさらに備える、
請求項７に記載の方法。
【請求項９】
前記第２のシーケンスの前記プログラム可能なＰＤＦを調整するために、前記擬似乱数の第２のシーケンスとビットマスクとの間の論理和演算を実行することをさらに備える、
請求項１に記載の方法。
【請求項１０】
前記擬似乱数の第２のシーケンスの前記ＰＤＦにしたがって、人工神経系の人工ニューロンに関連付けられるスパイクをドロップすることをさらに備える、
請求項１に記載の方法。
【請求項１１】
前記乱数のシーケンスは、第１のゴールドコード発生器を使用して生成され、
前記乱数の他のシーケンスは、前記第１のゴールドコード発生器とは別の第２のゴールドコード発生器を使用して生成される、
請求項１に記載の方法。
【請求項１２】
乱数のシーケンスを生成するように構成された第１の回路と、
プログラム可能な確率分布関数（ＰＤＦ）を用いて擬似乱数の第１のシーケンスを生成するために、前記生成された乱数のシーケンス上でビットレベル演算を実行するように構成された第２の回路と、
乱数の別のシーケンスを生成するように構成された第３の回路と、
プログラム可能なＰＤＦを用いて擬似乱数の第２のシーケンスを生成するために、前記第１のシーケンスと前記他のシーケンスとの間でビットレベル演算を実行するように構成された第４の回路と
を備える、装置。
【請求項１３】
前記乱数のシーケンスを生成するように構成された前記第１の回路は、第１の線形フィードバックシフトレジスタ（ＬＦＳＲ）を備え、
前記乱数の他のシーケンスを生成するように構成された前記第３の回路は、前記第１のＬＦＳＲとは別の第２のＬＦＳＲを備える、
請求項１２に記載の装置。
【請求項１４】
前記第２の回路は、
前記乱数のシーケンスのビット上で論理積演算を実行することと、
ビットマスク値を取得するために、前記論理積演算されたビットを論理和ゲートのカスケードを通じてパスすることと
を行うようにさらに構成される、請求項１２に記載の装置。
【請求項１５】
前記第２の回路は、
前記第１のシーケンスを生成するために、乱数の前記シーケンスのビットに前記ビットマスク値を適用することを行うようにさらに構成される、
請求項１４に記載の装置。
【請求項１６】
前記第２の回路は、
乱数の範囲限定シーケンスを取得するために、前記論理和ゲートのカスケードを通じてパスされた前記ビットと第１のビットマスクとの間の論理積演算を実行することを行うようにさらに構成される、
請求項１４に記載の装置。
【請求項１７】
前記第２の回路は、
白色化された低値部分を有するＰＤＦを用いて乱数の別のシーケンスを取得するために、前記範囲限定シーケンスのビットと第２のビットマスクとの間の論理和演算を実行することを行うようにさらに構成される、
請求項１６に記載の装置。
【請求項１８】
前記第１のシーケンスを前記第２のシーケンスから切り離すことを行うように構成された制御可能なマルチプレクサをさらに備える、
請求項１２に記載の装置。
【請求項１９】
前記第４の回路は、
プログラム可能なＰＤＦを用いて前記擬似乱数の第２のシーケンスを生成するために、前記マルチプレクサの出力、前記第１のシーケンスのビット、および前記他のシーケンスのビットを使用してビットレベル演算を実行することを行うようにさらに構成される、
請求項１８に記載の装置。
【請求項２０】
前記第２のシーケンスの前記プログラム可能なＰＤＦを調整するために、前記擬似乱数の第２のシーケンスと、ビットマスクとの間の論理和演算を実行することを行うように構成された第５の回路をさらに備える、
請求項１２に記載の装置。
【請求項２１】
前記擬似乱数の第２のシーケンスの前記ＰＤＦにしたがって、前記装置を備える人工神経系の人工ニューロンに関連付けられるスパイクをドロップするように構成された第５の回路をさらに備える、
請求項１２に記載の装置。
【請求項２２】
前記乱数のシーケンスを生成するように構成された前記第１の回路は、第１のゴールドコード発生器を備え、
前記乱数の他のシーケンスを生成するように構成された前記第３の回路は、前記第１のゴールドコード発生器とは別の第２のゴールドコード発生器を備える、
請求項１２に記載の装置。
【請求項２３】
乱数のシーケンスを生成するための手段と、
プログラム可能な確率分布関数（ＰＤＦ）を用いて擬似乱数の第１のシーケンスを生成するために、前記生成された乱数のシーケンス上でビットレベル演算を実行するための手段と、
乱数の別のシーケンスを生成するための手段と、
プログラム可能なＰＤＦを用いて擬似乱数の第２のシーケンスを生成するために、前記第１のシーケンスと前記他のシーケンスとの間でビットレベル演算を実行するための手段と
を備える、装置。
【請求項２４】
前記乱数のシーケンスを前記生成するための手段は、第１の線形フィードバックシフトレジスタ（ＬＦＳＲ）を使用するための手段を備え、
前記乱数の他のシーケンスを前記生成するための手段は、前記第１のＬＦＳＲとは別の第２のＬＦＳＲを使用するための手段を備える、
請求項２３に記載の装置。
【請求項２５】
前記乱数のシーケンスのビット上で論理積演算を実行するための手段と、
ビットマスク値を取得するために、前記論理積演算されたビットを論理和ゲートのカスケードを通じてパスするための手段と
をさらに備える、請求項２３に記載の装置。
【請求項２６】
前記第１のシーケンスを生成するために、前記ビットマスク値を、前記乱数のシーケンスのビットに適用するための手段をさらに備える、
請求項２５に記載の装置。
【請求項２７】
乱数の範囲限定シーケンスを取得するために、前記論理和ゲートのカスケードを通じてパスされた前記ビットと、第１のビットマスクとの間の論理積演算を実行するための手段をさらに備える、
請求項２５に記載の装置。
【請求項２８】
白色化された低値部分を有するＰＤＦを用いて乱数の別のシーケンスを取得するために、前記範囲限定シーケンスのビットと、第２のビットマスクとの間の論理和演算を実行するための手段をさらに備える、
請求項２７に記載の装置。
【請求項２９】
制御可能なマルチプレクサを使用して、前記第１のシーケンスを前記第２のシーケンスから切り離すための手段をさらに備える、
請求項２３に記載の装置。
【請求項３０】
プログラム可能なＰＤＦを用いて前記擬似乱数の第２のシーケンスを生成するために、前記マルチプレクサの出力、前記第１のシーケンスのビット、および前記他のシーケンスのビットを使用してビットレベル演算を実行するための手段をさらに備える、
請求項２９に記載の装置。
【請求項３１】
前記第２のシーケンスの前記プログラム可能なＰＤＦを調整するために、前記擬似乱数の第２のシーケンスと、ビットマスクとの間の論理和演算を実行するための手段をさらに備える、
請求項２３に記載の装置。
【請求項３２】
前記擬似乱数の第２のシーケンスの前記ＰＤＦにしたがって、前記装置を備える人工神経系の人工ニューロンに関連付けられるスパイクをドロップするための手段をさらに備える、
請求項２３に記載の装置。
【請求項３３】
前記乱数のシーケンスを前記生成するための手段は、第１のゴールドコード発生器を使用するための手段を備え、
前記乱数の他のシーケンスを前記生成するための手段は、前記第１のゴールドコード発生器とは別の第２のゴールドコード発生器を使用するための手段を備える、
請求項２３に記載の装置。
【請求項３４】
乱数のシーケンスを生成することと、
プログラム可能な確率分布関数（ＰＤＦ）を用いて擬似乱数の第１のシーケンスを生成するために、前記生成された乱数のシーケンス上でビットレベル演算を実行することと、
乱数の別のシーケンスを生成することと、
プログラム可能なＰＤＦを用いて擬似乱数の第２のシーケンスを生成するために、前記第１のシーケンスと前記他のシーケンスとの間でビットレベル演算を実行することと
を行うために実行可能な命令を有する非一時的コンピュータ可読媒体を備える、コンピュータプログラム製品。
【請求項３５】
前記コンピュータ可読媒体は、
第１の線形フィードバックシフトレジスタ（ＬＦＳＲ）を使用することによって、前記乱数のシーケンスを生成することと、
前記第１のＬＦＳＲとは別の第２のＬＦＳＲを使用することによって、乱数の前記他のシーケンスを生成することと
を行うためのコードをさらに備える、請求項３４に記載のコンピュータプログラム製品。
【請求項３６】
前記コンピュータ可読媒体は、
前記乱数のシーケンスのビット上で論理積演算を実行することと、
ビットマスク値を取得するために、前記論理積演算されたビットを論理和ゲートのカスケードを通じてパスすることと
を行うためのコードをさらに備える、請求項３４に記載のコンピュータプログラム製品。
【請求項３７】
前記コンピュータ可読媒体は、
前記第１のシーケンスを生成するために、前記ビットマスク値を、前記乱数のシーケンスのビットに適用するためのコードをさらに備える、
請求項３６に記載のコンピュータプログラム製品。
【請求項３８】
前記コンピュータ可読媒体が、
乱数の範囲限定シーケンスを取得するために、前記論理和ゲートのカスケードを通じてパスされた前記ビットと、第１のビットマスクとの間の論理積演算を実行するためのコードをさらに備える、
請求項３６に記載のコンピュータプログラム製品。
【請求項３９】
前記コンピュータ可読媒体は、
白色化された低値部分を有するＰＤＦを用いて乱数の別のシーケンスを取得するために、前記範囲限定シーケンスのビットと、第２のビットマスクとの間の論理和演算を実行するためのコードをさらに備える、
請求項３８に記載のコンピュータプログラム製品。
【請求項４０】
前記コンピュータ可読媒体は、
制御可能なマルチプレクサを使用して、前記第１のシーケンスを前記第２のシーケンスから切り離すことを行うためのコードをさらに備える、
請求項３４に記載のコンピュータプログラム製品。
【請求項４１】
前記コンピュータ可読媒体は、
プログラム可能なＰＤＦを用いて前記擬似乱数の第２のシーケンスを生成するために、前記マルチプレクサの出力、前記第１のシーケンスのビット、および前記他のシーケンスのビットを使用してビットレベル演算を実行することを行うためのコードをさらに備える、
請求項４０に記載のコンピュータプログラム製品。
【請求項４２】
前記コンピュータ可読媒体は、
前記第２のシーケンスの前記プログラム可能なＰＤＦを調整するために、前記擬似乱数の第２のシーケンスと、ビットマスクとの間の論理和演算を実行することを行うためのコードをさらに備える、
請求項３４に記載のコンピュータプログラム製品。
【請求項４３】
前記コンピュータ可読媒体は、
前記擬似乱数の第２のシーケンスの前記ＰＤＦにしたがって、人工神経系の人工ニューロンに関連付けられるスパイクをドロップするためのコードさらに備える、
請求項３４に記載のコンピュータプログラム製品。
【請求項４４】
前記コンピュータ可読媒体は、
第１のゴールドコード発生器を使用することによって、前記乱数のシーケンスを生成することと、
前記第１のゴールドコード発生器とは別の第２のゴールドコード発生器を使用することによって、前記乱数の他のシーケンスを生成することと
を行うためのコードをさらに備える、請求項３４に記載のコンピュータプログラム製品。
【発明の詳細な説明】
【米国特許法第１１９条による優先権の主張】
【０００１】
[0001]本出願は、２０１３年１０月２日に出願された米国仮特許出願第６１／８８５，９８０号、および２０１４年３月４日に出願された米国特許出願第１４／１９５，９８８号の利益を主張し、その両方は、参照により全体が本明細書に組み込まれる。
【技術分野】
【０００２】
[0002]本開示のいくつかの態様は、一般に人工神経系に関し、より詳細には、ニューロンスパイクをフィルタリングする（ドロップするおよびパスする）ために利用される、擬似乱数のプログラム可能な確率分布関数を生成するための方法および装置に関する。
【背景技術】
【０００３】
[0003]人工ニューロン（すなわち、ニューラル処理ユニット）の相互結合されたグループを備え得る人工ニューラルネットワークは、計算デバイスであるか、または計算デバイスによって実行される方法を表す。人工ニューラルネットワークは、生物学的ニューラルネットワークにおける対応する構造および／または機能を有し得る。しかしながら、人工ニューラルネットワークは、従来の計算技法が厄介、実行不可能または不適切であるいくつかの適用例に革新的で有用な計算技法を提供することができる。人工ニューラルネットワークが観測から機能を推論することができるので、そのようなネットワークは、タスクまたはデータの複雑さが従来の技法による機能の設計を面倒にする適用例において、特に有用である。
【０００４】
[0004]１つのタイプの人工ニューラルネットワークはスパイキングニューラルネットワークであり、これは、それの動作モデルならびにニューロンおよびシナプスの状態に時間の概念を組み込み、それによって、ニューラルネットワークにおける計算機能の発生元となり得る挙動の豊かなセットを提供する。スパイキングニューラルネットワークは、ニューロンがニューロンの状態に基づいて特定の（１つまたは複数の）時間に発火する、または「スパイクする」という概念、および時間がニューロン機能にとって重要であるという概念に基づく。ニューロンが発火するとき、そのニューロンは、他のニューロンに進むスパイクを生成し、他のニューロンは、今度は、このスパイクが受信された時間に基づいてそれらの状態を調整することができる。言い換えれば、ニューラルネットワークにおけるスパイクの相対的タイミングまたは絶対的タイミングで情報が符号化され得る。
【発明の概要】
【０００５】
[0005]本開示のいくつかの態様は、人工神経系動作のための方法を提供する。本方法は、一般に、乱数のシーケンスを生成することと、プログラム可能な確率分布関数（ＰＤＦ）を用いて擬似乱数の第１のシーケンスを生成するために、生成された乱数のシーケンス上でビットレベル演算を実行することと、乱数の別のシーケンスを生成することと、プログラム可能なＰＤＦを用いて擬似乱数の第２のシーケンスを生成するために、第１のシーケンスと他のシーケンスとの間でビットレベル演算を実行することとを含む。
【０００６】
[0006]本開示のいくつかの態様は、人工神経系動作のための装置を提供する。本装置は、一般に、乱数のシーケンスを生成するように構成された第１の回路と、プログラム可能な確率分布関数（ＰＤＦ）を用いて擬似乱数の第１のシーケンスを生成するために、生成された乱数のシーケンス上でビットレベル演算を実行するように構成された第２の回路と、乱数の別のシーケンスを生成するように構成された第３の回路と、プログラム可能なＰＤＦを用いて擬似乱数の第２のシーケンスを生成するために、第１のシーケンスと他のシーケンスとの間でビットレベル演算を実行するように構成された第４の回路とを含む。
【０００７】
[0007]本開示のいくつかの態様は、人工神経系動作のための装置を提供する。本装置は、一般に、乱数のシーケンスを生成するための手段と、プログラム可能な確率分布関数（ＰＤＦ）を用いて擬似乱数の第１のシーケンスを生成するために、生成された乱数のシーケンス上でビットレベル演算を実行するための手段と、乱数の別のシーケンスを生成するための手段と、プログラム可能なＰＤＦを用いて擬似乱数の第２のシーケンスを生成するために、第１のシーケンスと他のシーケンスとの間でビットレベル演算を実行するための手段とを含む。
【０００８】
[0008]本開示のいくつかの態様は、人工神経系動作のためのコンピュータプログラム製品を提供する。本コンピュータプログラム製品は、一般に、乱数のシーケンスを生成することと、プログラム可能な確率分布関数（ＰＤＦ）を用いて擬似乱数の第１のシーケンスを生成するために、生成された乱数のシーケンス上でビットレベル演算を実行することと、乱数の別のシーケンスを生成することと、プログラム可能なＰＤＦを用いて擬似乱数の第２のシーケンスを生成するために、第１のシーケンスと他のシーケンスとの間でビットレベル演算を実行することとを行うために実行可能な命令を有する非一時的コンピュータ可読媒体（たとえば、ストレージデバイス）を含む。
【図面の簡単な説明】
【０００９】
[0009]本開示の上述の特徴が詳細に理解され得るように、添付の図面にその一部が示される態様を参照することによって、上記で簡単に要約された内容のより具体的な説明が得られ得る。ただし、その説明は他の等しく有効な態様に通じ得るので、添付の図面は、本開示のいくつかの典型的な態様のみを示し、したがって、本開示の範囲を限定するものと見なされるべきではないことに留意されたい。
【図１】本開示のいくつかの態様にしたがうニューロンの例示的なネットワークを示す図。
【図２】本開示のいくつかの態様にしたがう、計算ネットワーク（ニューラルシステムまたはニューラルネットワーク）の例示的な処理ユニット（ニューロン）を示す図。
【図３】本開示のいくつかの態様による例示的なスパイクタイミング依存可塑性（ＳＴＤＰ）曲線を示す図。
【図４】本開示のいくつかの態様にしたがう、ニューロンの挙動を定義するための正レジームと負レジームとを示す、人工ニューロンに関する状態の例示的なグラフ。
【図５】本開示のいくつかの態様にしたがう、例示的な簡略化されたプログラム可能な確率密度関数（ＰＤＦ）回路ブロック図。
【図６Ａ】本開示のいくつかの態様にしたがう、ランダム生成されたシーケンスのヒストグラムのグラフの例を示す図。
【図６Ｂ】本開示のいくつかの態様にしたがう、ランダム生成されたシーケンスのヒストグラムのグラフの例を示す図。
【図６Ｃ】本開示のいくつかの態様にしたがう、ランダム生成されたシーケンスのヒストグラムのグラフの例を示す図。
【図６Ｄ】本開示のいくつかの態様にしたがう、ランダム生成されたシーケンスのヒストグラムのグラフの例を示す図。
【図７】本開示のいくつかの態様にしたがう、ニューロンスパイクに関連付けられる所与のドロップレートをサポートするためのクロックサイクル当たりの比較の数の例を示す図。
【図８】本開示のいくつかの態様にしたがう、乱数に対するドロップ確率比較の例示的なブロック図。
【図９】本開示のいくつかの態様による、クロック当たり１６ワードを生成する線形フィードバックシフトレジスタ（ＬＦＳＲ）の例示的なブロック図。
【図１０Ａ】本開示のいくつかの態様にしたがう、ニューロンスパイクのバースト長パス（ｂｕｒｓｔ−ｌｅｎｇｔｈ  ｐａｓｓｅｓ）のための論理の例を示す図。
【図１０Ｂ】本開示のいくつかの態様にしたがう、ニューロンスパイクのバースト長パスのための論理の例を示す図。
【図１１】本開示のいくつかの態様にしたがう、人工神経系を操作するための例示的な動作の流れ図。
【図１１Ａ】図１１に示す動作を実行することが可能な例示的な手段を示す図。
【図１２】本開示のいくつかの態様にしたがう、汎用プロセッサを使用して人工神経系を操作するための例示的な実装形態を示す図。
【図１３】本開示のいくつかの態様にしたがう、メモリが個々の分散処理ユニットとインターフェースされ得る人工神経系を操作するための例示的な実装形態を示す図。
【図１４】本開示のいくつかの態様にしたがう、分散メモリおよび分散処理ユニットに基づいて人工神経系を操作するための例示的な実装形態を示す図。
【図１５】本開示のいくつかの態様にしたがう、ニューラルネットワークの例示的な実装形態を示す図。
【発明を実施するための形態】
【００１０】
[0026]添付の図面を参照しながら本開示の様々な態様について以下でより十分に説明する。ただし、本開示は、多くの異なる形態で実施され得、本開示全体にわたって提示される任意の特定の構造または機能に限定されるものと解釈されるべきではない。むしろ、これらの態様は、本開示が周到で完全になり、本開示の範囲を当業者に十分に伝えるように与えられる。本明細書の教示に基づいて、本開示の範囲は、本開示の任意の他の態様とは無関係に実装されるにせよ、本開示の任意の他の態様と組み合わされるにせよ、本明細書で開示する本開示のいかなる態様をもカバーするものであることを、当業者なら諒解されたい。たとえば、本明細書に記載される態様をいくつ使用しても、装置は実装され得、または方法は実施され得る。さらに、本開示の範囲は、本明細書に記載される本開示の様々な態様に加えてまたはそれらの態様以外に、他の構造、機能、または構造および機能を使用して実施されるそのような装置または方法をカバーするものとする。本明細書で開示する本開示のいずれの態様も、請求項の１つまたは複数の要素によって実施され得ることを理解されたい。
【００１１】
[0027]「例示的」という単語は、本明細書では「例、事例、または例示の働きをすること」を意味するために使用される。「例示的」として本明細書で説明するいかなる態様も、必ずしも他の態様よりも好ましいまたは有利であると解釈されるべきであるとは限らない。
【００１２】
[0028]本明細書では特定の態様について説明するが、これらの態様の多くの変形および置換は本開示の範囲内に入る。好ましい態様のいくつかの利益および利点が説明されるが、本開示の範囲は特定の利益、使用、または目的に限定されるものではない。むしろ、本開示の態様は、様々な技術、システム構成、ネットワーク、およびプロトコルに広く適用可能であるものとし、そのうちのいくつかを例として図および好ましい態様についての以下の説明で示す。発明を実施するための形態および図面は、本開示を限定するものではなく説明するものにすぎず、本開示の範囲は添付の特許請求の範囲およびそれの均等物によって定義される。  
例示的なニューラルシステム
【００１３】
[0029]図１は、本開示のいくつかの態様にしたがう、複数のレベルのニューロンをもつ例示的なニューラルシステム１００を示す。ニューラルシステム１００は、シナプス結合のネットワーク１０４（すなわち、フィードフォワード結合）を介してニューロンの別のレベル１０６に結合されたニューロンのあるレベル１０２を備え得る。簡単のために、図１には２つのレベルのニューロンのみが示されているが、典型的なニューラルシステムには、より少ないまたはより多くのレベルのニューロンが存在し得る。ニューロンのいくつかは、ラテラル結合を介して同じレイヤの他のニューロンに結合し得ることに留意されたい。さらに、ニューロンのいくつかは、フィードバック結合を介して前のレイヤのニューロンに戻る形で結合し得る。
【００１４】
[0030]図１に示すように、レベル１０２における各ニューロンは、前のレベル（図１に図示せず）の複数のニューロンによって生成され得る入力信号１０８を受信し得る。信号１０８は、レベル１０２のニューロンへの入力（たとえば、入力電流）を表し得る。そのような入力は、膜電位を充電するためにニューロン膜上に蓄積され得る。膜電位がそれのしきい値に達すると、ニューロンは、発火し、ニューロンの次のレベル（たとえば、レベル１０６）に転送されるべき出力スパイクを生成し得る。そのような挙動は、アナログおよびデジタル実装形態を含むハードウェアおよび／またはソフトウェアでエミュレートまたはシミュレートされ得る。
【００１５】
[0031]生物学的ニューロンでは、ニューロンが発火するときに生成される出力スパイクは、活動電位と呼ばれる。電気信号は、約１００ｍＶの振幅と約１ｍｓの持続時間とを有する比較的急速で、一時的で、全か無かの神経インパルスである。一連の結合されたニューロンを有するニューラルシステムの特定の態様（たとえば、図１におけるあるレベルのニューロンから別のレベルのニューロンへのスパイクの転送）では、あらゆる活動電位が基本的に同じ振幅と持続時間とを有するので、信号における情報は、振幅によってではなく、スパイクの周波数および数（またはスパイクの時間）によってのみ表される。活動電位によって搬送される情報は、スパイク、スパイクしたニューロン、および１つまたは複数の他のスパイクに対するスパイクの時間によって決定される。
【００１６】
[0032]図１に示すように、あるレベルのニューロンから別のレベルのニューロンへのスパイクの転送は、シナプス結合（または単に「シナプス」）のネットワーク１０４によって達成され得る。シナプス１０４は、レベル１０２のニューロン（シナプス１０４に対するシナプス前ニューロン）から出力信号（すなわち、スパイク）を受信し得る。いくつかの態様では、これらの信号は、調整可能なシナプス重み  
【００１７】
【数１】
2016541038.tif 000003
【００１８】
（ここでＰは、レベル１０２のニューロンとレベル１０６のニューロンとの間のシナプス結合の総数である）に従ってスケーリングされ得る。他の態様では、シナプス１０４は、いかなるシナプス重みをも適用しないことがある。さらに、（スケーリングされた）信号は、レベル１０６における各ニューロン（シナプス１０４に対するシナプス後ニューロン）の入力信号として合成され得る。レベル１０６におけるあらゆるニューロンは、対応する合成された入力信号に基づいて、出力スパイク１１０を生成し得る。出力スパイク１１０は、次いで、シナプス結合の別のネットワーク（図１には図示せず）を使用して、別のレベルのニューロンに転送され得る。
【００１９】
[0033]生物学的シナプスは、電気シナプスまたは化学シナプスのいずれに分類され得る。電気シナプスは、興奮性信号を送るために主に使用される一方、化学シナプスは、シナプス後ニューロンにおける興奮性活動または抑制性（過分極化）活動のいずれかを調停することができ、ニューロン信号を増幅する役目を果たすこともできる。興奮性信号は通常、膜電位を脱分極する（すなわち、静止電位に対して膜電位を増加させる）。しきい値を超えて膜電位を脱分極するために十分な興奮性信号が一定期間内に受信された場合、シナプス後ニューロンに活動電位が生じる。対照的に、抑制性信号は一般に、膜電位を過分極する（すなわち、低下させる）。抑制性信号は、十分に強い場合、興奮性信号のすべてを相殺し、膜電位がしきい値に達するのを防止することができる。シナプス興奮を相殺することに加えて、シナプス抑制は、自然に活発なニューロンに対して強力な制御を行うことができる。自然に活発なニューロンは、たとえば、それのダイナミクスまたはフィードバックに起因するさらなる入力なしにスパイクするニューロンを指す。これらのニューロンにおける活動電位の自然な生成を抑圧することによって、シナプス抑制は、一般にスカルプチャリングと呼ばれる、ニューロンの発火のパターンを形成することができる。様々なシナプス１０４は、望まれる挙動に応じて、興奮性シナプスまたは抑制性シナプスの任意の組合せとして働き得る。
【００２０】
[0034]ニューラルシステム１００は、汎用プロセッサ、デジタル信号プロセッサ（ＤＳＰ）、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）もしくは他のプログラマブル論理デバイス（ＰＬＤ）、個別ゲートもしくはトランジスタ論理、個別ハードウェア構成要素、プロセッサによって実行されるソフトウェアモジュール、またはそれらの任意の組合せによってエミュレートされ得る。ニューラルシステム１００は、たとえば画像およびパターン認識、機械学習、モータ制御など、かなりの適用範囲において利用され得る。ニューラルシステム１００における各ニューロンは、ニューロン回路として実装され得る。出力スパイクを開始するしきい値まで充電されるニューロン膜は、たとえば、そこを通って流れる電流を積分するキャパシタとして実装され得る。
【００２１】
[0035]一態様では、キャパシタは、ニューロン回路の電流積分デバイスとして除去され得、その代わりにより小さいメモリスタ（memristor）要素が使用され得る。この手法は、ニューロン回路において、ならびにかさばるキャパシタが電流積分器として利用される様々な他の適用例において適用され得る。さらに、シナプス１０４の各々は、メモリスタ要素に基づいて実装され得、シナプス重みの変化は、メモリスタ抵抗の変化に関係し得る。ナノメートルの特徴サイズのメモリスタを用いると、ニューロン回路およびシナプスの面積が大幅に低減され得、それによって、非常に大規模なニューラルシステムハードウェア実装形態の実装が実用的になり得る。
【００２２】
[0036]ニューラルシステム１００をエミュレートするニューラルプロセッサの機能は、ニューロン間の結合の強さを制御し得る、シナプス結合の重みに依存し得る。シナプス重みは、パワーダウン後にプロセッサの機能を維持するために、不揮発性メモリに記憶され得る。一態様では、シナプス重みメモリは、主たるニューラルプロセッサチップとは別個の外部チップ上に実装され得る。シナプス重みメモリは、交換可能メモリカードとしてニューラルプロセッサチップとは別個にパッケージ化され得る。これは、ニューラルプロセッサに多様な機能を提供することができ、特定の機能は、ニューラルプロセッサに現在取り付けられているメモリカードに記憶されたシナプス重みに基づき得る。
【００２３】
[0037]図２は、本開示のいくつかの態様にしたがう、計算ネットワーク（たとえば、ニューラルシステムまたはニューラルネットワーク）の処理ユニット（たとえば、人工ニューロン２０２）の一例２００を示す。たとえば、ニューロン２０２は、図１のレベル１０２のニューロンおよび１０６のニューロンのうちのいずれかに対応し得る。ニューロン２０２は、ニューラルシステムの外部にある信号、または同じニューラルシステムの他のニューロンによって生成された信号、またはその両方であり得る、複数の入力信号２０４1〜２０４N（ｘ1〜ｘN）を受信し得る。入力信号は、電流または電圧、実数値または複素数値であり得る。入力信号は、固定小数点表現または浮動小数点表現をもつ数値を備え得る。これらの入力信号は、調整可能なシナプス重み２０６１〜２０６Ｎ（ｗ1〜ｗN）に従って信号をスケーリングするシナプス結合を通してニューロン２０２に伝えられ得、Ｎはニューロン２０２の入力接続の総数であり得る。
【００２４】
[0038]ニューロン２０２は、スケーリングされた入力信号を合成し、合成された、スケーリングされた入力を使用して、出力信号２０８（すなわち、信号ｙ）を生成し得る。出力信号２０８は、電流または電圧、実数値または複素数値であり得る。出力信号は、固定小数点表現または浮動小数点表現をもつ数値を備え得る。出力信号２０８は、次いで、同じニューラルシステムの他のニューロンへの入力信号として、または同じニューロン２０２への入力信号として、またはニューラルシステムの出力として伝達され得る。
【００２５】
[0039]処理ユニット（ニューロン２０２）は電気回路によってエミュレートされ得、それの入力接続および出力接続は、シナプス回路をもつワイヤによってエミュレートされ得る。処理ユニット、それの入力接続および出力接続はまた、ソフトウェアコードによってエミュレートされ得る。処理ユニットはまた、電気回路によってエミュレートされ得るが、それの入力接続および出力接続はソフトウェアコードによってエミュレートされ得る。一態様では、計算ネットワーク中の処理ユニットはアナログ電気回路を備え得る。別の態様では、処理ユニットはデジタル電気回路を備え得る。さらに別の態様では、処理ユニットは、アナログ構成要素とデジタル構成要素の両方をもつ混合信号電気回路を備え得る。計算ネットワークは、上述の形態のいずれかにおける処理ユニットを備え得る。そのような処理ユニットを使用した計算ネットワーク（ニューラルシステムまたはニューラルネットワーク）は、たとえば画像およびパターン認識、機械学習、モータ制御など、かなりの適用範囲において利用され得る。
【００２６】
[0040]ニューラルネットワークをトレーニングする過程で、シナプス重み（たとえば、図１の重み
【００２７】
【数２】
2016541038.tif 000004
【００２８】
および／または図２の重み２０６1〜２０６N）がランダム値により初期化され得、学習ルールに従って増加または減少し得る。学習ルールのいくつかの例として、スパイクタイミング依存可塑性（ＳＴＤＰ）学習ルール、Ｈｅｂｂ則、Ｏｊａ則、Ｂｉｅｎｅｎｓｔｏｃｋ−Ｃｏｐｐｅｒ−Ｍｕｎｒｏ（ＢＣＭ）則などがある。非常に多くの場合、重みは、２つの値のうちの１つに安定し得る（すなわち、重みの双峰分布）。この効果が利用されて、シナプス重み当たりのビット数を低減し、シナプス重みを記憶するメモリとの間の読取りおよび書込みの速度を上げ、シナプスメモリの電力消費量を低減し得る。  
シナプスタイプ
【００２９】
[0041]ニューラルネットワークのハードウェアおよびソフトウェアモデルでは、シナプス関係機能の処理がシナプスタイプに基づき得る。シナプスタイプは、非塑性シナプス（non-plastic synapse）（重みおよび遅延の変化がない）と、可塑性シナプス（重みが変化し得る）と、構造遅延可塑性シナプス（重みおよび遅延が変化し得る）と、完全可塑性シナプス（重み、遅延および結合性が変化し得る）と、それの変形（たとえば、遅延は変化し得るが、重みまたは結合性の変化はない）とを備え得る。これの利点は、処理が再分割され得ることである。たとえば、非塑性シナプスは、可塑性機能を実行すること（またはそのような機能が完了するのを待つこと）を必要とし得ない。同様に、遅延および重み可塑性は、一緒にまたは別々に、順にまたは並列に動作し得る動作に再分割され得る。異なるタイプのシナプスは、適用される異なる可塑性タイプの各々の異なるルックアップテーブルまたは式およびパラメータを有し得る。したがって、本方法は、シナプスのタイプの関係するテーブルにアクセスすることになる。
【００３０】
[0042]また、スパイクタイミング依存構造可塑性がシナプス可塑性とは無関係に実行され得るという事実のさらなる含意がある。構造可塑性（すなわち、遅延量の変化）は前後スパイク時間差（pre-post spike time difference）の直接関数であり得るので、構造可塑性は、重みの大きさに変化がない場合（たとえば、重みが最小値または最大値に達したか、あるいはそれが何らかの他の理由により変更されない場合）でも実行され得る。代替的に、それは、重み変化量に応じて、または重みもしくは重み変化の限界に関係する条件に基づいて設定され得る。たとえば、重み変化が生じたとき、または重みが最大限に達するのではなく、重みがゼロに達した場合のみ、シナプス遅延が変化し得る。しかしながら、これらのプロセスが並列化され、メモリアクセスの数および重複を低減し得るように、独立した機能を有することが有利であり得る。  
シナプス可塑性の決定
【００３１】
[0043]神経可塑性（または単に「可塑性」）は、脳内のニューロンおよびニューラルネットワークがそれらのシナプス結合と挙動とを新しい情報、感覚上の刺激、発展、損傷または機能不全に応答して変える能力である。可塑性は、生物学における学習および記憶にとって、また計算論的神経科学およびニューラルネットワークにとって重要である。（たとえば、Ｈｅｂｂ則理論による）シナプス可塑性、スパイクタイミング依存可塑性（ＳＴＤＰ）、非シナプス可塑性、活性依存可塑性、構造可塑性および恒常的可塑性など、様々な形の可塑性が研究されている。
【００３２】
[0044]ＳＴＤＰは、脳内の場合のようなニューロン間のシナプス結合の強さを調整する学習プロセスである。結合強度は、特定のニューロンの出力スパイクおよび受信入力スパイク（すなわち、活動電位）の相対的タイミングに基づいて調整される。ＳＴＤＰプロセスの下で、あるニューロンに対する入力スパイクが、平均して、そのニューロンの出力スパイクの直前に生じる傾向がある場合、長期増強（ＬＴＰ）が生じ得る。その場合、その特定の入力はいくらか強くなる。対照的に、入力スパイクが、平均して、出力スパイクの直後に生じる傾向がある場合、長期抑圧（ＬＴＤ）が生じ得る。その場合、その特定の入力はいくらか弱くなるので、「スパイクタイミング依存可塑性」と呼ばれる。したがって、シナプス後ニューロンの興奮の原因であり得る入力は、将来的に寄与する可能性がさらに高くなる一方、シナプス後スパイクの原因ではない入力は、将来的に寄与する可能性が低くなる。結合の初期セットのサブセットが残る一方で、その他の部分の影響がゼロまたはゼロの近くまで低減されるまで、このプロセスは続く。
【００３３】
[0045]ニューロンは一般に出力スパイクを、それの入力の多くが短い期間内に生じる（すなわち、出力をもたらすのに十分に累積している）ときに生成するので、通常残っている入力のサブセットは、時間的に相関する傾向のあった入力を含む。さらに、出力スパイクの前に生じる入力は強化されるので、最も早い十分に累積的な相関指示を提供する入力は結局、ニューロンへの最終入力となる。
【００３４】
[0046]ＳＴＤＰ学習ルールは、シナプス前ニューロンのスパイク時間ｔpreとシナプス後ニューロンのスパイク時間ｔpostとの間の時間差（すなわち、ｔ＝ｔpost−ｔpre）に応じて、シナプス前ニューロンをシナプス後ニューロンに結合するシナプスのシナプス重みを効果的に適合させ得る。ＳＴＤＰの通常の公式化は、時間差が正である（シナプス前ニューロンがシナプス後ニューロンの前に発火する）場合にシナプス重みを増加させ（すなわち、シナプスを増強し）、時間差が負である（シナプス後ニューロンがシナプス前ニューロンの前に発火する）場合にシナプス重みを減少させる（すなわち、シナプスを抑制する）ことである。
【００３５】
[0047]ＳＴＤＰプロセスでは、経時的なシナプス重みの変化は通常、以下の式によって与えられるように、指数関数的減衰を使用して達成され得る。  
【００３６】
【数３】
2016541038.tif 000005
ここで、ｋ+およびｋ-はそれぞれ、正の時間差および負の時間差の時間定数であり、ａ+およびａ-は対応するスケーリングの大きさであり、μは正の時間差および／または負の時間差に適用され得るオフセットである。
【００３７】
[0048]図３は、ＳＴＤＰにしたがう、シナプス前スパイクおよびシナプス後スパイクの相対的タイミングに応じたシナプス重み変化の例示的なグラフ３００を示す。シナプス前ニューロンがシナプス後ニューロンの前に発火する場合、グラフ３００の部分３０２に示すように、対応するシナプス重みは増加し得る。この重み増加は、シナプスのＬＴＰと呼ばれ得る。グラフ部分３０２から、シナプス前スパイク時間とシナプス後スパイク時間との間の時間差に応じて、ＬＴＰの量がほぼ指数関数的に減少し得ることが観測され得る。グラフ３００の部分３０４に示すように、発火の逆の順序は、シナプス重みを減少させ、シナプスのＬＴＤをもたらし得る。
【００３８】
[0049]図３のグラフ３００に示すように、ＳＴＤＰグラフのＬＴＰ（原因）部分３０２に負のオフセットμが適用され得る。ｘ軸の交差３０６のポイント（ｙ＝０）は、レイヤｉ−１（シナプス前のレイヤ（presynaptic layer））からの原因入力の相関を考慮して、最大タイムラグと一致するように構成され得る。フレームベースの入力（すなわち、入力は、スパイクまたはパルスを備える特定の持続時間のフレームの形態である）の場合、オフセット値μは、フレーム境界を反映するように計算され得る。直接的にシナプス後電位によってモデル化されるように、またはニューラル状態に対する影響の点で、フレームにおける第１の入力スパイク（パルス）が経時的に減衰することが考慮され得る。フレームにおける第２の入力スパイク（パルス）が特定の時間フレームの相関したまたは関連したものと考えられる場合、フレームの前および後の関連する時間は、その時間フレーム境界で分離され、関連する時間の値が異なり得る（たとえば、１つのフレームよりも大きい場合は負、１つのフレームよりも小さい場合は正）ように、ＳＴＤＰ曲線の１つまたは複数の部分をオフセットすることによって、可塑性の点で別様に扱われ得る。たとえば、曲線が、フレーム時間よりも大きい前後の時間で実際にゼロよりも下になり、結果的にＬＴＰの代わりにＬＴＤの一部であるようにＬＴＰをオフセットするために負のオフセットμが設定され得る。 
ニューロンモデルおよび演算
【００３９】
[0050]有用なスパイキングニューロンモデルを設計するための一般的原理がいくつかある。良いニューロンモデルは、２つの計算レジーム、すなわち、一致検出および関数計算の点で豊かな潜在的挙動を有し得る。その上、良いニューロンモデルは、時間コーディングを可能にするための２つの要素を有する必要がある。すなわち、入力の到着時間は出力時間に影響を与え、一致検出は狭い時間ウィンドウを有し得る。最後に、計算上魅力的であるために、良いニューロンモデルは、連続時間にクローズト形式解を有することができ、ニアアトラクター（near attractor）と鞍点とを含む安定した挙動を有し得る。言い換えれば、有用なニューロンモデルは、実用的なニューロンモデルであり、豊かで、現実的で、生物学的に一貫した挙動をモデル化するために使用され得、神経回路のエンジニアリングとリバースエンジニアリングの両方を行うために使用され得るニューロンモデルである。
【００４０】
[0051]ニューロンモデルは事象、たとえば入力の到着、出力スパイク、または内部的であるか外部的であるかを問わず他の事象に依存し得る。豊かな挙動レパートリーを実現するために、複雑な挙動を示すことができるステートマシンが望まれ得る。入力寄与（ある場合）とは別個の事象の発生自体がステートマシンに影響を与え、事象の後のダイナミクスを制限し得る場合、システムの将来の状態は、単なる状態および入力の関数ではなく、むしろ状態、事象および入力の関数である。
【００４１】
[0052]一態様では、ニューロンｎは、下記のダイナミクスによって決定される膜電圧νn（ｔ）によるスパイキングリーキー積分発火ニューロンとしてモデル化され得る。  
【００４２】
【数４】
2016541038.tif 000006
ここでαおよびβは、パラメータであり、ｗm,nは、シナプス前ニューロンｍをシナプス後ニューロンｎに結合するシナプスのシナプス重みであり、ｙm（ｔ）は、ニューロンｎの細胞体に到着するまでΔｔm,nに従って樹状遅延または軸索遅延によって遅延し得るニューロンｍのスパイキング出力である。
【００４３】
[0053]シナプス後ニューロンへの十分な入力が達成された時間からシナプス後ニューロンが実際に発火する時間までの遅延があることに留意されたい。イジケヴィッチの単純モデルなど、動的スパイキングニューロンモデルでは、脱分極しきい値νtとピークスパイク電圧νpeakとの間に差がある場合、時間遅延が生じ得る。たとえば、単純モデルでは、電圧および復元のための１対の微分方程式、すなわち、  
【００４４】
【数５】
2016541038.tif 000007
によってニューロン細胞体ダイナミクス（neuron soma dynamics）が決定され得る。ここでνは、膜電位であり、ｕは、膜復元変数であり、ｋは、膜電位νの時間スケールを記述するパラメータであり、ａは、復元変数ｕの時間スケールを記述するパラメータであり、ｂは、膜電位νのしきい値下変動に対する復元変数ｕの感度を記述するパラメータであり、νrは、膜静止電位であり、Ｉは、シナプス電流であり、Ｃは、膜のキャパシタンスである。このモデルにしたがって、ニューロンは、ν＞νpeakのときにスパイクすると定義される。  
Ｈｕｎｚｉｎｇｅｒ  Ｃｏｌｄモデル
【００４５】
[0054]Ｈｕｎｚｉｎｇｅｒ  Ｃｏｌｄニューロンモデルは、豊かな様々な神経挙動を再生し得る最小二重レジームスパイキング線形動的モデルである。モデルの１次元または２次元の線形ダイナミクスは２つのレジームを有することができ、時間定数（および結合）はレジームに依存し得る。しきい値下レジームでは、時間定数は、慣例により負であり、一般に生物学的に一貫した線形方式で静止状態に細胞を戻す役目を果たすリーキーチャネルダイナミクスを表す。しきい値上レジームにおける時間定数は、慣例により正であり、一般にスパイク生成のレイテンシを生じさせる一方でスパイク状態に細胞を駆り立てる反リーキーチャネルダイナミクスを反映する。
【００４６】
[0055]図４に示すように、モデルのダイナミクスは２つの（またはそれよりも多くの）レジームに分割され得る。これらのレジームは、負レジーム４０２（リーキー積分発火（ＬＩＦ）ニューロンモデルと混同されないように互換的にＬＩＦレジームとも呼ばれる）および正レジーム４０４（反リーキー積分発火（ＡＬＩＦ）ニューロンモデルと混同されないように互換的にＡＬＩＦレジームとも呼ばれる）と呼ばれ得る。負レジーム４０２では、状態は将来の事象の時点における静止（ν-）の傾向がある。この負レジームでは、モデルは一般に、時間的入力検出特性と他のしきい値下挙動とを示す。正レジーム４０４では、状態はスパイキング事象（νs）の傾向がある。この正レジームでは、モデルは、後続の入力事象に応じてスパイクにレイテンシを生じさせるなどの計算特性を示す。事象の点からのダイナミクスの公式化およびこれら２つのレジームへのダイナミクスの分離は、モデルの基本的特性である。
【００４７】
[0056]線形二重レジーム２次元ダイナミクス（状態νおよびｕの場合）は、慣例により次のように定義され得る。
【００４８】
【数６】
2016541038.tif 000008
【００４９】
ここでｑρおよびｒは、結合のための線形変換変数である。
【００５０】
[0057]シンボルρは、ダイナミクスレジームを示すためにここで使用され、特定のレジームの関係を論述または表現するときに、それぞれ負レジームおよび正レジームについて符号「−」または「＋」にシンボルρを置き換える慣例がある。
【００５１】
[0058]モデル状態は、膜電位（電圧）νおよび復元電流ｕによって定義される。基本形態では、レジームは基本的にモデル状態によって決定される。正確で一般的な定義の微妙だが重要な側面があるが、差し当たり、モデルが、電圧νがしきい値（ν+）を上回る場合に正レジーム４０４にあり、そうでない場合に負レジーム４０２にあると考える。
【００５２】
[0059]レジーム依存時間定数は、負レジーム時間定数であるτ-と正レジーム時間定数であるτ+とを含む。復元電流時間定数τuは通常、レジームから独立している。便宜上、τuと同様に、指数およびτ+が一般に正となる正レジームの場合に、電圧発展（voltage evolution）に関する同じ表現が使用され得るように、減衰を反映するために負の量として負レジーム時間定数τ-が一般に指定される。
【００５３】
[0060]２つの状態要素のダイナミクスは、事象において、ヌルクラインから状態をオフセットする変換によって結合され得、ここで変換変数は、  
【００５４】
【数７】
2016541038.tif 000009
であり、δ、ε、βおよびν-、ν+はパラメータである。νρのための２つの値は、２つのレジームのための参照電圧のベースである。パラメータν-は、負レジームのためのベース電圧であり、膜電位は一般に、負レジームにおいてν-に減衰することになる。パラメータν+は、正レジームのためのベース電圧であり、膜電位は一般に、正レジームにおいてν+から離れる傾向となる。
【００５５】
[0061]νおよびｕのためのヌルクラインは、それぞれ変換変数ｑρおよびｒの負によって与えられる。パラメータδは，ｕヌルクラインの傾きを制御するスケール係数である。パラメータεは通常、−ν-に等しく設定される。パラメータβは、両方のレジームにおいてνヌルクラインの傾きを制御する抵抗値である。τρ時間定数パラメータは、指数関数的減衰だけでなく、各レジームにおいて別個にヌルクラインの傾きを制御する。
【００５６】
[0062]モデルは、電圧νが値νsに達したときにスパイクするように定義される。続いて、状態は通常、（技術的に、スパイク事象と同じ１つのものであり得る）リセット事象でリセットされる。  
【００５７】
【数８】
2016541038.tif 000010
ここで、  
【００５８】
【数９】
2016541038.tif 000011
およびΔｕは、パラメータである。リセット電圧  
【００５９】
【数１０】
2016541038.tif 000012
は通常、ν-にセットされる。
【００６０】
[0063]瞬時結合の原理によって、状態について（また、単一の指数項による）だけではなく、特定の状態に到達するために必要とされる時間についても、クローズト形式解が可能である。クローズト形式状態解は、次のとおりである。  
【００６１】
【数１１】
2016541038.tif 000013
[0064]したがって、モデル状態は、入力（シナプス前スパイク）または出力（シナプス後スパイク）などの事象に伴ってのみ更新され得る。また、演算が（入力があるか、出力があるかを問わず）任意の特定の時間に実行され得る。
【００６２】
[0065]その上、瞬時結合原理によって、反復的技法または数値解法（たとえば、オイラー数値解法）なしに、特定の状態に到達する時間が事前に決定され得るように、シナプス後スパイクの時間が予想され得る。前の電圧状態ν0を踏まえ、電圧状態νfに到達するまでの時間遅延は、次の式によって与えられる。  
【００６３】
【数１２】
2016541038.tif 000014
【００６４】
[0066]スパイクが、電圧状態νがνsに到達する時間に生じると定義される場合、電圧が所与の状態νにある時間から測定されたスパイクが生じるまでの時間量、または相対的遅延に関するクローズト形式解は、次のとおりである。  
【００６５】
【数１３】
2016541038.tif 000015
ここで、  
【００６６】
【数１４】
2016541038.tif 000016
は通常、パラメータν+にセットされるが、他の変形も可能であり得る。
【００６７】
[0067]モデルダイナミクスの上記の定義は、モデルが正レジームにあるか、それとも負レジームにあるかに依存する。上述のように、結合およびレジームρは、事象に伴って計算され得る。状態の伝搬のために、レジームおよび結合（変換）変数は、最後の（前の）事象の時間における状態に基づいて定義され得る。続いてスパイク出力時間を予想するために、レジームおよび結合変数は、次の（最新の）事象の時間における状態に基づいて定義され得る。
【００６８】
[0068]Ｃｏｌｄモデルの、適時にシミュレーション、エミュレーションまたはモデルを実行するいくつかの可能な実装形態がある。これは、たとえば、事象更新モード、ステップ事象更新モード、およびステップ更新モードを含む。事象更新は、（特定の瞬間における）事象または「事象更新」に基づいて状態が更新される更新である。ステップ更新は、間隔（たとえば、１ｍｓ）をおいてモデルが更新される更新である。これは必ずしも、反復的技法または数値解法を必要とするとは限らない。また、事象がステップもしくはステップ間で生じる場合または「ステップ事象」更新によってモデルを更新するのみによって、ステップベースのシミュレータにおいて限られた時間分解能で事象ベースの実装形態が可能である。  
ニューラルコーディング  
[0069]図１の人工ニューロン１０２、１０６から構成されるニューラルネットワークモデルなどの有用なニューラルネットワークモデルは、一致コーディング、時間コーディングまたはレートコーディングなど、様々な好適なニューラルコーディング方式のうちのいずれかを介して情報を符号化することができる。一致コーディングでは、情報は、ニューロン集団の活動電位（スパイキング活動）の一致（または時間的近接度）で符号化される。時間コーディングでは、ニューロンは、絶対時間であるか相対時間であるかを問わず、活動電位（すなわち、スパイク）の正確なタイミングを通して情報を符号化する。したがって、情報は、ニューロン集団の間でスパイクの相対的タイミングで符号化され得る。対照的に、レートコーディングは、発火レートまたは集団発火レートでニューラル情報をコーディングすることを伴う。
【００６９】
[0070]ニューロンモデルは、時間コーディングを実行し得る場合、（レートは単に、タイミングまたはスパイク間の間隔の関数であるので）レートコーディングも実行し得る。時間コーディングを行うために、良いニューロンモデルは２つの要素を有する必要がある。すなわち、（１）入力の到着時間は出力時間に影響を与え、（２）一致検出は狭い時間ウィンドウを有し得る。時間パターンの要素を適切に遅延させることによって、要素はタイミング一致に組み込まれ得るので、結合遅延は、一致検出を時間パターン復号に拡大するための１つの手段を提供する。  
到着時間
【００７０】
[0071]良いニューロンモデルでは、入力の到着の時間は、出力の時間に影響を与えるはずである。シナプス入力は、ディラックのデルタ関数であるか、成形シナプス後電位（ＰＳＰ：shaped post-synaptic potential）であるかを問わず、興奮性（ＥＰＳＰ）であるか、抑制性（ＩＰＳＰ）であるかを問わず、到着時間（たとえば、デルタ関数またはステップもしくは他の入力関数の開始もしくはピークの時間）を有し、これは入力時間と呼ばれ得る。ニューロン出力（すなわち、スパイク）は、（細胞体、軸索に沿ったポイント、または軸索の端部など、どこで測定される場合でも）発生の時間を有し、これは出力時間と呼ばれ得る。出力時間は、スパイクのピークの時間、スパイクの開始の時間、または出力波形に関係する任意の他の時間であり得る。支配的原理は、出力時間が入力時間に依存することである。
【００７１】
[0072]一見したところ、すべてのニューロンモデルがこの原理に従うと思われるかもしれないが、これは一般には当てはまらない。たとえば、レートベースのモデルは、この特徴を有しない。多くのスパイキングモデルも、一般には適合しない。リーキー積分発火（ＬＩＦ）モデルは、（しきい値を越えて）追加の入力がある場合にさらに速く発火することはない。その上、非常に高いタイミング分解能でモデル化された場合に適合する可能性があるモデルは多くの場合、タイミング分解能がたとえば１ｍｓのステップに限定されているときに適合しない。  
入力
【００７２】
[0073]ニューロンモデルへの入力はディラックのデルタ関数、たとえば電流としての入力または伝導性ベースの入力を含み得る。後者の場合、ニューロン状態への寄与は連続的または状況依存的であり得る。  
ニューロンスパイクをフィルタリングするための、擬似乱数のプログラム可能な確率分布関数を生成するための簡略化された回路
【００７３】
[0074]特定用途向け集積回路（ＡＳＩＣ）の設計では、値の特定で不均一な分布の乱数のシーケンスの生成は実現することが困難な場合がある。線形フィードバックシフトレジスタ（ＬＦＳＲ）は均一に分布された数を生成することができる（そして十分に特徴付けされている）が、それらは確率分布を用いて数のシーケンスを直接生成することができない。典型的な実装形態は、領域および電力集約型乗算器の使用、ならびにＬＦＳＲに続くフィルタを必要とする。
【００７４】
[0075]本開示のいくつかの態様は、典型的に使用されるものに比べてよりシンプルで、より小さく、より低い電力回路をサポートする。それは、様々な不均一に分布された数のシーケンスのうちのいずれかを生成するようにプログラムされ得る。これらのシーケンスは、真の確率分布を近似することができるが、確率論的な意味で依然としてランダムと考えられるべき、十分な擬似ランダム性を維持する。
【００７５】
[0076]本開示のいくつかの態様によれば、提示された回路は、図１に示される人工神経系１００などの人工神経系をエミュレートするＡＳＩＣ回路の視覚野部分内のフィルタブロックの不可欠な部分であり得る。擬似乱数のプログラム可能な確率分布関数を生成するために提示された回路は、ニューロンスパイクをフィルタリングする（ドロップする、およびパスする）ために利用され得る。  
確率的アルゴリズム−簡略化されたプログラム可能な確率密度関数
【００７６】
[0077]簡略化されたプログラム可能な確率密度関数（ＰＤＦ）に基づく方法は、「次のドロップまでの長さ」ならびに「ドロップ長」を示すバースト長コード化シーケンスを生成し得る。次のフェッチのアドレスは、「次のドロップまで」適切にインクリメントされ得、次いで、次のアドレスへのスキップとして「ドロップ長」が追加され得る。
【００７７】
[0078]図５は、ゲートの最小値を使用しながら、ＰＤＦプロファイルへの重大なプログラム可能性を可能にし得る実装形態の例示的なブロック図５００を示している。ＰＤＦは、数の完全に均一な分布を生成することから、非常に低い分布を有するものに調整され得る。ブルートフォース（ｂｒｕｔｅ  ｆｏｒｃｅ）確率的手法とは対照的に、この実装形態では、１つの比較器さえも使用されない。
【００７８】
[0079]０と２N−１との間の数値の範囲、またはＮ個の出力ビットを生成したいという要望を考慮すると、長さがＮ＋１から０に至るまでの累計積算（ＣＳＵＭ）（たとえば、Ｎ＝４の場合、ＣＳＵＭ＝４＋３＋２＋１＝１０）である線形フィードバックシフトレジスタ（ＬＦＳＲ）５０２は、乱数のシーケンスを生成するために実装される。ＬＦＳＲ５０２は、クロックサイクル当たり１つの新しいビットか、またはより低い相関操作のために多くのビットを生成することができる。ＬＦＳＲ５０２からの様々な数のビット５０４は、Ｎビットワード５０６を形成するためにともに論理積演算され得、ＬＳＢは、最小数の論理積演算されたＬＦＳＲビットを使用し得、ＭＳＢは最大のともに論理積演算されたビットを使用し得る。出力ビット当たりの論理積５０８の線形増加数は図５に示されているが、ＰＤＦのより低い分布限界は、論理積の数を一層増加することによって達成され得る。
【００７９】
[0080]この第１のＬＦＳＲ５０２の出力のＰＤＦに加えて論理積の減少（ＡＮＤ  ｒｅｄｕｃｔｉｏｎ）（Ｎビットワード５０６）が、図６Ａのグラフ６００における線６０２によって示されている。図示されるように、これはそれほど有用な分布ではない。しかしながら、これらの値は、円６０４によって示されるＰＤＦを生成するために、ＭＳＢからＬＳＢに論理和ゲート５１０のカスケードを通じてパスされ得る。基本的に、このカスケード式論理和演算はオクターブ範囲を統合して、それらを単一の値に割り当てる。
【００８０】
[0081]この値（すなわち、図５における値５１２）を、別個のＬＦＳＲの均一に分布された出力ためのビットマスクとして使用することによって、図６Ａのグラフ６００における線６０６によって示される正規分布を近似するＰＤＦを提供し得る。図５のブロック図５００に示されるように、任意の信号を修正するための任意のビットマスクなしに、図５のビット５０６のＰＤＦは３．９１７５の平均を有する。
【００８１】
[0082]図６Ａの分布６０６における高値は、図５に示される論理積−ビットマスク５１４を利用することによって除去され得る。たとえば、「０ｘ１Ｆ」の値を設定することは、出力値を０から３１に制限し得る。これは図６Ｂ、線６０８に示されており、それは数の範囲限定シーケンス（図５のビット５１６）を示している。
【００８２】
[0083]図６ＡのＰＤＦ６０６の低値部分は、図５の図１のＬＦＳＲの出力に適用される図５に示される論理和ビットマスク５１８を使用して、より高い範囲を通じて平坦化（白色化）され得る。図６Ｃは、図５に示される数（ビット）５２０のＰＤＦの平坦化（白色化）された低値部分の例示的なグラフを示している。
【００８３】
[0084]図５の出力論理和マスク５２７は値の範囲を強制し得る。たとえば、「０×２０」に設定されている（８ビット出力値を仮定する）場合、ＰＤＦは、中間値のパターンも不足していることになるが、０×２０から０×ＦＦまでの値だけを含むことになる。したがって、ＰＤＦは［０×２０：０×３Ｆ、０×６０：０×７Ｆ、０×Ａ０：０×ＢＦ、０×Ｅ０：０×ＦＦ］を備えることになる。範囲限定シーケンスを示す図６Ｄに示されるように、結果のＰＤＦに正規分布包絡線が依然として存在するであろう点が留意されるべきである。必ずしも範囲、特に低い番号の範囲を除去することが望ましいとは限らない点にも留意されたい。
【００８４】
[0085]図５のブロック図５００もまた、マルチプレクサ５２４を駆動している「プログラム可能な選択」レジスタ５２２を示している。この論理は、第２のＬＦＳＲ５２８のＮビット（最終）出力５２６から第１段階のＮビット出力５２０を切り離す。出力ビットの数を増加させることができ（たとえば、ＮからＮ＋２に）、より高いビットが様々な確率のうちの１つを使用することを可能にする。これは、ＬＦＳＲ５０２または論理積の減少ゲート５０８を成長させることなしに、出力の動的な範囲を増加することを可能にし得る。このレベルでの制御は、１％を下回る分解能を有する微調整ドロップ確率（すなわち、人工神経系においてスパイクをドロップする確率）を助けることができる。  
代替実装形態およびトレードオフ  
帯域幅減少−ブルートフォース設計
【００８５】
[0086]帯域幅削減のための最も簡単な手段（すなわち、スパイクの減少）は、個々のスパイクごとに０から１００％を表す擬似ランダムシーケンスと比較するために、スパイクドロップ率を計算することであり得る。乱数がドロップ率を超えると、ニューロンスパイクがパスされる。ＣＬＳフェッチマネージャが１００％に近い帯域幅を維持することを確実にするために、ＳＮＳフィルタは、平均でクロック当たり１スパイク（またはそれ以上）を送る必要がある場合がある。したがって、５０％スパイクドロップレートをサポートするために、クロック当たり少なくとも２つのドロップ確率チェックが実行される必要がある場合があり、９０％スパイクドロップレートのために、１０の比較が必要とされ得、９９％スパイクドロップレートのために１００の比較が必要とされ得る。これは、図７の表７００に示されている。
【００８６】
[0087]図８の例示的なブロック図８００は、Ｎ個の同時比較を示している。比較ビット幅（ＢＷ）の場合、ドロップおそらく分解能は２-BWである。たとえば、８ビット比較は２-8＝０．４％分解能を提供し、１０ビット比較は０．１％分解能を提供する。
【００８７】
[0088]乱数のシーケンスを生成するように構成されたＬＦＳＲは、実装することが簡単であり得る。ＬＦＳＲは、単一のクロックサイクル内のシーケンスにおいて複数の連続したワードを生成するために容易に修正され得る。これは、コードワードがまだ計算されていない状態ビットに依存しているときに複雑になる場合があり、したがって「先読み（ｌｏｏｋ−ａｈｅａｄ）」タイプの論理評価が実行される必要があり得る。複雑な先読みは、最下位の用語が、各サイクルで生成されるべき擬似ランダムワードの数よりもさらに大きい多項式を選ぶことによって回避され得る。たとえば、ビット２７および３０の排他的否定論理和が、任意の先読みを追加することなしに、各クロックで２８コードワードが生成されることを可能にし得る、３１ビットＬＦＳＲが構成され得る。一方、ビット３１、２１、１、および０の排他的否定論理和が、後続のコードワードのためにその結果を使用することなしに、その次のコードワードだけを生成し得る、３２ビットＬＦＳＲが構成され得る。これは、多数の同時ワードのタイミング収束に影響を与える可能性がある。あるいは、ビットの異なる順列は、同じＬＦＳＲ状態から追加のワードを生成するためにＬＦＳＲにおいて利用され得る。実際には、ＬＦＳＲから採取された任意の値は、１（１’ｓ）および０（０’ｓ）のバーストのシフトされたバージョンから発生する相関を回避するために順序変更されるべきである。さらに、本開示のいくつかの態様によれば、これに限定されないが、ゴールドコード発生器（ＧＣＧ）などのより複雑なＬＦＳＲベースのコード発生器が単純なＬＦＳＲの代わりに利用され得る。ＧＣＧを使用することによって、生成されたコードワード間の相関が減少されてもよく、完全に回避されてもよい。
【００８８】
[0089]図９は、本開示のいくつかの態様にしたがう、クロックサイクル当たり１６ワードを生成し得る、３１ビットＬＦＳＲの例示的なブロック図９００を示したものである。図９に示されるように、ビット２７および３０の排他的否定論理和は、任意の先読みを追加することなしに、各クロックで１６コードワードが生成されることを可能にし得る。
【００８９】
[0090]比較結果の決定ベクトル（ＤＶ）（たとえば、図８のブロック図８００に示されるＤＶ）をアドレス／長さ出力ワードに変換する最も論理的に単純な方法は、長さ＝１およびアドレスフィールドを有する一連のワードを生成することであり得、いくつかの基準値は、インデックスを「パス」（すなわち、ドロップしない）を示す比較結果の各々に足す。この方法は、「長さ−１パス（Ｌｅｎｇｔｈ−１  Ｐａｓｓｅｓ）」と呼ばれ得る。これは、最大数のスパイクリストを生成することができ（長さの各々が１であるにもかかわらず）、ワードダウンストリームごとに任意のオーバーヘッドがある場合には、システムに影響を与える場合がある。また、すべての比較がそのクロックサイクルのドロップを示す場合、デッドタイムダウンストリームのために、これはわずかに高い実際のスパイクドロップレートを引き起こす可能性がある。
【００９０】
[0091]あるいは、ＤＶにおけるパスのバーストの長さを決定して、出力ワードの長さが１よりも大きくなるようにすることによって、何らかのリスト効率を維持することが有益であろう。この方法は、「バースト長パス（Ｂｕｒｓｔ−Ｌｅｎｇｔｈ  Ｐａｓｓｅｓ）」と呼ばれ得る。この方法は、デッドタイムダウンストリームの可能性を排除することを除いて、クロックサイクル当たり１よりも高いパスされたスパイクを可能にする。
【００９１】
[0092]本開示のある態様では、「バースト長パス」は、決定ベクトルへの様々なビットレベル修正に基づいて実装され得る。「Ｎ」がクロック当たりの比較の数を表す場合（図７の表７００から）、ＤＶはＤＶ［Ｎ−１：０］として定義されることになり、「１」がドロップを表し、０がパスを表す。また、ＤＶのＬＳＢは、スパイクリストの先頭の決定を表し得、ＭＳＢは後者／下位である。次いで、ＤＶワード内の「０１」ビットの任意のシーケンスは、バーストの先頭にフラグ付けすることになり、「１０」は終了を表す。したがって、  
ＢＵＲＳＴ＿ＳＴＡＲＴＳ＝｛ＤＶ［Ｎ−２：０］，１’ｂ０｝＆（！ＤＶ［Ｎ−１：０］）；      （１）  
および  
ＢＵＲＳＴ＿ＥＮＤＳ＝！ＤＶ［Ｎ−１：０］＆｛ＤＶ［Ｎ−２：０］,１’ｂ０｝；      （２）  
Ｎ個の比較の１つのセットから次へのキャリーオーバーがないので、任意の事前バーストの完了を表すＬＳＢの下に１’ｂ０を連結することができる。
【００９２】
[0093]これらの条件から、以下を使用して第１のバーストのアドレスへのオフセットが計算され得る。  
ＢＵＲＳＴ＿ＡＤＤＲ＿ＯＦＳＴ  ＝  ＳＵＭ（ＣＡＳＣＡＤＥＤ＿ＡＮＤ（！ＢＵＲＳＴ＿ＳＴＡＲＴＳ））；      （３）  
上式で、ＣＡＳＣＡＤＥＤ＿ＡＮＤ関数からもたらされる各ビットは、それ自体の下にあるすべての入力ビットのサブ範囲の論理積の減少である（すなわち、ｒｅｓｕｌｔ［ｂｉｔ］＝ＡＮＤ＿ＲＥＤＵＣＥＤ（ｉｎｐｕｔ［ｂｉｔ：０］））。一般に、ＣＡＳＣＡＤＥＤ＿ＡＮＤ関数の結果は、アドレスのサーモメーターコード化されたバージョンであり得、ＳＵＭは数値符号化に変換する。  
同様の計算は以下を提供する。  
ＢＵＲＳＴ＿ＥＮＤ＿ＯＦＳＴ  ＝  ＳＵＭ（ＣＡＳＣＡＤＥＤ＿ＡＮＤ（！ＢＵＲＳＴ＿ＥＮＤＳ））；      （４）
【００９３】
[0094]しかしながら、そこからアドレスが生成した長さを減算するこの和を取るのではなく、２つのＣＡＳＣＡＳＥＤ＿ＡＮＤ関数の結果をビット排他的論理和して、以下を計算する減算を回避することができる。
ＢＵＲＳＴ＿ＬＥＮＧＴＨ  ＝  ＳＵＭ（ＣＡＳＣＡＤＥＤ＿ＡＮＤ（！ＢＵＲＳＴ＿ＳＴＡＲＴＳ）＾ＣＡＳＣＡＤＥＤ＿ＡＮＤ（！ＢＵＲＳＴ＿ＥＮＤＳ））；      （５）
【００９４】
[0095]スパイクドロップレートによって修正されたアドレスおよび長さを有するので、出力ワードのＣＬＳフィールドは、適切なベースアドレスに加えてバーストアドレスオフセットから、限られた長さのバーストを示すように修正され得る。単一のＤＶは複数のバーストを含むことができるので（たとえば、ニューロンスパイクのバースト）、次のバーストを検索することが必要とされ得る。出力レートはクロックサイクル当たり１つのスパイクリストに限定されているので、ＤＶにおける以前のバーストだけを除去することが必要であり得る。
ＤＶ＿ＮＥＸＴ  ＝  ＤＶ｜（｛ＣＡＳＣＡＤＥＤ＿ＡＮＤ（！ＢＵＲＳＴ＿ＥＮＤＳ ）,１’ｂ１｝）；      （６）
【００９５】
[0096]ある態様では、意味があるようにビットの位置を合わせるために、最後に１’ｂ１を連結することが可能であろう。１と等しいＡＮＤ＿ＲＥＤＵＣＥＤ（ＤＶ＿ＮＥＸＴ）は、さらなるバーストがないことを示し、したがって、比較結果の次のセット（新鮮なＤＶ）を代わりにロードして、ＬＦＳＲの状態を進めることになる。
【００９６】
[0097]上記の論理（特に「ＣＡＳＣＡＤＥＤ」関数）の非最適化された実装形態は、論理レベルのより高い数につながるように見えることがある。しかしながら、ツールは先読み型の最適化を追加することができる。あるいは、これらの関数の直前または直後のレジスタ段階は、必要に応じてタイミングを向上させることができる。
【００９７】
[0098]図１０Ａ〜図１０Ｂは、同じＬＦＳＲ値の２つの反復のための論理実装形態を示している。例ＤＶ＝８’ｂ１０１０１１００を使用する期待値は、説明を容易にするために含まれている。単一のバーストが複数のクロックサイクルを横断することを許可しないこと（すなわち、長さの蓄積がない）は、ＤＶの最初と最後の両方に「ドロップ」を連結することによってモデル化され得る。これらのビットは以下の論理を容易にするためにのみ機能し、論理合成ツールは定数を伝播するので、図１０Ａの図中のテキスト１０００は、値の実際の情報搬送部分を示している。
【００９８】
[0099]図１０Ｂは、次のクロックサイクル上の同じハードウェアを示しているが、次のバーストを処理する。第２の反復を開始することができるように、第１のバースト表示はＤＶから削除されている。テキスト１００２は、ＤＶが更新された後に変更された値を意味する。
【００９９】
[0100]図１１は、本開示のいくつかの態様にしたがう、人工神経系を操作するための例示的な動作１１００の流れ図である。動作１１００は、ハードウェアにおいて（たとえば、神経形態学的プロセッサなどの１つまたは複数のニューラル処理ユニットによって）、ソフトウェアにおいて、またはファームウェアにおいて実行され得る。人工神経系は、視覚神経系、聴覚神経系、海馬などのような様々な生物学上または想像上の神経系のうちのいずれかでモデル化され得る。
【０１００】
[0101]１１０２で、乱数のシーケンスを生成することによって、演算１１００が開始し得る。１１０４で、ビットレベル演算は、プログラム可能な確率分布関数（ＰＤＦ）を用いて擬似乱数の第１のシーケンスを生成するために、乱数の生成されたシーケンス上で実行され得る。１１０６で、乱数の別のシーケンスが生成され得る。１１０８で、プログラム可能を用いて擬似乱数の第２のシーケンスを生成するために、第１のシーケンスと他のシーケンスとの間でビットレベル演算が実行され得る。本開示のいくつかの態様は、擬似乱数の第２のシーケンスのＰＤＦにしたがって、すなわち、図５のブロック図５００のビットシーケンス５２６のＰＤＦに基づいて、人工神経系（たとえば、図１の人工神経系１００）の人工ニューロンに関連付けられるスパイクをドロップすることをサポートする。
【０１０１】
[0102]図１２は、本開示のいくつかの態様にしたがう、汎用プロセッサ１２０２を使用して人工神経系を操作するための上述した方法の例示的なブロック図１２００を示す。計算ネットワーク（ニューラルネットワーク）に関連する変数（ニューラル信号）、シナプス重み、および／またはシステムパラメータは、メモリブロック１２０４に記憶され得る一方、汎用プロセッサ１２０２において実行される関連した命令は、プログラムメモリ１２０６からロードされ得る。本開示のある態様では、汎用プロセッサ１２０２にロードされた命令は、一般に、乱数のシーケンスを生成して、プログラム可能な確率分布関数（ＰＤＦ）を用いて擬似乱数の第１のシーケンスを生成するために、生成された乱数のシーケンス上でビットレベル演算を実行して、乱数の別のシーケンスを生成して、プログラム可能なＰＤＦを用いて擬似乱数の第２のシーケンスを生成するために、第１のシーケンスと他のシーケンスとの間でビットレベル演算を実行するためのコードとを備え得る。
【０１０２】
[0103]図１３は、本開示のいくつかの態様にしたがう、メモリ１３０２が相互接続ネットワーク１３０４を介して計算ネットワーク（ニューラルネットワーク）の個々の（分散型）処理ユニット（ニューラルプロセッサ）１３０６とインターフェースされ得る人工神経系を操作するための上述した方法の例示的なブロック図１３００を示す。計算ネットワーク（ニューラルネットワーク）に関連する変数（ニューラル信号）、シナプス重み、および／またはシステムパラメータは、メモリ１３０２に記憶されてよく、相互接続ネットワーク１３０４の接続を介してメモリ１３０２から各処理ユニット（ニューラルプロセッサ）１３０６にロードされ得る。本開示のある態様では、処理ユニット１３０６は、乱数のシーケンスを生成して、プログラム可能な確率分布関数（ＰＤＦ）を用いて擬似乱数の第１のシーケンスを生成するために、生成された乱数のシーケンス上でビットレベル演算を実行して、乱数の別のシーケンスを生成して、プログラム可能なＰＤＦを用いて擬似乱数の第２のシーケンスを生成するために、第１のシーケンスと他のシーケンスとの間でビットレベル演算を実行するように構成され得る。
【０１０３】
[0104]図１４は、本開示のいくつかの態様にしたがう、分散型重みメモリ１４０２および分散型処理ユニット（ニューラルプロセッサ）１４０４に基づいて人工神経系を操作するための上述した方法の例示的なブロック図１４００を示す。図１４に示すように、１つのメモリバンク１４０２が、計算ネットワーク（ニューラルネットワーク）の１つの処理ユニット１４０４と直接インターフェースされてよく、メモリバンク１４０２は、その処理ユニット（ニューラルプロセッサ）１４０４に関連する変数（ニューラル信号）、シナプス重み、および／またはシステムパラメータを記憶することができる。本開示のある態様では、処理ユニット１４０４は、乱数のシーケンスを生成して、プログラム可能な確率分布関数（ＰＤＦ）を用いて擬似乱数の第１のシーケンスを生成するために、生成された乱数のシーケンス上でビットレベル演算を実行して、乱数の別のシーケンスを生成して、プログラム可能なＰＤＦを用いて擬似乱数の第２のシーケンスを生成するために、第１のシーケンスと他のシーケンスとの間でビットレベル演算を実行するように構成され得る。
【０１０４】
[0105]図１５は、本開示のいくつかの態様にしたがう、ニューラルネットワーク１５００の例示的な実装形態を示す。図１５に示すように、ニューラルネットワーク１５００は、上述した方法の様々な動作を実行し得る複数のローカル処理ユニット１５０２を備えることができる。各処理ユニット１５０２は、ローカル状態メモリ１５０４と、ニューラルネットワークのパラメータを記憶するローカルパラメータメモリ１５０６とを備えることができる。さらに、処理ユニット１５０２は、ローカル（ニューロン）モデルプログラムを有するメモリ１５０８と、ローカル学習プログラムを有するメモリ１５１０と、ローカル接続メモリ１５１２とを備えることができる。さらに、図１５に示すように、各ローカル処理ユニット１５０２は、ローカル処理ユニットのローカルメモリのための設定を提供し得る設定処理のためのユニット１５１４と、またローカル処理ユニット１５０２間のルーティングを提供するルーティング接続処理要素１５１６とインターフェースされ得る。
【０１０５】
[0106]本開示のいくつかの態様によれば、各ローカル処理ユニット１５０２は、ニューラルネットワークの所望の１つまたは複数の機能的特徴に基づいてニューラルネットワークのパラメータを決定し、決定されたパラメータがさらに適合、調整および更新されることで、１つまたは複数の機能的特徴を所望の機能的特徴に向けて発展させるように構成され得る。
【０１０６】
[0107]上述した方法の様々な動作は、対応する機能を実行することが可能な任意の好適な手段によって実行され得る。それらの手段は、限定はしないが、回路、特定用途向け集積回路（ＡＳＩＣ）、またはプロセッサを含む、様々なハードウェアおよび／またはソフトウェア構成要素および／またはモジュールを含み得る。たとえば、様々な動作は、図１２〜図１５に示す様々なプロセッサのうちの１つまたは複数によって実行され得る。概して、図に示されている動作がある場合、それらの動作は、同様の番号をもつ対応するカウンターパートのミーンズプラスファンクション構成要素を有し得る。たとえば、図１１に示す動作１１００は、図１１Ａに示す手段１１００Ａに対応する。
【０１０７】
[0108]たとえば、表示するための手段は、ディスプレイ（たとえば、モニタ、フラットスクリーン、タッチスクリーンなど）、プリンタ、または視覚的描写（たとえば、表、チャートもしくはグラフ）のためのデータを出力するための任意の他の好適な手段を含み得る。処理するための手段、受信するための手段、追跡するための手段、調整するための手段、更新するための手段、または決定するための手段は、１つまたは複数のプロセッサまたは処理ユニットを含み得る、処理システムを備え得る。感知するための手段は、センサーを含み得る。記憶するための手段は、処理システムによってアクセスされ得る、メモリまたは任意の他の好適な記憶デバイス（たとえば、ＲＡＭ）を含み得る。
【０１０８】
[0109]本明細書で使用する「決定」という用語は、多種多様なアクションを包含する。たとえば、「決定」は、計算すること、算出すること、処理すること、導出すること、調査すること、ルックアップすること（たとえば、テーブル、データベースまたは別のデータ構造においてルックアップすること）、確認することなどを含み得る。また、「決定」は、受信すること（たとえば、情報を受信すること）、アクセスすること（たとえば、メモリ中のデータにアクセスすること）などを含み得る。また、「決定」は、解決すること、選択すること、選定すること、確立することなどを含み得る。
【０１０９】
[0110]本明細書で使用する、項目のリスト「のうちの少なくとも１つ」を指す句は、単一のメンバーを含む、それらの項目の任意の組合せを指す。一例として、「ａ、ｂ、またはｃのうちの少なくとも１つ」は、ａ、ｂ、ｃ、ａ−ｂ、ａ−ｃ、ｂ−ｃ、およびａ−ｂ−ｃを包含するものとする。
【０１１０】
[0111]本開示に関連して説明した様々な例示的な論理ブロック、モジュール、および回路は、汎用プロセッサ、デジタル信号プロセッサ（ＤＳＰ）、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ信号（ＦＰＧＡ）または他のプログラマブル論理デバイス（ＰＬＤ）、個別ゲートまたはトランジスタ論理、個別ハードウェア構成要素、あるいは本明細書で説明した機能を実行するように設計されたそれらの任意の組合せを用いて実装または実行され得る。汎用プロセッサはマイクロプロセッサであり得るが、代替として、プロセッサは、任意の市販のプロセッサ、コントローラ、マイクロコントローラまたはステートマシンであり得る。プロセッサはまた、コンピューティングデバイスの組合せ、たとえば、ＤＳＰとマイクロプロセッサとの組合せ、複数のマイクロプロセッサ、ＤＳＰコアと連携する１つまたは複数のマイクロプロセッサ、あるいは任意の他のそのような構成として実装され得る。
【０１１１】
[0112]本開示に関連して説明した方法またはアルゴリズムのステップは、ハードウェアで直接実施されるか、プロセッサによって実行されるソフトウェアモジュールで実施されるか、またはその２つの組合せで実施され得る。ソフトウェアモジュールは、当技術分野で知られている任意の形態の記憶媒体中に常駐し得る。使用され得る記憶媒体のいくつかの例としては、ランダムアクセスメモリ（ＲＡＭ）、読取り専用メモリ（ＲＯＭ）、フラッシュメモリ、ＥＰＲＯＭメモリ、ＥＥＰＲＯＭ（登録商標）メモリ、レジスタ、ハードディスク、リムーバブルディスク、ＣＤ−ＲＯＭなどを含む。ソフトウェアモジュールは、単一の命令、または多数の命令を備えることができ、いくつかの異なるコードセグメント上で、異なるプログラム間で、複数の記憶媒体にわたって分散され得る。記憶媒体は、プロセッサがその記憶媒体から情報を読み取ることができ、その記憶媒体に情報を書き込むことができるように、プロセッサに結合され得る。代替として、記憶媒体はプロセッサと一体化され得る。
【０１１２】
[0113]本明細書で開示する方法は、説明した方法を達成するための１つまたは複数のステップまたはアクションを備える。本方法のステップおよび／またはアクションは、特許請求の範囲から逸脱することなく互いに交換され得る。言い換えれば、ステップまたはアクションの特定の順序が指定されない限り、特定のステップおよび／またはアクションの順序および／または使用は、特許請求の範囲から逸脱することなく変更され得る。
【０１１３】
[0114]説明した機能は、ハードウェア、ソフトウェア、ファームウェア、またはそれらの任意の組合せで実装され得る。ハードウェアで実装される場合、例示的なハードウェア構成はデバイス中に処理システムを備え得る。処理システムは、バスアーキテクチャを用いて実装され得る。バスは、処理システムの特定の適用例および全体的な設計制約に応じて、任意の数の相互接続バスとブリッジとを含み得る。バスは、プロセッサと、機械可読媒体と、バスインターフェースとを含む様々な回路を互いにリンクし得る。バスインターフェースは、ネットワークアダプタを、特に、バスを介して処理システムに接続するために使用され得る。ネットワークアダプタは、信号処理機能を実装するために使用され得る。いくつかの態様では、ユーザインターフェース（たとえば、キーパッド、ディスプレイ、マウス、ジョイスティックなど）もバスに接続され得る。バスはまた、タイミングソース、周辺機器、電圧調整器、電力管理回路などの様々な他の回路にリンクし得るが、それらは当技術分野でよく知られており、したがってこれ以上は説明されない。
【０１１４】
[0115]プロセッサは、機械可読媒体に記憶されたソフトウェアの実行を含む、バスおよび一般的な処理を管理することを担当し得る。プロセッサは、１つまたは複数の汎用および／または専用プロセッサを用いて実装され得る。例としては、マイクロプロセッサ、マイクロコントローラ、ＤＳＰプロセッサ、およびソフトウェアを実行し得る他の回路を含む。ソフトウェアは、ソフトウェア、ファームウェア、ミドルウェア、マイクロコード、ハードウェア記述言語などの名称にかかわらず、命令、データ、またはそれらの任意の組合せを意味すると広く解釈されたい。機械可読媒体は、例として、ＲＡＭ（ランダムアクセスメモリ）、フラッシュメモリ、ＲＯＭ（読取り専用メモリ）、ＰＲＯＭ（プログラマブル読取り専用メモリ）、ＥＰＲＯＭ（消去可能プログラマブル読取り専用メモリ）、ＥＥＰＲＯＭ（電気消去可能プログラマブル読取り専用メモリ）、レジスタ、磁気ディスク、光ディスク、ハードドライブ、または任意の他の好適な記憶媒体、あるいはそれらの任意の組合せを含み得る。機械可読媒体はコンピュータプログラム製品において実施され得る。コンピュータプログラム製品はパッケージング材料を備え得る。
【０１１５】
[0116]ハードウェア実装形態では、機械可読媒体は、プロセッサとは別個の処理システムの一部であり得る。しかしながら、当業者なら容易に理解するように、機械可読媒体またはその任意の部分は処理システムの外部にあり得る。例として、機械可読媒体は、すべてバスインターフェースを介してプロセッサによってアクセスされ得る、伝送線路、データによって変調された搬送波、および／またはデバイスとは別個のコンピュータ製品を含み得る。代替的に、または追加で、機械可読媒体またはその任意の部分は、キャッシュおよび／または汎用レジスタファイルがそうであり得るように、プロセッサに統合され得る。
【０１１６】
[0117]処理システムは、すべて外部バスアーキテクチャを介して他のサポート回路と互いにリンクされる、プロセッサ機能を提供する１つまたは複数のマイクロプロセッサと、機械可読媒体の少なくとも一部分を提供する外部メモリとをもつ汎用処理システムとして構成され得る。代替的に、処理システムは、プロセッサをもつＡＳＩＣ（特定用途向け集積回路）と、バスインターフェースと、ユーザインターフェースと、サポート回路と、単一のチップに統合された機械可読媒体の少なくとも一部分とを用いて、あるいは１つまたは複数のＦＰＧＡ（フィールドプログラマブルゲートアレイ）、ＰＬＤ（プログラマブル論理デバイス）、コントローラ、ステートマシン、ゲート論理、個別ハードウェア構成要素、もしくは他の好適な回路、または本開示全体にわたって説明した様々な機能を実行し得る回路の任意の組合せを用いて、実装され得る。当業者なら、特定の適用例と、全体的なシステムに課される全体的な設計制約とに応じて、どのようにしたら処理システムについて説明した機能を最も良く実装し得るかを理解されよう。
【０１１７】
[0118]機械可読媒体はいくつかのソフトウェアモジュールを備え得る。ソフトウェアモジュールは、プロセッサによって実行されたときに、処理システムに様々な機能を実行させる命令を含む。ソフトウェアモジュールは、送信モジュールと受信モジュールとを含み得る。各ソフトウェアモジュールは、単一の記憶デバイス中に常駐するか、または複数の記憶デバイスにわたって分散され得る。例として、トリガイベントが発生したとき、ソフトウェアモジュールがハードドライブからＲＡＭにロードされ得る。ソフトウェアモジュールの実行中、プロセッサは、アクセス速度を高めるために、命令のいくつかをキャッシュにロードし得る。次いで、１つまたは複数のキャッシュラインが、プロセッサによる実行のために汎用レジスタファイルにロードされ得る。以下でソフトウェアモジュールの機能に言及する場合、そのような機能は、そのソフトウェアモジュールからの命令を実行したときにプロセッサによって実装されることが理解されよう。
【０１１８】
[0119]ソフトウェアで実装される場合、機能は、１つまたは複数の命令またはコードとしてコンピュータ可読媒体上に記憶されるか、あるいはコンピュータ可読媒体を介して送信され得る。コンピュータ可読媒体は、ある場所から別の場所へのコンピュータプログラムの転送を可能にする任意の媒体を含む、コンピュータ記憶媒体と通信媒体の両方を含む。記憶媒体は、コンピュータによってアクセスされ得る任意の利用可能な媒体であり得る。限定ではなく例として、そのようなコンピュータ可読媒体は、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、ＣＤ−ＲＯＭまたは他の光ディスクストレージ、磁気ディスクストレージまたは他の磁気記憶デバイス、あるいは命令またはデータ構造の形態の所望のプログラムコードを搬送または記憶するために使用され得、コンピュータによってアクセスされ得る、任意の他の媒体を備えることができる。また、いかなる接続もコンピュータ可読媒体を適切に名づけられる。たとえば、ソフトウェアが、同軸ケーブル、光ファイバーケーブル、ツイストペア、デジタル加入者回線（ＤＳＬ）、または赤外線（ＩＲ）、無線、およびマイクロ波などのワイヤレス技術を使用して、ウェブサイト、サーバ、または他のリモートソースから送信される場合、同軸ケーブル、光ファイバーケーブル、ツイストペア、ＤＳＬ、または赤外線、無線、およびマイクロ波などのワイヤレス技術は、媒体の定義に含まれる。本明細書で使用するディスク（disk）およびディスク（disc）は、コンパクトディスク（disc）（ＣＤ）、レーザーディスク（登録商標）（disc）、光ディスク（disc）、デジタル多用途ディスク（disc）（ＤＶＤ）、フロッピー（登録商標）ディスク（disk）、およびＢｌｕ−ｒａｙ（登録商標）ディスク（disc）を含み、ディスク（disk）は、通常、データを磁気的に再生し、ディスク（disc）は、データをレーザーで光学的に再生する。したがって、いくつかの態様では、コンピュータ可読媒体は非一時的コンピュータ可読媒体（たとえば、有形媒体）を備え得る。さらに、他の態様では、コンピュータ可読媒体は一時的コンピュータ可読媒体（たとえば、信号）を備え得る。上記の組合せもコンピュータ可読媒体の範囲内に含まれるべきである。
【０１１９】
[0120]したがって、いくつかの態様は、本明細書で提示する動作を実行するためのコンピュータプログラム製品を備え得る。たとえば、そのようなコンピュータプログラム製品は、本明細書で説明する動作を実行するために１つまたは複数のプロセッサによって実行可能である命令を記憶した（および／または符号化した）コンピュータ可読媒体を備え得る。いくつかの態様では、コンピュータプログラム製品はパッケージング材料を含み得る。
【０１２０】
[0121]さらに、本明細書で説明した方法および技法を実行するためのモジュールおよび／または他の適切な手段は、適用可能な場合にデバイスによってダウンロードされ、および／または他の方法で取得され得ることを諒解されたい。たとえば、そのようなデバイスは、本明細書で説明した方法を実施するための手段の転送を可能にするためにサーバに結合され得る。代替的に、本明細書で説明した様々な方法は、デバイスが記憶手段をデバイスに結合または提供すると様々な方法を得ることができるように、記憶手段（たとえば、ＲＡＭ、ＲＯＭ、コンパクトディスク（ＣＤ）またはフロッピーディスクなどの物理記憶媒体など）によって提供され得る。その上、本明細書で説明した方法および技法をデバイスに与えるための任意の他の好適な技法が利用され得る。
【０１２１】
[0122]特許請求の範囲は、上記で示した厳密な構成および構成要素に限定されないことを理解されたい。上記で説明した方法および装置の構成、動作および詳細において、特許請求の範囲から逸脱することなく、様々な改変、変更および変形が行われ得る。
【図１】
2016541038.tif 000017
【図２】
2016541038.tif 000018
【図３】
2016541038.tif 000019
【図４】
2016541038.tif 000020
【図５】
2016541038.tif 000021
【図６Ａ】
2016541038.tif 000022
【図６Ｂ】
2016541038.tif 000023
【図６Ｃ】
2016541038.tif 000024
【図６Ｄ】
2016541038.tif 000025
【図７】
2016541038.tif 000026
【図８】
2016541038.tif 000027
【図９】
2016541038.tif 000028
【図１０Ａ】
2016541038.tif 000029
【図１０Ｂ】
2016541038.tif 000030
【図１１】
2016541038.tif 000031
【図１１Ａ】
2016541038.tif 000032
【図１２】
2016541038.tif 000033
【図１３】
2016541038.tif 000034
【図１４】
2016541038.tif 000035
【図１５】
2016541038.tif 000036
【手続補正書】
【提出日】平成28年6月10日(2016.6.10)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
装置が実行する方法であって、
乱数のシーケンスを生成することと、
プログラム可能な確率分布関数（ＰＤＦ）を用いて擬似乱数の第１のシーケンスを生成するために、前記生成された乱数のシーケンス上でビットレベル演算を実行することと、
乱数の別のシーケンスを生成することと、
プログラム可能なＰＤＦを用いて擬似乱数の第２のシーケンスを生成するために、前記第１のシーケンスと前記別のシーケンスとの間でビットレベル演算を実行することと、
前記擬似乱数の第２のシーケンスの前記ＰＤＦにしたがって、人工神経系の人工ニューロンに関連付けられるスパイクをドロップすることと
を備える、方法。
【請求項２】
前記乱数のシーケンスは、第１の線形フィードバックシフトレジスタ（ＬＦＳＲ）を使用して生成され、
前記乱数の別のシーケンスは、前記第１のＬＦＳＲとは別の第２のＬＦＳＲを使用して生成される、
請求項１に記載の方法。
【請求項３】
前記乱数のシーケンスのビットは、論理積演算され、
前記論理積演算されたビットは、ビットマスク値を取得するために、論理和ゲートのカスケードを通じてパスされる、
請求項１に記載の方法。
【請求項４】
前記第１のシーケンスを生成するために、前記乱数のシーケンスのビットに前記ビットマスク値を適用することをさらに備える、
請求項３に記載の方法。
【請求項５】
乱数の範囲限定シーケンスを取得するために、前記論理和ゲートのカスケードを通じてパスされた前記ビットと第１のビットマスクとの間の論理積演算を実行することをさらに備える、
請求項３に記載の方法。
【請求項６】
白色化された低値部分を有するＰＤＦを用いて乱数の別のシーケンスを取得するために、前記範囲限定シーケンスのビットと第２のビットマスクとの間の論理和演算を実行することをさらに備える、
請求項５に記載の方法。
【請求項７】
制御可能なマルチプレクサを使用して、前記第１のシーケンスを前記第２のシーケンスから切り離すことをさらに備える、
請求項１に記載の方法。
【請求項８】
プログラム可能なＰＤＦを用いて前記擬似乱数の第２のシーケンスを生成するために、前記マルチプレクサの出力、前記第１のシーケンスのビット、および前記別のシーケンスのビットを使用してビットレベル演算を実行することをさらに備える、
請求項７に記載の方法。
【請求項９】
前記第２のシーケンスの前記プログラム可能なＰＤＦを調整するために、前記擬似乱数の第２のシーケンスとビットマスクとの間の論理和演算を実行することをさらに備える、
請求項１に記載の方法。
【請求項１０】
前記乱数のシーケンスは、第１のゴールドコード発生器を使用して生成され、
前記乱数の別のシーケンスは、前記第１のゴールドコード発生器とは別の第２のゴールドコード発生器を使用して生成される、
請求項１に記載の方法。
【請求項１１】
装置であって、
乱数のシーケンスを生成するように構成された第１の回路と、
プログラム可能な確率分布関数（ＰＤＦ）を用いて擬似乱数の第１のシーケンスを生成するために、前記生成された乱数のシーケンス上でビットレベル演算を実行するように構成された第２の回路と、
乱数の別のシーケンスを生成するように構成された第３の回路と、
プログラム可能なＰＤＦを用いて擬似乱数の第２のシーケンスを生成するために、前記第１のシーケンスと前記別のシーケンスとの間でビットレベル演算を実行するように構成された第４の回路と、
前記擬似乱数の第２のシーケンスの前記ＰＤＦにしたがって、前記装置を備える人工神経系の人工ニューロンに関連付けられるスパイクをドロップするように構成された第５の回路と
を備える、装置。
【請求項１２】
前記乱数のシーケンスを生成するように構成された前記第１の回路は、第１の線形フィードバックシフトレジスタ（ＬＦＳＲ）を備え、
前記乱数の別のシーケンスを生成するように構成された前記第３の回路は、前記第１のＬＦＳＲとは別の第２のＬＦＳＲを備える、
請求項１１に記載の装置。
【請求項１３】
前記第２の回路は、
前記乱数のシーケンスのビット上で論理積演算を実行することと、
ビットマスク値を取得するために、前記論理積演算されたビットを論理和ゲートのカスケードを通じてパスすることと
を行うようにさらに構成される、請求項１１に記載の装置。
【請求項１４】
前記第２の回路は、
前記第１のシーケンスを生成するために、前記乱数のシーケンスのビットに前記ビットマスク値を適用することを行うようにさらに構成される、
請求項１３に記載の装置。
【請求項１５】
前記第２の回路は、
乱数の範囲限定シーケンスを取得するために、前記論理和ゲートのカスケードを通じてパスされた前記ビットと第１のビットマスクとの間の論理積演算を実行することを行うようにさらに構成される、
請求項１３に記載の装置。
【請求項１６】
前記第２の回路は、
白色化された低値部分を有するＰＤＦを用いて乱数の別のシーケンスを取得するために、前記範囲限定シーケンスのビットと第２のビットマスクとの間の論理和演算を実行することを行うようにさらに構成される、
請求項１５に記載の装置。
【請求項１７】
前記第１のシーケンスを前記第２のシーケンスから切り離すことを行うように構成された制御可能なマルチプレクサをさらに備える、
請求項１１に記載の装置。
【請求項１８】
前記第４の回路は、
プログラム可能なＰＤＦを用いて前記擬似乱数の第２のシーケンスを生成するために、前記マルチプレクサの出力、前記第１のシーケンスのビット、および前記別のシーケンスのビットを使用してビットレベル演算を実行することを行うようにさらに構成される、
請求項１７に記載の装置。
【請求項１９】
前記第２のシーケンスの前記プログラム可能なＰＤＦを調整するために、前記擬似乱数の第２のシーケンスと、ビットマスクとの間の論理和演算を実行することを行うように構成された第５の回路をさらに備える、
請求項１１に記載の装置。
【請求項２０】
前記乱数のシーケンスを生成するように構成された前記第１の回路は、第１のゴールドコード発生器を備え、
前記乱数の別のシーケンスを生成するように構成された前記第３の回路は、前記第１のゴールドコード発生器とは別の第２のゴールドコード発生器を備える、
請求項１１に記載の装置。
【請求項２１】
装置であって、
乱数のシーケンスを生成するための手段と、
プログラム可能な確率分布関数（ＰＤＦ）を用いて擬似乱数の第１のシーケンスを生成するために、前記生成された乱数のシーケンス上でビットレベル演算を実行するための手段と、
乱数の別のシーケンスを生成するための手段と、
プログラム可能なＰＤＦを用いて擬似乱数の第２のシーケンスを生成するために、前記第１のシーケンスと前記別のシーケンスとの間でビットレベル演算を実行するための手段と、
前記擬似乱数の第２のシーケンスの前記ＰＤＦにしたがって、前記装置を備える人工神経系の人工ニューロンに関連付けられるスパイクをドロップするための手段と
を備える、装置。
【請求項２２】
前記乱数のシーケンスを前記生成するための手段は、第１の線形フィードバックシフトレジスタ（ＬＦＳＲ）を使用するための手段を備え、
前記乱数の別のシーケンスを前記生成するための手段は、前記第１のＬＦＳＲとは別の第２のＬＦＳＲを使用するための手段を備える、
請求項２１に記載の装置。
【請求項２３】
前記乱数のシーケンスのビット上で論理積演算を実行するための手段と、
ビットマスク値を取得するために、前記論理積演算されたビットを論理和ゲートのカスケードを通じてパスするための手段と
をさらに備える、請求項２１に記載の装置。
【請求項２４】
前記第１のシーケンスを生成するために、前記ビットマスク値を、前記乱数のシーケンスのビットに適用するための手段をさらに備える、
請求項２３に記載の装置。
【請求項２５】
乱数の範囲限定シーケンスを取得するために、前記論理和ゲートのカスケードを通じてパスされた前記ビットと、第１のビットマスクとの間の論理積演算を実行するための手段をさらに備える、
請求項２３に記載の装置。
【請求項２６】
白色化された低値部分を有するＰＤＦを用いて乱数の別のシーケンスを取得するために、前記範囲限定シーケンスのビットと、第２のビットマスクとの間の論理和演算を実行するための手段をさらに備える、
請求項２５に記載の装置。
【請求項２７】
制御可能なマルチプレクサを使用して、前記第１のシーケンスを前記第２のシーケンスから切り離すための手段をさらに備える、
請求項２１に記載の装置。
【請求項２８】
プログラム可能なＰＤＦを用いて前記擬似乱数の第２のシーケンスを生成するために、前記マルチプレクサの出力、前記第１のシーケンスのビット、および前記別のシーケンスのビットを使用してビットレベル演算を実行するための手段をさらに備える、請求項２７に記載の装置。
【請求項２９】
前記第２のシーケンスの前記プログラム可能なＰＤＦを調整するために、前記擬似乱数の第２のシーケンスと、ビットマスクとの間の論理和演算を実行するための手段をさらに備える、請求項２１に記載の装置。
【請求項３０】
前記乱数のシーケンスを前記生成するための手段は、第１のゴールドコード発生器を使用するための手段を備え、
前記乱数の別のシーケンスを前記生成するための手段は、前記第１のゴールドコード発生器とは別の第２のゴールドコード発生器を使用するための手段を備える、
請求項２１に記載の装置。
【請求項３１】
乱数のシーケンスを生成することと、
プログラム可能な確率分布関数（ＰＤＦ）を用いて擬似乱数の第１のシーケンスを生成するために、前記生成された乱数のシーケンス上でビットレベル演算を実行することと、
乱数の別のシーケンスを生成することと、
プログラム可能なＰＤＦを用いて擬似乱数の第２のシーケンスを生成するために、前記第１のシーケンスと前記別のシーケンスとの間でビットレベル演算を実行することと、
前記擬似乱数の第２のシーケンスの前記ＰＤＦにしたがって、人工神経系の人工ニューロンに関連付けられるスパイクをドロップすることと
を行うために実行可能な命令を有する非一時的コンピュータ可読媒体を備える、コンピュータプログラム製品。
【請求項３２】
前記コンピュータ可読媒体は、
第１の線形フィードバックシフトレジスタ（ＬＦＳＲ）を使用することによって、前記乱数のシーケンスを生成することと、
前記第１のＬＦＳＲとは別の第２のＬＦＳＲを使用することによって、前記乱数の別のシーケンスを生成することと
を行うためのコードをさらに備える、請求項３１に記載のコンピュータプログラム製品。
【請求項３３】
前記コンピュータ可読媒体は、
前記乱数のシーケンスのビット上で論理積演算を実行することと、
ビットマスク値を取得するために、前記論理積演算されたビットを論理和ゲートのカスケードを通じてパスすることと
を行うためのコードをさらに備える、請求項３１に記載のコンピュータプログラム製品。
【請求項３４】
前記コンピュータ可読媒体は、
前記第１のシーケンスを生成するために、前記ビットマスク値を、前記乱数のシーケンスのビットに適用するためのコードをさらに備える、
請求項３３に記載のコンピュータプログラム製品。
【請求項３５】
前記コンピュータ可読媒体が、
乱数の範囲限定シーケンスを取得するために、前記論理和ゲートのカスケードを通じてパスされた前記ビットと、第１のビットマスクとの間の論理積演算を実行するためのコードをさらに備える、
請求項３３に記載のコンピュータプログラム製品。
【請求項３６】
前記コンピュータ可読媒体は、
白色化された低値部分を有するＰＤＦを用いて乱数の別のシーケンスを取得するために、前記範囲限定シーケンスのビットと、第２のビットマスクとの間の論理和演算を実行することを行うためのコードをさらに備える、
請求項３５に記載のコンピュータプログラム製品。
【請求項３７】
前記コンピュータ可読媒体は、
制御可能なマルチプレクサを使用して、前記第１のシーケンスを前記第２のシーケンスから切り離すことを行うためのコードをさらに備える、
請求項３１に記載のコンピュータプログラム製品。
【請求項３８】
前記コンピュータ可読媒体は、
プログラム可能なＰＤＦを用いて前記擬似乱数の第２のシーケンスを生成するために、前記マルチプレクサの出力、前記第１のシーケンスのビット、および前記別のシーケンスのビットを使用してビットレベル演算を実行することを行うためのコードをさらに備える、
請求項３７に記載のコンピュータプログラム製品。
【請求項３９】
前記コンピュータ可読媒体は、
前記第２のシーケンスの前記プログラム可能なＰＤＦを調整するために、前記擬似乱数の第２のシーケンスと、ビットマスクとの間の論理和演算を実行することを行うためのコードをさらに備える、
請求項３１に記載のコンピュータプログラム製品。
【請求項４０】
前記コンピュータ可読媒体は、
第１のゴールドコード発生器を使用することによって、前記乱数のシーケンスを生成することと、
前記第１のゴールドコード発生器とは別の第２のゴールドコード発生器を使用することによって、前記乱数の別のシーケンスを生成することと
を行うためのコードをさらに備える、請求項３１に記載のコンピュータプログラム製品。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】０１２１
【補正方法】変更
【補正の内容】
【０１２１】
[0122]特許請求の範囲は、上記で示した厳密な構成および構成要素に限定されないことを理解されたい。上記で説明した方法および装置の構成、動作および詳細において、特許請求の範囲から逸脱することなく、様々な改変、変更および変形が行われ得る。
以下に本願発明の当初の特許請求の範囲に記載された発明を付記する。
［Ｃ１］
乱数のシーケンスを生成することと、
プログラム可能な確率分布関数（ＰＤＦ）を用いて擬似乱数の第１のシーケンスを生成するために、前記生成された乱数のシーケンス上でビットレベル演算を実行することと、
乱数の別のシーケンスを生成することと、
プログラム可能なＰＤＦを用いて擬似乱数の第２のシーケンスを生成するために、前記第１のシーケンスと前記他のシーケンスとの間でビットレベル演算を実行することと
を備える、方法。
［Ｃ２］
前記乱数のシーケンスは、第１の線形フィードバックシフトレジスタ（ＬＦＳＲ）を使用して生成され、
前記乱数の他のシーケンスは、前記第１のＬＦＳＲとは別の第２のＬＦＳＲを使用して生成される、
Ｃ１に記載の方法。
［Ｃ３］
前記乱数のシーケンスのビットは、論理積演算され、
前記論理積演算されたビットは、ビットマスク値を取得するために、論理和ゲートのカスケードを通じてパスされる、
Ｃ１に記載の方法。
［Ｃ４］
前記第１のシーケンスを生成するために、乱数の前記シーケンスのビットに前記ビットマスク値を適用することをさらに備える、
Ｃ３に記載の方法。
［Ｃ５］
乱数の範囲限定シーケンスを取得するために、前記論理和ゲートのカスケードを通じてパスされた前記ビットと第１のビットマスクとの間の論理積演算を実行することをさらに備える、
Ｃ３に記載の方法。
［Ｃ６］
白色化された低値部分を有するＰＤＦを用いて乱数の別のシーケンスを取得するために、前記範囲限定シーケンスのビットと第２のビットマスクとの間の論理和演算を実行することをさらに備える、
Ｃ５に記載の方法。
［Ｃ７］
制御可能なマルチプレクサを使用して、前記第１のシーケンスを前記第２のシーケンスから切り離すことをさらに備える、
Ｃ１に記載の方法。
［Ｃ８］
プログラム可能なＰＤＦを用いて前記擬似乱数の第２のシーケンスを生成するために、前記マルチプレクサの出力、前記第１のシーケンスのビット、および前記他のシーケンスのビットを使用してビットレベル演算を実行することをさらに備える、
Ｃ７に記載の方法。
［Ｃ９］
前記第２のシーケンスの前記プログラム可能なＰＤＦを調整するために、前記擬似乱数の第２のシーケンスとビットマスクとの間の論理和演算を実行することをさらに備える、
Ｃ１に記載の方法。
［Ｃ１０］
前記擬似乱数の第２のシーケンスの前記ＰＤＦにしたがって、人工神経系の人工ニューロンに関連付けられるスパイクをドロップすることをさらに備える、
Ｃ１に記載の方法。
［Ｃ１１］
前記乱数のシーケンスは、第１のゴールドコード発生器を使用して生成され、
前記乱数の他のシーケンスは、前記第１のゴールドコード発生器とは別の第２のゴールドコード発生器を使用して生成される、
Ｃ１に記載の方法。
［Ｃ１２］
乱数のシーケンスを生成するように構成された第１の回路と、
プログラム可能な確率分布関数（ＰＤＦ）を用いて擬似乱数の第１のシーケンスを生成するために、前記生成された乱数のシーケンス上でビットレベル演算を実行するように構成された第２の回路と、
乱数の別のシーケンスを生成するように構成された第３の回路と、
プログラム可能なＰＤＦを用いて擬似乱数の第２のシーケンスを生成するために、前記第１のシーケンスと前記他のシーケンスとの間でビットレベル演算を実行するように構成された第４の回路と
を備える、装置。
［Ｃ１３］
前記乱数のシーケンスを生成するように構成された前記第１の回路は、第１の線形フィードバックシフトレジスタ（ＬＦＳＲ）を備え、
前記乱数の他のシーケンスを生成するように構成された前記第３の回路は、前記第１のＬＦＳＲとは別の第２のＬＦＳＲを備える、
Ｃ１２に記載の装置。
［Ｃ１４］
前記第２の回路は、
前記乱数のシーケンスのビット上で論理積演算を実行することと、
ビットマスク値を取得するために、前記論理積演算されたビットを論理和ゲートのカスケードを通じてパスすることと
を行うようにさらに構成される、Ｃ１２に記載の装置。
［Ｃ１５］
前記第２の回路は、
前記第１のシーケンスを生成するために、乱数の前記シーケンスのビットに前記ビットマスク値を適用することを行うようにさらに構成される、
Ｃ１４に記載の装置。
［Ｃ１６］
前記第２の回路は、
乱数の範囲限定シーケンスを取得するために、前記論理和ゲートのカスケードを通じてパスされた前記ビットと第１のビットマスクとの間の論理積演算を実行することを行うようにさらに構成される、
Ｃ１４に記載の装置。
［Ｃ１７］
前記第２の回路は、
白色化された低値部分を有するＰＤＦを用いて乱数の別のシーケンスを取得するために、前記範囲限定シーケンスのビットと第２のビットマスクとの間の論理和演算を実行することを行うようにさらに構成される、
Ｃ１６に記載の装置。
［Ｃ１８］
前記第１のシーケンスを前記第２のシーケンスから切り離すことを行うように構成された制御可能なマルチプレクサをさらに備える、
Ｃ１２に記載の装置。
［Ｃ１９］
前記第４の回路は、
プログラム可能なＰＤＦを用いて前記擬似乱数の第２のシーケンスを生成するために、前記マルチプレクサの出力、前記第１のシーケンスのビット、および前記他のシーケンスのビットを使用してビットレベル演算を実行することを行うようにさらに構成される、
Ｃ１８に記載の装置。
［Ｃ２０］
前記第２のシーケンスの前記プログラム可能なＰＤＦを調整するために、前記擬似乱数の第２のシーケンスと、ビットマスクとの間の論理和演算を実行することを行うように構成された第５の回路をさらに備える、
Ｃ１２に記載の装置。
［Ｃ２１］
前記擬似乱数の第２のシーケンスの前記ＰＤＦにしたがって、前記装置を備える人工神経系の人工ニューロンに関連付けられるスパイクをドロップするように構成された第５の回路をさらに備える、
Ｃ１２に記載の装置。
［Ｃ２２］
前記乱数のシーケンスを生成するように構成された前記第１の回路は、第１のゴールドコード発生器を備え、
前記乱数の他のシーケンスを生成するように構成された前記第３の回路は、前記第１のゴールドコード発生器とは別の第２のゴールドコード発生器を備える、
Ｃ１２に記載の装置。
［Ｃ２３］
乱数のシーケンスを生成するための手段と、
プログラム可能な確率分布関数（ＰＤＦ）を用いて擬似乱数の第１のシーケンスを生成するために、前記生成された乱数のシーケンス上でビットレベル演算を実行するための手段と、
乱数の別のシーケンスを生成するための手段と、
プログラム可能なＰＤＦを用いて擬似乱数の第２のシーケンスを生成するために、前記第１のシーケンスと前記他のシーケンスとの間でビットレベル演算を実行するための手段とを備える、装置。
［Ｃ２４］
前記乱数のシーケンスを前記生成するための手段は、第１の線形フィードバックシフトレジスタ（ＬＦＳＲ）を使用するための手段を備え、
前記乱数の他のシーケンスを前記生成するための手段は、前記第１のＬＦＳＲとは別の第２のＬＦＳＲを使用するための手段を備える、
Ｃ２３に記載の装置。
［Ｃ２５］
前記乱数のシーケンスのビット上で論理積演算を実行するための手段と、
ビットマスク値を取得するために、前記論理積演算されたビットを論理和ゲートのカスケードを通じてパスするための手段と
をさらに備える、Ｃ２３に記載の装置。
［Ｃ２６］
前記第１のシーケンスを生成するために、前記ビットマスク値を、前記乱数のシーケンスのビットに適用するための手段をさらに備える、
Ｃ２５に記載の装置。
［Ｃ２７］
乱数の範囲限定シーケンスを取得するために、前記論理和ゲートのカスケードを通じてパスされた前記ビットと、第１のビットマスクとの間の論理積演算を実行するための手段をさらに備える、
Ｃ２５に記載の装置。
［Ｃ２８］
白色化された低値部分を有するＰＤＦを用いて乱数の別のシーケンスを取得するために、前記範囲限定シーケンスのビットと、第２のビットマスクとの間の論理和演算を実行するための手段をさらに備える、
Ｃ２７に記載の装置。
［Ｃ２９］
制御可能なマルチプレクサを使用して、前記第１のシーケンスを前記第２のシーケンスから切り離すための手段をさらに備える、
Ｃ２３に記載の装置。
［Ｃ３０］
プログラム可能なＰＤＦを用いて前記擬似乱数の第２のシーケンスを生成するために、前記マルチプレクサの出力、前記第１のシーケンスのビット、および前記他のシーケンスのビットを使用してビットレベル演算を実行するための手段をさらに備える、
Ｃ２９に記載の装置。
［Ｃ３１］
前記第２のシーケンスの前記プログラム可能なＰＤＦを調整するために、前記擬似乱数の第２のシーケンスと、ビットマスクとの間の論理和演算を実行するための手段をさらに備える、
Ｃ２３に記載の装置。
［Ｃ３２］
前記擬似乱数の第２のシーケンスの前記ＰＤＦにしたがって、前記装置を備える人工神経系の人工ニューロンに関連付けられるスパイクをドロップするための手段をさらに備える、
Ｃ２３に記載の装置。
［Ｃ３３］
前記乱数のシーケンスを前記生成するための手段は、第１のゴールドコード発生器を使用するための手段を備え、
前記乱数の他のシーケンスを前記生成するための手段は、前記第１のゴールドコード発生器とは別の第２のゴールドコード発生器を使用するための手段を備える、
Ｃ２３に記載の装置。
［Ｃ３４］
乱数のシーケンスを生成することと、
プログラム可能な確率分布関数（ＰＤＦ）を用いて擬似乱数の第１のシーケンスを生成するために、前記生成された乱数のシーケンス上でビットレベル演算を実行することと、
乱数の別のシーケンスを生成することと、
プログラム可能なＰＤＦを用いて擬似乱数の第２のシーケンスを生成するために、前記第１のシーケンスと前記他のシーケンスとの間でビットレベル演算を実行することと
を行うために実行可能な命令を有する非一時的コンピュータ可読媒体を備える、コンピュータプログラム製品。
［Ｃ３５］
前記コンピュータ可読媒体は、
第１の線形フィードバックシフトレジスタ（ＬＦＳＲ）を使用することによって、前記乱数のシーケンスを生成することと、
前記第１のＬＦＳＲとは別の第２のＬＦＳＲを使用することによって、乱数の前記他のシーケンスを生成することと
を行うためのコードをさらに備える、Ｃ３４に記載のコンピュータプログラム製品。
［Ｃ３６］
前記コンピュータ可読媒体は、
前記乱数のシーケンスのビット上で論理積演算を実行することと、
ビットマスク値を取得するために、前記論理積演算されたビットを論理和ゲートのカスケードを通じてパスすることと
を行うためのコードをさらに備える、Ｃ３４に記載のコンピュータプログラム製品。
［Ｃ３７］
前記コンピュータ可読媒体は、
前記第１のシーケンスを生成するために、前記ビットマスク値を、前記乱数のシーケンスのビットに適用するためのコードをさらに備える、
Ｃ３６に記載のコンピュータプログラム製品。
［Ｃ３８］
前記コンピュータ可読媒体が、
乱数の範囲限定シーケンスを取得するために、前記論理和ゲートのカスケードを通じてパスされた前記ビットと、第１のビットマスクとの間の論理積演算を実行するためのコードをさらに備える、
Ｃ３６に記載のコンピュータプログラム製品。
［Ｃ３９］
前記コンピュータ可読媒体は、
白色化された低値部分を有するＰＤＦを用いて乱数の別のシーケンスを取得するために、前記範囲限定シーケンスのビットと、第２のビットマスクとの間の論理和演算を実行するためのコードをさらに備える、
Ｃ３８に記載のコンピュータプログラム製品。
［Ｃ４０］
前記コンピュータ可読媒体は、
制御可能なマルチプレクサを使用して、前記第１のシーケンスを前記第２のシーケンスから切り離すことを行うためのコードをさらに備える、
Ｃ３４に記載のコンピュータプログラム製品。
［Ｃ４１］
前記コンピュータ可読媒体は、
プログラム可能なＰＤＦを用いて前記擬似乱数の第２のシーケンスを生成するために、前記マルチプレクサの出力、前記第１のシーケンスのビット、および前記他のシーケンスのビットを使用してビットレベル演算を実行することを行うためのコードをさらに備える、
Ｃ４０に記載のコンピュータプログラム製品。
［Ｃ４２］
前記コンピュータ可読媒体は、
前記第２のシーケンスの前記プログラム可能なＰＤＦを調整するために、前記擬似乱数の第２のシーケンスと、ビットマスクとの間の論理和演算を実行することを行うためのコードをさらに備える、
Ｃ３４に記載のコンピュータプログラム製品。
［Ｃ４３］
前記コンピュータ可読媒体は、
前記擬似乱数の第２のシーケンスの前記ＰＤＦにしたがって、人工神経系の人工ニューロンに関連付けられるスパイクをドロップするためのコードさらに備える、
Ｃ３４に記載のコンピュータプログラム製品。
［Ｃ４４］
前記コンピュータ可読媒体は、
第１のゴールドコード発生器を使用することによって、前記乱数のシーケンスを生成することと、
前記第１のゴールドコード発生器とは別の第２のゴールドコード発生器を使用することによって、前記乱数の他のシーケンスを生成することと
を行うためのコードをさらに備える、Ｃ３４に記載のコンピュータプログラム製品。
【手続補正書】
【提出日】平成28年10月4日(2016.10.4)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
人工神経系においてスパイクを減少させるための方法であって、前記方法は、
装置が、乱数のシーケンスを生成することと、
前記装置が、プログラム可能な確率分布関数（ＰＤＦ）を用いて擬似乱数の第１のシーケンスを生成するために、前記生成された乱数のシーケンス上でビットレベル演算を実行すること、ここにおいて、前記生成された乱数のシーケンス上で前記ビットレベル演算を実行することは、
前記乱数のシーケンスのビット上で論理積演算を実行することと、
ビットマスク値を取得するために、前記論理積演算されたビットを論理和ゲートのカスケードを通じてパスすることと、
前記プログラム可能なＰＤＦを用いて前記擬似乱数の第１のシーケンスを生成するために、前記乱数のシーケンスのビットに前記ビットマスク値を適用することと
を備える、と、
前記装置が、乱数の別のシーケンスを生成することと、
前記装置が、プログラム可能なＰＤＦを用いて擬似乱数の第２のシーケンスを生成するために、前記第１のシーケンスと前記別のシーケンスとの間でビットレベル演算を実行することと、
前記装置が、前記擬似乱数の第２のシーケンスの前記ＰＤＦにしたがって、前記人工神経系の１つまたは複数の人工ニューロンに関連付けられるスパイクをドロップすることと
を備える、方法。
【請求項２】
前記乱数のシーケンスは、第１の線形フィードバックシフトレジスタ（ＬＦＳＲ）を使用して生成され、
前記乱数の別のシーケンスは、前記第１のＬＦＳＲとは別の第２のＬＦＳＲを使用して生成される、
請求項１に記載の方法。
【請求項３】
乱数の範囲限定シーケンスを取得するために、前記論理和ゲートのカスケードを通じてパスされた前記ビットと、第１のビットマスクとの間の論理積演算を実行することをさらに備える、
請求項１に記載の方法。
【請求項４】
白色化された低値部分を有するＰＤＦを用いて乱数の別のシーケンスを取得するために、前記範囲限定シーケンスのビットと、第２のビットマスクとの間の論理和演算を実行することをさらに備える、
請求項３に記載の方法。
【請求項５】
制御可能なマルチプレクサを使用して、前記第１のシーケンスを前記第２のシーケンスから切り離すことをさらに備える、
請求項１に記載の方法。
【請求項６】
前記プログラム可能なＰＤＦを用いて前記擬似乱数の第２のシーケンスを生成するために、前記マルチプレクサの出力、前記第１のシーケンスのビット、および前記別のシーケンスのビットを使用してビットレベル演算を実行することをさらに備える、
請求項５に記載の方法。
【請求項７】
前記第２のシーケンスの前記プログラム可能なＰＤＦを調整するために、前記擬似乱数の第２のシーケンスと、ビットマスクとの間の論理和演算を実行することをさらに備える、
請求項１に記載の方法。
【請求項８】
前記乱数のシーケンスは、第１のゴールドコード発生器を使用して生成され、
前記乱数の別のシーケンスは、前記第１のゴールドコード発生器とは別の第２のゴールドコード発生器を使用して生成される、
請求項１に記載の方法。
【請求項９】
装置であって、
乱数のシーケンスを生成するように構成された第１の回路と、
プログラム可能な確率分布関数（ＰＤＦ）を用いて擬似乱数の第１のシーケンスを生成するために、前記生成された乱数のシーケンス上でビットレベル演算を実行するように構成された第２の回路、ここにおいて、前記生成された乱数のシーケンス上で前記ビットレベル演算を実行するために、前記第２の回路は、
前記乱数のシーケンスのビット上で論理積演算を実行することと、
ビットマスク値を取得するために、前記論理積演算されたビットを論理和ゲートのカスケードを通じてパスすることと、
前記プログラム可能なＰＤＦを用いて前記擬似乱数の第１のシーケンスを生成するために、前記乱数のシーケンスのビットに前記ビットマスク値を適用することと
を行うように構成される、と、
乱数の別のシーケンスを生成するように構成された第３の回路と、
プログラム可能なＰＤＦを用いて擬似乱数の第２のシーケンスを生成するために、前記第１のシーケンスと前記別のシーケンスとの間でビットレベル演算を実行するように構成された第４の回路と、
前記擬似乱数の第２のシーケンスの前記ＰＤＦにしたがって、前記装置を備える人工神経系の人工ニューロンに関連付けられるスパイクをドロップするように構成された第５の回路と
を備える、装置。
【請求項１０】
前記乱数のシーケンスを生成するように構成された前記第１の回路は、第１の線形フィードバックシフトレジスタ（ＬＦＳＲ）を備え、
前記乱数の別のシーケンスを生成するように構成された前記第３の回路は、前記第１のＬＦＳＲとは別の第２のＬＦＳＲを備える、
請求項９に記載の装置。
【請求項１１】
前記第２の回路は、
乱数の範囲限定シーケンスを取得するために、前記論理和ゲートのカスケードを通じてパスされた前記ビットと、第１のビットマスクとの間の論理積演算を実行することを行うようにさらに構成される、
請求項９に記載の装置。
【請求項１２】
前記第２の回路は、
白色化された低値部分を有するＰＤＦを用いて乱数の別のシーケンスを取得するために、前記範囲限定シーケンスのビットと、第２のビットマスクとの間の論理和演算を実行することを行うようにさらに構成される、
請求項１１に記載の装置。
【請求項１３】
前記第１のシーケンスを前記第２のシーケンスから切り離すことを行うように構成された制御可能なマルチプレクサをさらに備える、
請求項９に記載の装置。
【請求項１４】
前記第４の回路は、
前記プログラム可能なＰＤＦを用いて前記擬似乱数の第２のシーケンスを生成するために、前記マルチプレクサの出力、前記第１のシーケンスのビット、および前記別のシーケンスのビットを使用してビットレベル演算を実行することを行うようにさらに構成される、
請求項１３に記載の装置。
【請求項１５】
前記第２のシーケンスの前記プログラム可能なＰＤＦを調整するために、前記擬似乱数の第２のシーケンスと、ビットマスクとの間の論理和演算を実行することを行うように構成された第５の回路をさらに備える、
請求項９に記載の装置。
【請求項１６】
前記乱数のシーケンスを生成するように構成された前記第１の回路は、第１のゴールドコード発生器を備え、
前記乱数の別のシーケンスを生成するように構成された前記第３の回路は、前記第１のゴールドコード発生器とは別の第２のゴールドコード発生器を備える、
請求項９に記載の装置。
【請求項１７】
装置であって、
乱数のシーケンスを生成するための手段と、
プログラム可能な確率分布関数（ＰＤＦ）を用いて擬似乱数の第１のシーケンスを生成するために、前記生成された乱数のシーケンス上でビットレベル演算を実行するための手段、ここにおいて、前記生成された乱数のシーケンス上でビットレベル演算を実行するための手段は、
前記乱数のシーケンスのビット上で論理積演算を実行するための手段と、
ビットマスク値を取得するために、前記論理積演算されたビットを論理和ゲートのカスケードを通じてパスするための手段と、
前記プログラム可能なＰＤＦを用いて前記擬似乱数の第１のシーケンスを生成するために、前記乱数のシーケンスのビットに前記ビットマスク値を適用するための手段と
を備える、と、
乱数の別のシーケンスを生成するための手段と、
プログラム可能なＰＤＦを用いて擬似乱数の第２のシーケンスを生成するために、前記第１のシーケンスと前記別のシーケンスとの間でビットレベル演算を実行するための手段と、
前記擬似乱数の第２のシーケンスの前記ＰＤＦにしたがって、前記装置を備える人工神経系の人工ニューロンに関連付けられるスパイクをドロップするための手段と
を備える、装置。
【請求項１８】
前記乱数のシーケンスを前記生成するための手段は、第１の線形フィードバックシフトレジスタ（ＬＦＳＲ）を使用するための手段を備え、
前記乱数の別のシーケンスを前記生成するための手段は、前記第１のＬＦＳＲとは別の第２のＬＦＳＲを使用するための手段を備える、
請求項１７に記載の装置。
【請求項１９】
乱数の範囲限定シーケンスを取得するために、前記論理和ゲートのカスケードを通じてパスされた前記ビットと、第１のビットマスクとの間の論理積演算を実行するための手段をさらに備える、
請求項１７に記載の装置。
【請求項２０】
白色化された低値部分を有するＰＤＦを用いて乱数の別のシーケンスを取得するために、前記範囲限定シーケンスのビットと、第２のビットマスクとの間の論理和演算を実行するための手段をさらに備える、
請求項１９に記載の装置。
【請求項２１】
制御可能なマルチプレクサを使用して、前記第１のシーケンスを前記第２のシーケンスから切り離すための手段をさらに備える、
請求項１７に記載の装置。
【請求項２２】
前記プログラム可能なＰＤＦを用いて前記擬似乱数の第２のシーケンスを生成するために、前記マルチプレクサの出力、前記第１のシーケンスのビット、および前記別のシーケンスのビットを使用してビットレベル演算を実行するための手段をさらに備える、
請求項２１に記載の装置。
【請求項２３】
前記第２のシーケンスの前記プログラム可能なＰＤＦを調整するために、前記擬似乱数の第２のシーケンスと、ビットマスクとの間の論理和演算を実行するための手段をさらに備える、
請求項１７に記載の装置。
【請求項２４】
前記乱数のシーケンスを前記生成するための手段は、第１のゴールドコード発生器を使用するための手段を備え、
前記乱数の別のシーケンスを前記生成するための手段は、前記第１のゴールドコード発生器とは別の第２のゴールドコード発生器を使用するための手段を備える、
請求項１７に記載の装置。
【請求項２５】
装置が、乱数のシーケンスを生成することと、
前記装置が、プログラム可能な確率分布関数（ＰＤＦ）を用いて擬似乱数の第１のシーケンスを生成するために、前記生成された乱数のシーケンス上でビットレベル演算を実行すること、ここにおいて、前記生成された乱数のシーケンス上で前記ビットレベル演算を実行することは、
前記乱数のシーケンスのビット上で論理積演算を実行することと、
ビットマスク値を取得するために、前記論理積演算されたビットを論理和ゲートのカスケードを通じてパスすることと、
前記プログラム可能なＰＤＦを用いて前記擬似乱数の第１のシーケンスを生成するために、前記乱数のシーケンスのビットに前記ビットマスク値を適用することと
を備える、と、
前記装置が、乱数の別のシーケンスを生成することと、
前記装置が、プログラム可能なＰＤＦを用いて擬似乱数の第２のシーケンスを生成するために、前記第１のシーケンスと前記別のシーケンスとの間でビットレベル演算を実行することと、
前記擬似乱数の第２のシーケンスの前記ＰＤＦにしたがって、前記装置を備える人工神経系の人工ニューロンに関連付けられるスパイクをドロップすることと
を行うために実行可能な命令を有する非一時的コンピュータ可読媒体。
【請求項２６】
前記コンピュータ可読媒体は、
第１の線形フィードバックシフトレジスタ（ＬＦＳＲ）を使用することによって、前記乱数のシーケンスを生成することと、
前記第１のＬＦＳＲとは別の第２のＬＦＳＲを使用することによって、前記乱数の別のシーケンスを生成することと
を行うために実行可能な命令をさらに備える、請求項２５に記載のコンピュータ可読媒体。
【請求項２７】
乱数の範囲限定シーケンスを取得するために、前記論理和ゲートのカスケードを通じてパスされた前記ビットと、第１のビットマスクとの間の論理積演算を実行するために実行可能な命令をさらに備える、
請求項２５に記載のコンピュータ可読媒体。
【請求項２８】
白色化された低値部分を有するＰＤＦを用いて乱数の別のシーケンスを取得するために、前記範囲限定シーケンスのビットと、第２のビットマスクとの間の論理和演算を実行することを行うために実行可能な命令をさらに備える、
請求項２７に記載のコンピュータ可読媒体。
【請求項２９】
制御可能なマルチプレクサを使用して、前記第１のシーケンスを前記第２のシーケンスから切り離すことを行うために実行可能な命令をさらに備える、
請求項２５に記載のコンピュータ可読媒体。
【請求項３０】
前記プログラム可能なＰＤＦを用いて前記擬似乱数の第２のシーケンスを生成するために、前記マルチプレクサの出力、前記第１のシーケンスのビット、および前記別のシーケンスのビットを使用してビットレベル演算を実行することを行うために実行可能な命令をさらに備える、
請求項２９に記載のコンピュータ可読媒体。
【請求項３１】
前記第２のシーケンスの前記プログラム可能なＰＤＦを調整するために、前記擬似乱数の第２のシーケンスと、ビットマスクとの間の論理和演算を実行することを行うために実行可能な命令をさらに備える、
請求項２５に記載のコンピュータ可読媒体。
【請求項３２】
第１のゴールドコード発生器を使用することによって、前記乱数のシーケンスを生成することと、
前記第１のゴールドコード発生器とは別の第２のゴールドコード発生器を使用することによって、前記乱数の別のシーケンスを生成することと
を行うために実行可能な命令をさらに備える、請求項２５に記載のコンピュータ可読媒体。
【国際調査報告】
2016541038.tif 000037
2016541038.tif 000038
2016541038.tif 000039
2016541038.tif 000040
2016541038.tif 000041