IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 株式会社豊田中央研究所の特許一覧 ▶ トヨタ自動車株式会社の特許一覧 ▶ 株式会社豊田自動織機の特許一覧

特許7227940モデル学習装置、モデル学習方法、制御装置、制御方法、及びコンピュータプログラム
<>
  • 特許-モデル学習装置、モデル学習方法、制御装置、制御方法、及びコンピュータプログラム 図1
  • 特許-モデル学習装置、モデル学習方法、制御装置、制御方法、及びコンピュータプログラム 図2
  • 特許-モデル学習装置、モデル学習方法、制御装置、制御方法、及びコンピュータプログラム 図3
  • 特許-モデル学習装置、モデル学習方法、制御装置、制御方法、及びコンピュータプログラム 図4
  • 特許-モデル学習装置、モデル学習方法、制御装置、制御方法、及びコンピュータプログラム 図5
  • 特許-モデル学習装置、モデル学習方法、制御装置、制御方法、及びコンピュータプログラム 図6
  • 特許-モデル学習装置、モデル学習方法、制御装置、制御方法、及びコンピュータプログラム 図7
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-02-14
(45)【発行日】2023-02-22
(54)【発明の名称】モデル学習装置、モデル学習方法、制御装置、制御方法、及びコンピュータプログラム
(51)【国際特許分類】
   G06N 20/00 20190101AFI20230215BHJP
   G05B 13/02 20060101ALI20230215BHJP
【FI】
G06N20/00
G05B13/02 L
【請求項の数】 8
(21)【出願番号】P 2020096728
(22)【出願日】2020-06-03
(65)【公開番号】P2021189934
(43)【公開日】2021-12-13
【審査請求日】2021-10-15
(73)【特許権者】
【識別番号】000003609
【氏名又は名称】株式会社豊田中央研究所
(73)【特許権者】
【識別番号】000003207
【氏名又は名称】トヨタ自動車株式会社
(73)【特許権者】
【識別番号】000003218
【氏名又は名称】株式会社豊田自動織機
(74)【代理人】
【識別番号】100160691
【弁理士】
【氏名又は名称】田邊 淳也
(74)【代理人】
【識別番号】100157277
【弁理士】
【氏名又は名称】板倉 幸恵
(72)【発明者】
【氏名】森安 竜大
(72)【発明者】
【氏名】野尻 紗也香
(72)【発明者】
【氏名】中村 俊洋
(72)【発明者】
【氏名】竹内 幹人
【審査官】杉浦 孝光
(56)【参考文献】
【文献】特開平06-266412(JP,A)
【文献】木村駿介ほか,"状態制約を有する非線形システムに対する状態方程式を保持する変換",計測自動制御学会論文集,第53巻、第6号,日本,公益社団法人計測自動制御学会,2017年06月30日,pp.337-345
(58)【調査した分野】(Int.Cl.,DB名)
G06N 3/00-99/00
G05B 13/02
(57)【特許請求の範囲】
【請求項1】
モデル学習装置であって、
状態変数xを予測するための非線形の状態方程式の学習に用いられるモデル構造を記憶するモデル記憶部と、
前記モデル構造と、前記モデル構造に対する入力データと出力データの組を複数含んだ入出力データセットと、を用いて前記状態方程式を学習する学習部と、
を備え、
前記モデル構造は、状態変数xを入力とする全単射な写像f(x)を含む状態方程式であり、
前記モデル構造は、次式により定義され、
上記式において、
等号の左辺は、前記状態方程式によって予測しようとする状態変数xを表すn(nは整数)次元ベクトルの時間微分であり、
等号の右辺のうち、uは状態変数xの変化に影響する入力変数を表すm(mは整数)次元のベクトルであり、f(x)は状態変数xを入力としてn次元のベクトルを出力する全単射な写像であり、関数ψはn次元のベクトルを出力する任意の非線形関数であり、
前記学習部は、前記モデル構造における前記関数ψを、次式により表される構造とし、
上記式において、
等号の左辺は、前記関数ψであり、
等号の右辺のうち、Aはn行n列の正方行列であり、gはn次元のベクトルを出力する任意の非線形関数であり、cは正の値をとる任意のスカラー関数である、モデル学習装置。
【請求項2】
請求項1に記載のモデル学習装置であって、
前記学習部は、
前記モデル構造に対して、前記入出力データセットのうちの前記入力データのセットを与えて出力を推定し、
推定された出力と、前記入出力データセットのうちの前記出力データのセットと、の一致度を評価し、
評価の結果に応じて前記モデル構造についての学習パラメータを更新することで、前記状態方程式を学習する、モデル学習装置。
【請求項3】
モデル学習方法であって、情報処理装置が、
状態変数xを予測するための非線形の状態方程式の学習に用いられるモデル構造を取得する工程と、
前記モデル構造と、前記モデル構造に対する入力データと出力データの組を複数含んだ入出力データセットと、を用いて前記状態方程式を学習する工程と、
を備え、
前記モデル構造は、状態変数xを入力としてn(nは整数)次元のベクトルを出力する全単射な写像f(x)を含む状態方程式であり、
前記モデル構造は、次式により定義され、
上記式において、
等号の左辺は、前記状態方程式によって予測しようとする状態変数xを表すn(nは整数)次元ベクトルの時間微分であり、
等号の右辺のうち、uは状態変数xの変化に影響する入力変数を表すm(mは整数)次元のベクトルであり、f(x)は状態変数xを入力としてn次元のベクトルを出力する全単射な写像であり、関数ψはn次元のベクトルを出力する任意の非線形関数であり、
前記学習する工程では、前記モデル構造における前記関数ψを、次式により表される構造とし、
上記式において、
等号の左辺は、前記関数ψであり、
等号の右辺のうち、Aはn行n列の正方行列であり、gはn次元のベクトルを出力する任意の非線形関数であり、cは正の値をとる任意のスカラー関数である、モデル学習方法。
【請求項4】
コンピュータプログラムであって、
状態変数xを予測するための非線形の状態方程式の学習に用いられるモデル構造を取得するステップと、
前記モデル構造と、前記モデル構造に対する入力データと出力データの組を複数含んだ入出力データセットと、を用いて前記状態方程式を学習するステップと、
を情報処理装置に実行させ、
前記モデル構造は、状態変数xを入力としてn(nは整数)次元のベクトルを出力する
全単射な写像f(x)を含む状態方程式であり、
前記モデル構造は、次式により定義され、
上記式において、
等号の左辺は、前記状態方程式によって予測しようとする状態変数xを表すn(nは整数)次元ベクトルの時間微分であり、
等号の右辺のうち、uは状態変数xの変化に影響する入力変数を表すm(mは整数)次元のベクトルであり、f(x)は状態変数xを入力としてn次元のベクトルを出力する全単射な写像であり、関数ψはn次元のベクトルを出力する任意の非線形関数であり、
前記学習するステップでは、前記モデル構造における前記関数ψを、次式により表される構造とし、
上記式において、
等号の左辺は、前記関数ψであり、
等号の右辺のうち、Aはn行n列の正方行列であり、gはn次元のベクトルを出力する任意の非線形関数であり、cは正の値をとる任意のスカラー関数である、コンピュータプログラム。
【請求項5】
制御装置であって、
請求項1または請求項2に記載のモデル学習装置によって学習された非線形の状態方程式を記憶する状態方程式記憶部と、
前記状態方程式に関する種々のパラメータを取得する取得部と、
取得された前記パラメータを用いて、前記状態方程式から、将来の状態変数xを予測する予測部と、
を備える、制御装置。
【請求項6】
請求項に記載の制御装置であって、さらに、
前記予測部により予測された状態変数xを用いて、任意の制御対象物を制御するための操作量を決定する決定部を備える、制御装置。
【請求項7】
制御方法であって、情報処理装置が、
請求項1または請求項2に記載のモデル学習装置によって学習された非線形の状態方程式を取得する工程と、
前記状態方程式に関する種々のパラメータを取得する工程と、
取得された前記パラメータを用いて、前記状態方程式から、将来の状態変数xを予測する工程と、
を備える、制御方法。
【請求項8】
コンピュータプログラムであって、
請求項1または請求項2に記載のモデル学習装置によって学習された非線形の状態方程式を取得するステップと、
前記状態方程式に関する種々のパラメータを取得するステップと、
取得された前記パラメータを用いて、前記状態方程式から、将来の状態変数xを予測するステップと、
を情報処理装置に実行させる、コンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、非線形システムのモデルを学習し、利用する技術に関する。
【背景技術】
【0002】
システムの先験的知識を用いてシステムのモデル学習(システム同定)を行うことが知られている。例えば、特許文献1には、システム同定方法において、先験的知識に基づいた制約の組を決定した後に、初期パラメトリックモデルと、決定された制約の組とに基づいてシステムの制約付きパラメトリック最適化を実行し、システムの改善されたパラメトリックモデルを生成することが記載されている。
【先行技術文献】
【特許文献】
【0003】
【文献】特開2004-272916号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
ここで、特許文献1に記載の技術は、線形システムが少数のパラメータ(行列)でモデルを表現可能な点と、当該モデルの安定性が行列の固有値だけで判定可能な点とに依拠して成立している。すなわち、特許文献1に記載の技術は、モデリング対象(同定対象)のシステムが線形システムとして表現できることを前提としており、非線形システムに対して適用できないという課題があった。
【0005】
非線形システムに対する安定性の判別手法として一般的に、リアプノフ関数の存在を確認することが知られている。すなわち、ある特定の条件を満たす「リアプノフ関数」と呼ばれる関数が存在すれば、そのシステムは安定であると判別できる。しかし、リアプノフ関数は一定の手順によって必ず発見できるというものではなく、リアプノフ関数の発見のためには、対象の物理構造や数式構造を考慮しながら個別に対応する必要がある。このため、非線形システムのモデル学習(システム同定)において、安定性を保証することは容易でないという課題があった。
【0006】
また、非線形システムにおいては、動的な変化が収束する点(平衡点)がただ一つであるとは限らず、複数の平衡点を有する可能性がある。仮に、学習対象となる非線形システムが複数の平衡点を持たず、唯一の平衡点を持つことが既知であったとしても、そのことを保証するようなモデルを学習する技術は知られていない。このため、非線形システムのモデル学習(システム同定)において、収束性を保証すること(換言すれば、平衡点の唯一性を保証すること)は容易でないという課題があった。
【0007】
本発明は、上述した課題の少なくとも一部を解決するためになされたものであり、非線形システムのモデル学習において、安定性及び収束性の保証を可能とする技術を提供することを目的とする。
【課題を解決するための手段】
【0008】
本発明は、上述の課題の少なくとも一部を解決するためになされたものであり、以下の形態として実現することが可能である。モデル学習装置であって、状態変数xを予測するための非線形の状態方程式の学習に用いられるモデル構造を記憶するモデル記憶部と、前記モデル構造と、前記モデル構造に対する入力データと出力データの組を複数含んだ入出力データセットと、を用いて前記状態方程式を学習する学習部と、を備え、前記モデル構造は、状態変数xを入力とする全単射な写像f(x)を含む状態方程式であり、前記モデル構造は、次式により定義され、
上記式において、等号の左辺は、前記状態方程式によって予測しようとする状態変数xを表すn(nは整数)次元ベクトルの時間微分であり、等号の右辺のうち、uは状態変数xの変化に影響する入力変数を表すm(mは整数)次元のベクトルであり、f(x)は状態変数xを入力としてn次元のベクトルを出力する全単射な写像であり、関数ψはn次元のベクトルを出力する任意の非線形関数であり、前記学習部は、前記モデル構造における前記関数ψを、次式により表される構造とし、
上記式において、等号の左辺は、前記関数ψであり、等号の右辺のうち、Aはn行n列の正方行列であり、gはn次元のベクトルを出力する任意の非線形関数であり、cは正の値をとる任意のスカラー関数である、モデル学習装置。そのほか、本発明は、以下の形態としても実現可能である。
【0009】
(1)本発明の一形態によれば、モデル学習装置が提供される。このモデル学習装置は、状態変数xを予測するための非線形の状態方程式の学習に用いられるモデル構造を記憶するモデル記憶部と、前記モデル構造と、前記モデル構造に対する入力データと出力データの組を複数含んだ入出力データセットと、を用いて前記状態方程式を学習する学習部と、を備え、前記モデル構造は、状態変数xを入力とする全単射な写像f(x)を含む状態方程式である。
【0010】
この構成によれば、学習部において用いられるモデル構造は、状態変数xを入力とする全単射な写像f(x)を含む状態方程式である。このような状態方程式は、状態変数xを変換した内部変数ξの時間変化を表す平易な形式の状態方程式に式変形できる。そして、内部変数ξに関する状態方程式について、安定性や収束性などの特性を解析することで、従来であれば解析困難であった、状態変数xの安定性や収束性などの特性を知ることができる。この結果、本構成のモデル学習装置によれば、非線形システムのモデル学習において、安定性及び収束性の保証を可能とできる。
【0011】
(2)上記形態のモデル学習装置において、前記モデル構造は、次式により定義されてもよい。
上記式において、等号の左辺は、前記状態方程式によって予測しようとする状態変数xを表すn(nは整数)次元ベクトルの時間微分であり、等号の右辺のうち、uは状態変数xの変化に影響する入力変数を表すm(mは整数)次元のベクトルであり、f(x)は状態変数xを入力としてn次元のベクトルを出力する全単射な写像であり、関数ψはn次元のベクトルを出力する任意の非線形関数であってもよい。
この構成によれば、学習部において用いられるモデル構造は、上記式により定義される。このとき、関数ξ=f(x)を定義し、関数ξ=f(x)の時間微分を取ることにより、学習部において用いられるモデル構造を、状態変数xを変換した内部変数ξの時間変化を表す平易な形式の状態方程式に式変形できる。ここで、関数f(x)は全単射であるため一意の逆関数が存在し、x=f-1(ξ)として、xはξを静的な関数で変換した形で表される。したがって、内部変数ξに関する状態方程式について、安定性や収束性などの特性を解析することで、従来であれば解析困難であった、状態変数xの安定性や収束性などの特性を知ることができる。この結果、本構成のモデル学習装置によれば、非線形システムのモデル学習において、安定性及び収束性の保証を可能とできる。
【0012】
(3)上記形態のモデル学習装置において、前記学習部は、前記モデル構造における前記関数ψを、次式により表される構造としてもよい。
上記式において、等号の左辺は、前記関数ψであり、等号の右辺のうち、Aはn行n列の正方行列であり、gはn次元のベクトルを出力する任意の非線形関数であり、cは正の値をとる任意のスカラー関数であってもよい。
この構成によれば、モデル構造における関数ψは、上記式により定義される。ここで、cは正の値をとるスカラー関数であるため、上記の通りx=f-1(ξ)とし、一旦関数cを無視して考えると、ξに関する線形状態方程式を得ることができる。この線形状態方程式においては、行列Aの固有値の実部が全て負であれば、ξは安定であり、かつ、唯一の平衡点を持つことが一般的に知られている。このため、ξに関する線形状態方程式を解析することによって、状態変数xの安定性や収束性などの特性をより容易に判定できる。また、関数cを考慮したとき、cは正の値をとるスカラー関数であるため、関数ψの出力であるベクトルの向きは変化しない。すなわち、関数cの存在は、上記式の安定性に影響を与えない。
【0013】
(4)上記形態のモデル学習装置において、前記学習部は、前記モデル構造に対して、前記入出力データセットのうちの前記入力データのセットを与えて出力を推定し、推定された出力と、前記入出力データセットのうちの前記出力データのセットと、の一致度を評価し、評価の結果に応じて前記モデル構造についての学習パラメータを更新することで、前記状態方程式を学習してもよい。
この構成によれば、学習部は、入出力データセットのうちの入力データセットを用いた出力の推定と、出力データセットを用いた一致度の評価と、モデル構造についての学習パラメータの更新と、によって状態方程式を学習する。このため、学習部は、予め準備された入出力データセットを教師データとした学習手法に沿って、非線形の状態方程式を学習できる。
【0014】
(5)本発明の一形態によれば、制御装置が提供される。この制御装置は、任意の制御対象物に関する状態変数xを予測するための非線形の状態方程式を記憶する状態方程式記憶部と、前記状態方程式に関する種々のパラメータを取得する取得部と、取得された前記パラメータを用いて、前記状態方程式から、将来の状態変数xを予測する予測部と、を備える。
この構成によれば、予測部は、状態方程式に関する種々のパラメータと、状態方程式とを用いて、将来の状態変数xを予測する。このため、予測された状態変数xを分析や、任意の制御対象物(例えば、内燃機関、ハイブリッド機関、パワートレイン等)の制御に使用することができる。
【0015】
(6)上記形態の制御装置では、さらに、前記予測部により予測された状態変数xを用いて、前記制御対象物を制御するための操作量を決定する決定部を備えてもよい。
この構成によれば、予測された状態変数xを用いて、制御対象物を制御するための操作量を決定する決定部を備えるため、予測された状態変数xを任意の制御対象物の制御に使用することができる。
【0016】
なお、本発明は、種々の態様で実現することが可能であり、例えば、非線形システムのモデルを学習する装置及び方法、学習により得られたモデルを用いて状態を推定する装置及び方法、これらの装置が含まれるシステム、これらの装置及びシステムにおいて実行されるコンピュータプログラム、そのコンピュータプログラムを配布するためのサーバ装置、そのコンピュータプログラムを記憶した一時的でない記憶媒体等の形態で実現することができる。
【図面の簡単な説明】
【0017】
図1】モデル学習装置の構成を例示した説明図である。
図2】学習処理の手順を例示したフローチャートである。
図3】学習処理の効果例について説明する図である。
図4】制御装置の構成を例示した説明図である。
図5】予測処理の手順を例示したフローチャートである。
図6】第2実施形態のモデル学習装置の構成を例示した説明図である。
図7】第3実施形態の制御装置の構成を例示した説明図である。
【発明を実施するための形態】
【0018】
<第1実施形態>
図1は、本発明の一実施形態としてのモデル学習装置100の構成を例示した説明図である。モデル学習装置100は、非線形システムのモデルを学習する装置である。ここで、「非線形システム」とは、任意の制御対象物(システム)に対する入出力パラメータの関係性が一次式では表せない、または近似できない性質を持つ制御対象物を意味する。また、本実施形態では「モデル」として、非線形の状態方程式を例示する。すなわち、本実施形態において、「非線形システムのモデル」とは、非線形な任意の制御対象物に関する状態変数xを予測するための、非線形の状態方程式である。なお、「状態方程式」とは、「x・(t)=f(x(t),・・・)」のように、現時刻の状態x(t)によって、それ自身の状態x・(t)を決定する方程式を意味する。以降、下記記号1に表すxの時間微分を「x・」と記載し、下記記号2に表すξの時間微分を「ξ・」と記載する。
【0019】
【数1】
【数2】
【0020】
制御対象物は任意に定めることができ、例えば、内燃機関、ハイブリッド機関、パワートレイン等を例示できる。内燃機関、ハイブリッド機関、パワートレイン等の駆動機関を制御対象物とした場合、モデル学習装置100により学習されるモデルは、制御対象物の駆動に関する種々のパラメータ(例えば、制御対象部のアクチュエータの操作量、制御対象部に対する外乱、制御対象部の状態、制御対象部の出力、制御対象部の出力目標値等)の関係を表す非線形の状態方程式となる。
【0021】
モデル学習装置100は、例えばパーソナルコンピュータ(PC:Personal Computer)であり、CPU110と、記憶部120と、ROM/RAM130と、通信部140と、入出力部150とを備えている。モデル学習装置100の各部はバスにより相互に接続されている。
【0022】
CPU110は、制御部111と、学習部112とを備えている。制御部111は、ROM130に格納されているコンピュータプログラムをRAM130に展開して実行することにより、モデル学習装置100の各部を制御する。学習部112は、後述の学習処理を実行する。学習処理は、任意の制御対象物(非線形システム)に関する状態変数xを予測するための非線形の状態方程式を学習する処理である。
【0023】
記憶部120は、ハードディスク、フラッシュメモリ、メモリカードなどで構成される記憶媒体である。記憶部120には、モデル記憶部121と、入出力データセット122とが予め記憶されている。モデル記憶部121は、学習部112による状態方程式の学習のために用いられるモデル構造である。本実施形態では、モデル記憶部121に記憶されたモデル構造は、下記式3により定義される。
【0024】
【数3】
式3において、等号の左辺は、状態方程式によって予測しようとする状態変数xを表すn(nは整数)次元ベクトルの時間微分である。また、等号の右辺のうち、uは状態変数xの変化に影響する入力変数を表すm(mは整数)次元のベクトルであり、f(x)は状態変数xを入力としてn次元のベクトルを出力する全単射な写像であり、関数ψはn次元のベクトルを出力する任意の非線形関数である。ここで、「全単射」とは、集合Aの写像の結果が集合Bであるとした場合に、AとBの各要素が必ず一対一の対応関係を持つことを意味する。関数fが全単射である場合、一意の逆関数f-1が存在する。
【0025】
入出力データセット122は、式3で表されるモデル構造に対する入力データと出力データの組を複数含んでいる。この入力データと出力データの組は、制御対象物に対する実験や計算により予め求められている。入出力データセット122は、学習部112による状態方程式の学習のために用いられる教師データとして用いられる。以降、入出力データセット122のうち、複数の入力データをまとめて「入力データセット」とも呼び、複数の出力データをまとめて「出力データセット」とも呼ぶ。
【0026】
通信部140は、モデル学習装置100と他の装置との間における、通信インターフェースを介した通信を制御する。他の装置としては、例えば、後述する制御装置200や、他の情報処理装置、及び入出力データセット122を取得するための計測器等が挙げられる。入出力部150は、モデル学習装置100と、利用者との間の情報の入出力に使用される種々のインターフェースである。入出力部150としては、例えば、入力部としてのタッチパネル、キーボード、マウス、操作ボタン、マイクや、出力部としてのタッチパネル、モニタ、スピーカー、LED(Light Emitting Diode)インジケータ等を採用できる。
【0027】
図2は、学習処理の手順を例示したフローチャートである。学習処理は、例えば、利用者からの要求(所定のアプリケーションの起動等)を契機として実行され得る。以降の例では、下記式4に示す状態方程式において、x,u,x・の各データを既知の入出力データセット122として予め準備し、この入出力データセット122を用いて関数Fの関数形を学習する(推定する)場合について説明する。上述の通り、xはn次元ベクトルであり、uはm次元ベクトルである。
【0028】
【数4】
【0029】
まず、ステップS10において学習部112は、モデル記憶部121に記憶されているモデル構造(式3)を取得する。学習部112は、関数Fを学習するためのモデル構造を下記式5に示す構造と想定する。式5は、学習処理において学習しようとする状態方程式を、モデル記憶部121に記憶されているモデル構造で表したものである(式3,4)。学習部112は、式5の構造において、各変数の値をゼロまたはランダムな値とすることで、各変数を初期化する。
【0030】
【数5】
【0031】
ここで、式5の構造において、関数fとψにも何らかの構造を想定する必要がある。本実施形態では、関数fについては、例えば、ニューラルネットワークを用いて下記式6の構造を定義する。式6において、Wfは重み、bfはバイアス、φfは活性化関数である。関数fについて、式3で説明した「全単射であること」の条件を満たすために、Wfはn×nの正方行列、bfはn次元ベクトル。φfは何らかの全単射な写像(例えば、双曲線正弦関数など)として設定する。関数fの形式が定まれば、偏微分演算、及び、逆行列演算によって、(∂f/∂x)-1が定まる。
【0032】
【数6】
【0033】
また、関数ψについては、例えば、下記式7の構造を定義することで、安定性及び収束性をより簡単に評価することができる(詳細は後述)。式7において、Aはn×nの正方行列、cは正の値をとる任意のスカラー関数、gはn次元のベクトルを出力する任意の非線形関数である。なお、式7の関数c,gについても何らかの構造を想定する必要があるが、これらもニューラルネットワークを用いて構造を定義できる。
【0034】
【数7】
【0035】
ステップS12において学習部112は、入出力データセット122から、x,u,x・についての入出力データセットを取得する。本実施形態の例では、入出力データセット122において、x,u,x・の各データはj組(jは自然数、j=1~N)含まれている。入出力データセット122のうち、xj,ujは入力データセットに相当し、x・jは出力データセットに相当する。
【0036】
ステップS14において学習部112は、モデル構造に入力データセットを与えて出力を推定する。具体的には、学習部112は、ステップS10で定義及び初期化した式5(及び式6,式7)の構造に対して、ステップS12で取得した入力データセット(xj,uj)を与える。そうすると、下記式8に示すように、出力x・jの推定値を得ることができる。なお、(∂f/∂x)-1もxの関数であるため、xjを代入することで評価可能である。
【0037】
【数8】
【0038】
ステップS16において学習部112は、推定された出力と出力データセットとの一致度を評価する。具体的には、学習部112は、ステップS14で得られた出力x・jの推定値と、ステップS12で取得した出力データセット(x・j)との一致度を評価する。学習部112は、例えば、下記式9に示す二乗平均誤差(MSE:Mean Square Error)を一致度の指標として用いることができる。MSEの場合、等号の左辺Jの値が小さければ小さいほど、一致度が高い。なお、学習部112は、例えば、絶対平均誤差率や、交差エントロピーなど、MSE以外の指標を用いて一致度を評価してもよい。
【0039】
【数9】
【0040】
ステップS18において学習部112は、一致度が十分であるか否かを判定する。例えば、MSE(式9)を用いる場合、学習部112は、Jの値が所定値以下である場合に、一致度が十分であると判定できる。なお、学習部112は、Jの値の変化率が所定の値以下である場合に、一致度が十分であると判定してもよい。所定値は任意に決定できる。
【0041】
一致度が十分でない場合(ステップS18:NO)、学習部112は、処理をステップS20に遷移させる。ステップS20において学習部112は、ステップS10で定義した式5(及び式6,式7)の構造における、学習パラメータ(例えば、Wf,bf,Aなど)を更新する。学習部112は、例えば、バックプロパゲーションにより各学習パラメータに対するJの勾配を評価し、各種の勾配法に基づいて、各学習パラメータを更新できる。その後、学習部112は処理をステップS14に遷移させ、出力の推定及び評価を繰り返す。
【0042】
一致度が十分である場合(ステップS18:YES)、学習部112は、処理を終了する。この際、学習部112は、学習した関数Fについて、入出力部150に出力してもよく、記憶部120に記憶してもよく、通信部140を介して他の装置に送信してもよい。
【0043】
次に、図2で説明した学習処理で学習されたモデル(状態方程式)において、安定性と収束性を保証できる理由について説明する。一般に、過渡的な現象を再現できる動的なモデルをニューラルネットワーク(機械学習)で構築する際、当該モデルが安定である(換言すれば、発散しない)保証はない。しかし、上述した式3(式5)に示したモデル構造は、式変形によって、状態変数xを変換した内部的な変数(以降、「内部変数ξ」とも呼ぶ)の時間変化を表す、より平易な形式の状態方程式に変換できる。この内部変数ξに関する状態方程式について、安定性や収束性などの特性が既知であれば、状態変数xもその特性を保存しているため、安定性や収束性などの特性を知ることができる。すなわち、状態変数xの特性を、平易な形式の状態方程式に対する解析により判断できる。
【0044】
学習処理の式3(式5)に示したモデル構造は、そのままでは解析困難である。このとき、関数ξ=f(x)を定義し、関数ξ=f(x)の時間微分を取る。すると、下記式10に示すように、関数ξに関する状態方程式が得られる。
【0045】
【数10】
【0046】
ここで、関数f(x)は全単射であるため一意の逆関数が存在し、x=f-1(ξ)として、xはξを静的な関数で変換した形で表される。したがって、式10を解析することで、関数ξの安定性や収束性が判断できれば、状態変数xも当該性質を保存していることから、状態変数xの安定性や収束性を判断できる。具体的には、関数ξが発散しないならば、状態変数xも発散せず、関数ξが必ずある1つの平衡点に収束するならば、状態変数xも必ずある1つの平衡点に収束する、と言える。
【0047】
このように、第1実施形態のモデル学習装置100によれば、学習部112において用いられるモデル構造(式3,式5)は、状態変数xを入力とする全単射な写像f(x)を含む状態方程式である。このような状態方程式(式3,式5)は、内部変数ξの時間変化を表す平易な形式の状態方程式に式変形できる(式10)。そして、内部変数ξに関する状態方程式(式10)について、安定性や収束性などの特性を解析することで、従来であれば解析困難であった、状態変数xの安定性や収束性などの特性を知ることができる。この結果、本実施形態のモデル学習装置100によれば、非線形システムのモデル学習において、安定性及び収束性の保証を可能とできる。
【0048】
また、第1実施形態のモデル学習装置100によれば、モデル構造(式3,式5)における関数ψの構造を、式7により表される構造とすることにより、解析をより容易とできる。具体的には、cは正の値をとるスカラー関数であるため、上記の通りx=f-1(ξ)としたとき、式7は下記式11のように表される。式11において、一旦関数cを無視して考えると、下記式12が得られる。
【0049】
【数11】
【数12】
【0050】
ここで、式12はξに関する線形状態方程式であり、行列Aの固有値の実部が全て負であれば、ξは安定であり、かつ、唯一の平衡点を持つことが一般的に知られている。式12において無視した関数cは、式11において右辺に乗じられている。関数cは正のスカラー関数であるため、式11,式12によって定まるベクトルξ・は、長さが異なるものの、常に同じ向きを持つ。ξの時間変化は、ξ・を時間積分することにより求められるが、ベクトルの向きが常に同じであれば、収束の速度は異なっていても、通過する軌道は一致する。このため、式12に対する解析によって判定できる安定性、及び平衡点の数(収束性)は、式11においても保存される。したがって、式12を解析することによって、式10の性質(状態変数xの安定性や収束性などの特性)をより容易に判定できる。なお、関数cを考慮したとき、cは正の値をとるスカラー関数であるため、関数ψの出力であるベクトルの向きは変化しない。すなわち、関数cの存在は、式11の安定性に影響を与えない。
【0051】
なお、式11,式12では、関数ψをξに関する線形式へと変換したが、解析により式10の性質(状態変数xの安定性や収束性などの特性)が判定できる限りにおいて、任意の形式を用いることができる。例えば、非線形モデルに関しては、リアプノフ関数と呼ばれる関数を発見できれば、安定性が保証される。このため、リアプノフ関数を発見可能な形式を採用してもよい。
【0052】
さらに、第1実施形態のモデル学習装置100によれば、学習部112は、入出力データセット122のうちの入力データセットを用いた出力の推定(図2:ステップS14)と、出力データセットを用いた一致度の評価(ステップS16)と、モデル構造(式3,式5)についての学習パラメータの更新(ステップS20)と、によって状態方程式を学習する。このため、学習部112は、予め準備された入出力データセット122を教師データとした学習手法に沿って、非線形の状態方程式を学習できる。
【0053】
図3は、学習処理の効果例について説明する図である。図3では、効果の確認のために準備した簡易モデルMSについて、従来の方法で得られたモデルM0と、本実施形態の学習処理により得られたモデルM1とを比較する。モデルMS,M0,M1を模擬的に図示した各図には、x1,x2の平面上における、x・ベクトルの向きを表す矢印と、x・ベクトルを積分した曲線とを示している。つまり、ある曲線上の1点を初期状態とすれば、状態xは、曲線状の矢印(x・ベクトルの向き)に従って経時的に変化する。
【0054】
図3の左側には、効果の確認のために準備した簡易モデルMS(すなわち、学習対象となるモデルMS)を表す。簡易モデルMSは、n=2次元とし、かつ、入力なしg(u)=0とした。簡易モデルMSは、論理的に安定が保証されており、必ず原点CPに収束するものの、学習誤差によっては容易に発散が生じるようなモデルとした。なお、図において破線で示すのは、学習範囲RAである。
【0055】
図3の右側上段には、簡易モデルMSを、従来の方法により学習することで得られたモデルM0を表す。具体的には、上述した非線形の状態方程式(式4)について、関数Fの関数形の学習にあたって、標準的なニューラルネットワークを用いた。図示のように、従来の方法により得られたモデルM0では、学習範囲RAの端部や、学習範囲RAの外部において、状態変数xが発散する領域RE(一点鎖線)が存在する。したがって、従来の方法により得られたモデルM0では、安定性及び収束性の保証ができないことがわかる。
【0056】
図3の右側下段には、簡易モデルMSを、本実施形態の学習処理により学習することで得られたモデルM1を表す。図示のように、本実施形態の学習処理により得られたモデルM1では、学習範囲RAの端部はもちろん学習範囲RAの外部からでも、状態変数xは必ず原点CPに収束する。したがって、本実施形態の学習処理により得られたモデルM1では、安定性及び収束性の保証を可能とできることがわかる。
【0057】
図4は、制御装置200の構成を例示した説明図である。制御装置200は、モデル学習装置100によって学習された非線形の状態方程式を利用して、将来の状態変数xを予測する装置である。
【0058】
制御装置200は、例えばパーソナルコンピュータや、車載ECU(Electronic Control Unit)として実現され得る。例えば、前者の場合は、制御装置200を制御対象物の分析のために用いることができ、後者の場合は、制御装置200を制御対象物の制御のために用いることができる。制御対象物とは、上記の通り任意に定めることができ、例えば、内燃機関、ハイブリッド機関、パワートレイン等を例示できる。
【0059】
制御装置200は、CPU210と、記憶部220と、ROM/RAM230と、通信部240と、入出力部250とを備えている。制御装置200の各部はバスにより相互に接続されている。なお、制御装置200の機能部のうちの少なくとも一部は、ASIC(Application Specific Integrated Circuit)により実現されてもよい。
【0060】
CPU210は、制御部211と、取得部212と、予測部213とを備えている。制御部211は、ROM230に格納されているコンピュータプログラムをRAM230に展開して実行することにより、制御装置200の各部を制御する。取得部212と予測部213とは、協働して後述の予測処理を実行する。予測処理は、非線形の状態方程式を用いて、将来の状態変数xを予測する処理である。
【0061】
記憶部220は、ハードディスク、フラッシュメモリ、メモリカードなどで構成される記憶媒体である。記憶部220には、状態方程式記憶部221が予め記憶されている。状態方程式記憶部221には、モデル学習装置100により学習(図2:学習処理)された非線形の状態方程式が記憶されている。
【0062】
通信部240は、制御装置200と他の装置との間における、通信インターフェースを介した通信を制御する。他の装置としては、例えば、モデル学習装置100や、他のECU、他の情報処理装置、及び推定処理において使用する各種パラメータを取得するための計測器等が挙げられる。入出力部250は、制御装置200と、利用者との間の情報の入出力に用いられる種々のインターフェースである。入出力部250としては、例えば、モデル学習装置100の入出力部150と同様の構成を例示できる。
【0063】
図5は、予測処理の手順を例示したフローチャートである。予測処理は、例えば、利用者からの要求(所定のアプリケーションの起動)や、他のECUからの要求等を契機として実行され得る。
【0064】
まず、ステップS50において予測部213は、状態方程式記憶部221に記憶されている状態方程式を取得する。ステップS52において取得部212は、状態方程式に関する種々のパラメータを取得する。ここで、種々のパラメータには、状態方程式に対する入力u、現在の時刻t、現在の状態x、計算サイクルΔt、及び予測終了時刻Tが含まれる。予測終了時刻Tは、どれだけ先の状態変数xを予測するかを表す時刻である。取得部212は、入力uと、現在の状態xとを、他のECUや計測器等から取得できる。また、他のパラメータについては、他のECUからの指示値を取得してもよく、記憶部220に予め記憶されている設定値を取得してもよい。
【0065】
ステップS54において予測部213は、状態変化率x・(t)を計算する。具体的には、予測部213は、ステップS52で取得した入力uと、現在の状態xとを、ステップS50で取得した状態方程式に入力することで、状態変化率x・(t)を計算できる。ステップS56において予測部213は、次の時刻における状態の推定値x(t+Δt)を、下記式13により予測する。
【0066】
【数13】
【0067】
ステップS58において予測部213は、時刻を更新する(t←t+Δt)。ステップS60において予測部213は、更新後の時刻tが、予測終了時間Tに到達したか否かを判定する。予測終了時刻Tに到達していない場合(ステップS60:NO)、予測部213は、処理をステップS54に遷移させ、状態変化率の計算と時刻の更新を繰り返す。
【0068】
予測時刻Tに到達した場合(ステップS60:YES)、予測部213は、処理をステップS62に遷移させる。ステップS62において予測部213は、予測した状態変数xを出力し、処理を終了する。出力は、入出力部250に対して行ってもよく、記憶部220に記憶させてもよく、通信部240を介して他の装置(呼び出し元のECU等)に送信してもよい。
【0069】
このように、第1実施形態の制御装置200によれば、予測部213は、状態方程式に関する種々のパラメータu,t,x,Δt,Tと、モデル学習装置100により学習された状態方程式と、を用いて、将来の状態変数xを予測する。このため、予測された状態変数xを分析や、任意の制御対象物(例えば、内燃機関、ハイブリッド機関、パワートレイン等)の制御に使用することができる。
【0070】
<第2実施形態>
図6は、第2実施形態のモデル学習装置100aの構成を例示した説明図である。モデル学習装置100aは、第1実施形態で説明したモデル学習装置100としての機能と、制御装置200としての機能の両方を備える装置である。モデル学習装置100aのCPU110aは、図1で説明した制御部111及び学習部112と、図4で説明した取得部212及び予測部213を備える。モデル学習装置100aの記憶部120aには、図1で説明したモデル記憶部121及び入出力データセット122と、図4で説明した状態方程式記憶部221を備える。このようなモデル学習装置100aによれば、状態変数xを予測するための非線形の状態方程式(モデル)を学習しつつ、学習した状態方程式を用いた将来の状態変数xの予測ができる。なお、モデル学習装置100aでは、将来の状態変数xの予測結果を、状態方程式記憶部221のモデルに対してフィードバックしてもよい。このような第2実施形態の構成においても、第1実施形態と同様の効果を奏することができる。
【0071】
<第3実施形態>
図7は、第3実施形態の制御装置200bの構成を例示した説明図である。制御装置200bは、モデル学習装置100によって学習された非線形の状態方程式を利用して、将来の状態変数xを予測すると共に、予測された状態変数xを用いて、任意の制御対象物の操作量を決定する。制御装置200bは、例えば車載ECUとして実現される。
【0072】
制御装置200bは、第1実施形態の構成において、CPU210に代えてCPU210bを備える。CPU210bは、さらに決定部214を備えると共に、制御対象物300に接続されている。接続手段は、有線接続、無線接続を問わない。制御対象物300は、第1実施形態と同様に、例えば、内燃機関、ハイブリッド機関、パワートレイン等の駆動機関である。決定部214は、予測処理(図5)の実行後に、予測処理(図5)で求めた将来の状態変数xを用いて、制御対象物300を制御するためのアクチュエータの操作量を決定する。操作量の決定は、例えば、将来の状態変数xを入力とし、操作量を出力とする関係式、マップ、ニューラルネットワーク等を用いることにより実現できる。
【0073】
このように、制御装置200bは、将来の状態変数xの予測に加えてさらに、予測した状態変数xを用いた制御対象物の操作量の決定を行ってもよい。このような第3実施形態の構成においても、第1実施形態と同様の効果を奏することができる。また、第3実施形態の制御装置200bによれば、予測された状態変数xを用いて、制御対象物300を制御するための操作量を決定する決定部214を備えるため、予測された状態変数xを任意の制御対象物300の制御に使用することができる。
【0074】
<本実施形態の変形例>
本発明は上記の実施形態に限られるものではなく、その要旨を逸脱しない範囲において種々の態様において実施することが可能であり、例えば次のような変形も可能である。また、上記実施形態において、ハードウェアによって実現されるとした構成の一部をソフトウェアに置き換えるようにしてもよく、逆に、ソフトウェアによって実現されるとした構成の一部をハードウェアに置き換えるようにしてもよい。
【0075】
[変形例1]
上記実施形態では、モデル学習装置及び制御装置の構成の一例を示した。しかし、モデル学習装置及び制御装置の構成は種々の変形が可能である。例えば、モデル学習装置及び制御装置の少なくとも一方は、ネットワーク上に配置された複数の情報処理装置(サーバ装置や、車載ECU等を含む)が協働することによって構成されてもよい。
【0076】
[変形例2]
上記実施形態では、学習処理(図2)及び予測処理(図5)の手順の一例を示した。しかし、これらの処理は種々の変形が可能であり、一部のステップを省略してもよく、説明しない他のステップを追加してもよく、一部のステップの実行順序を変更してもよい。
【0077】
例えば、学習処理(図2)において、式6に示した関数fの定義、及び、式7に示した関数ψの定義はあくまで一例であり、関数f,ψは、任意の形に定義してよい。
【0078】
例えば、学習処理(図2)のステップS18において、学習部112は、一致度に加えてさらに、制約条件を満たしているか否かを判断してもよい。制約条件とは任意に定めることができ、例えば、学習パラメータWf,bf,Aがそれぞれ満たすべき範囲であってもよく、出力x・が満たすべき範囲であってもよい。
【0079】
以上、実施形態、変形例に基づき本態様について説明してきたが、上記した態様の実施の形態は、本態様の理解を容易にするためのものであり、本態様を限定するものではない。本態様は、その趣旨並びに特許請求の範囲を逸脱することなく、変更、改良され得ると共に、本態様にはその等価物が含まれる。また、その技術的特徴が本明細書中に必須なものとして説明されていなければ、適宜、削除することができる。
【符号の説明】
【0080】
100,100a…モデル学習装置
110,110a…CPU
111…制御部
112…学習部
120…記憶部
121…モデル記憶部
122…入出力データセット
130…ROM/RAM
140…通信部
150…入出力部
200,200b…制御装置
210…CPU
211…制御部
212…取得部
213…予測部
214…決定部
220…記憶部
221…状態方程式記憶部
230…ROM/RAM
240…通信部
250…入出力部
300…制御対象物
図1
図2
図3
図4
図5
図6
図7