(57)【特許請求の範囲】
【請求項１】
車両の駆動中に、当該駆動中に定められる少なくとも１つの入力変数に基づいて、前記車両の機能の制御のための少なくとも１つの出力変数を計算する手段を有する、前記車両内の制御装置（１）であって、前記制御装置（１）は、前記駆動の前に前記出力変数及び前記入力変数のために定められた訓練データを介したベイズ回帰を利用して前記出力変数の前記計算を実行する手段を有する制御装置（１）において、
前記制御装置は、少なくとも部分的に前記ベイズ回帰を実行する演算ユニット（１０）と、前記ベイズ回帰の実行に必要な特定の計算ステップの計算に対して最適化された、前記制御装置（１）の前記演算ユニット（１０）に割り当てられたハードウェアユニットと、有することを特徴とする、制御装置（１）。
【請求項２】
前記ハードウェアユニットは、前記ベイズ回帰の実行に必要な特定の計算ステップの計算に対して最適化された論理回路（１４）であり、
前記制御装置（１）の前記演算ユニット（１０）に割り当てられた前記論理回路（１４）は、指数関数を計算する手段を有することを特徴とする、請求項１に記載の制御装置（１）。
【請求項３】
前記ベイズ回帰を、クリギング、ガウス過程、又は、スパース・ガウス過程として実現する手段を有することを特徴とする、請求項１に記載の制御装置（１）。
【請求項４】
前記制御のために、前記ベイズ回帰から定められた前記出力変数の分散も考慮する手段を有する、請求項１〜３のいずれか１項に記載の制御装置（１）。
【請求項５】
前記定められた分散が閾値を超える場合に対策を取る手段を有する、請求項４に記載の制御装置（１）。
【請求項６】
少なくとも１つの出力変数の前記計算のために、前記駆動の前に定められた前記訓練データを介して、自己回帰により動的にモデル化されるベイズ回帰を実行する手段を有することを特徴とする、請求項１〜５のいずれか１項に記載の制御装置（１）。
【請求項７】
車両の機能の制御のための少なくとも１つの出力変数を、前記車両内の制御装置（１）によって、前記車両の駆動中に、当該駆動中に定められる少なくとも１つの入力変数に基づいて計算する方法であって、前記駆動の前に、前記出力変数及び前記入力変数のための訓練データが定められ、前記出力変数の前記計算が、前記訓練データを介したベイズ回帰を利用して実行される方法において、
前記制御装置（１）内で、前記ベイズ回帰の前記計算が少なくとも部分的に制御装置によって実行され、前記ベイズ回帰の実行に必要な特定の計算ステップの計算が、前記ベイズ回帰の実行に必要な前記特定の計算ステップの計算に対して最適化された、前記制御装置（１）の演算ユニット（１０）に割り当てられたハードウェアユニットによって実行されることを特徴とする、方法。
【請求項８】
前記制御のために、前記ベイズ回帰から定められた前記出力変数の分散も考慮されることを特徴とする、請求項７に記載の方法。
【請求項９】
少なくとも１つの出力変数の前記計算のために、前記駆動の前に定められた前記訓練データを介して、自己回帰により動的にモデル化されるベイズ回帰が実行されることを特徴とする、請求項７又は８のいずれか１項に記載の方法。
【請求項１０】
前記ベイズ回帰は、クリギング、ガウス過程、又は、スパース・ガウス過程として実現されることを特徴とする、請求項７〜９のいずれか１項に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、車両内の制御装置、及び、車両の機能の制御のための出力変数を計算する方法から出発する。
【背景技術】
【０００２】
測定することが出来ず又は測定に非常にコストが掛る（従って、量産車両内での実現のためには高価過ぎる）車両制御装置内の変数、例えば排気温度、充填状態、未処理排気値、効率、消費等のような、エンジン制御装置内の燃焼過程のクリティカルな変数であって、制御装置が自身の制御機能を実行するために必要とする上記クリティカルな変数を決定するために、様々な方法が利用される。広く普及している方法は、一次元相関を示すことが可能な特性曲線の方法、又は二次元又は多次元相関を示すことが可能な特性マップの方法である。この特性マップは、接点について定義され／格納され、特定の入力値のための目標変数の予測が、隣接する接点に基づいて、例えば線形補間又はスプライン補間されるが、例えば独国特許出願公開第１９９６６２１３号明細書を参照されたい。他の方法は、通常極めて簡素化された物理的モデルであって、特性マップによっても示されることが多い上記物理的モデルから出発し、例えば独国特許出願公開第１０２００８００４３６２号明細書を参照されたい。例えば神経回路網のような、データに基づくパラメータ回帰モデルも考察される（例えば独国特許出願公開第１０２００７００８５１４号明細書参照）。
【０００３】
自動車分野において、所謂ベイズ回帰は、「オンライン」（ｏｎｌｉｎｅ）ではなく、即ち車両の平常駆動の間にではなく、「オフライン」（ｏｆｆｌｉｎｅ）で、即ち、例えばエンジンの調整段階において使用される。例えば、Ｗａｒｄ，Ｍ．Ｃ．、Ｂｒａｃｅ，Ｃ．Ｊ．、Ｖａｕｇｈａｎ，Ｎ．Ｄ．、Ｓｈａｄｄｉｃｋ，Ｇ．、Ｃｅｅｎ，Ｒ．、Ｈａｌｅ，Ｔ．、Ｋｅｎｎｅｄｙ，Ｇ．著の「Ｂａｙｅｓｉａｎ  ｓｔａｔｉｓｔｉｃｓ  ｉｎ  ｅｎｇｉｎｅ  ｍａｐｐｉｎｇ」ｉｎ：Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｃｏｎｆｅｒｅｎｃｅ  ｏｎ  Ｓｔａｔｉｓｔｉｃｓ  ａｎｄ  Ａｎａｌｙｔｉｃａｌ  Ｍｅｔｈｏｄｓ  ｉｎ  Ａｕｔｏｍｏｔｉｖｅ  Ｅｎｇｉｎｅｅｒｉｎｇ、ＩＭｅｃｈＥ  Ｃｏｎｆｅｒｅｎｃｅ  Ｔｒａｎｓａｃｔｉｏｎｓ、３〜１５ページ、２００２年、及び、Ｄ．Ｌｏｗｅ／Ｋ．Ｚａｐａｒｔ著の「Ｖａｌｉｄａｔｉｏｎ  ｏｆ  Ｎｅｕｒａｌ  Ｎｅｔｗｏｒｋｓ  ｉｎ  Ａｕｔｏｍｏｔｉｖｅ  Ｅｎｇｉｎｅ  Ｃａｌｉｂｒａｔｉｏｎ」、Ｐｒｏｃｅｅｄｉｎｇｓ  Ｃｏｎｆｅｒｅｎｃｅ  ｏｎ  Ａｒｔｉｆｉｃｉａｌ  Ｎｅｕｒａｌ  Ｎｅｔｗｏｒｋｓ、１９９７年を参照されたい。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
相関を特徴付けるために特性マップが利用される場合に、アプリケーションコストが高く、又は多次元相関では予測精度が低いことが多い。信頼性の高い物理的モデルの構築の際には、高い開発コストが発生し、特に熱力学の他に例えば化学や流体力学も含まれるであろう燃焼過程の複雑な経過の場合は、あまり単純化されていない物理的モデルの開発が必ずしも可能ではない。公知の方法に関して言えば、期待される精度について言明しない。しかしながら、特にクリティカルな目標変数の場合は、信頼性の高い開ループ又は閉ループ制御ストラテジーを保証することが重要でありうる。
【課題を解決するための手段】
【０００５】
測定することが出来ず又は測定に非常にコストが掛かる（従って、量産車両内での実現のためには高価過ぎる）車両制御装置内の変数、例えば排気温度、充填状態、未処理排気値、効率、消費等のような、エンジン制御装置内の燃焼過程のクリティカルな変数であって、制御装置が特に自身の制御機能を実行するために必要とする上記クリティカルな変数を決定するために、ベイズ回帰が利用される。データに基づく非パラメータベイズ回帰を利用した本明細書で提案する方法は、リアルタイム処理が可能であり、特に多次元の及び／又は複雑な問題が提起された際に、例えば特性マップ補間又は簡素化された物理的モデルのような公知の方法よりも信頼性の高い予測を提供し、さらに、より格納効率も良く実施することが可能である。さらに、特性マップ及び／又は物理的モデルとの入／出力相関を確定するために、又は神経回路網等のデータに基づくパラメータ回帰法において、例えば必要な神経の数のような、アルゴリズムパラメータを確定するために、必要な予備知識、又はそれに伴う準備段階での必要なコストが、提案される方法又は制御装置を用いると明らかに低い。
【０００６】
更なる別の利点は、従属請求項の特徴、及び実施例の記載から明らかとなろう。
【０００７】
ガウス過程、特に格納及び計算効率の良い計算を可能としうるスパース・ガウス過程としてのベイズ回帰の実現は、特に有利である。
【０００８】
ベイズ回帰を用いて決定された出力変数に基づく開ループ又は閉ループ制御のために、出力変数の他に、ベイズ回帰から定めることが可能な分散も考慮することは有利である。従って、より確実でより正確な開ループ又は閉ループ制御が達成されうる。特に、例えば所定の閾値を上回る高い分散の場合、即ち出力変数が不正確である可能性が高い場合には、防御的な開ループ又は閉ループ制御ストラテジーを選択することが可能であり、エラー信号を出力することが可能であり、又は他の適切な措置を取ることが可能である。
【０００９】
現在の入力変数の他に、より古い入力変数及び／又はより古い出力変数も、現在の出力変数を決定するために利用される場合には、特定の閉ループ又は開ループ制御タスクが特に有利に実行される。従って、複雑で動的な、即ち非準静的な過程も扱われ、より高い精度で閉ループ又は開ループ制御されうる。この場合、自己回帰による動的なモデル化が関わっている。
【００１０】
制御装置の演算ユニットの演算能力及び稼働に過剰な負荷を掛けないために、回帰演算の個々の部分タスクを、そのために特化したハードウェアユニットに移すことが可能である。このハードウェアユニットは、その特化に基づいて、フレキシブルな演算ユニットよりも迅速かつ効率良く上記タスクを実行することが可能である。その際に、実行すべきベイズ回帰のために、マイクロコントローラのような制御装置内で通常使用される演算ユニットによりコストを掛けて計算されうる指数関数の計算が、少なくとも部分的に、演算ユニットからハードウェアユニット上、特に論理回路上へと移される場合には、特に有利である。
【図面の簡単な説明】
【００１１】
本発明の実施例が図面に示され、以下の明細書の記載においてより詳細に解説される。
【図１】制御装置及び制御装置の外部のユニットを概略的に示す。
【図２ａ】非動的なモデル化を概略的に示す。
【図２ｂ】動的なモデル化を概略的に示す。
【図３ａ】出力変数を利用した閉ループ制御／開ループ制御を概略的に示す。
【図３ｂ】出力変数及びその分散を利用した閉ループ制御／開ループ制御を概略的に示す。
【図４】制御装置のマイクロコントローラの構成要素及びその接続を概略的に示す。
【図５】ベイズ回帰を用いた入力変数及び訓練データに基づく出力変数を決定する方法を示す。
【発明を実施するための形態】
【００１２】
近年、所謂非パラメータ回帰法、特にサポートベクタマシーンのようなカーネル型の方法［Ｓｕｐｐｏｒｔ−Ｖｅｃｔｏｒ  Ｎｅｔｗｏｒｋｓ，Ｃ．Ｃｏｒｔｅｓ／Ｖ．Ｖａｐｎｉｋ著、Ｍａｃｈｉｎｅ  Ｌｅａｒｎｉｎｇ、２０、１９９５年］、及び更なる別の下位クラスとして、例えばクリギングのような所謂ベイズ回帰法［Ａ  ｓｔａｔｉｓｔｉｃａｌ  ａｐｐｒｏａｃｈ  ｔｏ  ｓｏｍｅ  ｍｉｎｅ  ｖａｌｕａｔｉｏｎｓ  ａｎｄ  ａｌｌｉｅｄ
ｐｒｏｂｌｅｍｓ  ａｔ  ｔｈｅ  Ｗｉｔｗａｔｅｒｒａｎｄ、Ｄ．Ｇ．Ｋｒｉｅｇｅ著、１９５１年；Ｔｈｅ  ｉｎｔｒｉｎｓｉｃ  ｒａｎｄｏｍ  ｆｕｎｃｔｉｏｎｓ，ａｎｄ  ｔｈｅｉｒ  ａｐｐｌｉｃａｔｉｏｎｓ、Ｇ．Ｍａｔｈｅｒｏｎ著、Ａｄｖ．  Ａｐｐｌ．  Ｐｒｏｂ．，５、４３９〜４６８ページ，１９７３年］、ガウス過程［Ｅｖａｌｕａｔｉｏｎ  ｏｆ  Ｇａｕｓｓｉａｎ  Ｐｒｏｃｅｓｓｅｓ  ａｎｄ  ｏｔｈｅｒ  Ｍｅｔｈｏｄｓ  ｆｏｒ  Ｎｏｎ−ｌｉｎｅａｒ  Ｒｅｇｒｅｓｓｉｏｎ、Ｃ．Ｅ．Ｒａｓｍｕｓｓｅｎ著、１９９６年］、スパース・ガウス過程［Ｓｐａｒｓｅ  Ｇａｕｓｓｉａｎ  ｐｒｏｃｅｓｓｅｓ  ｕｓｉｎｇ  ｐｓｅｕｄｏ−ｉｎｐｕｔｓ、Ｅ.Ｓｎｅｌｓｏｎ／Ｚ  Ｇｈａｈｒａｍａｎｉ著、Ａｄｖａｎｃｅｓ  ｉｎ  Ｎｅｕｒａｌ  Ｉｎｆｏｒｍａｔｉｏｎ  Ｐｒｏｃｅｓｓｉｎｇ  Ｓｙｓｔｅｍｓ  １８、１２５９〜１２６６ページ、２００６年］、及びその他の方法が開発又は継続開発された。
【００１３】
パラメータモデルは、入力変数とモデル化すべき出力変数との間の関係の事前仮定を必要とする。本方法には、例えば物理的なモデル化、線形回帰若しくは多項式回帰、又は神経回路網も含まれる。ここでの目標は、仮定されたモデルを、モデル化すべき機能に可能な限り近付けるために、仮定に基づいて最適パラメータを決定することである。従って、誤った又は不十分な仮定によってモデル化も失敗する。これに対して、ベイズ回帰法のような非パラメータモデルは、このような仮定を必要としない。モデルを特殊な仮定に限定する代わりに、全ての／非常に多くの仮説も考慮することが可能である。
【００１４】
ベイズ回帰はデータに基づく方法であり、即ちモデルを構築するために、訓練データ及び対応する出力値が必要である。これら訓練データおよび出力値からモデルが構築され、このことは基本的に、訓練データを格納して、抽象的な「ハイパーパラメータ」を決定することを目的としており、このハイパーパラメータは、ランダム関数の空間をパラメータ化して、後のモデル予測に対する個々の訓練データの影響を効果的に重み付けする。ランダム関数の生成、ガウス過程の基本となる以下で考察するカーネル関数Ｋは、所謂二次指数関数である。
【００１５】
ベイズ回帰の基礎については、Ｃ．Ｅ．Ｒａｓｍｕｓｅｎ／Ｃ．Ｗｉｌｌｉａｍｓ著の「Ｇａｕｓｓｉａｎ  Ｐｒｏｃｅｓｓｅｓ  ｆｏｒ  Ｍａｃｈｉｎｅ  Ｌｅａｎｉｎｇ」、ＭＩＴ  ｐｒｅｓｓ、２００６年を参照されたい。点ｕでの予測νを計算するための基本数式は以下のように与えられる。
【００１６】
【数１】
0005523624.tif 000002
【００１７】
但し、νは出力変数の予測、ｘは訓練データ、ｕは検査点（入力変数）、σ及びｌは例示的なハイパーパラメータ、Ｑはモデル訓練からのベクタを表す。合算は、入力データ又は訓練データの次元Ｄを介して、及びＮ個の訓練データを介して進行する。入力変数ｕは、正規化されて演算に組み込まれうる。
【００１８】
出力変数のためのモデル分散σνを計算するための数式は、以下により与えられる。
【００１９】
【数２】
0005523624.tif 000003
【００２０】
ベイズ回帰の可能な実装は、クリギングの場合は、所謂ハイパーパラメータの削減によって獲得される。代替的に、更なる別のベイズ回帰法は、追加的なハイパーパラメータをさらに導入し、又は指数関数無しで済ますことが可能であろう他のカーネル関数によって機能しうるであろう。スパース・ガウス過程（Ｓｐａｒｓｅ  ＧＰ）の場合は、仮想的な訓練データ（ｘｉ）が導入され、この訓練データは、問題固有に入力空間に分散させることが可能であり、従ってＮ個の必要な訓練データを減らすことが可能である。ＫＤ木（ＫＤ−Ｔｒｅｅ）のような代替的なアプローチは、重要度がより低い訓練データ群の影響を概略的に見積もることが可能であるために、内部の間隔（Ｄについての内側の和）のための限界値及び効率の良い格納構造を利用する。これにより、計算すべきターム（Ｎについての外側の和）の数が更に低減される。
【００２１】
特に、上記の数式は、より簡単な形に縮小することが可能である。
【００２２】
【数３】
0005523624.tif 000004
【００２３】
スパース・ガウス過程は、この形態において比較的大きなデータ量を処理することが可能であるため特に適しており、仮想的な訓練データの数が典型的に本来のデータの数よりも少ないために、予測速度が上がる。
【００２４】
アルゴリズムについては数多くの拡張の選択肢が存在し、この拡張の選択肢によって、例えば、演算の精度要請に従って、迅速な、そのために精度がやや落ちる結果が返され、又は、より正確な、そのためによりコストを掛けて計算される結果も返されるように、大きなデータ量を用いる方法の利用が可能となり、即ち、利用可能な演算ユニットのモデル予測の精度を調整することが可能である［Ｓｐａｒｓｅ  Ｇａｕｓｓｉａｎ  ｐｒｏｃｅｓｓｅｓ  ｕｓｉｎｇ  ｐｓｅｕｄｏ−ｉｎｐｕｔｓ、Ｅ．Ｓｎｅｌｓｏｎ／Ｚ  Ｇｈａｈｒａｍａｎｉ著、Ａｄｖａｎｃｅｓ  ｉｎ  Ｎｅｕｒａｌ  Ｉｎｆｏｒｍａｔｉｏｎ  Ｐｒｏｃｅｓｓｉｎｇ  Ｓｙｓｔｅｍｓ  １８、１２５９〜１２６６ページ、２００６年］［Ｆａｓｔ  ｇａｕｓｓｉａｎ  ｐｒｏｃｅｓｓ  ｒｅｇｒｅｓｓｉｏｎ  ｕｓｉｎｇ  ｋｄ−ｔｒｅｅｓ、Ｙ．Ｓｈｅｎ／Ａ．Ｎｇ／Ｍ．Ｓｅｅｇｅｒ著、ｉｎ  Ａｄｖａｎｃｅ  ｉｎ  Ｎｅｕｒａｌ  Ｉｎｆｏｒｍａｔｉｏｎ  Ｐｒｏｃｅｓｓｉｎｇ  Ｓｙｓｔｅｍｓ  １８、１２２７〜１２３４ページ、２００６年］。
【００２５】
例えば、クリギング、ガウス過程、スパース・ガウス過程等のようなベイズ回帰法は、車両の制御装置で、エンジンに関連する特性値（例えば、燃焼技術的な値、空気システム値等）の予測のために、開ループ及び／又は閉ループ制御に利用される。
【００２６】
図１には、車両内の制御装置が概略的に示されている。その際に、制御装置１は、演算ユニット１０と、メモリ１２と、入力部１１と、出力部１３と、論理回路１４と、を有する。入力部１１を介して、制御装置は、制御装置の外部、例えばセンサ又は他の制御装置、演算ユニット又はその他のモジュール１０１〜１０４からの信号を受信する。これらの変数は、ここ及び以下では入力変数と呼ばれ、例えば温度信号、回転数信号、流量信号等でありうる。特定の変数について、オフラインで、即ち制御装置１又は車両の駆動の前に検査測定で決定されメモリユニット１２に格納された値が、メモリユニット１２には格納されている。この値は、ここ及び以下では訓練データと称される。「オフライン」又は「駆動の前」という概念を用いて、制御装置１が車両の通常駆動（「オンライン」、「駆動中」）においてリアルタイム閉ループ又は開ループ制御タスクのために利用されるのではなく、制御装置に関連する車両機能が、例えば自動車サプライヤ若しくは自動車製造業者の工場内で、又は作業場内で、制御装置のアプリケーション又は検査駆動において検査され、調整され、決定される段階が決定される。
【００２７】
メモリ１２には、制御装置１により受信され又は計算され、同様に入力変数に数えられるパラメータ及び変数も格納されうる。演算ユニット１０は、制御装置１の開ループ又は閉ループ制御機能を果たすための１つ又は複数の出力変数を決定するために、ソフトウェアプログラムを実行する。その際に出力変数は、開ループ／閉ループ制御に必要な変数であって、車両内で直接的に測定若しくは決定することが可能ではなく、又は非常にコストを掛けて当該測定若しくは決定が可能であり、従って、提供される入力変数から決定される上記変数を意味している。更に、制御装置は駆動中に、決定すべき出力変数に関連するメモリ１２に格納された訓練データを介したベイズ回帰を、上記決定すべき出力変数に関連する入力変数を考慮して実行する。さらに演算ユニット１０は、回帰の実行のために必要なアルゴリズムをソフトウェアで実行することが可能であるが、図１に示す演算ユニットと接続された論理回路１４のような、特化されたハードウェアユニット上に、演算ステップを移すことも可能である。特定の出力変数、又はこれにより決定される開ループ又は閉ループ制御信号が、出力口１３を介して、例えばアクチュエータ１０４へと出力される。
【００２８】
本明細書で提示する方法は、自己回帰アプローチによる動的なモデル化における利用のために特に良好に適している。本方法によって、例えば動的な負荷変動において、モデル化された変数の過渡応答が重要である分野へと適用可能性が大きくなる（「詳細な記載」を参照されたい）。［Ｍｕｌｔｉｐｌｅ−ｓｔｅｐ  ａｈｅａｄ  ｐｒｅｄｉｃｔｉｏｎ  ｆｏｒ  ｎｏｎｌｉｎｅａｒ  ｄｙｎａｍｉｃ  ｓｙｓｔｅｍｓ−Ａ  Ｇａｕｓｓｉａｎ  Ｐｒｏｃｅｓｓ  ｔｒｅａｔｍｅｎｔ  ｗｉｔｈ  ｐｒｏｐａｇａｔｉｏｎ  ｏｆ  ｔｈｅ  ｕｎｃｅｒｔａｉｎｔｙ、Ａ．Ｇｉｒａｌｄ／Ｃ．Ｅ．Ｒａｓｍｕｓｓｅｎ／Ｒ．Ｍｕｒｒａｙ−Ｓｍｉｔｈ著、ｉｎ  Ａｄｃａｎｃｅｓ  ｉｎ  Ｎｅｕｒａｌ  Ｉｎｆｏｒｍａｔｉｏｎ  Ｐｒｏｃｅｓｓｉｎｇ  Ｓｙｓｔｅｍｓ  １５、Ｃａｍｂｒｉｄｇｅ、２００３年］［Ｃｏｍｐｒｉｓｉｎｇ  Ｐｒｉｏｒ  Ｋｎｏｗｌｅｄｇｅ  ｉｎ  Ｄｙｎａｍｉｃ  Ｇａｕｓｓｉａｎ  Ｐｒｏｃｅｓｓ  Ｍｏｄｅｌｓ、Ｋ．Ａｚｍａｎ／Ｊ．Ｋｏｃｉｊａｎ著、Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｃｏｎｆｅｒｅｎｃｅ  ｏｎ  Ｃｏｍｐｕｔｅｒ  Ｓｙｓｔｅｍｓ  ａｎｄ  ｔｅｃｈｎｏｌｏｇｉｅｓ−ＣｏｍｐＳｙｓＴｅｃｈ、２００５年］［Ｇａｕｓｓｉａｎ  ｐｒｏｃｅｓｓ  ａｐｐｒｏａｃｈ  ｆｏｒ  ｍｏｄｅｌｌｉｎｇ  ｏｆ  ｎｏｎｌｉｎｅａr ｓｙｓｔｅｍｓ、Ｇ．Ｇｒｅｇｏｒｃｉｃ／Ｇ．Ｌｉｇｈｔｂｏｄｙ著、Ｉｎ  Ｅｎｇｉｎｅｅｒｉｎｇ  Ａｐｐｌｉｃａｔｉｏｎｓ  ｏｆ  Ａｒｔｉｆｉｃａｔｉｏｎ  Ｉｎｔｅｌｌｉｇｅｎｃｅ  ２２、５２２〜５３３ページ、２００９年］
【００２９】
動的なモデル化は、提示する方法への比較的直接的な拡張である。従来の準静的なモデル化の場合、時点ｔでの現在の入力値のみが利用を許されるが、動的なモデル化のためには、一方では、ゆっくりと影響を及ぼす入力変数を検出するために、過去の入力値、例えばＸｉ（ｔ−１）、…、Ｘｉ（ｔ−ｍ）が許可され、他方では、記憶効果を有するスローシステムをモデル化するために、最近の出力値、即ちｙ（ｔ−１）、…、ｙ（ｔ−ｍ）が許可される。例えば、排気温度のような、過去のエンジン値にも依存する記憶効果を有する変数、又はゆっくりと変化するターボチャージャ設定に依存する吸気圧力のような変数を、より良好に扱うことが可能である。
【００３０】
図２ａは、現在の入力変数２０１〜２０５がベイズ回帰２０に援用されて、出力変数２０６が定められる非動的な方法を示している。これに対して、図２ｂには、動的なモデル化が示されている。ここでは、現在の入力変数２１１及び２１２と、過去の入力変数２１３及び２１４と、過去の出力変数２１６とが、ベイズ回帰２１に援用されて、現在の出力変数２１５が定められる。
【００３１】
ベイズ回帰法は、言及したように、所謂ブラックボックス法であることを特徴とし、即ち、この回帰法はモデル構築の際に、オフラインで測定された訓練データ以外の入力パラメータを有さない。回帰法は、他の予備知識無しに、かつモデル化アルゴリズムのパラメータ化を行うことなく、アプリケーションエンジニアによって問題なく、測定された訓練データのみに基づいて、高次元の非線形相関を扱うことが可能である。他の全ての方法に対して、ベイズ回帰モデルは更に、モデル予測に加えて各問い合わせ点でのモデル分散（モデル不確実性）についての言明を提供することが可能である。このことによって、予測されなかったシステム状態を検出し、対応してこれに応答することが可能となる。このケースは、例えば測定点／訓練データの記録の際にシステムが完全には起動していなかった場合、例えばエンジンが基準測定のために低い回転数で稼働していた場合に発生する可能性がある。特性マップのアプローチは、場合によっては、不変的に予測を続行するであろうし、物理的なアプローチも同様に、特性曲線又は特性マップ上での入力依存性が低減された場合には、予測を不変的に続行するであろう。
【００３２】
上記例のように、訓練段階に、エンジンモデルのために低い回転数についての測定点／訓練データのみが記録されたが、運転者は高い回転数範囲で走行している場合には、追加的なモデル分散によって、現在のシステム状態において信頼性の高い予測を行うためにモデルが適しているかどうかを、制御装置上で確認することが可能となる。ベイズ回帰のモデル分散によって、例えばこの場合にはモデルの信頼性が高くないことを確認することが可能であり、エンジンが誤ったモデルタスクによって損害を受けることがないように、従来の開ループ／閉ループ制御アプローチから、例外的状況のための防御的な開ループ／閉ループ制御アプローチに切り替えることが可能であろう（フェールセーフモード）。エラー信号出力のような他の措置も構想されうる。
【００３３】
図３ａは、入力変数３０１〜３０５を概略的に示しており、この入力変数３０１〜３０５は、出力変数３０６を定めるためにベイズ回帰３０に援用され、出力変数３０６から、開ループ／閉ループ制御機能３００によって、開ループ／閉ループ制御信号３０７が決定される。図３ｂでは、対応する入力変数３１１〜３１５が、ベイズ回帰３１に援用される。出力変数３１６に加えて、当該出力変数３１６の分散３１８が、更なる開ループ／閉ループ制御過程において考慮される。その際に、分散とは、厳密に数学的な意味で理解すべきものではなく、むしろ回帰により評価された、出力変数の決定に伴う不確実性を表している。これに加えて、出力変数３１６に基づいて、防御的な開ループ／閉ループ制御信号３１７を決定する防御的な開ループ／閉ループ制御機能３１０と、従来の開ループ／閉ループ制御信号３２７を決定する従来の開ループ／閉ループ制御機能３２０と、が使用される。分散３１８に従って、決定機能３３０によって、２つの開ループ／閉ループ制御信号３１７と３２７のうちのどちらを開ループ／閉ループ制御信号として出力すべきかが決定される。その際に、分散３１８が高い場合、特に特定の閾値を超える分散３１８の場合には、防御的な開ループ／閉ループ制御信号３１７が選択されるが、それ以外の場合には、従来の開ループ／閉ループ制御信号３２７が選択される。
【００３４】
提案されるベイズ回帰法は、制御装置内で、ソフトウェア、又は少なくとも部分的に特別なソフトウェアで、リアルタイムで計算されうる。ベイズ回帰法は優れて並列化が可能であるため、将来の標準マルチコア構造上、及び専用ソフトウェアでの効率の良い実装が可能である。
【００３５】
ソフトウェア実装の際のＣ言語における対応するアルゴリズムは、例えば以下のようになろう。
【００３６】
float amu_asc_predict_single(
float *p1, /* m_x
(Dim. D) */
float *p2, /* f_x
(Dim. D) */
float *p3, /* Qya
(Dim. N) */
float p4,  /* f_y (Dim. 1)
*/
float p5,  /* m_y (Dim. 1)
*/
unsigned int
p6, /* N (Dim. 1):訓練データの数／外部ループの進行 */
unsigned int
p7, /* D (Dim. 1) */
unsigned int
p8, /* NStart (Dim. 1):外部ループの開始値．第１のインデックス＝０ */
float p9,  /* vlnit (Dim.
1):続行の場合以外は通常０：先行するループ反復の小計 
*/
float *V,  /* hatX (Dim N*D):
変更された訓練データ */
float *u   /* 検査点 tilde u (Dim. D) */
)
{
float v = p9;
float C = 0.0;
float t;
unsigned int k,j,i;
for (k=O;k<p7;k++)
{
u[k} = (u[k]-p1[k])*p2[k];
C + = u[k]*u[k];
}
for (j=p8;j<p6;j++)
{
t = -C;
i
= j*p7;
for (k=O;k<p7;k++)
t+ = V[i+k]*u[k];
v+ = p3[j]*exp(t);
}
return v*p4 + p5;
}
【００３７】
この短縮された形式は、クリギング、ガウス過程、及びスパース・ガウス過程の場合に当てはまる。Ｃ言語から分かるように、ｊについてのループ（数式ではＮについての外側の和）が複数の演算機に渡って分散されるだけではなく（例えば、ＣＰＵ１  Ｐ８〜ｔの和；ＣＰＵ２  ｔ＋１〜ｐ６の和）、別のステップにおいて、中間結果が再び集められることで、モデルの評価がパラメータ化される（例えば、ｖ１＝ＣＰＵ１、ｖ２＝ＣＰＵ２、ｖ＝（ｖ１＋ｖ２）−ｋ＊ｐ５；ｋ個のＣＰＵ−１（例えばｋ＝１））。
【００３８】
例えば上記のソース言語で記述されるような、ソフトウェアでの演算の代わりに、必要なアルゴリズムを、完全に又は部分的に特化されたハードウェアに実装することも可能である。その際に、例えばハードウェアユニット、特に制御装置の演算ユニットに割り当てられた論理回路を、ベイズ回帰を実行するために必要な特定の計算ステップの計算に対して最適化することが可能である。その際に、論理回路上に移された指数関数計算の実施は特に有利である。
【００３９】
図４は、この目的について、制御装置のマイクロコントローラの構成要素とその接続を概略的に示している。その際に、演算ユニット又は演算ユニットのプロセッサコア４１と、第１の大局的なメモリユニット４２と、第２の大局的なメモリユニット４３と、論理回路４４とは、それぞれが通信接続４０に接続され、当該通信接続４０を介して互いに通信することが可能である。通信接続４０は、例えばバスシステムとして設けられうる。図４は、例えばバスブリッジ４６によって、通信接続４０を２つの別々のバスに分割する。論理回路４４は、局所的なメモリユニット４５と接続されうる。
【００４０】
大局的なメモリユニット４２及び４３は、例えばＲＡＭメモリ又はフラッシュメモリとして構成されうる。その際、図４の２つの大局的なメモリの構想は任意の構成である。局所的なメモリ４５は、例えばＲＡＭメモリ又はレジスタとして設けられ、好適に大局的なアドレス領域内で見える。図４に示されるバスブリッジ４６は任意である。以下の記載でより詳細に解説するように、本発明の特別な実現において、局所的なメモリ４５も省略することが可能である。図４に示すマイクロコントローラの構成要素は、完結したものとして理解されるものではなく、特に他のプロセッサコアも設けられる。
【００４１】
その際に、回路構成４４は、指数関数又は、設定可能であるため、様々な指数関数及び指数関数の和を計算するよう構成される。回路構成４４は、状態オートマトンであり、この状態オートマトンは、入力メモリから演算のために入力データを取り出し、演算の間に指数関数を計算し、場合によってはシーケンス制御によって、演算ユニット又はマイクロコントローラのプロセッサコア４１と通信しながら、必要なループ実行において指数関数の和を計算し、従ってマイクロコントローラの複雑なタスクの処理の際又はプロセッサコア４１の演算の際には、ある程度ハードウェア加速器として機能する。その際に論理回路４４は、プロセッサ外部の特別なハードウェア構成要素として存在する。
【００４２】
ハードウェア回路での指数関数の計算の複数の実現が公知である。例えばＢＫＭアルゴリズム（Ｂａｊａｒｄ、Ｋｌａ、Ｍｕｌｌｅｒ）、ＣＯＲＤＩＣアルゴリズム、又は指数関数の近似のための公知の級数展開が想起される。
【００４３】
ここで提案されるマイクロコントローラの論理回路は、計算された指数関数の提供によりマイクロコントローラの演算をサポートし、これにより、指数関数の計算が部分タスクに相当するマイクロコントローラのタスクの計算であって、より迅速で、より好都合で（コスト及び面積の需要）、よりエネルギー効率が良く、より信頼性の高い上記計算を可能としうる。論理回路の設定の可能性により、特にフレキシブルで、効率の良い演算サポートが実現されうる。
【００４４】
論理回路が特別なハードウェア構成要素としてプロセッサの外部に存在するために、プロセッサに対する直接的な依存性が無い。これにより、他のプロセッサ機能の実行速度に対する相互作用が防止される。ソフトウェアの実現に直接的な影響は及ぼされない。限定された機能にも関わらず、実装された機能を可能な限りフレキシブルに使用することが可能であり、このために、ソフトウェアプロセッサにより制御される。
【００４５】
マイクロコントローラ内の論理回路は、当該論理回路が設定可能である場合に、例えばその設定を目的として設定データが設定データメモリから読み出される場合に、特にフレキシブルに使用されうる。このような設定データは、訓練データ若しくはハイパーパラメータであってもよく、又は指数関数又は和が如何に計算されるかに関してもよい。さらに、論理回路が、可変的な長さ及び被加数の和の指数関数を計算するということが設定されてもよい。さらに、様々な指数関数の合算も設定可能であり、その際に、各加算される指数関数について、パラメータ及び加算される指数関数の数が設定されうる。さらに、例えば、論理回路によって様々な演算経路が可能である場合、又は論理回路内で例えば演算のパラメータ化が可能である場合には、設定は指数関数の演算形態にも関連する。
【００４６】
設定データは、有利に、プロセッサにより又はマイクロプロセッサの更なる別の演算ユニットにより、好適に計算されるタスク又は特定の車両情報に従って生成され、論理回路がアクセス権を有する設定データメモリに書き込まれうる。従って論理回路は、計算すべきタスクに対して、さらに、更なる別の条件に対してフレキシブルに調整される。
【００４７】
効率良く設定を実施するために、論理回路は、設定データが内部に格納された接続された（局所的な）メモリを有しうる。
【００４８】
局所的なメモリの投入を節約すべき場合には、論理回路が例えば直接的なメモリアクセス権（ＤＭＡ）を有しうる大局的なメモリに設定データを格納することも有利であり、本解決案においても迅速で確実な設定が可能となる。
【００４９】
図５には、制御装置によって、走行駆動中に、当該走行駆動の前に定められた訓練データのベイズ回帰により出力変数を定める方法のステップが概略的に示されている。
【００５０】
第１のステップ５１において、駆動の前に（オフラインとも称される）入力変数及び出力変数のための訓練データが、例えば制御装置制御業者又は自動者製造業者の工場内で、アプリケーション段階に測定によって定められ、制御装置によるアクセスのために格納される。このようにして決定された値は、１の部分は、車両の駆動中に（オンライン）センサから制御装置へと伝達される値、又は例えばセンサ情報に基づく計算によって間接的に、制御装置により定められうる一般的な値である。これらの値は、オンライン駆動にはモデルの入力値である。他の部分は、制御装置又は車両のオンライン駆動時に、制御装置のために直接的には定めることが出来ない値である。但し、このような値は、車両の特定の機能の制御のために、制御装置が必要とする可能性がある。これらの値は、オンライン駆動時にはモデルの出力値である。
【００５１】
分離線５００は、提示される方法のために、オフラインでの工程ステップ５１と、オンラインでの工程ステップ５２〜５４と、を分離する。
【００５２】
第２の工程ステップ５２において、制御装置は、例えばセンサからの入力変数を受信する。
【００５３】
第３の工程ステップ５３において、制御装置は、受信された入力変数及び場合によっては他の格納された又は演算により定められた入力変数に基づいて、以前にオフラインで定められた訓練データを基にベイズ回帰を実行し、少なくとも１つの出力変数及び場合によっては当該出力変数の分散を定め、この分散から出力変数決定の精度についての言明が導出されうる。その際に制御装置内では、ベイズ回帰が、例えば制御装置の１つ又は複数の演算ユニットによりソフトウェアで実行され、演算の部分タスク、特に指数関数の計算が、そのために最適化されたハードウェアユニット、特に論理回路に移されうる。
【００５４】
第４の工程ステップ５４において、制御装置は、例えばアクチュエータへの開ループ又は閉ループ制御信号の出力による車両内の機能の開ループ又は閉ループ制御のために、決定された出力変数及び場合によってはその分散を利用する。
【００５５】
車両の駆動中に、本方法は、特に様々な出力変数のために、及び様々な入力変数に基づいて、通常では繰り返し連続して実施される。このような方法の様々な方法が、完全に又は部分的に並行して実施されうる。
【図１】
0005523624.tif 000005
【図２ａ】
0005523624.tif 000006
【図２ｂ】
0005523624.tif 000007
【図３ａ】
0005523624.tif 000008
【図３ｂ】
0005523624.tif 000009
【図４】
0005523624.tif 000010
【図５】
0005523624.tif 000011