JP6851801B2 - ニューラルネットワークに基づく認識装置及びニューラルネットワークの学習方法 - Google Patents

ニューラルネットワークに基づく認識装置及びニューラルネットワークの学習方法 Download PDF

Info

Publication number
JP6851801B2
JP6851801B2 JP2016240434A JP2016240434A JP6851801B2 JP 6851801 B2 JP6851801 B2 JP 6851801B2 JP 2016240434 A JP2016240434 A JP 2016240434A JP 2016240434 A JP2016240434 A JP 2016240434A JP 6851801 B2 JP6851801 B2 JP 6851801B2
Authority
JP
Japan
Prior art keywords
neuron
neurons
membrane potential
neural network
layer
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2016240434A
Other languages
English (en)
Other versions
JP2017134821A (ja
Inventor
俊 行 李
俊 行 李
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Publication of JP2017134821A publication Critical patent/JP2017134821A/ja
Application granted granted Critical
Publication of JP6851801B2 publication Critical patent/JP6851801B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/049Temporal neural networks, e.g. delay elements, oscillating neurons or pulsed inputs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/004Artificial life, i.e. computing arrangements simulating life
    • G06N3/008Artificial life, i.e. computing arrangements simulating life based on physical entities controlled by simulated intelligence so as to replicate intelligent life forms, e.g. based on robots replicating pets or humans in their appearance or behaviour
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/06Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
    • G06N3/063Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent

Description

下記の実施形態は、ニューラルネットワークに基づく認識装置及びニューラルネットワークの学習方法に関する。
脳には、数千億個の神経細胞(即ち、ニューロン)が存在し、互いに複雑なニューラルネットワークで構成されている。ニューロンは、数千個の他のニューロンと信号をやり取りするシナプスを介して学習、記憶など知的能力を発揮する。ニューロンは、神経系の構造的、機能的単位であり情報伝達の基本単位である。シナプスは、ニューロンの間の接合部を示し、いずれか1つのニューロンの軸索突起と他のニューロンの樹状突起が連結された部位をいう。一個のニューロンは、数千個の他のニューロンとシナプスを介して連結されている。生物学的な脳と動作方式が似たスパイキングニューラルネットワークは、イベントベースで動作するため、効率性の面でさらに優れていることが期待される。しかし、多重層で構成されたディープスパイキングニューラルネットワーク(deep spiking neural network)を学習させる方法が存在しない。
本発明の実施形態は、ニューロンの膜電位(membrane potential)の閾値が予め設定された膜電位の基準値より小さい場合に、非常に小さい膜電位の閾値のために発生し得るニューロンの不安定(instability)を防止する。
また、本発明の実施形態は、ニューラルネットワークの層間の更新不均衡を調節する。
また、本発明の実施形態は、ニューラルネットワークのパラメータを最適化する。
一実施形態によれば、認識装置は、前の層から入力される第1シナプス信号及び同一層から入力される第2シナプス信号に基づいて活性化するニューロンの前の層及びニューロンの現在の層(current layer)を含むニューラルネットワークを格納するメモリと、前記ニューラルネットワークを用いて認識結果を生成するプロセッサとを含み、前記ニューロンのうちの前記現在の層の活性ニューロン(activation neuron)は、次の層のニューロンを興奮(励起)(excite)又は抑制(inhibit)させる第1シナプス信号及び前記同一層の他のニューロンを抑制させる第2シナプス信号を発生させる。
前記現在の層のニューロンは、スパイキングニューロンを含んでもよい。
前記活性ニューロンは、前記第1シナプス信号及び前記第2シナプス信号に基づいて前記他のニューロンの膜電位を調節してもよい。
前記活性ニューロンは、前記活性ニューロンの側抑制(lateral inhibition)係数に基づいて前記第2シナプス信号を前記同一層の他のニューロンに伝達してもよい。
前記第2シナプス信号を受信した他のニューロンは、前記他のニューロンの膜電位の閾値及び前記側抑制係数に基づいて膜電位を減少させてもよい。
前記前の層は、ニューロンのグループを含み、同一のグループに含まれるニューロンは、受容野(receptive field)を共有してもよい。
前記現在の層は、前記受容野に対応するニューロンの他のグループを含み、前記ニューロンの各々は、前記受容野に対応する他のグループ内のニューロンの全てと連結される受容野を共有してもよい。
前記プロセッサは、前記同一のグループのニューロンのための指数関数的減衰項(exponential decay term)を決定し、前記指数関数的減衰項に基づいて前記グループのニューロンの各々の膜電位を決定してもよい。
前記現在の層のニューロンの膜電位は、前記現在の層のニューロンの膜電位の閾値に基づく範囲内にあってもよい。
前記プロセッサは、前記ニューラルネットワークに入力される入力信号の大きさと基準値との間の比較結果に基づいて、前記ニューラルネットワークに含まれるニューロンの膜電位時定数(membrane potential time constant)値を変化させてもよい。
前記プロセッサは、前記入力信号の大きさが第1基準値より小さい場合、前記ニューラルネットワークに含まれるニューロンの膜電位時定数値を増加させてもよい。
前記プロセッサは、前記ニューラルネットワークに入力される入力信号の大きさが第2基準値より大きい場合、前記ニューロンの前の層のうち最初の層に含まれるニューロンの膜電位時定数値を減少させてもよい。
前記第1シナプス信号は、時間の経過に応じて入力され、前記現在の層のニューロンの膜電位は、前記第1シナプス信号に対応するシナプスの重みによって変化してもよい。
入力される前記第1シナプス信号がない場合、前記現在の層のニューロンの膜電位は、時間に伴い一定の割合(rate)で減少してもよい。
前記活性ニューロンは、前記活性ニューロンの膜電位が前記活性ニューロンの膜電位の閾値を超える場合、スパイク信号(spike signal)を出力し、前記スパイク信号が出力された場合、前記活性ニューロンの膜電位は減少してもよい。
前記活性ニューロンの膜電位は、前記活性ニューロンの膜電位の閾値に比例する大きさだけ減少するか、又は、前記活性ニューロンの膜電位は、前記活性ニューロンの膜電位の閾値に比例する予め決定した割合だけ減少してもよい。
前記活性ニューロンの側抑制係数の大きさは、前記現在の層のニューロンの各々に対応するシナプスの重みに基づいて決定されてもよい。
一実施形態によれば、学習方法は、時間の経過に伴うイベントを含むトレーニングデータをニューラルネットワークの入力層に与えるステップと、前記ニューラルネットワークの出力層の出力値を取得するステップと、前記トレーニングデータに対応する目標値と前記出力値とに基づいて前記ニューラルネットワークを学習させるステップとを含む。
前記ニューラルネットワークは、前の層から入力される入力シナプス信号及び現在の層から入力される側抑制信号に基づいて活性化する現在の層のニューロン及び前の層のニューロンを含み、前記現在の層のニューロンのうちの活性ニューロンは、次の層のニューロンを興奮又は抑制させ、同一層の他のニューロンを抑制させてもよい。
前記学習させるステップは、ニューロンの膜電位の閾値、ニューロンの膜電位リセット係数(reset factor)、及びニューロンの入力アクティビティーに基づいて前記ニューラルネットワークに含まれるニューロンの出力アクティビティー(output activity)を決定するステップと、前記ニューラルネットワークに含まれる前記ニューロンの出力アクティビティーに基づいて、前記ニューラルネットワークに含まれるニューロンのパラメータを決定するステップとを含んでもよい。
前記パラメータは、前記ニューロンの膜電位の閾値、前記ニューロンの入力シナプスの重み、前記ニューロンの出力シナプスの重み、及び前記ニューロンの側抑制係数のうち少なくとも1つを含んでもよい。
前記学習させるステップは、前記ニューロンの膜電位リセット係数、前記ニューロンの側抑制係数、前記ニューロンの側方ディスカウント係数、及びニューロンのグループ内の前記ニューロンを除く残りのニューロンの出力アクティビティーに基づいて前記ニューロンの出力アクティビティーを調節するステップをさらに含んでもよい。
前記ニューロンの側抑制係数は、前記ニューロンの入力シナプスの重みに基づいて決定されてもよい。
前記学習させるステップは、前記ニューラルネットワークに入力される入力信号の大きさと基準値との間の比較結果に基づいて、前記ニューラルネットワークに含まれるニューロンの膜電位時定数値を変化させるステップを含んでもよい。
前記ニューロンの膜電位時定数値を変化させるステップは、前記ニューラルネットワークに入力される入力信号の大きさが第1基準値より小さい場合、前記ニューロンの膜電位時定数値を増加させるステップを含んでもよい。
前記ニューロンの膜電位時定数値を変化させるステップは、前記ニューラルネットワークに入力される入力信号の大きさが第2基準値より大きい場合、ニューロンの前の層のうち最初の層に含まれるニューロンの膜電位時定数値を減少させるステップを含んでもよい。
前記学習させるステップは、前記目標値及び前記出力値に基づいて、前記ニューラルネットワークに逆伝播(back propagation)されるロス(loss)を決定するステップと、前記ロス及び前記ニューラルネットワークに含まれるニューロンの出力アクティビティーに基づく勾配降下法(gradient descent)に基づいて、前記ニューロンのパラメータを決定するステップとを含んでもよい。
前記学習させるステップは、前記ニューラルネットワークに含まれるニューロンの入力シナプスの重みの二乗和と重みの基準値とを比較するステップと、この比較の結果に基づいて重み調節速度(weight regulation rate)を決定するステップと、前記重み調節速度に基づいて前記入力シナプスの重みを減少させるステップとを含んでもよい。
前記重み調節速度を決定するステップは、前記二乗和が前記重みの基準値より大きければ、前記重み調節速度を増加させるステップと、前記二乗和が前記重みの基準値以下であれば、前記重み調節速度を減少させるステップとを含んでもよい。
前記学習させるステップは、前記ニューラルネットワークに含まれるニューロンの活性化の有無に基づいてニューロンの膜電位の閾値を調節するステップを含んでもよい。
前記調節するステップは、前記ニューロンのうち1つの活性ニューロンの膜電位の閾値を一定の割合で増加させるステップを含んでもよい。
前記調節するステップは、前記ニューロンの前の層で受容野を共有するニューロンの個数及び前の層に含まれる活性ニューロンの個数に基づいて、前記ニューロンの膜電位の閾値を減少させるステップをさらに含んでもよい。
前記調節するステップは、前記ニューラルネットワークに含まれるニューロンの膜電位の閾値が膜電位の基準値より小さい場合、前記ニューロンの各々に対応するシナプスの重みを増加させるステップを含んでもよい。
前記学習させるステップは、前記ニューラルネットワークに含まれる層のニューロン当たりのシナプスの数に基づいて、前記層に含まれるニューロンのシナプスの重み及び前記ニューロンの膜電位の閾値のうち少なくとも1つを初期化するステップを含んでもよい。
前記学習させるステップは、ニューロンのシナプスの重みの更新量及びニューロンの膜電位の閾値の更新量が同じになるように逆伝播エラーを正規化(normalize)するステップを含んでもよい。
一実施形態によれば、認識装置は、第1ニューロンの前の層及び前記前の層から受信した第1入力信号及び第2入力信号を受信する第2ニューロンの現在の層を含むニューラルネットワークを格納するメモリであって、前記第2入力信号は、前記現在の層から受信される、メモリと、前記ニューラルネットワークに基づく認識結果を生成するプロセッサとを含み、前記第2ニューロンのうち活性ニューロンは、前記第1入力信号中の第1入力信号を受信し、次の層の第3ニューロンを興奮又は抑制させる第1出力信号を生成し、前記第1入力信号の電位が閾値より大きい場合、前記現在の層の活性ニューロンを除く他のニューロンを抑制させる第2出力信号を生成する。
前記他のニューロンの各々は、前記活性ニューロンから第2出力信号を受信し、前記他のニューロンの各々の電位閾値及び前記活性ニューロンの側抑制係数を乗じることにより、前記他のニューロンの各々の電位を減少させてもよい。
本発明の実施形態によれば、ニューロンの膜電位の閾値が予め設定された膜電位の基準値より小さい場合に、ニューロンの膜電位の閾値を低くする代わりにニューロンの各々に対応するシナプスの重みを増加させることによって、非常に小さい膜電位の閾値のために発生し得るニューロンの不安定を防止することができる。
また、全ての層で、ニューロンのシナプスの重みの更新量及びニューロンの膜電位の閾値の更新量が最大限等しくなるように逆伝播エラーを正規化することによって層間の更新不均衡を調節することができる。
また、トレーニングデータの全てに対して複数回反復(iteration)トレーニングを行うことによって、ニューラルネットワークのパラメータを最適化することができる。
一実施形態に係る認識装置のブロック図である。 一実施形態に係るニューラルネットワークの構造である。 一実施形態に係るニューラルネットワークを構成するニューロンの動作方法を説明するための図である。 一実施形態に係るニューラルネットワークでニューロン及びシナプスが構成するWTA構造を説明するための図である。 一実施形態に係るニューロン及びシナプスが構成するWTA構造で活性ニューロンを中心とする動作を説明するための図である。 一実施形態に係る学習方法が実行される過程を説明するための図である。 一実施形態に係る学習方法を示したフローチャートである。 一実施形態に係るニューラルネットワークを学習させる方法を示したフローチャートである。 一実施形態によりパラメータを決定する方法を示したフローチャートである。 一実施形態により入力シナプスの重みを調節する方法を示したフローチャートである。 一実施形態に係る膜電位の閾値を調節する方法を示したフローチャートである。
実施形態に対する特定の構造的又は機能的説明は、単に例示を目的として開示されたものであり、様々な形態に変更して実施することができる。従って、実施形態は、特定の開示の形態に限定されるものではなく、本明細書の範囲は、技術的思想に含まれる変更、均等物、又は代替物を含む。
第1又は第2などの用語を、複数のコンポーネントを説明するために使用することができるが、このような用語は、1つの構成要素を他の構成要素と区別する目的としてのみ解釈されるべきである。例えば、第1構成要素は、第2構成要素と命名されてもよく、同様に第2構成要素は、第1構成要素と命名されてもよい。
ある構成要素が他の構成要素に「連結されて」いると言及された場合、この他の構成要素に直接的に連結されていたり又は接続されていたりしてもよいが、中間に他の構成要素が存在してもよいと理解すべきである。
単数の表現は、文脈上で明白に異なるように意味しない限り、複数の表現を含む。本明細書で、「含む」又は「有する」等の用語は、説明された特徴、数字、ステップ、動作、構成要素、部品又はこれらを組み合わせたものが存在することにより指定しようとするものであり、1つ又は複数の他の特徴や数字、ステップ、動作、構成要素、部品又はこれらを組み合わせたものなどの存在又は付加の可能性を予め排除しないものと理解されるべきである。
また、明細書に記述された〜部(unit)及び「モジュール(module)」は、少なくとも1つの機能又は動作を行う構成要素を記述し、ハードウェア、ソフトウェア、又は、ハードウェア及びソフトウェアの組合せで実現されてよい。
異なる定義がされない限り、技術的又は科学的な用語を含み、ここで用いられる全ての用語は、当技術分野で通常の知識を有する者によって一般的に理解されるのと同一の意味を有する。一般的に用いられる予め定義された用語は、関連技術の文脈上で有する意味と一致する意味を有するものと解釈するべきであって、本明細書で明白に定義しない限り、理想的又は過度に形式的な意味として解釈されることはない。
下記で説明される実施形態は、ユーザ又はユーザの生体信号などを認識するのに用いられてもよい。実施形態は、パーソナルコンピュータ、ラップトップコンピュータ、タブレットコンピュータ、スマートフォン、テレビ、スマート家電機器、知的車両、キオスク、ウェアラブル装置などのさまざまな形態の製品で実現されてもよい。例えば、実施形態は、スマートフォン、モバイル機器、スマート溝システムなどでユーザを認証するのに適用されてもよい。実施形態は、ユーザ認証を通した決済サービスに適用されてもよい。また、実施形態は、ユーザを認証して自動で始動する知的車両システムなどにも適用されてもよい。以下、添付する図面を参照しながら実施形態を詳細に説明する。
図1は、一実施形態に係る認識装置のブロック図である。図1を参照すると、一実施形態に係る認識装置100は、メモリ110及びプロセッサ130を含む。認識装置100は、ニューラルネットワークを用いてユーザ入力を認識する。ニューラルネットワークは、例えば、イベントベースのディープニューラルネットワーク又はディープスパイキングニューラルネットワークであってもよい。ニューラルネットワークの構造の一例は、図2に示される。
一実施形態に係るニューラルネットワークは、第1シナプス信号及び第2シナプス信号に基づいて活性化するニューロンを含む。第1シナプス信号は、ニューラルネットワーク内の隣接した2つの層間で送信されるシナプス信号を意味する。例えば、第1シナプス信号は、前の層に含まれるニューロンからある層のニューロンに、又は、ある層に含まれるニューロンから次の層のニューロンに送信されるシナプス信号を意味する。第1シナプス信号は、シナプスの重みによって次の層のニューロンを興奮又は抑制させる。また、第2シナプス信号は、同一層内の他のニューロンから入力されるシナプス信号を意味する。第2シナプス信号は、同一層の他のニューロンを抑制させる。以下にて詳細に説明するが、第2シナプス信号は、同一層内の同一のグループ内の他のニューロンを抑制させる。第2シナプス信号は、「抑制信号」とも呼ぶことができる。
一実施形態において、ニューラルネットワークは、第2シナプス信号を用いて同一層又は同一グループ内の他のニューロンの活性化を抑制させることによって、第2シナプス信号を発生させたニューロンがスパイク信号を出力する構造、即ち、Winner−take−all(WTA)構造を有してもよい。WTA構造については、図5を参照ながら説明する。
ニューラルネットワークは、入力層、隠れ層(Hidden layer)及び出力層を含む。入力層は、入力データを受信する。隠れ層は、前の層から入力される第1シナプス信号及び同一層から入力される第2シナプス信号に基づいて活性化する複数のニューロンを含む。一例として、第1シナプス信号及び第2シナプス信号に基づいて活性化した活性ニューロンは、抑制信号を発生させ、抑制信号は、活性ニューロンの側抑制係数に基づいて同一の層の残りのニューロンに伝達される。出力層は、隠れ層の出力に基づいて認識結果を出力する。
メモリ110は、以下の図2〜図5で説明するニューラルネットワークを格納してもよい。メモリ110は、揮発性メモリ又は不揮発性メモリであってもよい。実施形態に応じて、ニューラルネットワークは、メモリ110でなく遠隔に格納されてもよい。
プロセッサ130は、メモリ110に格納されたニューラルネットワークを用いて認識結果を生成する。プロセッサ130によって実行されるプログラムコードは、メモリ110に格納される。認識装置100は、入出力装置を介して外部装置(例えば、パーソナルコンピュータ又はネットワーク)に接続され、データを交換する。
図2は、一実施形態に係るニューラルネットワークの構造である。図2を参照すると、複数の層を含むニューラルネットワーク200の構造が示されている。
ニューラルネットワーク200は、例えば、ディープスパイキングニューラルネットワークである。ニューラルネットワーク200は、入力層210、隠れ層230、及び出力層250を含む。入力層210は、ニューラルネットワーク200の入力値を受信する。出力層250は、ニューラルネットワークの出力値を出力する。隠れ層230は、ニューラルネットワーク200の外部から隠蔽されている層、即ちニューラルネットワーク200の外部から見えない層を意味する。隠れ層230は、複数の層231、233、235を含む。ここで、層231、233、235の配列順序により層231を「前の層(previous layer)」、層233を「ある層(又は現在の層)」、層235を「次の層(next layer)」と呼ぶことができる。
入力層210、隠れ層230、及び出力層250の各々は、ニューロン205を含む。ニューロン205は、例えば、LIF(Leaky Integrate and Fire)ニューロンなどのスパイキングニューロンであってもよい。
ある層233のニューロンは、前の層231のニューロンから受信した第1シナプス信号に基づいて特定の条件でスパイク信号(図3の310及び330を参照)を出力する。また、ある層233のニューロンは、第1シナプス信号だけでなく、ある層233の他のニューロンから受信した第2シナプス信号もともに考慮してスパイク信号を出力する。ここで、スパイク信号を出力するニューロンを「活性ニューロン」と呼ぶことができる。
活性ニューロンは、第1シナプス信号及び第2シナプス信号を発生させる。活性ニューロンは、例えば、該当ニューロンの膜電位が膜電位の閾値を超える場合にスパイク信号を出力するニューロンであってもよい。活性ニューロンは、第1シナプス信号を介して他の層内のニューロンの膜電位に影響を与え、第2シナプス信号を介して同一層内の他のニューロンの膜電位に影響を与えることができる。
第2シナプス信号は、活性ニューロンの側抑制係数に基づいて同一層内の他のニューロンに伝達される。層は、少なくとも1つのグループを含み、この場合、一グループ内の活性ニューロンによって発生された第2シナプス信号は、同一グループ内の他のニューロンに伝達される。第2シナプス信号を受信した他のニューロンは、自身(他のニューロン)の膜電位の閾値及び側抑制係数に基づいて膜電位を減少させる。活性ニューロンと他のニューロンとの間の側抑制係数は、互いに同一の値に設定されてもよいし、互いに異なる値に設定されてもよい。ニューロンの動作方法及び活性ニューロンについては、図3を参照して説明する。
図3は、一実施形態に係るニューラルネットワークを構成するニューロンの動作方法を説明するための図である。図3を参照すると、一実施形態に係るニューラルネットワークに含まれるニューロンの動作が示されている。図3のグラフにおいて、横軸は、第1シナプス信号が時間の経過に応じて入力される時間(t)を示し、縦軸は、ニューロンの膜電位を示す。
ニューロンは、前の層からある層に入力された第1シナプス信号を受信する。第1シナプス信号は、時間の経過に応じて入力される。ニューロンは、例えば、時間tにおいて入力された第1シナプス信号を受信する。第1シナプス信号を受信したニューロンの膜電位(Vmp)は、一定値を示すことができる。ここで、ニューロンの膜電位は、第1シナプス信号に対応するシナプスの重み(w)によって変化し得る。ここで、「第1シナプス信号に対応するシナプスの重み」は、第1シナプス信号を受信したシナプスの各々の重みと理解してもよい。
ニューロンの膜電位は、第1シナプス信号がない場合、即ち、第1シナプス信号が入力されない場合、時間に応じて一定の割合で減少してもよい。ニューロンの膜電位は、例えば、該当ニューロンの膜電位時定数(τmp)の比率で減少する。各々のニューロンごとに互いに異なる膜電位時定数を有してもよい。
先に説明したニューロンの動作は、下記の式(1)のように示すことができる。
Figure 0006851801
ここで、tn−1は、シナプス信号の移転入力時間、tは、シナプス信号の現在入力時間、w (n)は、シナプス信号のn番目の入力時間を有するi番目のシナプスの重みを示す。Vmpは、該当ニューロンの膜電位を示し、τmpは、該当ニューロンの膜電位時定数を示す。
一実施形態によれば、同一の入力を受けるニューロンの場合、式(1)の指数関数的減衰項
Figure 0006851801
が同一の値を有してもよい。例えば、受容野を共有する同一のグループ内のニューロンは、同一の指数関数的減衰項に基づいて膜電位が算出される。従って、指数関数的減衰項は、一度だけ算出され、他のニューロンの膜電位を算出するときにそのまま適用される。そのため、時間の経過に応じてニューロンの膜電位を更新するときに演算量が顕著に減少する。
図面に示していないが、第2シナプス信号を受信する場合、ニューロンの膜電位は、側抑制係数に基づいて減少する。側抑制係数を用いるWTA構造は、図4を参照しながら後述する。
第1シナプス信号が時間の経過に応じて時間t、時間t、及び時間tにおいてそれぞれ入力され、時間tにおいてニューロンの膜電位が該当ニューロンの膜電位の閾値(Vth)を超える場合、ニューロンは、スパイク信号310を出力する。
スパイク信号310が出力された後、ニューロン(活性ニューロン)の膜電位は、予め決定した方式によって減少する。予め決定した方式は、例えば、活性ニューロンの膜電位を活性ニューロンの膜電位の閾値に比例する大きさだけ減少させる方式、及び活性ニューロンの膜電位を活性ニューロンの膜電位の閾値に比例する予め決定した割合だけ減少させる方式などを含んでもよい。
ニューロン(活性ニューロン)の膜電位は、例えば、下記の式(2)のように減少してもよい。
Figure 0006851801
ここで、Vmp(t +)は、スパイク信号出力後(t +)のニューロンの膜電位を示す。Vthは、該当ニューロンの膜電位の閾値を示し、γは、膜電位リセット係数を示す。膜電位リセット係数は、例えば、0から1の間の値を有してもよい。
予め決定した方式によって減少したニューロンの膜電位は、時間の経過に応じて時間t、時間t、時間t、及び時間tにおいてそれぞれ入力された第1シナプス信号によって再び膜電位の閾値(Vth)を超える。ニューロンは、時間tにおいてスパイク信号330を出力する。
一実施形態において、ニューロンの膜電位(Vmp)は、ニューロンの膜電位の閾値(Vth)によって設定された範囲(例えば、−Vth<Vmp<Vth)に基づいてクランピング(clamping)できる。
一実施形態によれば、ニューロンの膜電位時定数(τmp)値は、例えば、ニューラルネットワークに入力される入力信号の大きさと予め設定された基準値との間の比較結果に基づいて変化する。
ニューラルネットワークに入力される入力信号の大きさが予め設定された第1基準値より小さい場合、認識装置は、ニューロンの膜電位時定数値を増加させる。ニューラルネットワーク内のニューロンの膜電位時定数値が増加する場合、ニューロンの膜電位が徐々に減少するため、ニューロンの電圧がよく集約されるように調節される。
また、ニューラルネットワークに入力される入力信号の大きさが予め設定された第2基準値より大きい場合、認識装置は、最初の隠れ層に含まれるニューロンの膜電位時定数値を減少させる。最初の隠れ層に含まれるニューロンの膜電位時定数値が減少する場合、最初の隠れ層でニューロンの膜電位が早く減少するため、最初の隠れ層をフィルタリング層で活用することができる。即ち、最初の隠れ層で入力信号がフィルタリングされてもよい。第2基準値は、第1基準値より大きい値であってもよい。
図4は、一実施形態に係るニューラルネットワークにおいて、ニューロン及びシナプスが構成するWTA構造を説明するための図である。図4を参照すると、ニューラルネットワークの前の層231及びある層233が示されている。
ニューラルネットワークのある層233は、ある層233に含まれるニューロンのうちの一部のニューロンを含む少なくとも1つのグループ430を含んでもよい。
同一のグループ430に含まれるニューロン431、433、435は、前の層231に属する受容野410を共有することができる。「受容野410」は、前の層231の複数のニューロンのうちの、ある層233のグループ430に含まれるニューロン431、433、435にシナプス信号を提供するニューロンの集合と理解することができる。
受容野410に含まれるニューロン411、413、415の各々は、受容野410に対応するグループ430内に含まれるニューロン431、433、435の全てと入力シナプス421、422、423、424、425、426、427、428、429を介して連結される。例えば、受容野410に含まれるニューロン411は、ニューロン431、433、435の各々とシナプス421、422、423を介して連結される。受容野410に含まれるニューロン413は、ニューロン431、433、435の各々とシナプス424、425、426を介して連結される。受容野410に含まれるニューロン415は、ニューロン431、433、435の各々とシナプス427、428、429を介して連結される。
ニューロン431、433、435は、シナプス421、422、423、424、425、426、427、428、429を介して受容野410に含まれるニューロン411、413、415から第1シナプス信号を受信する。
同一のグループ430に含まれるニューロン431、433、435中の活性ニューロンは、同一層内(又は同一のグループ内)の他のニューロンを抑制させる第2シナプス信号を発生させる。例えば、ニューロン431が活性ニューロンになる場合、ニューロン431は、側抑制シナプス(lateral inhibitory synapses)を介してニューロン433、435を抑制させる第2シナプス信号を発生させる。又は、ニューロン433が活性ニューロンになる場合、ニューロン433は、側抑制シナプスを介してニューロン431、435を抑制させる第2シナプス信号を発生させる。ニューロン435が活性ニューロンである場合、ニューロン435は、側抑制シナプスを介してニューロン431、433を抑制させる第2シナプス信号を発生させる。活性ニューロンは、第2シナプス信号に基づいて同一のグループ430に含まれる他のニューロンの膜電位を調節する。
図5は、一実施形態に係るニューロン及びシナプスが構成するWTA構造において、活性ニューロンを中心とする動作を説明するための図である。以下では説明の便宜のために、例えば、ニューロン433が活性ニューロンになった場合の(活性)ニューロン433を中心とするシナプスとニューロンとの間の動作だけを説明する。
例えば、同一のグループ430に含まれるニューロン431、433、435のうちのニューロン433は、受容野410に含まれるニューロン411、413、415から時間の経過に応じて入力される第1シナプス信号422、425、428を受信する。第1シナプス信号422、425、428によってニューロン433の膜電位がニューロン433の膜電位の閾値を超えると、ニューロン433は、活性ニューロンになる。ニューロン433は、スパイク信号510を出力する。スパイク信号510は、次の層の複数のニューロンに伝達される。
ここで、ニューロン433は、第2シナプス信号を発生させて同一のグループ430に含まれる他のニューロン431、435を抑制させることができる。第2シナプス信号は、例えば、ニューロン433の側抑制係数に基づいて他のニューロン431、435に伝達されてもよい。
ニューロン433から第2シナプス信号を受信した他のニューロン431、435は、自身(他のニューロン431、435)の膜電位の閾値及びニューロン433の側抑制係数に基づいて自身(他のニューロン431、435)の膜電位を減少させる。
第2シナプス信号を受信した他のニューロン431、435は、例えば、下記の式(3)のように自身(他のニューロン431、435)の膜電位の閾値及びニューロン433の側抑制係数に比例する量だけ膜電位を減少させる。
Figure 0006851801
mpは、ニューロンの膜電位を示し、μは(活性)ニューロンの側抑制係数を示し、Vthは、膜電位の閾値を示す。
第2シナプス信号によって同一層内(又は同一のグループ内)の他のニューロン431、435が抑制されるため、ニューロン433のWTA構造が構成され得る。WTA構造で活性ニューロンと他のニューロンとの間の側抑制係数は、互いに同一の値に設定されてもよいし、異なる値に設定されてもよい。
側抑制係数の大きさは、ニューロンの各々に対応するシナプスの重みに基づいて決定されてもよい。側抑制係数の大きさは、例えば、[0,1]の間の固定された値に設定されてもよいし、実施形態による学習によって最適化されてもよい。
図6は、一実施形態に係る学習方法が実行される過程を説明するための図である。図6を参照すると、一実施形態に係るニューラルネットワーク200で実行される学習過程が示されている。
ニューラルネットワーク200の入力層にトレーニングデータ601が与えられると、ニューラルネットワーク200は、トレーニングデータ601に対応する出力値603を出力する。トレーニングデータ601は、学習のためにニューラルネットワーク200に与えられる入力値であって、トレーニングデータ601に対応する目標値又はラベルの予め知っているデータに該当する。
一実施形態においては、教師あり学習(supervised learning)方法を用いるため、入力層にトレーニングデータ601が与えられるとき、トレーニングデータ601に対応する目標値602は予め知られている。
学習装置は、トレーニングデータ601に対応する目標値602と出力値603との間の差によってロスを算出する(610)。学習装置は、ステップ610で算出されたロスをニューラルネットワーク200で逆伝播してニューラルネットワーク200に含まれるニューロンのパラメータを決定する(620)。
学習装置は、ステップ620で決定されたパラメータが適用されたニューラルネットワーク200に次のトレーニングデータを与える。学習装置は、新しく出力された出力値と次のトレーニングデータに対応する目標値とを比較してロスを再び算出する。学習装置は、再び算出されたロスをニューラルネットワーク200で逆伝播してニューロンのパラメータを調節する。このように学習装置は、ステップ610及びステップ620の過程をトレーニングデータの全てに対して複数回の反復を行ってニューラルネットワーク200のパラメータを最適化する。
ステップ620で決定されたニューロンのパラメータ(又は最適化されたパラメータ)は、図1〜図5で説明した認識装置のニューラルネットワークに適用されてもよい。
実施形態により、ニューロンの膜電位時定数が学習される。一実施形態において、学習装置は、例えば、ニューラルネットワーク200に入力される入力信号(例えば、トレーニングデータ601)の大きさと予め設定された基準値との間の比較結果に基づいてニューラルネットワーク200に含まれるニューロンの膜電位時定数値を変化させる。
実施形態に従って、学習装置は、ステップ610で算出されたロスをニューラルネットワーク200で逆伝播するときに発生する逆伝播エラーを正規化することができる。
学習装置は、例えば、全ての層において、ニューロンのシナプスの重みの更新量及びニューロンの膜電位の閾値の更新量が最大限等しくなるように逆伝播エラーを正規化することができる。逆伝播エラーの正規化によって層間の更新不均衡が調節される。
全ての層において、ニューロンのシナプスの重みの更新量は、例えば、下記の式(4)によって得ることができ、全ての層において、ニューロンの膜電位の閾値の更新量は、下記の式(5)によって得ることができる。
Figure 0006851801
ここで、wijは、ニューロンjでニューロンiから入力されるシナプスの重みを示す。Δwijは、重みの更新量を示す。Nは、層に含まれるニューロンの個数を示し、Mは、ニューロン当たりのシナプスの個数を示す。また、nは、層に含まれる活性ニューロンの個数を示し、mは、ニューロンの活性シナプス(active synapses)の個数を示す。ここで、活性シナプスは、他のニューロンから信号を受けて膜電位変化に寄与したシナプスを意味する。
Figure 0006851801
ここで、Vth,iは、i番目のニューロンの膜電位の閾値を示す。ΔVth,iは、膜電位の閾値の更新量を示す。
図7は、一実施形態に係る学習方法を示したフローチャートである。図7を参照すると、一実施形態に係る学習装置は、トレーニングデータをニューラルネットワークの入力層に与える(S710)。トレーニングデータは、時間の経過に伴うイベントを含む。
ここで、ニューラルネットワークは、前の層から入力される入力シナプス信号及び同一層から入力される側抑制信号に基づいて活性化するニューロンを含んでもよい。ニューロンのうちの活性ニューロンは、次の層のニューロンを興奮又は抑制させ、同一層の他のニューロンを抑制させてもよい。
学習装置は、ニューラルネットワークの出力層の出力値を取得する(S720)。学習装置は、入力層に与えられたトレーニングデータがニューラルネットワークの層を経た後に出力層から出力される出力値を取得する。ニューラルネットワークの層のパラメータは、初期にデフォルト値(default value)に設定されてもよい。
学習装置は、トレーニングデータに対応する目標値と出力値とに基づいてニューラルネットワークを学習させる(S730)。学習装置は、例えば、ニューラルネットワークに含まれるニューロンのパラメータを決定することによってニューラルネットワークを学習させる。ニューロンのパラメータは、例えば、ニューロンの膜電位の閾値、ニューロンの入力シナプスの重み、ニューロンの出力シナプスの重み、及びニューロンの側抑制係数などを含んでもよい。学習装置がニューラルネットワークを学習させる具体的な方法は、図8を参照して説明する。
図8は、一実施形態に係るニューラルネットワークを学習させる方法を示したフローチャートである。図8を参照すると、一実施形態に係る学習装置は、トレーニングデータに対応する目標値と出力値との間の差によってロスを算出する(S810)。
学習装置は、ニューロンの出力アクティビティーを決定する(S820)。学習装置は、例えば、膜電位平衡方程式(Membrane potential equilibrium equation)を用いてニューロンの出力アクティビティーを決定する。学習装置が膜電位平衡方程式を用いてニューロンの出力アクティビティーを決定する具体的な方法は、次の通りである。
1.ニューロンの側抑制係数の大きさが0の場合
学習装置は、例えば、ニューラルネットワークに含まれるニューロンの入力アクティビティー、ニューロンの膜電位リセット係数、及びニューロンの膜電位の閾値に基づいて下記の式(6)のようにニューロンの出力アクティビティー(a)を決定する。ニューロンの出力アクティビティーは、ニューロンの出力値と理解することができる。
Figure 0006851801
ここで、s=Σwであり、xは、k番目のシナプスから入力される入力アクティビティーを示し、wは、k番目のシナプスの重みを示す。γは、ニューロンの膜電位リセット係数を示し、Vthは、ニューロンの膜電位の閾値を示す。
2.ニューロンの側抑制係数がWTA回路のグループ内で全く同じである場合
学習装置は、例えば、ニューロンの膜電位リセット係数、ニューロンの側抑制係数、ニューロンの側方ディスカウント係数、及びグループ内の残りのニューロンの出力アクティビティーに基づいて下記の式(7)のようにi番目のニューロンの出力アクティビティー(a)を調節することができる。
Figure 0006851801
ここで、s=Σwkikiであり、xkiは、i番目のニューロンのk番目の入力シナプスから入力される入力アクティビティーを示し、wkiは、i番目のニューロンのk番目の入力シナプスに対するシナプスの重みを示す。Vth,iは、i番目のニューロンの膜電位の閾値であり、aは、i番目のニューロンの出力アクティビティーを示し、aは、j番目のニューロンの出力アクティビティーを示す。μは、側抑制係数を示し、σは、側方ディスカウント係数を示す。
3.ニューロンの側抑制係数がWTA回路のグループ内で全て同じでない場合
学習装置は、例えば、ニューロンの膜電位リセット係数、ニューロンの側抑制係数、ニューロンの側方ディスカウント係数、及びグループ内の残りのニューロンの出力アクティビティーに基づいて下記の式(8)のようにi番目のニューロンの出力アクティビティー(a)を調節することができる。
Figure 0006851801
ここで、kijは、j番目のニューロンであり、i番目のニューロンに与える側抑制の大きさを示す。
4.ニューロンの側抑制係数の大きさがニューロンの入力シナプスの重みに基づいて決定される場合
学習装置は、例えば、下記の式(9)のようにニューロンの出力アクティビティーを調節することができる。
Figure 0006851801
ここで、
Figure 0006851801
又は
Figure 0006851801
であってもよい。
は、(i,j)の要素がGij で構成された行列であり、W=[w,・・・,w]であり、wは、1番目のシナプスの重みを、wは、N番目のシナプスの重みを示す。
学習装置は、ステップS810で算出されたロス、及びステップS820で決定されたニューロンの出力アクティビティーに基づいて、ニューロンのパラメータを決定する(S830)。学習装置は、例えば、ニューラルネットワークに逆伝播されるロス及びニューラルネットワークに含まれるニューロンの出力アクティビティーに基づく勾配降下法によって、ニューロンのパラメータを決定する。
ニューロンのパラメータは、例えば、ニューロンの膜電位の閾値、ニューロンの入力シナプスの重み、ニューロンの出力シナプスの重み、及びニューロンの側抑制係数などを含んでもよい。学習装置は、膜電位平衡方程式から例えば、
Figure 0006851801
のようなパラメータに対する偏微分項を誘導することができる。学習装置は、偏微分項を用いてパラメータを調節することができる。
学習装置がニューロンのパラメータを決定する具体的な方法は、図9を参照して説明する。
図9は、一実施形態によりパラメータを決定する方法を示したフローチャートである。図9を参照すると、一実施形態に係る学習装置は、ニューラルネットワークのパラメータを初期化する(S910)。学習装置は、ニューラルネットワークの層に含まれるニューロンのシナプスの重み(w)及びニューロンの膜電位の閾値(Vth)のうち少なくとも1つを初期化する。
学習装置は、例えば、ニューラルネットワークに含まれる層のニューロン当たりのシナプスの数(M)に基づいて、下記の式(10)のように各層ごとに対しニューロンのシナプスの重み(w)を初期化することができる。
Figure 0006851801
また、学習装置は、例えば、ニューラルネットワークに含まれる層のニューロン当たりのシナプスの数(M)に基づいて、下記の式(11)のように各層ごとに対しニューロンの膜電位の閾値(Vth)を初期化することができる。
Figure 0006851801
ここで、αは、初期化係数を示す。
学習装置は、パラメータを決定する(S920)。学習装置は、先立ってステップS810での算出によってニューラルネットワークに逆伝播されるロス及びニューラルネットワークに含まれるニューロンの出力アクティビティーに基づく勾配降下法によって、層に含まれるニューロンのシナプスの重み(w)及びニューロンの膜電位の閾値(Vth)を決定する。
学習装置は、パラメータを調節する(S930)。学習装置は、例えば、入力シナプスの重み又はニューロンの膜電位の閾値を調節する。学習装置は、パラメータを調節する過程を選択的に実行してもよい。
学習装置が入力シナプスの重みを調節する方法は、図10を参照して説明し、ニューロンの膜電位の閾値を調節する方法は、図11を参照して説明する。
図10は、一実施形態により入力シナプスの重みを調節する方法を示したフローチャートである。図10を参照すると、一実施形態に係る学習装置は、学習途中に持続的に入力シナプスの重みが減少(decay)するように調節する。
学習装置は、ニューラルネットワークに含まれるニューロンの入力シナプスの重みの二乗和(Σ(wij (l))と予め決定した重みの基準値(例えば、1)とを比較する(S1010)。
学習装置は、ステップS1010の比較結果に基づいて、重み調節速度を決定する。例えば、入力シナプスの重みの二乗和が重みの基準値より大きければ、学習装置は、重み調節速度を増加させる(S1020)。入力シナプスの重みの二乗和が重みの基準値以下であれば、学習装置は、重み調節速度を減少させる(S1030)。学習装置は、ステップS1020又はステップS1030で増加又は減少させた重み調節速度に基づいて入力シナプスの重みを減少させる(S1040)。
学習装置は、例えば、入力シナプスの重みの二乗和が重みの基準値より大きくなれば重み調節速度を高めて、入力シナプスの重みの二乗和が重みの基準値より小さくなれば重み調節速度を低くすることによって、各ニューロンの入力シナプスの重みの二乗和が重みの基準値に近づくように保持する。
図10で説明した入力シナプスの重みを調節する方法は、下記の式(12)のように示すことができる。
Figure 0006851801
ここで、L(l,i)は、重み正則化(weight regularization)のための目的関数(objective function)又は損失関数(loss function)を示す。
Σ(wij (l)は、ニューロンの入力シナプスの重みの二乗和を示し、層lのニューロンiに対して1に近接する値を有してもよい。λとβは、目的関数全体で重み正則化の重みを調節するパラメータを示す。式(12)は、下記の式(13)のように示すことができる。
Figure 0006851801
式(13)は、式(12)を微分した結果を示す。
図11は、一実施形態に係る膜電位の閾値を調節する方法を示したフローチャートである。図11を参照すると、一実施形態に係る学習装置は、ニューラルネットワークに含まれるニューロンの活性化の有無に基づいてニューロンの膜電位の閾値を調節する。
学習装置は、ニューラルネットワークに含まれるニューロンのうち少なくとも1つの活性ニューロンがあるか否かを判定する(S1110)。ステップS1110の判定の結果、少なくとも1つの活性ニューロンがないと判定されれば、学習装置は、ニューロンの膜電位の閾値が予め設定された膜電位の基準値より小さいか否かを判定する(S1140)。
ステップS1110の判定の結果、少なくとも1つの活性ニューロンがあると判定されれば、学習装置は、少なくとも1つの活性ニューロンの膜電位の閾値を一定の割合(例えば、ρ)で増加させる(S1120)。
学習装置は、ニューラルネットワークに含まれる全てのニューロンの膜電位の閾値を減少させる(S1130)。学習装置は、前の層に属する受容野を共有するニューロンの個数(N)及び同一層に含まれる活性ニューロンの個数(N)に基づいて、ニューラルネットワークに含まれるニューロンの膜電位の閾値を、例えば、ρN/Nだけ減少させる。
学習装置は、活性ニューロンが発火(fire)した後(即ち、スパイク信号を出力した後)、全てのニューロンの膜電位の閾値を一定量減少させることによって、ニューラルネットワークに含まれる全てのニューロンに最適化できる公平な機会を提供することができる。
学習装置は、ニューラルネットワークに含まれるニューロンの膜電位の閾値と予め設定された膜電位の基準値とを比較する(S1140)。ステップS1140の比較の結果、ニューロンの膜電位の閾値が予め設定された膜電位の基準値以上である場合、学習装置は、動作を終了する。
ステップS1140の比較の結果、ニューロンの膜電位の閾値が予め設定された膜電位の基準値より小さい場合、学習装置は、ニューロンの各々に対応するシナプスの重みを増加させる(S1150)。学習装置は、ニューロンの膜電位の閾値が予め設定された膜電位の基準値より小さい場合に、ニューロンの膜電位の閾値を低くする代わりにニューロンの各々に対応するシナプスの重みを増加させることによって、非常に小さい膜電位の閾値のために発生し得るニューロンの不安定を防止することができる。
上述した実施形態は、ハードウェア構成要素、ソフトウェア構成要素、又はハードウェア構成要素及びソフトウェア構成要素の組合せで具現化される。例えば、本実施形態で説明した装置及び構成要素は、例えば、プロセッサ、コントローラ、ALU(arithmetic logic unit)、デジタル信号プロセッサ、マイクロコンピュータ、FPGA(field programmable gate array)、PLU(programmable logic unit)、マイクロプロセッサ、又は命令を実行して応答する異なる装置のように、1つ以上の汎用コンピュータ又は特殊目的コンピュータを用いて具現化される。処理装置は、オペレーティングシステム(OS)及びOS上で行われる1つ以上のソフトウェアアプリケーションを実行する。また、処理装置は、ソフトウェアの実行に応答してデータにアクセスし、データを格納、操作、処理、及び生成する。理解の便宜のために、処理装置は、1つが使用されるものとして説明する場合もあるが、当技術分野で通常の知識を有する者は、処理装置が複数の処理要素(processing element)及び/又は複数種類の処理要素を含むことが分かるであろう。例えば、処理装置は、複数のプロセッサ又は1つのプロセッサ及び1つのコントローラを含む。また、並列プロセッサ(parallel processor)のような、他の処理構成も可能である。
ソフトウェアは、コンピュータプログラム、コード、命令、又はこれらのうちの1つ以上の組合せを含み、希望通りに動作するように処理装置を構成し、独立的又は集合的に処理装置に命令する。ソフトウェア及び/又はデータは、処理装置によって解釈され、処理装置に命令又はデータを提供するためのあらゆる種類の機械、構成要素、物理的装置、仮想装置、コンピュータ格納媒体又は装置、或いは伝送される信号波を介して永久的又は一時的に具現化される。ソフトウェアは、ネットワークに接続されたコンピュータシステム上に分散され、分散された方法で格納されるか又は実行される。ソフトウェア及びデータは1つ以上のコンピュータ読み取り可能な記録媒体に格納される。
実施形態に係る方法は、様々なコンピュータ手段を介して実行することができるプログラム命令の形態で実現され、コンピュータ読み取り可能な記録媒体に記録される。記録媒体は、プログラム命令、データファイル、データ構造などを単独又は組合せて含む。前記媒体に記録されるプログラム命令は、実施形態のために特別に設計されて構成されたものなどやコンピュータソフトウェア分野の技術を有する当業者にとって公知のものであり、使用可能なものであってもよい。コンピュータ読取可能な記録媒体の例としては、ハードディスク、フロッピー(登録商標)ディスク及び磁気テープのような磁気媒体、CD−ROM、DVDのような光記録媒体、フロプティカルディスクのような光磁気媒体、及びROM、RAM、フラッシュメモリなどのようなプログラム命令を格納して行うように特別に構成されたハードウェア装置を含む。プログラム命令の例としては、コンパイラによって生成されるような機械語コードだけでなく、インタプリタなどを用いてコンピュータによって実行できる高級言語コードを含む。ハードウェア装置は、本発明の実施形態の動作を実行するために1つ以上のソフトウェアモジュールとして動作するように構成してもよく、その逆も同様である。
以上、本発明の実施形態について図面を参照しながら詳細に説明したが、本発明は、上述の実施形態に限定されるものではなく、本発明が属する分野における通常の知識を有する者であれば、前記の記載から様々な修正及び変形が可能である。例えば、説明された技術が説明された方法と異なる順序で実行される、かつ/又は説明されたシステム、構造、装置、回路などの構成要素が説明された方法と異なる形態で結合又は組合わされる、他の構成要素又は均等物によって代替、置換されても適切な結果が達成されてもよい。
100:認識装置
110:メモリ
130:プロセッサ

Claims (35)

  1. 前の層から入力される第1シナプス信号及び同一層から入力される第2シナプス信号に基づいて活性化するニューロンの前の層及びニューロンの現在の層を含むニューラルネットワークを格納するメモリと、
    前記ニューラルネットワークを用いて認識結果を生成するプロセッサと、
    を含み、
    前記ニューロンのうちの前記現在の層の活性ニューロンは、次の層のニューロンを興奮又は抑制させる第1シナプス信号及び前記同一層の他のニューロンを抑制させる第2シナプス信号を発生させ、
    前記プロセッサは、
    前記ニューラルネットワークに入力される入力信号の大きさと基準値との間の比較結果に基づいて、前記ニューラルネットワークに含まれるニューロンの膜電位時定数値を変化させる、認識装置。
  2. 前記現在の層のニューロンは、
    スパイキングニューロンを含む、請求項1に記載の認識装置。
  3. 前記活性ニューロンは、
    前記第1シナプス信号及び前記第2シナプス信号に基づいて前記他のニューロンの膜電位を調節する、請求項1又は2に記載の認識装置。
  4. 前記活性ニューロンは、
    前記活性ニューロンの側抑制係数に基づいて前記第2シナプス信号を前記同一層の他のニューロンに伝達する、請求項1〜3のうちのいずれか一項に記載の認識装置。
  5. 前記第2シナプス信号を受信した他のニューロンは、
    前記他のニューロンの膜電位の閾値及び前記側抑制係数に基づいて膜電位を減少させる、請求項4に記載の認識装置。
  6. 前記現在の層は、ニューロンのグループを含み、
    同一のグループに含まれるニューロンは、受容野を共有する、請求項1〜5のうちのいずれか一項に記載の認識装置。
  7. 前記現在の層は、前記受容野に対応するニューロンの他のグループを含み、前記ニューロンの各々は、
    前記受容野に対応する他のグループ内のニューロンの全てと連結される受容野を共有する、請求項6に記載の認識装置。
  8. 前記プロセッサは、
    前記同一のグループのニューロンのための指数関数的減衰項を決定し、前記指数関数的減衰項に基づいて前記グループのニューロンの各々の膜電位を決定する、請求項6又は7に記載の認識装置。
  9. 前記現在の層のニューロンの膜電位は、
    前記現在の層のニューロンの膜電位の閾値に基づく範囲内にある、請求項1〜8のうちのいずれか一項に記載の認識装置。
  10. 前記プロセッサは、
    前記入力信号の大きさが第1基準値より小さい場合、前記ニューラルネットワークに含まれるニューロンの膜電位時定数値を増加させる、請求項に記載の認識装置。
  11. 前記プロセッサは、
    前記ニューラルネットワークに入力される入力信号の大きさが第2基準値より大きい場合、前記ニューロンの前の層のうち最初の層に含まれるニューロンの膜電位時定数値を減少させる、請求項に記載の認識装置。
  12. 前記第1シナプス信号は、時間の経過に応じて入力され、
    前記現在の層のニューロンの膜電位は、
    前記第1シナプス信号に対応するシナプスの重みによって変化する、請求項1〜11のうちのいずれか一項に記載の認識装置。
  13. 入力される前記第1シナプス信号がない場合、前記現在の層のニューロンの膜電位は、時間に応じて一定の割合で減少する、請求項1〜11のうちのいずれか一項に記載の認識装置。
  14. 前記活性ニューロンは、
    前記活性ニューロンの膜電位が前記活性ニューロンの膜電位の閾値を超える場合、スパイク信号を出力し、
    前記スパイク信号が出力された場合、
    前記活性ニューロンの膜電位は減少する、請求項1〜13のうちのいずれか一項に記載の認識装置。
  15. 前記活性ニューロンの膜電位は、前記活性ニューロンの膜電位の閾値に比例する大きさだけ減少するか、又は
    前記活性ニューロンの膜電位は、前記活性ニューロンの膜電位の閾値に比例する予め決定した割合だけ減少する、請求項14に記載の認識装置。
  16. 前記活性ニューロンの側抑制係数の大きさは、
    前記現在の層のニューロンの各々に対応するシナプスの重みに基づいて決定される、請求項1に記載の認識装置。
  17. 時間の経過に伴うイベントを含むトレーニングデータをニューラルネットワークの入力層に与えるステップと、
    前記ニューラルネットワークの出力層の出力値を取得するステップと、
    前記トレーニングデータに対応する目標値と前記出力値とに基づいて前記ニューラルネットワークを学習させるステップと、を含
    前記学習させるステップは、
    前記ニューラルネットワークに入力される入力信号の大きさと基準値との間の比較結果に基づいて、前記ニューラルネットワークに含まれるニューロンの膜電位時定数値を変化させるステップを含む、学習方法。
  18. 前記ニューラルネットワークは、
    前の層から入力される入力シナプス信号及び現在の層から入力される側抑制信号に基づいて活性化する現在の層のニューロン及び前の層のニューロンを含み、
    前記現在の層のニューロンのうちの活性ニューロンは、次の層のニューロンを興奮又は抑制させ、同一層の他のニューロンを抑制させる、請求項17に記載の学習方法。
  19. 前記学習させるステップは、
    ニューロンの膜電位の閾値、ニューロンの膜電位リセット係数、及びニューロンの入力アクティビティーに基づいて前記ニューラルネットワークに含まれるニューロンの出力アクティビティーを決定するステップと、
    前記ニューラルネットワークに含まれる前記ニューロンの出力アクティビティーに基づいて、前記ニューラルネットワークに含まれるニューロンのパラメータを決定するステップと、
    を含む、請求項17又は18に記載の学習方法。
  20. 前記パラメータは、
    前記ニューロンの膜電位の閾値、前記ニューロンの入力シナプスの重み、前記ニューロンの出力シナプスの重み、及び前記ニューロンの側抑制係数のうち少なくとも1つを含む、請求項19に記載の学習方法。
  21. 前記学習させるステップは、
    前記ニューロンの膜電位リセット係数、前記ニューロンの側抑制係数、前記ニューロンの側方ディスカウント係数、及びニューロンのグループ内の前記ニューロンを除く残りのニューロンの出力アクティビティーに基づいて前記ニューロンの出力アクティビティーを調節するステップをさらに含む、請求項20に記載の学習方法。
  22. 前記ニューロンの側抑制係数は、
    前記ニューロンの入力シナプスの重みに基づいて決定される、請求項21に記載の学習方法。
  23. 前記ニューロンの膜電位時定数値を変化させるステップは、
    前記ニューラルネットワークに入力される入力信号の大きさが第1基準値より小さい場合、前記ニューロンの膜電位時定数値を増加させるステップを含む、請求項17に記載の学習方法。
  24. 前記ニューロンの膜電位時定数値を変化させるステップは、
    前記ニューラルネットワークに入力される入力信号の大きさが第2基準値より大きい場合、ニューロンの前の層のうち最初の層に含まれるニューロンの膜電位時定数値を減少させるステップを含む、請求項17に記載の学習方法。
  25. 前記学習させるステップは、
    前記目標値及び前記出力値に基づいて、前記ニューラルネットワークに逆伝播されるロスを決定するステップと、
    前記ロス及び前記ニューラルネットワークに含まれるニューロンの出力アクティビティーに基づく勾配降下法に基づいて、前記ニューロンのパラメータを決定するステップと、
    を含む、請求項17に記載の学習方法。
  26. 前記学習させるステップは、
    前記ニューラルネットワークに含まれるニューロンの入力シナプスの重みの二乗和と重みの基準値とを比較するステップと、
    この比較の結果に基づいて重み調節速度を決定するステップと、
    前記重み調節速度に基づいて前記入力シナプスの重みを減少させるステップと、
    を含む、請求項17に記載の学習方法。
  27. 前記重み調節速度を決定するステップは、
    前記二乗和が前記重みの基準値より大きければ、前記重み調節速度を増加させるステップと、
    前記二乗和が前記重みの基準値以下であれば、前記重み調節速度を減少させるステップと、
    を含む、請求項26に記載の学習方法。
  28. 前記学習させるステップは、
    前記ニューラルネットワークに含まれるニューロンの活性化の有無に基づいてニューロンの膜電位の閾値を調節するステップを含む、請求項17に記載の学習方法。
  29. 前記調節するステップは、
    前記ニューロンのうち1つの活性ニューロンの膜電位の閾値を一定の割合で増加させるステップを含む、請求項28に記載の学習方法。
  30. 前記調節するステップは、
    前記ニューロンの前の層で受容野を共有するニューロンの個数及び前の層に含まれる活性ニューロンの個数に基づいて、前記ニューロンの膜電位の閾値を減少させるステップをさらに含む、請求項29に記載の学習方法。
  31. 前記調節するステップは、
    前記ニューラルネットワークに含まれるニューロンの膜電位の閾値が膜電位の基準値より小さい場合、前記ニューロンの各々に対応するシナプスの重みを増加させるステップを含む、請求項28に記載の学習方法。
  32. 前記学習させるステップは、
    前記ニューラルネットワークに含まれる層のニューロン当たりのシナプスの数に基づいて、前記層に含まれるニューロンのシナプスの重み及び前記ニューロンの膜電位の閾値のうち少なくとも1つを初期化するステップを含む、請求項17に記載の学習方法。
  33. 前記学習させるステップは、
    ニューロンのシナプスの重みの更新量及びニューロンの膜電位の閾値の更新量が同じになるように逆伝播エラーを正規化するステップを含む、請求項17に記載の学習方法。
  34. 請求項1733のうちのいずれか一項に記載の学習方法をコンピュータに実行させるためのコンピュータプログラム。
  35. 第1ニューロンの前の層及び前記前の層から受信した第1入力信号及び第2入力信号を受信する第2ニューロンの現在の層を含むニューラルネットワークを格納するメモリであって、前記第2入力信号は、前記現在の層から受信される、メモリと、
    前記ニューラルネットワークに基づく認識結果を生成するプロセッサと、
    を含み、
    前記第2ニューロンのうち活性ニューロンは、
    複数の前記第1入力信号のうちの1つの第1入力信号を受信し、
    次の層の第3ニューロンを興奮又は抑制させる第1出力信号を生成し、
    前記第1入力信号の電位が閾値より大きい場合、前記現在の層の活性ニューロンを除く他のニューロンを抑制させる第2出力信号を生成
    前記他のニューロンの各々は、
    前記活性ニューロンから第2出力信号を受信し、
    前記他のニューロンの各々の電位閾値及び前記活性ニューロンの側抑制係数を乗じることにより、前記他のニューロンの各々の電位を減少させる、認識装置。


JP2016240434A 2016-01-26 2016-12-12 ニューラルネットワークに基づく認識装置及びニューラルネットワークの学習方法 Active JP6851801B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020160009353A KR102565273B1 (ko) 2016-01-26 2016-01-26 뉴럴 네트워크에 기초한 인식 장치 및 뉴럴 네트워크의 학습 방법
KR10-2016-0009353 2016-01-26

Publications (2)

Publication Number Publication Date
JP2017134821A JP2017134821A (ja) 2017-08-03
JP6851801B2 true JP6851801B2 (ja) 2021-03-31

Family

ID=57583049

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016240434A Active JP6851801B2 (ja) 2016-01-26 2016-12-12 ニューラルネットワークに基づく認識装置及びニューラルネットワークの学習方法

Country Status (5)

Country Link
US (2) US10515305B2 (ja)
EP (2) EP3200130A1 (ja)
JP (1) JP6851801B2 (ja)
KR (1) KR102565273B1 (ja)
CN (1) CN106997485A (ja)

Families Citing this family (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10846595B2 (en) * 2016-12-20 2020-11-24 Intel Corporation Rapid competitive learning techniques for neural networks
US10846590B2 (en) * 2016-12-20 2020-11-24 Intel Corporation Autonomous navigation using spiking neuromorphic computers
US10679119B2 (en) * 2017-03-24 2020-06-09 Intel Corporation Handling signal saturation in spiking neural networks
KR102601604B1 (ko) * 2017-08-04 2023-11-13 삼성전자주식회사 뉴럴 네트워크의 파라미터들을 양자화하는 방법 및 장치
US11507806B2 (en) * 2017-09-08 2022-11-22 Rohit Seth Parallel neural processor for Artificial Intelligence
CN107563503A (zh) * 2017-09-14 2018-01-09 胡明建 一种可编码择阀值择函数人工神经元的设计方法
CN107578096A (zh) * 2017-09-21 2018-01-12 胡明建 一种压频式择端人工神经元的设计方法
US11195096B2 (en) 2017-10-24 2021-12-07 International Business Machines Corporation Facilitating neural network efficiency
US11301752B2 (en) * 2017-10-24 2022-04-12 International Business Machines Corporation Memory configuration for implementing a neural network
US11301753B2 (en) 2017-11-06 2022-04-12 Samsung Electronics Co., Ltd. Neuron circuit, system, and method with synapse weight learning
KR102592146B1 (ko) * 2017-11-06 2023-10-20 삼성전자주식회사 시냅스 가중치 학습을 위한 뉴런 회로, 시스템 및 방법
WO2019147329A1 (en) * 2018-01-23 2019-08-01 Hrl Laboratories, Llc A method and system for distributed coding and learning in neuromorphic networks for pattern recognition
KR102590505B1 (ko) * 2018-04-09 2023-10-19 한국전자통신연구원 방사선원을 포함하는 스파이크 뉴럴 네트워크 회로
US11521055B2 (en) * 2018-04-14 2022-12-06 International Business Machines Corporation Optical synapse
FR3084503B1 (fr) * 2018-07-26 2020-10-16 Thales Sa Chaîne synaptique comprenant des resonateurs spintroniques bases sur l'effet de diode de spin et reseau de neurones comprenant une telle chaîne synaptique
FR3084505B1 (fr) * 2018-07-26 2021-09-10 Thales Sa Reseau de neurones comportant des resonateurs spintroniques
US11200484B2 (en) 2018-09-06 2021-12-14 International Business Machines Corporation Probability propagation over factor graphs
KR102288075B1 (ko) * 2019-02-12 2021-08-11 서울대학교산학협력단 스파이킹 뉴럴 네트워크를 이용한 추론 방법 및 장치
US10878321B2 (en) * 2019-02-28 2020-12-29 DeepCube LTD. Partial activation of multiple pathways in neural networks
US11120221B2 (en) * 2019-03-26 2021-09-14 Tata Consultancy Services Limited Method and system to resolve ambiguities in regulations
EP3742345A1 (en) * 2019-05-20 2020-11-25 Robert Bosch GmbH A neural network with a layer solving a semidefinite program
US10915248B1 (en) * 2019-08-07 2021-02-09 Macronix International Co., Ltd. Memory device
CN111061626B (zh) * 2019-11-18 2023-11-14 北京工业大学 基于神经元激活频率分析的测试用例优先级排序方法
CN110991610B (zh) * 2019-11-28 2022-08-05 华中科技大学 一种非确定性问题的概率确定方法
CN111210013B (zh) * 2019-12-30 2023-04-07 清华大学 阈值可塑的人工神经元电路
CN113222103A (zh) * 2020-02-05 2021-08-06 北京三星通信技术研究有限公司 神经网络的更新方法、分类方法和电子设备
CN113688980A (zh) * 2020-05-19 2021-11-23 深圳忆海原识科技有限公司 具有前向学习和元学习功能的类脑视觉神经网络
CN111931568A (zh) * 2020-06-30 2020-11-13 青岛科技大学 一种基于增强式学习的人体跌倒检测方法及系统
JP7477815B2 (ja) 2020-07-20 2024-05-02 日本電気株式会社 ニューラルネットワーク装置、発火時刻演算方法およびプログラム
CN112819141A (zh) * 2021-02-01 2021-05-18 浪达网络科技(浙江)有限公司 一种基于深度神经网络的信息处理系统
CN114137325B (zh) * 2021-11-30 2022-09-27 中国人民解放军陆军工程大学 一种非接触式静电电位分布测试的仿生电路、系统及方法

Family Cites Families (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE68922567T2 (de) * 1988-10-06 1995-08-17 Toshiba Kawasaki Kk Neuronales Netzwerksystem.
JP2000298661A (ja) 1999-04-15 2000-10-24 Fuji Xerox Co Ltd ニューラルネットワーク装置
US7054850B2 (en) * 2000-06-16 2006-05-30 Canon Kabushiki Kaisha Apparatus and method for detecting or recognizing pattern by employing a plurality of feature detecting elements
AU2002338754A1 (en) 2002-09-20 2004-04-08 Ecole Polytechnique Federale De Lausanne (Epfl) Spiking neural network device
US7496548B1 (en) * 2005-09-26 2009-02-24 Quintura, Inc. Neural network for electronic search applications
GB0811057D0 (en) 2008-06-17 2008-07-23 Univ Ulster Artificial neural network architecture
US9665822B2 (en) * 2010-06-30 2017-05-30 International Business Machines Corporation Canonical spiking neuron network for spatiotemporal associative memory
US8473439B2 (en) 2010-12-08 2013-06-25 International Business Machines Corporation Integrate and fire electronic neurons
CN102193518B (zh) * 2011-05-13 2013-04-24 南京理工大学 基于基底神经节的fpga仿生智能控制芯片
US8712940B2 (en) 2011-05-31 2014-04-29 International Business Machines Corporation Structural plasticity in spiking neural networks with symmetric dual of an electronic neuron
US9147156B2 (en) * 2011-09-21 2015-09-29 Qualcomm Technologies Inc. Apparatus and methods for synaptic update in a pulse-coded network
DE102011106046A1 (de) 2011-06-30 2013-01-03 Paul Hartmann Ag Wundversorgungsprodukt
US8943008B2 (en) 2011-09-21 2015-01-27 Brain Corporation Apparatus and methods for reinforcement learning in artificial neural networks
US9111224B2 (en) * 2011-10-19 2015-08-18 Qualcomm Incorporated Method and apparatus for neural learning of natural multi-spike trains in spiking neural networks
US20130204814A1 (en) 2012-02-08 2013-08-08 Qualcomm Incorporated Methods and apparatus for spiking neural computation
US9015096B2 (en) * 2012-05-30 2015-04-21 Qualcomm Incorporated Continuous time spiking neural network event-based simulation that schedules co-pending events using an indexable list of nodes
US8924322B2 (en) 2012-06-15 2014-12-30 International Business Machines Corporation Multi-processor cortical simulations with reciprocal connections with shared weights
US20140025613A1 (en) 2012-07-20 2014-01-23 Filip Ponulak Apparatus and methods for reinforcement learning in large populations of artificial spiking neurons
US9256823B2 (en) 2012-07-27 2016-02-09 Qualcomm Technologies Inc. Apparatus and methods for efficient updates in spiking neuron network
US20140143193A1 (en) 2012-11-20 2014-05-22 Qualcomm Incorporated Method and apparatus for designing emergent multi-layer spiking networks
WO2014081671A1 (en) 2012-11-20 2014-05-30 Qualcomm Incorporated Dynamical event neuron and synapse models for learning spiking neural networks
US9904889B2 (en) 2012-12-05 2018-02-27 Applied Brain Research Inc. Methods and systems for artificial cognition
US9195934B1 (en) 2013-01-31 2015-11-24 Brain Corporation Spiking neuron classifier apparatus and methods using conditionally independent subsets
US20150278641A1 (en) * 2014-03-27 2015-10-01 Qualcomm Incorporated Invariant object representation of images using spiking neural networks
CN103942600B (zh) * 2014-04-12 2017-05-31 北京工业大学 基于尖峰自组织径向基神经网络的污泥膨胀预测方法
CN105095965B (zh) * 2015-07-16 2017-11-28 清华大学 人工神经网络和脉冲神经网络神经的混合通信方法
CN105095966B (zh) * 2015-07-16 2018-08-21 北京灵汐科技有限公司 人工神经网络和脉冲神经网络的混合计算系统

Also Published As

Publication number Publication date
KR20170089217A (ko) 2017-08-03
EP3872712A1 (en) 2021-09-01
JP2017134821A (ja) 2017-08-03
US10515305B2 (en) 2019-12-24
KR102565273B1 (ko) 2023-08-09
US20200065674A1 (en) 2020-02-27
CN106997485A (zh) 2017-08-01
EP3200130A1 (en) 2017-08-02
US11669730B2 (en) 2023-06-06
US20170213129A1 (en) 2017-07-27

Similar Documents

Publication Publication Date Title
JP6851801B2 (ja) ニューラルネットワークに基づく認識装置及びニューラルネットワークの学習方法
US10410114B2 (en) Model training method and apparatus, and data recognizing method
KR102644947B1 (ko) 뉴럴 네트워크를 위한 트레이닝 방법, 뉴럴 네트워크를 이용한 인식 방법 및 그 장치들
US11544538B2 (en) Pulse driving apparatus for minimising asymmetry with respect to weight in synapse element, and method therefor
Schliebs et al. Evolving spiking neural network—a survey
KR20170031695A (ko) 신경망들에서의 콘볼루션 동작의 분해
Hu Deep fictitious play for stochastic differential games
KR20160012537A (ko) 신경망 학습 방법 및 장치, 데이터 처리 장치
Ahn Some new results on stability of Takagi–Sugeno fuzzy Hopfield neural networks
de Jesús Rubio et al. MSAFIS: an evolving fuzzy inference system
Nguyen Adaptive dynamic programming-based design of integrated neural network structure for cooperative control of multiple MIMO nonlinear systems
Friedrich et al. Neural optimal feedback control with local learning rules
Lasfer et al. Neural network design parameters for forecasting financial time series
Sabiri et al. Mechanism of Overfitting Avoidance Techniques for Training Deep Neural Networks.
US11443195B2 (en) Domain-based dendral network
CN116304676B (zh) 脑活动状态分类模型训练方法、装置和设备
Furuya et al. Semi-supervised learning combining backpropagation and STDP: STDP enhances learning by backpropagation with a small amount of labeled data in a spiking neural network
Alihodzic et al. Extreme learning machines for data classification tuning by improved bat algorithm
US10423694B2 (en) Neural network and method of neural network training
Stuck et al. Burstprop for learning in spiking neuromorphic hardware
Yu et al. Temporal learning in multilayer spiking neural networks through construction of causal connections
Smith et al. Variable activation functions and spawning in neuroevolution
Dmitrienko et al. Neural Networks Art: Solving problems with multiple solutions and new teaching algorithm
US8843426B2 (en) Method and apparatus of primary visual cortex simple cell training and operation
Sarma et al. Fundamental Considerations of ANN

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190827

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20200916

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20201110

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210208

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20210216

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210310

R150 Certificate of patent or registration of utility model

Ref document number: 6851801

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250