特許第6808047号(P6808047)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

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

▶ ロベルト・ボッシュ・ゲゼルシャフト・ミト・ベシュレンクテル・ハフツングの特許一覧

特許6808047RBFモデルを計算するためのモデル計算ユニット及び制御装置
<>
  • 特許6808047-RBFモデルを計算するためのモデル計算ユニット及び制御装置 図000004
  • 特許6808047-RBFモデルを計算するためのモデル計算ユニット及び制御装置 図000005
  • 特許6808047-RBFモデルを計算するためのモデル計算ユニット及び制御装置 図000006
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6808047
(24)【登録日】2020年12月10日
(45)【発行日】2021年1月6日
(54)【発明の名称】RBFモデルを計算するためのモデル計算ユニット及び制御装置
(51)【国際特許分類】
   G06F 17/10 20060101AFI20201221BHJP
   G06N 3/063 20060101ALI20201221BHJP
【FI】
   G06F17/10 Z
   G06N3/063
【請求項の数】7
【全頁数】8
(21)【出願番号】特願2019-533677(P2019-533677)
(86)(22)【出願日】2017年9月5日
(65)【公表番号】特表2019-526877(P2019-526877A)
(43)【公表日】2019年9月19日
(86)【国際出願番号】EP2017072137
(87)【国際公開番号】WO2018046453
(87)【国際公開日】20180315
【審査請求日】2019年4月18日
(31)【優先権主張番号】102016216952.1
(32)【優先日】2016年9月7日
(33)【優先権主張国】DE
(31)【優先権主張番号】102017215420.9
(32)【優先日】2017年9月4日
(33)【優先権主張国】DE
(73)【特許権者】
【識別番号】591245473
【氏名又は名称】ロベルト・ボッシュ・ゲゼルシャフト・ミト・ベシュレンクテル・ハフツング
【氏名又は名称原語表記】ROBERT BOSCH GMBH
(74)【代理人】
【識別番号】100118902
【弁理士】
【氏名又は名称】山本 修
(74)【代理人】
【識別番号】100140109
【弁理士】
【氏名又は名称】小野 新次郎
(74)【代理人】
【識別番号】100120112
【弁理士】
【氏名又は名称】中西 基晴
(74)【代理人】
【識別番号】100196508
【弁理士】
【氏名又は名称】松尾 淳一
(74)【代理人】
【識別番号】100147991
【弁理士】
【氏名又は名称】鳥居 健一
(72)【発明者】
【氏名】マーケルト、ハイナー
(72)【発明者】
【氏名】グントロ、アンドレ
(72)【発明者】
【氏名】ウルマー、ホルガー
(72)【発明者】
【氏名】クロッペンブルク、エルンスト
【審査官】 田中 幸雄
(56)【参考文献】
【文献】 特表平10−504667(JP,A)
【文献】 特開平4−293626(JP,A)
【文献】 今井正治,やわらかいハードウェア,情報処理,日本,社団法人情報処理学会,1999年 8月15日,第40巻 第8号,789〜794ページ
(58)【調査した分野】(Int.Cl.,DB名)
G06F 17/10
G06N 3/063
(57)【特許請求の範囲】
【請求項1】
ハードウェアにより形成されハードワイヤードされており、結合された関数ブロックにおいて固定的に予め設定された計算アルゴリズムを計算する演算コア(11、13、14)によって、RBFモデルを計算するモデル計算ユニット(22)であって、
前記演算コア(11、13、14)は、RBFモデルのために、入力ベクトルの1つ以上の入力と、サンプルポイント(V[j、k])と、長さスケール(L[j、k])と、サンプルポイントごとに予め設定された重みパラメータ(p3[j])と、に従って出力を計算するよう構成され、
前記出力は、サンプルポイント(V[j、k])ごとに計算された値の和として形成され、前記値は、該当する前記サンプルポイント(V[j、k])に対応付けられた重みパラメータ(p3[j])と、前記長さスケール(L[j、k])により重み付けられた、前記入力ベクトルとの前記該当するサンプルポイント(V[j、k])の距離の二乗に依存して得られた値の指数関数の結果と、の積である、前記モデル計算ユニット(22)において、
前記長さスケール(L[j、k])は、選択的に、局所的な長さスケールとして前記サンプルポイントごとに別々に提供される、あるいは、前記出力(y[0])の前記計算のための選択変数(cfg_rbf_local)に従って、前記局所的な長さスケールの代わりに、次元に基づく長さスケールが利用されることを特徴とする、モデル計算ユニット(22)。
【請求項2】
前記長さスケール(L[j、k])は、局所的な長さスケールとして前記サンプルポイントごとに、及び、前記入力ベクトル(ut)の前記1つ以上の入力ごとに別々に提供されることを特徴とする、請求項1に記載のモデル計算ユニット(22)。
【請求項3】
前記演算コア(11、13、14)は、状態機械(11)と、1つ以上の算術演算ブロック(13、14)、特に、MACブロック及び指数関数計算ブロックと、を含み、及び、特に、前記入力ベクトルの前記1つ以上の入力と、前記サンプルポイント(V[j、k])と、前記長さスケール(L[j、k])と、サンプルポイント(V[j、k])ごとに予め設定された前記重みパラメータ(p3[j])と、前記出力と、を格納するためのメモリ(12)を含む、請求項1又は2に記載のモデル計算ユニット(22)。
【請求項4】
前記演算コア(11、13、14)は、集積モジュールの平面領域に形成される、請求項1〜3のいずれか一項に記載のモデル計算ユニット(22)。
【請求項5】
マイクロプロセッサ(21)と、請求項1〜のいずれか一項に記載の1つ以上のモデル計算ユニット(22)と、含む制御装置(2)。
【請求項6】
前記制御装置(2)は集積回路として形成される、請求項に記載の制御装置(2)。
【請求項7】
自動車内のエンジンシステム(1)を制御するための制御装置(2)としての、請求項又はに記載の前記制御装置(2)を使用する方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、特にRBF(radiale Basisfunktion、放射基底関数)モデルを計算するための、ハードワイヤードされている別体のモデル計算ユニットでの関数モデルの計算に関する。
【背景技術】
【0002】
例えば、内燃機関、エレクトリックパワートレイン、蓄電池等の技術システムを制御する機能は、実際のシステムの数学的な描写に相当するモデルを用いて実現されることが多い。しかしながら、物理的なモデルでは、特に関係が複雑な場合には、必要とされる計算精度が欠けており、今日の計算能力では、このようなモデルを、制御装置のために要求される実時間要求の範囲内で計算することは通常困難である。このような場合のために、データに基づくモデルであって、試験台等を利用して獲得された訓練データのみに基づいて出力と入力との間の関係を記述する上記データに基づくモデルを利用することが考えられている。特に、データに基づくモデルは、複雑な関係をモデル化するために適しており、ここでは、相互関係が生じている複数の入力が適切なやり方でモデルにおいて考慮される。
【0003】
データに基づく関数モデルは、通常は、各適用のために十分なモデル化精度を達成するために多数のサンプルポイントに基づいている。多数のサンプルポイントにより、例えばガウス過程モデル等の、データに基づく関数モデルを用いてモデル値を計算するためには高い計算能力が必要となる。従って、制御装置での適用において、このようなデータに基づく関数モデルを実時間で計算しうるために、ハードウェア構成に基づくモデル計算ユニットが設けられうる。
【発明の概要】
【課題を解決するための手段】
【0004】
本発明に基づいて、請求項1に係るRBFモデルを計算するモデル計算ユニット、並びに、独立形式請求項のいずれか一項に係る制御装置及び制御装置を使用する方法が構想される。
【0005】
更なる別の構成が、引用形式請求項において示される。
【0006】
第1の観点によれば、ハードウェアにより形成されハードワイヤードされており、結合された関数ブロックにおいて固定的に予め設定された計算アルゴリズムを計算する演算コアによって、RBFモデルを計算することであって、演算コアは、RBFモデルのために、入力ベクトルの1つ以上の入力と、サンプルポイントと、長さスケールと、サンプルポイントごとに予め設定された重みパラメータと、に従って出力を計算するよう構成され、上記出力は、サンプルポイントごとに計算された値の和として形成され、上記値は、該当するサンプルポイントに対応付けられた重みパラメータと、長さスケールにより重み付けられた、入力ベクトルとの該当するサンプルポイントの距離の二乗から得られた負の値の指数関数の結果と、の積であり、長さスケールは、局所的な長さスケールとしてサンプルポイントごとに別々に提供される、上記モデル計算ユニットが構想される。
【0007】
上記のモデル計算ユニットの構想は、RBFモデルを計算するためのこのモデル計算ユニットを、制御装置の演算コアにハードウェア構造により別体で形成することである。このやり方で、ほぼハードワイヤードされたハードウェア回路が、以下のような機能を実現するために提供され、即ち、RBFモデルを計算し、その際に、ソフトウェアで制御される、制御装置のマイクロプロセッサで、非常に僅かな計算負荷しか生じさせないことを可能とする上記機能を実現するために提供されうる。モデル計算ユニットにより提供されるハードウェア加速化によって、RBFモデルを実時間でも計算することが可能であり、従って、このようなモデルの利用は、自動車の内燃機関のための制御装置での適用にとって有益でありうる。
【0008】
さらに、RBFモデルの利用によって、例えばガウス過程モデル等の比較可能なデータに基づくモデルの場合よりも少ない数のサンプル点を含む、データに基づくモデル化が可能となる。
【0009】
上記のモデル計算ユニットでは、次元に基づく長さスケールと局所的な長さスケールとの双方によりRBFモデルを計算することを可能とする構成が構想される。局所的な長さスケールの利用によって、曲線度が高く局所的に勾配が大きいRBFモデルも表すことが可能である。
【0010】
さらに、演算コアは、状態機械、及び、入力ベクトルの1つ以上の入力と、サンプルポイントと、長さスケールと、サンプルポイントごとに予め設定されたパラメータと、出力と、を格納するためのメモリ、並びに、1つ以上の算術演算ブロック、特に、MACブロック(固定少数点演算のためのMAC(Multiply‐ACcumulate)又は浮動小数点演算のためのFMA(Fused‐Multiply‐Add))、及び、指数関数ブロックを含みうる。
【0011】
さらに、モデル計算ユニットは、出力の計算のための選択変数に従って、局所的な長さスケールの代わりに、純粋に次元に基づく長さスケールを利用するよう構成されうる。
【0012】
一実施形態によれば、演算コアは、集積モジュールの平面領域に形成されうる。
【0013】
他の観点によれば、マイクロプロセッサと、1つ以上の上記モデル計算ユニットと、を含む制御装置が設けられる。特に、制御装置は集積回路として形成されうる。
【0014】
更に別の観点によれば、自動車内のエンジンシステムを制御するための制御装置としての、上記制御装置を使用する方法が構想される
【図面の簡単な説明】
【0015】
以下では、実施形態が、添付の図面を用いて詳細に解説される。
図1】自動車内のエンジンシステムのための実装のための制御装置の概略図を示す。
図2】制御装置の構成要素としてのモデル計算ユニットの概略図を示す。
図3】RBFモデルのニューロンの位置関係の概略図を示す。
【発明を実施するための形態】
【0016】
図1は、制御される技術的システムの一例として内燃機関3を備えるエンジンシステム1のための制御装置2の概略図を例示している。制御装置2は、マイクロプロセッサ21と、モデル計算ユニット22と、を含み、マイクロプロセッサ21とモデル計算ユニット22とは、別々のモジュールとして形成され、又は統合された形態により、チップ上の別々の平面領域に形成されうる。特に、モデル計算ユニット22は、構造的にマイクロプロセッサ21の演算コアから分けることが可能なハードウェア回路である。
【0017】
モデル計算ユニット22は、基本的にハードワイヤードされており、これに対応じて、マイクロプロセッサ21のように、ソフトウェアコードを実行しこれによりソフトウェアによって予め設定される可変的な関数を実行するようには構成されていない。換言すれば、モデル計算ユニット22にはプロセッサが設けられておらず、従って、モデル計算ユニット22は、ソフトウェアコードによっては駆動可能ではない。予め設定されたモデル関数に焦点を絞ることによって、このようなモデル計算ユニット22の、リソースが最適化された実現が可能となる。集積された構造形態において、モデル計算ユニット22は、面積が最適化されて(flaechenoptimiert)実現され、このことによってさらに、高速の計算が可能となる。
【0018】
制御装置2は基本的に、内燃機関3のセンサシステムにより検知されたセンサ信号S又はセンサ値及び/又は外部の設定Vを処理し、固定的に予め設定された、例えば1〜100msの時間間隔で周期的に、又は、駆動される内燃機関のクランク軸の角度に従って角度に同期して、1つ以上の対応する駆動制御変数Aの値を内燃機関3に印加するために役立ち、従って、内燃機関3は公知のやり方で駆動可能である。
【0019】
図2には、モデル計算ユニット22がより詳細に示されている。モデル計算ユニット22は、状態機械11と、メモリ12と、1つ以上の演算ブロックと、を含み、1つ以上の演算ブロックは、例えば、1つ以上のMACブロック13(MAC)、及び、指数関数を計算するための指数関数計算ブロック(EXP)14を含む。状態機械11、及び、1つ以上の演算ブロック13、14は、モデル計算ユニット22の演算コアALUを形成する。演算ブロックは、MACブロックに加えて又はMACブロックの代わりに、乗算ブロック及び加算ブロックを含んでいてもよい。
【0020】
状態機械11によって、メモリ12の入力メモリ領域に格納された入力の値が、反復されるループ計算によって計算されて出力が獲得され、この出力は、メモリ12の対応する出力メモリ領域に書き込まれる。
【0021】
状態機械11は、RBFモデルを計算するよう構成される。状態機械11は、以下の疑似コードによって記述されうる。

/* 入力変換 */
for (k=0; k<p7; k++) {
ut[k] = u[k]*p1[k] + p2[k];
}

/* ループ計算 */
for (j=p8; j<p6; j++) {
i = j * P7;
t = 0.0f;
for (k=0; k<p7; k++){
d = V[i+k] - ut[k];
t += d * d * L[k];
}
y[0] += p3[j] * exp(-t);
}

/* 出力変換 */
z[0] = y[0] * p4[0] + p5[0];

但し、
p7:入力ベクトルの入力のための最大インデックス値、入力ベクトルの次元を規定する
p8:最小インデックス値(通常はゼロ、計算の中断時及び続行時を除く)
p6:最大インデックス値(サンプルポイントの数)
p3:RBFモデルのパラメータ
u:入力
ut:変換された入力
L:次元単位で逆二乗の長さスケール
V:訓練ポイント又はサンプルポイント
p1、p2:入力ベクトルの入力ごとの入力変換のための変数
p4、p5:次元が1つ(シングルトン(singleton))の出力変換のための変数
【0022】
上記の疑似コードを用いて、RBFモデルのための以下の計算が実行される。即ち、
【0023】
【数1】
【0024】
RBF関数は基本的に、図3に図で示すように3つの層を含むニューロネットワーク、即ち、P7個の入力を含む入力ベクトルについてのp7個のニューロン15を含む入力層S1と、p6個のニューロン15を含む中間層S2であって、活性化関数として動径二次関数(radialquadratische Funktion)が設けられる中間層S2と、1個のニューロン15を含み線形の活性化関数が設けられる出力層S3と、を含むニューロネットワークの特別な形態に相当する。
【0025】
入力ベクトルの入力の入力変換、及び/又は、出力ベクトルの出力の出力変換は、入力ベクトルの要素ごとに予め定められた正規化変数p1及びp2を用いて行われ、又は、出力についてはp4及びp5を用いて行われうる。
【0026】
RBFモデルの計算によって、モデル計算ユニット22のすっきりとした構成が可能となるため、集積された構造形態においてモデル計算ユニット22が要する面積は小さい。
【0027】
RBFモデルを局所的な長さスケールを用いて計算しうるために、サンプルポイントごとに、別の値の長さスケールを設けることが可能である。このことは、サンプルポイントで勾配が互いに強度に異なっているRBFモデルにとって有効でありうる。従って、局所的な長さスケールが、サンプルポイントごとに別々に予め設定される。
【0028】
上述の式に対して、局所的な長さスケールが設けられたRBFモデルは、以下のように計算される。
【0029】
【数2】
【0030】

/* 入力変換 */
for (k=0; k<p7; k++) {
ut[k] = u[k]*p1[k] + p2[k];
}

/* ループ計算 */
for (j=p8; j<p6; j++) {
i = j * P7;
t = 0.0f;
for (k=0; k<p7; k++){
d = ut[k] - V[i+k];
n = (cfg_rbf_local) ? i+k : k;
t += d * d * L[n];
}
y[0] += p3[j] * exp(-t);
}

/* 出力変換 */
for (k=0; k<p9; k++) {
z[k] = y[k] * p4[k] + p5[k];
}
【0031】
変数cfg_rbf_localによって、局所的に逆二乗の長さスケールL[n]が利用されるのか、又は、上記のように、次元ごとに1つの長さスケール値のみが利用されるかが表示される。局所的な長さスケール値、及び、純粋に次元に基づく長さスケール値について、実現に応じて、専有のメモリ領域が予約され、この専有のメモリ領域から、RBFモデルが計算される際に、変数cfg_rbf_localに従って対応する値が取り出される。これにより、局所的な長さスケール値と、純粋に次元に関する長さスケール値と、の双方を用いてRBFモデルを計算することが可能である。このことによって、モデル化されるシステムの曲線度に従った関数選択のフレキシビリティが可能となる。
【0032】
モデル計算のための数式は、一般に、モデル訓練時に決定されうるパラメータ・セットを含んでいる。正規化パラメータp5、p4、p1、p2は、訓練データの平均偏差と標準偏差とから直接的に得られる。カーネル(Kernel、又は、サンプルポイント)の重みp3、カーネルの中央値V、及び、長さスケール・カーネルパラメータLは、好適に、モデル予測値と所与のデータセットとの間の二乗された誤差(残差)を最小とする最小二乗法によって最適化される。モデルの学習を加速化させるために、好適な構成において、損失関数に関するモデルパラメータの誤差も考慮される。カーネルの数が大きい場合には、モデル化のアプローチが、過学習(Overfitting)になりやすい可能性がある。従って、比較検査においてパラメータの数を適切に調整することが提案される。さらに、長さスケールパラメータLの非常に大きな値も過学習に繋がりうる。このことは、パラメータを最大上限値に制限することで防止することが可能である。
図1
図2
図3