(57)【要約】  学習部８１は、制御対象である装置の動作及び環境から取得したデータに基づいて、ユーザが関心をもつ数量を表す数量モデルを学習する。コスト関数設計部８２は、装置を最適に制御するための解の導出に使用されるコスト関数を、少なくとも前記数量モデルを項として含むように設計する。
2019505889.tif 000002
【特許請求の範囲】
【請求項１】
制御対象である装置の動作及び環境から取得したデータに基づいて、ユーザが関心をもつ数量を表す数量モデルを学習する学習部と、
前記装置を最適に制御するための解の導出に使用されるコスト関数を、少なくとも前記数量モデルを項として含むように設計するコスト関数設計部とを備えた
ことを特徴とするコスト関数設計システム。
【請求項２】
設計されたコスト関数を最適化する最適化器を備え、
前記最適化器は、最適化の結果に基づく制御信号を装置に出力する
請求項１記載のコスト関数設計システム。
【請求項３】
設計されたコスト関数と学習されたモデルとを受信する指令部を備え、
前記指令部は、受信したコスト関数および学習モデルを表示し、当該コスト関数から除外するかコスト関数に含むかを示すモデル選択指示をユーザから受け付け、前記モデル選択指示を学習部に送信し、
学習部は、前記選択指示により、コスト関数に含むように指示されたモデルを学習し、
コスト関数設計部は、学習されたモデルを含むようにコスト関数を設計する
請求項１または請求項２記載のコスト関数設計システム。
【請求項４】
学習部は、コスト関数の項として、新たに学習されたモデル、予め定義された項および既存の数量モデルを組み合わせるようにコスト関数を設計または更新する
請求項１から請求項３のうちのいずれか１項に記載のコスト関数設計システム。
【請求項５】
装置の挙動を表す装置モデルを用いて、当該装置の予測結果を生成する予測器を備え、
学習部は、前記予測結果を用いてコスト関数を学習する
請求項１から請求項４のうちのいずれか１項に記載のコスト関数設計システム。
【請求項６】
制御対象である装置の動作及び環境から取得したデータに基づいて、ユーザが関心をもつ数量を表す数量モデルを学習し、
前記装置を最適に制御するための解の導出に使用されるコスト関数を、少なくとも前記数量モデルを項として含むように設計する
ことを特徴とするコスト関数設計方法。
【請求項７】
設計されたコスト関数を最適化し、
最適化の結果に基づく制御信号を装置に出力する
請求項６記載のコスト関数設計方法。
【請求項８】
コンピュータに、
制御対象である装置の動作及び環境から取得したデータに基づいて、ユーザが関心をもつ数量を表す数量モデルを学習する学習処理、および、
前記装置を最適に制御するための解の導出に使用されるコスト関数を、少なくとも前記数量モデルを項として含むように設計するコスト関数設計処理
を実行させるためのコスト関数設計プログラム。
【請求項９】
コンピュータに、
設計されたコスト関数を最適化する最適化処理を実行させ、
前記最適化処理で、最適化の結果に基づく制御信号を装置に出力させる
請求項８記載のコスト関数設計プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、装置を最適に制御するためのコスト関数を設計するコスト関数設計システム、コスト関数設計方法、およびコスト関数設計プログラムに関する。
【背景技術】
【０００２】
業界にとって関心のある多くのシステムは、動的かつ非線形であり、効果的かつ適応性のある制御形態を必要としている。
【０００３】
このようなシステムを扱うために提案された通常の制御技術、例えば、非特許文献１に開示されているモデル予測制御に基づく制御技術は、一般に線形であり、主に装置そのものの適応モデルを考慮することにより適応的である。
【０００４】
すなわち、標準的な適応制御方法は、例えば、バッチまたはオンラインデータに適用されるシステム同定技術を用いることによって、装置の動作を記述するモデルの更新を直接的に考慮する。
【０００５】
しかし、多くのアプリケーションにおいて、モデルの変更が、ユーザが最適化したい数量に直接関係しないことがある。
【０００６】
さらに、関心のある変数の最適化に使用されるコスト関数は、典型的には、手作業で構築され、第一原理の専門的な経験または知識を必要とする。
【０００７】
同様に、装置やそのコンポーネントが劣化する状況に対処することは難しく、その結果、装置やそのモデルだけでなく、関連するコスト関数の各項についても不整合を生じる可能性がある。
【０００８】
上述する問題を解決するための研究がなされている。具体的には、特許文献１には、非線形の適応制御装置が記載されている。特許文献１の記載によれば、過去の制御入力に応じて過去のシステム状態を記憶するオンラインのニューラルネットワークモデルが作成される。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】米国特許第６１８５４７０号明細書
【非特許文献】
【００１０】
【非特許文献１】J. M. Maciejowski, “Predictive Control with Constraints”, Prentice Hall, 2001.
【発明の概要】
【発明が解決しようとする課題】
【００１１】
ニューラルネットワークモデルにおける将来の出力状態の関数であるコスト関数または性能指数が、制御出力を計算するために使用される。
【００１２】
しかし、使用されるコスト関数は表現が限定されており、前述のアプローチは、特定の変数を最適化し、プロセスを解釈するという観点から、エンドユーザによる制御をほとんど提供しない。
【００１３】
実際、ニューラルネットワークの内部に保持された情報は判読不可能であり、その使用方法を解釈することは困難であることが知られている。
【００１４】
また、コスト関数は、装置の適応モデルに大きく依存する。しかし、関心のある問題において、最適化を所望する数量が、装置モデル自体の変化とは無関係に、その挙動を変える可能性がある。
【００１５】
したがって、手動で構築する必要がなく、かつ、操作可能な装置における変化や劣化に対処するのに役立つデータから学習された正確なコスト関数の項を、より豊かな表現で提供できる方法およびシステムが必要とされている。
【００１６】
また、このような方法およびシステムが、装置の稼働中に処理を解釈したり、経験を個人的なものにしたりする能力をユーザにより多く提供できることが非常に望まれている。
【００１７】
本発明の主題は、上述する一つまたは複数の問題を解決する、または、少なくともその効果を低減するために、上記の特徴を実現することにある。すなわち、本発明は、装置の制御を容易にすることができる最適なコスト関数を設計できるコスト関数設計システム、コスト関数設計方法、およびコスト関数設計プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１８】
本発明のコスト関数設計システムは、制御対象である装置の動作及び環境から取得したデータに基づいて、ユーザが関心をもつ数量を表す数量モデルを学習する学習部と、装置を最適に制御するための解の導出に使用されるコスト関数を、少なくとも数量モデルを項として含むように設計するコスト関数設計部とを備えたことを特徴とする。
【００１９】
本発明のコスト関数設計方法は、制御対象である装置の動作及び環境から取得したデータに基づいて、ユーザが関心をもつ数量を表す数量モデルを学習し、装置を最適に制御するための解の導出に使用されるコスト関数を、少なくとも数量モデルを項として含むように設計することを特徴とする。
【００２０】
本発明のコスト関数設計プログラムは、コンピュータに、制御対象である装置の動作及び環境から取得したデータに基づいて、ユーザが関心をもつ数量を表す数量モデルを学習する学習処理、および、装置を最適に制御するための解の導出に使用されるコスト関数を、少なくとも数量モデルを項として含むように設計するコスト関数設計処理を実行させることを特徴とする。
【発明の効果】
【００２１】
本発明によれば、装置の制御を容易にすることができる最適なコスト関数を設計できる。
【図面の簡単な説明】
【００２２】
【図１】本発明によるコスト関数設計システムの一実施形態の構成例を示す説明図である。
【図２】コマンドモジュールによって表示されるインタフェースの例を示す説明図である。
【図３】モデルの詳細を表示するインタフェースの例を示す説明図である。
【図４】実施形態におけるコスト関数設計システムの動作例を示すフローチャートである。
【図５】実施形態における学習器モジュールの動作例を示すフローチャートである。
【図６】本発明によるコスト関数設計システムがオンライン処理で実行される例を示す説明図を示す。
【図７】本発明のコスト関数設計システムの概要を示すブロック図である。
【発明を実施するための形態】
【００２３】
以下、図面を参照して、本発明の実施形態を説明する。本開示の主題の好ましい実施形態および代替の実施形態、並びに他の態様は、具体的な実施形態の詳細な説明および添付の図面を参照することで、理解され得る。
【００２４】
データから学習されたコスト関数のモデルを提供する方法およびシステムの実施形態に関する以下の説明は、単なる例示に過ぎず、開示された用途に限定することを意図するものではない。
【００２５】
図１は、本発明によるコスト関数設計システムの実施形態の構成例を示す説明図である。本実施形態のコスト関数設計システム１００は、コマンドモジュール１０１と、コントローラ１０２と、装置１０３とを備えている。本実施形態のコスト関数設計システム１００は、動的プロセス及び必要に応じて非線形プロセスの適応制御を行う。ここで、非線形プロセスは、非線形方程式によって記述または制御される装置の挙動または処理プロセスを示す。本実施形態では、コントローラ１０２は、装置１０３を制御する。
【００２６】
装置１０３は、出力信号１０７をコントローラ１０２に送信する。出力信号１０７は、装置１０３のセンサ（図示せず）によって取得される。装置１０３は、外乱１０８を出力信号１０７として取得できる。出力信号１０７は、装置１０３を稼働させるために使用される、入力された制御信号１０９の処理または計算を行う。
【００２７】
コントローラ１０２は、予測器１０４と、最適化器１０５と、学習器モジュール１０６とを含む。予測器１０４は、装置モデルを使用して、予測された出力１１０または将来の応答信号を生成する。装置モデルは、装置の挙動（例えば、動き）を記述するモデルである。  例えば、装置が車両である場合、装置モデルは、その動作、すなわち、その動きと依存との関係を記述する式を含んでいてもよい。
【００２８】
予測された出力１１０または将来の応答信号は、コスト関数１１１に含まれていてもよく、または使用されてもよい。コスト関数１１１は、ユーザによって選択され、学習器モジュール１０６によって構築される性能評価尺度に関連する。
【００２９】
なお、予測された出力１１０は、ある予測範囲に基づいて生成される。予測された出力１１０は、学習器モジュール１０６によって反復的に収集され、学習器モジュール１０６は、予測器１０４から収集されたデータに対してバッチ処理またはオンライン処理を実行する。
【００３０】
最適化器１０５は、制約に従ってコスト関数１１１を解く。最適化器１０５は、線形計画法または二次計画法などの最適化方法を使用することによってコスト関数１１１を解いてもよい。学習器モジュール１０６の機能については後述される。
【００３１】
コマンドモジュール１０１は、ユーザ、外部センサまたは入力装置（図示せず）から判定入力または基準信号１１２を受信する。次に、コマンドモジュール１０１は、判定信号および基準信号１１４を学習器モジュール１０６に出力する。具体的には、コマンドモジュール１０１は、学習器モジュール１０６が使用可能な形式に判定信号および基準信号１１４を変換する。本実施形態では、判定信号は、コスト関数１１１の更新処理が自動的に行われるか手動で行われるかを示す信号である。基準信号は、最適化において使用されるパラメータの一部である。
【００３２】
また、コマンドモジュール１０１は、学習器モジュール１０６から、学習モデルのリスト１１３およびコスト関数１１１のリストを受け取り、表示する。学習モデルのリスト１１３がコスト関数１１１の項として使用されるため、以下の説明では、学習モデルのリスト１１３をコスト関数の項と記すこともある。コスト関数の項は、装置の操作に関与する入力の関数や、他の変数の関数である。
【００３３】
次に、コマンドモジュール１０１は、学習されたコスト関数の項のリストおよび分析結果をユーザに表示する。具体的には、コマンドモジュール１０１は、ユーザからコスト関数から除外するかコスト関数に含めるかを示すモデル選択指示を受け付ける。コマンドモジュール１０１は、また、装置の操作における最適化の決定に必要なユーザ入力を要求する。そして、コマンドモジュール１０１は、モデル選択指示を学習器モジュール１０６に送信する。
【００３４】
また、ユーザは、コスト関数１１１を手動で更新するか、または、自動で更新するかを選択できる。これにより、装置１０３を使用する際のユーザ体験のカスタマイズや個人化について改善できる。コマンドモジュール１０１は、その使用性を向上させるために、視覚化するための技術を含んだり、組み合わせたりしてもよい。コマンドモジュール１０１が表示するインタフェースの例は、後述される。
【００３５】
学習器モジュール１０６は、装置１０３を最適に制御するための解の導出に使用されるコスト関数１１１を設計する。具体的には、学習器モジュール１０６は、入出力データに基づいて、ユーザが関心を持つ数量を表すモデルを学習する。以下の説明では、学習器モジュール１０６によって学習されたモデルを、数量モデルと記す。以下、学習されたモデルの内容を説明する。学習器モジュール１０６は、少なくとも数量モデルを項として含むようにコスト関数１１１を設計する。
【００３６】
コスト関数モデルは、ユーザが最適化を所望するが、必ずしも装置１０３での制御の中心になる変数または主な変数ではない可能性がある数量を表す。
例えば、コスト関数モデルは、ユーザが最小化を所望するが、装置の操作中に制御される主な変数ではない可能性がある燃料消費量に関連させることができる。
【００３７】
学習器モジュール１０６は、装置１０３の応答および制御入力とともに、装置１０３およびその環境で収集されたデータが供給される。具体的には、学習器モジュール１０６は、コマンドモジュール１０１からの判定信号および基準信号１１４と、最適化器１０５からの制御動作を示す、入力される制御信号１０９と、予測器１０４からの予測された出力１１０と、装置１０３からの出力信号１０７とを入力とする。
【００３８】
学習器モジュール１０６は、各繰り返しにおいて、最適化器１０５によって使用されるコスト関数１１１を出力する。学習器モジュール１０６は、また、学習モデルのリスト１１３、すなわち、数量モデルのリストをコマンドモジュール１０１に出力する。
また、学習器モジュール１０６は、選択指示によりコスト関数に含まれるように指示されたモデルを学習する。
【００３９】
具体的には、学習器モジュール１０６は、モデル推定方法などの機械学習技術を使用して、入力信号および／または他の出力の関数としてモデル（数量モデル）を構築する。次に、学習器モジュール１０６は、新しく構築されたモデル、任意の事前定義された項および他の既存のコスト関数の項をコスト関数１１１の項として組み合わせることによって、コスト関数を設計または更新する。
【００４０】
判定信号が自動的操作であることを示す場合、学習器モジュール１０６は、コマンドモジュール１０１を介して、ユーザの指示に従って、コスト関数の項を学習済みの項に追加、削除または置換するようにコスト関数１１１を更新する。一方、判定信号が手動操作であることを示す場合、学習器モジュール１０６は、新しく学習された項を自動的に追加するようにコスト関数１１１を設計または更新してもよい。学習器モジュール１０６は、学習された項の精度が所定の閾値に達した場合に、学習された項を追加するようににコスト関数１１１を更新してもよい。
【００４１】
また、コスト関数１１１は、上述したモデルまたは項のすべてを含む必要はない。コスト関数１１１は、モデルまたは項のいくつかを含むだけでよい。
【００４２】
学習器モジュール１０６は、項またはモデルを追加することによって、コスト関数１１１を生成してもよい。コスト関数１１１を線形または二次形式で表すことにより、最適化器１０５の処理を合理化することが可能である。学習器モジュール１０６は、結合された項またはモデルに対して所定の変換および重み付けをしてもよい。
【００４３】
本発明の実施形態では、学習器モジュール１０６から学習モデルのリスト１１３を受け取ると、コマンドモジュール１０１は、コスト関数設計システム１００の深い専門知識や処理を必要とすることなしに、装置１０３の最適化に影響を及ぼしたり制御したりする簡単な方法をユーザに提供する。
【００４４】
一般的には、最適化される数量モデルは、第一原理、すなわち、数量のいくつかの理論的モデルに基づいて構築される必要がある。しかし、本実施形態では、コスト関数の一部として使用される数量モデルは、機械学習の技術を使用して自動的に取得される。したがって、数量の性質について全く知らなくても装置１０３を最適化することが可能である。
【００４５】
図２は、コマンドモジュール１０１が表示するインタフェースの例を示す説明図である。コマンドモジュール１０１は、最適化器１０５で使用されている現在のコスト関数１１１をインタフェース５１０の上部（領域５１１参照）に表示し、項の間の相対的な重要性を示している。図２に示す例では、各指標の係数（α、β）は、項の間の相対的な重要性を示す。
【００４６】
コマンドモジュール１０１は、データが収集されている異なる数量（領域５１２参照）を表示する。このリストはモジュールの出力であるが、入力の手段としても機能する。コマンドモジュール１０１は、個々の評価尺度を出力として表示してもよい（領域５１２Ｍ１−５１２Ｍ３参照）。例えば、（対応するボタンをクリックする入力方法を介して）評価尺度がユーザによって選択された場合、コマンドモジュール１０１は、評価尺度が装置１０３の他の変数にどのように依存するか表示してもよい。この情報は、評価尺度における学習を選択するか否かについてユーザを誘導するために使用されてもよい。ここでのユーザの決定入力は、学習器モジュール１０６に送信される。
【００４７】
コマンドモジュール１０１は、すべての評価尺度による学習を示す内容を表示してもよい（領域５１２Ａ参照）。 この場合、コマンドモジュール１０１は、可能であれば装置１０３の変数に関してすべての評価尺度のモデルを見つけてもよい。
【００４８】
コマンドモジュール１０１は、学習された性能指標のリストを表示する（領域５１３、５１３Ｉ１−５１３Ｉ２参照）。指標のリストはユーザによって選択され、学習器モジュール１０６から送信される。コマンドモジュール１０１は、関心のあるユーザが確認できるように、指標ごとにモデルの詳細を表示してもよい。
【００４９】
さらに、コマンドモジュール１０１は、新しいサンプルの収集期間（領域５１４参照）、既存のモデルを更新するか否か（領域５１５参照）、および、自動または手動で更新するか否か（領域５１６参照）を表示する。コマンドモジュール１０１は、追加情報（領域５１７参照）を表示してもよい。
【００５０】
ここで、自律走行の場合に対応させて、図２に示す各項目を説明する。自律走行において、コスト関数１１１における“指標”は、車から目標までの距離および／または加速ペナルティの変化を示す。“指標インジケータ＊ＭＬ”の項は、燃料消費量、水平方向に対する振動など、学習された客観的な項を示す。“評価尺度”は、データが収集され得る、またはデータは収集されているが、まだモデルは学習されていない（例えば、振動などの）数量を示す。モデルが学習されると、それはリストに現れる。
【００５１】
図３は、選択された指標を利用可能なモデルの詳細を表示するインタフェースの例を示す説明図である。図３は、図２において“指標２”が選択された場合を示す。さらに、図３は、学習されたモデルについて所望の評価尺度ごとに技術的な詳細を表示した“エキスパートモード”を示す。
【００５２】
コマンドモジュール１０１は、コスト関数１１１の一部として学習されたモデルを使用してシミュレートされた（または、履歴的な）効果を分析結果として表示する。指標の適切な重みを選択する場合、この出力によってユーザを誘導できる。
【００５３】
図３に示す例では、縦軸に性能指標が設定され、横軸に移動時間が設定される。また、βを０から１００に変更すると、コマンドモジュール１０１は、選択された指標についてモデル１およびモデル２の推移を表示する。さらに、コマンドモジュール１０１は、ユーザによって選択された各指標について得られたモデルの詳細（新規および既存）を表示する。モデルの詳細は、学習器モジュール１０６から受け取る。図３に示す例では、モデル１およびモデル２の詳細が表示される。
【００５４】
モデルの詳細（精度、考慮される過学習、現実的な特徴への依存など）に基づいて、ユーザ（エキスパート）は、性能指標を表すために使用されるモデルと、他の項との相対的な重みを選択できる。コマンドモジュール１０１は、ユーザからのモデルの選択を受け入れてもよく、コスト関数１１１の処理のためにこの決定を学習器モジュール１０６に送信してもよい。図３に示す例では、モデル２が好ましいモデルとして選択され、７０が重み係数βとして選択される。
【００５５】
ユーザは、そのインタフェースから、学習された項の重みを選択でき、特徴や評価尺度の精度（例えば、平均二乗誤差）に基づいてどのモデルを使用するか選択できる。
【００５６】
なお、本実施形態のコスト関数設計システム１００は、装置１０３を備えているが、装置１０３は、本発明のコスト関数設計システム１００に含まれなくてもよい。この場合、コントローラ１０２は、制御信号１０９を他のデバイス（図示せず）に送信し、そのデバイスから出力信号１０７を受信してもよい。
【００５７】
コマンドモジュール１０１と、コントローラ１０２とは、プログラム（コスト関数設計プログラム）に従って動作するコンピュータのＣＰＵによって実現される。例えば、プログラムは、コスト関数設計システム１００内の記憶装置（図示せず）に記憶され、ＣＰＵは、そのプログラムを読み込み、プログラムに従って、コマンドモジュール１０１およびコントローラ１０２として動作してもよい。また、本発明のコスト関数設計システムにおける各機能は、ＳａａＳ（Ｓｏｆｔｗａｒｅ  ａｓ  ａ  Ｓｅｒｖｉｃｅ）形式で提供されてもよい。
【００５８】
コマンドモジュール１０１と、コントローラ１０２とは、それぞれ専用のハードウェアで実現されてもよい。また、コマンドモジュール１０１と、コントローラ１０２とは、それぞれ、汎用または専用の回路によって実現されてもよい。ここで、汎用または専用の回路は、単一のチップで構成されていてもよいし、バスを介して接続される複数のチップで構成されていてもよい。また、各装置の各構成要素の一部または全部が複数の情報処理装置または回路によって実現される場合には、複数の装置または回路等は、集中配置されていてもよいし、分散配置されていてもよい。機器や回路等は、クライアントサーバシステム、クラウドコンピューティングシステムなど、各々が通信ネットワークを介して接続される形態として実現されてもよい。
【００５９】
次に、本実施形態のコスト関数設計システムの一例を説明する。図４は、本実施形態におけるコスト関数設計システムの動作例を示すフローチャートである。
【００６０】
まず、ステップＳ２０１において、コマンドモジュール１０１は、追跡に使用される目標値とユーザの嗜好に関する情報とを含む基準信号１１２を受信する。ステップＳ２０２において、コマンドモジュール１０１は、判定信号および基準信号１１４を学習器モジュール１０６に送信する。判定信号および基準信号１１４は、ユーザによって選択された装置１０３の制御に関連するオプションを含んでいてもよい。そのオプションは、特定の学習モデルの使用、コスト関数モデル間の相対的な重要性の調整（例えば、パラメータの調整など）、使用する学習のタイプ（バッチ、オンラインなど）、もしくは、処理の自動化など、問題の選択および決定に関する情報を含む。
【００６１】
一方、ステップＳ２０３において、予測器１０４は、装置モデルを用いて予測された出力１１０を計算し、処理のために学習器モジュール１０６に送信する。ステップＳ２０４において、学習器モジュール１０６は、一旦データを受信すると、データから学習された項を用いてコスト関数１１１を構築し、これを最適化器１０５に送信する。
【００６２】
ステップＳ２０５において、最適化器１０５は、コスト関数１１１を解いて、所望の制御信号１０９を計算する。次に、最適化器１０５は、駆動させるために制御信号１０９を装置１０３に送信し、学習するために制御信号１０９を学習器モジュール１０６に送信し、理論的な出力を計算するために制御信号１０９を予測器１０４に送信する。
【００６３】
次に、ステップＳ２０６において、制御信号１０９が装置１０３に適用され、装置１０３がコントローラ１０２、具体的には学習器モジュール１０６に、出力信号１０７をフィードバックする。ステップＳ２０７において、学習器モジュール１０６は、新しい項の可用性に関する情報をコマンドモジュール１０１に送信する。その後、制御手順が必要であれば、ステップＳ２０１からステップＳ２０７までの処理が繰り返される。
【００６４】
次に、本実施形態の学習器モジュール１０６の例を説明する。図５は、本実施形態における学習器モジュール１０６の動作例を示すフローチャートである。
【００６５】
ステップＳ３０１において、学習器モジュール１０６は、各繰り返し処理において利用可能なデータ量を考慮する。具体的には、学習器モジュール１０６は、データ量が閾値に近いか否かを判断する。データ量が閾値に近くない場合（ステップＳ３０１におけるＮｏ）、ステップＳ３０５の処理に進む。データ量が閾値に近い場合（ステップＳ３０１におけるＹｅｓ）、ステップＳ３０２の処理に進む。なお、”閾値の近く”は、閾値とデータ量との差が所定範囲内であることを示す。
【００６６】
さらに、バッチまたはオンライン学習を行うかどうかの選択により、学習器モジュール１０６は、次に適用する方法を考慮して単にデータ記憶すると決定し、直接ステップＳ３０５の処理に進んでもよい。具体的には、学習器モジュール１０６は、バッチでの学習が選択されたときに、単にデータを記憶すると決定してもよい。
【００６７】
ステップＳ３０２において、学習器モジュール１０６は、機械学習の技術、例えばモデル推定法を用いて、コスト関数の項のモデルの構築を開始する。構築された項は、制御入力の関数であり、必要に応じて、出力信号１０７、外乱１０８、制御信号１０９および予測された出力１１０などの他の装置の出力関数である。
【００６８】
コスト関数の項のモデルの構築の開始は、バッチ学習とオンライン学習の選択に依存する。これは、バッチ式またはオンライン式において、利用可能なデータに機械学習アルゴリズムを適用してコスト関数モデルを構築することを意味する。具体的には、バッチ学習では、学習器モジュール１０６は、データ量またはサンプル数がある閾値を超えるとアルゴリズムを適用する。オンライン学習では、学習器モジュール１０６は、新しいサンプルを取得するとすぐにアルゴリズムを適用する。
【００６９】
ステップＳ３０３において、学習器モジュール１０６は、一旦コスト関数項のモデルを学習すると、学習された式を追加したり、既存の項を調整したりすることによってコスト関数１１１を更新する。学習器モジュール１０６は、コマンドモジュール１０１から得られた判定信号に基づいてコスト関数１１１を更新しないと選択してもよい。
【００７０】
ステップＳ３０４において、学習器モジュール１０６は、コスト関数１１１を設計する。既存の項と学習されたモデルの組み合わせを考慮し、利用可能な場合は更新されたバージョンの項を使用することによって、コスト関数の設計が完了する。さらに、学習器モジュール１０６は、収集されたデータから計算された誤差量を用いてコスト関数項の最適な組み合わせを自動的に構築または選択してもよい。次に、学習器モジュール１０６は、再設計されたコスト関数１１１を最適化器１０５に送信する。
【００７１】
ステップＳ３０５において、学習器モジュール１０６は、次の適用のためのデータを記憶する。
【００７２】
以上説明したように、本実施形態では、学習器モジュール１０６が、装置１０３の動作及び環境から取得したデータに基づいて、ユーザが関心を持っている数量の数量モデルを学習し、少なくとも数量モデル（コスト関数項）を項として含むように、装置１０３を最適に制御するための解の導出に使用されるコスト関数１１１を設計する。したがって、装置の制御を容易にすることができる最適なコスト関数を設計できる。
【００７３】
本実施形態では、予測された出力１１０または将来の応答信号は、オンライン処理で生成され得る。
【００７４】
図６は、本発明によるコスト関数設計システムをオンライン処理で実行する場合の例を示す説明図である。この場合、装置１０３は、学習器モジュール１０６だけでなく、学習するために出力信号１０７を予測器１０４にフィードバックする。したがって、本実施形態のコスト関数設計システムを、特許文献１に記載されているような既存の適応制御システムに用いることができる。
【００７５】
学習器モジュール１０６は、コスト関数項のモデルを構築するために、バッチまたはオンラインによる機械学習の技術を使用してもよい。また、学習器モジュール１０６は、ローカルコンピューティングを使用してもよい。すなわち、学習器モジュール１０６は、データを格納し、ローカルで計算を実行してもよく、インターネットベースでクラウドコンピューティングを使用してもよい。
【００７６】
学習器モジュール１０６を使用することにより、コスト関数の項を手動で考慮する必要がなくなるため、特に自動化された場合に、装置またはその構成要素の劣化に起因し得る不一致に対処できる。
【００７７】
さらに、装置の操作はユーザごとに異なる可能性があるが、２つのモジュール（すなわち、コマンドモジュール１０１および学習器モジュール１０６）を組み合わせることで、装置を操作する嗜好を個人的なものにしたりカスタマイズしたりすることが可能になる。これは、学習されたコスト関数モデルを（手動または自動で）使用するか否かをユーザが選択できるためであり、また、ユーザが、使用したモデルの数量を直接選択できるためである。
【００７８】
さらに、ユーザは、予め定義されたコスト関数の項と学習されたコスト関数の項との間の相対的重要性を規定または制御できる。上記の全ては、学習器モジュール１０６と密接に相互作用するコマンドモジュール１０１におけるインタフェースを使用して達成することができ、装置１０３を個人的なものに制御できる。コマンドモジュール１０１および学習器モジュール１０６は、ユーザからの初期決定入力に基づいて、自動的に相互に作用するようにすることもできる。
【００７９】
（例１）
好ましい実施形態の例として、装置１０３は、例えば、縦方向加速度および横方向加速度を含む少なくとも１つのアクチュエータ入力（制御信号１０９に対応する）を有する車両を表す。装置１０３は、また、道路や天候などの様々な外乱１０８の影響を受ける。装置の動作は、第一原理に基づく式を用いて記述できる。予測器１０４は、その式を用いて、車両に関する予測値（予測された出力１１０に対応する）を生成できる。この例では、関心の対象となる重要な変数は燃料消費量であり、これは、加速度、速度などのような数量に依存する。
【００８０】
コスト関数設計システム１００は、コマンドモジュール１０１を介して、道路標識およびＧＰＳ信号などの基準信号を受信する。コスト関数設計システム１００は、また、一旦燃料消費モデルが構築されると、自動的に又は手動で最適化するか否かに関する判定信号を受け取る。燃料消費モデルは、上述した実施形態の数量モデルに相当する。
【００８１】
一方、学習器モジュール１０６は、予測器１０４によって計算された速度値などの予測された出力１１０とともに、判定信号および基準信号１１４、最適化部１０５から入力された加速度信号（制御信号１０９に対応する）および、燃料消費モデルを構成する速度、燃費量、振動、温度など、装置１０３からの出力信号１０７を使用する。これらは、コスト関数１１１の一部として使用され得る。なお、燃料消費の項は、すでに存在し得る標的追跡の項や、加速の滑らかさを示す項などの典型的な性能評価尺度とともに使用され得る。
【００８２】
学習器モジュール１０６を使用することで、顧客は、サービスを受けるためにカスタマーセンタに出向くことなく、コスト関数設計システム１００のコスト関数１１１における燃料消費モデルを更新できる。
車両の製造業者は、学習器モジュール１０６から収集されたデータや分析結果を使用することで、ユーザへのサービスを改善できる。また、ユーザは、期待される性能が低下した場合や異常が発生した場合に、コマンドモジュール１０１を介して、燃料消費量の項の使用をいつでも無効または有効にすることができる。
【００８３】
前述の処理は、例えば、装置の動作モデルを変更することにより、車両の動作に多大な影響を与えることなく自動的に実行でき、燃料を最適化できる。
【００８４】
（例２）
他の好ましい実施形態の例として、例２は、例１に類似するものである。関心のある変数は、車両の運転手又は乗客の快適さに関連する。例２では、最適化対象の数量は、例えば、振動であり、加速入力（制御信号１０９に対応する）の最適な選択により制御または抑制され得る。
【００８５】
この場合、学習器モジュール１０６およびコマンドモジュール１０１を使用することで、ユーザは、自身の好みにあうように振動の効果を個人的なものにすることができる。快適さに関連する設定は、非常に主観的であり、ユーザに大きく依存する。本発明の例２では、高いカスタマイズを可能にし、ユーザの要求または期待に合うように快適性を最適化するための制御ループを提供する。
【００８６】
次に、本発明の概要を説明する。図７は、本発明のコスト関数設計システムの概要を示すブロック図である。本発明のコスト関数設計システムは、制御対象である装置（例えば、装置１０３）の動作及び環境から取得したデータに基づいて、ユーザが関心をもつ数量を表す数量モデル（例えば、コスト関数項モデル）を学習する学習部８１（例えば、学習器モジュール１０６）と、装置を最適に制御するための解の導出に使用されるコスト関数（例えば、コスト関数１１１）を、少なくとも前記数量モデルを項として含むように設計するコスト関数設計部８２（例えば、学習器モジュール１０６）とを備えている。
【００８７】
そのような構成により、装置の制御を容易にすることができる最適なコスト関数を設計できる。
【００８８】
また、コスト関数設計システムは、設計されたコスト関数を最適化する最適化器（例えば、最適化器１０５）を備えていてもよい。そして、最適化器は、最適化の結果に基づく制御信号を装置に出力してもよい。そのような構成により、装置を動的に最適制御することが可能になる。
【００８９】
また、コスト関数設計システムは、設計されたコスト関数と学習されたモデルとを受信する指令部（例えば、コマンドモジュール１０１）を備えていてもよい。そして、指令部は、受信したコスト関数および学習モデルを表示し、そのコスト関数から除外するかコスト関数に含むかを示すモデル選択指示をユーザから受け付け、そのモデル選択指示を学習部に送信してもよい。そして、学習部８１は、選択指示により、コスト関数に含むように指示されたモデルを学習し、コスト関数設計部８２は、学習されたモデルを含むようにコスト関数を設計してもよい。そのような構成により、ユーザの意図を反映した最適制御が可能となる。また、そのような構成により、高い解釈可能性を有するため、装置の制御が容易になる最適なコスト関数を設計できる。
【００９０】
また、学習部８１は、コスト関数の項として、新たに学習されたモデル、予め定義された項および既存の数量モデルを組み合わせるようにコスト関数を設計または更新してもよい。
【００９１】
また、コスト関数設計システムは、装置の挙動を表す装置モデルを用いて、その装置の予測結果を生成する予測器（例えば、予測器１０４）を備えていてもよい。そして、学習部８１は、予測結果を用いてコスト関数を学習してもよい。そのような構成によれば、制御対象以外の変数を用いてモデルを学習できる。
【００９２】
好ましい実施形態および代替の実施形態に関する上記説明は、開示する発明の概念の範囲または適用可能性を限定または制限することを意図するものではない。当業者であれば、特許請求の範囲に記載された本開示の精神および範囲から逸脱することなく、そのような検討および添付の図面および特許請求の範囲から様々な変更、修正および変形が可能であることが容易に認識される。
【符号の説明】
【００９３】
１０１  コマンドモジュール
１０２  コントローラ
１０３  装置
１０４  予測器
１０５  最適化器
１０６  学習器モジュール
１０７  出力信号
１０８  外乱
１０９  制御信号
１１０  予測された出力
１１１  コスト関数
１１２  判定信号または基準信号
１１３  学習モデルのリスト
１１４  判定信号および基準信号
【図１】
2019505889.tif 000003
【図２】
2019505889.tif 000004
【図３】
2019505889.tif 000005
【図４】
2019505889.tif 000006
【図５】
2019505889.tif 000007
【図６】
2019505889.tif 000008
【図７】
2019505889.tif 000009
【国際調査報告】
2019505889.tif 000010
2019505889.tif 000011