IP Force 特許公報掲載プロジェクト 2022.1.31 β版

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

▶ 株式会社日立製作所の特許一覧

特許7603546実験計画装置、実験計画方法および実験計画システム
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-12-12
(45)【発行日】2024-12-20
(54)【発明の名称】実験計画装置、実験計画方法および実験計画システム
(51)【国際特許分類】
   G06Q 10/04 20230101AFI20241213BHJP
【FI】
G06Q10/04
【請求項の数】 10
(21)【出願番号】P 2021121584
(22)【出願日】2021-07-26
(65)【公開番号】P2023017358
(43)【公開日】2023-02-07
【審査請求日】2024-01-30
(73)【特許権者】
【識別番号】000005108
【氏名又は名称】株式会社日立製作所
(74)【代理人】
【識別番号】110001678
【氏名又は名称】藤央弁理士法人
(72)【発明者】
【氏名】須藤 建瑠
(72)【発明者】
【氏名】末松 知夏
【審査官】深津 始
(56)【参考文献】
【文献】特開2019-168895(JP,A)
【文献】特開2018-128995(JP,A)
【文献】特開平11-242690(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06Q 10/00 -G06Q 99/00
(57)【特許請求の範囲】
【請求項1】
プログラムを実行するプロセッサと、前記プログラムを記憶する記憶デバイスと、を有し、実験装置と通信可能な実験計画装置であって、
前記プロセッサは、
前記実験装置に関する設計パラメータ空間内の初期設計パラメータを入力パラメータとして、前記実験装置を評価する推論モデルに入力してその評価結果である初期評価コストを算出し、前記初期評価コストに基づく勾配降下による前記初期設計パラメータの修正を、当該修正の回数に関する第1条件を充足するまで繰り返し実行する初期修正処理と、
前記第1条件を充足した修正後の初期設計パラメータを実験装置に適用する候補点として候補点出力リストに追加する初期候補点追加処理と、
前記候補点出力リスト内の前記候補点の数が所定数を超えたか否かを判定する判定処理と、
前記候補点出力リスト内の前記候補点の数が前記所定数を超えていない場合、前記候補点出力リストに最後に追加された前記候補点を開始点に設定し、当該開始点からの勾配降下により得られた前記設計パラメータ空間上の新たな位置での距離コストを算出する距離コストノードを追加する距離コストノード追加処理と、
前記候補点出力リストに最後に追加された前記候補点である設計パラメータを前記入力パラメータとして前記推論モデルに入力してその評価結果である評価コストを算出し、これまでに追加された前記距離コストノードの各々により、前記開始点から前記設計パラメータを勾配降下することにより得られる前記設計パラメータ空間上の前記設計パラメータの新たな位置での距離コストを算出し、前記評価コストおよび各距離コストの加算結果の勾配降下による前記設計パラメータの修正を、前記第1条件または前記加算結果の微分値がしきい値以下になるという第2条件を充足するまで繰り返し実行する修正処理と、
前記第1条件または前記第2条件を充足した修正後の設計パラメータをあらたな候補点として前記候補点出力リストに追加する候補点追加処理と、
前記候補点出力リスト内の前記候補点の数が前記所定数を超えた場合、前記候補点を前記実験装置に出力する出力処理と、
を実行することを特徴とする実験計画装置。
【請求項2】
プログラムを実行するプロセッサと、前記プログラムを記憶する記憶デバイスと、を有し、実験装置と通信可能な実験計画装置であって、
前記プロセッサは、
前記実験装置に関する設計パラメータ空間内の初期設計パラメータを入力パラメータとして、前記実験装置を評価する推論モデルに入力してその評価結果である初期評価コストを算出し、前記初期評価コストに基づく勾配降下による前記初期設計パラメータの修正を、当該修正の回数に関する第1条件を充足するまで繰り返し実行する初期修正処理と、
前記第1条件を充足した修正後の初期設計パラメータを実験装置に適用する候補点として候補点出力リストに追加する初期候補点追加処理と、
前記候補点出力リスト内の前記候補点の数が所定数を超えたか否かを判定する判定処理と、
前記候補点出力リスト内の前記候補点の数が前記所定数を超えていない場合、未活性の複数の距離コストノードのうち1つの未活性の距離コストノードについて、前記候補点出力リストに最後に追加された前記候補点を開始点に設定することにより、当該開始点からの勾配降下により得られた前記設計パラメータ空間上の新たな位置での距離コストを算出する距離コストノードとして活性化する距離コストノード活性化処理と、
前記候補点出力リストに最後に追加された前記候補点である設計パラメータを前記入力パラメータとして前記推論モデルに入力してその評価結果である評価コストを算出し、これまでに活性化された前記距離コストノードの各々により、前記開始点から前記設計パラメータを勾配降下することにより得られる前記設計パラメータ空間上の前記設計パラメータの新たな位置での距離コストを算出し、前記評価コストおよび各距離コストの加算結果の勾配降下による前記設計パラメータの修正を、前記第1条件または前記加算結果の微分値がしきい値以下になるという第2条件を充足するまで繰り返し実行する修正処理と、
前記第1条件または前記第2条件を充足した修正後の設計パラメータをあらたな候補点として前記候補点出力リストに追加する候補点追加処理と、
前記候補点出力リスト内の前記候補点の数が前記所定数を超えた場合、前記候補点を前記実験装置に出力する出力処理と、
を実行することを特徴とする実験計画装置。
【請求項3】
請求項1または請求項2に記載の実験計画装置であって、
前記距離コストノード追加処理は、前記開始点を含むReLU場を前記設計パラメータ空間に追加し、
前記修正処理では、前記プロセッサは、前記ReLU場外において前記ReLU場の境界に沿うように勾配降下して前記設計パラメータを修正する、
ことを特徴とする実験計画装置。
【請求項4】
請求項1または2に記載の実験計画装置であって、
前記設計パラメータ空間は、グリッド化されており、
前記勾配降下は、量子化された前記設計パラメータについて、グリッド化された前記設計パラメータ空間上で実行される、
ことを特徴とする実験計画装置。
【請求項5】
請求項1または2に記載の実験計画装置であって、
前記距離コストは、前記開始点と前記設計パラメータの新たな位置との間のユークリッド距離に基づいて算出される、
ことを特徴とする実験計画装置。
【請求項6】
請求項1または2に記載の実験計画装置であって、
前記初期修正処理では、前記プロセッサは、前記推論モデルからの評価結果を調整して前記初期評価コストを算出し、
前記修正処理では、前記プロセッサは、前記推論モデルからの評価結果を調整して前記評価コストを算出する、
ことを特徴とする実験計画装置。
【請求項7】
プログラムを実行するプロセッサと、前記プログラムを記憶する記憶デバイスと、を有し、実験装置と通信可能な実験計画装置が実行する実験計画方法であって、
前記プロセッサは、
前記実験装置に関する設計パラメータ空間内の初期設計パラメータを入力パラメータとして、前記実験装置を評価する推論モデルに入力してその評価結果である初期評価コストを算出し、前記初期評価コストに基づく勾配降下による前記初期設計パラメータの修正を、当該修正の回数に関する第1条件を充足するまで繰り返し実行する初期修正処理と、
前記第1条件を充足した修正後の初期設計パラメータを実験装置に適用する候補点として候補点出力リストに追加する初期候補点追加処理と、
前記候補点出力リスト内の前記候補点の数が所定数を超えたか否かを判定する判定処理と、
前記候補点出力リスト内の前記候補点の数が前記所定数を超えていない場合、前記候補点出力リストに最後に追加された前記候補点を開始点に設定し、当該開始点からの勾配降下により得られた前記設計パラメータ空間上の新たな位置での距離コストを算出する距離コストノードを追加する距離コストノード追加処理と、
前記候補点出力リストに最後に追加された前記候補点である設計パラメータを前記入力パラメータとして前記推論モデルに入力してその評価結果である評価コストを算出し、これまでに追加された前記距離コストノードの各々により、前記開始点から前記設計パラメータを勾配降下することにより得られる前記設計パラメータ空間上の前記設計パラメータの新たな位置での距離コストを算出し、前記評価コストおよび各距離コストの加算結果の勾配降下による前記設計パラメータの修正を、前記第1条件または前記加算結果の微分値がしきい値以下になるという第2条件を充足するまで繰り返し実行する修正処理と、
前記第1条件または前記第2条件を充足した修正後の設計パラメータをあらたな候補点として前記候補点出力リストに追加する候補点追加処理と、
前記候補点出力リスト内の前記候補点の数が前記所定数を超えた場合、前記候補点を前記実験装置に出力する出力処理と、
を実行することを特徴とする実験計画方法。
【請求項8】
プログラムを実行するプロセッサと、前記プログラムを記憶する記憶デバイスと、を有し、実験装置と通信可能な実験計画装置が実行する実験計画方法であって、
前記プロセッサは、
前記実験装置に関する設計パラメータ空間内の初期設計パラメータを入力パラメータとして、前記実験装置を評価する推論モデルに入力してその評価結果である初期評価コストを算出し、前記初期評価コストに基づく勾配降下による前記初期設計パラメータの修正を、当該修正の回数に関する第1条件を充足するまで繰り返し実行する初期修正処理と、
前記第1条件を充足した修正後の初期設計パラメータを実験装置に適用する候補点として候補点出力リストに追加する初期候補点追加処理と、
前記候補点出力リスト内の前記候補点の数が所定数を超えたか否かを判定する判定処理と、
前記候補点出力リスト内の前記候補点の数が前記所定数を超えていない場合、未活性の複数の距離コストノードのうち1つの未活性の距離コストノードについて、前記候補点出力リストに最後に追加された前記候補点を開始点に設定することにより、当該開始点からの勾配降下により得られた前記設計パラメータ空間上の新たな位置での距離コストを算出する距離コストノードとして活性化する距離コストノード活性化処理と、
前記候補点出力リストに最後に追加された前記候補点である設計パラメータを前記入力パラメータとして前記推論モデルに入力してその評価結果である評価コストを算出し、これまでに活性化された前記距離コストノードの各々により、前記開始点から前記設計パラメータを勾配降下することにより得られる前記設計パラメータ空間上の前記設計パラメータの新たな位置での距離コストを算出し、前記評価コストおよび各距離コストの加算結果の勾配降下による前記設計パラメータの修正を、前記第1条件または前記加算結果の微分値がしきい値以下になるという第2条件を充足するまで繰り返し実行する修正処理と、
前記第1条件または前記第2条件を充足した修正後の設計パラメータをあらたな候補点として前記候補点出力リストに追加する候補点追加処理と、
前記候補点出力リスト内の前記候補点の数が前記所定数を超えた場合、前記候補点を前記実験装置に出力する出力処理と、
を実行することを特徴とする実験計画方法。
【請求項9】
実験装置と、実験計画装置と、を有する実験計画システムであって、
前記実験計画装置は、プログラムを実行するプロセッサと、前記プログラムを記憶する記憶デバイスと、を有し、前記実験装置と通信可能な通信インタフェースと、を有し、
前記プロセッサは、
前記実験装置に関する設計パラメータ空間内の初期設計パラメータを入力パラメータとして、前記実験装置を評価する推論モデルに入力してその評価結果である初期評価コストを算出し、前記初期評価コストに基づく勾配降下による前記初期設計パラメータの修正を、当該修正の回数に関する第1条件を充足するまで繰り返し実行する初期修正処理と、
前記第1条件を充足した修正後の初期設計パラメータを実験装置に適用する候補点として候補点出力リストに追加する初期候補点追加処理と、
前記候補点出力リスト内の前記候補点の数が所定数を超えたか否かを判定する判定処理と、
前記候補点出力リスト内の前記候補点の数が前記所定数を超えていない場合、前記候補点出力リストに最後に追加された前記候補点を開始点に設定し、当該開始点からの勾配降下により得られた前記設計パラメータ空間上の新たな位置での距離コストを算出する距離コストノードを追加する距離コストノード追加処理と、
前記候補点出力リストに最後に追加された前記候補点である設計パラメータを前記入力パラメータとして前記推論モデルに入力してその評価結果である評価コストを算出し、これまでに追加された前記距離コストノードの各々により、前記開始点から前記設計パラメータを勾配降下することにより得られる前記設計パラメータ空間上の前記設計パラメータの新たな位置での距離コストを算出し、前記評価コストおよび各距離コストの加算結果の勾配降下による前記設計パラメータの修正を、前記第1条件または前記加算結果の微分値がしきい値以下になるという第2条件を充足するまで繰り返し実行する修正処理と、
前記第1条件または前記第2条件を充足した修正後の設計パラメータをあらたな候補点として前記候補点出力リストに追加する候補点追加処理と、
前記候補点出力リスト内の前記候補点の数が前記所定数を超えた場合、前記候補点を前記実験装置に出力する出力処理と、
を実行することを特徴とする実験計画システム。
【請求項10】
実験装置と、実験計画装置と、を有する実験計画システムであって、
前記実験計画装置は、プログラムを実行するプロセッサと、前記プログラムを記憶する記憶デバイスと、を有し、前記実験装置と通信可能な通信インタフェースと、を有し、
前記プロセッサは、
前記実験装置に関する設計パラメータ空間内の初期設計パラメータを入力パラメータとして、前記実験装置を評価する推論モデルに入力してその評価結果である初期評価コストを算出し、前記初期評価コストに基づく勾配降下による前記初期設計パラメータの修正を、当該修正の回数に関する第1条件を充足するまで繰り返し実行する初期修正処理と、
前記第1条件を充足した修正後の初期設計パラメータを実験装置に適用する候補点として候補点出力リストに追加する初期候補点追加処理と、
前記候補点出力リスト内の前記候補点の数が所定数を超えたか否かを判定する判定処理と、
前記候補点出力リスト内の前記候補点の数が前記所定数を超えていない場合、未活性の複数の距離コストノードのうち1つの未活性の距離コストノードについて、前記候補点出力リストに最後に追加された前記候補点を開始点に設定することにより、当該開始点からの勾配降下により得られた前記設計パラメータ空間上の新たな位置での距離コストを算出する距離コストノードとして活性化する距離コストノード活性化処理と、
前記候補点出力リストに最後に追加された前記候補点である設計パラメータを前記入力パラメータとして前記推論モデルに入力してその評価結果である評価コストを算出し、これまでに活性化された前記距離コストノードの各々により、前記開始点から前記設計パラメータを勾配降下することにより得られる前記設計パラメータ空間上の前記設計パラメータの新たな位置での距離コストを算出し、前記評価コストおよび各距離コストの加算結果の勾配降下による前記設計パラメータの修正を、前記第1条件または前記加算結果の微分値がしきい値以下になるという第2条件を充足するまで繰り返し実行する修正処理と、
前記第1条件または前記第2条件を充足した修正後の設計パラメータをあらたな候補点として前記候補点出力リストに追加する候補点追加処理と、
前記候補点出力リスト内の前記候補点の数が前記所定数を超えた場合、前記候補点を前記実験装置に出力する出力処理と、
を実行することを特徴とする実験計画システム。
【発明の詳細な説明】
【技術分野】
【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】
【文献】特開2020-052813号公報
【文献】特開2019-168895号公報
【発明の概要】
【発明が解決しようとする課題】
【0007】
勾配降下法は、推論モデルの出力の偏微分により、所定の出力を実現するように入力を調整する。しかしながら、勾配降下法では、出力解が局所最適解の近傍に集中し、差異が小さく実験的に意味が薄い少数の候補解しか得られない。したがって、勾配降下法は、上記(1)および(2)を充足しない。
【0008】
また、ベイズ最適化は、候補解を1点出力するごとに、そこから離間した点を選択しやすいようにカーネル関数によりコストを増大させ、実験的に意味のある複数の候補解を得る手法である。しかしながら、ベイズ最適化の場合、ニューラルネットワークの推論モデルを最適化する制御が困難である。
【0009】
本発明は、複数の候補点の分散化を図ることを目的とする。
【課題を解決するための手段】
【0010】
本願において開示される発明の一側面となる実験計画装置は、プログラムを実行するプロセッサと、前記プログラムを記憶する記憶デバイスと、を有し、実験装置と通信可能な実験計画装置であって、前記プロセッサは、前記実験装置に関する設計パラメータ空間内の初期設計パラメータを入力パラメータとして、前記実験装置を評価する推論モデルに入力してその評価結果である初期評価コストを算出し、前記初期評価コストに基づく勾配降下による前記初期設計パラメータの修正を、当該修正の回数に関する第1条件を充足するまで繰り返し実行する初期修正処理と、前記第1条件を充足した修正後の初期設計パラメータを実験装置に適用する候補点として候補点出力リストに追加する初期候補点追加処理と、前記候補点出力リスト内の前記候補点の数が所定数を超えたか否かを判定する判定処理と、前記候補点出力リスト内の前記候補点の数が前記所定数を超えていない場合、前記候補点出力リストに最後に追加された前記候補点を開始点に設定し、当該開始点からの勾配降下により得られた前記設計パラメータ空間上の新たな位置での距離コストを算出する距離コストノードを追加する距離コストノード追加処理と、前記候補点出力リストに最後に追加された前記候補点である設計パラメータを前記入力パラメータとして前記推論モデルに入力してその評価結果である評価コストを算出し、これまでに追加された前記距離コストノードの各々により、前記開始点から前記設計パラメータを勾配降下することにより得られる前記設計パラメータ空間上の前記設計パラメータの新たな位置での距離コストを算出し、前記評価コストおよび各距離コストの加算結果の勾配降下による前記設計パラメータの修正を、前記第1条件または前記加算結果の微分値がしきい値以下になるという第2条件を充足するまで繰り返し実行する修正処理と、前記第1条件または前記第2条件を充足した修正後の設計パラメータをあらたな候補点として前記候補点出力リストに追加する候補点追加処理と、前記候補点出力リスト内の前記候補点の数が前記所定数を超えた場合、前記候補点を前記実験装置に出力する出力処理と、を実行することを特徴とする。
【発明の効果】
【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にかかるグラフ構造例を示す説明図である。
図20図20は、コスト調整層の一例を示す説明図である。
図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】
以下、上記実験計画システムを用いた実験計画例を実施例ごとに説明する。
【実施例1】
【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】
【0066】
つぎに、実施例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を出力するような値である。
【0067】
そして、図4に示したステップS404により新たな候補点Paが出力された場合に、実験計画装置101は、未選択の距離コストノード302-iを選択し、選択した距離コストノード302-iの候補点Paの軸jごとの値infを、新たに出力された候補点Paの値ajに置換する。
【0068】
図10は、実施例2にかかる距離コストノード302-iの追加例を示す説明図である。説明を単純化するため、図10では、あらかじめ用意された距離コストノード302-iの総数を3とするが、2または4以上でもよい。(A)はグラフ構造の初期状態を示し、(B)は1個目の候補点P0の取得後のグラフ構造を示し、(C)は2個目の候補点P1の取得後のグラフ構造を示す。
【0069】
未選択の距離コストノード302-iに設定される候補点Paの値infは、距離コストノード302-iのReLU関数に入力されると、勾配0を出力するような値である(ReLU(th-|inf-x|)=0)。
【0070】
(A)グラフ構造の初期状態において、実験計画装置101は、図4および図5(A)に示したように、候補点出力条件を充足するまで(ステップS402:No)、勾配降下によるコスト最小化、すなわち、ΔC30の算出と設計パラメータx[0]の修正とを繰り返す。このとき、推論モデル301はコストC10をコスト加算ノード303に出力し、距離コストノード302-1~302-3は距離コストとして0を出力する。
【0071】
候補点出力条件を充足すると(ステップS402:Yes)、実験計画装置101は、図4および図5(A)に示したように、候補点P0を候補点出力リストに追加する(ステップS404-0)。これにより、(B)に示すように、距離コストノード302-1に入力される値infは候補点P0の値x0jに置換される。したがって、距離コストノード302-1は、設計パラメータx[1]が入力されると、距離コストC21(1,0)を出力するようになる。
【0072】
(B)1個目の候補点P0取得後のグラフ構造において、実験計画装置101は、図4および図5(A)に示したように、候補点出力条件を充足するまで(ステップS402:No)、勾配降下によるコスト最小化、すなわち、ΔC31の算出と設計パラメータx[1]の修正とを繰り返す。このとき、推論モデル301はコストC11をコスト加算ノード303に出力し、距離コストノード302-1は距離コストC21(1,0)を出力し、距離コストノード302-2,302-3は距離コストとして0を出力する。
【0073】
候補点出力条件を充足すると(ステップS402:Yes)、実験計画装置101は、図4および図5(A)に示したように、候補点P1を候補点出力リストに追加する(ステップS404-1)。これにより、(C)に示すように、距離コストノード302-2に入力される値infは候補点P1の値x1jに置換される。したがって、距離コストノード302-2は、設計パラメータx[2]が入力されると、距離コストC22(2,1)を出力するようになる。
【0074】
(C)2個目の候補点P1取得後のグラフ構造において、実験計画装置101は、図4および図5(A)に示したように、候補点出力条件を充足するまで(ステップS402:No)、勾配降下によるコスト最小化、すなわち、ΔC32の算出と設計パラメータx[2]の修正とを繰り返す。このとき、推論モデル301はコストC12をコスト加算ノード303に出力し、距離コストノード302-1は距離コストC21(2,1)を出力し、距離コストノード302-2は距離コストC22(2,1)を出力し、距離コストノード302-3は距離コストとして0を出力する。
【0075】
候補点出力条件を充足すると(ステップS402:Yes)、実験計画装置101は、図4および図5(A)に示したように、候補点P2を候補点出力リストに追加することになる(ステップS404-2)。
【0076】
このように、勾配降下による候補点Pa生成前に、候補点Paの値infが設定された複数の距離コストノード302-iを入力ノード300およびコスト加算ノード303間に接続しておくことで、候補点Paが追加される都度、候補点Paの値infを書き換えるだけで、距離コストノード302-1~302-iでの演算を実行することができる。このように、実行開始時からグラフ構造が固定されるため、静的なグラフ構造となりスループットも向上する。
【実施例3】
【0077】
つぎに、実施例3について説明する。実施例3では、実施例1および実施例2との相違点を中心に説明するため、実施例1および実施例2との共通部分については説明を省略する。
【0078】
図11は、実施例3にかかる勾配降下による候補点生成例を示す説明図である。図12は、実施例3にかかる距離コストノードによる勾配の可視化例1を示す説明図である。図13は、実施例3にかかる距離コストノードによる勾配の可視化例2を示す説明図である。図12は、図11の(B)におけるReLU場B1を示しており、図13は、図11の(B)におけるReLU場B1,B2を示している。
【0079】
図5との相違点は、ReLU場の形状が異なる点である。距離コストノード302-iの計算が実施例1とは異なるため、ReLU場Biは、候補点P(i-1)(設計パラメータxis)を頂点とする四角錐形状(いわゆるピラミッド形状)となる。すなわち、ReLU場Aiと異なり、ReLU場Biでは、ReLU場Biの設計パラメータxiの各軸jの値xi1,xi2の範囲が制限される。
【0080】
図13において、ReLU場B1,B2の重複領域OLBは平坦面になるため、実施例1のReLU場A1,A2の十字型の重複領域OLAと比較して、多峰性問題が緩和される。つぎに、上述したReLU場B1,B2を生成する距離コストノード302-iの具体例について説明する。
【0081】
図14は、実施例3にかかる距離コストノード302-iの一例を示す説明図である。ここでは、例として、距離コストノード302-1を例に挙げて説明する。実施例3にかかる距離コストノードのうち、距離ノード810は実施例1と同一構成である。実施例3にかかるコストノード820は、第2減算処理821とReLU活性化処理822との間で、1/th乗算処理1421と最小値選択処理1422とを実行し、重み付け処理823は実行されない。
【0082】
1/th乗算処理1421は、第2減算処理821からの第2減算結果8210に、離間距離thの逆数ベクトル(1/th1,…,1/thj,…,1/thn)を乗じ、乗算結果14210を出力する処理である。これにより、ReLU場Biの各軸jの範囲が1/thjに制限される。
【0083】
最小値選択処理1422は、1/th乗算処理1421の乗算結果14210から最小値を選択する処理である。したがって、ReLU活性化処理822では、最小値選択処理1422によって選択された最小値をReLU関数に入力して活性化する。設計パラメータx[i]は、ReLU場Biの最小値選択処理1422によって選択された最小値の軸j方向のみに修正力を受ける。つまり、図5図11の比較により明らかなように、ReLU場により選択不能になる領域が小さい。したがって、候補点として選択可能な解の多様性に優れる。
【0084】
このように、設計パラメータx[i]は、最小値選択処理1422で離間距離が最小化された軸jの勾配降下する、すなわち、最短で離間可能な軸jにより設計パラメータx[i]をReLU場Biの頂点である候補点Paから離間させる。このように、常に注目した軸jについて取り扱うので、直観的で管理しやすい。
【0085】
また、ReLU場B1,B2の重複領域OLBでは、勾配が打ち消しあうため単純な場になりやすく、損失関数Lによりコストの山が複数生じて複雑化するという多鋒性の問題が緩和される。特にグリッド探索の場合は有効である。
【実施例4】
【0086】
つぎに、実施例4について説明する。実施例4では、実施例1~実施例3との相違点を中心に説明するため、実施例1~実施例3との共通部分については説明を省略する。実施例4は、実験計画装置101が、設計パラメータ空間500をグリッド分割し、設計パラメータx[i]を格子点に量子化して候補点を生成する例である。
【0087】
図15は、実施例4にかかるグリッド探索例を示す説明図である。図16は、実施例4にかかる勾配降下による候補点生成処理手順例を示すフローチャートである。図4との相違は、ステップS402:YesとステップS404との間に量子化(ステップS1600)が追加された点である。
【0088】
図15において、設計パラメータ空間500は、グリッド状に分割されている。縦横のグリッド線glv、glhで囲まれた領域をグリッドと称す。図15では、例としてグリッドG1~G4を示す。縦のグリッド線glvと横のグリッド線glhとの交点を格子点と称す。隣接する格子点の間隔をdとする。なお、dは軸jごとに異なる値を取ってもよい。設計パラメータx[i]は、格子点上に位置しない場合には量子化により最も近い格子点に量子化される。
【0089】
また、図15は、図11の(B)の状態を示している。ここでは、説明を単純化するため、ReLU場B1の底面を正方形とし、その辺の長さを離間距離thの2倍(2×th)とする。なお、離間距離thjは軸jごとに異なる距離となるが、ここでは、説明を単純化するため、th1=th2=thとする。
【0090】
図16において、ステップS402:Yesのあと、実験計画装置101は、候補点出力条件を充足した設計パラメータx[i]を量子化する(ステップS1600)。具体的には、たとえば、実験計画装置101は、図15において、設計パラメータx[i]を最短距離(ユークリッド距離でもマンハッタン距離でもよい)の格子点に移動させる。量子化後の設計パラメータx[i]をQ(x[i])とする。
【0091】
たとえば、x[1]=(0.1,1.3)が候補点出力条件を充足する勾配降下の収束値だった場合、Q(x[1])=(0,1)が候補点として追加される(ステップS404)。また、図15において、ReLU場B1はQ(x[1])が位置する格子点を中心に発生する(ステップS407)。
【0092】
軸j=1方向に勾配降下する場合、勾配降下により、格子点上のQ(x[i])は右隣の格子点に移動する。すなわち、2×th>dを満たせば、ReLU場B1内の格子点上のQ(x[i])はReLU場B1外の格子点に移動する。したがって、勾配降下によりQ(x[i])が同じ格子点にとどまらず、異なる格子点に勾配降下することにある。
【0093】
また、設計パラメータx[2]の勾配降下では、設計パラメータx[2]は、ReLU場B1の範囲内に収束することはないため、設計パラメータx[2]が候補点出力条件を充足すると(ステップS402:Yes)、量子化後の設計パラメータQ(x[2])は、自動的にReLU場B1の範囲外の格子点に収束する(ステップS1600)。これにより、Q(x[i])同士が同じ格子点に落ちたかどうかの判定が不要になる。
【0094】
このように、実施例4では、グリッド化された設計パラメータ空間500において、設計パラメータx[i]を量子化することにより、設計パラメータQ(x[i])が同一格子点上に集中するのを回避することができ、設計パラメータQ(x[i])の効率的な離散化を図ることができる。
【実施例5】
【0095】
つぎに、実施例5について説明する。実施例5では、実施例1~実施例4との相違点を中心に説明するため、実施例1~実施例4との共通部分については説明を省略する。実施例5は、ユークリッド距離をコストにする例である。
【0096】
たとえば、設計パラメータxi1がエネルギーであり、設計パラメータxi2が位置であるとすると、設計パラメータxi1の次元数と設計パラメータxi2の次元数は、異なる。したがって、設計パラメータxi1,xi2間で和や差を取るのは定性的に危険であり、実施例3で示したようなピラミッド型のReLU場B1,B2で離間した方がよい。
【0097】
一方、設計パラメータxi1,xi2の次元数が、たとえば、エネルギーのように同一である場合、ユークリッド距離を用いることができる。この場合、実験計画装置101は、同じ離間距離thでも、実施例3のピラミッド型と比べて同一の空間体積の中でより多くの候補点を探索することができる。
【0098】
図17は、実施例5にかかる距離コストノード302-iの一例を示す説明図である。図18は、実施例5にかかる距離コストノード302-iによる勾配の可視化例を示す説明図である。図17において、距離ノード810は、第1減算処理811と、乗算処理1712と、を実行する。乗算処理1712は、第1減算結果8110に設計パラメータx[i]および(1/th0,1/th1,…,1/thn)を乗算し、乗算結果17120を出力する処理である。
【0099】
また、コストノード820は、加算処理1721と、第3減算処理1722と、ReLU活性化処理822と、を実行する。加算処理1721は、乗算結果17120の各軸jの要素を加算し、加算結果17210を出力する処理である。第3減算処理は、加算結果17210を1から減算し、第3減算結果17220を出力する処理である。
【0100】
ReLU活性化処理822は、第3減算結果17220をReLU関数に入力して活性化し、距離コストC2iを出力する。具体的には、たとえば、ReLU活性化処理822は、第3減算結果17220が0以下であれば勾配0を出力する。一方、ReLU活性化処理822は、第3減算結果17220が0より大きければ、勾配1を出力する。たとえば、図11の(B)の状態において、勾配降下先の点が、図18に示したような半楕円体形状のReLU場B1の中にある場合は勾配1を出力する。
【0101】
実施例5によれば、ユークリッド距離をコストに用いることにより、最短で離間可能なようにすべての軸jを使って勾配ベクトルが発生する。したがって、各軸jの設計パラメータx[i]の次元数が同じ場合に有用である。また、図17に示したReLU場B1は半楕円体形状となるため、実施例3のような四角錘に比べて、パラメータ空間へ射影した体積(面積)が小さい。パラメータ空間においてReLU場が発生すると、その射影体積分だけ選択できる領域が狭まる。したがって、実施例5によれば、より多くの候補点を探索することができる。
【実施例6】
【0102】
つぎに、実施例6について説明する。実施例6では、実施例1~実施例5との相違点を中心に説明するため、実施例1~実施例5との共通部分については説明を省略する。実施例6は、グラフ構造において、推論モデル301とコスト加算ノード303との間に、コスト調整層を接続した例である。
【0103】
図19は、実施例5にかかるグラフ構造例を示す説明図である。実施例5では、2つの推論モデル301a,301bがあるが、推論モデル301は1つでもよい。推論モデル301a,301bを区別しない場合は、単に推論モデル301と表記する。出力されるコストC1ia,C1ib,AD(C1ia),AD(C1ib)も同様に末尾のa,bを省略する。また、図18では、例として、距離コストノード302-1,302-2が接続された状態を示している。
【0104】
推論モデル301a,301bとコスト加算ノード303との間には、コスト調整層1900a,1900bが接続されている。コスト調整層1900a,1900bを区別しない場合には、単にコスト調整層1900と表記する。コスト調整層1900は、推論モデル301から出力されるコストC1iを調整してAD(C1i)をコスト加算ノード303に出力する。
【0105】
図20は、コスト調整層1900の一例を示す説明図である。コスト調整層1900は、減算部2001と、ReLU活性化部2002と、乗算部2003と、加算部2004と、合計部2005と、を有する。減算部2001、ReLU活性化部2002、乗算部2003、および加算部2004はそれぞれ、j個のブロックを有し、j番目のブロックが直列接続されている。図19では、j=5の例を示している。減算部2001、ReLU活性化部2002、乗算部2003、および加算部2004のj番目のブロックをそれぞれ、2001-j~2004-jと表記する。
【0106】
推論モデル301からのコストC1iの軸jの要素であるC1ijは、減算部2001のj番目の減算ブロック2001-jに入力される。合計部2005は、加算ブロック2004-jからの加算結果を加算して、コスト調整結果AD(C1i)としてコスト加算ノード303に出力する。コストC1iをxとし、コスト調整結果AD(C1i)をyとすると、コスト調整層1900は、下記式(4)によって表現される。
【0107】
【数1】
【0108】
図21は、コスト入出力関係を示すグラフの一例を示す説明図である。具体的には、たとえば、減算部2001は、入力xに対し制御点p[0],…p[N]のx軸を減算して(x-p[i].x)を計算する。つぎに、ReLU活性化部2002は、減算した値(x-p[i].x)に対してReLUを取りReLU(x-p[i].x)を計算する。つぎに、乗算部2003は、x軸方向に隣接する制御点間に対応する各領域の傾きgradをかけ、grad[i]×(ReLU(x>p[i].x))を計算する。
【0109】
つぎに、加算部2004は、x軸方向に隣接する制御点間に対応する各領域のoffsetを足し、|grad[i]×(ReLU(x>p[i].x))+offset[i]|を計算する。最後に、合計部2005は、和を取って出力する。
【0110】
図22は、コスト調整層1900他の例を示す説明図である。図23は、コスト入出力関係を示すグラフの他の例を示す説明図である。図22において、傾きgrad[N]がgrad[N]=0になっている。これにより、右端の制御点より右側の領域、つまり(max(p.x)<xとなる領域に勾配を延長することが可能である。また、減算部2001とReLU活性化部2002との間に、x-p[0].xのノードを反転させた枝2200が追加されている。これにより、左端の制御点より左側の領域、つまり(min(p.x)>xとなる領域に勾配を延長することが可能である。枝2200においては、乗算ノードの値は-grad[0]に、オフセット値は0になる。
【0111】
このように、コスト調整層を採用することで、候補点Piの指向の細かい調整が可能である。また、候補点Piを得る繰り返しの途中で、コスト調整層を変更してもよい。この操作により、前半に候補点出力リストに追加する5個についてはコストC3iがある値から低くなるように調整し、後半に候補点出力リストに追加する5個についてはコストC3iが当該ある値以上となるように調整することも可能である。これにより、複数の戦略を取り入れた候補点群を取得することができる。
【0112】
また、コスト調整層の構造は入力と出力の次元が等しい限りにおいて自由だが、ReLU活性化部2002および合計部2005を含む構成で実装すると制御点が現れるため直観的に制御しやすく有用である。
【0113】
このように、上述した実施例1~実施例6によれば、距離コストノードを追加接続したグラフ構造により、探索された候補点同士を離間し、実験的に意味のある複数の解を得ることができる。また、ニューラルネットワークの一部として実装されるため、学習済みの推論モデル301を用いて効率的に候補点Piを探索することができる。また、離間距離thや終了判定基準、勾配降下回数の上限回数、グリッドの格子間隔d、コスト調整層1900によりカスタマイズが容易で、候補解の性向を調整しやすく実験計画に好適である。
【0114】
なお、本発明は前述した実施例に限定されるものではなく、添付した特許請求の範囲の趣旨内における様々な変形例及び同等の構成が含まれる。たとえば、前述した実施例は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに本発明は限定されない。また、ある実施例の構成の一部を他の実施例の構成に置き換えてもよい。また、ある実施例の構成に他の実施例の構成を加えてもよい。また、各実施例の構成の一部について、他の構成の追加、削除、または置換をしてもよい。
【0115】
また、前述した各構成、機能、処理部、処理手段等は、それらの一部又は全部を、たとえば集積回路で設計する等により、ハードウェアで実現してもよく、プロセッサがそれぞれの機能を実現するプログラムを解釈し実行することにより、ソフトウェアで実現してもよい。
【0116】
各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリ、ハードディスク、SSD(Solid State Drive)等の記憶装置、又は、IC(Integrated Circuit)カード、SDカード、DVD(Digital Versatile Disc)の記録媒体に格納することができる。
【0117】
また、制御線や情報線は説明上必要と考えられるものを示しており、実装上必要な全ての制御線や情報線を示しているとは限らない。実際には、ほとんど全ての構成が相互に接続されていると考えてよい。
【符号の説明】
【0118】
100 実験計画システム
101 実験計画装置
102 学習装置
103 実験装置
301 推論モデル
300 入力ノード(入力部)
302-i 距離コストノード(距離コスト算出部(ステップS403)、量子化部(ステップS1600))
303 コスト加算ノード(コスト加算部(ステップS403))
304 損失関数出力ノード(修正部(ステップS403)、決定部(ステップS404)、設定部(ステップS407))
500 設計パラメータ空間
1900 コスト調整層
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16
図17
図18
図19
図20
図21
図22
図23