(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-11-07
(45)【発行日】2024-11-15
(54)【発明の名称】並列処理設計装置、及び並列処理設計方法
(51)【国際特許分類】
G06N 99/00 20190101AFI20241108BHJP
G06F 30/10 20200101ALI20241108BHJP
【FI】
G06N99/00 180
G06F30/10
(21)【出願番号】P 2020144930
(22)【出願日】2020-08-28
【審査請求日】2023-08-09
(73)【特許権者】
【識別番号】000003207
【氏名又は名称】トヨタ自動車株式会社
(73)【特許権者】
【識別番号】514156563
【氏名又は名称】アイメック・ヴェーゼットウェー
【氏名又は名称原語表記】IMEC VZW
(73)【特許権者】
【識別番号】513190014
【氏名又は名称】ウニベルシテイト ヘント
(74)【代理人】
【識別番号】110001519
【氏名又は名称】弁理士法人太陽国際特許事務所
(72)【発明者】
【氏名】菅井 友駿
(72)【発明者】
【氏名】新谷 浩平
(72)【発明者】
【氏名】イヴォ コキュット
(72)【発明者】
【氏名】ニコラス ナッデ
(72)【発明者】
【氏名】ジシャン キング
(72)【発明者】
【氏名】トム ダエネ
【審査官】真木 健彦
(56)【参考文献】
【文献】特開2020-027370(JP,A)
【文献】特開2010-160787(JP,A)
【文献】特開2015-225635(JP,A)
【文献】特開2018-073360(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06N 99/00
G06F 30/10
G06F 30/30
G06Q 10/04
(57)【特許請求の範囲】
【請求項1】
複数の設計変数の次数が所定次数を超える場合に、設計上の寄与が少ない設計変数を棄却すると共に、前記所定次元以下となった複数の設計変数の各々に係る性能が実行可能な領域を探索するための複数の観測点を、前記実行可能な領域の探索に係る獲得関数と前記獲得関数において前記観測点を取り得ない領域を表現するペナルティ関数とを用いて前記複数の設計変数の各々について算出する観測点算出部と、
算出された前記複数の観測点で前記複数の性能の各々が実行可能な確率分布を前記複数の性能の各々について算出する確率分布算出部と、
前記複数の性能の各々について算出した確率分布の総乗を多性能実行可能領域として出力する多性能実行可能領域出力部と、
を含む並列処理設計装置。
【請求項2】
前記観測点算出部は、前記複数の設計変数が各々示す設計空間に存在する複数のデータの分散が所定の閾値以下の設計変数を棄却する請求項1に記載の並列処理設計装置。
【請求項3】
前記獲得関数は、前記実行可能な領域と実行不能な領域との境界近傍の探索に用いられる請求項1又は2に記載の並列処理設計装置。
【請求項4】
前記ペナルティ関数は、ガウス過程回帰を用いてモデル化されるブラックボックス関数のリプシッツ連続性に基づいて定義される請求項1~3のいずれか1項に記載の並列処理設計装置。
【請求項5】
前記観測点算出部は、前記獲得関数を最大にする点を最初の観測点とし、前記獲得関数と前記ペナルティ関数との積が最大になる点を他の観測点とする請求項1~4のいずれか1項に記載の並列処理設計装置。
【請求項6】
複数の設計変数の次数が所定次数を超える場合に、設計上の寄与が少ない設計変数を棄却すると共に、前記所定次元以下となった複数の設計変数の各々に係る性能が実行可能な領域を探索するための複数の観測点を、前記実行可能な領域の探索に係る獲得関数と前記獲得関数において前記観測点を取り得ない領域を表現するペナルティ関数とを用いて前記複数の設計変数の各々について算出する観測点算出工程と、
算出された前記複数の観測点で前記複数の性能の各々が実行可能な確率分布を前記複数の性能の各々について算出する確率分布算出工程と、
前記複数の性能の各々について算出した確率分布の総乗を多性能実行可能領域として出力する多性能実行可能領域出力工程と、
を含む並列処理設計方法。
【請求項7】
前記観測点算出工程は、前記複数の設計変数が各々示す設計空間に存在する複数のデータの分散が所定の閾値以下の設計変数を棄却する請求項6に記載の並列処理設計方法。
【請求項8】
前記獲得関数は、前記実行可能な領域と実行不能な領域との境界近傍の探索に用いられる請求項6又は7に記載の並列処理設計方法。
【請求項9】
前記ペナルティ関数は、ガウス過程回帰を用いてモデル化されるブラックボックス関数のリプシッツ連続性に基づいて定義される請求項6~8のいずれか1項に記載の並列処理設計方法。
【請求項10】
前記観測点算出工程は、前記獲得関数を最大にする点を最初の観測点とし、前記獲得関数と前記ペナルティ関数との積が最大になる点を他の観測点とする請求項6~9のいずれか1項に記載の並列処理設計方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、車体等の構造体の設計に係る並列処理設計装置、及び並列処理設計方法に関する。
【背景技術】
【0002】
構造体の設計においては、強度、剛性、重量軽減、及び振動の抑制等の場合によっては相反する複数の性能(多性能)の各々を最適化し得る設計手法の確立が重要な課題の1つとされており、コンピュータシミュレーションによって多性能の各々を同時並行的に最適化する手法が研究されている。
【0003】
非特許文献1には、製品を設計する場合、既知の複数の制約条件の中で、対象性能が成立する領域を求める。解の探索手法としてはベイズ最適化を用いて、獲得関数(Acquisition Function)であるEntropy Search(ES)を最大化するような設計変数を探索する。そして、ESを用いて限られた観測点のみを探索し実行可能領域を十分な精度でモデル化する手法が開示されている。
【先行技術文献】
【特許文献】
【0004】
【文献】Philipp Hennig and Christian J. Schuler , “Entropy Search for Information-Efficient Global Optimization ,” Journal of Machine Learning Research, vol. 13, no. Jun, pp. 1809-1837, 2012.
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、非特許文献1に記載の発明は、設計変数が多い場合、例えば30次元以上のような場合には、探索空間が指数関数的に増加し、効率的な探索が困難になるという問題があった。
【0006】
本発明は、上記事実を考慮し、多性能の実行可能領域を効率的に探索することが可能な並列処理設計装置、及び並列処理設計方法を提供することを目的とする。
【課題を解決するための手段】
【0007】
請求項1に記載の並列処理設計装置は、複数の設計変数の次数が所定次数を超える場合に、設計上の寄与が少ない設計変数を棄却すると共に、前記所定次元以下となった複数の設計変数の各々に係る性能が実行可能な領域を探索するための複数の観測点を、前記実行可能な領域の探索に係る獲得関数と前記獲得関数において前記観測点を取り得ない領域を表現するペナルティ関数とを用いて前記複数の設計変数の各々について算出する観測点算出部と、算出された前記複数の観測点で前記複数の性能の各々が実行可能な確率分布を前記複数の性能の各々について算出する確率分布算出部と、前記複数の性能の各々について算出した確率分布の総乗を多性能実行可能領域として出力する多性能実行可能領域出力部と、を含む。
【0008】
請求項1に記載の並列処理設計装置は、計算上寄与が小さい次元を棄却して低次元化することで計算コストの指数関数的な増大を抑制し、高次元な設計への実質的な対応を可能とする。
【0009】
また、請求項1に記載の並列処理設計装置は、獲得関数において観測点を取り得ない領域を表現するペナルティ関数を用いることにより、観測点の探索の効率化を可能とする。
【0010】
請求項2に記載の並列処理設計装置は、請求項1に記載の並列処理設計装置において、前記観測点算出部は、前記複数の設計変数が各々示す設計空間に存在する複数のデータの分散が所定の閾値以下の設計変数を棄却する。
【0011】
請求項2に記載の並列処理設計装置は、複数のデータの分散が所定の閾値以下の設計変数を棄却することにより、設計変数の低次元化を行う。
【0012】
請求項3に記載の並列処理設計装置は、請求項1又は2に記載の並列処理設計装置において、前記獲得関数は、前記実行可能な領域と実行不能な領域との境界近傍の探索に用いられる。
【0013】
請求項3に記載の並列処理設計装置は、実行可能な領域と実行不能な領域との境界近傍に存在する観測点を取得できる。
【0014】
請求項4記載の並列処理設計装置は、請求項1~3のいずれか1項に記載の並列処理設計装置において、前記ペナルティ関数は、ガウス過程回帰を用いてモデル化されるブラックボックス関数のリプシッツ連続性に基づいて定義される。
【0015】
請求項4に記載の並列処理設計装置は、グラフ上の任意の二点を結ぶ直線の傾きの絶対値に上限が存在するリプシッツ連続性に基づいて、観測点を取得する領域を限定できる。
【0016】
請求項5に記載の並列処理設計装置は、請求項1~4のいずれか1項に記載の並列処理設計装置において、前記観測点算出部は、前記獲得関数を最大にする点を最初の観測点とし、前記獲得関数と前記ペナルティ関数との積が最大になる点を他の観測点とする。
【0017】
請求項5に記載の並列処理設計装置は、並列処理において同時に算出可能な獲得関数の最大値、及び獲得関数とペナルティ関数との積の最大値を算出することにより、複数の観測点を同時に取得できる。
【0018】
請求項6に記載の並列処理設計方法は、前記複数の設計変数の次数が所定次数を超える場合に、設計上の寄与が少ない設計変数を棄却すると共に、前記所定次元以下となった複数の設計変数の各々に係る性能が実行可能な領域を探索するための複数の観測点を、前記実行可能な領域の探索に係る獲得関数と前記獲得関数において前記観測点を取り得ない領域を表現するペナルティ関数とを用いて前記複数の設計変数の各々について算出する観測点算出工程と、算出された前記複数の観測点で前記複数の性能の各々が実行可能な確率分布を前記複数の性能の各々について算出する確率分布算出工程と、前記複数の性能の各々について算出した確率分布の総乗を多性能実行可能領域として出力する多性能実行可能領域出力工程と、を含む。
【0019】
請求項6に記載の並列処理設計方法は、計算上寄与が小さい次元を棄却して低次元化することで計算コストの指数関数的な増大を抑制し、高次元な設計への実質的な対応を可能とする。
【0020】
また、請求項6に記載の並列処理設計方法は、獲得関数において観測点を取り得ない領域を表現するペナルティ関数を用いることにより、観測点の探索の効率化を可能とする。
【0021】
請求項7に記載の並列処理設計方法は、請求項6に記載の並列処理設計方法において、前記観測点算出工程は、前記複数の設計変数が各々示す設計空間に存在する複数のデータの分散が所定の閾値以下の設計変数を棄却する。
【0022】
請求項7に記載の並列処理設計方法は、複数のデータの分散が所定の閾値以下の設計変数を棄却することにより、設計変数の低次元化を行う。
【0023】
請求項8に記載の並列処理設計方法は、請求項6又は7に記載の並列処理設計方法において、前記獲得関数は、前記実行可能な領域と実行不能な領域との境界近傍の探索に用いられる。
【0024】
請求項8に記載の並列処理設計方法は、実行可能な領域と実行不能な領域との境界近傍に存在する観測点を取得できる。
【0025】
請求項9に記載の並列処理設計方法は、請求項6~8のいずれか1項に記載の並列処理設計方法において、前記ペナルティ関数は、ガウス過程回帰を用いてモデル化されるブラックボックス関数のリプシッツ連続性に基づいて定義される。
【0026】
請求項9に記載の並列処理設計方法は、グラフ上の任意の二点を結ぶ直線の傾きの絶対値に上限が存在するリプシッツ連続性に基づいて、観測点を取得する領域を限定できる。
【0027】
請求項10に記載の並列処理設計方法は、請求項6~9のいずれか1項に記載の並列処理設計方法において、前記観測点算出工程は、前記獲得関数を最大にする点を最初の観測点とし、前記獲得関数と前記ペナルティ関数との積が最大になる点を他の観測点とする。
【0028】
請求項10に記載の並列処理設計方法は、並列処理において同時に算出可能な獲得関数の最大値、及び獲得関数とペナルティ関数との積の最大値を算出することにより、複数の観測点を同時に取得できる。
【発明の効果】
【0029】
以上説明したように、本発明に係る並列処理設計装置、及び並列処理設計方法によれば、多性能の実行可能領域を効率的に探索することが可能となる。
【図面の簡単な説明】
【0030】
【
図1】本発明の実施形態に係る並列処理設計装置の具体的な構成の一例を示すブロック図である。
【
図2】本発明の実施形態に係る並列処理設計装置のCPUの機能ブロック図を示す。
【
図3】本発明の実施形態におけるシステム設計の概念図である。
【
図4】本発明の実施形態に係る機械学習(Active learning)の実行可能領域の導出に係るフローチャートの一例である。
【
図5】
図4のステップ406の詳細を記したフローチャートである。
【
図6】ガウス過程回帰を用いた1次元関数の回帰の一例を示した概略図である。
【
図7】ガウス過程回帰によって導出された制約条件の確率分布の一例である。
【
図8】本発明の実施形態における次元圧縮の概念図である。
【
図9】獲得関数α(x)による計算結果の一例を示した概略図である。
【
図10】リプシッツ連続性の一例を示した説明図である。
【
図11】(A)は、獲得関数が最大になる点を第1の(最初の)観測点として取得する場合を、(B)は、ペナルティ関数を用いて第2の(次の)観測点を取得する場合を、(C)は、第3の(さらに次の)観測点を取得する場合を各々示した説明図である。
【
図12】従来手法のF1スコアと、本実施形態のF1スコアとを比較した概略図である。
【発明を実施するための形態】
【0031】
以下、
図1を用いて、本実施形態に係る並列処理設計装置、及び並列処理設計方法について説明する。
図1は、本発明の実施形態に係る並列処理設計装置10の具体的な構成の一例を示すブロック図である。
【0032】
並列処理設計装置10は、コンピュータ30を含んで構成されている。コンピュータ30は、CPU32、ROM34、RAM36、及び入出力ポート38を備える。一例としてコンピュータ30は、エンジニアリングワークステーション、又はスーパーコンピュータ等の、高度な演算処理を高速で実行できる機種であることが望ましい。
【0033】
コンピュータ30では、CPU32、ROM34、RAM36、及び入出力ポート38がアドレスバス、データバス、及び制御バス等の各種バスを介して互いに接続されている。入出力ポート38には、各種の入出力機器として、ディスプレイ40、マウス42、キーボード44、ハードディスク(HDD)46、及び各種ディスク(例えば、CD-ROMやDVD等)48から情報の読み出しを行うディスクドライブ50が各々接続されている。
【0034】
また、入出力ポート38には、ネットワーク52が接続されており、ネットワーク52に接続された各種機器と情報の授受が可能とされている。本実施形態では、ネットワーク52には、データベース(DB)54が接続されたデータサーバ56が接続されており、DB54に対して情報の授受が可能とされている。
【0035】
DB54には、並列処理設計に係るデータ等が予め記憶される。DB54への情報の記憶は、コンピュータ30やデータサーバ56によって登録してもよいし、ネットワーク52に接続された他の機器によって登録するようにしてもよい。
【0036】
本実施形態では、データサーバ56に接続されたDB54に、並列処理設計のデータ等が記憶されるものとして説明するが、コンピュータ30に内蔵されたHDD46や外付けのハードディスク等の外部記憶装置にDB54の情報を記憶するようにしてもよい。
【0037】
コンピュータ30のHDD46には、並列処理設計のための並列処理設計プログラムがインストールされている。本実施形態では、CPU32が並列処理設計プログラムを実行することにより、並列処理設計を実行する。また、CPU32は、並列処理設計プログラムによる処理結果をディスプレイ40に表示させる。なお、本実施形態の並列処理設計プログラムをコンピュータ30にインストールするには、幾つかの方法があるが、例えば、並列処理設計プログラムをセットアッププログラムと共にCD-ROMやDVD等に記憶しておき、ディスクドライブ50にディスクをセットし、CPU32に対してセットアッププログラムを実行することによりHDD46に並列処理設計プログラムをインストールする。または、公衆電話回線又はネットワーク52を介してコンピュータ30と接続される他の情報処理機器と通信することで、HDD46に並列処理設計プログラムをインストールするようにしてもよい。
【0038】
図2は、並列処理設計装置10のCPU32の機能ブロック図を示す。並列処理設計装置10のCPU32が並列処理設計プログラムを実行することで実現される各種機能について説明する。並列処理設計プログラムは、シミュレーションにより複数の性能の各々について観測値を取得するシミュレーション機能、取得した離散的な観測値を補完して複数の性能の各々について連続的な予測値及び予測誤差を出力する観測値補完機能、複数の性能の各々が実行可能な領域を探索するための複数の観測点を算出する観測点算出機能、複数の観測点で複数の性能の各々が実行可能な確率分布を算出する確率分布算出機能、及び複数の性能の各々について算出した確率分布の総乗を多性能実行可能領域として出力する多性能実行可能領域出力機能を備えている。CPU32がこの各機能を有する並列処理設計プログラムを実行することで、CPU32は、
図2に示すように、シミュレーション部72、観測値補完部74、観測点算出部76、確率分布算出部78、及び多性能実行可能領域出力部80として機能する。
【0039】
並列処理設計では、設計対象における強度、剛性、重量軽減、及び振動の抑制等の複数種類の各々異なる、場合によっては互いに相反する性能の各々を最適化し得る実行可能領域を導出する。実行可能領域を導出するには、一般的には、以下の手順による。初めに、性能に係る変数と当該変数の応答との間のモデルを定義する。次に、先に定義したモデル上でランダムサンプリングにより実行可能領域の候補を取得する。そして、取得した結果から、応答の制約条件を満たすサンプルを抽出する。かかる手順は、原理的に単純ではあるものの、設計変数の次元が大きくなると探索すべき空間が指数関数的に増大し、その結果、計算コストが膨大となる問題がある。
【0040】
本実施形態では、計算上の寄与が少ない次元を棄却する次元圧縮を用いることにより、計算コストの指数関数的な増大を抑制することができる。
【0041】
また、本実施形態では、実行可能領域を確率分布で表現することにより、多性能における各々の性能の実行可能領域を独立して求めることが可能になると共に、各々の性能の実行可能領域を乗算することにより、多性能実行可能領域を容易に導出することが可能となる。また、新たな制約条件が課せられた場合でも、新たな制約条件に係る確率分布を独立して導出し、導出した確率分布を上述の多性能実行可能領域に乗算することにより、新たな制約条件を考慮した多性能実行可能領域を導出することが可能となる。
【0042】
図3は、本実施形態におけるシステム設計の概念図である。
図3の(1)は、設計の初期段階で、性能1、性能2及び性能3の各々の性能の制約条件を成立させる実行可能領域を確率分布Pr(C
k(x))(k=1、…、K)として効率的に導出する。本実施形態におけるPr(C
k(x))は、各々の性能の実現に係る確率であるから、以下のようになる。C
k(x)は、xを変数とするブール値関数である。
0≦Pr(C
k(x))≦1
【0043】
図3の(2)は、多性能実行可能領域の確率による表現の一例を示している。上述のように、性能1~3の各々が実現する確率分布はPr(C
k(x))であるから、性能1~3が同時に実現する領域である多性能実行可能領域は、性能の各々に係る確率分布の総乗で表される。実際の設計では、設計変数が30次元以上になる場合もあり得るため、確率分布の導出に係る探索空間が指数関数的に増加し、効率的な探索は困難となる。本実施形態では、後述するように、設計における寄与の低い設計変数を棄却する次元削減によって演算負荷を抑制する。
【0044】
図4は、本実施形態に係る機械学習(Active learning)の実行可能領域の導出に係るフローチャートの一例である。CPU32がROM34又はディスクドライブ50からプログラムを読み出して、RAM13に展開して実行することにより、
図4に示す処理が行なわれる。
図4に示した処理では、前提として、多性能を実現するための条件を入力することを要する。入力する条件は、一例として、以下のような多性能における各々の性能についての制約関数g
k(x)である。制約関数における添え字のkは、制約条件の次数であり、多性能における各々の性能についてのインデックスでもあり、Kは多性能を構成する変数の最大次数である。
【0045】
多性能における各々の性能が実行可能な確率は、下記の式(1)のようになる。式(1)の左辺中のC
k(x)は、上述のように、xを変数とするブール値関数である。式(1)の右辺におけるδ
kは、許容誤差を示す小さな正の値である。
【0046】
また、性能k(k=1、2、…、K)が同時に実現する領域である多性能実行可能領域は、性能の各々に係る確率の総乗として下記の式(2)のようになる。
【0047】
ステップ400では、構造体の位置、又は構造体に作用する慣性モーメント等の変数xに対する強度、剛性、重量軽減、及び振動の抑制等の多性能yを実行可能な領域を導出するための実験計画を生成する。また、ステップ400では、実験計画によって定義した設計をCAE(Computer Aided Engineering)等のシミュレーションで評価する。CAE等のシミュレーションにより、変数xに対応する例えばyの値が観測値として離散的に導出される。
【0048】
ステップ402では、予測モデルの構築を行う。本実施形態では、変数xに対する観測値yの相関を考慮する事によって観測値yを補間及び予測する事が可能なガウス過程回帰という手法を利用する。ガウス過程回帰は一般的に変数xと観測値yとの相関をガウス分布によって決定するというもので、離散的な観測値yを確率的に連続的に補間ができるのみならず、予測誤差を算出可能なのが特徴である。
【0049】
図6は、ガウス過程回帰を用いた1次元関数の回帰の一例を示した概略図である。
図6には、観測値100A、100B、100C、100D、100E、100Fが連続する場合を想定した曲線102が示されている。
図6に示したように、曲線102は変数xに対応した連続関数となっている。連続関数であることから、離散データの補間及び予測が可能となるのみならず、変数xでの微分も可能になる。
図6において、曲線102の周囲には予測誤差106の領域が存在する。予測誤差106の領域は、曲線102が示す予測値の信頼性が高い場合は狭くなるが、当該信頼性が低い場合は広くなる。
図6には、一例としてy=0の不等式制約値104が示されている。本実施形態では、応答yが不等式制約値104より小さい領域を実行可能領域と定義する。
【0050】
本実施形態では、ガウス過程回帰で得られた離散データの補完、予測誤差106、不等式制約値104を用いて、変数xに対する累積密度分布(CDF)を算出する。
【0051】
図7は、ガウス過程回帰によって導出された制約条件の確率分布の一例である。
図7は、横軸が変数x、縦軸が累積密度分布の値である。
図7の累積密度分布110は、
図6のyの値が不等式制約値104以下になる場合の確率を示している。累積密度分布Φを用いると、上述の式(1)は、下記の式(1A)のようになり、累積密度分布Φから変数xに対する確率分布Pr(C
k(x))が算出される。下記式中のbは後述する下層境界134に係る数値である。また、下記式中のσ(x)は、ガウス過程回帰の計算過程で算出される予測偏差であり、μ(x)は、予測平均値である。
【0052】
本実施形態では、ガウス過程回帰の結果(予測値、予測誤差)を用いて設計空間における多性能実行可能領域を探索するための観測点を算出するが、設計変数の次数が高次元だと、探索空間が指数関数的に増加してしまう。ステップ404では、ガウス過程回帰を用いて構築した予測モデルの設計変数の次数が所定次元以下か否かを判定する。所定次元は、例えば、10次元から30次元のいずれかの次元である。
【0053】
ステップ404で予測モデルの設計変数の次数が所定次元以下の場合は、手順をステップ406に移行する。ステップ404で予測モデルの設計変数の次数が所定次元以下でない場合は、手順をステップ408に移行する。
【0054】
ステップ406では、後述する獲得関数(Acquisition Function)と同じく後述するペナルティ関数とを用いて観測点を探索すると共に、探索した新たな観測点を機械学習の教師データに追加して教師データを更新する。ステップ406での処理の詳細は、
図5等を用いて後述する。
【0055】
ステップ408では、低寄与次元を棄却する。本実施形態では、VAR(Variance Average Relevance)を用いて設計上の寄与が低い次元を検出する。VARは
図8に示すように、i次元(i=1、2、…、K)の設計空間における変数x
jに関してJ方向での事後平均の分散を各々算出し、算出した各々の分散を所定の閾値と比較する。その結果、分散値が閾値以下の場合は有意でないとみなし、当該分散を算出したi次元の変数x
jを棄却することで次元圧縮を行う。所定の閾値については、演算負荷を考慮して決定する。例えば、多少でも演算負荷を大きくしても問題がない場合は、当該閾値を低めに設定し、演算負荷を抑制したい場合は、当該閾値を高めに設定する。
【0056】
ステップ410では、次元圧縮した予測モデルの構築を行う。より具体的には、前述したガウス過程回帰を用いて次元圧縮した変数xに対する観測値yの補完及び予測誤差等を算出する。
【0057】
ステップ412では、処理の終了条件を充足したか否かを判定する。ステップ412の終了条件は、下記の式(3)、(4)、(5)の各々で定義され、式(5)に示す終了条件を用いて計算の収束判定を行う。式(5)は領域全体に対して、成立/非成立の判定が十分にできてない領域の比率、すなわち、設計に係る領域に対する観測点の算出がなされていない領域の比率を表す。式(4)中のδ
kは許容誤差を示す小さな正の値である。また、式(5)の右辺のεは、終了条件を示す閾値で、小さな正の値である。ステップ412で処理の終了条件を充足した場合は、手順をステップ416に移行する。ステップ412で処理の終了条件を充足しない場合は、手順をステップ414に移行する。
【0058】
ステップ414では、構築した次元圧縮モデルを出力し、ステップ406での機械学習に供する。
【0059】
ステップ416では、実行可能領域を示すモデルの出力を行って処理を終了する。各性能の実行可能領域が確率分布Pr(C
k(x))として求めることができれば、すべての性能制約を満足する多性能実行可能領域は上述した式(2)のように、同時確率分布として容易に求めることができる。
【0060】
図5は、
図4のステップ406の詳細を記したフローチャートである。ステップ500では、同時かつ並列的に複数の観測点をサンプリングし、ガウス過程回帰に基づく予測モデルを更新することで、機械学習プロセスの向上を図る一括機械学習を行う。
【0061】
従来の予測モデルでは、1つの観測点を取得するごとに、獲得関数と回帰モデルの更新を実施していた。しかしながら、本実施形態では、最初の観測点は獲得関数を最大にすることで取得し、残りの(他の)観測点は、リプシッツ連続に基づくペナルティ関数を定義し、獲得関数とペナルティ関数の同時確立が最大になる点を取得する。以上から並列処理において複数の点を同時に取得することが可能である。
【0062】
獲得関数は、ガウス過程回帰に基づいて定義されるES(Entropy Search)としてのα(x)である。α(x)は、実行可能領域120と、実行不能領域122、132との境界(上層境界124、下層境界134)近傍の観測点の探索に用いられる。
図9は、α(x)による計算結果の一例を示した概略図である。
図9では、上層境界124及び下層境界134の近傍に実行可能観測点126及び実行不能観測点128が存在するので、α(x)は、上層境界124又は下層境界134の近傍の探索に適している。α(x)は下記の式(4)で表される。式(6)中のH(p(f(x))はエントロピー(シャノン情報量)である。
【0063】
ペナルティ関数はリプシッツ連続を用いて定式化する。リプシッツ連続性を有するリプシッツ連続関数は変化の速さが制限され、変化の速さに適当な有限値の実数が存在する。従って、当該関数のグラフ上の任意の二点を結ぶ直線の傾きの絶対値には上限があると考えられ、かかる上限値を当該関数のリプシッツ定数Lと定義する。
【0064】
図10は、リプシッツ連続性の一例を示した説明図である。
図10には評価関数の曲線140が示され、曲線140上には評価点142A、142B、142Cが存在する。そして、実行可能領域境界144、146を定義する共に、評価点142Aを通る傾き±Lの直線152A+、152A-、評価点142Bを通る傾き±Lの直線152B+、152B-、及び評価点142Cを通る傾き±Lの直線152C+、152C-を各々定義する。
【0065】
前述のように、リプシッツ連続では関数上のどの点においても、傾き±Lの直線を引くと関数上の任意の2点で示す傾きの絶対値はLよりも小さくなる。従って、直線152A+、152A-と実行可能領域境界146との交叉によって定義される領域160A、直線152B+、152B-と実行可能領域境界146との交叉によって定義される領域160B、及び直線152C+、152C-と実行可能領域境界146との交叉によって定義される領域160Cでは、評価関数が実行可能領域を取りうる可能性は無い。逆に、領域160A、160B、160Cを除いた領域162A、162B、162C、162Dには、実行可能領域が存在する可能性がある。
【0066】
本実施形態では、リプシッツ連続性に基づいてペナルティ関数を定義することで、同一獲得関数において観測点を取り得ない領域160A、160B、160Cを表現する。ペナルティ関数は、前述のガウス過程回帰を用いてモデル化される評価関数(ブラックボックス関数)のリプシッツ連続性と、その事後分布から算出される平均μ及び偏差σとを用いて下記の式(7)として定義される。下記の式(7)中のα、βは、各々実施可能領域の境界を示す値である。
【0067】
本実施形態では、前述のように、獲得関数を最大にする最初の観測点を取得し、残りの観測点は、獲得関数とペナルティ関数の同時確立が最大になる点を取得する。
【0068】
図11は複数の観測点を算出する例を示した説明図で、
図11(A)は、獲得関数が最大になる点を第1の(最初の)観測点として取得する場合を、
図11(B)は、式(7)に示したペナルティ関数を用いて第2の(次の)観測点を取得する場合を、
図11(C)は、第3の(さらに次の)観測点を取得する場合を各々示している。
【0069】
図11(A)では、式(6)で定義した獲得関数α(x)の曲線170が最大となる点を最初の観測点172として取得している。
【0070】
図11(B)では、式(7)で定義したペナルティ関数φ
1(x)(式(7)においてj=1)を用いて第2の観測点178を取得する。具体的には、曲線170で示した獲得関数α(x)と、曲線174で示したペナルティ関数φ
1(x)との積が示す曲線176が最大となる第2の観測点178を抽出する。獲得関数α(x)にペナルティ関数φ
1(x)を乗算することにより、例えば、
図10では観測点を取り得ない領域160A、160B、160Cを除いた領域162A、162B、162C、162Dから観測点を取得することが可能となる。
【0071】
図11(C)では、ペナルティ関数を、曲線180で示したペナルティ関数φ
2(x)(式(7)においてj=2)に更新し、更新したペナルティ関数φ
2(x)を、獲得関数α(x)とペナルティ関数φ
1(x)との積に乗算して得た積が示す曲線182が最大となる第3の観測点184を抽出する。
【0072】
本実施形態では、獲得関数α(x)にペナルティ関数φj(x)(j=1、2、3、…)を逐次乗算して得た積の最大値を抽出することにより、複数の観測点を探索することができる。
【0073】
ステップ502では、取得した観測点の情報を、次元圧縮する以前の予測モデルに写像することにより、機械学習の教師データを更新し、処理をリターンする。
【0074】
式(8)は、30次元のモリス関数であり、関数の値域が10%~20%の範囲に入る実行可能領域を探索する問題である。そして、式(9)は、適合率 (Precision)及び再現率 (Recall)に基づくF1スコアの算出式である。
【0075】
図12は、式(8)、(9)により算出された次元圧縮を伴わない従来手法による実行可能領域探索のF1スコア190と、本実施形態に係る並列処理設計方法の実行可能領域探索のF1スコア192とを示した概略図である。F1スコアは予測領域と正解領域とが一致する場合は1.0を表す。
図12に示したように、60回の計算時点で、従来手法のF1スコア190は0.8程度であるが、本実施形態のF1スコア192は1.0であり、本実施形態に係る次元圧縮は有効であるといえる。
【0076】
以上説明したように、本実施形態は、機械学習を用いて多性能実行可能領域を求める際に、計算上寄与が小さい次元を棄却して低次元化することで計算コストの指数関数的な増大を抑制し、高次元な設計への実質的な対応を可能とする。
【0077】
また、本実施形態は、ガウス過程回帰に基づく獲得関数において、リプシッツ連続を利用して定義されるペナルティ関数を追加することで、観測点探索の並列処理を可能とし、探索プロセスのさらなる効率化を可能とする。本実施形態では、最初の観測点は獲得関数が最大になる点を取得し、その他の観測点においてはペナルティ関数を用いて取得する。獲得関数の最大値、及び獲得関数とペナルティ関数との積の最大値は、並列処理において同時に算出可能なので、複数の観測点を同時に取得できる。
【0078】
本実施形態は、高次元な設計への実質的な対応が可能なので、車両開発において成立範囲を求めたい性能に直結するコンポーネントの設計諸元または制御定数などの設計変数が多い場合においても効率的に解を計算することができる。
【0079】
また、本実施形態は、並列処理によって複数の観測点を取得することにより、従来よりも短期間で実行可能領域の解析が可能である。限られた試験工数で実行可能領域の解析を進めなければならない場合において、1プロセスで処理するのではなく、複数プロセスで同時に処理することで、処理時間の短縮が見込める。
【0080】
本実施形態によれば、例えば、多性能実行可能領域を満足するエンジンマウント諸元の導出が可能である。一例として、エンジンマウント特性、及びエンジンマウント形状等の諸元検討では、エンジンマウント1つに対して20変数(次元)もの検討を要するが、本実施形態によれば、設計次元の減縮と、観測点取得の並列処理とによって、多性能実行可能領域の導出を迅速かつ的確に実行できる。その結果、多性能の実行可能領域を効率的に探索することが可能となる。
【0081】
本実施形態では、獲得関数は、実行可能領域120と、実行不能領域122、132との境界近傍の観測点の探索に適したESを採用したが、実行可能領域120内の観測点の探索に適したPoF(Probability of Feasibility)を採用してもよい。
【0082】
なお、特許請求の範囲に記載の「獲得関数」は明細書の発明の詳細な説明に記載の「獲得関数α(x)」に該当する。
【0083】
なお、上記各実施形態でCPUがソフトウェア(プログラム)を読み込んで実行した処理を、CPU以外の各種のプロセッサが実行してもよい。この場合のプロセッサとしては、FPGA(Field-Programmable Gate Array)等の製造後に回路構成を変更可能なPLD(Programmable Logic Device)、及びASIC(Application Specific Integrated Circuit)等の特定の処理を実行させるために専用に設計された回路構成を有するプロセッサである専用電気回路等が例示される。また、処理を、これらの各種のプロセッサのうちの1つで実行してもよいし、同種又は異種の2つ以上のプロセッサの組み合わせ(例えば、複数のFPGA、及びCPUとFPGAとの組み合わせ等)で実行してもよい。また、これらの各種のプロセッサのハードウェア的な構造は、より具体的には、半導体素子等の回路素子を組み合わせた電気回路である。
【0084】
また、上記各実施形態では、プログラムがディスクドライブ50等に予め記憶(インストール)されている態様を説明したが、これに限定されない。プログラムは、CD-ROM(Compact Disk Read Only Memory)、DVD-ROM(Digital Versatile Disk Read Only Memory)、及びUSB(Universal Serial Bus)メモリ等の非一時的(non-transitory)記憶媒体に記憶された形態で提供されてもよい。また、プログラムは、ネットワークを介して外部装置からダウンロードされる形態としてもよい。
【0085】
(付記項1)
メモリと、
前記メモリに接続された少なくとも1つのプロセッサと、
を含み、
前記プロセッサは、
複数の設計変数の次数が所定次数を超える場合に、設計上の寄与が少ない設計変数を棄却すると共に、前記所定次元以下となった複数の設計変数の各々に係る性能が実行可能な領域を探索するための複数の観測点を、前記実行可能な領域の探索に係る獲得関数と前記獲得関数において前記観測点を取り得ない領域を表現するペナルティ関数とを用いて前記複数の設計変数の各々について算出し、
算出された前記複数の観測点で前記複数の性能の各々が実行可能な確率分布を前記複数の性能の各々について算出し、
前記複数の性能の各々について算出した確率分布の総乗を多性能実行可能領域として出力する、
ように構成されている並列処理設計装置。
【符号の説明】
【0086】
10 並列処理設計装置
30 コンピュータ
32 CPU
34 ROM
36 RAM
38 入出力ポート
40 ディスプレイ
42 マウス
44 キーボード
50 ディスクドライブ
52 ネットワーク
56 データサーバ
74 観測値補完部
76 観測点算出部
78 確率分布算出部
80 多性能実行可能領域出力部
100A、100B、100C、100D、100E、100F 観測値
102 曲線
104 不等式制約値
106 予測誤差
110 累積密度分布
120 実行可能領域
122 実行不能領域
124 上層境界
126 実行可能観測点
128、132 実行不能領域
134 下層境界
170 曲線
172 観測点
174、176 曲線
178 観測点
180、182 曲線
184 観測点