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

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

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

特開2023-184384学習装置、制御装置、学習方法、及び、コンピュータプログラム
<>
  • 特開-学習装置、制御装置、学習方法、及び、コンピュータプログラム 図1
  • 特開-学習装置、制御装置、学習方法、及び、コンピュータプログラム 図2
  • 特開-学習装置、制御装置、学習方法、及び、コンピュータプログラム 図3
  • 特開-学習装置、制御装置、学習方法、及び、コンピュータプログラム 図4
  • 特開-学習装置、制御装置、学習方法、及び、コンピュータプログラム 図5
  • 特開-学習装置、制御装置、学習方法、及び、コンピュータプログラム 図6
  • 特開-学習装置、制御装置、学習方法、及び、コンピュータプログラム 図7
  • 特開-学習装置、制御装置、学習方法、及び、コンピュータプログラム 図8
  • 特開-学習装置、制御装置、学習方法、及び、コンピュータプログラム 図9
  • 特開-学習装置、制御装置、学習方法、及び、コンピュータプログラム 図10
  • 特開-学習装置、制御装置、学習方法、及び、コンピュータプログラム 図11
  • 特開-学習装置、制御装置、学習方法、及び、コンピュータプログラム 図12
  • 特開-学習装置、制御装置、学習方法、及び、コンピュータプログラム 図13
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023184384
(43)【公開日】2023-12-28
(54)【発明の名称】学習装置、制御装置、学習方法、及び、コンピュータプログラム
(51)【国際特許分類】
   G06N 99/00 20190101AFI20231221BHJP
【FI】
G06N99/00 180
【審査請求】未請求
【請求項の数】15
【出願形態】OL
(21)【出願番号】P 2022147445
(22)【出願日】2022-09-15
(31)【優先権主張番号】P 2022098217
(32)【優先日】2022-06-17
(33)【優先権主張国・地域又は機関】JP
(71)【出願人】
【識別番号】000003609
【氏名又は名称】株式会社豊田中央研究所
(71)【出願人】
【識別番号】000003218
【氏名又は名称】株式会社豊田自動織機
(74)【代理人】
【識別番号】100160691
【弁理士】
【氏名又は名称】田邊 淳也
(74)【代理人】
【識別番号】100182718
【弁理士】
【氏名又は名称】木崎 誠司
(72)【発明者】
【氏名】島 遼太朗
(72)【発明者】
【氏名】森安 竜大
(72)【発明者】
【氏名】川口 翔
(57)【要約】
【課題】システムの開発リードタイムの短縮に資する技術を提供する。
【解決手段】学習装置は、入力時系列から出力時系列を近似的に表現した非線形モデルを用いたスパース最適化問題であって、所定のパラメータにより決定付けられるスパース最適化問題を決定する決定部と、決定されたスパース最適化問題を解くことによって、パラメータに対応した最適制御であって、ある評価関数の下で最適だと評価される入力時系列である最適制御を算出する算出部と、最適制御に対するパラメータによる微分値を用いて、パラメータを更新する更新部と、を備える。学習装置は、決定部によるスパース最適化問題の決定と、算出部による最適制御の算出と、更新部によるパラメータの更新と、を繰り返すことにより、教師データとの誤差が小さい最適制御が得られるスパース最適化問題を決定付けるためのパラメータを学習する。
【選択図】図1
【特許請求の範囲】
【請求項1】
学習装置であって、
入力時系列から出力時系列を近似的に表現した非線形モデルを用いたスパース最適化問題であって、所定のパラメータにより決定付けられるスパース最適化問題を決定する決定部と、
決定された前記スパース最適化問題を解くことによって、前記パラメータに対応した最適制御であって、ある評価関数の下で最適だと評価される前記入力時系列である最適制御を算出する算出部と、
前記最適制御に対する前記パラメータによる微分値を用いて、前記パラメータを更新する更新部と、
を備え、
前記決定部による前記スパース最適化問題の決定と、前記算出部による前記最適制御の算出と、前記更新部による前記パラメータの更新と、を繰り返すことにより、教師データとの誤差が小さい前記最適制御が得られる前記スパース最適化問題を決定付けるための前記パラメータを学習する、学習装置。
【請求項2】
請求項1に記載の学習装置であって、
前記非線形モデルは、返り値の各成分が、引数について凸かつ単調非減少に設計される微分可能な関数として表される、学習装置。
【請求項3】
請求項2に記載の学習装置であって、
前記スパース最適化問題は、
前記非線形モデルの入力時系列Uと、前記非線形モデルを用いて前記入力時系列Uにより決定された出力時系列Yと、前記パラメータθと、を引数とする微分可能なスカラー値関数Vと、
前記入力時系列UのL1正則化項と、
の和として表される、学習装置。
【請求項4】
請求項3に記載の学習装置であって、
前記スパース最適化問題は、さらに、
前記入力時系列Uに対する、上限値と下限値との少なくとも一方を制限する制約を有する、学習装置。
【請求項5】
請求項4に記載の学習装置であって、
前記更新部は、前記パラメータの更新のために、次式により定義される前記微分値Jを算出するものであり、
上記式において、
Iは単位行列であり、
γは正の定数であり、
Dは、関数l(U,θ)=V(U,F(U,-U,θ),θ)とおき、Nr次元ベクトルv=U-γ∇Ul(U,θ)に対して、第i成分diを選択して生成したNr次元ベクトルdを、対角に並べた対角行列であり、
qは、前記関数lの前記Nr次元ベクトルvに対して、第i成分qiを選択して生成
したNr次元ベクトルであり、
Hは、前記関数lのUに対するヘッセ行列であり、
Uは前記入力時系列Uであり、θは前記パラメータθであり、Vは前記スカラー値関
数Vである、学習装置。
【請求項6】
請求項1に記載の学習装置であって、
前記スパース最適化問題は、さらに、
前記入力時系列に対する等式制約と、前記入力時系列と前記出力時系列とを引数に含む関数に対する不等式制約と、の少なくとも一方を有し、
前記評価関数は、
前記入力時系列と、前記出力時系列とに対して凸になるように設計され、
かつ、前記出力時系列に対して単調非減少であるように設計され、
かつ、前記入力時系列に対して強凸になるように設計される関数である、学習装置。
【請求項7】
請求項6に記載の学習装置であって、
前記算出部は、前記評価関数が微分不可能な関数を含む場合に、最適化アルゴリズムとして交互方向乗数法を用いて前記スパース最適化問題を解く、学習装置。
【請求項8】
請求項7に記載の学習装置であって、
前記更新部は、前記パラメータの更新のために、次式により定義される前記微分値Jを算出するものであり、
上記式において、
Iは単位行列であり、
γ,ρは正の定数であり、
*は、入力時系列Uに対する前記非線形モデルの解であり、
関数Vおよび関数gが入力時系列Uと、出力時系列Yと、前記パラメータθとを引数とする微分可能なスカラー値関数であり、かつ、関数Fが非線形モデルによって定まった入力時系列Uと、パラメータθとを引数として出力時系列Yを返す関数である場合に、
Dは、関数V~(U,θ)=V(U,F(U,θ),θ)とおき、Nr次元ベクトルv=U*-γ∇UV~(U*,θ)に対し、第i成分diを選択して生成したNr次元ベクトルdを、対角に並べた対角行列であり、
qは、前記関数V~の前記Nr次元ベクトルvに対して、第i成分qiを選択して
生成したNr次元ベクトルであり、
Aは、スパース最適化問題がne個の一次独立な前記等式制約を有し、かつ、前記
等式制約が入力時系列Uに対してAU+b=0の関係で表される場合に、ne×Nr次元
行列であり、
Hは、前記関数V~のUに対するヘッセ行列であり、
Piは、関数g~(U,θ)=V(U,g(U,θ),θ)とおき、関数g~の第i成分gi~のUについてのヘッセ行列であり、
Eは、前記不等式制約がg~(U,θ)≦0で表され、かつ、g~(U,θ)≦0に対応する双対変数をη*とした場合に、η*を対角成分とする対角行列であり、
ηiは、g~(U,θ)≦0に対応する双対変数の第i成分であり、
Gは、g~(U*,θ)を対角成分とする対角行列であり、
行列Rの逆行列である行列R-1におけるR11 inv,R13 inv,R14 invは、行列R-1
の各成分を行列Rと同じようにブロック分割した場合に、各行各列で対応する部分行列である、学習装置。
【請求項9】
請求項1に記載の学習装置であって、
前記非線形モデルは、前記出力時系列の各成分が前記入力時系列について線形な関数として表される、学習装置。
【請求項10】
請求項9に記載の学習装置であって、
前記スパース最適化問題は、さらに、
前記入力時系列に対する等式制約と、前記入力時系列と前記出力時系列とを引数に含む関数に対する不等式制約と、の少なくとも一方を有し、
前記評価関数は、
前記入力時系列と前記出力時系列とに対して凸になるように設計され、
かつ、前記入力時系列に対して強凸になるように設計される関数である、学習装置。
【請求項11】
請求項10に記載の学習装置であって、
前記算出部は、前記評価関数が微分不可能な関数を含む場合に、最適化アルゴリズムとして交互方向乗数法を用いて前記スパース最適化問題を解く、学習装置。
【請求項12】
請求項11に記載の学習装置であって、
前記更新部は、前記パラメータの更新のために、次式により定義される前記微分値Jを算出するものであり、
上記式において、
Iは単位行列であり、
γ,ρは正の定数であり、
*は、入力時系列Uに対する前記非線形モデルの解であり、
関数Vおよび関数gが入力時系列Uと、出力時系列Yと、前記パラメータθとを引数とする微分可能なスカラー値関数であり、かつ、関数Fが非線形モデルによって定まった入力時系列Uと、パラメータθとを引数として出力時系列Yを返す関数である場合に、
Dは、関数V~(U,θ)=V(U,F(U,θ),θ)とおき、Nr次元ベクトルv=U*-γ∇UV~(U*,θ)に対し、第i成分diを選択して生成したNr次元ベクトルdを、対角に並べた対角行列であり、
qは、前記関数V~の前記Nr次元ベクトルvに対して、第i成分qiを選択して
生成したNr次元ベクトルであり、
Aは、スパース最適化問題がne個の一次独立な前記等式制約を有し、かつ、前記
等式制約が入力時系列Uに対してAU+b=0の関係で表される場合に、ne×Nr次元
行列であり、
Hは、前記関数V~のUに対するヘッセ行列であり、
Piは、関数g~(U,θ)=V(U,g(U,θ),θ)とおき、関数g~の第i成分gi~のUについてのヘッセ行列であり、
Eは、前記不等式制約がg~(U,θ)≦0で表され、かつ、g~(U,θ)≦0に対応する双対変数をη*とした場合に、η*を対角成分とする対角行列であり、
ηiは、g~(U,θ)≦0に対応する双対変数の第i成分であり、
Gは、g~(U*,θ)を対角成分とする対角行列であり、
行列Rの逆行列である行列R-1におけるR11 inv,R13 inv,R14 invは、行列R-1
の各成分を行列Rと同じようにブロック分割した場合に、各行各列で対応する部分行列である、学習装置。
【請求項13】
制御装置であって、
請求項1から請求項12のいずれか一項に記載の学習装置により学習された前記パラメータを取得する取得部と、
取得された前記パラメータによって決定付けられた前記スパース最適化問題を解くことによって、前記最適制御を算出する制御部と、を備える、制御装置。
【請求項14】
学習方法であって、情報処理装置が、
入力時系列から出力時系列を近似的に表現した非線形モデルを用いたスパース最適化問題であって、所定のパラメータにより決定付けられるスパース最適化問題を決定する決定工程と、
決定された前記スパース最適化問題を解くことによって、前記パラメータに対応した最適制御であって、ある評価関数の下で最適だと評価される前記入力時系列である最適制御を算出する算出工程と、
前記最適制御に対する前記パラメータによる微分値を用いて、前記パラメータを更新する更新工程と、
を実行し、
前記スパース最適化問題の決定と、前記最適制御の算出と、前記パラメータの更新と、を繰り返すことにより、教師データとの誤差が小さい前記最適制御が得られる前記スパース最適化問題を決定付けるための前記パラメータを学習する、学習方法。
【請求項15】
コンピュータプログラムであって、情報処理装置に、
入力時系列から出力時系列を近似的に表現した非線形モデルを用いたスパース最適化問題であって、所定のパラメータにより決定付けられるスパース最適化問題を決定する決定機能と、
決定された前記スパース最適化問題を解くことによって、前記パラメータに対応した最適制御であって、ある評価関数の下で最適だと評価される前記入力時系列である最適制御を算出する算出機能と、
前記最適制御に対する前記パラメータによる微分値を用いて、前記パラメータを更新す
る更新機能と、
を実行させ、
前記スパース最適化問題の決定と、前記最適制御の算出と、前記パラメータの更新と、を繰り返すことにより、教師データとの誤差が小さい前記最適制御が得られる前記スパース最適化問題を決定付けるための前記パラメータを学習する、コンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、スパース最適化問題を決定付けるパラメータを学習する技術に関する。
【背景技術】
【0002】
制御対象の状態を制御する制御装置(コントローラ)が知られている。例えば、特許文献1には、事前に目標となる数値を定めることが困難な制御システムにおいても、最適な適合値を自動的に推定することが可能な、制御パラメータの適合化システムについて記載されている。特許文献1に記載のシステムでは、排気ガス分析計と酸素センサの出力に基づいて空燃比の制御状態を評価し、評価結果に基づいて目標空燃比の指示値を調整することで、目標空燃比の指示値が最適な値となるように適合させた適合マップを生成する。適合マップ生成後は、適合マップに従って目標空燃比の指示値が決定される。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2010-086405号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかし、特許文献1に記載の技術では、適合の都度、シミュレータを動作させて適合マップを生成する必要があるため、適合マップの生成に長時間を要し、システムの開発リードタイムが長くなるという課題があった。なお、このような課題は、内燃機関を制御対象とする場合に限らず、シミュレータにより表現可能なシステムを制御対象とする場合の全般に共通する。
【0005】
本発明は、上述した課題の少なくとも一部を解決するためになされたものであり、システムの開発リードタイムの短縮に資する技術を提供することを目的とする。
【課題を解決するための手段】
【0006】
本発明は、上述した課題の少なくとも一部を解決するためになされたものであり、以下の形態として実現することが可能である。
【0007】
(1)本発明の一形態によれば、学習装置が提供される。この学習装置は、入力時系列から出力時系列を近似的に表現した非線形モデルを用いたスパース最適化問題であって、所定のパラメータにより決定付けられるスパース最適化問題を決定する決定部と、決定された前記スパース最適化問題を解くことによって、前記パラメータに対応した最適制御であって、ある評価関数の下で最適だと評価される前記入力時系列である最適制御を算出する算出部と、前記最適制御に対する前記パラメータによる微分値を用いて、前記パラメータを更新する更新部と、を備え、前記決定部による前記スパース最適化問題の決定と、前記算出部による前記最適制御の算出と、前記更新部による前記パラメータの更新と、を繰り返すことにより、教師データとの誤差が小さい前記最適制御が得られる前記スパース最適化問題を決定付けるための前記パラメータを学習する。
【0008】
この構成によれば、更新部は、最適制御に対するパラメータによる微分値を用いてパラメータを更新するため、周知の勾配法などによって最適制御の模倣が可能なパラメータを学習することができる。このようにして学習されたパラメータを、制御対象を含むシステムの開発に利用することで、適合の都度シミュレータを動作させて適合マップを生成する従来の構成と比較して、システムの開発リードタイムを大幅に短縮することができると共
に、システム開発コストを低減できる。
【0009】
(2)上記形態の学習装置において、前記非線形モデルは、返り値の各成分が、引数について凸かつ単調非減少に設計される微分可能な関数として表されてもよい。
一般に、周知の勾配法などによって最適制御の模倣を行うためには、最適制御問題の最適入力(すなわち最適制御)を、当該最適制御を得るために用いられたパラメータによって微分する必要がある。ここで、評価関数が微分可能な場合には、最適制御のパラメータによる微分値を取得できるものの、スパース最適化問題においては評価関数が微分可能でないため、通常の方法では、この微分値を取得することができなかった。この点、本構成によれば、プラントを表現する非線形モデルを、返り値の各成分が、引数について凸かつ単調非減少に設計される微分可能な関数としているため、最適制御に対するパラメータによる微分値を取得可能とできる。
【0010】
(3)上記形態の学習装置において、前記スパース最適化問題は、前記非線形モデルの入力時系列Uと、前記非線形モデルを用いて前記入力時系列Uにより決定された出力時系列Yと、前記パラメータθと、を引数とする微分可能なスカラー値関数Vと、前記入力時系列UのL1正則化項と、の和として表されてもよい。
この構成によれば、スパース最適化問題を、非線形モデルの入力時系列Uと非線形モデルを用いて入力時系列により決定された出力時系列Yとパラメータθとを引数とする微分可能なスカラー値関数Vと、入力時系列UのL1正則化項と、の和として表している。このため、スパース最適化問題から決定される行列を必ず正則にし、陰関数微分の定理(arXiv:2106.04350、方程式から決定されるある行列が常に正則であれば陰関数微分が可能であることを述べる定理)を用いて、最適制御に対するパラメータによる微分値を取得可能とできる。
【0011】
(4)上記形態の学習装置において、前記スパース最適化問題は、さらに、前記入力時系列Uに対する、上限値と下限値との少なくとも一方を制限する制約を有していてもよい。
例えば内燃機関における燃料噴射量のように、制御対象には、制御対象の運用上、入力時系列Uに対する上限値や下限値といった制約が設けられている場合がある。本構成によれば、スパース最適化問題は、さらに、入力時系列Uに対する上限値と下限値との少なくとも一方を制限する制約を有するため、このような制約を持つ制御対象に対しても、最適制御の模倣が可能なパラメータを学習することができる。
【0012】
(5)上記形態の学習装置において、前記更新部は、前記パラメータの更新のために、次式により定義される前記微分値Jを算出するものであり、
上記式において、Iは単位行列であり、γは正の定数であり、Dは、関数l(U,θ)=V(U,F(U,-U,θ),θ)とおき、Nr次元ベクトルv=U-γ∇Ul(U,θ
)に対して、第i成分diを選択して生成したNr次元ベクトルdを、対角に並べた対角
行列であり、qは、前記関数lの前記Nr次元ベクトルvに対して、第i成分qiを選択
して生成したNr次元ベクトルであり、Hは、前記関数lのUに対するヘッセ行列であり、Uは前記入力時系列Uであり、θは前記パラメータθであり、Vは前記スカラー値関数Vであってもよい。
この構成によれば、更新部は、パラメータ更新のための微分値Jを算出できる。
【0013】
(6)上記形態の学習装置において、前記スパース最適化問題は、さらに、前記入力時系列に対する等式制約と、前記入力時系列と前記出力時系列とを引数に含む関数に対する不等式制約と、の少なくとも一方を有し、前記評価関数は、前記入力時系列と、前記出力時
系列とに対して凸になるように設計され、かつ、前記出力時系列に対して単調非減少であるように設計され、かつ、前記入力時系列に対して強凸になるように設計される関数であってもよい。
例えば内燃機関における燃料噴射量を所定量に設定したり、騒音(dB)を所定値以下に抑えたい場合に、制御対象には、制御対象の運用上、入力時系列や出力時系列に対して等式または不等式で表される制約が設けられている場合がある。本構成によれば、スパース最適化問題は、さらに、等式制約と不等式制約との少なくとも一方を有するため、このような制約を持つ制御対象に対しても、最適制御の模倣が可能なパラメータを学習することができる。
【0014】
(7)上記形態の学習装置において、前記算出部は、前記評価関数が微分不可能な関数を含む場合に、最適化アルゴリズムとして交互方向乗数法を用いて前記スパース最適化問題を解いてもよい。
この構成によれば、変数である入力時系列の更新則が無制約のスパース最適化問題の求解を含んでおり、周知のスパース最適化アルゴリズム(例えば近接勾配アルゴリズム)を用いて評価関数の解を求めることができる。
【0015】
(8)上記形態の学習装置において、前記更新部は、前記パラメータの更新のために、次式により定義される前記微分値Jを算出するものであり、
上記式において、Iは単位行列であり、γ,ρは正の定数であり、U*は、入力時系列
Uに対する前記非線形モデルの解であり、関数Vおよび関数gが入力時系列Uと、出力時系列Yと、前記パラメータθとを引数とする微分可能なスカラー値関数であり、かつ、関数Fが非線形モデルによって定まった入力時系列Uと、パラメータθとを引数として出力時系列Yを返す関数である場合に、Dは、関数V~(U,θ)=V(U,F(U,θ),θ)とおき、Nr次元ベクトルv=U*-γ∇UV~(U*,θ)に対し、第i成分diを選択して生成したNr次元ベクトルdを、対角に並べた対角行列であり、qは、前記関数V~の前記Nr次元ベクトルvに対して、第i成分qiを選択して生成したNr次元ベクト
ルであり、Aは、スパース最適化問題がne個の一次独立な前記等式制約を有し、かつ、
前記等式制約が入力時系列Uに対してAU+b=0の関係で表される場合に、ne×Nr
次元行列であり、Hは、前記関数V~のUに対するヘッセ行列であり、Piは、関数g~(U,θ)=V(U,g(U,θ),θ)とおき、関数g~の第i成分gi~のUについ
てのヘッセ行列であり、Eは、前記不等式制約がg~(U,θ)≦0で表され、かつ、g~(U,θ)≦0に対応する双対変数をη*とした場合に、η*を対角成分とする対角行列であり、ηiは、g~(U,θ)≦0に対応する双対変数の第i成分であり、Gは、g~
(U*,θ)を対角成分とする対角行列であり、行列Rの逆行列である行列R-1における
11 inv,R13 inv,R14 invは、行列R-1の各成分を行列Rと同じようにブロック分割し
た場合に、各行各列で対応する部分行列であってもよい。
この構成によれば、更新部は、パラメータ更新のための微分値Jを算出できる。
【0016】
(9)上記形態の学習装置において、前記非線形モデルは、前記出力時系列の各成分が前記入力時系列について線形な関数として表されてもよい。
この構成によれば、出力時系列の各成分が入力時系列について線形な関数として表される。すなわち、非線形モデルが線形な関数として表現されるため、取り扱える最適化問題の幅が広がる。
【0017】
(10)上記形態の学習装置において、前記スパース最適化問題は、さらに、前記入力時系列に対する等式制約と、前記入力時系列と前記出力時系列とを引数に含む関数に対する不等式制約と、の少なくとも一方を有し、前記評価関数は、前記入力時系列と前記出力時系列とに対して凸になるように設計され、かつ、前記入力時系列に対して強凸になるように設計される関数であってもよい。
例えば内燃機関における燃料噴射量を所定量に設定したり、騒音(dB)を所定値以下に抑えたい場合に、制御対象には、制御対象の運用上、入力時系列や出力時系列に対して等式または不等式で表される制約が設けられている場合がある。本構成によれば、スパース最適化問題は、さらに、等式制約と不等式制約との少なくとも一方を有するため、このような制約を持つ制御対象に対しても、最適制御の模倣が可能なパラメータを学習することができる。
【0018】
(11)上記形態の学習装置において、前記算出部は、前記評価関数が微分不可能な関数を含む場合に、最適化アルゴリズムとして交互方向乗数法を用いて前記スパース最適化問題を解いてもよい。
この構成によれば、変数である入力時系列の更新則が無制約のスパース最適化問題の求解を含んでおり、周知のスパース最適化アルゴリズム(例えば近接勾配アルゴリズム)を用いて評価関数の解を求めることができる。
【0019】
(12)上記形態の学習装置において、前記更新部は、前記パラメータの更新のために、次式により定義される前記微分値Jを算出するものであり、
上記式において、Iは単位行列であり、γ,ρは正の定数であり、U*は、入力時系列
Uに対する前記非線形モデルの解であり、関数Vおよび関数gが入力時系列Uと、出力時
系列Yと、前記パラメータθとを引数とする微分可能なスカラー値関数であり、かつ、関数Fが非線形モデルによって定まった入力時系列Uと、パラメータθとを引数として出力時系列Yを返す関数である場合に、Dは、関数V~(U,θ)=V(U,F(U,θ),θ)とおき、Nr次元ベクトルv=U*-γ∇UV~(U*,θ)に対し、第i成分diを選択して生成したNr次元ベクトルdを、対角に並べた対角行列であり、qは、前記関数V~の前記Nr次元ベクトルvに対して、第i成分qiを選択して生成したNr次元ベクト
ルであり、Aは、スパース最適化問題がne個の一次独立な前記等式制約を有し、かつ、
前記等式制約が入力時系列Uに対してAU+b=0の関係で表される場合に、ne×Nr
次元行列であり、Hは、前記関数V~のUに対するヘッセ行列であり、Piは、関数g~(U,θ)=V(U,g(U,θ),θ)とおき、関数g~の第i成分gi~のUについ
てのヘッセ行列であり、Eは、前記不等式制約がg~(U,θ)≦0で表され、かつ、g~(U,θ)≦0に対応する双対変数をη*とした場合に、η*を対角成分とする対角行列であり、ηiは、g~(U,θ)≦0に対応する双対変数の第i成分であり、Gは、g~(U*,θ)を対角成分とする対角行列であり、行列Rの逆行列である行列R-1における
11 inv,R13 inv,R14 invは、行列R-1の各成分を行列Rと同じようにブロック分割し
た場合に、各行各列で対応する部分行列であってもよい。
この構成によれば、更新部は、パラメータ更新のための微分値Jを算出できる。
【0020】
(13)本発明の一形態によれば、制御装置が提供される。この制御装置は、上記形態の学習装置により学習された前記パラメータを取得する取得部と、取得された前記パラメータによって決定付けられた前記スパース最適化問題を解くことによって、前記最適制御を算出する制御部と、を備える。
この構成によれば、制御装置は、学習装置によって学習されたパラメータを利用することで、迅速かつ簡単に最適制御を算出できる。このため、適合の都度シミュレータを動作させて適合マップを生成する従来の構成と比較して、制御対象を含むシステムの開発リードタイムを大幅に短縮することができると共に、システム開発コストを低減できる。
【0021】
なお、本発明は、種々の態様で実現することが可能であり、例えば、スパース最適化問題を決定付けるパラメータを学習する学習装置のほか、入力時系列から出力時系列を近似的に表現した非線形モデルにより表現可能なシステムを制御する制御装置やECU(Engine Control Unit)、制御装置と制御対象とを含むシステム、制御装置が内蔵された制御
対象、これら装置及びシステムの制御方法、これら装置及びシステムにおいて実行されるコンピュータプログラム、そのコンピュータプログラムを配布するためのサーバ装置、そのコンピュータプログラムを記憶した一時的でない記憶媒体等の形態で実現することができる。
【図面の簡単な説明】
【0022】
図1】制御システムの構成を例示した説明図である。
図2】学習処理の概要について説明する図である。
図3】学習処理の一例を示すフローチャートである。
図4】実験の結果として得られた模倣誤差の遷移を表すグラフである。
図5】実験の結果として得られたパラメータの遷移を表すグラフである。
図6】第2実施形態の制御システムの構成を例示した説明図である。
図7】第2実施形態の学習処理の一例を示すフローチャートである。
図8】第3実施形態の制御システムの構成を例示した説明図である。
図9】第3実施形態の学習処理の一例を示すフローチャートである。
図10】実験の結果として得られた模倣誤差の遷移を表すグラフである。
図11】第4実施形態の制御システムの構成を例示した説明図である。
図12】第4実施形態の学習処理の一例を示すフローチャートである。
図13】実験の結果として得られた模倣誤差の遷移を表すグラフである。
【発明を実施するための形態】
【0023】
<第1実施形態>
図1は、制御システム1の構成を例示した説明図である。制御システム1は、入力時系列から出力時系列を近似的に表現した非線形モデルにより表される制御対象に対して、教師データとの誤差が小さい最適制御を算出するためのシステムである。ここで、「最適制御」とは、ある評価関数の下で最適だと評価される入力時系列を意味する。入力時系列とは、制御対象に対する入力の時系列パターンを意味する。詳細は後述する。本発明の一実施形態としての制御システム1は、学習装置100と、制御装置200とを備えている。
【0024】
学習装置100は、最適制御を得るためのスパース最適化問題を決定付けるパラメータθを学習する装置である。ここで、スパース最適化問題とは、ベクトルや行列を決定変数に持つ最適化問題において、最適解ベクトルの0(ゼロ)である要素の数を多くしたり、行列において階数を小さくしたりというように、一部の情報だけを用いた解表現を志向する数理最適化を意味する。
【0025】
学習装置100は、例えば、パーソナルコンピュータ(PC:Personal Computer)や
、車載ECU(Electronic Control Unit)として実現され得る。学習装置100は、C
PU110と、記憶部120と、ROM/RAM130と、通信部140と、入出力部150とを有している。学習装置100の各部はバスにより相互に接続されている。CPU110は、決定部111と、算出部112と、更新部113とを備えている。これら機能部は、ROM130に格納されているコンピュータプログラムをRAM130に展開して実行することにより、後述する学習処理を実行する。
【0026】
図2は、学習処理の概要について説明する図である。決定部111は、学習処理において、非線形モデル10を用いたスパース最適化問題20を決定する。非線形モデル10は、制御対象をモデル化したものであり、制御対象の入出力関係を予め学習することで構築されている。非線形モデル10は、制御対象に対する入力時系列Uから出力時系列Yを近似的に表現した再帰型のニューラルネットモデルであり、次の式(1)により表現される。式(1)から明らかなように、非線形モデル10によれば、あるパラメータθの下での、入力Uに対する出力Yが算出される。非線形モデル10は、シミュレータの一種としても捉えられる一方、非線形モデル10からは、入力Uの変化に対する出力Yの変化情報(微分値)を得ることもできる。非線形モデル10は、機械学習モデルとしてよく知られたモデルであり、任意の精度で制御対象システムの入出力関係を表現できる。なお、非線形モデル10は、例えば、内燃機関のモデルとして実現できる。非線形モデル10を内燃機関のモデルとした場合、入力時系列Uとして燃料噴射量が例示でき、出力時系列Yとして内燃機関のトルクが例示できる。
【0027】
【数1】
【0028】
式(1)の各変数は、以下に示すa1~a5の通りである。なお、r,m,n,pは、それぞれ任意の自然数であり、k=1,・・・,Nは、時刻を表すインデックスである。(a1)U:非線形モデル10に対する入力時系列であり、U=[u1,・・・,uN]である。各入力uは、r次元ベクトルにより表される。このため入力時系列Uは、Nr次元ベクトルである。
(a2)Y:非線形モデル10からの出力時系列であり、Y=[y1,・・・,yN]である。各出力yは、m次元ベクトルにより表される。このため出力時系列Yは、Nm次元ベ
クトルである。
(a3)x:非線形モデル10が持つ内部状態時系列であり、x=[x1,・・・,xN+1]である。各内部状態xは、n次元ベクトルにより表される。このため内部状態時系列xは、Nn+N次元ベクトルである。
(a4)符号を反転した入力時系列(以降、「反転入力時系列」とも呼ぶ)であり、U~=[u~1,・・・,u~N]=[-u1,・・・,-uN]である。
(a5)θ:式(1)を決定付けるパラメータ、より具体的には式(1)の関数fと関数hとを決定付けるパラメータであり、p次元ベクトルにより表される。
【0029】
ここで、関数fと、関数hとは、返り値の各成分が、引数x,u,u~について凸かつ単調非減少に設計された微分可能な関数である。換言すれば、関数fと、関数hとは、引数x,u,u~,θのうちの一部である引数x,u,u~について、z=(x,u,u~)のようにひとまとめとし、zについて凸かつ単調非減少であるように設計されている。この非線形モデル10によって、入力時系列U、反転入力時系列U~、パラメータθをそれぞれ引数とする関数Y=F(U,U~,θ)であって、出力時系列の各成分が、入力時系列Uと反転入力時系列U~とについて凸かつ単調非減少な関数が定まる。
【0030】
算出部112は、学習処理において、決定部111によって決定されたスパース最適化問題20を解くことによって、パラメータθに対応した最適制御U*(θ)を算出する。
なお、最適制御U*(θ)は、スパース最適化問題20の解である。更新部113は、学
習処理において、得られた最適制御U*(θ)と、教師データUexpertとの模倣誤差30
が小さくなるように、パラメータθを更新する。このとき更新部113は、最適制御U*
(θ)に対するパラメータθによる微分値40を用いて、パラメータθを更新する。学習処理では、決定部111によるスパース最適化問題20の決定と、算出部112による最適制御U*(θ)の算出と、更新部113によるパラメータθの更新と、を繰り返すこと
により、模倣誤差30を最小化する(図2:模倣誤差Vim)。これにより学習処理では、教師データUexpertとの誤差が小さい最適制御U*(θ)が得られるスパース最適化問題
20を決定付けるためのパラメータθを学習できる。詳細は後述する。
【0031】
記憶部120は、ハードディスク、フラッシュメモリ、メモリカードなどで構成される記憶媒体である。記憶部120には、学習処理によって算出及び更新されたパラメータθ121が記憶される。また、記憶部120には、上述した非線形モデル10や、学習処理において使用される定数γが、予め記憶されている(図示省略)。
【0032】
通信部140は、学習装置100と、他の装置との間における通信インターフェースを介した通信を制御する。他の装置としては、例えば、後述する制御装置200や、他の情報処理装置が挙げられる。入出力部150は、学習装置100と、利用者との間の情報の入出力に使用される種々のインターフェースである。入出力部150としては、例えば、入力部としてのタッチパネル、キーボード、マウス、操作ボタン、マイクや、出力部としてのタッチパネル、モニタ、スピーカー、LED(Light Emitting Diode)インジケータ等を採用できる。
【0033】
制御装置200は、学習装置100によって学習されたパラメータθを取得し、パラメータθによって決定付けられたスパース最適化問題を解くことによって、教師データとの誤差が小さい最適制御(すなわち、ある評価関数の下で最適だと評価される入力時系列U)を算出する装置である。なお、制御装置200により算出される入力時系列Uは、スパースな入力時系列である。ここで、スパースな入力時系列とは、高いスパース性を有する(換言すれば、ゼロ要素が多い)入力時系列を意味する。
【0034】
制御装置200は、例えば、パーソナルコンピュータや、車載ECUとして実現され得
る。制御装置200は、CPU210と、記憶部220と、ROM/RAM230と、通信部240と、入出力部250とを有している。制御装置200の各部はバスにより相互に接続されている。CPU210は、取得部211と、制御部212とを備えている。これら機能部は、ROM230に格納されているコンピュータプログラムをRAM230に展開して実行することにより実現される。
【0035】
取得部211は、学習装置100から、学習処理によって学習されたパラメータθを取得し、パラメータθ221として、記憶部220に記憶させる。制御部212は、パラメータθ221によって決定付けられたスパース最適化問題を解くことによって、教師データとの誤差が小さい最適制御U*(θ)、換言すれば、ある評価関数の下で最適だと評価
される入力時系列Uを算出する。制御部212は、算出した入力時系列Uを、入力時系列U222として、記憶部220に記憶させる。この入力時系列U222は、制御対象を制御するために使用される。
【0036】
図3は、学習処理の一例を示すフローチャートである。学習処理は、最適制御を得るためのスパース最適化問題を決定付けるパラメータθを学習する処理である。学習処理は、任意の契機で開始され得る。学習処理は、例えば、学習装置100への電源投入と同時に開始されてもよく、入出力部150から与えられた指示を契機として開始されてもよい。以降の説明では、次の式(2)で表される模倣誤差30を最小化するパラメータθを決定する問題を考える。すなわち、式(2)で表される模倣誤差30は、最適制御U*(θ)
と、スパースな教師入力Uexpertとの二乗誤差である。また、以降の説明では、微分値を用いたパラメータθの決定手法の例として、勾配降下法を例示する。
【0037】
【数2】
【0038】
ステップS1において、学習装置100の決定部111は、記憶部120から、非線形モデル10(図2)と、正の定数γとを取得する。非線形モデル10は、式(1)で説明した通りの、入力時系列Uから出力時系列Yを近似的に表現したモデルである。正の定数γは、可能な限り小さな値を有する定数であり、任意に決定してよい。
【0039】
ステップS2において、学習装置100の決定部111は、パラメータθを初期化する。パラメータθの初期値は、任意に決定してよい。また、決定部111は、時刻を表すインデックスkに0を代入することで、インデックスkを初期化する。
【0040】
ステップS3において、学習装置100の決定部111は、現在のパラメータθから、次の式(3)により表されるスパース最適化問題20を決定する。スパース最適化問題20は「最適制御問題」とも呼ばれる。なお、ステップS3は「決定工程」に相当し、ステップS3では決定部111により「決定機能」が実行されている。
【0041】
【数3】
【0042】
式(3)の各変数は、以下に示すb1~b4の通りである。
(b1)V:入力時系列U、出力時系列Y、パラメータθをそれぞれ引数とする微分可能なスカラー値関数である。関数Vは、入力時系列U及び出力時系列Yについては凸である関数であって、入力時系列Uについては強凸な関数であって、出力時系列Yについては単
調非減少な関数である。
(b2)|U|1:入力時系列UのL1正則化項(L1ノルム)である。なおb2項では
、双柱を1本の縦線で表している。
(b3)F:式(1)によって定まった入力時系列U、反転入力時系列U~、パラメータθを引数とする関数である。
(b4)λ:パラメータθを引数とする正スカラー値関数である。
なお、b1項に関し、領域Xにおいて定義される微分可能なスカラー値関数f(x)が変数xについて強凸であるとは、ある正の定数ε>0が存在して、全てのx∈Xにおいて、fの変数xについてのヘッセ行列HについてH-εIが半正定行列であることをいう。あるいは等価に、ある正の定数ε>0が存在して、全てのx∈Xにおいて、fの変数xについてのヘッセ行列Hの固有値が全てε以上であることをいう。
【0043】
ステップS4において、学習装置100の算出部112は、ステップS3で決定されたスパース最適化問題20を解くことによって、最適制御U*(θ)を算出する。ここで算
出部112は、近接勾配アルゴリズムや、ADMMアルゴリズムを利用して、スパース最適化問題20を解くことができる。スパース最適化問題20は、狭義凸問題であるため、パラメータθの初期値に依らず、解が一意に定まる。なお、ステップS4は「算出工程」に相当し、ステップS4では算出部112により「算出機能」が実行されている。
【0044】
ステップS5において、学習装置100の更新部113は、ステップS4で算出された最適制御U*(θ)の、パラメータθによる微分値Jを取得する。具体的にはまず、更新
部113は、ステップS1で取得された正の定数γをとる。そして、スカラーξを入力としてスカラー値集合を返す関数α,βを次の式(4)のように定義する。なお、式(4)では、表記の簡素化のために関数値λ(θ)を「λ」と記載する。
【0045】
【数4】
【0046】
その後、更新部113は、関数l(U,θ)=V(U,F(U,-U,θ),θ)とおき、Nr次元ベクトルv=U-γ∇Ul(U,θ)に対して、次の式(5)のように第i
成分di,qiを選択し、Nr次元ベクトルd,qを生成する。ここで、ベクトルdを対角に並べた対角行列をDとかく。式(3)に示したスパース最適化問題20の解は、パラメータθに依存するため、スパース最適化問題20の解はU*(θ)と記載できる。なお、
スパース最適化問題20の解U*(θ)は、最適制御U*(θ)と同義である。
【0047】
【数5】
【0048】
その後、更新部113は、次の式(6)を用いて、スパース最適化問題20の解(すなわち最適制御)であるU*(θ)の、パラメータθによる微分値Jを算出する。なお、式
(6)において、Iは単位行列であり、Dはベクトルdを対角に並べた対角行列であり、Hは関数lの入力時系列Uに関するヘッセ行列である。
【0049】
【数6】
【0050】
その後、更新部113は、算出した微分値Jを用いて、次の式(7)によって、微分値gを算出する。式(7)から明らかな通り、微分値gは、式(2)で説明した模倣誤差30(すなわち、模倣誤差Vim)の微分値である。微分値gは「勾配情報」とも呼ばれる。なお、式(7)において、Uexpertは、教師データであり、事前の実験などで制御対象から実際に取得された入力時系列Uである。式(7)では、表記の簡素化のために、U*
θ)を「U*」と記載し、Vim(θ)を「Vim」と記載する。
【0051】
【数7】
【0052】
ステップS6において、学習装置100の更新部113は、パラメータθの更新処理を終了するか否かを判定する。具体的には、更新部113は、所定の収束判定条件を満たす場合に処理を終了すると判定し、収束判定条件を満たさない場合に処理を終了しない(継続する)と判定する。収束判定条件には、模倣誤差Vim(θ)の値や、微分値gのノルム値、インデックスkの値を利用した条件を設定できる。処理を終了しない場合(ステップS6:NO)、更新部113は、インデックスkをインクリメントさせた後、処理をステップS7に遷移させる。一方、処理を終了する場合(ステップS6:YES)、更新部113は、最新のパラメータθの値を記憶部120に記憶させて、処理を終了する。
【0053】
ステップS7において、学習装置100の更新部113は、ステップS5で算出した微分値gを用いて、次の式(8)によって、パラメータθを更新する。なお、式(8)において、αは正の定数であり「学習率」とも呼ばれる。その後、更新部113は、処理をステップS3へと遷移させ、上述した処理を繰り返す。なお、ステップS5~S7は「更新工程」に相当し、ステップS5~S7では更新部113により「更新機能」が実行されている。
【0054】
【数8】
【0055】
以上のように、第1実施形態の学習装置100によれば、更新部113は、最適制御U*(θ)に対するパラメータθによる微分値Jを用いてパラメータθを更新する(図3
ステップS5~S7)。このため、学習装置100は、周知の勾配法などによって最適制御の模倣が可能なパラメータθを学習することができる。このようにして学習されたパラメータθを、制御対象を含むシステムの開発に利用することで、適合の都度シミュレータを動作させて適合マップを生成する従来の構成と比較して、システムの開発リードタイムを大幅に短縮することができると共に、システム開発コストを低減できる。また、第1実施形態の学習装置100によれば、性能がよいとされる教師入力を用いて、微分不可能な最適化問題の評価関数を、周知の勾配法によって自動でチューニングできる。これを可能
にしているのは、最適化問題の勾配情報が構成可能になるような、非線形モデル10の各関数f,h、及び、最適化問題の評価関数の性質(凸、強凸、単調非減少)である。
【0056】
一般に、周知の勾配法などによって最適制御の模倣を行うためには、最適制御問題の最適入力U*(θ)(すなわち最適制御U*(θ))を、当該最適制御U*(θ)を得るため
に用いられたパラメータθによって微分する必要がある。ここで、評価関数が微分可能な場合には、最適制御のパラメータによる微分値を取得できるものの、スパース最適化問題20においては評価関数が微分可能でないため、通常の方法では、この微分値を取得することができなかった。この点、第1実施形態の学習装置100によれば、式(1)に示すように、プラントを表現する非線形モデル10を、返り値の各成分が、引数について凸かつ単調非減少に設計される微分可能な関数としているため、最適制御U*(θ)に対する
パラメータθによる微分値Jを取得可能とできる。
【0057】
さらに、本実施形態の学習装置100では、式(3)に示すように、スパース最適化問題20を、非線形モデル10の入力時系列Uと非線形モデル10を用いて入力時系列Uにより決定された出力時系列Yとパラメータθとを引数とする微分可能なスカラー値関数Vと、入力時系列UのL1正則化項と、の和として表している。このため、スパース最適化問題20から決定される行列を必ず正則にし、陰関数微分の定理(arXiv:2106.04350、方程式から決定されるある行列が常に正則であれば陰関数微分が可能であることを述べる定理)を用いて、最適制御U*(θ)に対するパラメータθによる微分値
Jを取得可能とできる。なお、論文arXiv:1810.13400では、制御問題における模倣学習の方法が述べられているものの、最適制御問題の評価関数が微分可能であることが暗に仮定されており、本実施形態のスパース最適化問題のように、評価関数が微分可能でない場合については考慮されていない。換言すれば、論文arXiv:2105.01637では、微分不可能な点における微分値の構成法については明らかにされておらず、不完全である。また、論文arXiv:2105.01637では、スパース最適化問題のように、微分不可能な評価関数を持つ最適化問題について、最適化問題の最適解を、当該最適解を得るために用いられたパラメータによって微分することが述べられているものの、微分不可能な点における微分値の生成方法については何ら考慮されていない。
【0058】
さらに、本実施形態の制御装置200によれば、学習装置100によって学習されたパラメータを利用することで、迅速かつ簡単に最適制御U*(θ)を算出できる。このため
、適合の都度シミュレータを動作させて適合マップを生成する従来の構成と比較して、制御対象を含むシステムの開発リードタイムを大幅に短縮することができると共に、システム開発コストを低減できる。
【0059】
上記実施形態の有効性を確認するために数値実験を行った。本実験では、パラメータθとして、スパース最適化問題20の評価関数に含まれる2つのパラメータQu,Qyを、上述の方法に沿って同定した。スパースな教師入力は、スパース最適化問題20の評価関数に含まれる2つのパラメータQu,QyをそれぞれQu_expert,Qy_expertとした最適化問題の最適解として得られる入力を与えた。評価関数に含まれる他のパラメータは、教師入力を生成する際に用いたものと同じとした。本実験では、上述した方法に基づいて微分値Jを取得し、勾配法によって模倣誤差30の降下方向にパラメータθ(すなわち、パラメータQu,Qy)を更新した。
【0060】
図4は、実験の結果として得られた模倣誤差30の遷移を表すグラフである。図4では、縦軸に模倣誤差30(すなわち、模倣誤差Vim)の対数値をプロットし、横軸にステップサイズ(すなわち、インデックスk)をプロットしている。図4から明らかなように、本実施形態の学習装置100によれば、ステップサイズが大きいほど、換言すれば、インデックスkの値が大きいほど、模倣誤差30が小さくなる、換言すれば最適制御U*(θ
)と教師データUexpertとの差が小さくなる。図4の例では最終的に、模倣誤差30の対数値は、10-7程度となっている。
【0061】
図5は、実験の結果として得られたパラメータQu,Qyの遷移を表すグラフである。図5(A)は、パラメータQuの変化を示すグラフである。図5(B)は、パラメータQyの変化を示すグラフである。図5(A),(B)では、縦軸にパラメータ値をプロットし、横軸にステップサイズ(すなわち、インデックスk)をプロットしている。図5(A),(B)から明らかなように、本実施形態の学習装置100によれば、ステップサイズが大きいほど、換言すれば、インデックスkの値が大きいほど、更新されていくパラメータQu_learner(実線)は、教師入力が用いているパラメータQu_expert(破線)に近
づき、更新されていくパラメータQy_learner(実線)は、教師入力が用いているパラメータQy_expert(破線)に近づいている。どちらのグラフにおいても、ステップサイズ
が700ほどの箇所で実線と破線が重なることから、パラメータQu及びQyの推定が完了していることがわかる。
【0062】
このように、図4及び図5の結果からも、本実施形態の学習装置100によれば、教師データとの誤差が小さい最適制御U*(θ)が得られるスパース最適化問題20を決定付
けるためのパラメータθを学習できることがわかる。
【0063】
<第2実施形態>
図6は、第2実施形態の制御システム1Aの構成を例示した説明図である。第2実施形態の制御システム1Aでは、所定の制約を有する制御対象に対して、第1実施形態と同様のパラメータθの学習ができる。第2実施形態の制御システム1Aは、第1実施形態の構成において、学習装置100に代えて学習装置100Aを備える。
【0064】
学習装置100Aは、決定部111に代えて決定部111Aを備え、更新部113に代えて更新部113Aを備える。決定部111Aと更新部113Aとは、学習処理における処理内容が第1実施形態とは相違する。詳細は後述する。学習装置100Aの記憶部120には、さらに、制約122が予め記憶されている。制約122は、非線形モデル10への入力時系列Uに対する、上限値と、下限値と、の少なくとも一方を制限するための条件である。本実施形態では、入力時系列Uの上限値と下限値との両方が、制約122によって制限される場合を例示する。
【0065】
図7は、第2実施形態の学習処理の一例を示すフローチャートである。図3で説明した第1実施形態との違いは、ステップS1に代えてステップS1Aが実行され、ステップS3に代えてステップS3Aが実行され、ステップS5に代えてステップS5Aが実行される点である。
【0066】
ステップS1Aにおいて、学習装置100Aの決定部111Aは、記憶部120から、非線形モデル10(図2)と、正の定数γとに加えてさらに、制約122を取得する。
【0067】
ステップS3Aにおいて、学習装置100Aの決定部111Aは、現在のパラメータθから、次の式(9)により表されるスパース最適化問題20を決定する。式(9)は、入力時系列Uの制約122(すなわち、U∈Ubox)を有する点を除いて、第1実施形態で説明した式(3)と同じである。なお、制約122は、次の式(10)により定義されている。式(10)は、換言すれば、スパース最適化問題20の許容集合Uboxが、i番目の要素に対する上限値ui ̄、及び、下限値ui_を持つことを意味している。
【0068】
【数9】
【数10】
【0069】
ステップS5Aにおいて、学習装置100Aの更新部113Aは、ステップS4で算出された最適制御U*(θ)の、パラメータθによる微分値Jを取得する。具体的にはまず
、更新部113Aは、ステップS1Aで取得された正の定数γをとる。そして、スカラーξを入力としてスカラー値集合を返す関数αi,βiを次の式(11)のように定義する。なお、式(11)では、表記の簡素化のために関数値λ(θ)を「λ」と記載する。
【0070】
【数11】
【0071】
その後、更新部113Aは、関数l(U,θ)=V(U,F(U,-U,θ),θ)とおき、Nr次元ベクトルv=U-γ∇Ul(U,θ)に対して、次の式(12)のように
第i成分di,qiを選択し、Nr次元ベクトルd,qを生成する。ここで、ベクトルdを対角に並べた対角行列をDとかく。式(9)に示したスパース最適化問題20の解は、パラメータθに依存するため、スパース最適化問題20の解はU*(θ)と記載できる。そ
の後、更新部113Aは、第1実施形態で説明した式(6)を用いて、スパース最適化問題20の解(すなわち最適制御)であるU*(θ)の、パラメータθによる微分値Jを算
出する。
【0072】
【数12】
【0073】
このように、スパース最適化問題20は、入力時系列Uの制約122(すなわち、U∈Ubox)を有していてもよい。以上のような第2実施形態の学習装置100Aによっても、上述した第1実施形態と同様の効果を奏することができる。例えば内燃機関における燃料噴射量のように、制御対象には、制御対象の運用上、入力時系列Uに対する上限値や下限値といった制約122が設けられている場合がある。この点、第2実施形態の学習装置100Aによれば、式(9)に示すスパース最適化問題20は、さらに、入力時系列Uに対する上限値ui ̄と下限値ui_との少なくとも一方を制限する制約Uboxを有するため、このような制約122を持つ制御対象に対しても、最適制御の模倣が可能なパラメータθを学習することができる。
【0074】
<第3実施形態>
図8は、第3実施形態の制御システム1Bの構成を例示した説明図である。第3実施形態の制御システム1Bでは、第2実施形態とは異なる所定の制約を有する制御対象に対して、第2実施形態と同様のパラメータθの学習ができる。第3実施形態の制御システム1Bは、第2実施形態の構成において、学習装置100Aに代えて学習装置100Bを備える。
【0075】
学習装置100Bは、決定部111Aに代えて決定部111Bを備え、算出部112に代えて算出112Bを備え、更新部113Aに代えて更新部113Bを備える。決定部111Bと、算出部112Bと、更新部113Bとは、学習処理における処理内容が第2実施形態とは相違する。詳細は後述する。学習装置100Bの記憶部120には、さらに、制約122Bが予め記憶されている。制約122Bは、入力時系列Uに対する等式制約と、非線形モデル10への入力時系列Uと出力時系列Yとを引数とする関数に対する不等式制約と、の少なくとも一方を有する。本実施形態では、等式制約と不等式制約との両方がある(同伴している)場合を例示する。
【0076】
図9は、第3実施形態の学習処理の一例を示すフローチャートである。図7で説明した第2実施形態との違いは、ステップS1Aに代えてステップS1Bが実行され、ステップS3Aに代えてステップS3Bが実行され、ステップS4に代えてステップS4Bが実行され、ステップS5Aに代えてステップS5Bが実行される点である。第3実施形態では、第1実施形態および第2実施形態と異なる処理について説明する。
【0077】
ステップS1Bにおいて、学習装置100Bの決定部111Bは、記憶部120から、非線形モデル10(図2)と、正の定数γと、制約122Bとに加えてさらに、正の定数ρを取得する。
【0078】
ステップS3Bにおいて、学習装置100Bの決定部111Bは、現在のパラメータθから、次の式(13)により表されるスパース最適化問題20(図2)を決定する。式(13)で表されるスパース最適化問題20は、第2実施形態の式(9)で表されるスパース最適化問題20と比較して、等式制約を表すAU+b=0と、不等式制約を表すg(U,Y,θ)≦0との制約を同伴し、U∈Uboxの制約を同伴しない点が異なる。等式制約と、不等式制約とは、制約122Bとして記憶されている。
【0079】
【数13】
【0080】
式(13)で表される最適化問題は、ne個の一次独立な等式制約を同伴可能である。
等式制約は、ne×Nr次元行列Aと、ne次元ベクトルbとによって定められる。等式制約の具体的な例としては、エンジンの1サイクルで噴射する合計の燃料を一定量とする条件などである。
【0081】
さらに、式(13)で表される最適化問題は、ni個の不等式制約を同伴可能である。
不等式制約は、ni次元ベクトル値関数gによって定められる。すなわち、式(13)で
表される第3実施形態の最適化問題は、等式制約と不等式制約との両方を有している。
【0082】
式(13)における関数Vは、入力時系列U,出力時系列Y,およびパラメータθを引数とする微分可能なスカラー値関数である。関数Vは、入力時系列Uおよび出力時系列Yについては凸な関数である。また、関数Vは、入力時系列Uについては強凸な関数である。また、関数Vは、出力時系列Yについては単調非減少な関数である。
【0083】
関数Fは、式(13)に示されるように、非線形モデルによって定められた入力時系列Uと、パラメータθとを引数として、出力時系列Yを返す関数である。関数λは、正スカラー値関数であり、微分可能な関数である。なお、第3実施形態の関数Fは、第1実施形態の式(3)に示される関数Fと実質的に同じである。第1実施形態では非線形モデルの返り値の成分が、入力時系列Uと、反転入力時系列U~とについて単調非減少かつ凸に設計されているが、この関数Fから反転入力時系列U~に-Uを代入した関数F~(U,θ)=F(U,-U,θ)は第3実施形態の関数Fとしての設計条件を満たす。逆に、第3実施形態の関数Fから、関数F~として、第1実施形態の関数Fの設計条件を満たしかつ関数F~の引数U~に-Uを代入したときに等式F(U,θ)=F~(U,-U,θ)を満たすものが設計できる。
【0084】
関数gは、入力時系列Uと、出力時系列Yと、パラメータθとを引数とする微分可能なスカラー値関数である。関数gは、入力時系列Uおよび出力時系列Yについては凸な関数である。このような関数gの設計方法は、関数g、Fから構成されるni次元ベクトル値
g~(U,θ)=g(U,F(U,θ),θ)が入力時系列Uについて凸な関数となる効果を奏する。なお、第3実施形態と、後述する第4実施形態とにおける関数gは、第1実施形態の式(7)で示される微分値gとは異なる。不等式制約の具体的な例としては、エンジンの騒音(dB)がある閾値以下になるような制御が不等式制約である。
【0085】
ステップS4Bにおいて、学習装置100Bの算出部112Bは、ステップS3Bで決定されたスパース最適化問題20を解くことによって、最適制御U*(θ)を算出する。
式(13)で表される最適化問題を解くための最適化アルゴリズムとして、式(14)で表されるADMM(Alternating Direction Method of Multiplier:交互方向乗数法)が知られている。式(13)で表されるように、評価関数が微分不可能な関数を含む場合に、第3実施形態では、算出部112Bが、最適化アルゴリズムとして交互方向乗数法を用いて前記スパース最適化問題20を解く。
【数14】
【0086】
式(14)におけるV~(U)は、式(13)で定義された評価関数Vに非線形モデルの関数Y=F(U,θ)を代入してできる関数V~(U)=V(U,F(U,θ),θ)である。ここで、V~とλはθにも依存するが、依存性が明らかであるため、表記の煩雑性を回避する目的で引数からθを省略して表記している。
【0087】
ADMMでは、ステップS1Bで取得された正の定数ρと、初期値U0,V0,μ0を適
当にとって、変数であるU,V,μについての更新則を解く。初期値U0は、入力時系列
Uの初期値である。初期値V0は、式(13)で表される関数Vとは異なり、入力時系列
Uと同じ次元の変数であるNr次元ベクトルの初期値である。なお、式(14)に示される変数Vのみが、第3実施形態において他の式で表される関数Vと異なる。初期値μ0
、式(14)に表されるように、Nr次元ベクトルである入力時系列Uと、変数Vとで定義されるNr次元ベクトルである変数μの初期値である。
【0088】
変数であるUの更新則は、無制約のスパース最適化問題20の求解を含んでおり、近接勾配アルゴリズムなどの周知のスパース最適化アルゴリズムを用いて解を求めることができる。変数Vの更新則において、集合であるUは、等式制約および不等式制約を満たす入力時系列全体を表す集合であり、式(13)の設計方法の下では凸集合である。つまり、変数Vの更新則が含まれる最適化問題は、制約付き凸最適化問題であり、SQP(逐次二次計画法)などの最適化アルゴリズムで解を求めることができ、汎用ソルバーでも解を求めることができる。なお、更新則は、学習則ともいう。式(14)における||U-Vk
+μk||2は、U-Vk+μkのL2ノルムである。
【0089】
ここで、式(13)で定義された関数V,Fから、関数V~(U,θ)=V(U,F(U,θ),θ)を定め、関数g,Fから関数g~(U,θ)=g(U,F(U,θ),θ)を定める。これにより、変数U~を用いて、式(13)は、式(15)のように書き換えることができる。
【0090】
【数15】
【0091】
式(15)で表される最適化問題の解をU*として、等式制約U-U~=0に対応する
双対変数の値をy*とする。この場合に、ステップS1Bで取得された正の定数ρを用い
て、μ*=y*/ρとする。ここで、U*とμ*とに対して、式(16)で表される凸最適化問題を考える。なお、第3実施形態で定義される変数U~は、第1実施形態の式(3)で定義された入力時系列Uの反転入力時系列とは異なる。
【0092】
【数16】
【0093】
ステップS5Bにおいて、学習装置100Bの更新部113Bは、ステップS4Bで算出された最適制御U*の、パラメータθによる微分値Jを取得する。具体的にはまず、更
新部113Bは、式(15),(16)における不等式制約g~(U,θ)≦0に対応する双対変数をη*とする。便宜上、η*を対角成分とする対角行列をEとし、g~(U,θ)を対角成分とする対角行列をGとする。さらに、ステップS1Bで取得された正の定数γを用いると、スカラーξを入力としてスカラー値集合を返す関数α,βは、第1実施形態の式(4)のように定義される。
【0094】
その後、更新部113Bは、Nr次元ベクトルv=y*/ρU*-γ∇V~(U*,θ)に対し、第i成分di,qiをdi∈α(vi),qi∈β(vi)のように選択してNr次元ベクトルd、qを生成する。更新部113Bは、ベクトルdを対角に並べた対角行列をDとする。式(13)に示された最適化問題の解は、パラメータθに依存し、U*(θ)と表
現される。更新部113Bは、U*(θ)の微分値Jを、式(17)を用いて求める。な
お、式(17)において、行列Hは関数V~のUに関するヘッセ行列である。行列Piは関数g~の第i成分g~iのUについてのヘッセ行列である。
【0095】
【数17】
【0096】
式(17)における行列Rは、ブロック分割されて表されている。行列Rの逆行列である行列R-1におけるR11 inv,R13 inv,R14 invは、行列R-1の各成分を行列Rと同じよ
うにブロック分割した場合に、各行各列で対応する部分行列である。例えば、行列Rの左上の行列はNr×Nr次元行列であるから、R11 invは、行列R-1の左上Nr×Nr次元
行列を表す。ステップS5Bにおいて、勾配情報としての微分値Jが取得されると、第1実施形態と同じように、ステップS6以降の処理が行われる。
【0097】
このように、スパース最適化問題20は、式(13)に示されるように、入力時系列Uの制約122Bのような等式制約と不等式制約との少なくとも一方を有していてもよい。
さらに、スパース最適化問題20の評価関数では、制約122Bとして、入力時系列Uに対する等式制約と、非線形モデル10への入力時系列Uと出力時系列Yとを引数とする関数に対する不等式制約と、の少なくとも一方が設定されている。また、評価関数で定義されている入力時系列U,出力時系列Y,およびパラメータθを引数とする微分可能なスカラー値関数である関数Vは、入力時系列Uおよび出力時系列Yについては凸な関数である。さらに、関数Vは、入力時系列Uについては強凸な関数であり、出力時系列Yについては単調非減少な関数である。以上のような第3実施形態の学習装置100Bによっても、上述した第1実施形態および第2実施形態と同様の効果を奏することができる。例えば内燃機関における燃料噴射量のように、制御対象には、制御対象の運用上、1サイクルでの入力時系列Uが一定になるように等式制約が設けられている場合がある。また、内燃機関における騒音のように、制御対象には、制御対象の運用上、入力時系列Uと、出力時系列Yと、パラメータθとの関数gが所定値以下となるような不等式制約が設けられている場合がある。この点、第3実施形態の学習装置100Bによれば、式(13)に示すスパース最適化問題20は、スパース最適化問題20は、さらに、等式制約と不等式制約との少なくとも一方を有するため、このような制約を持つ制御対象に対しても、最適制御の模倣が可能なパラメータを学習することができる。この結果、一般的な最適化問題をスパース最適化問題20として扱うことができる。
【0098】
さらに、第3実施形態の学習装置100Bでは、式(13)で表されるように、評価関数が微分不可能な関数を含む場合に、算出部112Bは、最適化アルゴリズムとして交互方向乗数法を用いて前記スパース最適化問題20を解いてもよい。そのため、変数である入力時系列Uの更新則が無制約のスパース最適化問題20の求解を含んでおり、周知のスパース最適化アルゴリズム(例えば近接勾配アルゴリズム)を用いて評価関数の解を求めることができる。
【0099】
さらに、第3実施形態の学習装置100Bでは、学習装置100Bの更新部113Bは、ステップS4Bで算出された最適制御U*の、パラメータθによる微分値Jを取得する
。すなわち、更新部113Bは、パラメータ更新のための微分値Jを算出できる。ここで、微分不可能な関数で方程式が構成される陰関数微分の定理を用いて、スパース最適化問題20の最適解をパラメータで微分した値を取得する。この定理によれば、方程式から決定される、ある行列が常に正則であれば陰関数微分が可能であることが述べられている。式(17)中の行列Rは、常に正則であるため、陰関数微分が可能である。第3実施形態では、プラントを表現する非線形モデルとして、出力時系列Yの各成分が入力時系列Uについて凸となるモデルを用いる工夫と、スパース最適化問題20を凸問題として立式する工夫とによって、適当な仮定の下で行列Rを必ず正則にし、陰関数微分を用いて最適解のパラメータに対する微分値を取得可能にしている。
【0100】
上記第3実施形態の有効性を確認するために数値実験を行った。実験では、プラントモデルとして2入力2出力のICRNNモデルを扱った。各時刻の入力の二乗和と、各時刻の出力にソフトプラス関数を作用させた値との和と、を評価関数として用いて、L1正規化項を付加した最適化問題をモデルとした。プラントモデルの初期状態をランダムに100個生成し、生成されたそれぞれの初期状態に対するスパース最適化問題20の解を教師入力として用意した。スパース最適化問題20の評価関数に含まれる4つの重みパラメータをパラメータθとして、第3実施形態の方法に基づいて、式(17)で表される微分値Jを取得した。ミニバッチ学習による確率勾配降下法によって模倣誤差30(図2)の降下方向にパラメータθを更新した。
【0101】
図10は、実験の結果として得られた模倣誤差30の遷移LN1を表すグラフである。図10では、図4と同じように、縦軸に模倣誤差30の常用対数値をプロットし、横軸にステップサイズをプロットしている。図10から明らかなように、ステップサイズが大き
いほど模倣誤差30が小さくなる。具体的には、101ほどあった模倣誤差30は、最終
的に10-3まで減少している。
【0102】
<第4実施形態>
図11は、第4実施形態の制御システム1Cの構成を例示した説明図である。第4実施形態の制御システム1Cでは、第3実施形態とは同じ制約122Bを有する制御対象に対して、第3実施形態と同様のパラメータθの学習ができる。第4実施形態の制御システム1Cは、第3実施形態の構成において、学習装置100Bに代えて学習装置100Cを備える。
【0103】
学習装置100Cは、決定部111Bに代えて決定部111Cを備え、更新部113Bに代えて更新部113Cを備える。決定部111Cと更新部113Cとは、学習処理における処理内容が第3実施形態とは相違する。詳細は後述する。
【0104】
図12は、第4実施形態の学習処理の一例を示すフローチャートである。図9で説明した第3実施形態との違いは、ステップS3Bに代えてステップS3Cが実行される点である。
【0105】
ステップS3Cにおいて、学習装置100Cの決定部111Cは、現在のパラメータθから、次の式(18)により表されるスパース最適化問題20(図2)を決定する。
【数18】
【0106】
式(18)で表されるスパース最適化問題20は、第3実施形態の式(13)で表されるスパース最適化問題20と比較して、入力時系列Uとパラメータθとの返り値である出力時系列Yの設定が異なる。具体的には、第4実施形態では、式(18)に示されるようにY=L(θ)U+q(θ)で表される。第3実施形態と同様に、関数Vは、入力時系列Uおよび出力時系列Yに対して凸な関数であり、入力時系列Uに対しては強凸な関数である。関数L,qは、それぞれパラメータθを引数とする行列値関数とベクトル値関数であり、入力時系列Uを元に出力時系列Yを返す線形モデルとして定められている。換言すると、第4実施形態のスパース最適化問題20では、第3実施形態のスパース最適化問題20で定められていた関数Vが出力時系列Yに対して単調非減少であるという条件がなく、出力時系列Yの各成分が入力時系列Uについて線形な関数として表されている。
【0107】
第4実施形態では、式(18)で表されるスパース最適化問題20について、ステップS4以降では第3実施形態と同様の処理が行われるため、ステップS4以降の説明を省略する。
【0108】
このように、非線形モデルを用いたスパース最適化問題20において、出力時系列Yの各成分が入力時系列Uについて線形な関数として表されている。すなわち、第4実施形態では、非線形モデルが線形な関数として表現されるため、取り扱える最適化問題の幅が広がる。
【0109】
さらに、第4実施形態のスパース最適化問題20の評価関数では、第3実施形態と同様に、制約122Bとして、入力時系列Uに対する等式制約と、非線形モデル10への入力時系列Uと出力時系列Yとを引数とする関数に対する不等式制約と、の少なくとも一方が設定されている。また、式(18)に示されるように、関数Vは、入力時系列Uおよび出
力時系列Yに対して凸な関数であり、入力時系列Uに対しては強凸な関数である。すなわち、第4実施形態の学習装置100Cによれば、式(18)に示すスパース最適化問題20は、等式制約および不等式制約を同伴しているため、このような制約122Bを持つ制御対象に対しても、最適制御の模倣が可能なパラメータθを学習することができる。この結果、一般的な最適化問題をスパース最適化問題20として扱うことができる。
【0110】
上記第4実施形態の有効性を確認するために数値実験を行った。プラントモデルとして2入力2出力の線形時不変システムを扱った。各時刻の入力の二乗和と、最終時刻の出力の二乗和と、の重み付き和を評価関数として用いて、L1正規化項を付加した最適化問題をモデルとした。プラントモデルの初期状態をランダムに100個生成し、生成されたそれぞれの初期状態に対するスパース最適化問題20の解を教師入力として用意した。スパース最適化問題20の評価関数に含まれる4つの重みパラメータをパラメータθとして、第4実施形態の方法に基づいて、式(17)で表される微分値Jを取得した。ミニバッチ学習による確率勾配降下法によって模倣誤差30(図2)の降下方向にパラメータθを更新した。
【0111】
図13は、実験の結果として得られた模倣誤差30の遷移LN2を表すグラフである。図13では、図10と同じように、縦軸に模倣誤差30の常用対数値をプロットし、横軸にステップサイズをプロットしている。図13から明らかなように、ステップサイズが大きいほど模倣誤差30が小さくなる。具体的には、模倣誤差30は、最終的に10-3程度まで減少している。
【0112】
<本実施形態の変形例>
本発明は上記の実施形態に限られるものではなく、その要旨を逸脱しない範囲において種々の態様において実施することが可能であり、例えば、ハードウェアによって実現されるとした構成の一部をソフトウェアに置き換えるようにしてもよく、逆に、ソフトウェアによって実現されるとした構成の一部をハードウェアに置き換えるようにしてもよい。そのほか、例えば次のような変形も可能である。
【0113】
[変形例1]
上記実施形態では、制御システム1,1A,1B,1Cの構成の一例を示した。しかし、制御システム1,1A,1B,1Cの構成は種々の変形が可能である。例えば、制御システム1のうち、学習装置100と、制御装置200と、制御対象とは、それぞれネットワークを介して通信可能に接続され、物理的に離れた位置に存在していてもよい。例えば、制御システム1は、例示した学習装置100及び制御装置200とは異なる構成を有していてもよい。例えば、非線形モデル10と、正の定数γ,ρと、制約122とのうちの少なくとも一部は、記憶部120にあらかじめ記憶されておらず、入出力部150や通信部140を介して外部から与えられてもよい。例えば、学習装置100と制御装置200とは、1つの装置として構成されてもよい。例えば、制御システム1は、学習装置100のみにより構成されてもよく、制御装置200のみにより構成されてもよい。
【0114】
[変形例2]
上記実施形態では、学習処理の一例を示した。しかし、学習処理の手順は種々の変更が可能であり、各ステップにおける処理内容の追加、省略、変更をしてもよく、各ステップの実行順序を変更してもよい。
【0115】
例えば、式(6)で説明した対角行列Dは、ほとんどの要素が0であるスパース行列であるため、当該性質を利用して逆行列演算の計算量を低減してもよい。具体的には、対角行列Dの対角成分がゼロである添え字と、非ゼロである添え字とに分けて対角行列Dを表記すると、次の式(19)のようになる。式(19)において、D~は、全ての対角成分
が正の対角行列である。この添え字の分け方で行列Hをブロックに分割し、次の式(20)のように表記する。このとき、行列Pの逆行列は、次の式(21)のように記載できる。この式(21)によって、逆行列を取る行列のサイズを低減させて、演算量の低減を図ることができる。
【0116】
【数19】
【数20】
【数21】
【0117】
例えば、式(3)及び式(9)で説明した正則化項λ(θ)|U|1において、計数λ
を成分iごとに変えてΣi[1,・・・,Nr]λi(θ)|Ui|としてもよい。このようにしても、近接作用素が陽に書き下ろせるため、微分値Jを取得可能である。
【0118】
上記第3実施形態では、非線形モデルとしてICRNNを一例に挙げたが、非線形モデルは、出力時系列Yの各成分が入力時系列Uについて凸である微分可能な関数であれば、ICRNN以外のモデルが用いられてもよい。
【0119】
上記第3実施形態および第4実施形態では、制約122Bが等式制約と不等式制約との両方を同伴する場合について説明したが、他の実施形態のスパース最適化問題20では、等式制約と不等式制約との一方のみを同伴していてもよい。この場合に、等式制約を同伴しない場合には、式(17)における行列Rの第5行目及び第5列目を取り除いて、微分値Jが算出されればよい。また、不等式制約を同伴しない場合には、式(17)における行列Rの第4行目および第4列目を取り除いて、微分値Jが算出されればよい。
【0120】
上記実施形態では、スパース性を決める正規化項をλ(θ)|U|1の形式で導入して
いる。ただし、正規化項は、正規化項の近接作用素が陽に書き表せることができれば、第3実施形態の式(17)においてNr次元ベクトルd,qの第i成分di,qiを定義する集合関数α,βを近接作用素の劣勾配で置き換えて、第3実施形態および第4実施形態を実施することもできる。例えば、係数λを成分iごとに変えてΣi[1,・・・,Nr]λi
θ)|Ui|とした場合に、集合値関数α,βの定義に含まれるλを添え字iごとに変え
ればよい。
【0121】
上記第3実施形態の式(17)中の行列Rの第4行目かつ第3,4列目ブロックは、式(22)のようになっている。
【数22】
【0122】
式(22)で表される部分は、不等式制約の相補性条件に含まれる式(23)の等式を(U*,η*)で微分して得られる。
【数23】
【0123】
相補性条件は、相補性関数Ψを用いて定義される関数φによって、式(24)で表される等式条件に置き換えられる。
【数24】
【0124】
そのため、式(17)で表される行列Rのうちの式(22)で示されるブロックは、相補性関数を用いて、式(25)のように置き換えてもよい。
【数25】
【0125】
以上、実施形態、変形例に基づき本態様について説明してきたが、上記した態様の実施の形態は、本態様の理解を容易にするためのものであり、本態様を限定するものではない。本態様は、その趣旨並びに特許請求の範囲を逸脱することなく、変更、改良され得ると共に、本態様にはその等価物が含まれる。また、その技術的特徴が本明細書中に必須なものとして説明されていなければ、適宜、削除することができる。
【0126】
本発明は、以下の形態としても実現することが可能である。
[適用例1]
学習装置であって、
入力時系列から出力時系列を近似的に表現した非線形モデルを用いたスパース最適化問題であって、所定のパラメータにより決定付けられるスパース最適化問題を決定する決定部と、
決定された前記スパース最適化問題を解くことによって、前記パラメータに対応した最適制御であって、ある評価関数の下で最適だと評価される前記入力時系列である最適制御を算出する算出部と、
前記最適制御に対する前記パラメータによる微分値を用いて、前記パラメータを更新する更新部と、
を備え、
前記決定部による前記スパース最適化問題の決定と、前記算出部による前記最適制御の算出と、前記更新部による前記パラメータの更新と、を繰り返すことにより、教師データとの誤差が小さい前記最適制御が得られる前記スパース最適化問題を決定付けるための前記パラメータを学習する、学習装置。
[適用例2]
適用例1に記載の学習装置であって、
前記非線形モデルは、返り値の各成分が、引数について凸かつ単調非減少に設計される微分可能な関数として表される、学習装置。
[適用例3]
適用例1または適用例2に記載の学習装置であって、
前記スパース最適化問題は、
前記非線形モデルの入力時系列Uと、前記非線形モデルを用いて前記入力時系列Uにより決定された出力時系列Yと、前記パラメータθと、を引数とする微分可能なスカラー値関数Vと、
前記入力時系列UのL1正則化項と、
の和として表される、学習装置。
[適用例4]
適用例1から適用例3のいずれか一項に記載の学習装置であって、
前記スパース最適化問題は、さらに、
前記入力時系列Uに対する、上限値と下限値との少なくとも一方を制限する制約を有する、学習装置。
[適用例5]
適用例1から適用例4のいずれか一項に記載の学習装置であって、
前記更新部は、前記パラメータの更新のために、次式により定義される前記微分値Jを算出するものであり、
上記式において、
Iは単位行列であり、
γは正の定数であり、
Dは、関数l(U,θ)=V(U,F(U,-U,θ),θ)とおき、Nr次元ベクトルv=U-γ∇Ul(U,θ)に対して、第i成分diを選択して生成したNr次元ベクトルdを、対角に並べた対角行列であり、
qは、前記関数lの前記Nr次元ベクトルvに対して、第i成分qiを選択して生成
したNr次元ベクトルであり、
Hは、前記関数lのUに対するヘッセ行列であり、
Uは前記入力時系列Uであり、θは前記パラメータθであり、Vは前記スカラー値関数Vである、学習装置。
[適用例6]
適用例1から適用例5のいずれか一項に記載の学習装置であって、
前記スパース最適化問題は、さらに、
前記入力時系列に対する等式制約と、前記入力時系列と前記出力時系列とを引数に含む関数に対する不等式制約と、の少なくとも一方を有し、
前記評価関数は、
前記入力時系列と、前記出力時系列とに対して凸になるように設計され、
かつ、前記出力時系列に対して単調非減少であるように設計され、
かつ、前記入力時系列に対して強凸になるように設計される関数である、学習装置。[適用例7]
適用例1から適用例6のいずれか一項に記載の学習装置であって、
前記算出部は、前記評価関数が微分不可能な関数を含む場合に、最適化アルゴリズムとして交互方向乗数法を用いて前記スパース最適化問題を解く、学習装置。
[適用例8]
適用例1から適用例7のいずれか一項に記載の学習装置であって、
前記更新部は、前記パラメータの更新のために、次式により定義される前記微分値Jを算出するものであり、
上記式において、
Iは単位行列であり、
γ,ρは正の定数であり、
*は、入力時系列Uに対する前記非線形モデルの解であり、
関数Vおよび関数gが入力時系列Uと、出力時系列Yと、前記パラメータθとを引数とする微分可能なスカラー値関数であり、かつ、関数Fが非線形モデルによって定まった入力時系列Uと、パラメータθとを引数として出力時系列Yを返す関数である場合に、
Dは、関数V~(U,θ)=V(U,F(U,θ),θ)とおき、Nr次元ベクトルv=U*-γ∇UV~(U*,θ)に対し、第i成分diを選択して生成したNr次元ベクトルdを、対角に並べた対角行列であり、
qは、前記関数V~の前記Nr次元ベクトルvに対して、第i成分qiを選択して
生成したNr次元ベクトルであり、
Aは、スパース最適化問題がne個の一次独立な前記等式制約を有し、かつ、前記
等式制約が入力時系列Uに対してAU+b=0の関係で表される場合に、ne×Nr次元
行列であり、
Hは、前記関数V~のUに対するヘッセ行列であり、
Piは、関数g~(U,θ)=V(U,g(U,θ),θ)とおき、関数g~の第i成分gi~のUについてのヘッセ行列であり、
Eは、前記不等式制約がg~(U,θ)≦0で表され、かつ、g~(U,θ)≦0に対応する双対変数をη*とした場合に、η*を対角成分とする対角行列であり、
ηiは、g~(U,θ)≦0に対応する双対変数の第i成分であり、
Gは、g~(U*,θ)を対角成分とする対角行列であり、
行列Rの逆行列である行列R-1におけるR11 inv,R13 inv,R14 invは、行列R-1
の各成分を行列Rと同じようにブロック分割した場合に、各行各列で対応する部分行列である、学習装置。
[適用例9]
適用例1から適用例8のいずれか一項に記載の学習装置であって、
前記非線形モデルは、前記出力時系列の各成分が前記入力時系列について線形な関数として表される、学習装置。
[適用例10]
適用例1から適用例9のいずれか一項に記載の学習装置であって、
前記スパース最適化問題は、さらに、
前記入力時系列に対する等式制約と、前記入力時系列と前記出力時系列とを引数に含む関数に対する不等式制約と、の少なくとも一方を有し、
前記評価関数は、
前記入力時系列と前記出力時系列とに対して凸になるように設計され、
かつ、前記入力時系列に対して強凸になるように設計される関数である、学習装置。[適用例11]
適用例1から適用例10のいずれか一項に記載の学習装置であって、
前記算出部は、前記評価関数が微分不可能な関数を含む場合に、最適化アルゴリズムとして交互方向乗数法を用いて前記スパース最適化問題を解く、学習装置。
[適用例12]
適用例1から適用例11のいずれか一項に記載の学習装置であって、
前記更新部は、前記パラメータの更新のために、次式により定義される前記微分値Jを算出するものであり、
上記式において、
Iは単位行列であり、
γ,ρは正の定数であり、
*は、入力時系列Uに対する前記非線形モデルの解であり、
関数Vおよび関数gが入力時系列Uと、出力時系列Yと、前記パラメータθとを引数とする微分可能なスカラー値関数であり、かつ、関数Fが非線形モデルによって定まった入力時系列Uと、パラメータθとを引数として出力時系列Yを返す関数である場合に、
Dは、関数V~(U,θ)=V(U,F(U,θ),θ)とおき、Nr次元ベクトルv=U*-γ∇UV~(U*,θ)に対し、第i成分diを選択して生成したNr次元ベクトルdを、対角に並べた対角行列であり、
qは、前記関数V~の前記Nr次元ベクトルvに対して、第i成分qiを選択して
生成したNr次元ベクトルであり、
Aは、スパース最適化問題がne個の一次独立な前記等式制約を有し、かつ、前記
等式制約が入力時系列Uに対してAU+b=0の関係で表される場合に、ne×Nr次元
行列であり、
Hは、前記関数V~のUに対するヘッセ行列であり、
Piは、関数g~(U,θ)=V(U,g(U,θ),θ)とおき、関数g~の第i成分gi~のUについてのヘッセ行列であり、
Eは、前記不等式制約がg~(U,θ)≦0で表され、かつ、g~(U,θ)≦0に対応する双対変数をη*とした場合に、η*を対角成分とする対角行列であり、
ηiは、g~(U,θ)≦0に対応する双対変数の第i成分であり、
Gは、g~(U*,θ)を対角成分とする対角行列であり、
行列Rの逆行列である行列R-1におけるR11 inv,R13 inv,R14 invは、行列R-1
の各成分を行列Rと同じようにブロック分割した場合に、各行各列で対応する部分行列である、学習装置。
[適用例13]
制御装置であって、
適用例1から適用例12のいずれか一項に記載の学習装置により学習された前記パラメータを取得する取得部と、
取得された前記パラメータによって決定付けられた前記スパース最適化問題を解くことによって、前記最適制御を算出する制御部と、を備える、制御装置。
[適用例14]
学習方法であって、情報処理装置が、
入力時系列から出力時系列を近似的に表現した非線形モデルを用いたスパース最適化問題であって、所定のパラメータにより決定付けられるスパース最適化問題を決定する決定工程と、
決定された前記スパース最適化問題を解くことによって、前記パラメータに対応した最適制御であって、ある評価関数の下で最適だと評価される前記入力時系列である最適制御を算出する算出工程と、
前記最適制御に対する前記パラメータによる微分値を用いて、前記パラメータを更新する更新工程と、
を実行し、
前記スパース最適化問題の決定と、前記最適制御の算出と、前記パラメータの更新と、を繰り返すことにより、教師データとの誤差が小さい前記最適制御が得られる前記スパース最適化問題を決定付けるための前記パラメータを学習する、学習方法。
[適用例15]
コンピュータプログラムであって、情報処理装置に、
入力時系列から出力時系列を近似的に表現した非線形モデルを用いたスパース最適化問題であって、所定のパラメータにより決定付けられるスパース最適化問題を決定する決定機能と、
決定された前記スパース最適化問題を解くことによって、前記パラメータに対応した最適制御であって、ある評価関数の下で最適だと評価される前記入力時系列である最適制御を算出する算出機能と、
前記最適制御に対する前記パラメータによる微分値を用いて、前記パラメータを更新する更新機能と、
を実行させ、
前記スパース最適化問題の決定と、前記最適制御の算出と、前記パラメータの更新と、を繰り返すことにより、教師データとの誤差が小さい前記最適制御が得られる前記スパース最適化問題を決定付けるための前記パラメータを学習する、コンピュータプログラム。
【符号の説明】
【0127】
1,1A,1B,1C…制御システム
10…非線形モデル
20…スパース最適化問題
30…模倣誤差
40…微分値
100,100A,100B,100C…学習装置
110…CPU
111,111A,111B,111C…決定部
112,112B…算出部
113,113A,113B,113C…更新部
120…記憶部
121…パラメータθ
122,122B…制約
130…ROM/RAM
140…通信部
150…入出力部
200…制御装置
210…CPU
211…取得部
212…制御部
220…記憶部
221…パラメータθ
230…ROM/RAM
240…通信部
250…入出力部
LN1,LN2…模倣誤差の遷移
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13