(57)【特許請求の範囲】
【請求項１】
ニューラル・ネットワークの更新管理のためのコンピュータ実装方法であって、
抵抗型処理ユニット（ＲＰＵ）を使用して前記ニューラル・ネットワークに対して、乗算の被乗数と乗数とを使用する等方的更新プロセスを実行するステップを含み、
前記実行するステップは、前記被乗数と前記乗数とを同じ桁を有するようにスケーリングするステップを含み、
１つまたは複数の確率的変換器によって、前記ニューラル・ネットワークのニューロンに対応する数値の組を確率的ビット・ストリームに変換することを含み、
スケーリング係数が、前記１つまたは複数の確率的変換器の増幅係数に適用されることを含む、
コンピュータ実装方法。
【請求項２】
前記被乗数および前記乗数が、前記スケーリングの前と後とで同じ積を維持するようにスケーリングされる、請求項１に記載のコンピュータ実装方法。
【請求項３】
前記スケーリングするステップは、前記等方的更新プロセスの入力に適用される入力調整プロセスにおいて実行される、請求項１に記載のコンピュータ実装方法。
【請求項４】
前記入力調整プロセスは、前記被乗数と前記乗数との桁の相違の結果として生じる偽空間相関を解消する、請求項３に記載のコンピュータ実装方法。
【請求項５】
前記等方的更新プロセスは、単一の更新サイクルのみを使用して実行される、請求項１に記載のコンピュータ実装方法。
【請求項６】
ＲＰＵアレイがアナログ・ベクトル行列乗算を実行するように構成された、請求項１に記載のコンピュータ実装方法。
【請求項７】
前記等方的更新プロセスが、１つまたは複数の所定の基準を満たすビット長を有する前記確率的ビット・ストリームのそれぞれに対して実行される、請求項１に記載のコンピュータ実装方法。
【請求項８】
前記１つまたは複数の所定の基準が最小ビット・ストリーム長を含む、請求項７に記載のコンピュータ実装方法。
【請求項９】
前記１つまたは複数の確率的変換器が第１の確率的変換器と第２の確率的変換器とを含み、前記スケーリングするステップが、前記第１の確率的変換器の増幅係数に前記スケーリング係数を乗じることと、前記第２の確率的変換器の増幅係数を前記スケーリング係数で割ることとを含む、請求項１に記載のコンピュータ実装方法。
【請求項１０】
１つまたは複数の決定論的変換器によって、前記ニューラル・ネットワークのニューロンに対応する数値の組を決定論的ビット・ストリームに変換することをさらに含む、請求項１に記載のコンピュータ実装方法。
【請求項１１】
前記等方的更新プロセスが、１つまたは複数の所定の基準を満たすビット長を有する前記決定論的ビット・ストリームのそれぞれに対して実行される、請求項１０に記載のコンピュータ実装方法。
【請求項１２】
前記１つまたは複数の所定の基準が最小ビット・ストリーム長を含む、請求項１１に記載のコンピュータ実装方法。
【請求項１３】
前記スケーリング係数が、前記１つまたは複数の決定論的変換器の増幅係数に適用される、請求項１に記載のコンピュータ実装方法。
【請求項１４】
前記１つまたは複数の決定論的変換器が第１の決定論的変換器と第２の決定論的変換器とを含み、前記スケーリングするステップが、前記第１の決定論的変換器の増幅係数に前記スケーリング係数を乗じることと、前記第２の決定論的変換器の増幅係数を前記スケーリング係数で割ることとを含む、請求項１０に記載のコンピュータ実装方法。
【請求項１５】
請求項１〜１４の何れか１項に記載の方法の各ステップをコンピュータ・ハードウェアによる手段として構成した、コンピュータ処理システム。
【請求項１６】
請求項１〜１４の何れか１項に記載の方法の各ステップをコンピュータに実行させる、コンピュータ・プログラム。
【請求項１７】
請求項１６に記載の前記コンピュータ・プログラムをコンピュータ可読記録媒体に記録した、コンピュータ可読記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般には、抵抗型処理ユニット（Ｒｅｓｉｓｔｉｖｅ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ：ＲＰＵ）に関し、詳細には、抵抗型処理ユニット・アレイの更新管理に関する。
【背景技術】
【０００２】
抵抗型処理ユニット（Ｒｅｓｉｓｔｉｖｅ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ：ＲＰＵ）は、ディープ・ニューラル・ネットワーク・トレーニングに使用可能な抵抗型デバイスのアレイである。ＲＰＵは、全結合層、畳み込み層、回帰層などからなる。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
しかし、ＲＰＵの更新は時間集約的および資源集約的となることがある。したがって、ＲＰＵ更新の改良の必要がある。従って本発明の解決しようとする課題はＲＰＵアレイの更新管理方法、プログラム、システムを提供することである。
【課題を解決するための手段】
【０００４】
本発明の一態様によると、ニューラル・ネットワークの更新管理のためのコンピュータ実装方法が提供される。この方法は、抵抗型処理ユニットを使用してニューラル・ネットワークに対して等方的更新プロセスを実行するステップを含む。等方的更新プロセスは、乗算の被乗数と乗数とを使用する。実行するステップは、被乗数と乗数とを同じ桁を有するようにスケーリングするステップを含む。
【０００５】
本発明の別の態様によると、ニューラル・ネットワークの更新管理のためのコンピュータ・プログラム製品が提供される。コンピュータ・プログラム製品は、プログラム命令が具現化された非一過性のコンピュータ可読記憶媒体を含む。プログラム命令は、コンピュータに方法を実行させるようにコンピュータにより実行可能である。方法は、抵抗型処理ユニットを使用してニューラル・ネットワークに対して等方的更新プロセスを実行することを含む。等方的更新プロセスは、乗算の被乗数と乗数とを使用する。実行するステップは、被乗数と乗数とを同じ桁を有するようにスケーリングするステップを含む。
【０００６】
本発明のさらに別の態様によると、ニューラル・ネットワークの更新管理のためのコンピュータ処理システムが提供される。コンピュータ処理システムは、ニューラル・ネットワークに対して等方的更新プロセスを実行するように構成された抵抗型処理ユニット（ＲＰＵ）を含む。等方的更新プロセスは、乗算の被乗数と乗数とを使用する。ＲＰＵは、被乗数と乗数とを同じ桁を有するようにスケーリングすることによって等方的更新プロセスを実行するように構成される。
【０００７】
上記およびその他の特徴および利点は、添付図面とともに読まれるべき例示の実施形態の以下の詳細な説明から明らかになるであろう。
【０００８】
以下の説明では、以下の図面を参照しながら、好ましい実施形態の詳細を示す。
【図面の簡単な説明】
【０００９】
【図１】本発明の一実施形態による、本発明の原理を適用可能な例示の処理システムを示す図である。
【図２】本発明の一実施形態による、ＲＰＵアレイにおける例示のアナログ・ベクトル行列乗算を示す図である。
【図３】本発明の一実施形態による、ＲＰＵアレイにおける別の例示のアナログ・ベクトル行列乗算を示す図である。
【図４】本発明の一実施形態による、本発明を適用可能な例示の更新動作を示す図である。
【図５】本発明の一実施形態による、本発明を適用可能なＲＰＵアレイのための確率的更新規則回路を示す図である。
【図６】本発明の一実施形態による、図５の確率的更新規則回路に対応する更新サイクルを示す図である。
【図７】本発明の一実施形態による、ＲＰＵアレイの例示の更新管理のための方法を示す図である。
【発明を実施するための形態】
【００１０】
本発明は、抵抗型処理ユニット（ＲＰＵ）アレイの更新管理を対象とする。
【００１１】
一実施形態では、トレーニングに要する最小のサイクル量を使用すると同時に、全体的パフォーマンスを向上させることによって、ＲＰＵの更新サイクルを十分に活用するために、ＲＰＵの等方的更新方式が提案される。
【００１２】
本発明は、確率的ビット・ストリームと決定論的ビット・ストリームのいずれにも適用可能である。
【００１３】
一実施形態では、ＲＰＵのために提案される更新方式は、確率的ビット・ストリームをポピュレートすることと、確率的ビット・ストリームのうちの同時入力（コインシデンス）（coinciding）ビット・ストリームを使用して更新を行うこととを含む。
【００１４】
一実施形態では、本発明は、互いに複数桁異なる２つの数値を乗算する必要があることから生じる偽空間相関を解消するために、確率的更新サイクルを実行する前に入力を調整する。すなわち、一実施形態では、確率的更新方式における被乗数が同じ桁を有する。この方法を使用すると、更新サイクルを加速する１回の更新を使用してＲＰＵアレイ更新を完了し、ＣＮＮおよびＤＮＮトレーニングのＲＰＵ試験精度が大幅に向上する。
【００１５】
最短のビット・ストリームを使用することにより、更新サイクルを可能な限り速くする。この場合はＢＬ＝１に対応し、更新サイクルが単一のパルスにより動作させられる（ｘｉδｊ値に関しては確率的なままとしながら、最大可能更新と最小可能更新を同じにする）。
【００１６】
この単一パルス窓を可能な限り効率的に使用するために、発明者等は、より等方的な方式で更新を行う方法を提案する。
【００１７】
一実施形態では、本発明は、ハードウェア欠陥によって生じる問題を解決することができる。一実施形態では、本発明は、ノード間の相関を低減することによって、非対称挙動を有する（ＲＰＵにおける）抵抗素子の影響を低減する。本発明は、偶然性を高めるとともに試験結果に与えるデバイス欠陥の影響を最小限にするために、値をスケーリングすることを含むことができる。
【００１８】
本明細書では、確率的更新パルスの使用に関する１つまたは複数の実施形態について説明するが、本明細書に示す本発明の教示が与えられれば当業者にはわかるように、本発明は、本発明の思想を維持しながら決定論的更新パルスにも容易に適用される。
【００１９】
図１に、本発明の一実施形態による、本発明の原理を適用可能な例示の処理システム１００を示す。
【００２０】
処理システム１００は、１つまたは複数の非線形フィルタ（ＮＬＦ）（参照番号１１０によって総称的および個別的に示す）と、１つまたは複数の抵抗型処理ユニット（ＲＰＵ）（参照番号１２０によって総称的および個別的に示す）と、１つまたは複数のメモリ（参照番号１３０によって総称的および個別的に示す）と、１つまたは複数の入力／出力（Ｉ／Ｏ）回路（参照番号１４０によって総称的および個別的に示す）とを相互接続するためのバス１０２を含む。
【００２１】
処理システム１００の集積回路（ＩＣ）実装形態の場合、バス１０２によってオンチップ通信が可能になるとともに、Ｉ／Ｏ回路１４０によってオフチップ通信が可能になる。
【００２２】
当然ながら、当業者には容易に企図されるように、処理システム１００は他の要素（図示せず）も含んでよく、特定の要素を省いてもよい。例えば、当業者には容易にわかるように、処理システム１００の特定の実装形態に応じて、処理システム１００に他の様々な入力デバイスまたは出力デバイスあるいはその両方を含めることができる。例えば、様々な種類の無線または有線あるいはその両方の、入力デバイスまたは出力デバイスあるいはその両方を使用することができる。また、当業者には容易にわかるように、様々な構成で追加のＲＰＵ、プロセッサ、コントローラ、メモリなども使用することができる。本明細書で示される本発明の教示が与えられれば、処理システム１００の上記およびその他の様々な変形が、当業者により容易に企図される。
【００２３】
図２に、本発明の一実施形態による、ＲＰＵアレイにおける例示のアナログ・ベクトル行列乗算２００を示す。
【００２４】
アナログ・ベクトル行列乗算２００は、１組のデジタル入力値（δ）２１０を含み、デジタル入力値（δ）２１０のそれぞれは、それぞれのアナログ信号パルス幅２２０によって表される。アナログ信号パルス幅２２０は、オペアンプ２３１の反転入力とオペアンプ２３１の出力とに（両端間に）キャパシタ（Ｃｉｎｔ）２３２が接続されているオペアンプ２３１を有する演算増幅器（オペアンプ）集積回路２３０に供給される。オペアンプ２３１の非反転入力は、接地に接続されている。オペアンプ２３１の出力は、アナログ−デジタル変換器（ＡＤＣ）２４０の入力にも接続されている。ＡＤＣ２４０は、ＲＰＵアレイにおけるアナログ・ベクトル行列乗算２００の（デジタル化された）結果を表す信号ｙ１を出力する。
【００２５】
図３に、本発明の一実施形態によるＲＰＵアレイにおける別の例示のアナログ・ベクトル行列乗算３００を示す。乗算３００は、基本的には図２に示すものであるが、異なる形式（表現）を使用する。
【００２６】
アナログ・ベクトル行列演算３００は、オペアンプ集積回路３３０の反転入力に与えられる１組の入力値３２０を含む。オペアンプ集積回路３３０は、キャパシタ（Ｃｉｎｔ）３３２を備えたオペアンプ３３１を含む。入力値３２０は、入力電圧Ｖｉｎと、対応する相互コンダクタンス
【数１】
0006986569.tif 000002
ないし
【数２】
0006986569.tif 000003
および
【数３】
0006986569.tif 000004
ないし
【数４】
0006986569.tif 000005
に対応する。オペアンプ３３１の非反転入力が接地に接続されている。キャパシタ３３２は、オペアンプ３３１の反転入力とオペアンプ３３１の出力とに（両端間に）接続されている。オペアンプの出力は、アナログ−デジタル変換器（ＡＤＣ）３４０の入力にも接続されている。オペアンプ３３１は、ＲＰＵアレイにおけるアナログ・ベクトル行列乗算３００の結果を表す信号Ｖｏｕｔを出力する。ＡＤＣ３４０は、オペアンプ３３１からのアナログ出力Ｖｏｕｔをデジタル信号に変換する。
【００２７】
図４に、本発明の一実施形態による、本発明を適用可能な例示の更新動作４００を示す。
【００２８】
更新動作４００は、初期ベクトル入力δ４１１と初期ベクトル入力ｘ４１２とを抵抗型処理ユニット（ＲＰＵ）４２０に供給することを含む。ＲＰＵ４２０の出力は、以下のように与えられる。
ｗｉｊ＝ｗｉｊ＋η（ｘｉ×δｊ）
ここで、ｗｉｊはｉ番目の行とｊ番目の列との接続の重みを表し、ηは学習率（スカラ値）、ｘｉは入力ニューロンにおける活動、δｊは出力ニューロンによって計算される誤差を表す。
【００２９】
一実施形態では、ＲＰＵは、３サイクル、すなわち、前方サイクルと、後方サイクルと、重み更新サイクル（本明細書では「重み更新」と略す）とを含むバックプロパゲーション法を使用してトレーニングされる。前方サイクルおよび後方サイクルは、主として、前方および後方方向にベクトル行列乗算を計算することを含む。本発明は、基本的に重み更新サイクルを対象とする。
【００３０】
図５に、本発明の一実施形態による、本発明を適用可能なＲＰＵアレイのための確率的更新規則回路５００を示す。図６に、本発明の一実施形態による、図５の更新規則回路５００に対応する更新サイクル６００を示す。
【００３１】
確率的更新規則回路５００は、変換器（ＴＲ）５１０と、ＴＲ５２０と、ＡＮＤ（＆）ゲート５３０と、加算器５４０とを含む。ＴＲは、確率的変換器（ＳＴＲ）または決定論的変換器（ＤＴＲ）とすることができる。例示のために、以下、変換器（ＴＲ）５１０および５２０を確率的変換器（ＳＴＲ）と呼び、確率的ストリームに関わるものとして説明する。しかし、本明細書に記載の本発明の教示が与えられれば当業者には容易に判断されるように、本発明の思想を維持しながらＳＴＲを容易にＤＴＲに置き換えることができ、決定論的ストリームに関して使用可能である。
【００３２】
ＳＴＲ５１０は、入力ｘｉおよび出力
【数５】
0006986569.tif 000006
を受け取る。入力ｘｉは入力ニューロンにおける活動を表す。
【数６】
0006986569.tif 000007
は、ベルヌーイ過程によって特徴づけられるランダム変数を示し、上付き文字ｎは試行シーケンスにおけるビット位置を示す。
【００３３】
ＳＴＲ５２０は、入力δｊおよび出力
【数７】
0006986569.tif 000008
を受け取る。入力δｊは出力ニューロンによって計算される誤差を表す。
【数８】
0006986569.tif 000009
は、ベルヌーイ過程によって特徴づけられるランダム変数を示し、上付き文字ｎは試行シーケンスにおけるビット位置を示す。
【００３４】
ＳＴＲ５１０および５２０はそれぞれ、ＳＴＲ増幅係数であるパラメータＣを含む。具体的には、ＳＴＲ５１０は、ｘベクトルの増幅係数Ｃｘを含み、ＳＴＲ５２０は、δベクトルの増幅係数Ｃδを含む。したがって、
【数９】
0006986569.tif 000010
および
【数１０】
0006986569.tif 000011
の確率は、それぞれＣｘｘｉおよびＣδδｊによって与えられる。一実施形態では、増幅係数ＣｘおよびＣδは非線形フィルタ（例えば、図１のＮＬＦフィルタ１１０など）によって制御される。
【００３５】
加算器５４０は、入力Δｗｍｉｎおよびｗｉｊと出力（更新された）ｗｉｊを受け取る。パラメータΔｗｍｉｎは、漸増的重み変化につながる単一のコインシデンス事象によるＲＰＵデバイスにおける漸増的コンダクタンス変化に対応する。ＲＰＵデバイスに記憶されたコンダクタンス値も同様に重み値となる。
【００３６】
確率的更新規則回路５００によって実装される確率的更新規則は、以下の通りである。
【数１１】
0006986569.tif 000012
ここで、ｗｉｊはｉ番目の行とｊ番目の列との接続の重みを示し、Δｗｍｉｎは、単一コインシデンス事象による（および、電圧によって制御され得るデバイス・パラメータとみなされる）漸増的コンダクタンス変化（すなわち重み値の変化）を示し、ＢＬは、（更新サイクル中に使用されるＳＴＲの出力における）確率的ビット・ストリームの長さを示し、
【数１２】
0006986569.tif 000013
および
【数１３】
0006986569.tif 000014
は、ベルヌーイ過程によって特徴づけられるランダム変数を示し、上付き文字ｎは試行シーケンスにおけるビット位置を示す。
【００３７】
確率的更新規則回路５００において、ニューロンから符号化される数値（ｘｉおよびδｊ）がＳＴＲ５１０および５２０によって確率的ビット・ストリームに変換される。
【００３８】
確率的ビット・ストリーム長ＢＬを大きくすると誤差は減少するが、その結果、更新時間が増大することになる。一実施形態では、ベースライン・モデルと同様の分類誤差に達することを可能にするＢＬ値の許容可能範囲は、以下のように求められる。ベースライン・モデルに使用される学習率に合致させるために
【数１４】
0006986569.tif 000015
およびＣ＝１を設定しながら、異なるＢＬ値を使用してトレーニングを行う。確率論的モデルがベースライン・モデルと区別できなくなるのに、１０という小さいＢＬの値で十分であることが確認された。
【００３９】
さらに、確率的更新規則の場合、単一の更新サイクルの重み値の変化は、ＢＬΔｗｍｉｎで境界が示され、この条件は、ＳＴＲ５１０および５２０からパルスを発生させる確率（Ｃｘｉ）および（Ｃδｊ）が単位元に近いかより大きい場合に起こり得る。重み更新におけるこのクリッピングの影響も考慮に入れられ、例えば１０という小さいＢＬの場合にパフォーマンスを低下させない。
【００４０】
また、（大域的）学習率ηは、制御すべき重要なハイパー・パラメータである。
【００４１】
学習率制御は、以下によって実装される。
η←ＢＬΔｗｍｉｎＣ２
【００４２】
最も一般的な形態では、確率論的モデルの重み値の平均変化を以下のように書くことができる。
【数１５】
0006986569.tif 000016
【００４３】
したがって、確率論的モデルの学習率は３つのパラメータ、すなわちＢＬとΔｗｍｉｎとＣとによって制御される。これら３つのパラメータは、ベースライン・モデルで使用される学習率と合致するように調整することができる。
【００４４】
学習が進む間に、ネットワークがより良好になる（したがってネットワークが必要とする更新がより少なくなる）ため、δ値が小さくなる。一方、ｘ値（Δｗ＝ηｘδ）は、使用される双曲線正接活性化関数のために１または−１になる（シグモイド関数であれば０または１となる）。
【００４５】
被乗数の桁が異なる（例えば１と１０−６）場合、個々のポピュレーションにおいて「高」パルスを有する確率が大幅に異なる（すなわち、一方が多少とも確実であるのに対して他方はまったく不可能である）ことを意味し、確率的更新規則（コインシデンス検出）の作用が低下する。
【００４６】
δ列が発火すると、ｘ行が確実に発火する（値１または−１を有する）ため、その列内のすべてのノードが更新される。これにより、非現実的な空間相関が生じ、プロセスを阻害する。
【００４７】
本発明の一実施形態によると、値が同等（同じ）になるように、積を同じに維持したまま値をスケーリングすることができる。例えば、
【数１６】
0006986569.tif 000017
とする。
η←ＢＬΔｗｍｉｎＣ２
【数１７】
0006986569.tif 000018
ここで、上記のηの式において、“
【数１８】
0006986569.tif 000019
”はＣｘを表し、“（Ｃγ）”はＣδを表す。
【００４８】
一実施形態では、更新サイクルを可能な限り短くすることができるように、ビット長ＢＬが１に短縮される。
【００４９】
本発明による等方的更新方式は、ｘ値とδ値との桁の大幅な相違によって生じる偽空間相関を解消することによって、畳み込みニューラル・ネットワーク（Ｃｏｎｖｏｌｕｔｉｏｎａｌ  Ｎｅｕｒａｌ  Ｎｅｔｗｏｒｋ：ＣＮＮ）とディープ・ニューラル・ネットワーク（Ｄｅｅｐ  Ｎｅｕｒａｌ  Ｎｅｔｗｏｒｋ：ＤＮＮ）の両方における試験精度を向上させる。
【００５０】
「高」パルスを含む確率が類似したストリームを使用することにより、更新機構のエントロピーが高くなり、より良好な結果をもたらす。
【００５１】
一実施形態では、回路の複雑さを増すことなく、本発明に関するすべての演算がデジタル領域で行われる。
【００５２】
図６を参照すると、以下の式が適用される。
Ｐｉ＝Ｃｘｘｉ
Ｐｊ＝Ｃδδｊ
【００５３】
図６において、更新パルス（例えば確率的更新パルス）６１１がＲＰＵアレイ６１２に適用される。特定の行ｊにおいてパルスを発生させる確率は、その行のＳＴＲによって制御されるＰｊによって与えられる。同様に、特定の列ｉにおいてパルスを発生させる確率は、その列のＳＴＲによって制御されるＰｉによって与えられる。ｉ番目の列およびｊ番目の行から発生されたこれらのパルスの一部は、ＲＰＵデバイスにおいて重なって（同時入力（コインシデンス））漸増的コンダクタンス変化を生じさせる。この漸増的コンダクタンス変化は、漸増的重み変化（Δｗｍｉｎ）に相当する。
【００５４】
本明細書で示される本発明の教示が与えられれば当業者に容易にわかるように、決定論的更新パルスの場合は、本発明の思想を維持しながら、確率的変換器（Ｓｔｏｃｈａｓｔｉｃ  Ｔｒａｎｓｌａｔｏｒ：ＳＴＲ）を決定論的変換器（Ｄｅｔｅｒｍｉｎｉｓｔｉｃ  Ｔｒａｎｓｌａｔｏｒ：ＤＴＲ）に置き換えることができる。
【００５５】
図７に、本発明の一実施形態による、ＲＰＵアレイの更新管理のための例示的方法７００を示す。
【００５６】
ステップ７１０で、ニューロンから数値（例えばｘｉおよびδｊ）を受け取る。
【００５７】
ステップ７２０で、更新管理を使用するか否かを判断する。使用する場合、ステップ７３０に進む。使用しない場合は、ステップ７９０に進む。
【００５８】
ステップ７３０で、スケーリング係数γを以下のように求める。
【数１９】
0006986569.tif 000020
【００５９】
ステップ７４０で、スケーリングされた数値ＣｘｘｉとＣδδｊの桁数が等しくなるように、スケール係数γを使用して数値（ｘｉおよびδｊ）をスケーリングする。
【００６０】
ステップ７５０で、スケーリングされた数値を、１組のＴＲによって、それぞれがそれぞれのビット長（ＢＬ）を有するビット・ストリーム（例えば確率的または決定論的ビット・ストリーム）に変換する。
【００６１】
ステップ７６０で、ニューラル・ネットワーク更新を適用する。
【００６２】
ステップ７７０で、ニューラル・ネットワーク更新サイクルによって更新されたニューラル・ネットワークを、特定のオブジェクトに対応する入力信号に適用する。
【００６３】
ステップ７８０で、ニューラル・ネットワークの出力に基づいて、その特定のオブジェクトに関するアクションを行うか、またはその特定のオブジェクトの状態を（別の状態に）変更する。
【００６４】
ステップ７９０で、ＣｘおよびＣδを使用して数値（ｘｉおよびδｊ）を以下のようにスケーリングする。
【数２０】
0006986569.tif 000021
【００６５】
本発明は、音声認識、話者認識、ジェスチャー認識、音響認識、自然言語認識、コンピュータ・ビジョン、バイオインフォマティクスなどを含むがこれらには限定されない、ニューラル・ネットワークに関係する多くの用途に適用可能であることを理解すべきである。したがって、ステップ７７０およびステップ７８０は、上記の用途のいずれかに関係し得る。したがって、例えば、音声認識に関しては、音声発話をその文字表現に変換することができる。また、さらに音声認識に関しては、発話されたパスワード、提示された生体識別情報（例えば指紋）、話者、物体などのいずれかを認識すると、ハードウェアまたはその他の種類のロックを解除することができる。
【００６６】
本発明は、任意の可能な技術的統合詳細度のシステム、方法、またはコンピュータ・プログラム製品、あるいはその組合せとすることができる。コンピュータ・プログラム製品は、プロセッサに本発明の態様を実施させるためのコンピュータ可読プログラム命令を有するコンピュータ可読記憶媒体（または複数のコンピュータ可読記憶媒体）を含み得る。
【００６７】
コンピュータ可読記憶媒体は、命令実行デバイスによって使用されるための命令を保持し、記憶することができる有形デバイスとすることができる。コンピュータ可読記憶媒体は、例えば、電子ストレージ・デバイス、磁気ストレージ・デバイス、光学式ストレージ・デバイス、電磁気ストレージ・デバイス、半導体ストレージ・デバイス、またはこれらの任意の適合する組合せであってよいが、これらには限定されない。コンピュータ可読記憶媒体のより具体的な例の非網羅的なリストには以下のものが含まれる。すなわち、可搬コンピュータ・ディスケット、ハード・ディスク、ランダム・アクセス・メモリ（ＲＡＭ）、読み取り専用メモリ（ＲＯＭ）、消去可能プログラマブル読み取り専用メモリ（ＥＰＲＯＭまたはフラッシュ・メモリ）、スタティック・ランダム・アクセス・メモリ（ＳＲＡＭ）、可搬コンパクト・ディスク読み取り専用メモリ（ＣＤ−ＲＯＭ）、デジタル多用途ディスク（ＤＶＤ）、メモリ・スティック、フロッピィ・ディスク、パンチカードまたは命令が記録された溝内の隆起構造などの機械的に符号化されたデバイス、およびこれらの任意の適合する組合せが含まれる。本明細書で使用されるコンピュータ可読記憶媒体とは、電波またはその他の自由に伝播する電磁波、導波路またはその他の伝送媒体を伝播する電磁波（例えば光ファイバ・ケーブルを通る光パルス）、または電線を介して伝送される電気信号などの、一過性の信号自体であると解釈すべきではない。
【００６８】
本明細書に記載のコンピュータ可読プログラム命令は、コンピュータ可読記憶媒体からそれぞれのコンピューティング／処理デバイスに、または、ネットワーク、例えばインターネット、ローカル・エリア・ネットワーク、ワイド・エリア・ネットワーク、または無線ネットワークあるいはこれらの組合せを介して外部コンピュータまたは外部ストレージ・デバイスにダウンロードすることができる。ネットワークは、銅伝送ケーブル、光伝送ファイバ、無線伝送、ルータ、ファイアウォール、交換機、ゲートウェイ・コンピュータ、またはエッジ・サーバあるいはこれらの組合せを含んでよい。各コンピューティング／処理デバイスにおけるネットワーク・アダプタ・カードまたはネットワーク・インターフェースが、ネットワークからコンピュータ可読プログラム命令を受信し、それらのコンピュータ可読プログラム命令を、それぞれのコンピューティング／処理デバイス内のコンピュータ可読記憶媒体への記憶のために転送する。
【００６９】
本発明の動作を実行するためのコンピュータ可読プログラム命令は、アセンブラ命令、インストラクション・セット・アーキテクチャ（ＩＳＡ）命令、マシン命令、機械依存命令、マイクロコード、ファームウェア命令、状態設定データ、または、Ｊａｖａ（Ｒ）、Ｓｍａｌｌｔａｌｋ（Ｒ）、Ｃ＋＋などのオブジェクト指向プログラミング言語および「Ｃ」プログラミング言語または同様のプログラム言語などの従来の手続き型プログラミング言語を含む、１つまたは複数のプログラミング言語の任意の組合せで書かれたソース・コードまたはオブジェクト・コードとすることができる。コンピュータ可読プログラム命令は、スタンドアロン・ソフトウェア・パッケージとして全体がユーザのコンピュータ上で、または一部がユーザのコンピュータ上で、または一部がユーザのコンピュータ上で一部がリモート・コンピュータ上で、または全体がコンピュータまたはサーバ上で実行されてよい。後者の場合、リモート・コンピュータは、ローカル・エリア・ネットワーク（ＬＡＮ）またはワイド・エリア・ネットワーク（ＷＡＮ）を含む、任意の種類のネットワークを介してユーザのコンピュータに接続することができ、または接続は（例えば、インターネット・サービス・プロバイダを使用してインターネットを介して）外部コンピュータに対して行ってもよい。実施形態によっては、本発明の態様を実行するために、例えばプログラマブル・ロジック回路、フィールド・プログラマブル・ゲート・アレイ（ＦＰＧＡ）、またはプログラマブル・ロジック・アレイ（ＰＬＡ）を含む電子回路が、コンピュータ可読プログラム命令の状態情報を使用して電子回路をパーソナライズすることにより、コンピュータ可読プログラム命令を実行することができる。
【００７０】
本明細書では、本発明の態様について、本発明の実施形態による方法、装置（システム）、およびコンピュータ・プログラム製品を示すフローチャート図またはブロック図あるいはその両方を参照しながら説明している。フローチャート図またはブロック図あるいはその両方の図の各ブロックおよび、フローチャート図またはブロック図あるいはその両方の図のブロックの組合せは、コンピュータ可読プログラム命令によって実装可能であることはわかるであろう。
【００７１】
上記のコンピュータ可読プログラム命令は、コンピュータまたはその他のプログラマブル・データ処理装置のプロセッサを介して実行される命令が、フローチャートまたはブロック図あるいはその両方のブロックで規定されている機能／動作を実装する手段を形成するように、汎用コンピュータ、特殊目的コンピュータ、またはその他のプログラマブル・データ処理装置のプロセッサに供給されて、マシンを作り出すものであってよい。これらのコンピュータ可読プログラム命令は、命令が記憶されたコンピュータ可読記憶媒体が、フローチャートまたはブロック図あるいはその両方のブロックで規定されている機能／動作の態様を実装する命令を含む製造品を含むように、コンピュータ可読媒体に記憶され、コンピュータ、プログラマブル・データ処理装置、またはその他の装置あるいはこれらの組合せに対して特定の方式で機能するように指示することができるものであってもよい。
【００７２】
コンピュータ可読プログラム命令は、コンピュータ、その他のプログラマブル装置またはその他のデバイス上で実行される命令がフローチャートまたはブロック図あるいはその両方のブロックで規定されている機能／動作を実装するように、コンピュータ実装プロセスを作り出すべく、コンピュータ、その他のプログラマブル・データ処理ユニット、またはその他のデバイスにロードされ、コンピュータ、その他のプログラマブル装置、またはその他のデバイス上で一連の動作ステップを実行させるものであってもよい。
【００７３】
図面中のフローチャートおよびブロック図は、本発明の様々な実施形態によるシステム、方法およびコンピュータ・プログラム製品の可能な実装形態のアーキテクチャ、機能および動作を示す。その際、フローチャートまたはブロック図の各ブロックは、規定されている論理機能を実装するための１つまたは複数の実行可能命令を含む、命令のモジュール、セグメント、または部分を表すことがある。別の装形態では、ブロックに記載されている機能は、図に記載されている順序とは異なる順序で行われてもよい。例えば、連続して示されている２つのブロックは、関係する機能に応じて、実際には実質的に並行して実行されてよく、またはそれらのブロックは場合によっては逆の順序で実行されてもよい。また、ブロック図またはフローチャート図あるいはその両方の図の各ブロック、およびブロック図またはフローチャート図あるいはその両方の図のブロックの組合せは、規定されている機能または動作を実行する特殊目的ハードウェア・ベースのシステムによって実装されるか、または特殊目的ハードウェアとコンピュータ命令との組合せを実施することもわかるであろう。
【００７４】
本明細書において、本発明の「一実施形態」または「実施形態」およびこれらのその他の変形に言及する場合、その実施形態に関連して記載されている特定の特徴、構造、特性などが本発明の少なくとも１つの実施形態に含まれることを意味する。したがって、本明細書全体を通じて様々な個所に記載されている「一実施形態では」または「実施形態では」という語句およびその他の変形の記載は、必ずしもすべてがその同じ実施形態を指しているわけではない。
【００７５】
例えば、「Ａ／Ｂ」、「ＡまたはＢあるいはその両方」、および「ＡおよびＢのうちの少なくとも一方」という場合の「／」、「または〜あるいはその両方」、および「のうちの少なくとも一方」のいずれかの使用は、最初に挙げた選択肢（Ａ）のみの選択、または２番目に挙げた選択肢（Ｂ）のみの選択、または両方の選択肢（ＡおよびＢ）の選択を含むことを意図しているものと理解すべきである。他の例として、「Ａ、ＢまたはＣあるいはその組合せ」および「Ａ、ＢおよびＣのうちの少なくとも１つ」の場合、このような語句は、最初に挙げた選択肢（Ａ）のみの選択、または２番目に挙げた選択肢（Ｂ）のみの選択、または３番目に挙げた選択肢（Ｃ）のみの選択、または最初に挙げた選択肢と２番目に挙げた選択肢（ＡおよびＢ）のみの選択、または最初に挙げた選択肢と３番目に挙げた選択肢（ＡおよびＣ）のみの選択、または２番目に挙げた選択肢と３番目に挙げた選択肢（ＢおよびＣ）のみの選択、または３つの選択肢すべて（ＡおよびＢおよびＣ）の選択を含むことを意図している。当業者には容易にわかるように、このことは挙げられている項目の数だけ拡大適用することができる。
【００７６】
システムおよび方法の好ましい実施形態（これらは例示を意図したものであって限定的であることを意図したものではない）について説明したが、当業者は上述の教示に鑑みて修正および変形を加えることができることに留意されたい。したがって、開示されている特定の実施形態に、添付の特許請求の範囲によって要約されている本発明の範囲に含まれる変更を加えてもよいことを理解すべきである。以上、本発明の態様について、特許法によって特に必要とされる詳細とともに説明したが、特許状によって特許請求され、保護されるものは、添付の特許請求の範囲に記載されている。
【図１】
0006986569.tif 000022
【図２】
0006986569.tif 000023
【図３】
0006986569.tif 000024
【図４】
0006986569.tif 000025
【図５】
0006986569.tif 000026
【図６】
0006986569.tif 000027
【図７】
0006986569.tif 000028