JP6816186B2 - ニューラルネットワーク装置 - Google Patents

ニューラルネットワーク装置 Download PDF

Info

Publication number
JP6816186B2
JP6816186B2 JP2019042095A JP2019042095A JP6816186B2 JP 6816186 B2 JP6816186 B2 JP 6816186B2 JP 2019042095 A JP2019042095 A JP 2019042095A JP 2019042095 A JP2019042095 A JP 2019042095A JP 6816186 B2 JP6816186 B2 JP 6816186B2
Authority
JP
Japan
Prior art keywords
neural network
value
evaluation function
error amount
function value
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
JP2019042095A
Other languages
English (en)
Other versions
JP2020144717A (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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP2019042095A priority Critical patent/JP6816186B2/ja
Publication of JP2020144717A publication Critical patent/JP2020144717A/ja
Application granted granted Critical
Publication of JP6816186B2 publication Critical patent/JP6816186B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Combined Controls Of Internal Combustion Engines (AREA)
  • Feedback Control In General (AREA)

Description

本発明は、ニューラルネットワーク装置に関する。
従来において、フィードフォワード階層型のニューラルネットワークが知られている(例えば、特許文献1参照)。このようなニューラルネットワークの学習方法としては、例えば、バックプロパゲーション法が挙げられる。
具体的には、特許文献1に記載の従来技術では、ニューラルネットワークの重みを更新する学習を反復する反復回数が設定回数に達していなくても、ニューラルネットワークの出力層の出力値である出力層出力値が目標値に達すれば、その学習が完了する。このような構成によって、学習時間が短くなることが期待できるが、出力層出力値が目標値に達しなければ、反復回数が設定回数に達するまで学習が完了せず、その結果、学習時間が短くならない。
特開平5−324598号公報
例えば、特許文献1に記載の従来技術を制御対象の一例である車両を制御するケースに適用する場合を考える。この場合、車両を制御するコントローラは、ニューラルネットワークの入力層に入力値を入力することで、その入力値に対応する出力層出力値を取得し、その出力層出力値を利用した車両の制御を行う。ただし、車両が走行している間にニューラルネットワークの学習が行われると、その間に出力層出力値が目標値に必ず到達するとは限らず、学習が完了しないことが想定される。この場合、コントローラは、ニューラルネットワークの学習が完了するまで、出力層出力値を取得することができない。その結果、コントローラは、ニューラルネットワークの学習が完了するまで、出力層出力値を利用した車両の制御を行うことができない。
本発明は、上記のような課題を解決するためになされたものであり、ニューラルネットワークの学習が完了していない段階であっても、制御対象を制御するコントローラから入力される入力値に対応する出力値をそのコントローラに与えることができるニューラルネットワーク装置を得ることを目的とする。
本発明におけるニューラルネットワーク装置は、入力パターンと、入力パターンに対応する教師データとが対応付けられた学習用データセットを、データ番号ごとに保持する学習用データセット保持部と、ニューラルネットワークを用いて、データ番号の中の任意データ番号に対応する入力パターンに対して、ニューラルネットワークの出力層出力値を出力するニューラルネットワーク処理を実行し、さらに、ニューラルネットワークの重みが新たな重みに更新されると、新たな重みに更新されたニューラルネットワークを用いて、データ番号ごとの入力パターンに対してそれぞれニューラルネットワーク処理を実行するニューラルネットワーク処理部と、任意データ番号に対応する入力パターンに対してニューラルネットワーク処理部から出力される出力層出力値と、任意データ番号に対応する教師データとを用いて、ニューラルネットワークの重みを、新たな重みに更新する重み更新部と、データ番号ごとの入力パターンに対してそれぞれニューラルネットワーク処理が実行されることで得られるデータ番号ごとの出力層出力値と、データ番号ごとの対応する教師データ間の誤差量をそれぞれ算出する誤差量算出部と、誤差量算出部によって算出されるデータ番号ごとの誤差量を用いて、評価関数値を算出する評価関数値算出部と、評価関数値算出部によって算出される評価関数値の今回値と、現時点で記憶している最適評価関数値とを比較し、評価関数値の今回値が最適評価関数値よりも小さい場合、記憶している最適評価関数値を、評価関数値の今回値に更新する評価関数値判定部と、評価関数値判定部によって行われる比較の結果として、評価関数値の今回値が最適評価関数値よりも小さい場合、記憶している最適重みを、新たな重みに更新する最適重み更新部と、誤差量算出部によって算出されるデータ番号ごとの誤差量の中から、最大の誤差量を、誤差量最大値として算出する誤差量判定部と、を備え、ニューラルネットワーク処理部は、最適重みをニューラルネットワークの重みとして用いて、制御対象を制御するコントローラから与えられる制御入力パターンに対してニューラルネットワーク処理を実行することで得られる出力層出力値をコントローラに与え、誤差量判定部は、評価関数値判定部によって行われる比較の結果として、評価関数値の今回値が最適評価関数値と同じである場合、算出した誤差量最大値の今回値と、現時点で記憶している最適誤差量最大値とを比較し、誤差量最大値の今回値が最適誤差量最大値よりも小さい場合、記憶している最適誤差量最大値を、誤差量最大値の今回値に更新し、最適重み更新部は、評価関数値判定部によって行われる比較の結果として、評価関数値の今回値が最適評価関数値と同じである場合、誤差量判定部によって行われる比較の結果として、誤差量最大値の今回値が最適誤差量最大値よりも小さければ、記憶している最適重みを、新たな重みに更新するものである。
本発明によれば、ニューラルネットワークの学習が完了していない段階であっても、制御対象を制御するコントローラから入力される入力値に対応する出力値をそのコントローラに与えることができるニューラルネットワーク装置を得ることができる。
本発明の実施の形態1におけるニューラルネットワーク装置を実現する制御装置のハードウェア構成の一例を示す構成図である。 本発明の実施の形態1におけるニューラルネットワーク装置の構成を示すブロック図である。 本発明の実施の形態1におけるニューラルネットワーク装置が保持する学習用データセットの一例を示す図である。 本発明の実施の形態1におけるニューラルネットワーク装置によって実行される一連の処理を示すフローチャートである。 本発明の実施の形態1におけるコントローラによって実行される一連の出力値取得処理を示すフローチャートである。 比較例におけるニューラルネットワーク装置の構成を示すブロック図である。 図6のニューラルネットワークの各層を構成する各ユニットの出力値を示す説明図である。 図6のニューラルネットワークの構造を示す説明図である。 図6の重み更新部によって実行される一連の処理を示すフローチャートである。
以下、本発明によるニューラルネットワーク装置を、好適な実施の形態にしたがって図面を用いて説明する。なお、図面の説明においては、同一部分または相当部分には同一符号を付し、重複する説明を省略する。
実施の形態1.
はじめに、本発明の実施の形態1におけるニューラルネットワーク装置100との比較例として、ニューラルネットワーク装置100Aについて説明する。図6は、比較例におけるニューラルネットワーク装置100Aの構成を示すブロック図である。
図6に示すニューラルネットワーク装置100Aは、学習用データセット保持部101、ニューラルネットワーク処理部102、評価関数値算出部103、重み更新部104および終了判定部105を備える。
学習用データセット保持部101は、入力パターンと、その入力パターンに対応する出力パターンである教師データとが対応付けられている学習用データセットを複数個保持している。学習用データセットの入力パターンは、ニューラルネットワークの入力層に入力される。学習用データセットの教師データは、重み更新部104および評価関数値算出部103に入力される。
例えば1万個以上の学習用データセットが予め用意される。なお、ディープラーニングが適用されれば、数十万個以上の学習用データセットが予め用意される。1個の学習用データセットでは、複数の入力データ、例えば10個の入力データからなる入力パターンと、その入力パターンに対応する教師データとが対応付けられている。その教師データの数は、目的に応じて、単数または複数である。
ニューラルネットワーク処理部102は、フィードフォワード階層型のニューラルネットワークを保持している。ニューラルネットワークは、多層のネットワーク構造になっている。ニューラルネットワークの各層は、複数のユニットによって構成されている。ニューラルネットワークでは、各ユニット間の結合の重みが定義されている。
ここで、ニューラルネットワークの各層を構成する各ユニットの出力値について、図7を参照しながら説明する。図7は、図6のニューラルネットワークの各層を構成する各ユニットの出力値を示す説明図である。なお、図7では、第l層j番目のユニットに入力されるトータルの入力値u と、そのユニットから出力される出力値z とが示されている。
図7に示すように、第l層に隣接する第l−1層を構成するI個のユニットのそれぞれから第l層j番目のユニットが入力を受けた場合を考える。この場合、入力値u は、これらI個のユニットの出力値z l−1,・・・,z l−1,・・・z l−1にそれぞれ重みwj1 ,・・・,wji ,・・・,wjI を乗じることで得られる値の総和と、第l層j番目のユニットに対応する閾値Θ との和と等しい。すなわち、入力値u は、以下の式(1)のように表される。
Figure 0006816186
図7に示すように、第l層j番目のユニットの出力値z は、入力値u に対して、活性化関数f( )を適用することで得られる。活性化関数f( )としては、例えば、微分可能な非線形型関数が用いられる。ここで、活性化関数f( )として、一般的に用いられるsigmoid関数が用いられると、出力値z は、以下の式(2)のように表される。
Figure 0006816186
続いて、ニューラルネットワークの構造の具体例について、図8を参照しながら説明する。図8は、図6のニューラルネットワークの構造を示す説明図である。
ここで、バックプロパゲーションによるニューラルネットワークは、一般的には多層のネットワーク構造である。ここでは、具体例として、ニューラルネットワークが3層のネットワーク構造である場合について述べる。
図8に示すニューラルネットワークの3層は、それぞれ、入力層、中間層および出力層と呼ばれている。これらの各層は、複数のユニットによって構成される。以下、入力層をl層と表記し、中間層をm層と表記し、出力層をn層と表記する。
図8に示すニューラルネットワークの中間層であるm層i番目のユニットの出力値z は、以下の式(3)のように表される。
Figure 0006816186
図8に示すニューラルネットワークの出力層であるn層i番目のユニットの出力値yは、以下の式(4)のように表される。
Figure 0006816186
図6の説明に戻り、重み更新部104には、ニューラルネットワークの中間層の各ユニットの出力値が中間層出力値として入力されるとともに、出力層の各ユニットの出力値が出力層出力値として入力される。また、評価関数値算出部103には、出力層出力値が入力される。
ニューラルネットワーク処理部102は、ニューラルネットワークを用いて、ニューラルネットワークの入力層に入力される任意の入力パターンpに対して、出力層の出力値ypiを算出するニューラルネットワーク処理を実行する。ニューラルネットワーク処理部102は、I個の入力パターンの全てに対してそれぞれニューラルネットワーク処理を実行することで、出力値yp1,・・・,ypIを算出する。
ニューラルネットワーク処理部102がニューラルネットワーク処理を実行すると、重み更新部104によってニューラルネットワークの重みが更新される。ニューラルネットワーク処理部102は、重みが更新されたニューラルネットワークを用いて、ニューラルネットワーク処理を再び実行する。なお、ネットワークの重みの初期値としては、予め定められた値が使用される。
評価関数値算出部103は、上述のニューラルネットワーク処理が実行されることで得られる出力値yp1,・・・,ypIと、教師データtp1,・・・,tpIとの間の誤差を評価するための評価関数値を算出する。具体的には、評価関数値算出部103は、I個の入力パターンにそれぞれ対応して出力される出力値yp1,・・・,ypIと、I個の入力パターンにそれぞれ対応する教師データtp1,・・・,tpIとの間の評価関数値として、誤差量Eを算出する。誤差量Eは、例えば、平均二乗誤差である。誤差量Eが平均二乗誤差である場合、誤差量Eは、以下の式(5)のように表される。
Figure 0006816186
評価関数値算出部103によって算出される誤差量Eが設定値K以下になるまで、上述のニューラルネットワーク処理が繰り返し実行される。この設定値Kは、目的の精度レベルに応じて予め設定されるものであり、例えば0.01になるように設定される。
なお、誤差量Eが設定値以下にならない場合、ニューラルネットワーク処理が繰り返し実行される回数が設定回数に達すれば、処理が終了となるようにする。この設定回数は、予め設定されるものであり、例えば、10000回になるように設定される。
重み更新部104は、ニューラルネットワークの出力層の各ユニットの出力値が望ましい値になるように、ニューラルネットワークの重みを更新する。学習規則としては、バックプロパゲーション法が用いられる。
ここで、重み更新部104が実行する一連の処理について、図9を参照しながら説明する。図9は、図6の重み更新部104によって実行される一連の処理を示すフローチャートである。
ステップS301において、重み更新部104は、以下の式(6)に従って、中間層であるm層のユニットと出力層であるn層のユニット間の重み変化量νpi を算出する。
Figure 0006816186
続いて、ステップS302において、重み更新部104は、以下の式(7)に従って、重みwpi を算出し、ニューラルネットワークの現時点の重みを、算出された新たな重みに更新する。
Figure 0006816186
続いて、ステップS303において、重み更新部104は、以下の式(8)に従って、入力層であるl層のユニットと中間層であるm層のユニット間の重み変化量νpi を算出する。
Figure 0006816186
続いて、ステップS304において、重み更新部104は、以下の式(9)に従って、重みwpi を算出し、ニューラルネットワークの現時点の重みを、算出された新たな重みに更新する。
Figure 0006816186
終了判定部105は、予め設定される終了条件が成立したか否かを判定し、終了条件が成立したと判定すれば、ニューラルネットワーク装置100Aによって実行される一連の処理を終了する。一方、終了判定部105は、終了条件が成立していないと判定した場合には、ニューラルネットワークの学習を繰り返す。なお、終了条件は、例えば、評価関数値が予め定められた値よりも小さくなるという条件、または、予め決められた回数だけニューラルネットワークの学習が繰り返されたという条件である。
ここで、車両に搭載されているコントローラは、一般的には、入力値と出力値との関係が予め定められたマップに従って入力値に対応する出力値を取得するマップ探索を行い、マップ探索の結果を利用して車両の制御を行う。比較例におけるニューラルネットワーク装置100Aを車両の制御に適用する場合、コントローラは、ニューラルネットワークの入力層に入力値を入力することで、その入力値に対応する出力層の出力値を取得し、その出力値を利用した車両の制御を行う。
上述の場合、ニューラルネットワーク装置100Aは、例えば、マップの入力値と出力値との関係を、入力データおよび教師データとして、ニューラルネットワークの重みを更新する学習を行う。ニューラルネットワーク装置100Aは、その学習後のニューラルネットワークを用いて、入力値に対応する出力値を算出し、その出力値をコントローラに与える。これにより、コントローラは、従来のマップ探索の代替として、ニューラルネットワーク装置100Aから入力値に対応する出力値を取得することが可能となる。
しかしながら、ニューラルネットワークから入力値に対応して出力される出力値の精度を向上させようとすると、学習時間が長くなってしまう。例えば、評価関数値、すなわち上述の誤差量Eと比較する上述の設定値Kを小さくするほど、出力値の精度を向上させることができる一方、誤差量Eが設定値K以下とならず、学習が完了しない可能性がある。また、誤差量Eが設定値K以下にならないことを想定して、学習を反復する反復回数を多くすると、学習が繰り返される間、誤差量Eが設定値Kに近づいた後、誤差量Eが大きくなっていく。この場合、学習完了時のニューラルネットワークの重みが最適値になっていない可能性がある。
例えば、上述の特許文献1に記載の従来技術では、上述の点を考慮して、学習を反復する反復回数が設定回数に達していなくても、ニューラルネットワークの出力層の出力値が目標値に達すれば、その学習が完了する。しかしながら、特許文献1に記載の従来技術を車両の制御に適用する場合、上述したように、学習が完了するまで、ニューラルネットワークの出力値を利用した車両の制御を行うことができない。
以上を踏まえると、ニューラルネットワークの学習が完了しない段階であっても、ニューラルネットワークの出力値を利用した車両の制御を行うことが可能なように、ニューラルネットワーク装置100Aの構成を工夫することが望ましい。これに対して、実施の形態1におけるニューラルネットワーク装置100は、ニューラルネットワークの学習が完了しない段階であっても、ニューラルネットワークの出力値を利用した車両の制御を行うことが可能な構成となっている。
次に、本発明の実施の形態1におけるニューラルネットワーク装置100について説明する。図1は、本発明の実施の形態1におけるニューラルネットワーク装置100を実現する制御装置3のハードウェア構成の一例を示す構成図である。図2は、本発明の実施の形態1におけるニューラルネットワーク装置100の構成を示すブロック図である。なお、実施の形態1におけるニューラルネットワーク装置100を説明するにあたって、上述した比較例におけるニューラルネットワーク装置100Aと同様である点の説明を省略し、ニューラルネットワーク装置100Aと異なる点を中心に説明する。
ここで、本実施の形態1におけるニューラルネットワーク装置100は、車両に搭載されている制御装置3によって実現される。図1に示す制御装置3の入力側には、センサ、スイッチなどの入力要素1が接続されており、その出力側には、電気負荷などの出力要素2が接続されている。
図1に示す制御装置3は、メモリを有するマイクロコンピュータ32と、マイクロコンピュータ32と入力要素1とを接続するための入力回路31と、マイクロコンピュータ32と出力要素2とを接続するための出力回路33とを備える。
制御装置3の入力回路31には、エンジンの運転状態を検出するための各種センサが、入力要素1として接続されている。このような各種センサの具体例として、エアフローセンサ、スロットル開度センサ、クランク角センサなどが挙げられる。制御装置3の出力回路33には、燃料を噴射するインジェクタ、燃料の点火に用いる点火コイルなどが、出力要素2として接続されている。
図2に示すニューラルネットワーク装置100は、学習用データセット保持部101、ニューラルネットワーク処理部102、重み更新部104、学習用データセット生成部201、誤差量算出部202、評価関数値算出部203、誤差量判定部204、評価関数値判定部205、最適重み更新部206および終了判定部207を備える。
学習用データセット保持部101およびニューラルネットワーク処理部102は、上述した比較例と同様である。ただし、学習用データセット保持部101が保持する学習用データセットは、学習用データセット生成部201によって生成される。
学習用データセット生成部201は、入力要素1から入力される各種センサの検出結果を示すセンサ信号に基づいて、車両の運転状態が予め定められた特定の運転状態であるか否かを判定する。なお、特定の運転状態の具体例としては、例えば、エンジンの回転数が一定である定常状態などが挙げられる。
学習用データセット生成部201は、車両の運転状態が特定の運転状態であれば、入力要素1から入力される入力データパターンとしてのセンサ信号に基づいて、教師データとしての特定のパラメータを算出する。続いて、学習用データセット生成部201は、そのセンサ信号およびその算出結果を、それぞれ、入力パターンおよび教師データとして学習用データセット保持部101に蓄積する。
学習用データセット保持部101は、学習用データセット生成部201から与えられる学習用データセットを、識別するためのデータ番号#1〜#Iごとに保持する。ただし、任意のデータ番号#Nが取り得る値は、N=1,2,・・・,Iであって、Iは、学習用データセット保持部101に蓄積される学習用データセットの数である。
このように、学習用データセット保持部101は、入力パターンと、入力パターンに対応する教師データとが対応付けられた学習用データセットを、データ番号#1〜#Iごとに保持するように構成されている。
ここで、学習用データセット保持部101が保持する学習用データセットの一例について、図3を参照しながら説明する。図3は、本発明の実施の形態1におけるニューラルネットワーク装置100が保持する学習用データセットの一例を示す図である。
図3に示す例では、学習用データセット生成部201は、入力要素1から入力されるエンジンの回転数、エンジンのインマニ圧およびエンジンの吸気量の3個の入力データを含む入力パターンに基づいて、特定のパラメータとして、体積効率係数を算出する。学習用データセット生成部201は、入力パターンと、その入力パターンに基づいて算出される体積効率係数を含む教師データとを対応付けた学習用データセットを生成する。
図3に示す例では、学習用データセット保持部101は、データ番号#1〜#10000が個別に付された10000個の学習用データセットを保持する。
このように、エンジンの個体差が大きく、エンジンの過渡運転時の変化が大きい体積効率係数を教師データとして学習することで、精度の高いエンジンの制御が可能となる。なお、図3に示す教師データは、体積効率係数に限らず、ノック制御後のリタード量、燃料量に応じた失火限界など、車両の走行中に算出可能なものであれば、どんなものであっても構わない。
ニューラルネットワーク処理部102は、ニューラルネットワークを用いて、データ番号#1〜#Iの中の任意データ番号#Nに対応する入力パターンに対して、出力層出力値を出力するニューラルネットワーク処理を実行する。また、ニューラルネットワーク処理部102は、ニューラルネットワークの重みが新たな重みに更新されると、新たな重みに更新されたニューラルネットワークを用いて、データ番号#1〜#Iごとの入力パターンに対してそれぞれニューラルネットワーク処理を実行する。なお、ニューラルネットワーク処理の具体的な方法は、公知の方法を適用すればよく、例えば、上述した比較例と同様の方法を適用すればよい。
重み更新部104は、任意データ番号#Nに対応する入力パターンに対してニューラルネットワーク処理部102から出力される中間層出力値および出力層出力値と、任意データ番号#Nに対応する教師データとを用いて、ニューラルネットワークの重みを、新たな重みに更新する。ニューラルネットワークの重みは、データ番号#1〜#Iごとの入力パターンに対してニューラルネットワーク処理が実行されるたびに更新される。なお、重みを更新する具体的な方法は、公知の方法を適用すればよく、例えば、上述した比較例と同様の方法を適用すればよい。
重み更新部104によってニューラルネットワークの重みが更新されると、上述したとおり、ニューラルネットワーク処理部102は、重みが更新されたニューラルネットワークを用いて、データ番号#1〜#Iごとの入力パターンに対してそれぞれニューラルネットワーク処理を実行する。このような処理が実行されると、データ番号#1〜#Iごとの出力層出力値が誤差量算出部202に入力される。
誤差量算出部202は、データ番号#1〜#Iごとの入力パターンに対してそれぞれニューラルネットワーク処理が実行されることで得られるデータ番号#1〜#Iごとの出力層出力値と、データ番号#1〜#Iごとの対応する教師データ間の誤差量をそれぞれ算出する。具体的には、誤差量算出部202は、データ番号#1〜#Iごとに、対応する出力層出力値および教師データ間の二乗誤差を、誤差量として算出する。なお、任意の入力パターンpに対応する出力層出力値をypiとし、その入力パターンpに対応する教師データをtpiとし、誤差量をΔopiとしたとき、誤差量は、以下の式(10)のように表される。
Figure 0006816186
なお、対応する出力層出力値および教師データとの差分の二乗値を誤差量とすることで、誤差量を一つの変数とすることができる。なお、誤差量は、対応する出力層出力値と教師データとの差分の絶対値でも構わない。
評価関数値算出部203は、誤差量算出部202によって算出されるデータ番号#1〜#Iごとの誤差量を用いて、評価関数値を算出する。評価関数値は、例えば、上述した式(5)のように表される平均二乗誤差である。
評価関数値判定部205は、評価関数値算出部203によって新たに算出される評価関数値の今回値を記憶する場合、その評価関数値の今回値を最適評価関数値として記憶する。評価関数値判定部205は、評価関数値の今回値と、現時点で記憶している最適評価関数値との大小関係を比較する。評価関数値判定部205は、この評価関数値の今回値が記憶している最適評価関数値よりも小さい場合、記憶している最適評価関数値を、この評価関数値の今回値に更新する。
誤差量判定部204は、誤差量算出部202によって算出されるデータ番号#1〜#Iごとの誤差量の中から、最大の誤差量を、誤差量最大値として算出する。
誤差量判定部204は、新たに算出した誤差量最大値の今回値を記憶する場合、その誤差量最大値の今回値を最適誤差量最大値として記憶する。誤差量判定部204は、評価関数値判定部205によって行われる比較の結果として、評価関数値の今回値が最適評価関数値よりも小さい場合、記憶している最適誤差量最大値を、新たに算出した誤差量最大値の今回値に更新する。
誤差量判定部204は、評価関数値判定部205によって行われる比較の結果として、評価関数値の今回値が最適評価関数値と同じである場合、新たに算出した誤差量最大値の今回値と、現時点で記憶している最適誤差量最大値との大小関係を比較する。誤差量判定部204は、その比較の結果として、誤差量最大値の今回値が最適誤差量最大値よりも小さい場合、記憶している最適誤差量最大値を、新たに算出した誤差量最大値の今回値に更新する。
最適重み更新部206は、ニューラルネットワークの重みの今回値、すなわち重み更新部104によってニューラルネットワークの重みが新たな重みに更新される際のその新たな重みを記憶する場合、その新たな重みを最適重みとして記憶する。最適重み更新部206は、評価関数値判定部205によって行われる比較の結果として、評価関数値の今回値が最適評価関数値よりも小さい場合、記憶している最適重みを、上述の新たな重みに更新する。
最適重み更新部206は、評価関数値判定部205によって行われる比較の結果として、評価関数値の今回値が最適評価関数値と同じである場合、誤差量判定部204によって行われる比較の結果として、誤差量最大値の今回値が最適誤差量最大値よりも小さければ、記憶している最適重みを、上述の新たな重みに更新する。
終了判定部207は、予め設定される終了条件が成立したか否かを判定し、終了条件が成立したと判定すれば、ニューラルネットワーク装置100によって実行される一連の処理を終了する。一方、終了判定部207は、終了条件が成立していないと判定した場合には、ニューラルネットワーク装置100によって実行される一連の処理を継続する。
次に、本実施の形態1におけるニューラルネットワーク装置100によって実行される一連の処理について、図4を参照しながら説明する。図4は、本発明の実施の形態1におけるニューラルネットワーク装置100によって実行される一連の処理を示すフローチャートである。なお、図4のフローチャートの処理は、例えば、図1に示すマイクロコンピュータ32内のメモリが記憶するプログラムが実行されることで、予め定められる処理タイミングで繰り返し実行される。以下、先の図3に示す10000個の学習用データセットが学習用データセット保持部101に蓄積される場合の具体例を挙げながら、フローチャートの各処理を説明する。
図4のフローチャートの処理は、ステップS101〜ステップS104の一連の処理を含む学習用データセット準備と、ステップS105〜ステップS115の一連の処理を含むニューラルネットワーク学習とによって構成される。
ステップS101において、学習用データセット生成部201は、入力要素1からセンサ信号を取得する。その後、処理がステップS102へと進む。
ステップS102において、学習用データセット生成部201は、ステップS101で取得したセンサ信号に基づいて、車両の運転状態が特定の運転状態であるか否かを判定する。車両の運転状態が特定の運転状態であると判定された場合には、処理がステップS103へと進む。一方、車両の運転状態が特定の運転状態でないと判定された場合には、処理が終了となる。
なお、学習用データセット生成部201は、例えば、エンジンの回転数の変動が設定範囲内にあることが設定時間継続すれば、車両の運転状態が特定の運転状態であると判定するように構成される。この設定範囲は、予め設定されるものであり、例えば、±50r/minの範囲となるように設定される。また、この設定時間は、予め設定されるものであり、例えば、500msになるように設定される。
ステップS103において、学習用データセット生成部201は、ステップS101で取得したセンサ信号に基づいて、特定のパラメータを算出する。具体例として、学習用データセット生成部201は、センサ信号として取得した回転数、インマニ圧および吸気量に基づいて、特定パタメータとして体積効率係数を算出する。
ステップS103において、続いて、学習用データセット生成部201は、その取得したセンサ信号およびその算出した特定のパラメータを、それぞれ、入力パターンおよび教師データとして対応付けて、学習用データセット保持部101に蓄積する。具体例として、学習用データセット生成部201は、取得した回転数、インマニ圧および吸気量を含む入力パターンと、算出した体積効率係数を含む教師データとを対応付けた先の図3に示す学習用データセットを、学習用データセット保持部101に蓄積する。
ステップS104において、学習用データセット保持部101は、ステップS103が実行されることで蓄積される学習用データセットの数が設定数に達したか否かを判定する。学習用データセットの数が設定数に達したと判定された場合には、処理がステップS105へと進む。一方、学習用データセットの数が設定数に達していないと判定された場合には、処理が終了となる。
なお、この設定数は、学習用データセット保持部101に蓄積する学習用データセットの数に合わせて予め設定されるものである。学習用データセットが設定数分、学習用データセット保持部101に蓄積されるまで、ステップS101〜ステップS103の処理が繰り返し実行される。一方、学習用データセットが設定数分、学習用データセット保持部101に蓄積されれば、ステップS105以降の処理が実行される。
具体例として、学習用データセット生成部201によって、先の図3に示す10000個分の学習用データセットが学習用データセット保持部101に蓄積される。
ステップS105において、ニューラルネットワーク処理部102は、現時点のデータ番号#Nに対応する入力パターンを入力として、上述のニューラルネットワークを用いて、ニューラルネットワーク処理を実行する。ニューラルネットワーク処理部102は、このような処理を実行することで、データ番号#Nに対応する中間層出力値および出力層出力値を出力する。その後、処理がステップS106へと進む。
具体例として、先の図3に示すように、データ番号#Nが取り得る値は、N=1,2,・・・,10000となる。上述のニューラルネットワークでは、入力層のユニットの数が3となり、出力層のユニットの数が1となる。つまり、入力層の3つのユニットに、回転数、インマニ圧および吸気量がそれぞれ入力され、出力層の1つのユニットから体積効率係数が出力層出力値として出力される。なお、ニューラルネットワークの重みの初期値は、予め机上でニューラルネットワーク処理が実行されることで決定される。
ステップS106において、重み更新部104は、ステップS105で出力されるデータ番号#Nに対応する中間層出力値および出力層出力値と、データ番号#Nに対応する教師データとに基づいて、現時点のニューラルネットワークの重みを、新たな重みに更新する。その後、処理がステップS107へと進む。
ステップS107において、ニューラルネットワーク処理部102は、ステップS106で重みが更新されたニューラルネットワークを用いて、学習用データセット保持部101に蓄積された全ての学習用データセットのそれぞれの入力パターンを入力として、ニューラルネットワーク処理を実行する。ニューラルネットワーク処理部102は、このような処理を実行することで、データ番号#1〜#Iに個別に対応するI個の出力層出力値を出力する。
具体例として、ニューラルネットワーク処理部102は、先の図3に示す10000個の学習用データセットのそれぞれの入力パターンを入力として、ニューラルネットワーク処理を実行することで、データ番号#1〜#10000に個別に対応する10000個の出力層出力値を出力する。
ステップS107において、続いて、誤差量算出部202は、データ番号#1〜#Iごとに、対応する出力層出力値および教師データ間の二乗誤差を、誤差量として算出する。例えば、誤差量算出部202は、データ番号#1に対応する出力層出力値と、データ番号#1に対応する教師データとの間の二乗誤差を、誤差量として算出する。このような処理がデータ番号#1〜#Iごとに実行されることで、データ番号#1〜#Iに個別に対応するI個の誤差量が得られる。続いて、評価関数値算出部203は、誤差量算出部202によって算出されるI個の二乗誤差を用いて、平均二乗誤差を、評価関数値として算出する。その後、処理がステップS108へと進む。
ステップS108において、誤差量判定部204は、ステップS107で算出されるI個の二乗誤差の中から、最大の二乗誤差を誤差量最大値として算出する。その後、処理がステップS109へと進む。
ステップS109において、評価関数値判定部205は、ステップS107で新たに算出される評価関数値の今回値と、現時点で記憶している最適評価関数値との大小関係を比較する。
ステップS109において、評価関数値の今回値が最適評価関数値よりも大きいと判定された場合には、処理がステップS112へと進む。評価関数値の今回値が最適評価関数値と同じであると判定された場合には、処理がステップS110へと進む。評価関数値の今回値が最適評価関数値よりも小さいと判定された場合には、評価関数値判定部205は、最適評価関数値を、評価関数値の今回値に更新し、処理がステップS111へと進む。
ステップS110において、誤差量判定部204は、ステップS108で新たに算出される誤差量最大値の今回値と、現時点で記憶している最適誤差量最大値との大小関係を比較する。
ステップS110において、誤差量最大値の今回値が最適誤差量最大値よりも小さいと判定された場合には、処理がステップS111へと進む。誤差量最大値の今回値が最適誤差量最大値以上であると判定された場合には、処理がステップS112へと進む。
ステップS111において、最適重み更新部206は、現時点で記憶している最適重みを、ニューラルネットワークの重みの今回値、すなわちステップS106で更新された新たな重みに更新する。また、誤差量判定部204は、現時点で記憶している誤差量最大値を、ステップS108で算出された誤差量最大値の今回値に更新する。その後、処理がステップS112へと進む。
ステップS112において、ニューラルネットワーク処理部102は、学習用データセット保持部101に蓄積されている全ての学習用データセットについてステップS105のニューラルネットワーク処理を実行したか否かを判定する。全ての学習用データセットについてステップS105のニューラルネットワーク処理を実行したと判定された場合には、処理がステップS114へと進む。一方、全ての学習用データセットについてステップS105のニューラルネットワーク学習処理を実行していないと判定された場合には、処理がステップS113へと進む。
ステップS113において、ニューラルネットワーク処理部102は、データ番号#Nを1だけインクリメントする。その後、処理がステップS105へと戻る。この場合、データ番号#N+1に対応する学習用データセットについて、ステップS105以降の処理が実行される。
ステップS114において、終了判定部207は、ニューラルネットワークの学習を反復する反復回数が設定回数に達したか否かを判定する。この設定回数は、予め設定されるものである。反復回数が設定回数に達したと判定された場合には、反復回数が1にリセットされ、処理が終了となる。一方、反復回数が設定回数に達していないと判定された場合には、処理がステップS115へと進む。
ステップS115において、終了判定部207は、反復回数を1だけインクリメントし、さらに、データ番号#Nを#1にリセットする。その後、処理がステップS105へと戻る。この場合、データ番号#1に対応する学習用データセットについて、ステップS105以降の処理が実行される。
次に、最適重みをニューラルネットワークの重みとして用いて、そのニューラルネットワークの出力層出力値を得る出力値取得処理について、図5を参照しながら説明する。図5は、本発明の実施の形態1におけるコントローラによって実行される一連の出力値取得処理を示すフローチャートである。なお、図5に示すフローチャートの処理は、先の図4に示すフローチャートの処理とは独立して実行される。
図5に示すフローチャートの処理は、入力要素1から入力される各種センサの検出結果を示すセンサ信号に基づいて制御対象を制御するコントローラによって実行される。制御対象は、例えば、車両であり、より具体的には、車両に搭載されているエンジンである。コントローラは、例えば、先の図1に示すハードウェア構成によって実現される。
ステップS201において、コントローラは、入力要素1からセンサ信号を取得する。その後、処理がステップS202へと進む。
ステップS202において、コントローラは、ニューラルネットワーク装置100から現時点で記憶している最適重みを取得し、取得した最適重みをニューラルネットワーク処理部102に与える。続いて、コントローラは、ステップS201で取得したセンサ信号を制御入力パターンとしてニューラルネットワーク処理部102に与えてニューラルネットワーク処理を実行させる。その後、処理がステップS203へと進む。
上述の場合、ニューラルネットワーク処理部102は、コントローラによって与えられた最適重みをニューラルネットワークの重みとして用いて、コントローラによって与えられた制御入力パターンに対応する出力層出力値を出力する。
ステップS203において、コントローラは、上述の出力層出力値をニューラルネットワーク処理部102から取得する。その後、処理が終了となる。コントローラは、出力層出力値を取得すると、その出力層出力値を用いて、制御対象を制御するための制御値を算出する。続いて、コントローラは、算出した制御値に従って、制御対象を制御する。
具体例として、制御入力パターンが上述のエンジンの回転数、インマニ圧および吸気量である場合、ニューラルネットワークの出力層出力値が体積効率係数である。この場合、コントローラは、ニューラルネットワーク処理部102から取得した体積効率係数を用いて、エンジンを制御するための制御値を算出する。コントローラは、算出した制御値に従って、エンジンを制御する。
このように、ニューラルネットワーク処理部102は、最適重み更新部206が記憶している最適重みをニューラルネットワークの重みとして用いて、コントローラから与えられる制御入力パターンに対してニューラルネットワーク処理を実行することで出力層出力値をコントローラに与える。
このようなニューラルネットワーク装置100の構成によって、先の図4に示すニューラルネットワークの学習が完了していない段階であっても、その段階での最適な重みをニューラルネットワークの重みとして用いて、出力層出力値を得ることが可能となる。また、ニューラルネットワークの学習が進捗するにつれて、このような最適な重みをより精度の良い値に更新することが可能となる。さらに、ニューラルネットワーク学習が完了していない段階であっても、制御対象を制御することが可能となる。
以上、本実施の形態1によれば、ニューラルネットワーク装置100は、ニューラルネットワーク処理部102と、重み更新部104と、誤差量算出部202と、評価関数値算出部203と、評価関数値判定部205と、最適重み更新部206とを備えて構成されている。ニューラルネットワーク処理部102は、ニューラルネットワークを用いて、任意データ番号#Nに対応する入力パターンに対してニューラルネットワーク処理を実行し、さらに、ニューラルネットワークの重みが新たな重みに更新されると、新たな重みに更新されたニューラルネットワークを用いて、データ番号#1〜#Iごとの入力パターンに対してそれぞれニューラルネットワーク処理を実行するように構成されている。重み更新部104は、任意データ番号#Nに対応する入力パターンに対してニューラルネットワーク処理部102から出力される出力層出力値と、任意データ番号#Nに対応する教師データとを用いて、ニューラルネットワークの重みを、上述の新たな重みに更新するように構成されている。
誤差量算出部202は、データ番号#1〜#Iごとの入力パターンに対してそれぞれニューラルネットワーク処理が実行されることで得られるデータ番号#1〜#Iごとの出力層出力値と、データ番号#1〜#Iごとの対応する教師データ間の誤差量をそれぞれ算出するように構成されている。評価関数値算出部203は、誤差量算出部202によって算出されるデータ番号#1〜#Iごとの誤差量を用いて、評価関数値を算出するように構成されている。
評価関数値判定部205は、評価関数値算出部203によって算出される評価関数値の今回値と、現時点で記憶している最適評価関数値とを比較し、評価関数値の今回値が最適評価関数値よりも小さい場合、記憶している最適評価関数値を、評価関数値の今回値に更新するように構成されている。最適重み更新部206は、評価関数値判定部205によって行われる比較の結果として、評価関数値の今回値が最適評価関数値よりも小さい場合、記憶している最適重みを、上述の新たな重みに更新するように構成されている。
ニューラルネットワーク処理部102は、上述の最適重みをニューラルネットワークの重みとして用いて、制御対象を制御するコントローラから与えられる制御入力パターンに対してニューラルネットワーク処理を実行することで出力層出力値をコントローラに与えるように構成されている。
上述のニューラルネットワーク装置の構成によって、ニューラルネットワークの学習が完了していない段階であっても、コントローラから入力される入力値に対応する出力値をそのコントローラに与えることができる。コントローラは、ニューラルネットワーク装置から与えられた出力値を用いて制御対象を制御することによって、ニューラルネットワークの学習が完了していない段階であっても、制御対象を制御することが可能となる。
1 入力要素、2 出力要素、3 制御装置、31 入力回路、32 マイクロコンピュータ、33 出力回路、100,100A ニューラルネットワーク装置、101 学習用データセット保持部、102 ニューラルネットワーク処理部、103 評価関数値算出部、104 重み更新部、105 終了判定部、201 学習用データセット生成部、202 誤差量算出部、203 評価関数値算出部、204 誤差量判定部、205 評価関数値判定部、206 最適重み更新部、207 終了判定部。

Claims (3)

  1. 入力パターンと、前記入力パターンに対応する教師データとが対応付けられた学習用データセットを、データ番号ごとに保持する学習用データセット保持部と、
    ニューラルネットワークを用いて、前記データ番号の中の任意データ番号に対応する前記入力パターンに対して、前記ニューラルネットワークの出力層出力値を出力するニューラルネットワーク処理を実行し、さらに、前記ニューラルネットワークの重みが新たな重みに更新されると、前記新たな重みに更新された前記ニューラルネットワークを用いて、前記データ番号ごとの前記入力パターンに対してそれぞれ前記ニューラルネットワーク処理を実行するニューラルネットワーク処理部と、
    前記任意データ番号に対応する前記入力パターンに対して前記ニューラルネットワーク処理部から出力される前記出力層出力値と、前記任意データ番号に対応する前記教師データとを用いて、前記ニューラルネットワークの前記重みを、前記新たな重みに更新する重み更新部と、
    前記データ番号ごとの前記入力パターンに対してそれぞれ前記ニューラルネットワーク処理が実行されることで得られる前記データ番号ごとの前記出力層出力値と、前記データ番号ごとの対応する前記教師データ間の誤差量をそれぞれ算出する誤差量算出部と、
    前記誤差量算出部によって算出される前記データ番号ごとの前記誤差量を用いて、評価関数値を算出する評価関数値算出部と、
    前記評価関数値算出部によって算出される前記評価関数値の今回値と、現時点で記憶している最適評価関数値とを比較し、前記評価関数値の今回値が前記最適評価関数値よりも小さい場合、記憶している前記最適評価関数値を、前記評価関数値の今回値に更新する評価関数値判定部と、
    前記評価関数値判定部によって行われる比較の結果として、前記評価関数値の今回値が前記最適評価関数値よりも小さい場合、記憶している最適重みを、前記新たな重みに更新する最適重み更新部と、
    前記誤差量算出部によって算出される前記データ番号ごとの前記誤差量の中から、最大の誤差量を、誤差量最大値として算出する誤差量判定部と、
    を備え、
    前記ニューラルネットワーク処理部は、
    前記最適重みを前記ニューラルネットワークの前記重みとして用いて、制御対象を制御するコントローラから与えられる制御入力パターンに対して前記ニューラルネットワーク処理を実行することで得られる前記出力層出力値を前記コントローラに与え、
    前記誤差量判定部は、
    前記評価関数値判定部によって行われる比較の結果として、前記評価関数値の今回値が前記最適評価関数値と同じである場合、算出した前記誤差量最大値の今回値と、現時点で記憶している最適誤差量最大値とを比較し、前記誤差量最大値の今回値が前記最適誤差量最大値よりも小さい場合、記憶している前記最適誤差量最大値を、前記誤差量最大値の今回値に更新し、
    前記最適重み更新部は、
    前記評価関数値判定部によって行われる比較の結果として、前記評価関数値の今回値が前記最適評価関数値と同じである場合、前記誤差量判定部によって行われる比較の結果として、前記誤差量最大値の今回値が前記最適誤差量最大値よりも小さければ、記憶している前記最適重みを、前記新たな重みに更新する
    ニューラルネットワーク装置。
  2. 前記誤差量は、前記出力層出力値と前記教師データとの差分の二乗値である
    請求項1に記載のニューラルネットワーク装置。
  3. 前記制御対象は、車両である
    請求項1または2に記載のニューラルネットワーク装置。
JP2019042095A 2019-03-08 2019-03-08 ニューラルネットワーク装置 Active JP6816186B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2019042095A JP6816186B2 (ja) 2019-03-08 2019-03-08 ニューラルネットワーク装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019042095A JP6816186B2 (ja) 2019-03-08 2019-03-08 ニューラルネットワーク装置

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2020189950A Division JP7086500B2 (ja) 2020-11-16 2020-11-16 ニューラルネットワーク装置

Publications (2)

Publication Number Publication Date
JP2020144717A JP2020144717A (ja) 2020-09-10
JP6816186B2 true JP6816186B2 (ja) 2021-01-20

Family

ID=72354313

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019042095A Active JP6816186B2 (ja) 2019-03-08 2019-03-08 ニューラルネットワーク装置

Country Status (1)

Country Link
JP (1) JP6816186B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021015649A (ja) * 2020-11-16 2021-02-12 三菱電機株式会社 ニューラルネットワーク装置

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2986294B2 (ja) * 1992-11-30 1999-12-06 株式会社日立製作所 成長機能を有するニューラルネットワークシステム
JP2000330610A (ja) * 1999-05-19 2000-11-30 Matsushita Electric Ind Co Ltd 学習制御装置および学習制御方法
JP4774106B2 (ja) * 2009-01-13 2011-09-14 株式会社エヌ・ティ・ティ・ドコモ 電界強度を推定する装置及び方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021015649A (ja) * 2020-11-16 2021-02-12 三菱電機株式会社 ニューラルネットワーク装置

Also Published As

Publication number Publication date
JP2020144717A (ja) 2020-09-10

Similar Documents

Publication Publication Date Title
CN113153521B (zh) 一种利用人工神经网络预测车辆发动机扭矩的系统和方法
JP5467951B2 (ja) ニューラルネットワーク学習装置
CN111414977B (zh) 机床主轴热误差建模的加权集成温度敏感点组合选取方法
US11255282B2 (en) State detection system for internal combustion engine, data analysis device, and vehicle
CN100535420C (zh) 燃料喷射控制器
KR102206324B1 (ko) 기술적 시스템의 스타팅 변수의 모델을 확인하기 위한 방법
US9952567B2 (en) Method for setting up a functionality for a control unit
US8880321B2 (en) Adaptive air charge estimation based on support vector regression
US7177758B2 (en) Method for optimizing characteristics map
JPH0711256B2 (ja) 内燃エンジンの制御装置
CN111337258B (zh) 一种结合遗传算法和极值搜索算法的发动机控制参数在线标定的装置及方法
CN103732895A (zh) 滑模控制器和内燃机系统控制装置
US11346299B2 (en) Method and device for operating an internal combustion engine having a common-rail injection system
JP6816186B2 (ja) ニューラルネットワーク装置
CN112629650B (zh) 内燃机的点火正时控制装置
CN111795826B (zh) 一种小型二冲程活塞发动机喷油异常的故障诊断方法
JP7086500B2 (ja) ニューラルネットワーク装置
US6481273B2 (en) Frequency response test method for an in-vehicle air/fuel ratio sensor
Vance et al. Output feedback controller for operation of spark ignition engines at lean conditions using neural networks
CN102733983A (zh) 用于校准致动器的受控变量的发动机校正系统
CN113408200A (zh) 航空装备振动环境分析和预测方法
US20100042393A1 (en) Method and system for simulating the operation of an internal combustion engine
CN113266485B (zh) 映射的学习方法
Cranmer et al. Grey-box modeling architectures for rotational dynamic control in automotive engines
CN113153543B (zh) 进气负荷模型修正方法及车辆

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190308

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20200225

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200317

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200424

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20201006

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20201116

C60 Trial request (containing other claim documents, opposition documents)

Free format text: JAPANESE INTERMEDIATE CODE: C60

Effective date: 20201116

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20201201

C21 Notice of transfer of a case for reconsideration by examiners before appeal proceedings

Free format text: JAPANESE INTERMEDIATE CODE: C21

Effective date: 20201208

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: 20201222

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20201223

R150 Certificate of patent or registration of utility model

Ref document number: 6816186

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350