(57)【要約】【課題】  本発明の実施形態は、ニューロンの膜電位の閾値が予め設定された膜電位の基準値より小さい場合に、非常に小さい膜電位の閾値のために発生し得るニューロンの不安定を防止する。【解決手段】  前の層から入力される第１シナプス信号及び同一層から入力される第２シナプス信号に基づいて活性化するニューロンを含むニューラルネットワークを格納するメモリ、及びニューラルネットワークを用いて認識結果を生成するプロセッサを含み、ニューロンのうちの活性ニューロンは、次の層のニューロンを興奮又は抑制させる第１シナプス信号及び同一層の他のニューロンを抑制させる第２シナプス信号を発生させる認識装置及び学習方法を提供する。【選択図】      図２
2017134821.tif 000002
【特許請求の範囲】
【請求項１】
前の層から入力される第１シナプス信号及び同一層から入力される第２シナプス信号に基づいて活性化するニューロンの前の層及びニューロンの現在の層を含むニューラルネットワークを格納するメモリと、
前記ニューラルネットワークを用いて認識結果を生成するプロセッサと、
を含み、
前記ニューロンのうちの前記現在の層の活性ニューロンは、次の層のニューロンを興奮又は抑制させる第１シナプス信号及び前記同一層の他のニューロンを抑制させる第２シナプス信号を発生させる、認識装置。
【請求項２】
前記現在の層のニューロンは、
スパイキングニューロンを含む、請求項１に記載の認識装置。
【請求項３】
前記活性ニューロンは、
前記第１シナプス信号及び前記第２シナプス信号に基づいて前記他のニューロンの膜電位を調節する、請求項１又は２に記載の認識装置。
【請求項４】
前記活性ニューロンは、
前記活性ニューロンの側抑制係数に基づいて前記第２シナプス信号を前記同一層の他のニューロンに伝達する、請求項１〜３のうちのいずれか一項に記載の認識装置。
【請求項５】
前記第２シナプス信号を受信した他のニューロンは、
前記他のニューロンの膜電位の閾値及び前記側抑制係数に基づいて膜電位を減少させる、請求項４に記載の認識装置。
【請求項６】
前記前の層は、ニューロンのグループを含み、
同一のグループに含まれるニューロンは、受容野を共有する、請求項１〜５のうちのいずれか一項に記載の認識装置。
【請求項７】
前記現在の層は、前記受容野に対応するニューロンの他のグループを含み、前記ニューロンの各々は、
前記受容野に対応する他のグループ内のニューロンの全てと連結される受容野を共有する、請求項６に記載の認識装置。
【請求項８】
前記プロセッサは、
前記同一のグループのニューロンのための指数関数的減衰項を決定し、前記指数関数的減衰項に基づいて前記グループのニューロンの各々の膜電位を決定する、請求項６又は７に記載の認識装置。
【請求項９】
前記現在の層のニューロンの膜電位は、
前記現在の層のニューロンの膜電位の閾値に基づく範囲内にある、請求項１〜８のうちのいずれか一項に記載の認識装置。
【請求項１０】
前記プロセッサは、
前記ニューラルネットワークに入力される入力信号の大きさと基準値との間の比較結果に基づいて、前記ニューラルネットワークに含まれるニューロンの膜電位時定数値を変化させる、請求項１〜９のうちのいずれか一項に記載の認識装置。
【請求項１１】
前記プロセッサは、
前記入力信号の大きさが第１基準値より小さい場合、前記ニューラルネットワークに含まれるニューロンの膜電位時定数値を増加させる、請求項１０に記載の認識装置。
【請求項１２】
前記プロセッサは、
前記ニューラルネットワークに入力される入力信号の大きさが第２基準値より大きい場合、前記ニューロンの前の層のうち最初の層に含まれるニューロンの膜電位時定数値を減少させる、請求項１０に記載の認識装置。
【請求項１３】
前記第１シナプス信号は、時間の経過に応じて入力され、
前記現在の層のニューロンの膜電位は、
前記第１シナプス信号に対応するシナプスの重みによって変化する、請求項１〜１２のうちのいずれか一項に記載の認識装置。
【請求項１４】
入力される前記第１シナプス信号がない場合、前記現在の層のニューロンの膜電位は、時間に応じて一定の割合で減少する、請求項１〜１２のうちのいずれか一項に記載の認識装置。
【請求項１５】
前記活性ニューロンは、
前記活性ニューロンの膜電位が前記活性ニューロンの膜電位の閾値を超える場合、スパイク信号を出力し、
前記スパイク信号が出力された場合、
前記活性ニューロンの膜電位は減少する、請求項１〜１４のうちのいずれか一項に記載の認識装置。
【請求項１６】
前記活性ニューロンの膜電位は、前記活性ニューロンの膜電位の閾値に比例する大きさだけ減少するか、又は
前記活性ニューロンの膜電位は、前記活性ニューロンの膜電位の閾値に比例する予め決定した割合だけ減少する、請求項１５に記載の認識装置。
【請求項１７】
前記活性ニューロンの側抑制係数の大きさは、
前記現在の層のニューロンの各々に対応するシナプスの重みに基づいて決定される、請求項１に記載の認識装置。
【請求項１８】
時間の経過に伴うイベントを含むトレーニングデータをニューラルネットワークの入力層に与えるステップと、
前記ニューラルネットワークの出力層の出力値を取得するステップと、
前記トレーニングデータに対応する目標値と前記出力値とに基づいて前記ニューラルネットワークを学習させるステップと、
を含む、学習方法。
【請求項１９】
前記ニューラルネットワークは、
前の層から入力される入力シナプス信号及び現在の層から入力される側抑制信号に基づいて活性化する現在の層のニューロン及び前の層のニューロンを含み、
前記現在の層のニューロンのうちの活性ニューロンは、次の層のニューロンを興奮又は抑制させ、同一層の他のニューロンを抑制させる、請求項１８に記載の学習方法。
【請求項２０】
前記学習させるステップは、
ニューロンの膜電位の閾値、ニューロンの膜電位リセット係数、及びニューロンの入力アクティビティーに基づいて前記ニューラルネットワークに含まれるニューロンの出力アクティビティーを決定するステップと、
前記ニューラルネットワークに含まれる前記ニューロンの出力アクティビティーに基づいて、前記ニューラルネットワークに含まれるニューロンのパラメータを決定するステップと、
を含む、請求項１８又は１９に記載の学習方法。
【請求項２１】
前記パラメータは、
前記ニューロンの膜電位の閾値、前記ニューロンの入力シナプスの重み、前記ニューロンの出力シナプスの重み、及び前記ニューロンの側抑制係数のうち少なくとも１つを含む、請求項２０に記載の学習方法。
【請求項２２】
前記学習させるステップは、
前記ニューロンの膜電位リセット係数、前記ニューロンの側抑制係数、前記ニューロンの側方ディスカウント係数、及びニューロンのグループ内の前記ニューロンを除く残りのニューロンの出力アクティビティーに基づいて前記ニューロンの出力アクティビティーを調節するステップをさらに含む、請求項２１に記載の学習方法。
【請求項２３】
前記ニューロンの側抑制係数は、
前記ニューロンの入力シナプスの重みに基づいて決定される、請求項２２に記載の学習方法。
【請求項２４】
前記学習させるステップは、
前記ニューラルネットワークに入力される入力信号の大きさと基準値との間の比較結果に基づいて、前記ニューラルネットワークに含まれるニューロンの膜電位時定数値を変化させるステップを含む、請求項１８に記載の学習方法。
【請求項２５】
前記ニューロンの膜電位時定数値を変化させるステップは、
前記ニューラルネットワークに入力される入力信号の大きさが第１基準値より小さい場合、前記ニューロンの膜電位時定数値を増加させるステップを含む、請求項２４に記載の学習方法。
【請求項２６】
前記ニューロンの膜電位時定数値を変化させるステップは、
前記ニューラルネットワークに入力される入力信号の大きさが第２基準値より大きい場合、ニューロンの前の層のうち最初の層に含まれるニューロンの膜電位時定数値を減少させるステップを含む、請求項２４に記載の学習方法。
【請求項２７】
前記学習させるステップは、
前記目標値及び前記出力値に基づいて、前記ニューラルネットワークに逆伝播されるロスを決定するステップと、
前記ロス及び前記ニューラルネットワークに含まれるニューロンの出力アクティビティーに基づく勾配降下法に基づいて、前記ニューロンのパラメータを決定するステップと、
を含む、請求項１８に記載の学習方法。
【請求項２８】
前記学習させるステップは、
前記ニューラルネットワークに含まれるニューロンの入力シナプスの重みの二乗和と重みの基準値とを比較するステップと、
この比較の結果に基づいて重み調節速度を決定するステップと、
前記重み調節速度に基づいて前記入力シナプスの重みを減少させるステップと、
を含む、請求項１８に記載の学習方法。
【請求項２９】
前記重み調節速度を決定するステップは、
前記二乗和が前記重みの基準値より大きければ、前記重み調節速度を増加させるステップと、
前記二乗和が前記重みの基準値以下であれば、前記重み調節速度を減少させるステップと、
を含む、請求項２８に記載の学習方法。
【請求項３０】
前記学習させるステップは、
前記ニューラルネットワークに含まれるニューロンの活性化の有無に基づいてニューロンの膜電位の閾値を調節するステップを含む、請求項１８に記載の学習方法。
【請求項３１】
前記調節するステップは、
前記ニューロンのうち１つの活性ニューロンの膜電位の閾値を一定の割合で増加させるステップを含む、請求項３０に記載の学習方法。
【請求項３２】
前記調節するステップは、
前記ニューロンの前の層で受容野を共有するニューロンの個数及び前の層に含まれる活性ニューロンの個数に基づいて、前記ニューロンの膜電位の閾値を減少させるステップをさらに含む、請求項３１に記載の学習方法。
【請求項３３】
前記調節するステップは、
前記ニューラルネットワークに含まれるニューロンの膜電位の閾値が膜電位の基準値より小さい場合、前記ニューロンの各々に対応するシナプスの重みを増加させるステップを含む、請求項３０に記載の学習方法。
【請求項３４】
前記学習させるステップは、
前記ニューラルネットワークに含まれる層のニューロン当たりのシナプスの数に基づいて、前記層に含まれるニューロンのシナプスの重み及び前記ニューロンの膜電位の閾値のうち少なくとも１つを初期化するステップを含む、請求項１８に記載の学習方法。
【請求項３５】
前記学習させるステップは、
ニューロンのシナプスの重みの更新量及びニューロンの膜電位の閾値の更新量が同じになるように逆伝播エラーを正規化するステップを含む、請求項１８に記載の学習方法。
【請求項３６】
請求項１８〜３５のうちのいずれか一項に記載の学習方法をコンピュータに実行させるためのコンピュータプログラム。
【請求項３７】
第１ニューロンの前の層及び前記前の層から受信した第１入力信号及び第２入力信号を受信する第２ニューロンの現在の層を含むニューラルネットワークを格納するメモリであって、前記第２入力信号は、前記現在の層から受信される、メモリと、
前記ニューラルネットワークに基づく認識結果を生成するプロセッサと、
を含み、
前記第２ニューロンのうち活性ニューロンは、
前記第１入力信号中の第１入力信号を受信し、
次の層の第３ニューロンを興奮又は抑制させる第１出力信号を生成し、
前記第１入力信号の電位が閾値より大きい場合、前記現在の層の活性ニューロンを除く他のニューロンを抑制させる第２出力信号を生成する、認識装置。
【請求項３８】
前記他のニューロンの各々は、
前記活性ニューロンから第２出力信号を受信し、
前記他のニューロンの各々の電位閾値及び前記活性ニューロンの側抑制係数を乗じることにより、前記他のニューロンの各々の電位を減少させる、請求項３７に記載の認識装置。
【発明の詳細な説明】
【技術分野】
【０００１】
下記の実施形態は、ニューラルネットワークに基づく認識装置及びニューラルネットワークの学習方法に関する。
【背景技術】
【０００２】
脳には、数千億個の神経細胞（即ち、ニューロン）が存在し、互いに複雑なニューラルネットワークで構成されている。ニューロンは、数千個の他のニューロンと信号をやり取りするシナプスを介して学習、記憶など知的能力を発揮する。ニューロンは、神経系の構造的、機能的単位であり情報伝達の基本単位である。シナプスは、ニューロンの間の接合部を示し、いずれか１つのニューロンの軸索突起と他のニューロンの樹状突起が連結された部位をいう。一個のニューロンは、数千個の他のニューロンとシナプスを介して連結されている。生物学的な脳と動作方式が似たスパイキングニューラルネットワークは、イベントベースで動作するため、効率性の面でさらに優れていることが期待される。しかし、多重層で構成されたディープスパイキングニューラルネットワーク（ｄｅｅｐ  ｓｐｉｋｉｎｇ  ｎｅｕｒａｌ  ｎｅｔｗｏｒｋ）を学習させる方法が存在しない。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
本発明の実施形態は、ニューロンの膜電位（ｍｅｍｂｒａｎｅ  ｐｏｔｅｎｔｉａｌ）の閾値が予め設定された膜電位の基準値より小さい場合に、非常に小さい膜電位の閾値のために発生し得るニューロンの不安定（ｉｎｓｔａｂｉｌｉｔｙ）を防止する。
【０００４】
また、本発明の実施形態は、ニューラルネットワークの層間の更新不均衡を調節する。
【０００５】
また、本発明の実施形態は、ニューラルネットワークのパラメータを最適化する。
【課題を解決するための手段】
【０００６】
一実施形態によれば、認識装置は、前の層から入力される第１シナプス信号及び同一層から入力される第２シナプス信号に基づいて活性化するニューロンの前の層及びニューロンの現在の層（ｃｕｒｒｅｎｔ  ｌａｙｅｒ）を含むニューラルネットワークを格納するメモリと、前記ニューラルネットワークを用いて認識結果を生成するプロセッサとを含み、前記ニューロンのうちの前記現在の層の活性ニューロン（ａｃｔｉｖａｔｉｏｎ  ｎｅｕｒｏｎ）は、次の層のニューロンを興奮（励起）（ｅｘｃｉｔｅ）又は抑制（ｉｎｈｉｂｉｔ）させる第１シナプス信号及び前記同一層の他のニューロンを抑制させる第２シナプス信号を発生させる。
【０００７】
前記現在の層のニューロンは、スパイキングニューロンを含んでもよい。
【０００８】
前記活性ニューロンは、前記第１シナプス信号及び前記第２シナプス信号に基づいて前記他のニューロンの膜電位を調節してもよい。
【０００９】
前記活性ニューロンは、前記活性ニューロンの側抑制（ｌａｔｅｒａｌ  ｉｎｈｉｂｉｔｉｏｎ）係数に基づいて前記第２シナプス信号を前記同一層の他のニューロンに伝達してもよい。
【００１０】
前記第２シナプス信号を受信した他のニューロンは、前記他のニューロンの膜電位の閾値及び前記側抑制係数に基づいて膜電位を減少させてもよい。
【００１１】
前記前の層は、ニューロンのグループを含み、同一のグループに含まれるニューロンは、受容野（ｒｅｃｅｐｔｉｖｅ  ｆｉｅｌｄ）を共有してもよい。
【００１２】
前記現在の層は、前記受容野に対応するニューロンの他のグループを含み、前記ニューロンの各々は、前記受容野に対応する他のグループ内のニューロンの全てと連結される受容野を共有してもよい。
【００１３】
前記プロセッサは、前記同一のグループのニューロンのための指数関数的減衰項（ｅｘｐｏｎｅｎｔｉａｌ  ｄｅｃａｙ  ｔｅｒｍ）を決定し、前記指数関数的減衰項に基づいて前記グループのニューロンの各々の膜電位を決定してもよい。
【００１４】
前記現在の層のニューロンの膜電位は、前記現在の層のニューロンの膜電位の閾値に基づく範囲内にあってもよい。
【００１５】
前記プロセッサは、前記ニューラルネットワークに入力される入力信号の大きさと基準値との間の比較結果に基づいて、前記ニューラルネットワークに含まれるニューロンの膜電位時定数（ｍｅｍｂｒａｎｅ  ｐｏｔｅｎｔｉａｌ  ｔｉｍｅ  ｃｏｎｓｔａｎｔ）値を変化させてもよい。
【００１６】
前記プロセッサは、前記入力信号の大きさが第１基準値より小さい場合、前記ニューラルネットワークに含まれるニューロンの膜電位時定数値を増加させてもよい。
【００１７】
前記プロセッサは、前記ニューラルネットワークに入力される入力信号の大きさが第２基準値より大きい場合、前記ニューロンの前の層のうち最初の層に含まれるニューロンの膜電位時定数値を減少させてもよい。
【００１８】
前記第１シナプス信号は、時間の経過に応じて入力され、前記現在の層のニューロンの膜電位は、前記第１シナプス信号に対応するシナプスの重みによって変化してもよい。
【００１９】
入力される前記第１シナプス信号がない場合、前記現在の層のニューロンの膜電位は、時間に伴い一定の割合（ｒａｔｅ）で減少してもよい。
【００２０】
前記活性ニューロンは、前記活性ニューロンの膜電位が前記活性ニューロンの膜電位の閾値を超える場合、スパイク信号（ｓｐｉｋｅ  ｓｉｇｎａｌ）を出力し、前記スパイク信号が出力された場合、前記活性ニューロンの膜電位は減少してもよい。
【００２１】
前記活性ニューロンの膜電位は、前記活性ニューロンの膜電位の閾値に比例する大きさだけ減少するか、又は、前記活性ニューロンの膜電位は、前記活性ニューロンの膜電位の閾値に比例する予め決定した割合だけ減少してもよい。
【００２２】
前記活性ニューロンの側抑制係数の大きさは、前記現在の層のニューロンの各々に対応するシナプスの重みに基づいて決定されてもよい。
【００２３】
一実施形態によれば、学習方法は、時間の経過に伴うイベントを含むトレーニングデータをニューラルネットワークの入力層に与えるステップと、前記ニューラルネットワークの出力層の出力値を取得するステップと、前記トレーニングデータに対応する目標値と前記出力値とに基づいて前記ニューラルネットワークを学習させるステップとを含む。
【００２４】
前記ニューラルネットワークは、前の層から入力される入力シナプス信号及び現在の層から入力される側抑制信号に基づいて活性化する現在の層のニューロン及び前の層のニューロンを含み、前記現在の層のニューロンのうちの活性ニューロンは、次の層のニューロンを興奮又は抑制させ、同一層の他のニューロンを抑制させてもよい。
【００２５】
前記学習させるステップは、ニューロンの膜電位の閾値、ニューロンの膜電位リセット係数（ｒｅｓｅｔ  ｆａｃｔｏｒ）、及びニューロンの入力アクティビティーに基づいて前記ニューラルネットワークに含まれるニューロンの出力アクティビティー（ｏｕｔｐｕｔ  ａｃｔｉｖｉｔｙ）を決定するステップと、前記ニューラルネットワークに含まれる前記ニューロンの出力アクティビティーに基づいて、前記ニューラルネットワークに含まれるニューロンのパラメータを決定するステップとを含んでもよい。
【００２６】
前記パラメータは、前記ニューロンの膜電位の閾値、前記ニューロンの入力シナプスの重み、前記ニューロンの出力シナプスの重み、及び前記ニューロンの側抑制係数のうち少なくとも１つを含んでもよい。
【００２７】
前記学習させるステップは、前記ニューロンの膜電位リセット係数、前記ニューロンの側抑制係数、前記ニューロンの側方ディスカウント係数、及びニューロンのグループ内の前記ニューロンを除く残りのニューロンの出力アクティビティーに基づいて前記ニューロンの出力アクティビティーを調節するステップをさらに含んでもよい。
【００２８】
前記ニューロンの側抑制係数は、前記ニューロンの入力シナプスの重みに基づいて決定されてもよい。
【００２９】
前記学習させるステップは、前記ニューラルネットワークに入力される入力信号の大きさと基準値との間の比較結果に基づいて、前記ニューラルネットワークに含まれるニューロンの膜電位時定数値を変化させるステップを含んでもよい。
【００３０】
前記ニューロンの膜電位時定数値を変化させるステップは、前記ニューラルネットワークに入力される入力信号の大きさが第１基準値より小さい場合、前記ニューロンの膜電位時定数値を増加させるステップを含んでもよい。
【００３１】
前記ニューロンの膜電位時定数値を変化させるステップは、前記ニューラルネットワークに入力される入力信号の大きさが第２基準値より大きい場合、ニューロンの前の層のうち最初の層に含まれるニューロンの膜電位時定数値を減少させるステップを含んでもよい。
【００３２】
前記学習させるステップは、前記目標値及び前記出力値に基づいて、前記ニューラルネットワークに逆伝播（ｂａｃｋ  ｐｒｏｐａｇａｔｉｏｎ）されるロス（ｌｏｓｓ）を決定するステップと、前記ロス及び前記ニューラルネットワークに含まれるニューロンの出力アクティビティーに基づく勾配降下法（ｇｒａｄｉｅｎｔ  ｄｅｓｃｅｎｔ）に基づいて、前記ニューロンのパラメータを決定するステップとを含んでもよい。
【００３３】
前記学習させるステップは、前記ニューラルネットワークに含まれるニューロンの入力シナプスの重みの二乗和と重みの基準値とを比較するステップと、この比較の結果に基づいて重み調節速度（ｗｅｉｇｈｔ  ｒｅｇｕｌａｔｉｏｎ  ｒａｔｅ）を決定するステップと、前記重み調節速度に基づいて前記入力シナプスの重みを減少させるステップとを含んでもよい。
【００３４】
前記重み調節速度を決定するステップは、前記二乗和が前記重みの基準値より大きければ、前記重み調節速度を増加させるステップと、前記二乗和が前記重みの基準値以下であれば、前記重み調節速度を減少させるステップとを含んでもよい。
【００３５】
前記学習させるステップは、前記ニューラルネットワークに含まれるニューロンの活性化の有無に基づいてニューロンの膜電位の閾値を調節するステップを含んでもよい。
【００３６】
前記調節するステップは、前記ニューロンのうち１つの活性ニューロンの膜電位の閾値を一定の割合で増加させるステップを含んでもよい。
【００３７】
前記調節するステップは、前記ニューロンの前の層で受容野を共有するニューロンの個数及び前の層に含まれる活性ニューロンの個数に基づいて、前記ニューロンの膜電位の閾値を減少させるステップをさらに含んでもよい。
【００３８】
前記調節するステップは、前記ニューラルネットワークに含まれるニューロンの膜電位の閾値が膜電位の基準値より小さい場合、前記ニューロンの各々に対応するシナプスの重みを増加させるステップを含んでもよい。
【００３９】
前記学習させるステップは、前記ニューラルネットワークに含まれる層のニューロン当たりのシナプスの数に基づいて、前記層に含まれるニューロンのシナプスの重み及び前記ニューロンの膜電位の閾値のうち少なくとも１つを初期化するステップを含んでもよい。
【００４０】
前記学習させるステップは、ニューロンのシナプスの重みの更新量及びニューロンの膜電位の閾値の更新量が同じになるように逆伝播エラーを正規化（ｎｏｒｍａｌｉｚｅ）するステップを含んでもよい。
【００４１】
一実施形態によれば、認識装置は、第１ニューロンの前の層及び前記前の層から受信した第１入力信号及び第２入力信号を受信する第２ニューロンの現在の層を含むニューラルネットワークを格納するメモリであって、前記第２入力信号は、前記現在の層から受信される、メモリと、前記ニューラルネットワークに基づく認識結果を生成するプロセッサとを含み、前記第２ニューロンのうち活性ニューロンは、前記第１入力信号中の第１入力信号を受信し、次の層の第３ニューロンを興奮又は抑制させる第１出力信号を生成し、前記第１入力信号の電位が閾値より大きい場合、前記現在の層の活性ニューロンを除く他のニューロンを抑制させる第２出力信号を生成する。
【００４２】
前記他のニューロンの各々は、前記活性ニューロンから第２出力信号を受信し、前記他のニューロンの各々の電位閾値及び前記活性ニューロンの側抑制係数を乗じることにより、前記他のニューロンの各々の電位を減少させてもよい。
【発明の効果】
【００４３】
本発明の実施形態によれば、ニューロンの膜電位の閾値が予め設定された膜電位の基準値より小さい場合に、ニューロンの膜電位の閾値を低くする代わりにニューロンの各々に対応するシナプスの重みを増加させることによって、非常に小さい膜電位の閾値のために発生し得るニューロンの不安定を防止することができる。
【００４４】
また、全ての層で、ニューロンのシナプスの重みの更新量及びニューロンの膜電位の閾値の更新量が最大限等しくなるように逆伝播エラーを正規化することによって層間の更新不均衡を調節することができる。
【００４５】
また、トレーニングデータの全てに対して複数回反復（ｉｔｅｒａｔｉｏｎ）トレーニングを行うことによって、ニューラルネットワークのパラメータを最適化することができる。
【図面の簡単な説明】
【００４６】
【図１】一実施形態に係る認識装置のブロック図である。
【図２】一実施形態に係るニューラルネットワークの構造である。
【図３】一実施形態に係るニューラルネットワークを構成するニューロンの動作方法を説明するための図である。
【図４】一実施形態に係るニューラルネットワークでニューロン及びシナプスが構成するＷＴＡ構造を説明するための図である。
【図５】一実施形態に係るニューロン及びシナプスが構成するＷＴＡ構造で活性ニューロンを中心とする動作を説明するための図である。
【図６】一実施形態に係る学習方法が実行される過程を説明するための図である。
【図７】一実施形態に係る学習方法を示したフローチャートである。
【図８】一実施形態に係るニューラルネットワークを学習させる方法を示したフローチャートである。
【図９】一実施形態によりパラメータを決定する方法を示したフローチャートである。
【図１０】一実施形態により入力シナプスの重みを調節する方法を示したフローチャートである。
【図１１】一実施形態に係る膜電位の閾値を調節する方法を示したフローチャートである。
【発明を実施するための形態】
【００４７】
実施形態に対する特定の構造的又は機能的説明は、単に例示を目的として開示されたものであり、様々な形態に変更して実施することができる。従って、実施形態は、特定の開示の形態に限定されるものではなく、本明細書の範囲は、技術的思想に含まれる変更、均等物、又は代替物を含む。
【００４８】
第１又は第２などの用語を、複数のコンポーネントを説明するために使用することができるが、このような用語は、１つの構成要素を他の構成要素と区別する目的としてのみ解釈されるべきである。例えば、第１構成要素は、第２構成要素と命名されてもよく、同様に第２構成要素は、第１構成要素と命名されてもよい。
【００４９】
ある構成要素が他の構成要素に「連結されて」いると言及された場合、この他の構成要素に直接的に連結されていたり又は接続されていたりしてもよいが、中間に他の構成要素が存在してもよいと理解すべきである。
【００５０】
単数の表現は、文脈上で明白に異なるように意味しない限り、複数の表現を含む。本明細書で、「含む」又は「有する」等の用語は、説明された特徴、数字、ステップ、動作、構成要素、部品又はこれらを組み合わせたものが存在することにより指定しようとするものであり、１つ又は複数の他の特徴や数字、ステップ、動作、構成要素、部品又はこれらを組み合わせたものなどの存在又は付加の可能性を予め排除しないものと理解されるべきである。
【００５１】
また、明細書に記述された〜部（ｕｎｉｔ）及び「モジュール（ｍｏｄｕｌｅ）」は、少なくとも１つの機能又は動作を行う構成要素を記述し、ハードウェア、ソフトウェア、又は、ハードウェア及びソフトウェアの組合せで実現されてよい。
【００５２】
異なる定義がされない限り、技術的又は科学的な用語を含み、ここで用いられる全ての用語は、当技術分野で通常の知識を有する者によって一般的に理解されるのと同一の意味を有する。一般的に用いられる予め定義された用語は、関連技術の文脈上で有する意味と一致する意味を有するものと解釈するべきであって、本明細書で明白に定義しない限り、理想的又は過度に形式的な意味として解釈されることはない。
【００５３】
下記で説明される実施形態は、ユーザ又はユーザの生体信号などを認識するのに用いられてもよい。実施形態は、パーソナルコンピュータ、ラップトップコンピュータ、タブレットコンピュータ、スマートフォン、テレビ、スマート家電機器、知的車両、キオスク、ウェアラブル装置などのさまざまな形態の製品で実現されてもよい。例えば、実施形態は、スマートフォン、モバイル機器、スマート溝システムなどでユーザを認証するのに適用されてもよい。実施形態は、ユーザ認証を通した決済サービスに適用されてもよい。また、実施形態は、ユーザを認証して自動で始動する知的車両システムなどにも適用されてもよい。以下、添付する図面を参照しながら実施形態を詳細に説明する。
【００５４】
図１は、一実施形態に係る認識装置のブロック図である。図１を参照すると、一実施形態に係る認識装置１００は、メモリ１１０及びプロセッサ１３０を含む。認識装置１００は、ニューラルネットワークを用いてユーザ入力を認識する。ニューラルネットワークは、例えば、イベントベースのディープニューラルネットワーク又はディープスパイキングニューラルネットワークであってもよい。ニューラルネットワークの構造の一例は、図２に示される。
【００５５】
一実施形態に係るニューラルネットワークは、第１シナプス信号及び第２シナプス信号に基づいて活性化するニューロンを含む。第１シナプス信号は、ニューラルネットワーク内の隣接した２つの層間で送信されるシナプス信号を意味する。例えば、第１シナプス信号は、前の層に含まれるニューロンからある層のニューロンに、又は、ある層に含まれるニューロンから次の層のニューロンに送信されるシナプス信号を意味する。第１シナプス信号は、シナプスの重みによって次の層のニューロンを興奮又は抑制させる。また、第２シナプス信号は、同一層内の他のニューロンから入力されるシナプス信号を意味する。第２シナプス信号は、同一層の他のニューロンを抑制させる。以下にて詳細に説明するが、第２シナプス信号は、同一層内の同一のグループ内の他のニューロンを抑制させる。第２シナプス信号は、「抑制信号」とも呼ぶことができる。
【００５６】
一実施形態において、ニューラルネットワークは、第２シナプス信号を用いて同一層又は同一グループ内の他のニューロンの活性化を抑制させることによって、第２シナプス信号を発生させたニューロンがスパイク信号を出力する構造、即ち、Ｗｉｎｎｅｒ−ｔａｋｅ−ａｌｌ（ＷＴＡ）構造を有してもよい。ＷＴＡ構造については、図５を参照ながら説明する。
【００５７】
ニューラルネットワークは、入力層、隠れ層（Ｈｉｄｄｅｎ  ｌａｙｅｒ）及び出力層を含む。入力層は、入力データを受信する。隠れ層は、前の層から入力される第１シナプス信号及び同一層から入力される第２シナプス信号に基づいて活性化する複数のニューロンを含む。一例として、第１シナプス信号及び第２シナプス信号に基づいて活性化した活性ニューロンは、抑制信号を発生させ、抑制信号は、活性ニューロンの側抑制係数に基づいて同一の層の残りのニューロンに伝達される。出力層は、隠れ層の出力に基づいて認識結果を出力する。
【００５８】
メモリ１１０は、以下の図２〜図５で説明するニューラルネットワークを格納してもよい。メモリ１１０は、揮発性メモリ又は不揮発性メモリであってもよい。実施形態に応じて、ニューラルネットワークは、メモリ１１０でなく遠隔に格納されてもよい。
【００５９】
プロセッサ１３０は、メモリ１１０に格納されたニューラルネットワークを用いて認識結果を生成する。プロセッサ１３０によって実行されるプログラムコードは、メモリ１１０に格納される。認識装置１００は、入出力装置を介して外部装置（例えば、パーソナルコンピュータ又はネットワーク）に接続され、データを交換する。
【００６０】
図２は、一実施形態に係るニューラルネットワークの構造である。図２を参照すると、複数の層を含むニューラルネットワーク２００の構造が示されている。
【００６１】
ニューラルネットワーク２００は、例えば、ディープスパイキングニューラルネットワークである。ニューラルネットワーク２００は、入力層２１０、隠れ層２３０、及び出力層２５０を含む。入力層２１０は、ニューラルネットワーク２００の入力値を受信する。出力層２５０は、ニューラルネットワークの出力値を出力する。隠れ層２３０は、ニューラルネットワーク２００の外部から隠蔽されている層、即ちニューラルネットワーク２００の外部から見えない層を意味する。隠れ層２３０は、複数の層２３１、２３３、２３５を含む。ここで、層２３１、２３３、２３５の配列順序により層２３１を「前の層（ｐｒｅｖｉｏｕｓ  ｌａｙｅｒ）」、層２３３を「ある層（又は現在の層）」、層２３５を「次の層（ｎｅｘｔ  ｌａｙｅｒ）」と呼ぶことができる。
【００６２】
入力層２１０、隠れ層２３０、及び出力層２５０の各々は、ニューロン２０５を含む。ニューロン２０５は、例えば、ＬＩＦ（Ｌｅａｋｙ  Ｉｎｔｅｇｒａｔｅ  ａｎｄ  Ｆｉｒｅ）ニューロンなどのスパイキングニューロンであってもよい。
【００６３】
ある層２３３のニューロンは、前の層２３１のニューロンから受信した第１シナプス信号に基づいて特定の条件でスパイク信号（図３の３１０及び３３０を参照）を出力する。また、ある層２３３のニューロンは、第１シナプス信号だけでなく、ある層２３３の他のニューロンから受信した第２シナプス信号もともに考慮してスパイク信号を出力する。ここで、スパイク信号を出力するニューロンを「活性ニューロン」と呼ぶことができる。
【００６４】
活性ニューロンは、第１シナプス信号及び第２シナプス信号を発生させる。活性ニューロンは、例えば、該当ニューロンの膜電位が膜電位の閾値を超える場合にスパイク信号を出力するニューロンであってもよい。活性ニューロンは、第１シナプス信号を介して他の層内のニューロンの膜電位に影響を与え、第２シナプス信号を介して同一層内の他のニューロンの膜電位に影響を与えることができる。
【００６５】
第２シナプス信号は、活性ニューロンの側抑制係数に基づいて同一層内の他のニューロンに伝達される。層は、少なくとも１つのグループを含み、この場合、一グループ内の活性ニューロンによって発生された第２シナプス信号は、同一グループ内の他のニューロンに伝達される。第２シナプス信号を受信した他のニューロンは、自身（他のニューロン）の膜電位の閾値及び側抑制係数に基づいて膜電位を減少させる。活性ニューロンと他のニューロンとの間の側抑制係数は、互いに同一の値に設定されてもよいし、互いに異なる値に設定されてもよい。ニューロンの動作方法及び活性ニューロンについては、図３を参照して説明する。
【００６６】
図３は、一実施形態に係るニューラルネットワークを構成するニューロンの動作方法を説明するための図である。図３を参照すると、一実施形態に係るニューラルネットワークに含まれるニューロンの動作が示されている。図３のグラフにおいて、横軸は、第１シナプス信号が時間の経過に応じて入力される時間（ｔ）を示し、縦軸は、ニューロンの膜電位を示す。
【００６７】
ニューロンは、前の層からある層に入力された第１シナプス信号を受信する。第１シナプス信号は、時間の経過に応じて入力される。ニューロンは、例えば、時間ｔ１において入力された第１シナプス信号を受信する。第１シナプス信号を受信したニューロンの膜電位（Ｖｍｐ）は、一定値を示すことができる。ここで、ニューロンの膜電位は、第１シナプス信号に対応するシナプスの重み（ｗｉ）によって変化し得る。ここで、「第１シナプス信号に対応するシナプスの重み」は、第１シナプス信号を受信したシナプスの各々の重みと理解してもよい。
【００６８】
ニューロンの膜電位は、第１シナプス信号がない場合、即ち、第１シナプス信号が入力されない場合、時間に応じて一定の割合で減少してもよい。ニューロンの膜電位は、例えば、該当ニューロンの膜電位時定数（τｍｐ）の比率で減少する。各々のニューロンごとに互いに異なる膜電位時定数を有してもよい。
【００６９】
先に説明したニューロンの動作は、下記の式（１）のように示すことができる。
【００７０】
【数１】
2017134821.tif 000003
【００７１】
ここで、ｔｎ−１は、シナプス信号の移転入力時間、ｔｎは、シナプス信号の現在入力時間、ｗｉ（ｎ）は、シナプス信号のｎ番目の入力時間を有するｉ番目のシナプスの重みを示す。Ｖｍｐは、該当ニューロンの膜電位を示し、τｍｐは、該当ニューロンの膜電位時定数を示す。
【００７２】
一実施形態によれば、同一の入力を受けるニューロンの場合、式（１）の指数関数的減衰項
【００７３】
【数２】
2017134821.tif 000004
が同一の値を有してもよい。例えば、受容野を共有する同一のグループ内のニューロンは、同一の指数関数的減衰項に基づいて膜電位が算出される。従って、指数関数的減衰項は、一度だけ算出され、他のニューロンの膜電位を算出するときにそのまま適用される。そのため、時間の経過に応じてニューロンの膜電位を更新するときに演算量が顕著に減少する。
【００７４】
図面に示していないが、第２シナプス信号を受信する場合、ニューロンの膜電位は、側抑制係数に基づいて減少する。側抑制係数を用いるＷＴＡ構造は、図４を参照しながら後述する。
【００７５】
第１シナプス信号が時間の経過に応じて時間ｔ２、時間ｔ３、及び時間ｔ４においてそれぞれ入力され、時間ｔ４においてニューロンの膜電位が該当ニューロンの膜電位の閾値（Ｖｔｈ）を超える場合、ニューロンは、スパイク信号３１０を出力する。
【００７６】
スパイク信号３１０が出力された後、ニューロン（活性ニューロン）の膜電位は、予め決定した方式によって減少する。予め決定した方式は、例えば、活性ニューロンの膜電位を活性ニューロンの膜電位の閾値に比例する大きさだけ減少させる方式、及び活性ニューロンの膜電位を活性ニューロンの膜電位の閾値に比例する予め決定した割合だけ減少させる方式などを含んでもよい。
【００７７】
ニューロン（活性ニューロン）の膜電位は、例えば、下記の式（２）のように減少してもよい。
【００７８】
【数３】
2017134821.tif 000005
【００７９】
ここで、Ｖｍｐ（ｔｎ+）は、スパイク信号出力後（ｔｎ+）のニューロンの膜電位を示す。Ｖｔｈは、該当ニューロンの膜電位の閾値を示し、γは、膜電位リセット係数を示す。膜電位リセット係数は、例えば、０から１の間の値を有してもよい。
【００８０】
予め決定した方式によって減少したニューロンの膜電位は、時間の経過に応じて時間ｔ５、時間ｔ６、時間ｔ７、及び時間ｔ８においてそれぞれ入力された第１シナプス信号によって再び膜電位の閾値（Ｖｔｈ）を超える。ニューロンは、時間ｔ８においてスパイク信号３３０を出力する。
【００８１】
一実施形態において、ニューロンの膜電位（Ｖｍｐ）は、ニューロンの膜電位の閾値（Ｖｔｈ）によって設定された範囲（例えば、−Ｖｔｈ＜Ｖｍｐ＜Ｖｔｈ）に基づいてクランピング（ｃｌａｍｐｉｎｇ）できる。
【００８２】
一実施形態によれば、ニューロンの膜電位時定数（τｍｐ）値は、例えば、ニューラルネットワークに入力される入力信号の大きさと予め設定された基準値との間の比較結果に基づいて変化する。
【００８３】
ニューラルネットワークに入力される入力信号の大きさが予め設定された第１基準値より小さい場合、認識装置は、ニューロンの膜電位時定数値を増加させる。ニューラルネットワーク内のニューロンの膜電位時定数値が増加する場合、ニューロンの膜電位が徐々に減少するため、ニューロンの電圧がよく集約されるように調節される。
【００８４】
また、ニューラルネットワークに入力される入力信号の大きさが予め設定された第２基準値より大きい場合、認識装置は、最初の隠れ層に含まれるニューロンの膜電位時定数値を減少させる。最初の隠れ層に含まれるニューロンの膜電位時定数値が減少する場合、最初の隠れ層でニューロンの膜電位が早く減少するため、最初の隠れ層をフィルタリング層で活用することができる。即ち、最初の隠れ層で入力信号がフィルタリングされてもよい。第２基準値は、第１基準値より大きい値であってもよい。
【００８５】
図４は、一実施形態に係るニューラルネットワークにおいて、ニューロン及びシナプスが構成するＷＴＡ構造を説明するための図である。図４を参照すると、ニューラルネットワークの前の層２３１及びある層２３３が示されている。
【００８６】
ニューラルネットワークのある層２３３は、ある層２３３に含まれるニューロンのうちの一部のニューロンを含む少なくとも１つのグループ４３０を含んでもよい。
【００８７】
同一のグループ４３０に含まれるニューロン４３１、４３３、４３５は、前の層２３１に属する受容野４１０を共有することができる。「受容野４１０」は、前の層２３１の複数のニューロンのうちの、ある層２３３のグループ４３０に含まれるニューロン４３１、４３３、４３５にシナプス信号を提供するニューロンの集合と理解することができる。
【００８８】
受容野４１０に含まれるニューロン４１１、４１３、４１５の各々は、受容野４１０に対応するグループ４３０内に含まれるニューロン４３１、４３３、４３５の全てと入力シナプス４２１、４２２、４２３、４２４、４２５、４２６、４２７、４２８、４２９を介して連結される。例えば、受容野４１０に含まれるニューロン４１１は、ニューロン４３１、４３３、４３５の各々とシナプス４２１、４２２、４２３を介して連結される。受容野４１０に含まれるニューロン４１３は、ニューロン４３１、４３３、４３５の各々とシナプス４２４、４２５、４２６を介して連結される。受容野４１０に含まれるニューロン４１５は、ニューロン４３１、４３３、４３５の各々とシナプス４２７、４２８、４２９を介して連結される。
【００８９】
ニューロン４３１、４３３、４３５は、シナプス４２１、４２２、４２３、４２４、４２５、４２６、４２７、４２８、４２９を介して受容野４１０に含まれるニューロン４１１、４１３、４１５から第１シナプス信号を受信する。
【００９０】
同一のグループ４３０に含まれるニューロン４３１、４３３、４３５中の活性ニューロンは、同一層内（又は同一のグループ内）の他のニューロンを抑制させる第２シナプス信号を発生させる。例えば、ニューロン４３１が活性ニューロンになる場合、ニューロン４３１は、側抑制シナプス（ｌａｔｅｒａｌ  ｉｎｈｉｂｉｔｏｒｙ  ｓｙｎａｐｓｅｓ）を介してニューロン４３３、４３５を抑制させる第２シナプス信号を発生させる。又は、ニューロン４３３が活性ニューロンになる場合、ニューロン４３３は、側抑制シナプスを介してニューロン４３１、４３５を抑制させる第２シナプス信号を発生させる。ニューロン４３５が活性ニューロンである場合、ニューロン４３５は、側抑制シナプスを介してニューロン４３１、４３３を抑制させる第２シナプス信号を発生させる。活性ニューロンは、第２シナプス信号に基づいて同一のグループ４３０に含まれる他のニューロンの膜電位を調節する。
【００９１】
図５は、一実施形態に係るニューロン及びシナプスが構成するＷＴＡ構造において、活性ニューロンを中心とする動作を説明するための図である。以下では説明の便宜のために、例えば、ニューロン４３３が活性ニューロンになった場合の（活性）ニューロン４３３を中心とするシナプスとニューロンとの間の動作だけを説明する。
【００９２】
例えば、同一のグループ４３０に含まれるニューロン４３１、４３３、４３５のうちのニューロン４３３は、受容野４１０に含まれるニューロン４１１、４１３、４１５から時間の経過に応じて入力される第１シナプス信号４２２、４２５、４２８を受信する。第１シナプス信号４２２、４２５、４２８によってニューロン４３３の膜電位がニューロン４３３の膜電位の閾値を超えると、ニューロン４３３は、活性ニューロンになる。ニューロン４３３は、スパイク信号５１０を出力する。スパイク信号５１０は、次の層の複数のニューロンに伝達される。
【００９３】
ここで、ニューロン４３３は、第２シナプス信号を発生させて同一のグループ４３０に含まれる他のニューロン４３１、４３５を抑制させることができる。第２シナプス信号は、例えば、ニューロン４３３の側抑制係数に基づいて他のニューロン４３１、４３５に伝達されてもよい。
【００９４】
ニューロン４３３から第２シナプス信号を受信した他のニューロン４３１、４３５は、自身（他のニューロン４３１、４３５）の膜電位の閾値及びニューロン４３３の側抑制係数に基づいて自身（他のニューロン４３１、４３５）の膜電位を減少させる。
【００９５】
第２シナプス信号を受信した他のニューロン４３１、４３５は、例えば、下記の式（３）のように自身（他のニューロン４３１、４３５）の膜電位の閾値及びニューロン４３３の側抑制係数に比例する量だけ膜電位を減少させる。
【００９６】
【数４】
2017134821.tif 000006
【００９７】
Ｖｍｐは、ニューロンの膜電位を示し、μは（活性）ニューロンの側抑制係数を示し、Ｖｔｈは、膜電位の閾値を示す。
【００９８】
第２シナプス信号によって同一層内（又は同一のグループ内）の他のニューロン４３１、４３５が抑制されるため、ニューロン４３３のＷＴＡ構造が構成され得る。ＷＴＡ構造で活性ニューロンと他のニューロンとの間の側抑制係数は、互いに同一の値に設定されてもよいし、異なる値に設定されてもよい。
【００９９】
側抑制係数の大きさは、ニューロンの各々に対応するシナプスの重みに基づいて決定されてもよい。側抑制係数の大きさは、例えば、［０，１］の間の固定された値に設定されてもよいし、実施形態による学習によって最適化されてもよい。
【０１００】
図６は、一実施形態に係る学習方法が実行される過程を説明するための図である。図６を参照すると、一実施形態に係るニューラルネットワーク２００で実行される学習過程が示されている。
【０１０１】
ニューラルネットワーク２００の入力層にトレーニングデータ６０１が与えられると、ニューラルネットワーク２００は、トレーニングデータ６０１に対応する出力値６０３を出力する。トレーニングデータ６０１は、学習のためにニューラルネットワーク２００に与えられる入力値であって、トレーニングデータ６０１に対応する目標値又はラベルの予め知っているデータに該当する。
【０１０２】
一実施形態においては、教師あり学習（ｓｕｐｅｒｖｉｓｅｄ  ｌｅａｒｎｉｎｇ）方法を用いるため、入力層にトレーニングデータ６０１が与えられるとき、トレーニングデータ６０１に対応する目標値６０２は予め知られている。
【０１０３】
学習装置は、トレーニングデータ６０１に対応する目標値６０２と出力値６０３との間の差によってロスを算出する（６１０）。学習装置は、ステップ６１０で算出されたロスをニューラルネットワーク２００で逆伝播してニューラルネットワーク２００に含まれるニューロンのパラメータを決定する（６２０）。
【０１０４】
学習装置は、ステップ６２０で決定されたパラメータが適用されたニューラルネットワーク２００に次のトレーニングデータを与える。学習装置は、新しく出力された出力値と次のトレーニングデータに対応する目標値とを比較してロスを再び算出する。学習装置は、再び算出されたロスをニューラルネットワーク２００で逆伝播してニューロンのパラメータを調節する。このように学習装置は、ステップ６１０及びステップ６２０の過程をトレーニングデータの全てに対して複数回の反復を行ってニューラルネットワーク２００のパラメータを最適化する。
【０１０５】
ステップ６２０で決定されたニューロンのパラメータ（又は最適化されたパラメータ）は、図１〜図５で説明した認識装置のニューラルネットワークに適用されてもよい。
【０１０６】
実施形態により、ニューロンの膜電位時定数が学習される。一実施形態において、学習装置は、例えば、ニューラルネットワーク２００に入力される入力信号（例えば、トレーニングデータ６０１）の大きさと予め設定された基準値との間の比較結果に基づいてニューラルネットワーク２００に含まれるニューロンの膜電位時定数値を変化させる。
【０１０７】
実施形態に従って、学習装置は、ステップ６１０で算出されたロスをニューラルネットワーク２００で逆伝播するときに発生する逆伝播エラーを正規化することができる。
【０１０８】
学習装置は、例えば、全ての層において、ニューロンのシナプスの重みの更新量及びニューロンの膜電位の閾値の更新量が最大限等しくなるように逆伝播エラーを正規化することができる。逆伝播エラーの正規化によって層間の更新不均衡が調節される。
【０１０９】
全ての層において、ニューロンのシナプスの重みの更新量は、例えば、下記の式（４）によって得ることができ、全ての層において、ニューロンの膜電位の閾値の更新量は、下記の式（５）によって得ることができる。
【０１１０】
【数５】
2017134821.tif 000007
【０１１１】
ここで、ｗｉｊは、ニューロンｊでニューロンｉから入力されるシナプスの重みを示す。Δｗｉｊは、重みの更新量を示す。Ｎは、層に含まれるニューロンの個数を示し、Ｍは、ニューロン当たりのシナプスの個数を示す。また、ｎは、層に含まれる活性ニューロンの個数を示し、ｍは、ニューロンの活性シナプス（ａｃｔｉｖｅ  ｓｙｎａｐｓｅｓ）の個数を示す。ここで、活性シナプスは、他のニューロンから信号を受けて膜電位変化に寄与したシナプスを意味する。
【０１１２】
【数６】
2017134821.tif 000008
【０１１３】
ここで、Ｖｔｈ，ｉは、ｉ番目のニューロンの膜電位の閾値を示す。ΔＶｔｈ，ｉは、膜電位の閾値の更新量を示す。
【０１１４】
図７は、一実施形態に係る学習方法を示したフローチャートである。図７を参照すると、一実施形態に係る学習装置は、トレーニングデータをニューラルネットワークの入力層に与える（Ｓ７１０）。トレーニングデータは、時間の経過に伴うイベントを含む。
【０１１５】
ここで、ニューラルネットワークは、前の層から入力される入力シナプス信号及び同一層から入力される側抑制信号に基づいて活性化するニューロンを含んでもよい。ニューロンのうちの活性ニューロンは、次の層のニューロンを興奮又は抑制させ、同一層の他のニューロンを抑制させてもよい。
【０１１６】
学習装置は、ニューラルネットワークの出力層の出力値を取得する（Ｓ７２０）。学習装置は、入力層に与えられたトレーニングデータがニューラルネットワークの層を経た後に出力層から出力される出力値を取得する。ニューラルネットワークの層のパラメータは、初期にデフォルト値（ｄｅｆａｕｌｔ  ｖａｌｕｅ）に設定されてもよい。
【０１１７】
学習装置は、トレーニングデータに対応する目標値と出力値とに基づいてニューラルネットワークを学習させる（Ｓ７３０）。学習装置は、例えば、ニューラルネットワークに含まれるニューロンのパラメータを決定することによってニューラルネットワークを学習させる。ニューロンのパラメータは、例えば、ニューロンの膜電位の閾値、ニューロンの入力シナプスの重み、ニューロンの出力シナプスの重み、及びニューロンの側抑制係数などを含んでもよい。学習装置がニューラルネットワークを学習させる具体的な方法は、図８を参照して説明する。
【０１１８】
図８は、一実施形態に係るニューラルネットワークを学習させる方法を示したフローチャートである。図８を参照すると、一実施形態に係る学習装置は、トレーニングデータに対応する目標値と出力値との間の差によってロスを算出する（Ｓ８１０）。
【０１１９】
学習装置は、ニューロンの出力アクティビティーを決定する（Ｓ８２０）。学習装置は、例えば、膜電位平衡方程式（Ｍｅｍｂｒａｎｅ  ｐｏｔｅｎｔｉａｌ  ｅｑｕｉｌｉｂｒｉｕｍ  ｅｑｕａｔｉｏｎ）を用いてニューロンの出力アクティビティーを決定する。学習装置が膜電位平衡方程式を用いてニューロンの出力アクティビティーを決定する具体的な方法は、次の通りである。
【０１２０】
１．ニューロンの側抑制係数の大きさが０の場合
【０１２１】
学習装置は、例えば、ニューラルネットワークに含まれるニューロンの入力アクティビティー、ニューロンの膜電位リセット係数、及びニューロンの膜電位の閾値に基づいて下記の式（６）のようにニューロンの出力アクティビティー（a）を決定する。ニューロンの出力アクティビティーは、ニューロンの出力値と理解することができる。
【０１２２】
【数７】
2017134821.tif 000009
【０１２３】
ここで、s=Σｗｋｘｋであり、ｘｋは、ｋ番目のシナプスから入力される入力アクティビティーを示し、ｗｋは、ｋ番目のシナプスの重みを示す。γは、ニューロンの膜電位リセット係数を示し、Ｖｔｈは、ニューロンの膜電位の閾値を示す。
【０１２４】
２．ニューロンの側抑制係数がＷＴＡ回路のグループ内で全く同じである場合
【０１２５】
学習装置は、例えば、ニューロンの膜電位リセット係数、ニューロンの側抑制係数、ニューロンの側方ディスカウント係数、及びグループ内の残りのニューロンの出力アクティビティーに基づいて下記の式（７）のようにｉ番目のニューロンの出力アクティビティー（ａｉ）を調節することができる。
【０１２６】
【数８】
2017134821.tif 000010
【０１２７】
ここで、sｉ=Σｗｋｉｘｋｉであり、ｘｋｉは、ｉ番目のニューロンのｋ番目の入力シナプスから入力される入力アクティビティーを示し、ｗｋｉは、ｉ番目のニューロンのｋ番目の入力シナプスに対するシナプスの重みを示す。Ｖｔｈ，ｉは、ｉ番目のニューロンの膜電位の閾値であり、ａｉは、ｉ番目のニューロンの出力アクティビティーを示し、ａｊは、ｊ番目のニューロンの出力アクティビティーを示す。μは、側抑制係数を示し、σは、側方ディスカウント係数を示す。
【０１２８】
３．ニューロンの側抑制係数がＷＴＡ回路のグループ内で全て同じでない場合
【０１２９】
学習装置は、例えば、ニューロンの膜電位リセット係数、ニューロンの側抑制係数、ニューロンの側方ディスカウント係数、及びグループ内の残りのニューロンの出力アクティビティーに基づいて下記の式（８）のようにｉ番目のニューロンの出力アクティビティー（ａｉ）を調節することができる。
【０１３０】
【数９】
2017134821.tif 000011
【０１３１】
ここで、ｋｉｊは、ｊ番目のニューロンであり、ｉ番目のニューロンに与える側抑制の大きさを示す。
【０１３２】
４．ニューロンの側抑制係数の大きさがニューロンの入力シナプスの重みに基づいて決定される場合
【０１３３】
学習装置は、例えば、下記の式（９）のようにニューロンの出力アクティビティーを調節することができる。
【０１３４】
【数１０】
2017134821.tif 000012
【０１３５】
ここで、
【０１３６】
【数１１】
2017134821.tif 000013
又は
【０１３７】
【数１２】
2017134821.tif 000014
であってもよい。
【０１３８】
Ｇ＋は、（ｉ，ｊ）の要素がＧｉｊ＋で構成された行列であり、Ｗ＝［ｗ１，・・・，ｗＮ］であり、ｗ１は、１番目のシナプスの重みを、ｗＮは、Ｎ番目のシナプスの重みを示す。
【０１３９】
学習装置は、ステップＳ８１０で算出されたロス、及びステップＳ８２０で決定されたニューロンの出力アクティビティーに基づいて、ニューロンのパラメータを決定する（Ｓ８３０）。学習装置は、例えば、ニューラルネットワークに逆伝播されるロス及びニューラルネットワークに含まれるニューロンの出力アクティビティーに基づく勾配降下法によって、ニューロンのパラメータを決定する。
【０１４０】
ニューロンのパラメータは、例えば、ニューロンの膜電位の閾値、ニューロンの入力シナプスの重み、ニューロンの出力シナプスの重み、及びニューロンの側抑制係数などを含んでもよい。学習装置は、膜電位平衡方程式から例えば、
【０１４１】
【数１３】
2017134821.tif 000015
のようなパラメータに対する偏微分項を誘導することができる。学習装置は、偏微分項を用いてパラメータを調節することができる。
【０１４２】
学習装置がニューロンのパラメータを決定する具体的な方法は、図９を参照して説明する。
【０１４３】
図９は、一実施形態によりパラメータを決定する方法を示したフローチャートである。図９を参照すると、一実施形態に係る学習装置は、ニューラルネットワークのパラメータを初期化する（Ｓ９１０）。学習装置は、ニューラルネットワークの層に含まれるニューロンのシナプスの重み（ｗ）及びニューロンの膜電位の閾値（Ｖｔｈ）のうち少なくとも１つを初期化する。
【０１４４】
学習装置は、例えば、ニューラルネットワークに含まれる層のニューロン当たりのシナプスの数（Ｍ）に基づいて、下記の式（１０）のように各層ごとに対しニューロンのシナプスの重み（ｗ）を初期化することができる。
【０１４５】
【数１４】
2017134821.tif 000016
【０１４６】
また、学習装置は、例えば、ニューラルネットワークに含まれる層のニューロン当たりのシナプスの数（Ｍ）に基づいて、下記の式（１１）のように各層ごとに対しニューロンの膜電位の閾値（Ｖｔｈ）を初期化することができる。
【０１４７】
【数１５】
2017134821.tif 000017
【０１４８】
ここで、αは、初期化係数を示す。
【０１４９】
学習装置は、パラメータを決定する（Ｓ９２０）。学習装置は、先立ってステップＳ８１０での算出によってニューラルネットワークに逆伝播されるロス及びニューラルネットワークに含まれるニューロンの出力アクティビティーに基づく勾配降下法によって、層に含まれるニューロンのシナプスの重み（ｗ）及びニューロンの膜電位の閾値（Ｖｔｈ）を決定する。
【０１５０】
学習装置は、パラメータを調節する（Ｓ９３０）。学習装置は、例えば、入力シナプスの重み又はニューロンの膜電位の閾値を調節する。学習装置は、パラメータを調節する過程を選択的に実行してもよい。
【０１５１】
学習装置が入力シナプスの重みを調節する方法は、図１０を参照して説明し、ニューロンの膜電位の閾値を調節する方法は、図１１を参照して説明する。
【０１５２】
図１０は、一実施形態により入力シナプスの重みを調節する方法を示したフローチャートである。図１０を参照すると、一実施形態に係る学習装置は、学習途中に持続的に入力シナプスの重みが減少（ｄｅｃａｙ）するように調節する。
【０１５３】
学習装置は、ニューラルネットワークに含まれるニューロンの入力シナプスの重みの二乗和（Σｊ（ｗｉｊ（ｌ））２）と予め決定した重みの基準値（例えば、１）とを比較する（Ｓ１０１０）。
【０１５４】
学習装置は、ステップＳ１０１０の比較結果に基づいて、重み調節速度を決定する。例えば、入力シナプスの重みの二乗和が重みの基準値より大きければ、学習装置は、重み調節速度を増加させる（Ｓ１０２０）。入力シナプスの重みの二乗和が重みの基準値以下であれば、学習装置は、重み調節速度を減少させる（Ｓ１０３０）。学習装置は、ステップＳ１０２０又はステップＳ１０３０で増加又は減少させた重み調節速度に基づいて入力シナプスの重みを減少させる（Ｓ１０４０）。
【０１５５】
学習装置は、例えば、入力シナプスの重みの二乗和が重みの基準値より大きくなれば重み調節速度を高めて、入力シナプスの重みの二乗和が重みの基準値より小さくなれば重み調節速度を低くすることによって、各ニューロンの入力シナプスの重みの二乗和が重みの基準値に近づくように保持する。
【０１５６】
図１０で説明した入力シナプスの重みを調節する方法は、下記の式（１２）のように示すことができる。
【０１５７】
【数１６】
2017134821.tif 000018
【０１５８】
ここで、Ｌｗ（ｌ，ｉ）は、重み正則化（ｗｅｉｇｈｔ  ｒｅｇｕｌａｒｉｚａｔｉｏｎ）のための目的関数（ｏｂｊｅｃｔｉｖｅ  ｆｕｎｃｔｉｏｎ）又は損失関数（ｌｏｓｓ  ｆｕｎｃｔｉｏｎ）を示す。
【０１５９】
Σｊ（ｗｉｊ（ｌ））２は、ニューロンの入力シナプスの重みの二乗和を示し、層ｌのニューロンｉに対して１に近接する値を有してもよい。λとβは、目的関数全体で重み正則化の重みを調節するパラメータを示す。式（１２）は、下記の式（１３）のように示すことができる。
【０１６０】
【数１７】
2017134821.tif 000019
【０１６１】
式（１３）は、式（１２）を微分した結果を示す。
【０１６２】
図１１は、一実施形態に係る膜電位の閾値を調節する方法を示したフローチャートである。図１１を参照すると、一実施形態に係る学習装置は、ニューラルネットワークに含まれるニューロンの活性化の有無に基づいてニューロンの膜電位の閾値を調節する。
【０１６３】
学習装置は、ニューラルネットワークに含まれるニューロンのうち少なくとも１つの活性ニューロンがあるか否かを判定する（Ｓ１１１０）。ステップＳ１１１０の判定の結果、少なくとも１つの活性ニューロンがないと判定されれば、学習装置は、ニューロンの膜電位の閾値が予め設定された膜電位の基準値より小さいか否かを判定する（Ｓ１１４０）。
【０１６４】
ステップＳ１１１０の判定の結果、少なくとも１つの活性ニューロンがあると判定されれば、学習装置は、少なくとも１つの活性ニューロンの膜電位の閾値を一定の割合（例えば、ρ）で増加させる（Ｓ１１２０）。
【０１６５】
学習装置は、ニューラルネットワークに含まれる全てのニューロンの膜電位の閾値を減少させる（Ｓ１１３０）。学習装置は、前の層に属する受容野を共有するニューロンの個数（Ｎ）及び同一層に含まれる活性ニューロンの個数（Ｎｗ）に基づいて、ニューラルネットワークに含まれるニューロンの膜電位の閾値を、例えば、ρＮｗ／Ｎだけ減少させる。
【０１６６】
学習装置は、活性ニューロンが発火（ｆｉｒｅ）した後（即ち、スパイク信号を出力した後）、全てのニューロンの膜電位の閾値を一定量減少させることによって、ニューラルネットワークに含まれる全てのニューロンに最適化できる公平な機会を提供することができる。
【０１６７】
学習装置は、ニューラルネットワークに含まれるニューロンの膜電位の閾値と予め設定された膜電位の基準値とを比較する（Ｓ１１４０）。ステップＳ１１４０の比較の結果、ニューロンの膜電位の閾値が予め設定された膜電位の基準値以上である場合、学習装置は、動作を終了する。
【０１６８】
ステップＳ１１４０の比較の結果、ニューロンの膜電位の閾値が予め設定された膜電位の基準値より小さい場合、学習装置は、ニューロンの各々に対応するシナプスの重みを増加させる（Ｓ１１５０）。学習装置は、ニューロンの膜電位の閾値が予め設定された膜電位の基準値より小さい場合に、ニューロンの膜電位の閾値を低くする代わりにニューロンの各々に対応するシナプスの重みを増加させることによって、非常に小さい膜電位の閾値のために発生し得るニューロンの不安定を防止することができる。
【０１６９】
上述した実施形態は、ハードウェア構成要素、ソフトウェア構成要素、又はハードウェア構成要素及びソフトウェア構成要素の組合せで具現化される。例えば、本実施形態で説明した装置及び構成要素は、例えば、プロセッサ、コントローラ、ＡＬＵ（ａｒｉｔｈｍｅｔｉｃ  ｌｏｇｉｃ  ｕｎｉｔ）、デジタル信号プロセッサ、マイクロコンピュータ、ＦＰＧＡ（ｆｉｅｌｄ  ｐｒｏｇｒａｍｍａｂｌｅ  ｇａｔｅ  ａｒｒａｙ）、ＰＬＵ（ｐｒｏｇｒａｍｍａｂｌｅ  ｌｏｇｉｃ  ｕｎｉｔ）、マイクロプロセッサ、又は命令を実行して応答する異なる装置のように、１つ以上の汎用コンピュータ又は特殊目的コンピュータを用いて具現化される。処理装置は、オペレーティングシステム（ＯＳ）及びＯＳ上で行われる１つ以上のソフトウェアアプリケーションを実行する。また、処理装置は、ソフトウェアの実行に応答してデータにアクセスし、データを格納、操作、処理、及び生成する。理解の便宜のために、処理装置は、１つが使用されるものとして説明する場合もあるが、当技術分野で通常の知識を有する者は、処理装置が複数の処理要素（ｐｒｏｃｅｓｓｉｎｇ  ｅｌｅｍｅｎｔ）及び／又は複数種類の処理要素を含むことが分かるであろう。例えば、処理装置は、複数のプロセッサ又は１つのプロセッサ及び１つのコントローラを含む。また、並列プロセッサ（ｐａｒａｌｌｅｌ  ｐｒｏｃｅｓｓｏｒ）のような、他の処理構成も可能である。
【０１７０】
ソフトウェアは、コンピュータプログラム、コード、命令、又はこれらのうちの１つ以上の組合せを含み、希望通りに動作するように処理装置を構成し、独立的又は集合的に処理装置に命令する。ソフトウェア及び／又はデータは、処理装置によって解釈され、処理装置に命令又はデータを提供するためのあらゆる種類の機械、構成要素、物理的装置、仮想装置、コンピュータ格納媒体又は装置、或いは伝送される信号波を介して永久的又は一時的に具現化される。ソフトウェアは、ネットワークに接続されたコンピュータシステム上に分散され、分散された方法で格納されるか又は実行される。ソフトウェア及びデータは１つ以上のコンピュータ読み取り可能な記録媒体に格納される。
【０１７１】
実施形態に係る方法は、様々なコンピュータ手段を介して実行することができるプログラム命令の形態で実現され、コンピュータ読み取り可能な記録媒体に記録される。記録媒体は、プログラム命令、データファイル、データ構造などを単独又は組合せて含む。前記媒体に記録されるプログラム命令は、実施形態のために特別に設計されて構成されたものなどやコンピュータソフトウェア分野の技術を有する当業者にとって公知のものであり、使用可能なものであってもよい。コンピュータ読取可能な記録媒体の例としては、ハードディスク、フロッピー（登録商標）ディスク及び磁気テープのような磁気媒体、ＣＤ−ＲＯＭ、ＤＶＤのような光記録媒体、フロプティカルディスクのような光磁気媒体、及びＲＯＭ、ＲＡＭ、フラッシュメモリなどのようなプログラム命令を格納して行うように特別に構成されたハードウェア装置を含む。プログラム命令の例としては、コンパイラによって生成されるような機械語コードだけでなく、インタプリタなどを用いてコンピュータによって実行できる高級言語コードを含む。ハードウェア装置は、本発明の実施形態の動作を実行するために１つ以上のソフトウェアモジュールとして動作するように構成してもよく、その逆も同様である。
【０１７２】
以上、本発明の実施形態について図面を参照しながら詳細に説明したが、本発明は、上述の実施形態に限定されるものではなく、本発明が属する分野における通常の知識を有する者であれば、前記の記載から様々な修正及び変形が可能である。例えば、説明された技術が説明された方法と異なる順序で実行される、かつ／又は説明されたシステム、構造、装置、回路などの構成要素が説明された方法と異なる形態で結合又は組合わされる、他の構成要素又は均等物によって代替、置換されても適切な結果が達成されてもよい。
【符号の説明】
【０１７３】
１００：認識装置
１１０：メモリ
１３０：プロセッサ
【図１】
2017134821.tif 000020
【図２】
2017134821.tif 000021
【図３】
2017134821.tif 000022
【図４】
2017134821.tif 000023
【図５】
2017134821.tif 000024
【図６】
2017134821.tif 000025
【図７】
2017134821.tif 000026
【図８】
2017134821.tif 000027
【図９】
2017134821.tif 000028
【図１０】
2017134821.tif 000029
【図１１】
2017134821.tif 000030