(57)【要約】【課題】階層型パルスニューラルネットワークに適用可能なバックプロパゲーション学習法を提供する。【解決手段】パルスニューロンモデルの双対性を利用して教師信号を生成し、該教師信号を用いて学習を行うことを特徴とするパルスニューロンモデルのためのバックプロパゲーション学習法。パルスニューロンモデルの双対性を利用して教師信号を生成することにより、誤差関数を微分する計算が必要でなくなり、階層型パルスニューラルネットワークに適用可能となる。【選択図】図３
2010123072.tif 000002
【特許請求の範囲】
【請求項１】
パルスニューロンモデルの双対性を利用して教師信号を生成し、該教師信号を用いて学習を行うことを特徴とするパルスニューロンモデルのためのバックプロパゲーション学習法。
【請求項２】
中間層のｊ番目のパルスニューロンモデルに与えられる教師信号をＴｊ、前記中間層を前段としたときの後段の層（以下、「出力層」という。）のｋ番目のパルスニューロンモデルの出力電位をｐＯｋ（ｔ）（但し、ｔは時間）、前記出力層のｋ番目のパルスニューロンモデルの教師電位をｐＴｋ（ｔ）、前記中間層のｊ番目のパルスニューロンモデルの出力をＨｊ（ｔ）、前記中間層のｊ番目のパルスニューロンモデルと前記出力層のｋ番目のパルスニューロンモデルとの間の結合重みをｗＯｋｊ（ｔ）、学習係数をαＯ、前記出力層のパルスニューロンモデルの数をＫ、経過時間をＡ、膜電位の減衰定数をβ≡ｅｘｐ（−１／τ）（但し、τは入力電位の時定数）としたとき、下記式により計算される教師信号Ｔｊにより前記中間層のｊ番目のパルスニューロンモデルが学習を行うことを特徴とする請求項１記載のパルスニューロンモデルのためのバックプロパゲーション学習法。
【数１２】
2010123072.tif 000026
【請求項３】
中間層のｊ番目のパルスニューロンモデルに与えられる教師信号をＴｊ、前記中間層を前段としたときの後段の層（以下、「出力層」という。）のｋ番目のパルスニューロンモデルの出力電位をｐＯｋ（ｔ）（但し、ｔは時間）、前記出力層のｋ番目のパルスニューロンモデルの教師電位をｐＴｋ（ｔ）、前記中間層のｊ番目のパルスニューロンモデルの出力をＨｊ（ｔ）、前記中間層のｊ番目のパルスニューロンモデルと前記出力層のｋ番目のパルスニューロンモデルとの間の結合重みをｗＯｋｊ（ｔ）、学習係数をαＯ、前記出力層のパルスニューロンモデルの数をＫ、学習のための閾値をθlearnとしたとき、下記式のように定義された誤差ΔＴｊを計算し、下記（１）〜（３）に従って教師信号Ｔｊを決定し、該教師信号Ｔｊにより前記中間層のｊ番目のパルスニューロンモデルを学習させることを特徴とする請求項１記載のパルスニューロンモデルのためのバックプロパゲーション学習法。
【数１３】
2010123072.tif 000027
（１）｜ΔＴｊ｜≦θlearnの場合、Ｔｊ＝Ｈｊ（ｔ）とする。
（２）ΔＴｊ＜−θlearnの場合、Ｔｊ＝０とする。
（３）ΔＴｊ＞θlearnの場合、Ｔｊ＝１とする。
【請求項４】
中間層のｊ番目のパルスニューロンモデルに与えられる教師信号をＴｊ、前記中間層を前段としたときの後段の層（以下、「出力層」という。）のｋ番目のパルスニューロンモデルの時間ｔにおける出力信号をＯｋ、前記出力層のｋ番目のパルスニューロンモデルへの時間ｔにおける教師信号をＴＯｋ、前記中間層のｊ番目のパルスニューロンモデルの出力をＨｊ（ｔ）、前記中間層のｊ番目のパルスニューロンモデルと前記出力層のｋ番目のパルスニューロンモデルとの間の結合重みをｗＯｋｊ（ｔ）、学習係数をαＯ、前記出力層のパルスニューロンモデルの数をＫ、学習のための閾値をθlearnとしたとき、下記式のように定義された誤差ΔＴｊを計算し、下記（１）〜（３）に従って教師信号Ｔｊを決定し、該教師信号Ｔｊにより前記中間層のｊ番目のパルスニューロンモデルを学習させることを特徴とする請求項１記載のパルスニューロンモデルのためのバックプロパゲーション学習法。
【数１５】
2010123072.tif 000028
（１）｜ΔＴｊ｜≦θlearnの場合、Ｔｊ＝Ｈｊ（ｔ）とする。
（２）ΔＴｊ＜−θlearnの場合、Ｔｊ＝０とする。
（３）ΔＴｊ＞θlearnの場合、Ｔｊ＝１とする。
【請求項５】
請求項１〜４のいずれかに記載のパルスニューロンモデルのためのバックプロパゲーション学習法により学習を行い、入力データを識別することを特徴とする学習・識別装置。
【請求項６】
請求項４記載のパルスニューロンモデルのためのバックプロパゲーション学習法の教師信号Ｔｊを生成することを特徴とする演算回路。
【請求項７】
ｋを前記出力層のニューロン番号（ｋ＝１〜Ｋ）としたとき、前記教師信号ＴＯｋと前記出力信号Ｏｋと前記結合重みｗＯｋｊ（ｔ）とから、ＴＯｋ＝０かつＯｋ＝０のとき０を、ＴＯｋ＝０かつＯｋ＝１のとき−ｗＯｋｊ（ｔ）を、ＴＯｋ＝１かつＯｋ＝０のときｗＯｋｊ（ｔ）を、ＴＯｋ＝１かつＯｋ＝１のとき０を出力するＫ個の論理回路と、
前記各論理回路からの出力を加算する加算器と、
前記加算器からの出力に対してビットシフトを行って前記学習係数αＯの乗算を行い、誤差ΔＴｊを算出するシフト演算器と、
前記シフト演算器から出力された誤差ΔＴｊと中間層からの出力Ｈｊ（ｔ）とを比較して、上記ルール（１）〜（３）に従って教師信号Ｔｊを出力する比較器と、
を備えることを特徴とする請求項６記載の演算回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ニューラルネットワークのためのバックプロパゲーション学習方法に関し、特に、パルスニューロンモデルにより構築されたニューラルネットワーク（以下、「パルスニューラルネットワーク」という。）に適したバックプロパゲーション学習法に関する。
【背景技術】
【０００２】
ニューラルネットワークで一般的な非線形問題を解くためには、入力層と出力層との間に中間層を有する３階層以上の階層型ニューラルネットワークにする必要があり、階層型ニューラルネットワークの学習法としてはバックプロパゲーション法（誤差逆伝播法）が知られている。
【０００３】
また、パルスニューラルネットワークのための教師あり学習法として、下記非特許文献１に記載された手法がある。
【０００４】
さらに、ディジタルパーセプトロンのための双対性を利用したバックプロパゲーション法として、下記非特許文献２に記載された手法がある。
【０００５】
なお、下記非特許文献３には、パルスニューロンモデルのハードウェア化手法が記載されている。
【非特許文献１】黒柳奨、岩田彰、「パルスニューロンモデルのための教師あり学習則」、電子情報通信学会技術研究報告、社団法人電子情報通信学会、１９９８年３月、ＮＣ９７−１５１、ｐ．９５−１０２
【非特許文献２】山田  樹一、黒柳奨、岩田彰、「ニューロンモデルに存在する双対性を利用したニューラルネットワークのための教師あり学習手法」、電子情報通信学会論文誌（Ｄ−ＩＩ）、２００４年２月、第Ｊ８７−Ｄ−ＩＩ巻、第２号、ｐ．３９９−４０６
【非特許文献３】二俣宣義、黒柳奨、岩田彰、「ＦＰＧＡのためのパルスニューロンモデルの実装方法」、電子情報通信学会ＮＣ研究会技術研究報告、社団法人電子情報通信学会、２００２年３月、ＮＣ２００１−２１１、ｐ．１２１−１２８
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかし、一般的に用いられているバックプロパゲーション法では、誤差を最小化することを目的とするため、誤差関数を微分する計算を行う。しかし、パルスニューロンモデルでは出力関数が微分不可能であるために、この計算ができず、一般的なバックプロパゲーション法を適用できないという問題があった。
【０００７】
また、上記非特許文献１の手法は、入力層と出力層の２階層構造のみ考慮したものであり、階層型パルスニューラルネットワーク（３階層以上のパルスニューラルネットワーク）には適用できないという問題があった。
【０００８】
さらに、上記非特許文献２の手法は、ディジタルパーセプトロンのための手法であり、入出力がパルスである階層型パルスニューラルネットワークに対する適用はなされていなかった。
【０００９】
この発明は、上述した問題を解決するものであり、階層型パルスニューラルネットワークに適用可能なバックプロパゲーション学習法を提供することを目的とする。
【課題を解決するための手段】
【００１０】
本発明のパルスニューロンモデルのためのバックプロパゲーション学習法は、パルスニューロンモデルの双対性を利用して教師信号を生成し、該教師信号を用いて学習を行うことを特徴とする。
【００１１】
これによれば、階層型パルスニューラルネットワークに適用可能なバックプロパゲーション学習法を提供できる。
【００１２】
ここで、請求項２記載のように、中間層のｊ番目のパルスニューロンモデルに与えられる教師信号をＴｊ、前記中間層を前段としたときの後段の層（以下、「出力層」という。）のｋ番目のパルスニューロンモデルの出力電位をｐＯｋ（ｔ）（但し、ｔは時間）、前記出力層のｋ番目のパルスニューロンモデルの教師電位をｐＴｋ（ｔ）、前記中間層のｊ番目のパルスニューロンモデルの出力をＨｊ（ｔ）、前記中間層のｊ番目のパルスニューロンモデルと前記出力層のｋ番目のパルスニューロンモデルとの間の結合重みをｗＯｋｊ（ｔ）、学習係数をαＯ、前記出力層のパルスニューロンモデルの数をＫ、経過時間をＡ、膜電位の減衰定数をβ≡ｅｘｐ（−１／τ）（但し、τは入力電位の時定数）としたとき、下記［数１２］により計算される教師信号Ｔｊにより前記中間層のｊ番目のパルスニューロンモデルが学習を行うこととできる。
【００１３】
【数１２】
2010123072.tif 000003
また、請求項３記載のように、中間層のｊ番目のパルスニューロンモデルに与えられる教師信号をＴｊ、出力層のｋ番目のパルスニューロンモデルの出力電位をｐＯｋ（ｔ）（但し、ｔは時間）、前記出力層のｋ番目のパルスニューロンモデルの教師電位をｐＴｋ（ｔ）、前記中間層のｊ番目のパルスニューロンモデルの出力をＨｊ（ｔ）、前記中間層のｊ番目のパルスニューロンモデルと前記出力層のｋ番目のパルスニューロンモデルとの間の結合重みをｗＯｋｊ（ｔ）、学習係数をαＯ、前記出力層のパルスニューロンモデルの数をＫ、学習のための閾値をθlearnとしたとき、下記［数１３］のように定義された誤差ΔＴｊを計算し、下記（１）〜（３）に従って教師信号Ｔｊを決定し、該教師信号Ｔｊにより前記中間層のｊ番目のパルスニューロンモデルを学習させることとしてもよい。
【００１４】
【数１３】
2010123072.tif 000004
（１）｜ΔＴｊ｜≦θlearnの場合、Ｔｊ＝Ｈｊ（ｔ）とする。
【００１５】
（２）ΔＴｊ＜−θlearnの場合、Ｔｊ＝０とする。
【００１６】
（３）ΔＴｊ＞θlearnの場合、Ｔｊ＝１とする。
【００１７】
また、請求項４記載のように、中間層のｊ番目のパルスニューロンモデルに与えられる教師信号をＴｊ、出力層のｋ番目のパルスニューロンモデルの時間ｔにおける出力信号をＯｋ、前記出力層のｋ番目のパルスニューロンモデルへの時間ｔにおける教師信号をＴＯｋ、前記中間層のｊ番目のパルスニューロンモデルの出力をＨｊ（ｔ）、前記中間層のｊ番目のパルスニューロンモデルと前記出力層のｋ番目のパルスニューロンモデルとの間の結合重みをｗＯｋｊ（ｔ）、学習係数をαＯ、前記出力層のパルスニューロンモデルの数をＫ、学習のための閾値をθlearnとしたとき、下記［数１５］のように定義された誤差ΔＴｊを計算し、下記（１）〜（３）に従って教師信号Ｔｊを決定し、該教師信号Ｔｊにより前記中間層のｊ番目のパルスニューロンモデルを学習させることとしてもよい。
【００１８】
【数１５】
2010123072.tif 000005
（１）｜ΔＴｊ｜≦θlearnの場合、Ｔｊ＝Ｈｊ（ｔ）とする。
【００１９】
（２）ΔＴｊ＜−θlearnの場合、Ｔｊ＝０とする。
【００２０】
（３）ΔＴｊ＞θlearnの場合、Ｔｊ＝１とする。
【００２１】
本発明の学習・識別装置は、上記いずれかのパルスニューロンモデルのためのバックプロパゲーション学習法により学習を行い、入力データを識別することを特徴とする。
【００２２】
本発明の演算回路は、請求項４記載のパルスニューロンモデルのためのバックプロパゲーション学習法の教師信号Ｔｊを生成することを特徴とする。
【００２３】
例えば、上記演算回路は、ｋを前記出力層のニューロン番号（ｋ＝１〜Ｋ）としたとき、前記教師信号ＴＯｋと前記出力信号Ｏｋと前記結合重みｗＯｋｊ（ｔ）とから、ＴＯｋ＝０かつＯｋ＝０のとき０を、ＴＯｋ＝０かつＯｋ＝１のとき−ｗＯｋｊ（ｔ）を、ＴＯｋ＝１かつＯｋ＝０のときｗＯｋｊ（ｔ）を、ＴＯｋ＝１かつＯｋ＝１のとき０を出力するＫ個の論理回路と、前記各論理回路からの出力を加算する加算器と、前記加算器からの出力に対してビットシフトを行って前記学習係数αＯの乗算を行い、誤差ΔＴｊを算出するシフト演算器と、前記シフト演算器から出力された誤差ΔＴｊと中間層からの出力Ｈｊ（ｔ）とを比較して、上記ルール（１）〜（３）に従って教師信号Ｔｊを出力する比較器と、を備えるものとすることができる。
【発明の効果】
【００２４】
本発明のバックプロパゲーション学習法によれば、誤差関数を微分する計算が必要でなく、階層型パルスニューラルネットワークに適用可能である。
【発明を実施するための最良の形態】
【００２５】
〔第１実施形態〕
まず、第１実施形態に係るバックプロパゲーション学習法である提案手法１について説明する。提案手法１では、図１に示すような従来のパルスニューロンモデル（上記非特許文献１参照）に対して、図２に示すように、出力電位ｐＯ（ｔ）を計算・保持する部分と、教師電位ｐＴ（ｔ）を計算・保持する部分と、固定値で上昇する入力電位（入力ポテンシャル）Inpｋ（ｔ）を計算・保持する部分とを構成要素として加えた新規なパルスニューロンモデルを用いる。
【００２６】
図２に示すパルスニューロンモデルでは、図１に示すパルスニューロンモデルと同様に、入力パルスＩＮｋ（ｔ）がｋ番目のシナプスに到着したとき、局所膜電位ｐｋ（ｔ）が結合重みｗｋの値だけ増加する。局所膜電位ｐｋ（ｔ）は、時間の経過とともに次式[数１]に従って減少する。そして、パルスニューロンモデルの内部電位Ｉ（ｔ）は次式[数２]によって計算され、出力ｏ（ｔ）は、次式[数３]によって計算される。なお、τは時定数、ｎは入力の総数、θは閾値、Ｈは単位ステップ関数（unit step function）であり、ｔは時間でΔｔ＝１とする。
【００２７】
【数１】
2010123072.tif 000006
【００２８】
【数２】
2010123072.tif 000007
【００２９】
【数３】
2010123072.tif 000008
また、図２に示すパルスニューロンモデルにおいては、入力パルス「１」がk番目のシナプスに到達すると、入力ポテンシャルInpｋ（ｔ）は固定重み１だけ増加し、時定数τで減衰する（下記［数９］参照）。出力電位ｐＯ（ｔ）は、パルスニューロンモデルが発火したとき固定重み１だけ増加し、時定数τＯで上記［数１］と同様に減衰する。教師電位ｐＴ（ｔ）は、教師信号「１」を受け取ったとき固定重みｗＴだけ増加し、時定数τＴで上記［数１］と同様に減衰する。
【００３０】
提案手法１では、以上のように構成されたパルスニューロンモデルの双対性を利用する。ニューロンモデルの双対性については上記非特許文献２に記載されているが、ここで簡単に説明すると、一般的なニューロンモデルの出力は次式[数４]で計算される。
【００３１】
【数４】
2010123072.tif 000009
なお、上記[数４]及び以下の[数５]〜[数７]において、ｗは結合重みベクトル、ｉは入力ベクトル、θは結合重み以外のパラメタのベクトル、ｆは出力関数である。出力が結合重みベクトルと入力ベクトルの内積で決まるニューロンモデルは双対性を有しており、その出力は、次式[数５]に示すように、結合重みベクトルｗと入力ベクトルｉの値を入れ替えた双対ニューロンモデルの出力と同じである。
【００３２】
【数５】
2010123072.tif 000010
パルスニューロンモデルも、上記式[数１]〜[数３]から分かるように、双対性を有し、結合重みｗｋと入力ＩＮｋとは交換可能である。
【００３３】
次式[数６]は、結合重みベクトルの更新に用いられる関数であるが、次式[数７]に示すように、ニューロンモデルの双対性により入力ベクトルの更新にも同じ関数が使用できる。なお、ｗｎｅｗは更新後の結合重みベクトルであり、ｉｎｅｗは更新後の入力ベクトルである。
【００３４】
【数６】
2010123072.tif 000011
【００３５】
【数７】
2010123072.tif 000012
双対性を有するニューロンモデルに対して、ある学習則に基づく関数ｇによって、望ましい結合重みが求められるとき、関数ｇの引数の結合重みベクトルと入力ベクトルとを入れ替えることで、望ましい入力を求めることができる。ニューロンモデルに対する望ましい入力は、その前段のニューロンモデルの望ましい出力、すなわち、教師信号となる。
【００３６】
以上のことを踏まえて、提案手法１について説明する。以下の説明において、Ｈｊ（ｔ）は中間層のｊ番目のパルスニューロンモデルの出力、Inpｊ（ｔ）は中間層のｊ番目のパルスニューロンモデルからの入力による入力ポテンシャル、ｐＯｋ（ｔ）は出力層（すなわち、前記中間層を前段としたときの後段の層）のｋ番目のパルスニューロンモデルの出力電位、ｐＴｋ（ｔ）は出力層のｋ番目のパルスニューロンモデルの教師電位、ｗＯｋｊ（ｔ）は中間層のｊ番目のパルスニューロンモデルと出力層のｋ番目のパルスニューロンモデルとの間の結合重み、αＯは学習係数である。
【００３７】
パルスニューロンモデルの重みの更新は、上記非特許文献１の記載からも分かるように、次式[数８]で表せる。
【００３８】
【数８】
2010123072.tif 000013
Inpｊ（ｔ）は、次式[数９]で更新される。
【００３９】
【数９】
2010123072.tif 000014
τを定数とすると、βも定数となる。また、Ａは経過時間である。[数９]により、[数８]は次式[数１０]のように書き換えられる。
【００４０】
【数１０】
2010123072.tif 000015
ここで、Ｈｊは中間層のｊ番目のパルスニューロンモデルから出力層のｋ番目のパルスニューロンモデルへの入力に相当するので、パルスニューロンモデルの双対性から、ｗＯｋｊとＨｊとを入れ替えることにより、中間層のｊ番目のパルスニューロンモデルから出力層のｋ番目のパルスニューロンモデルへの望ましい入力Ｔｋｊが次式[数１１]で求められることとなる。
【００４１】
【数１１】
2010123072.tif 000016
そして、望ましい入力Ｔｋｊをｋ＝１〜Ｋ（Ｋ：出力層のパルスニューロンモデルの総数）について集めたものが、中間層のｊ番目のパルスニューロンモデルの望ましい出力、すなわち、中間層のｊ番目のパルスニューロンモデルに対する教師信号Ｔｊとなることから、中間層のｊ番目のパルスニューロンモデルに対する教師信号Ｔｊは次式[数１２]で計算できる。
【００４２】
【数１２】
2010123072.tif 000017
提案手法１は、上記[数１２]により計算される教師信号Ｔｊにより、中間層のｊ番目のパルスニューロンモデルを学習させる。すなわち、提案手法１では、前段の層の出力（すなわち、後段の層の入力）Ｈｊ、後段の層の出力電位ｐＯｋ、後段の層の教師電位ｐＴｋ、及び、前段の層と後段の層との間の結合重みｗＯｋｊから、前段の層の教師信号を算出して、その教師信号により前段の層を学習させる。
【００４３】
かかる提案手法１を用いて学習を行い、入力データを識別する学習・識別装置の構成例を図３に示す。図３は、入力層１、中間層２、及び、出力層３を有した３階層のパルスニューラルネットワークの例であるが、中間層２のパルスニューロンモデルの数Ｊと同じ数の教師信号生成素子５を有する教師信号生成素子層４を備えている。出力層３のパルスニューロンモデルの数はＫとする。中間層２からの出力Ｈｊ、出力層３からの出力Ｏｋ、及び、出力層３に与えられる教師信号Ｔｋは、各教師信号生成素子５にも与える。なお、中間層２にはバイアス入力が与えられる。また、出力層の各パルスニューロンモデルの重み（結合重み）は、対応する教師信号生成素子５にコピーされる。入力層１の各パルスニューロンモデルは図１に示すパルスニューロンモデルであり、中間層２及び出力層３の各パルスニューロンモデルは図２に示すパルスニューロンモデルである。なお、入力層１は、入力パルスをそのままのパターンで中間層２に与えるように構成されている。
【００４４】
そして、この学習・識別装置の学習時の動作について、図４に基づいて説明すると、この学習・識別装置は、処理開始後、まず、入力層１、中間層２、及び、出力層３の各パルスニューロンモデルを初期化する（ステップＳ１０１）。次に、出力層３の各重みｗＯｋｊ（ｔ）（ｋ＝１〜Ｋ）を、ｊ番目の教師信号生成素子５にコピーする（Ｓ１０２）。なお、ｊ＝１〜Ｊである。
【００４５】
そして、学習を開始し（Ｓ１０３）、入力層１、中間層２、及び、出力層３の各素子（パルスニューロンモデル）が従来通りの前向き演算を行う（Ｓ１０４）。出力層３の各素子は、外部から与えられた教師信号ＴＯｋ（ｔ）を元に重みｗＯｋｊ（ｔ）を更新する（Ｓ１０５）。一方、各教師信号生成素子５は、コピーしておいた重みｗＯｋｊ（ｔ）と、出力層３からの出力Ｏｋ（ｔ）と、教師信号ＴＯｋ（ｔ）とから上記[数１２]に従って教師信号Ｔｊ（ｔ）を計算し出力する（Ｓ１０６）。なお、学習係数αＯは、予め各教師信号生成素子５に与えられているものとする。ステップＳ１０６で求められた教師信号Ｔｊ（ｔ）は、中間層２のｊ番目の素子に与えられ、中間層２の各素子はこの教師信号Ｔｊ（ｔ）に基づいて重みを更新する（Ｓ１０７）。ステップＳ１０５〜１０７を終えると、ステップＳ１０２に戻って、以下、所定の学習回数、ステップＳ１０２〜１０７を繰り返す。
【００４６】
なお、図３に示す構成例、及び、図４に示す動作フローは、後述する提案手法２及び提案手法３にも適用可能であるが、後述するように、提案手法２では下記［数１３］、提案手法３では下記［数１５］に従って、誤差ΔＴｊを計算し、下記ルール（１）〜（３）に従って教師信号Ｔｊ（ｔ）を出力する。
【００４７】
提案手法１によれば、誤差関数を微分する一般的なバックプロパゲーション法とは全く異なった手法で、階層型パルスニューラルネットワークを学習させることができる。
【００４８】
〔第２実施形態〕
次に、提案手法１を改良した第２実施形態に係る提案手法２について説明する。上記[数１２]では、教師信号Ｔｊは実数値となってしまい、そのままではパルスニューロンモデルによる扱いが容易とは言えない。そこで、β≡ｅｘｐ（−１／τ）＜１であり、ａ＝０の場合以外は、βａは十分小さく、βａｗＯｋｊ（ｔ−ａ）は無視できるとして、[数１２]を次式[数１３]のように変換する。
【００４９】
【数１３】
2010123072.tif 000018
そして、ΔＴｊと学習のための閾値θlearn（≧０）を用いて、次の（１）〜（３）のように教師信号Ｔｊを出力する。
【００５０】
（１）｜ΔＴｊ｜≦θlearnの場合、Ｈｊ（ｔ）は望ましい出力Ｔｊに一致しているとして、Ｔｊ＝Ｈｊ（ｔ）とし、学習を続ける。
【００５１】
（２）ΔＴｊ＜−θlearnの場合、Ｈｊは望ましくない出力１であるので、Ｔｊ＝０とし、中間層のｊ番目のパルスニューロンモデルが１を出力しないように、結合重みを更新する。
【００５２】
（３）ΔＴｊ＞θlearnの場合、Ｈｊは出力１であるべきなので、Ｔｊ＝１とし、中間層のｊ番目のパルスニューロンモデルが１を出力するように、結合重みを更新する。
【００５３】
このように、提案手法２では、上記［数１３］に従ってΔＴｊを算出し、上記（１）〜（３）のルールに従ってＴｊを定めて学習を行う。上記（１）〜（３）のルールによれば、教師信号Ｔｊがパルス（０または１）となるので、パルスニューロンモデルによる扱いが容易となり、ハードウェア化も容易となる。提案手法２の実験例を以下に示す。
【００５４】
〈実験１〉
実験１では、コンピュータ上にソフトウェアにより図３に示すような３階層型パルスニューラルネットワークを有した学習・識別装置を構成し、簡単な非線形問題としてＸＯＲ（排他的論理和）を学習し識別させた。実験に用いた各層の素子数、及び、各種パラメタは、表１のとおりである。なお、入力層の１素子は、常に１を中間層の素子に入力するバイアス入力のための素子である。
【００５５】
【表１】
2010123072.tif 000019
そして、図５の下段に示すように入力層に入力パルスを入力するとともに、図５の上段に示すように出力層に教師パルスＴｋを与えて、提案手法２により学習を行った。図５において、Ｘ軸（横軸）は時間であり、Ｙ軸（縦軸）はパルスニューロンモデルの番号（ニューロン番号）である。色の濃淡はパルス頻度を表し、白い部分は０（パルスが無い状態）を表し、色が濃いほどパルス頻度が高く、黒い部分は１（常にパルスがある状態）を表す。実験１では、ＸＯＲ問題を学習するので、（ニューロン番号１の素子に与えられる信号，ニューロン番号２の素子に与えられる信号）と表記したとき、図５に示すように、入力が（０，０）の場合は教師信号（０，１）、入力が（１，０）の場合は教師信号（１，０）、入力が（０，１）の場合は教師信号（１，０）、入力が（１，１）の場合は教師信号（０，１）を与える。
【００５６】
かかる入力及び教師信号を用いて学習を行った後、図５と同じ入力パルスを入力し識別させたときの結果を図６に示す。図６は上から順に、中間層の教師パルス列、中間層の出力パルス列、出力層の教師パルス列、出力層の出力パルス列を表す。また、図６においては、図３と同様に、Ｘ軸は時間であり、Ｙ軸はニューロン番号である。図６中ニューロン番号は省略されているが、出力層の出力パルス列、教師パルス列は、それぞれ下から順に番号１、２であり、中間層の出力パルス列、教師パルス列は、それぞれ、下から順に番号１、２、３、４である。また、色の濃淡は図５と同様にパルス頻度を表す。図６から、出力層の出力パルス列は、パルス頻度は全体に少ないものの、出力層に対する教師パルス列にパターンが一致しており、学習の結果正しい識別を行うようになったことが分かる。
【００５７】
〈実験２〉
実験２では、コンピュータ上にソフトウェアにより図３に示すような３階層型パルスニューラルネットワークを有した学習・識別装置を構成し、目覚まし時計のアラーム音（以下、「アラーム」という。）、インターフォンの呼び出し音（以下、「インターフォン」という。）、笛吹きケトルの沸騰音（以下、「ケトル」という。）、電話のベル音（以下、「電話」という。）、人の声、及び、ホワイトノイズの６種の音を周波数帯域毎のパルス列に変換した音データを入力して、提案手法２により学習させた。実験に用いた各層の素子数、及び、各種パラメタは、表２のとおりである。なお、入力層の１素子は、バイアス入力のための素子である。出力層は、上記６種の音を学習する６つの素子を有する。
【表２】
2010123072.tif 000020
【００５８】
学習後、学習に用いた６種の音データをそれぞれ入力して認識させた結果を、表３に示す。
【００５９】
【表３】
2010123072.tif 000021
表３の数字は、左から順に、アラーム、インターフォン、ケトル、電話、人の声、ホワイトノイズを学習した素子の認識率（＝出力層における全発火数に対する当該素子の発火数）を表す。例えば、入力信号がアラームであるとき、アラームを学習した素子の認識率は１００％であり、他の素子の認識率は０％である。表３から、学習の結果、６種の音を略誤り無く認識できていることが分かる。
【００６０】
提案手法２によれば、学習の結果略正しい認識を行えるとともに、教師信号Ｔｊをパルスにすることができるので、パルスニューロンモデルによる扱いが容易であり、階層型パルスニューラルネットワークに好適である。
【００６１】
〔第３実施形態〕
次に、提案手法２を、階層型パルスニューラルネットワークのハードウェア化に好適なものとした第３実施形態に係る提案手法３について説明する。
【００６２】
提案手法２では、ΔＴｊの計算がデジタル回路で実現するのに適していない。そこで、[数１３]の出力電位ｐＯｋ（ｔ）、教師電位ｐＴｋ（ｔ）を、それぞれ、時間ｔにおける出力層のｋ番目のパルスニューロンモデルの出力信号Ｏｋ、時間ｔにおける出力層のｋ番目のパルスニューロンモデルへの教師信号ＴＯｋ(Ｔｋとも表記。）に置き換えて、[数１３]を次式[数１４]のように変換する。Ｏｋ、ＴＯｋはいずれもパルス（０又は１）である。
【００６３】
【数１４】
2010123072.tif 000022
そして、次式[数１５]のようにΔＴｊを定義し、学習のための閾値θlearnを用いて、上記（１）〜（３）のルールに従って教師信号Ｔｊを出力する。
【００６４】
【数１５】
2010123072.tif 000023
提案手法３は、上記[数１５]を用いてΔＴｊを計算し、閾値θlearnを用いて上記（１）〜（３）のように教師信号Ｔｊを中間層のｊ番目のパルスニューロンモデルに与えることを特徴とする。提案手法３を用いた実験例を以下に示す。
【００６５】
〈実験３〉
コンピュータ上にソフトウェアにより図３に示すような３階層型パルスニューラルネットワークを有した学習・識別装置を構成し、実験１と同様の実験を行った。すなわち、実験に用いた各層の素子数、及び、各種パラメタは、表１のとおりであり、図５の下段に示すように入力層に入力パルスを入力するとともに、図５の上段に示すように出力層に教師パルスＴｋを与えて、提案手法３により学習を行った。
【００６６】
学習後、図５と同じ入力パルスを入力し識別させた結果を図７に示す。図７は、図６と同様に、上から順に、中間層の教師パルス列、中間層の出力パルス列、出力層の教師パルス列、出力層の出力パルス列を表し、Ｘ軸は時間、Ｙ軸はニューロン番号であるが、ニューロン番号は省略されている。また、色の濃淡は図５と同様にパルス頻度を表す。図７から、出力層の出力パルス列は、パルス頻度は全体に少ないものの、出力層に対する教師パルス列にパターンが一致しており、学習の結果正しい識別を行うようになったことが分かる。
【００６７】
〈実験４〉
コンピュータ上にソフトウェアにより図３に示すような３階層型パルスニューラルネットワークを有した学習・識別装置を構成し、実験２と同様の実験を行った。すなわち、実験に用いた各層の素子数、及び、各種パラメタは、表２のとおりであり、実験２で用いたアラーム、インターフォン、ケトル、電話、人の声、及び、ホワイトノイズの６種の音から生成された音データを入力して、提案手法３により学習を行った。
【００６８】
学習後、学習に用いた６種の音データをそれぞれ入力して認識させた結果を、表４に示す。
【００６９】
【表４】
2010123072.tif 000024
表４の数字は、左から順に、アラーム、インターフォン、ケトル、電話、人の声、ホワイトノイズを学習した素子の認識率を表す。表４から、学習の結果、６種の音を略誤り無く認識できていることが分かる。
【００７０】
提案手法３によれば、学習の結果略正しい認識を行え、教師信号Ｔｊをパルスにすることができるとともに、ΔＴｊの計算がデジタル回路で容易に実現できるため、階層型パルスニューラルネットワークのハードウェア化に好適である。
【００７１】
例えば、教師信号生成素子５は、図８に示すようにデジタル回路で実現可能である。図８において、符号１０は、表５に示すように、教師パルスＴＯｋと出力パルスＯｋと重みｗＯｋｊ（ｔ）とから０、ｗＯｋｊ（ｔ）または−ｗＯｋｊ（ｔ）を出力する論理回路であり、符号１１は各論理回路１０からの出力を加算する加算器であり、符号１２は加算器１１からの出力に対してαＯの乗算を実現するためのビットシフトを行うシフト演算器であり、符号１３はシフト演算器１２からの出力すなわちΔＴｊと中間層からの出力Ｈｊとを比較して、上記ルール（１）〜（３）に従って、教師信号Ｔｊを出力する比較器である。なお、比較器１３は、学習閾値θlearnを保有し又は入力として受け取る。
【００７２】
【表５】
2010123072.tif 000025
また、図１、２に示すようなパルスニューロンモデルも、上記非特許文献３に記載されているように、デジタル回路で実現可能である。したがって、提案手法３によって学習し入力データを識別する学習・識別装置は、デジタル回路で実現可能である。
【００７３】
以上述べたように、提案手法３はデジタル回路において容易に実現可能であり、ＦＰＧＡ（Field Programmable Gate Arrays）上に実装することも可能である。すなわち、提案手法１〜３はいずれも一般のコンピュータ上でソフトウェアにより実現可能であるが、処理の高速化のためにはハードウェア化が望ましく、提案手法３は特にハードウェア化に好適である。
【００７４】
なお、提案手法１〜３は、勿論、上記出力層を更に中間層とするような、中間層を複数有した４階層以上の階層型パルスニューラルネットワークにも適用可能である。
【図面の簡単な説明】
【００７５】
【図１】従来のパルスニューロンモデルの構成図である。
【図２】本発明の実施形態に係るパルスニューロンモデルの構成図である。
【図３】同実施形態に係る学習・識別装置の構成図である。
【図４】同実施形態に係る学習・識別装置の学習時の動作を示すフローチャートである。
【図５】実験１及び実験３における入力層の入力パルス列及び出力層の教師パルス列を示す図である。
【図６】実験１における中間層の出力パルス列及び教師パルス列、及び、出力層の出力パルス列及び教師パルス列を示す図である。
【図７】実験３における中間層の出力パルス列及び教師パルス列、及び、出力層の出力パルス列及び教師パルス列を示す図である。
【図８】教師信号生成素子をデジタル回路化した例である。
【符号の説明】
【００７６】
１…入力層
２…中間層
３…出力層
４…教師電位生成素子層
５…教師電位生成素子
１０…論理回路
１１…加算器
１２…シフト演算器
１３…比較器
【図１】
2010123072.tif 000029
【図２】
2010123072.tif 000030
【図３】
2010123072.tif 000031
【図４】
2010123072.tif 000032
【図５】
2010123072.tif 000033
【図６】
2010123072.tif 000034
【図７】
2010123072.tif 000035
【図８】
2010123072.tif 000036