(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023017358
(43)【公開日】2023-02-07
(54)【発明の名称】実験計画装置、実験計画方法および実験計画システム
(51)【国際特許分類】
G06Q 10/04 20230101AFI20230131BHJP
G06N 99/00 20190101ALI20230131BHJP
G06N 20/00 20190101ALI20230131BHJP
【FI】
G06Q10/04
G06N99/00 180
G06N20/00
【審査請求】未請求
【請求項の数】15
【出願形態】OL
(21)【出願番号】P 2021121584
(22)【出願日】2021-07-26
(71)【出願人】
【識別番号】000005108
【氏名又は名称】株式会社日立製作所
(74)【代理人】
【識別番号】110001678
【氏名又は名称】藤央弁理士法人
(72)【発明者】
【氏名】須藤 建瑠
(72)【発明者】
【氏名】末松 知夏
【テーマコード(参考)】
5L049
【Fターム(参考)】
5L049AA04
(57)【要約】
【課題】複数の候補点の分散化を図ること。
【解決手段】実験装置に関する入力設計パラメータを入力した場合に実験装置を評価する推論モデルに対し入力設計パラメータを入力した結果出力されるコストに基づいて、入力設計パラメータに誤差逆伝播することにより入力設計パラメータを修正し、修正後の入力設計パラメータに基づいて設計パラメータ候補を決定する実験計画装置は、第1入力設計パラメータを受け付け、第1入力設計パラメータと設計パラメータ候補との距離に関する第1距離コストを算出し、第1距離コストと、第1入力設計パラメータを推論モデルに入力した結果推論モデルから出力される第1コストと、を加算し、加算結果に基づいて第1入力設計パラメータに誤差逆伝播することにより第1入力設計パラメータを修正し、修正後の第1入力設計パラメータに基づいて第1設計パラメータ候補を決定する。
【選択図】
図3
【特許請求の範囲】
【請求項1】
実験装置に関する入力設計パラメータを入力した場合に前記実験装置を評価する推論モデルに対し前記入力設計パラメータを入力した結果出力されるコストに基づいて、前記入力設計パラメータに誤差逆伝播することにより前記入力設計パラメータを修正し、修正後の入力設計パラメータに基づいて設計パラメータ候補を決定する実験計画装置であって、
第1入力設計パラメータを受け付ける入力部と、
前記第1入力設計パラメータと前記設計パラメータ候補との距離に関する第1距離コストを算出する第1距離コスト算出部と、
前記第1距離コスト算出部によって算出された第1距離コストと、前記第1入力設計パラメータを前記推論モデルに入力した結果前記推論モデルから出力される第1コストと、を加算するコスト加算部と、
前記コスト加算部による加算結果に基づいて前記第1入力設計パラメータに誤差逆伝播することにより前記第1入力設計パラメータを修正する修正部と、
前記修正部による修正後の前記第1入力設計パラメータに基づいて第1設計パラメータ候補を決定する決定部と、
を有することを特徴とする実験計画装置。
【請求項2】
請求項1に記載の実験計画装置であって、
前記入力部は、前記修正後の第1入力設計パラメータを受け付け、
前記第1距離コスト算出部は、前記修正後の第1入力設計パラメータと前記設計パラメータ候補との距離に関する前記第1距離コストを算出する、
ことを特徴とする実験計画装置。
【請求項3】
請求項1に記載の実験計画装置であって、
前記修正部は、前記第1入力設計パラメータを勾配降下することにより前記第1入力設計パラメータに誤差逆伝播し、前記第1入力設計パラメータを修正する、
ことを特徴とする実験計画装置。
【請求項4】
請求項3に記載の実験計画装置であって、
前記第1入力設計パラメータの勾配降下に関するコストが、所定の条件を充足するか否かを判定する判定部を有し、
前記修正部は、前記判定部により前記条件を充足すると判定された場合、前記修正後の第1入力設計パラメータを前記第1設計パラメータ候補として出力する、
ことを特徴とする実験計画装置。
【請求項5】
請求項4に記載の実験計画装置であって、
前記条件は、前記勾配降下に関するコストのしきい値により規定され、
前記決定部は、前記判定部により前記勾配降下に関するコストが前記しきい値以下となったと判定された場合、前記修正後の第1入力設計パラメータを前記第1設計パラメータ候補に決定する、
ことを特徴とする実験計画装置。
【請求項6】
請求項1に記載の実験計画装置であって、
前記第1設計パラメータ候補が出力されると、前記第1設計パラメータ候補を用いて第2距離コストを算出する第2距離コスト算出部を追加する設定部を有し、
前記入力部は、前記第1設計パラメータ候補が出力されたときの前記修正後の第1入力設計パラメータを第2入力設計パラメータとして受け付け、
前記第1距離コスト算出部は、前記第2入力設計パラメータと、前記設計パラメータ候補と、の距離に関する前記第1距離コストを算出し、
前記第2距離コスト算出部は、前記第2入力設計パラメータと、前記第1設計パラメータ候補と、の距離に関する第2距離コストを算出し、
前記コスト加算部は、前記第2入力設計パラメータを前記推論モデルに入力した場合に前記推論モデルから出力される第2コストと、前記第1距離コストと、前記第2距離コストと、を加算し、
前記修正部は、前記コスト加算部による加算結果に基づいて前記第2入力設計パラメータに誤差逆伝播することにより前記第2入力設計パラメータを修正し、
前記決定部は、前記修正部による修正後の前記第2入力設計パラメータに基づいて第2設計パラメータ候補を決定する、
ことを特徴とする実験計画装置。
【請求項7】
請求項1に記載の実験計画装置であって、
前記第1距離コスト算出部は、前記設計パラメータ候補に替えて前記第1距離コストの値が0になるような特定の値が設定されており、前記設計パラメータ候補が決定されると、前記特定の値を前記設計パラメータ候補に置換して、前記第1入力設計パラメータと前記設計パラメータ候補との距離に関する前記第1距離コストを算出する、
ことを特徴とする実験計画装置。
【請求項8】
請求項7に記載の実験計画装置であって、
前記特定の値が設定された第2距離コスト算出部を有し、
前記入力部は、前記第1設計パラメータ候補が出力されたときの前記修正後の第1入力設計パラメータを第2入力設計パラメータとして受け付け、
前記第2距離コスト算出部は、前記決定部によって前記第1設計パラメータ候補が決定されると、前記特定の値を前記第1設計パラメータ候補に置換して、前記第2入力設計パラメータと、前記第1設計パラメータ候補と、の距離に関する第2距離コストを算出し、
前記コスト加算部は、前記第2入力設計パラメータを前記推論モデルに入力した場合に前記推論モデルから出力される第2コストと、前記第1距離コストと、前記第2距離コストと、を加算し、
前記修正部は、前記コスト加算部による加算結果に基づいて前記第2入力設計パラメータに誤差逆伝播することにより前記第2入力設計パラメータを修正し、
前記決定部は、前記修正部による修正後の前記第2入力設計パラメータに基づいて第2設計パラメータ候補を決定する、
ことを特徴とする実験計画装置。
【請求項9】
請求項1に記載の実験計画装置であって、
前記第1距離コスト算出部は、前記距離と所定の離間距離との差に基づいて、第1距離コストを算出する、
ことを特徴とする実験計画装置。
【請求項10】
請求項1に記載の実験計画装置であって、
前記第1入力設計パラメータが存在するグリッド化された設計パラメータ空間において、前記設計パラメータ空間内の前記第1入力設計パラメータから最短距離の格子点に前記第1入力設計パラメータを量子化する量子化部を有し、
前記修正部は、前記コスト加算部による加算結果に基づいて、前記量子化部によって量子化された第1入力設計パラメータに誤差逆伝播することにより、前記量子化された第1入力設計パラメータを、前記格子点とは異なる他の格子点に位置するように修正する、
ことを特徴とする実験計画装置。
【請求項11】
請求項1に記載の実験計画装置であって、
前記第1距離コスト算出部は、前記第1入力設計パラメータと前記設計パラメータ候補とのユークリッド距離に関する前記第1距離コストを算出する、
ことを特徴とする実験計画装置。
【請求項12】
請求項1に記載の実験計画装置であって、
前記推論モデルから出力される前記第1コストを調整し、調整後の第1コストを前記コスト加算部に出力する調整部を有する、
ことを特徴とする実験計画装置。
【請求項13】
請求項12に記載の実験計画装置であって、
前記調整部は、外部からの設定により、前記コスト加算部からの加算結果を増減するように調整可能な制御点を有する、
ことを特徴とする実験計画装置。
【請求項14】
実験装置に関する入力設計パラメータを入力した場合に前記実験装置を評価する推論モデルに対し前記入力設計パラメータを入力した結果出力されるコストに基づいて、前記入力設計パラメータに誤差逆伝播することにより前記入力設計パラメータを修正し、修正後の入力設計パラメータに基づいて設計パラメータ候補を決定する実験計画装置による実験計画方法であって、
前記実験計画装置は、
第1入力設計パラメータを受け付ける入力処理と、
前記第1入力設計パラメータと前記設計パラメータ候補との距離に関する第1距離コストを算出する第1距離コスト算出処理と、
前記第1距離コスト算出処理によって算出された第1距離コストと、前記第1入力設計パラメータを前記推論モデルに入力した結果前記推論モデルから出力される第1コストと、を加算するコスト加算処理と、
前記コスト加算処理による加算結果に基づいて前記第1入力設計パラメータに誤差逆伝播することにより前記第1入力設計パラメータを修正する修正処理と、
前記修正処理による修正後の前記第1入力設計パラメータに基づいて第1設計パラメータ候補を決定する決定処理と、
を実行することを特徴とする実験計画方法。
【請求項15】
入力設定パラメータが入力される実験装置と、前記実験装置に関する入力設計パラメータを入力した場合に前記実験装置を評価する推論モデルに対し前記入力設計パラメータを入力した結果出力されるコストに基づいて、前記入力設計パラメータに誤差逆伝播することにより前記入力設計パラメータを修正し、修正後の入力設計パラメータに基づいて設計パラメータ候補を決定する実験計画装置と、を有する実験計画システムであって、
実験計画装置は、
前記実験装置に関する第1入力設計パラメータを受け付ける入力部と、
前記第1入力設計パラメータと前記設計パラメータ候補との距離に関する第1距離コストを算出する第1距離コスト算出部と、
前記第1距離コスト算出部によって算出された第1距離コストと、前記第1入力設計パラメータを前記推論モデルに入力した結果前記推論モデルから出力される第1コストと、を加算するコスト加算部と、
前記コスト加算部による加算結果に基づいて前記第1入力設計パラメータに誤差逆伝播することにより前記第1入力設計パラメータを修正する修正部と、
前記修正部による修正後の前記第1入力設計パラメータに基づいて、前記実験装置に入力させる第1設計パラメータ候補を決定する決定部と、
を有することを特徴とする実験計画システム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、実験装置による実験を計画する実験計画装置、実験計画方法および実験計画システムに関する。
【背景技術】
【0002】
ニューラルネットワークを用いた推論モデルが盛んに作られており、これらの推論モデルを活用して実験計画を行うことで、複雑な製品を低コストで設計することが可能と考えられる。この実験計画用途では、実験候補点は以下の要件(1)~(3)を満たす必要がある。
【0003】
(1)出力される候補点は、最終採用すべき一点のみの解だけではなく、実験すべき複数の候補解を出力する必要がある。
(2)複数の候補点同士は、実験上優位な差が期待される必要がある。ほぼ同じ条件や同じ結果の点ばかりで実験していたら意味のあるデータが得られない。
(3)候補点の持つ性質を、直観的に制御しやすい。
【0004】
また、ニューラルネットワークを用いた技術として下記特許文献1および2がある。下記特許文献1は、ニューラルネットワークの1または複数のノード間に情報要素を備えるニューラルネットワークを開示する。情報要素は、1または複数の第1入力ノードを有する第1入力部と、1または複数の第1出力ノードを有する第1出力部と、第1入力部および第1出力部の間に設けられ、入力側および出力側の接続に重み係数が設定される複数の第1隠れノードとを有し、第1入力部が受け取る第1入力データと、第1入力データに応じて第1出力部が出力する第1出力データとが一致し、重み係数は、ニューラルネットワークの学習とは関連のない伝達情報に基づく値を含む。
【0005】
下記特許文献2は、分散深層学習を高速に行う分散深層学習システムを開示する。この分散深層学習システムでは、各学習ノードは、学習対象のニューラルネットワークに学習データを入力した出力結果から損失関数の勾配を計算し、複数の勾配成分の値をパケット化してコンピューティングインタコネクト装置に送信する。コンピューティングインタコネクト装置は、各学習ノードから送信されたパケットに格納された複数の勾配成分の値を取得し、ニューラルネットワークの同一の構成パラメータに対する勾配成分の値を入力とする計算処理を、複数の勾配の成分の値各々について並列に行い、計算結果をパケット化して各学習ノードに送信する。各学習ノードは、コンピューティングインタコネクト装置から送信されたパケットに格納された値に基づいてニューラルネットワークの構成パラメータを更新する。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特開2020-052813号公報
【特許文献2】特開2019-168895号公報
【発明の概要】
【発明が解決しようとする課題】
【0007】
勾配降下法は、推論モデルの出力の偏微分により、所定の出力を実現するように入力を調整する。しかしながら、勾配降下法では、出力解が局所最適解の近傍に集中し、差異が小さく実験的に意味が薄い少数の候補解しか得られない。したがって、勾配降下法は、上記(1)および(2)を充足しない。
【0008】
また、ベイズ最適化は、候補解を1点出力するごとに、そこから離間した点を選択しやすいようにカーネル関数によりコストを増大させ、実験的に意味のある複数の候補解を得る手法である。しかしながら、ベイズ最適化の場合、ニューラルネットワークの推論モデルを最適化する制御が困難である。
【0009】
本発明は、複数の候補点の分散化を図ることを目的とする。
【課題を解決するための手段】
【0010】
本願において開示される発明の一側面となる管理装置、管理システム、および管理方法は、実験装置に関する入力設計パラメータを入力した場合に前記実験装置を評価する推論モデルに対し前記入力設計パラメータを入力した結果出力されるコストに基づいて、前記入力設計パラメータに誤差逆伝播することにより前記入力設計パラメータを修正し、修正後の入力設計パラメータに基づいて設計パラメータ候補を決定する実験計画装置であって、第1入力設計パラメータを受け付ける入力部と、前記第1入力設計パラメータと前記設計パラメータ候補との距離に関する第1距離コストを算出する第1距離コスト算出部と、前記第1距離コスト算出部によって算出された第1距離コストと、前記第1入力設計パラメータを前記推論モデルに入力した結果前記推論モデルから出力される第1コストと、を加算するコスト加算部と、前記コスト加算部による加算結果に基づいて前記第1入力設計パラメータに誤差逆伝播することにより前記第1入力設計パラメータを修正する修正部と、前記修正部による修正後の前記第1入力設計パラメータに基づいて第1設計パラメータ候補を決定する決定部と、を有することを特徴とする。
【発明の効果】
【0011】
本発明の代表的な実施の形態によれば、複数の候補点の分散化を図ることができる。前述した以外の課題、構成及び効果は、以下の実施例の説明により明らかにされる。
【図面の簡単な説明】
【0012】
【
図1】
図1は、実験計画システムのシステム構成例を示す説明図である。
【
図2】
図2は、コンピュータのハードウェア構成例を示すブロック図である。
【
図3】
図3は、実施例1にかかる実験計画装置の機能的なグラフ構造例を示すブロック図である。
【
図4】
図4は、実施例1にかかる勾配降下による候補点生成処理手順例を示すフローチャートである。
【
図5】
図5は、実施例1にかかる勾配降下による候補点生成例を示す説明図である。
【
図6】
図6は、実施例1にかかる勾配降下の推移を示すグラフである。
【
図7】
図7は、設計パラメータの修正例を示す説明図である。
【
図8】
図8は、実施例1にかかる距離コストノードの具体的な構造例を示す説明図である。
【
図9】
図9は、距離コストノードの追加例を示す説明図である。
【
図10】
図10は、実施例2にかかる距離コストノードの追加例を示す説明図である。
【
図11】
図11は、実施例3にかかる勾配降下による候補点生成例を示す説明図である。
【
図12】
図12は、実施例3にかかる距離コストノードによる勾配の可視化例1を示す説明図である。
【
図13】
図13は、実施例3にかかる距離コストノードによる勾配の可視化例2を示す説明図である。
【
図14】
図14は、実施例3にかかる距離コストノードの一例を示す説明図である。
【
図15】
図15は、実施例4にかかるグリッド探索例を示す説明図である。
【
図16】
図16は、実施例4にかかる勾配降下による候補点生成処理手順例を示すフローチャートである。
【
図17】
図17は、実施例5にかかる距離コストノードの一例を示す説明図である。
【
図18】
図18は、実施例5にかかる距離コストノードによる勾配の可視化例を示す説明図である。
【
図19】
図19は、実施例5にかかるグラフ構造例を示す説明図である。
【
図21】
図21は、コスト入出力関係を示すグラフの一例を示す説明図である。
【
図22】
図22は、コスト調整層の他の例を示す説明図である。
【
図23】
図23は、コスト入出力関係を示すグラフの他の例を示す説明図である。
【発明を実施するための形態】
【0013】
<実験計画システム>
図1は、実験計画システムのシステム構成例を示す説明図である。実験計画システム100は、実験計画装置101と、学習装置102と、実験装置103と、を有する。実験計画装置101、学習装置102、および実験装置103は、インターネット、LAN(Local Area Network)、WAN(Wide Area Network)などのネットワーク104を介して相互に通信可能である。
【0014】
実験計画システム100は、学習装置102によって作成された推論モデルを用いて、実験計画装置101が設計パラメータを設定可能な範囲でかつ候補点同士が互いに十分離間するようにサンプリングして、たとえば、実験装置103の製造ばらつきを抑制する実験条件を最適な設計パラメータとして、実験装置に提供するシステムである。
【0015】
学習装置は、実験装置の設計パラメータと目的変数とを学習データセットとして推論モデルを作成する。実験装置は、たとえば、半導体製造装置である。実験装置は、実験計画装置から得られたあらたな設計パラメータで実験を行い、実験結果を得る。そして、実験装置は、あらたな設計パラメータとその実験結果とを学習装置に出力する。学習装置は、あらたな設計パラメータとその実験結果とを学習データセットに追加して、推論モデルを再学習する。
【0016】
<コンピュータ(実験計画装置および学習装置)のハードウェア構成>
図2は、コンピュータのハードウェア構成例を示すブロック図である。コンピュータ200は、プロセッサ201と、記憶デバイス202と、入力デバイス203と、出力デバイス204と、通信インターフェース(通信IF)205と、を有する。プロセッサ201、記憶デバイス202、入力デバイス203、出力デバイス204、および通信IF205は、バス206により接続される。プロセッサ201は、コンピュータ200を制御する。記憶デバイス202は、プロセッサ201の作業エリアとなる。また、記憶デバイス202は、各種プログラムやデータを記憶する非一時的なまたは一時的な記録媒体である。記憶デバイス202としては、たとえば、ROM(Read Only Memory)、RAM(Random Access Memory)、HDD(Hard Disk Drive)、フラッシュメモリがある。入力デバイス203は、データを入力する。入力デバイス203としては、たとえば、キーボード、マウス、タッチパネル、テンキー、スキャナ、マイクがある。出力デバイス204は、データを出力する。出力デバイス204としては、たとえば、ディスプレイ、プリンタ、スピーカがある。通信IF205は、ネットワーク104と接続し、データを送受信する。
【0017】
以下、上記実験計画システムを用いた実験計画例を実施例ごとに説明する。
【実施例0018】
実施例1は、勾配降下による候補点生成例1を示す。実験計画装置101において、後述するグラフ構造を構成する各ノードは、具体的には、たとえば、
図2に示した記憶デバイス202に記憶されたプログラムをプロセッサ201に実行させることにより実現される。
【0019】
図3は、実施例1にかかる実験計画装置101の機能的なグラフ構造例を示すブロック図である。入力ノード300は、設計パラメータx[i]の入力を受け付ける。設計パラメータx[i]は、設計パラメータxi1,xi2,…,xij,…,xin(nは整数)の集合であり、推論モデル301および距離コストノード群302への入力ベクトルである。iは、実験計画装置101により探索したい候補点Piの番号を示すイタレーションである。初期値はi=0である。
【0020】
設計パラメータx[i]は、実験装置103への初期の入力ベクトルまたは設計パラメータx[i-1]が勾配降下されたことにより修正された入力ベクトルである。jは、設計パラメータx[i]内の要素xi1,xi2,…,xij,…,xinを特定する番号である(軸jと称することもある)。
【0021】
推論モデル301は、実験装置103に関する出力を推論するニューラルネットワークであり、回帰でも識別でもよいが、推論結果を評価する評価値をコストC1iとして出力する。コストC1iは、たとえば、実験装置103に設計パラメータx[i]を適用した場合の性能の悪さを示す指標値(値が高いほど性能が悪いことを示す。たとえば、故障率や値段。)である。実験計画装置101は、当該性能が良くなるように設計パラメータx[i]を修正することになる。
【0022】
また、実験計画装置101が、未学習のニューラルネットワークを有し、学習装置102から推論モデル301を構成する学習パラメータ(重み、バイアス、ハイパーパラメータ)を取得して、未学習のニューラルネットワークに設定してもよい。なお、
図3では、推論モデル301を1つとしたが複数でもよい。これにより、複数の推論モデル301に共通して適用可能な設計パラメータx[i]を生成することができる。
【0023】
距離コストノード群302は、0個以上の距離コストノード302-1,302-2,…,302-iの集合である。距離コストノード302-iは、設計パラメータx[i]から離間距離thi離れた設計パラメータ空間上の新たな位置での距離コストC2iを軸jごとに算出する。離間距離thi離すことにより、出力解が局所最適解の近傍に集中するのを抑制する。距離コストC2iは、設計パラメータxijについて算出された距離コストC2ijの集合である。
【0024】
コスト加算ノード303は、設計パラメータx[i]が推論モデル301および距離コストノード302-1~距離コストノード302-iに入力された場合の、推論モデル301からのコストC1iと、距離コストノード302-1~距離コストノード302-iまでの距離コストC21~距離コストC2iと、を加算する。コスト加算ノード303は、加算結果であるコストC3i(=C1i+C21+…+C2i)を損失関数出力ノード304に出力する。
【0025】
損失関数出力ノード304は、コストC3iを入力して、コストC3iを微分して勾配降下することにより、設計パラメータx[i]への誤差逆伝播による修正を繰り返す。コストC3iの微分値をΔC3iとする。具体的には、たとえば、損失関数出力ノード304は、この微分値ΔC3iが所定のしきい値(後述する
図6の終了判定基準値)以下となるまで、修正後の設計パラメータx[i]から得られたコストC3iによる勾配降下と当該修正後の設計パラメータx[i]の修正とを繰り返す。
【0026】
図4は、実施例1にかかる勾配降下による候補点生成処理手順例を示すフローチャートである。
図5は、実施例1にかかる勾配降下による候補点生成例を示す説明図である。
図6は、実施例1にかかる勾配降下の推移を示すグラフである。
図5では、説明を単純化するため、設計パラメータx[i]を2つ(n=2)の設計パラメータxi1,xi2とする。
【0027】
実験計画装置101は、入力初期化を実行する(ステップS401)。具体的には、たとえば、
図5の(A)に示したように、イタレーションiにおいて入力初期化された設計パラメータx[i]をxisと表記する。
図5の(A)では、i=0であるため、実験計画装置101は、設計パラメータxis=x0s={x01、x02}を設定する。i=0においては、距離コストノード302-iは1つも接続されていない。
【0028】
つぎに、実験計画装置101は、候補点出力条件を充足しているか否かを判断する(ステップS402)。候補点出力条件とは、コストC3iの微分による勾配降下により、ΔC3iが
図6に示した勾配降下の終了判定基準値以下になること、または、イタレーションiにおける勾配降下回数が所定回数(
図6の例では75回)に到達したことである。コストC3iの微分による勾配降下により候補点出力条件を充足したときの設計パラメータx[i]を設計パラメータxieと表記する。
【0029】
ΔC3iが勾配降下の終了判定基準値以下になれば(ステップS402:Yes)、勾配降下によるコスト最小化が実現されたことになり、実験計画装置101は、その時の修正で得られた設計パラメータxieの位置を候補点Piに決定し、候補点出力リストに追加することになる(ステップS404)。
【0030】
また、ΔC3iが勾配降下の終了判定基準値以下でなくても、ステップS403の実行回数が所定回数以上になれば、ステップS403の実行回数を初期化し、実験計画装置101は、その時の修正で得られた設計パラメータx[i]の位置を候補点Piに決定することになる(ステップS404)。実験計画装置101は、候補点出力条件を充足していなければ(ステップS402:No)、ステップS403を繰り返し実行する。
【0031】
ステップS402:Noの場合、実験計画装置101は、推論モデル301および距離コストノード302-1~302-iでのコスト計算と、コスト加算ノード303による加算と、に基づいて、勾配降下によるコスト最小化を実行する(ステップS403)。具体的には、たとえば、実験計画装置101は、設計パラメータxisを推論モデル301および距離コストノード302-1~302-iに入力し、推論モデル301から、出力となるコストC1iを取得するとともに、距離コストノード302-1から距離コストノード302-iまでの距離コストC21~C2iを取得する。そして、実験計画装置101は、コスト加算ノード303によりコストC1iと距離コストC21~C2iとを加算して、加算結果であるコストC3iを損失関数出力ノード304に出力する。
【0032】
i=0においては、実験計画装置101は、距離コストノード302-iは1つも接続されていないため、設計パラメータx0sを推論モデル301に入力し、推論モデル301から、出力となるコストC10を取得し(ステップS403-0)、加算結果であるコストC30(=C10)を損失関数出力ノード304に出力する。
【0033】
そして、損失関数出力ノード304は、コスト加算ノード303からのコストC3iが入力されると、勾配降下によるコスト最小化を実行する。具体的には、たとえば、損失関数出力ノード304は、コストC3iを微分して損失としてΔC3iを算出し、設計パラメータx[i]を修正する。
【0034】
そして、実験計画装置101は、損失関数出力ノード304からのΔC3iが候補点出力条件を充足するか否かを判断する(ステップS402)。ΔC3iが候補点出力条件を充足した場合(ステップS402:Yes)、実験計画装置101は、その時の設計パラメータxieを候補点Piとして候補点出力リストを追加する(ステップS404)。i=0の場合、
図5の(A)に示すように、実験計画装置101は、その時の設計パラメータx0eを候補点P0として候補点出力リストに追加する(ステップS404-0)。
【0035】
そして、実験計画装置101は、イタレーションiをインクリメントし(ステップS405)、候補点出力リストに登録された候補点数が所定数N(Nは1以上の整数。)を超えたか否か、すなわち、iがNを超えたか否かを判断する(ステップS406)。
【0036】
候補点数が所定数Nを超えていない場合(ステップS406:No)、実験計画装置101は、ステップS404であらたに追加された候補点P(i-1)を設計パラメータxisとして、設計パラメータxisに対する距離コストノード302-iを距離コストノード群302に追加してReLU場Aiを発生させ(ステップS407)、ステップS402に移行する。
【0037】
具体的には、たとえば、
図5の(B)に示したように、実験計画装置101は、(A)の候補点P0を設計パラメータx1sとし、ReLU場A1を発生させる(ステップS407-1)。そして、ステップS402に移行する。
【0038】
ステップS402に戻ると、実験計画装置101は、設計パラメータx1sが候補点出力条件の充足判定を実行し(ステップS402)、充足していなければ(ステップS402:No)、
図5の(B)および
図6に示したように、勾配降下によるコスト最小化を実行する(ステップS403-1)。i=1においては、実験計画装置101は、設計パラメータx1sを推論モデル301および距離コストノード302-1に入力し、推論モデル301および距離コストノード302-1の各々から、出力となるコストC11および距離コストC21を取得する。
【0039】
実験計画装置101は、i=1においては、コスト加算ノード303により、加算結果であるコストC31(=C11+C21)を損失関数出力ノード304に出力する。そして、損失関数出力ノード304は、コスト加算ノード303からのコストC31が入力されると、勾配降下によるコスト最小化を実行する。具体的には、たとえば、損失関数出力ノード304は、コストC31を微分して損失関数としてΔC31を算出し、設計パラメータx[1]を修正する。
【0040】
そして、実験計画装置101は、損失関数出力ノード304からのΔC3iが候補点出力条件を充足するか否かを判断する(ステップS402)。i=1では、
図6に示したように、勾配降下回数が所定回数に到達する前にΔC31が勾配降下の終了判定基準値以下になる(ステップS402:Yes)。したがって、実験計画装置101は、
図5の(B)に示すように、その時の設計パラメータx1eを候補点P1として候補点出力リストを追加する(ステップS404-1)。
【0041】
そして、実験計画装置101は、イタレーションiをインクリメントし(ステップS405)、候補点出力リストに登録された候補点数が所定数Nを超えたか否か、すなわち、iがNを超えたか否かを判断する(ステップS406)。
【0042】
候補点数が所定数Nを超えていない場合(ステップS406:No)、実験計画装置101は、ステップS404であらたに追加された候補点P1を設計パラメータx2sとして、設計パラメータx2sに対する距離コストノード302-2を距離コストノード群302に追加してReLU場A2を発生させ(ステップS407-2)、ステップS402に移行する。
【0043】
ステップS402に戻ると、実験計画装置101は、設計パラメータx2sが候補点出力条件の充足判定を実行し(ステップS402)、充足していなければ(ステップS402:No)、
図5の(C)および
図6に示したように、勾配降下によるコスト最小化を実行する(ステップS403-2)。i=2においては、設計パラメータx2sを推論モデル301、距離コストノード302-1および距離コストノード302-2に入力し、推論モデル301、距離コストノード302-1および距離コストノード302-2の各々から、出力となるコストC12および距離コストC21,C22を取得する。
【0044】
そして、実験計画装置101は、i=2においては、距離コストノード302-1,302-2が接続されているため、コスト加算ノード303により、加算結果であるコストC32(C12+C21+C22)を損失関数出力ノード304に出力する。そして、損失関数出力ノード304は、コスト加算ノード303からのコストC31が入力されると、勾配降下によるコスト最小化を実行する。具体的には、たとえば、損失関数出力ノード304は、コストC31を微分して損失関数としてΔC32を算出し、設計パラメータx[2]を修正する。
【0045】
図7は、設計パラメータx[2]の修正例を示す説明図である。設計パラメータx[2]の修正量は、推論モデル301の勾配による修正力と、候補点P0からの修正力と、候補点P1からの修正力と、の合成により、ReLU場A1,A2を回避するように決定される。
【0046】
図4に戻り、実験計画装置101は、ΔC3iが候補点出力条件を充足するか否かを判断する(ステップS402)。i=2では、
図6に示したように、勾配降下回数が所定回数に到達する前にΔC32が勾配降下の終了判定基準値以下になる(ステップS402:Yes)。したがって、実験計画装置101は、
図5の(C)に示すように、その時の設計パラメータx2eを候補点P2として候補点出力リストを追加する(ステップS404-2)。
【0047】
そして、実験計画装置101は、イタレーションiをインクリメントし(ステップS405)、候補点出力リストに登録された候補点数が所定数Nを超えたか否か、すなわち、iがNを超えたか否かを判断する(ステップS406)。
【0048】
ここで、候補点数が所定数Nを超えたとすると(ステップS406:Yes)、実験計画装置101は、勾配降下による候補点生成処理を終了する。
【0049】
このあと、実験計画装置101は、候補点P0~P2を含む候補点出力リストを実験装置103に送信する。実験装置103は、候補点P0~P2の各々をあらたな設計パラメータx[i]として実験を行う。実験装置103は、当該あらたな設計パラメータx[i]とその実験結果とを学習装置102に送信する。学習装置102は、あらたな設計パラメータx[i]とその実験結果とを学習データセットに追加して、推論モデル301を再学習する。
【0050】
<距離コストノードの具体的な構造例>
図8は、実施例1にかかる距離コストノード302-iの具体的な構造例を示す説明図である。距離コストノード302-iにおいて、入力ノード300には設計パラメータx[i]として、(xi1,xi2,…,xin)が入力される。xi1,xi2,…,xinを区別しない場合、単に設計パラメータxiと表記する。
【0051】
設計パラメータx[i]は、n個の軸で張られる設計パラメータ空間500内のベクトルである。入力ノード300は、設計パラメータx[i]の入力を受け付けて、推論モデル301および距離コストノード302-iに出力する。推論モデル301は、推論結果であるコストC1iをコスト加算ノード303に出力する。
【0052】
距離コストノード302-iは、距離ノード810とコストノード820とを有する。距離ノード810は、1つ以上前のイタレーション(i-k)で生成された候補点P(i-k)(以降、Paと表記する場合あり)であるイタレーションiの設計パラメータxisと設計パラメータxisから開始された勾配降下後の設計パラメータx[i]との距離を算出するノードであり、第1減算処理811と絶対値処理812とを実行する。ただし、kは1以上i以下の整数である。第1減算処理811は、入力ノード300の設計パラメータx[i]を候補点Pa(a1,a2,…,an)で減算し、第1減算結果8110を出力する処理である。
【0053】
絶対値処理812は、第1減算処理811の第1減算結果8110を絶対値ベクトル8120にする処理である。すなわち、距離ノード810は、設計パラメータx[i]と候補点Paとの差分の絶対値ベクトル8120、すなわち、設計パラメータx[i]と候補点Paとの間の距離を求める。
【0054】
コストノード820は、第2減算処理821と、ReLU活性化処理822と、重み付け処理823と、を実行する。第2減算処理821は、絶対値処理812の絶対値ベクトル8120の各軸jの要素について、離間距離thとの差分をとり、第2減算結果8210を出力する処理である。離間距離thは軸jごとに任意に設定可能なハイパーパラメータである。これにより、離間距離th以上に離間された候補点Piのセットが取得される。この時点での出力は、離間が不十分な軸jに対して正であり、十分な軸jに対して負である。
【0055】
ReLU活性化処理822は、第2減算処理821からの第2減算結果8210を、ReLU関数に入力して活性化する。具体的には、たとえば、ReLU活性化処理822は、負の値(離間が十分な軸jの値)が入力されると、勾配0、正の値(離間が不十分な軸jの値)が入力されると勾配1となる出力を生成する。つまり、ReLU活性化処理822は、離間距離thが不十分な軸jに対して勾配を発生させ、候補点Paから離間させるように入力にフィードバックする。
【0056】
重み付け処理823は、ReLU活性化処理822からの出力値の各々を適当な結合により重み付けし、コスト加算ノード303に出力する処理である。具体的には、たとえば、重み付け処理823は、ReLU活性化処理822からの出力値の集合から最小出力値を抽出してもよく、出力値の集合の和を算出してもよい。重み付け処理823は、結合時の重みを変更することにより、離間の優先度を調整することができる。
【0057】
ここで、コスト加算ノード303からの出力をF(x)とすると、下記式(1),(2)により、損失関数出力ノード304は、設計パラメータx[i]を修正する。なお、ηは学習率(0<η≦1)であり、「←」は代入を表し、L(F(x))は損失関数出力ノード304の出力である。損失関数は、一般には目標値との誤差について評価するが、F(x)>0となるように各ノードを設計していれば、目標値は常に0としてよい。つまり、実験計画装置101は関数F(x)を単純に最小化させる動作を行う。
【0058】
d{L(F(x)-0)}/dx=dL/dF×dF/dx・・・(1)
x[i]←x[i]-η×dL/dF×dF/dx・・・・・(2)
【0059】
なお、上記式(1),(2)による誤差逆伝播において、下記式(3)に示すように、重みづけ処理823に用いるWを軸jごとに変化させることで、距離コストノード303の入力修正への寄与、つまり学習率ηを軸jごとに変化させることができる。なお、sign(x)はxが負の時に-1を、正の時に1を、0の時に0を返す関数である。C1iは推論モデルの出力値であり、重みWに影響されない。
【0060】
dF(x)/dxj=dC1i/dxj+dC2i/dxj
=dC1i/dxj-sign(xj-aj)×Wj
(ただし、thj<|xj-aj|)・・・・(3)
【0061】
図9は、距離コストノード302-iの追加例を示す説明図である。
図9では、
図4に示したステップS404により新たな候補点P1が候補点出力リストに出力された場合に、当該候補点P1が設定される距離コストノード302-2を追加する例である。このようなグラフ構造の変更により、候補点P(i―1)が追加される都度、距離コストノード302-iが接続される。
【0062】
なお、距離コストノード302-1が接続され、距離コストノード302-2が未接続状態、すなわち、候補点がP0のみである場合、距離コストノード302-1は、設計パラメータx[1]と候補点P0との入力により距離コストC21を算出する。また、距離コストノード302-2が接続されると、距離コストノード302-1は、設計パラメータx[2]と候補点P0との入力により距離コストC21を算出する。
【0063】
このように、i-1番目までの距離コストノード302-(i-1)は、距離コストノード302-iが追加される都度、入力される設計パラメータx[i]が変わる。したがって、k(k=1~i)番目の距離コストノード302-kが、設計パラメータx[i]と候補点P(k-1)との入力により算出する距離コストC2kを、C2k(i,k-1)と表記する。
【0064】
上記の例では、前者の距離コストC21は、C21(1,0)となり、後者の距離コストC21は、C21(2,0)となる。距離コストC21(1,0)と距離コストC21(2,0)とは異なる距離コストである。
【0065】
このように、実施例1によれば、離間距離thによって直観的に離間の程度を定めることができるため、実験的に使いやすい離散化された候補点Pi群を得ることができる。また、重み付け処理823において重みWによって離間の優先度を決めることができる。単純に最小値や和を取ってもよく、その場合ハイパーパラメータが少なく使いやすい。また、距離コストの計算は単純な加減積算のみであるため、距離コストノード302-iにおいて勾配消失を生じず、勾配降下の収束に悪影響を与えない。また、離間が十分ならば、推論モデル301の最適化に影響を与えない。
つぎに、実施例2について説明する。実施例2では、実施例1との相違点を中心に説明するため、実施例1との共通部分については説明を省略する。実施例1では、候補点P(i-1)が新たに出力されると、距離コストノード302-iが新たに追加された。実施例2では、実験計画装置101は、あらかじめ、グラフ構造において、複数の距離コストノード302-1,302-2,…,302-iを接続しておく。距離コストノード302-iの各々の候補点Paの各値xajは、候補点Paとして取りえない値infに設定しておく。すなわち、infは、距離コストノード302-iに入力されると、距離コストノード302-iが0を出力するような値である。
未選択の距離コストノード302-iに設定される候補点Paの値infは、距離コストノード302-iのReLU関数に入力されると、勾配0を出力するような値である(ReLU(th-|inf-x|)=0)。
このように、勾配降下による候補点Pa生成前に、候補点Paの値infが設定された複数の距離コストノード302-iを入力ノード300およびコスト加算ノード303間に接続しておくことで、候補点Paが追加される都度、候補点Paの値infを書き換えるだけで、距離コストノード302-1~302-iでの演算を実行することができる。このように、実行開始時からグラフ構造が固定されるため、静的なグラフ構造となりスループットも向上する。