(58)【調査した分野】(Int.Cl.,DB名)
材料又は薬剤を生成するための実験条件と実験結果の性能値との複数の組み合わせを入力とし、実験条件を出力とした出力モデルに、前記複数の組み合わせを入力することによって出力された実験条件を、仮想的な実験を行う実験モデルに入力することにより得られた実験結果の性能値を用いて前記出力モデルの評価値を導出する導出部と、
前記導出部により導出された評価値を反映させる機械学習によって前記出力モデルを学習させる学習部と、
を備えた学習装置。
前記評価値は、複数の前記性能値における目標とする性能を満たす値の比率が高いほど良い値であるか、前記目標とする性能を満たす性能値が得られるまでの仮想的な実験回数が少ないほど良い値であるか、又は前記性能値が前記目標とする性能に近いほど良い値である
請求項1に記載の学習装置。
材料又は薬剤を生成するための実験条件と実験結果の性能値との複数の組み合わせ、及び実験条件の候補を入力とし、強化学習における行動価値を出力とした出力モデルに、前記複数の組み合わせと複数の異なる前記実験条件の候補各々とをそれぞれ入力することにより出力された複数の行動価値のうち、所定値以上の行動価値に対応する前記実験条件の候補を、仮想的な実験を行う実験モデルに入力することにより得られた実験結果の性能値に基づいて導出される値を報酬として、前記出力モデルを学習させる学習部
を備えた学習装置。
前記報酬は、複数の前記性能値における目標とする性能を満たす値の比率が高いほど良い値であるか、前記目標とする性能を満たす性能値が得られるまでの仮想的な実験回数が少ないほど良い値であるか、又は前記性能値が前記目標とする性能に近いほど良い値である
請求項6に記載の学習装置。
前記学習部により学習された出力モデルを用いる場合に、複数の前記実験条件の候補を前記出力モデルに逐次的に複数回入力することにより出力された累計の行動価値が最大となる前記実験条件の候補を次に実験対象とする実験条件の候補として出力する出力部を更に備えた
請求項6から請求項8の何れか1項に記載の学習装置。
材料又は薬剤を生成するための実験条件と実験結果の性能値との複数の組み合わせを入力とし、実験条件を出力とした出力モデルに、前記複数の組み合わせを入力することによって出力された実験条件を、仮想的な実験を行う実験モデルに入力することにより得られた実験結果の性能値を用いて前記出力モデルの評価値を導出し、
導出した評価値を反映させる機械学習によって前記出力モデルを学習させる
処理をコンピュータが実行する学習方法。
材料又は薬剤を生成するための実験条件と実験結果の性能値との複数の組み合わせを入力とし、実験条件を出力とした出力モデルに、前記複数の組み合わせを入力することによって出力された実験条件を、仮想的な実験を行う実験モデルに入力することにより得られた実験結果の性能値を用いて前記出力モデルの評価値を導出し、
導出した評価値を反映させる機械学習によって前記出力モデルを学習させる
処理をコンピュータに実行させるための学習プログラム。
材料又は薬剤を生成するための実験条件と実験結果の性能値との複数の組み合わせ、及び実験条件の候補を入力とし、強化学習における行動価値を出力とした出力モデルに、前記複数の組み合わせと複数の異なる前記実験条件の候補各々とをそれぞれ入力することにより出力された複数の行動価値のうち、所定値以上の行動価値に対応する前記実験条件の候補を、仮想的な実験を行う実験モデルに入力することにより得られた実験結果の性能値に基づいて導出される値を報酬として、前記出力モデルを学習させる
処理をコンピュータが実行する学習方法。
材料又は薬剤を生成するための実験条件と実験結果の性能値との複数の組み合わせ、及び実験条件の候補を入力とし、強化学習における行動価値を出力とした出力モデルに、前記複数の組み合わせと複数の異なる前記実験条件の候補各々とをそれぞれ入力することにより出力された複数の行動価値のうち、所定値以上の行動価値に対応する前記実験条件の候補を、仮想的な実験を行う実験モデルに入力することにより得られた実験結果の性能値に基づいて導出される値を報酬として、前記出力モデルを学習させる
処理をコンピュータに実行させるための学習プログラム。
【発明の概要】
【発明が解決しようとする課題】
【0005】
材料の研究開発において、性能がより良い材料を獲得するために、実験を繰り返し行うことによって、性能がより良い材料を探索することが行われている。この場合、過去に行われた材料を生成するための実験条件と実験結果の性能値との組み合わせから、適切な実験条件を新たに探索することができると研究開発の効率化のためにも好ましい。
【0006】
特開2000−305941号公報に記載の技術では、データベースに存在するデータに類似するデータしか探索することができないため、材料を生成するための実験条件を探索する手法に適用したとしても、必ずしも適切な実験条件を探索することができない場合がある、という問題点がある。また、特開2007−304782号公報及び特開2016−530585号公報に記載の技術は、そもそも新たな実験条件を探索することについては考慮されていない。なお、この問題点は、材料の研究開発に限らず、薬剤の研究開発でも発生し得る問題点である。
【0007】
本開示は、以上の事情を鑑みて成されたものであり、材料又は薬剤を生成するための適切な実験条件を探索可能とすることを目的とする。
【課題を解決するための手段】
【0008】
本開示の学習装置は、材料又は薬剤を生成するための実験条件と実験結果の性能値との複数の組み合わせを入力とし、実験条件を出力とした出力モデルに、複数の組み合わせを入力することによって出力された実験条件を、仮想的な実験を行う実験モデルに入力することにより得られた実験結果の性能値を用いて出力モデルの評価値を導出する導出部と、導出部により導出された評価値を反映させる機械学習によって出力モデルを学習させる学習部と、を備えている。
【0009】
これにより、材料又は薬剤を生成するための適切な実験条件を探索することができる。
【0010】
なお、本開示の学習装置は、評価値が、複数の性能値における目標とする性能を満たす値の比率が高いほど良い値であってもよいし、目標とする性能を満たす性能値が得られるまでの仮想的な実験回数が少ないほど良い値であってもよいし、性能値が目標とする性能に近いほど良い値であってもよい。
【0011】
これにより、性能値として適切な値を用いて探索行動を評価することにより適切な出力モデルが定まる結果、材料又は薬剤を生成するための適切な実験条件を探索することができる。
【0012】
また、本開示の学習装置では、導出部は、出力モデルから、予め定められた規則を満たさない実験条件が出力された場合、評価値を低く補正してもよい。
【0013】
これにより、過去の経験則等に基づく予め定められた規則を満たす実験条件が得られる可能性を高くすることができる結果、材料又は薬剤を生成するための適切な実験条件を探索することができる。
【0014】
また、本開示の学習装置では、導出部が、出力モデルから出力された実験条件を実際の実験に使用可能な実験条件に補正してもよい。
【0015】
これにより、実際の実験に使用可能な実験条件が得られる可能性を高くすることができる結果、材料又は薬剤を生成するための適切な実験条件を探索することができる。
【0016】
また、本開示の学習装置は、出力モデルが、遺伝的アルゴリズムを用いて学習されるモデルであってもよい。
【0017】
これにより、材料又は薬剤を生成するためのより適切な実験条件を探索することができる。
【0018】
本開示の学習装置は、材料又は薬剤を生成するための実験条件と実験結果の性能値との複数の組み合わせ、及び実験条件の候補を入力とし、強化学習における行動価値を出力とした出力モデルに、複数の組み合わせと複数の異なる実験条件の候補各々とをそれぞれ入力することにより出力された複数の行動価値のうち、所定値以上の行動価値に対応する実験条件の候補を、仮想的な実験を行う実験モデルに入力することにより得られた実験結果の性能値に基づいて導出される値を報酬として、出力モデルを学習させる学習部を備えている。
【0019】
これにより、材料又は薬剤を生成するための適切な実験条件を探索することができる。
【0020】
なお、本開示の学習装置は、報酬が、複数の性能値における目標とする性能を満たす値の比率が高いほど良い値であるか、目標とする性能を満たす性能値が得られるまでの仮想的な実験回数が少ないほど良い値であるか、又は性能値が目標とする性能に近いほど良い値であってもよい。
【0021】
これにより、性能値として適切な値が用いられる結果、材料又は薬剤を生成するための適切な実験条件を探索することができる。
【0022】
また、本開示の学習装置は、強化学習が、Q学習であり、行動価値が、Q値であってもよい。
【0023】
これにより、材料又は薬剤を生成するためのより適切な実験条件を探索することができる。
【0024】
また、本開示の学習装置は、学習部により学習された出力モデルを用いる場合に、複数の実験条件の候補を出力モデルに逐次的に複数回入力することにより出力された累計の行動価値が最大となる実験条件の候補を次に実験対象とする実験条件の候補として出力する出力部を更に備えてもよい。
【0025】
これにより、材料又は薬剤を生成するためのより適切な実験条件を探索することができる。
【0026】
また、本開示の学習装置は、実験モデルが、機械学習により得られたモデルであってもよい。
【0027】
これにより、特定の問題に特化した出力モデルを生成することができる。
【0028】
また、本開示の学習装置は、実験モデルが、複数存在し、複数の実験モデルのそれぞれの作成条件が異なってもよい。
【0029】
これにより、作成条件の異なる実験モデルにより得られた複数の仮想的な実験結果を用いることによって、材料又は薬剤を生成するためのより適切な実験条件を探索することができる。また、実験モデルが、sin又はexp等の関数を含んで構成された数式であってもよい。これにより、実験データが全く得られていないような実験系でも、出力モデルを生成することができる。
【0030】
また、本開示の学習装置では、出力モデルが、複数存在し、複数の出力モデルのそれぞれの作成条件が異なってもよい。
【0031】
これにより、作成条件の異なる出力モデルにより得られた複数の実験条件から得られる複数の性能値の評価により学習することによって、材料又は薬剤を生成するためのより適切な実験条件を探索することができる。
【0032】
本開示の学習方法は、材料又は薬剤を生成するための実験条件と実験結果の性能値との複数の組み合わせを入力とし、実験条件を出力とした出力モデルに、複数の組み合わせを入力することによって出力された実験条件を、仮想的な実験を行う実験モデルに入力することにより得られた実験結果の性能値を用いて出力モデルの評価値を導出し、導出した評価値を反映させる機械学習によって出力モデルを学習させる処理をコンピュータが実行する方法である。
【0033】
本開示の学習プログラムは、材料又は薬剤を生成するための実験条件と実験結果の性能値との複数の組み合わせを入力とし、実験条件を出力とした出力モデルに、複数の組み合わせを入力することによって出力された実験条件を、仮想的な実験を行う実験モデルに入力することにより得られた実験結果の性能値を用いて出力モデルの評価値を導出し、導出した評価値を反映させる機械学習によって出力モデルを学習させる処理をコンピュータに実行させるためのものである。
【0034】
本開示の学習方法は、材料又は薬剤を生成するための実験条件と実験結果の性能値との複数の組み合わせ、及び実験条件の候補を入力とし、強化学習における行動価値を出力とした出力モデルに、複数の組み合わせと複数の異なる実験条件の候補各々とをそれぞれ入力することにより出力された複数の行動価値のうち、所定値以上の行動価値に対応する実験条件の候補を、仮想的な実験を行う実験モデルに入力することにより得られた実験結果の性能値に基づいて導出される値を報酬として、出力モデルを学習させる処理をコンピュータが実行する方法である。
【0035】
本開示の学習プログラムは、材料又は薬剤を生成するための実験条件と実験結果の性能値との複数の組み合わせ、及び実験条件の候補を入力とし、強化学習における行動価値を出力とした出力モデルに、複数の組み合わせと複数の異なる実験条件の候補各々とをそれぞれ入力することにより出力された複数の行動価値のうち、所定値以上の行動価値に対応する実験条件の候補を、仮想的な実験を行う実験モデルに入力することにより得られた実験結果の性能値に基づいて導出される値を報酬として、出力モデルを学習させる処理をコンピュータに実行させるためのものである。
【0036】
また、本開示の学習装置は、材料又は薬剤を生成するための実験条件と実験結果の性能値との複数の組み合わせを入力とし、実験条件を出力とした出力モデルに、複数の組み合わせを入力することによって出力された実験条件を、仮想的な実験を行う実験モデルに入力することにより得られた実験結果の性能値を用いて出力モデルの評価値を導出し、導出した評価値を反映させる機械学習によって出力モデルを学習させるプロセッサを有する。
【0037】
また、本開示の学習装置は、材料又は薬剤を生成するための実験条件と実験結果の性能値との複数の組み合わせ、及び実験条件の候補を入力とし、強化学習における行動価値を出力とした出力モデルに、複数の組み合わせと複数の異なる実験条件の候補各々とをそれぞれ入力することにより出力された複数の行動価値のうち、所定値以上の行動価値に対応する実験条件の候補を、仮想的な実験を行う実験モデルに入力することにより得られた実験結果の性能値に基づいて導出される値を報酬として、出力モデルを学習させるプロセッサを有する。
【発明の効果】
【0038】
本開示によれば、材料又は薬剤を生成するための適切な実験条件を探索することができる。
【発明を実施するための形態】
【0040】
以下、図面を参照して、本開示の技術を実施するための形態例を詳細に説明する。
【0041】
[第1実施形態]
まず、
図1を参照して、本実施形態に係る学習フェーズにおける学習装置10の機能的な構成について説明する。
図1に示すように、学習装置10は、導出部12及び学習部14を備える。また、学習装置10の記憶部42(
図10参照)には、学習用データ20、複数の出力モデル22、及び複数の実験モデル24が記憶される。
【0042】
図2に、学習用データ20の一例を示す。
図2に示すように、本実施形態に係る学習用データ20は、材料を生成するための実験条件と、その実験条件で実験を行った場合の実験結果の材料の性能値との組み合わせを含む。実験条件は、例えば、半導体レジスト材料等の材料を生成する際の条件であり、主成分組成、添加物量、及びプロセス条件を含む。
図2の例では、主成分組成は、材料の主成分の比率を示し、添加物量は添加物の濃度を示し、プロセス条件は、材料を生成する際の温度を示す。
【0043】
また、学習用データ20の性能値は、対応する実験条件により材料が生成された際の材料の性能値を示す。本実施形態に係る性能値は、材料の出来のよさを表す尺度であり、例えば、材料の表面の凹凸の度合い、及び所望の大きさの穴があけられたかを表す度合い等が挙げられる。また、本実施形態では、性能値が小さいほど材料の出来がよいことを示している。また、本実施形態の学習用データ20は、複数の異なる実験条件と性能値との組み合わせを含む。なお、実験条件には、同じものが複数含まれていてもよい。
【0044】
図3に、出力モデル22の一例を示す。
図3に示すように、本実施形態に係る出力モデル22は、入力層、複数の中間層、及び出力層を含むニューラルネットワークである。出力モデル22の入力層には、実験条件と性能値との複数の組み合わせが入力される。出力モデル22の出力層は、1つの実験条件を出力する。
図4に、出力モデル22の出力層から出力される実験条件のデータ構造の一例を示す。
図4に示すように、出力モデル22の出力層は、例えば、主成分組成、添加物量、及びプロセス条件を含む実験条件を出力する。
【0045】
詳細には、出力モデル22は、例えば、以下の(1)〜(3)に示すように構成される。
(1)入力層のノード数:N×M
なお、Nは、実験条件の項目数を表し、Mは、実験回数を表す。
(2)中間層の構成:カーネルが3×3、フィルタ数が32、ストライドが2、活性化関数がReluの畳み込み層を10層有する。
(3)出力層のノード数:N×1
【0046】
また、本実施の形態に係る複数の出力モデル22は、それぞれモデルの作成条件が異なる。詳細には、複数の出力モデル22は、中間層の層数、中間層の各層のノード数、及び重みの初期値の少なくとも1つが異なることによって、それぞれモデルの作成条件が異なる。
【0047】
図5に、実験モデル24の一例を示す。
図5に示すように、本実施形態に係る実験モデル24は、入力層、複数の中間層、及び出力層を含むニューラルネットワークとされている。実験モデル24は、仮想的な実験を行うモデルであり、実験モデル24の入力層には、1つの実験条件が入力される。実験モデル24の出力層は、入力層に入力された1つの実験条件に対応する実験結果の性能値を出力する。
図6に、実験モデル24の出力層から出力される実験結果の性能値のデータ構造の一例を示す。なお、実験モデル24は、複数種類の性能値を出力してもよい。この場合、例えば、実験モデル24は、材料の性能値として、材料の表面の凹凸の度合い、及び材料の光感度の双方を出力する。
【0048】
詳細には、実験モデル24は、例えば、以下の(4)〜(6)に示すように構成される。
(4)入力層のノード数:N×1
なお、Nは、実験条件の項目数を表す。
(5)中間層の構成:カーネルが3×3、フィルタ数が32、ストライドが2、活性化関数がReluの畳み込み層を4層有する。
(6)出力層のノード数:1×J
なお、Jは、性能値の種類数を表す。
【0049】
また、本実施の形態に係る複数の実験モデル24は、それぞれモデルの作成条件が異なる。詳細には、複数の実験モデル24は、中間層の層数、中間層の各層のノード数、及び重みの初期値の少なくとも1つが異なることによって、それぞれモデルの作成条件が異なる。
【0050】
導出部12は、材料を生成するための実験条件と実験結果の性能値との複数の組み合わせを出力モデル22に入力し、出力モデル22から出力された実験条件を取得する。詳細には、導出部12は、まず、学習用データ20に含まれる全ての実験条件と性能値との組み合わせを出力モデル22に入力し、出力モデル22から出力された実験条件を取得する。なお、導出部12は、学習用データ20に含まれる一部の複数の実験条件と性能値との組み合わせを出力モデル22に入力してもよいし、学習用データ20とは異なる複数の実験条件と性能値との組み合わせを出力モデル22に入力してもよい。
【0051】
また、導出部12は、出力モデル22から出力された実験条件を、実際の実験に使用可能な実験条件に補正する。本実施形態では、導出部12は、出力モデル22から出力された実験条件を、実際に使用する実験装置の制約を満たす最も近い実験条件に補正する。例えば、実験装置の仕様上、プロセス条件で設定可能な温度が5℃単位で、かつ出力モデル22から出力された実験条件に含まれるプロセス条件の温度が5℃単位ではない温度(例えば、92.3℃)の場合、導出部12は、出力モデル22から出力された上記温度を、最も近い5の倍数の温度(例えば、90℃)に補正する。
【0052】
次に、導出部12は、補正して得られた実験条件を各実験モデル24に入力し、各実験モデル24から出力された性能値をそれぞれ取得する。
【0053】
更に、導出部12は、出力モデル22に入力した複数セットの実験条件と性能値との複数の組み合わせに、それぞれ対応する実験モデル24に入力した実験条件と導出した性能値との組み合わせを追加した複数セットの実験条件と性能値との複数の組み合わせを得る。そして、導出部12は、再度、得られた複数セットの実験条件と性能値との複数の組み合わせを出力モデル22に入力することにより得られた複数の実験条件をそれぞれ対応する各実験モデル24に入力する。これにより、導出部12は、再度、それぞれ対応する実験モデル24に入力した実験条件に対応する性能値を得る。導出部12は、以上の出力モデル22に入力した複数セットの実験条件と性能値との複数の組み合わせに、それぞれ対応する実験モデル24に入力した実験条件と得られた性能値との組み合わせを追加して、再度それぞれ対応する実験モデル24を用いて性能値を得る処理を所定の回数(例えば、100回)繰り返す。
【0054】
また、導出部12は、以上の処理を各出力モデル22に対して行う。すなわち、導出部12は、各出力モデル22について、所定回数分の出力モデル22から出力された実験条件と、その実験条件に対応する性能値との複数の組み合わせを得る。
【0055】
導出部12は、各出力モデル22について、得られた所定回数分の性能値を用いて、出力モデル22の評価値を導出する。本実施形態では、導出部12は、一例として
図7に示すように、目標とする性能を満たす性能値(本実施形態では、目標値以下である性能値)が得られるまでの仮想的な実験回数(
図7に示すN)が少ないほど良い値として出力モデル22の評価値を導出する。なお、
図7の縦軸は性能値を示し、横軸はその性能値が何回目の仮想的な実験で得られた値であるかを表す仮想的な実験回数を示す。
図7の例では、N回目の仮想的な実験で初めて目標とする性能を満たす性能値が得られたことを示している。
【0056】
なお、導出部12は、一例として
図8に示すように、得られた所定回数分の性能値における目標とする性能を満たす性能値の比率(
図8に示す全ての性能値の数に対する一点鎖線の矩形で囲まれた性能値の数の比率)が高いほど良い値として出力モデル22の評価値を導出してもよい。なお、
図8における「good」は、目標とする性能を満たすことを意味する。また、導出部12は、各性能値が目標値に近いほど良い値として出力モデル22の評価値を導出してもよい。
【0057】
なお、導出部12は、出力モデル22から予め定められた規則を満たさない実験条件が出力された場合に、上記評価値を低く補正してもよい。この予め定められた規則としては、例えば、材料Aと材料Bとを混合させることは無い、又は5種類以上の材料を混合させることは無い等のユーザの経験則に従った規則が挙げられる。
【0058】
学習部14は、機械学習の一例としての誤差逆伝播法を用いて、実験モデル24を学習させる。具体的には、学習部14は、学習用データ20に含まれる実験条件を実験モデル24に入力し、実験モデル24から出力された性能値を取得する。そして、学習部14は、取得した性能値と、学習用データ20に含まれる実験条件に対応する性能値との差が最小となるように、実験モデル24を学習させる。学習部14は、この実験モデル24を学習させる処理を、学習用データ20に含まれる全ての実験条件と性能値との組み合わせを用いて行う。なお、学習部14は、学習用データ20に含まれる一部の実験条件と性能値との複数の組み合わせを用いて実験モデル24を学習させてもよい。また、学習部14が各実験モデル24を学習させる際に各実験モデル24に入力するデータは、各実験モデル24間で同じデータでもよいし、異なるデータでもよい。
【0059】
また、学習部14は、各出力モデル22について導出部12により導出された評価値を用いて、最適化アルゴリズムの一例としての遺伝的アルゴリズムを用いた機械学習によって各出力モデル22を学習させる。なお、この遺伝的アルゴリズムで用いられる個体の選択手法(例えば、ルーレット選択等)、交叉方法(例えば、二点交叉等)、及び突然変異の確率等のパラメータは、ユーザによって予め設定される。
【0060】
詳細には、例えば、学習部14は、各出力モデル22のうち、最も評価の良い2つの出力モデル22を交配することによって新たな出力モデル22を生成する。この交配は、例えば、一方の出力モデル22の入力層と中間層のうちの入力層側の半分の中間層、及び他方の出力モデル22の中間層のうちの出力層側の半分の中間層と出力層を結合することによって行われる。なお、交配の手法はこの例に限定されない。例えば、一方の出力モデル22の
図3に示す入力層、中間層、及び出力層の上半分と、他方の出力モデル22の
図3に示す入力層、中間層、及び出力層の下半分と、を結合することによって交配を行ってもよい。また、本実施形態では、学習部14は、世代間で出力モデル22の数が変わらないように、遺伝的アルゴリズムにより次世代の出力モデル22を生成する。すなわち、遺伝的アルゴリズムを用いることにより出力モデル22の重み値が更新されることによって、出力モデル22が学習される。また、出力モデル22が学習されることにより、導出部12により導出された評価値が反映される。
【0061】
上記の導出部12による各出力モデル22の評価値の導出処理、及び学習部14による出力モデル22群の学習処理は、所定の世代数(例えば、1万世代)だけ行われる。そして、学習部14は、最終世代において評価値が示す評価が最も良い1つの出力モデル22を、後述する運用フェーズで用いる出力モデル22Aとして記憶部42に記憶する。なお、上記の導出部12による各出力モデル22の評価値の導出処理、及び学習部14による出力モデル22群の学習処理は、評価値が収束するまで行ってもよい。
【0062】
次に、
図9を参照して、本実施形態に係る運用フェーズにおける学習装置10の機能的な構成について説明する。
図9に示すように、学習装置10は、受付部30及び出力部32を備える。また、学習装置10の記憶部42には、前述した学習フェーズで得られた出力モデル22Aが記憶される。
【0063】
受付部30は、ユーザにより入力部44(
図10参照)を介して入力された材料を生成するための実験条件と、実験結果の材料の性能値との複数の組み合わせを受け付ける。
【0064】
出力部32は、受付部30により受け付けられた実験条件と性能値との複数の組み合わせを出力モデル22Aに入力し、出力モデル22Aから出力された実験条件を取得する。また、出力部32は、学習フェーズにおける導出部12と同様に、出力モデル22Aから出力された実験条件を実際の実験に使用可能な実験条件に補正する。そして、出力部32は、補正して得られた実験条件を表示部43(
図10参照)に出力する。ユーザは、表示部43に表示された実験条件を目視し、必要に応じてその実験条件での実験を行う。なお、出力部32は、補正して得られた実験条件を記憶部42に出力(記憶)してもよい。
【0065】
次に、
図10を参照して、学習装置10のハードウェア構成について説明する。学習装置10は、
図10に示すコンピュータによって実現される。
図10に示すように、学習装置10は、CPU(Central Processing Unit)40、一時記憶領域としてのメモリ41、及び不揮発性の記憶部42を備える。また、学習装置10は、液晶ディスプレイ等の表示部43、及びキーボードとマウス等の入力部44を備える。CPU40、メモリ41、記憶部42、表示部43、及び入力部44は、バス45を介して接続される。
【0066】
記憶部42は、HDD(Hard Disk Drive)、SSD(Solid State Drive)、及びフラッシュメモリ等によって実現される。記憶媒体としての記憶部42には、学習プログラム50が記憶される。CPU40は、学習プログラム50を記憶部42から読み出し、読み出した学習プログラム50をメモリ41に展開してから実行する。CPU40が学習プログラム50を実行することによって、導出部12、学習部14、受付部30、及び出力部32として機能する。
【0067】
次に、
図11〜
図13を参照して、本実施形態に係る学習装置10の作用を説明する。学習装置10が学習プログラム50を実行することにより、
図11に示す実験モデル学習処理、
図12に示す出力モデル学習処理、及び
図13に示す実験条件出力処理が実行される。
図11に示す実験モデル学習処理は、例えば、学習フェーズにおいて、ユーザによって入力部44を介して実験モデル学習処理の実行指示が入力された場合に実行される。また、
図12に示す出力モデル学習処理は、例えば、学習フェーズにおいて、ユーザによって入力部44を介して出力モデル学習処理の実行指示が入力された場合に実行される。また、
図13に示す実験条件出力処理は、例えば、運用フェーズにおいて、ユーザによって入力部44を介して実験条件出力処理の実行指示が入力された場合に実行される。
【0068】
図11のステップS10で、学習部14は、記憶部42から学習用データ20を読み出す。ステップS12で、学習部14は、それぞれモデルの作成条件が異なる複数の実験モデル24を生成する。ステップS14で、学習部14は、ステップS12の処理により生成された複数の実験モデル24の中から、学習させる対象の1つの実験モデル24を選択する。なお、ステップS14の処理が繰り返し実行される際には、学習部14は、それまでに未選択の実験モデル24を選択する。
【0069】
ステップS16で、学習部14は、前述したように、ステップS10の処理により読み出された学習用データ20を用いて、ステップS14の処理により選択された実験モデル24を誤差逆伝播法によって学習させる。ステップS18で、学習部14は、ステップS16の処理により学習された実験モデル24を記憶部42に記憶する。ステップS20で、学習部14は、ステップS12の処理により生成された全ての実験モデル24について、ステップS14〜ステップS18の処理が完了したか否かを判定する。この判定が否定判定となった場合は、処理はステップS14に戻り、肯定判定となった場合は、実験モデル学習処理が終了する。
【0070】
図12のステップS30で、学習部14は、それぞれモデルの作成条件が異なる複数の出力モデル22を生成する。ステップS32で、導出部12は、材料を生成するための実験条件と実験結果の性能値との複数の組み合わせを各出力モデル22に入力し、各出力モデル22から出力された実験条件をそれぞれ取得する。
【0071】
なお、この実験条件と性能値との複数の組み合わせは、ステップS32が出力モデル22の各世代の初回に実行される際(すなわち、初回にステップS32が実行される際、又は後述するステップS46の判定が否定判定となった後の初回にステップS32が実行される際)には、学習用データ20に含まれる全ての実験条件と性能値との組み合わせとされる。また、この実験条件と性能値との複数の組み合わせは、ステップS32が出力モデル22の各世代の2回目以降に実行される際(すなわち、ステップS40の判定が否定判定となった後にステップS32が実行される際)には、前回のステップS32で出力モデル22に入力された実験条件と性能値との複数の組み合わせに、後述するステップS38で実験条件と性能値との組み合わせが追加されたものとなる。
【0072】
ステップS34で、導出部12は、前述したように、ステップS32の処理により各出力モデル22から出力された実験条件を、実際の実験に使用可能な実験条件に補正する。ステップS36で、導出部12は、ステップS34の処理により補正されて得られた各実験条件を、各実験モデル24に入力し、各実験モデル24から出力された性能値をそれぞれ取得する。また、導出部12は、各出力モデル22について、出力モデル22から出力された実験条件に対応して、実験条件と性能値との複数の組み合わせをそれぞれ保持する。
【0073】
ステップS38で、導出部12は、今回(直前)のステップS32の処理により出力モデル22に入力された実験条件と性能値との複数の組み合わせに、以下に示す実験条件と性能値との組み合わせを追加する。すなわち、この場合、導出部12は、今回のステップS36の処理により実験モデル24に入力した実験条件と、性能値との組み合わせを追加する。この追加を行うことにより得られた実験条件と性能値との複数の組み合わせは、後述するステップS40の判定が否定判定となった後に、次に実行されるステップS32で用いられる。
【0074】
ステップS40で、導出部12は、ステップS32〜ステップS38の処理を、所定の回数(例えば、100回)繰り返して実行したか否かを判定する。この判定が否定判定となった場合は、処理はステップS32に戻り、肯定判定となった場合は、処理はステップS42に移行する。
【0075】
ステップS42で、導出部12は、前述したように、各出力モデル22について、ステップS32〜ステップS38の繰り返し処理により得られた所定回数分の性能値を用いて、出力モデル22の評価値を導出する。ステップS44で、学習部14は、前述したように、各出力モデル22についてステップS42の処理により導出された評価値を用いて、遺伝的アルゴリズムによって次世代の出力モデル22を生成する。この次世代の出力モデル22は、後述するステップS46の判定が否定判定となった後に、次に実行されるステップS32で用いられる。
【0076】
ステップS46で、学習部14は、出力モデル22の世代数が所定の世代数(例えば、1万世代)に達したか否かを判定する。この判定が否定判定となった場合は、処理はステップS32に戻り、肯定判定となった場合は、処理はステップS48に移行する。ステップS48で、学習部14は、前述したように、最終世代において評価値が示す評価が最も良い1つの出力モデル22を出力モデル22Aとして記憶部42に記憶する。ステップS48の処理が終了すると、出力モデル学習処理が終了する。
【0077】
図13のステップS50で、受付部30は、ユーザにより入力部44を介して入力された材料を生成するための実験条件と、実験結果の材料の性能値との複数の組み合わせを受け付ける。ステップS52で、出力部32は、記憶部42から出力モデル22Aを読み出す。ステップS54で、出力部32は、ステップS50の処理により受け付けられた実験条件と性能値との複数の組み合わせを、ステップS52の処理により読み出された出力モデル22Aに入力し、出力モデル22Aから出力された実験条件を取得する。
【0078】
ステップS56で、出力部32は、前述したように、ステップS54の処理により出力モデル22Aから出力された実験条件を実際の実験に使用可能な実験条件に補正する。ステップS58で、出力部32は、前述したように、ステップS56の処理により補正された実験条件を表示部43に出力する。ステップS58の処理により、表示部43には実験条件が表示される。ステップS58の処理が終了すると、実験条件出力処理が終了する。
【0079】
以上説明したように、本実施形態によれば、材料を生成するための実験条件と実験結果の性能値との複数の組み合わせを入力とし、実験条件を出力とした出力モデル22により得られた実験条件を、仮想的な実験を行う実験モデル24に入力する。また、この入力により得られた実験結果の性能値を用いて出力モデル22の評価値を導出する。そして、導出した出力モデル22の評価値を用いて出力モデル22を機械学習によって学習させる。従って、このように学習された出力モデル22を用いることによって、材料の適切な実験条件を探索することができる。
【0080】
[第2実施形態]
開示の技術の第2実施形態を説明する。なお、第1実施形態と同一の構成要素については、同一の符号を付して説明を省略する。まず、
図14を参照して、本実施形態に係る学習フェーズにおける学習装置10の機能的な構成について説明する。
図14に示すように、学習装置10は、導出部12A、学習部14A、及び生成部16を備える。記憶部42には、学習用データ20、複数の出力モデル22B、及び複数の実験モデル24が記憶される。
【0081】
図15に、出力モデル22Bの一例を示す。
図15に示すように、本実施形態に係る出力モデル22Bは、入力層、複数の中間層、及び出力層を含むニューラルネットワークとされている。出力モデル22Bの入力層には、材料を生成するための実験条件と実験結果の性能値との複数の組み合わせ、及び1つの実験条件の候補が入力される。出力モデル22Bの出力層は、強化学習における行動価値の一例としてのQ値を出力する。すなわち、本実施形態に係る学習装置10は、実験条件と性能値との複数の組み合わせを現状態sとし、実験条件の候補を行動aとして、強化学習の一例としてのQ学習に従って出力モデル22Bを学習させる。なお、本実施形態に係る複数の出力モデル22Bも、第1実施形態に係る出力モデル22と同様に、それぞれモデルの作成条件が異なる。
【0082】
生成部16は、複数の異なる実験条件の候補を生成する。本実施形態では、生成部16は、予め定められた規則を満たし、かつ実際の実験に使用可能な実験条件の候補を生成する。この規則及び実際の実験に使用可能な実験条件については、第1実施形態と同様であるため、説明を省略する。具体的には、生成部16は、複数の異なる実験条件の候補を生成する都度、予め定められた規則を満たし、かつ実際の実験に使用可能な実験条件の候補をランダムに生成する。
【0083】
導出部12Aは、後述する学習部14Aが各出力モデル22BをQ学習に従って学習させる際に報酬として用いる値(以下、「報酬値」という)を導出する。以下、導出部12Aが報酬値を導出する処理の詳細を説明する。
【0084】
まず、導出部12Aは、材料を生成するための実験条件と実験結果の性能値との複数の組み合わせ、及び生成部16により生成された実験条件の候補を出力モデル22Bに入力し、出力モデル22Bから出力されたQ値を取得する。詳細には、
図16に示すように、導出部12Aは、材料を生成するための実験条件と実験結果の性能値との複数の組み合わせ、及び生成部16により生成された複数の実験条件の候補の何れか1つを、生成された全ての実験条件の候補について、出力モデル22Bに個別に入力する。すなわち、導出部12Aは、生成部16により生成された複数の実験条件の候補のそれぞれに対応して出力モデル22Bから出力されたQ値を取得する。
【0085】
次に、導出部12Aは、取得した複数のQ値のうち、所定値以上のQ値の何れかに対応する実験条件の候補を実験モデル24に入力する。本実施形態では、導出部12Aは、取得した複数のQ値のうち、最大のQ値に対応する実験条件の候補を各実験モデル24に入力し、各実験モデル24から出力された性能値を取得する。また、導出部12Aは、第1実施形態に係る導出部12と同様に、実験条件と実験結果の性能値との複数の組み合わせを、それぞれ保持する。
【0086】
更に、導出部12Aは、出力モデル22Bに入力した実験条件と性能値との複数の組み合わせに、実験モデル24に入力した実験条件と導出した性能値との組み合わせを追加した実験条件と性能値との複数の組み合わせを得る。また、導出部12Aは、再度、得られた実験条件と性能値との複数の組み合わせ、及び生成部16により生成された複数の実験条件の候補の何れか1つを、生成された全ての実験条件の候補について、出力モデル22Bに個別に入力する。そして、導出部12Aは、再度、前述した処理と同様に、複数の実験条件の候補のそれぞれに対応して出力モデル22Bから出力されたQ値と実験モデル24とを用いて、実験条件の候補に対応する性能値を取得する。導出部12Aは、この実験条件の候補に対応する性能値を取得するための処理を所定の回数(例えば、100回)繰り返す。
【0087】
また、導出部12Aは、以上の処理を各出力モデル22Bについて行う。すなわち、導出部12Aは、各出力モデル22Bのそれぞれについて所定回数分の性能値を取得する。導出部12Aは、第1実施形態に係る導出部12と同様に、各出力モデル22Bについて、得られた所定回数分の性能値を用いて出力モデル22Bの評価値を導出する(
図7参照)。
【0088】
また、導出部12Aは、導出した評価値が高い出力モデル22Bほど高い報酬が得られるように報酬値を導出する。例えば、導出部12Aは、評価値が高い順番に上位3つの出力モデル22Bの報酬値を「1」と導出し、下位3つの出力モデル22Bの報酬値を「−1」と導出し、他の出力モデル22Bの報酬値を「0」と導出する。
【0089】
学習部14Aは、導出部12Aにより導出された報酬値をQ学習における報酬rとして用いて、各出力モデル22Bを学習させる。
【0090】
上記の導出部12Aによる各出力モデル22Bの報酬値を導出するための処理、及び学習部14Aによる各出力モデル22Bの学習処理は、所定の回数(例えば、1万回)だけ行われる。そして、学習部14Aは、最後の回において、評価値が示す評価が最も良い1つの出力モデル22Bを、後述する運用フェーズで用いる出力モデル22Cとして記憶部42に記憶する。なお、上記の導出部12Aによる各出力モデル22Bの報酬値を導出するための処理、及び学習部14Aによる各出力モデル22Bの学習処理は、評価値が収束するまで行ってもよい。
【0091】
また、学習部14Aは、第1実施形態に係る学習部14と同様に、学習用データ20を用いて、誤差逆伝播法に従って、実験モデル24を学習させる。
【0092】
次に、
図17を参照して、本実施形態に係る運用フェーズにおける学習装置10の機能的な構成について説明する。
図17に示すように、学習装置10は、生成部16、受付部30、及び出力部32Aを備える。また、学習装置10の記憶部42には、前述した学習フェーズで得られた出力モデル22Cが記憶される。
【0093】
出力部32Aは、受付部30により受け付けられた実験条件と性能値との複数の組み合わせ、及び生成部16により生成された複数の実験条件の候補の何れか1つを、生成された全ての実験条件の候補について、出力モデル22Cに個別に入力する。出力部32Aは、この入力それぞれに対応して出力モデル22Cから出力されたQ値を取得する。そして、出力部32Aは、取得した複数のQ値のうち、最大のQ値に対応する実験条件の候補を、次に実験対象とする実験条件の候補として表示部43に出力する。なお、出力部32Aは、取得した複数のQ値のうち、所定値以上のQ値の何れか(例えば、所定値以上で、かつ2番目に大きいQ値)に対応する実験条件の候補を、次に実験対象とする実験条件の候補として表示部43に出力してもよい。また、出力部32Aは、取得した複数のQ値のうち、最大のQ値に対応する実験条件の候補を、次に実験対象とする実験条件の候補として記憶部42に出力(記憶)してもよい。
【0094】
本実施形態に係る学習装置10のハードウェア構成は、第1実施形態に係る学習装置10と同様(
図10参照)であるため、説明を省略する。CPU40が学習プログラム50を実行することによって、導出部12A、学習部14A、生成部16、受付部30、及び出力部32Aとして機能する。
【0095】
次に、
図18及び
図19を参照して、本実施形態に係る学習装置10の作用を説明する。なお、実験モデル学習処理は、第1実施形態と同様(
図11参照)であるため、説明を省略する。
図18に示す出力モデル学習処理は、例えば、学習フェーズにおいて、ユーザによって入力部44を介して出力モデル学習処理の実行指示が入力された場合に実行される。また、
図19に示す実験条件出力処理は、例えば、運用フェーズにおいて、ユーザによって入力部44を介して実験条件出力処理の実行指示が入力された場合に実行される。
【0096】
図18のステップS60で、学習部14は、それぞれモデルの作成条件が異なる複数の出力モデル22Bを生成する。ステップS60の処理により生成された各出力モデル22Bについて以下のステップS62〜S70の処理が同様に実行される。ステップS62で、生成部16は、前述したように、複数の異なる実験条件の候補を生成する。
【0097】
ステップS64で、導出部12Aは、前述したように、材料を生成するための実験条件と実験結果の性能値との複数の組み合わせ、及びステップS62の処理により生成された実験条件の候補を出力モデル22Bに入力し、出力モデル22Bから出力されたQ値を取得する。
【0098】
なお、この実験条件と性能値との複数の組み合わせは、ステップS64が出力モデル22Bの学習処理における初回に実行される際(すなわち、初回にステップS64が実行される際、又は後述するステップS78の判定が否定判定となった後の初回にステップS62が実行される際)には、学習用データ20に含まれる全ての実験条件と性能値との組み合わせとされる。また、この実験条件と性能値との複数の組み合わせは、ステップS64が出力モデル22Bの学習処理における2回目以降に実行される際(すなわち、ステップS70の判定が否定判定となった後にステップS64が実行される際)には、前回のステップS64で出力モデル22Bに入力された実験条件と性能値との複数の組み合わせに、後述するステップS68で実験条件と性能値との組み合わせが追加されたものとなる。
【0099】
ステップS66で、導出部12Aは、ステップS64の処理により取得された複数のQ値のうち、最大のQ値に対応する実験条件の候補を各実験モデル24に入力し、各実験モデル24から出力された性能値を取得する。また、導出部12Aは、最大のQ値に対応する実験条件の候補に対応して、実験条件と実験結果の性能値との複数の組み合わせを、それぞれ保持する。
【0100】
ステップS68で、導出部12Aは、今回(直前)のステップS64の処理により出力モデル22Bに入力された実験条件と性能値との複数の組み合わせに、以下に示す実験条件と性能値との組み合わせを追加する。すなわち、この場合、導出部12Aは、今回のステップS66の処理により実験モデル24に入力した実験条件と、取得された性能値との組み合わせを追加する。この追加を行うことにより得られた実験条件と性能値との複数の組み合わせは、後述するステップS70の判定が否定判定となった後に、次に実行されるステップS64で用いられる。
【0101】
ステップS70で、導出部12Aは、ステップS62〜ステップS68の処理を、所定の回数(例えば、100回)繰り返して実行したか否かを判定する。この判定が否定判定となった場合は、処理はステップS62に戻り、肯定判定となった場合は、処理はステップS72に移行する。
【0102】
ステップS72で、導出部12Aは、前述したように、各出力モデル22Bについて、ステップS62〜ステップS68の繰り返し処理により得られた所定回数分の性能値を用いて、出力モデル22Bの評価値を導出する。ステップS74で、導出部12Aは、前述したように、ステップS72の処理により導出された評価値が高い出力モデル22Bほど高い報酬が得られるように報酬値を導出する。
【0103】
ステップS76で、学習部14Aは、ステップS74の処理により導出された報酬値をQ学習における報酬rとして用いて、各出力モデル22Bを学習させる。ステップS78で、学習部14は、ステップS62〜ステップS76の処理を、所定の回数(例えば、1万回)繰り返して実行したか否かを判定する。この判定が否定判定となった場合は、処理はステップS62に戻り、肯定判定となった場合は、処理はステップS80に移行する。ステップS80で、学習部14Aは、前述したように、最後に実行されたステップS72の処理により導出された評価値が示す評価が最も良い1つの出力モデル22Bを出力モデル22Cとして記憶部42に記憶する。ステップS80の処理が終了すると、出力モデル学習処理が終了する。
【0104】
図19のステップS90で、受付部30は、ユーザにより入力部44を介して入力された材料を生成するための実験条件と、実験結果の材料の性能値との複数の組み合わせを受け付ける。ステップS92で、出力部32Aは、記憶部42から出力モデル22Cを読み出す。ステップS94で、生成部16は、前述したように、複数の異なる実験条件の候補を生成する。
【0105】
ステップS96で、出力部32Aは、ステップS90の処理により受け付けられた実験条件と性能値との複数の組み合わせ、及びステップS92の処理により生成された複数の実験条件の候補の何れか1つを、生成された全ての実験条件の候補について、出力モデル22Cに個別に入力する。出力部32Aは、この入力それぞれに対応して出力モデル22Cから出力されたQ値を取得する。
【0106】
ステップS98で、出力部32Aは、ステップS96の処理により取得された複数のQ値のうち、最大のQ値に対応する実験条件の候補を、次に実験対象とする実験条件の候補として表示部43に出力する。ステップS98の処理が終了すると、実験条件出力処理が終了する。
【0107】
以上説明したように、本実施形態によれば、材料を生成するための実験条件と実験結果の性能値との複数の組み合わせ、及び実験条件の候補を入力とし、Q値を出力とした出力モデル22Bにより得られたQ値が最大となる実験条件の候補を実験モデル24に入力する。また、この入力により得られた実験結果の性能値を用いて出力モデル22Bの評価値を導出し、導出した評価値に応じて出力モデル22Bに与える報酬を導出する。そして、導出した報酬を用いて出力モデル22BをQ学習によって学習させる。従って、このように学習された出力モデル22Bを用いることによって、材料の適切な実験条件を探索することができる。
【0108】
なお、上記各実施形態では、材料を生成するための実験条件を導出する場合について説明したが、これに限定されない。例えば、薬剤を生成するための実験条件を導出する形態としてもよい。
【0109】
また、上記各実施形態では、実験モデル24として機械学習によって得られた学習済みモデルを適用した場合について説明したが、仮想的な実験が可能なモデルであれば、これに限定されない。例えば、実験モデル24として、1つの実験条件を入力とし、入力された1つの実験条件に対応する実験結果の性能値を出力とした任意の関数を適用してもよい。このようなモデルを適用した場合でも出力モデル22、22Bが学習されることによって最適化される。また、例えば、実験モデル24は、実験をシミュレーションするシミュレータであってもよい。
【0110】
また、上記第2実施形態の運用フェーズにおいて、出力部32Aは、複数の実験条件の候補を出力モデル22Cに逐次的に複数回入力することにより得られた累計のQ値が最大となる実験条件の候補を次に実験対象とする実験条件の候補として出力してもよい。この場合、出力部32Aは、まず、第2実施形態と同様に、出力モデル22Cから1回目の複数の実験条件の候補それぞれに対応するQ値を得る。次に、出力部32Aは、例えば、1回目に出力モデル22Cに入力した実験条件と性能値との複数の組み合わせに、1回目に出力モデル22Cに入力した実験条件の候補と性能値との組み合わせを追加する。この性能値は、例えば、SVM(Support Vector Machine)等の既知の手法により推定すればよい。そして、出力部32Aは、1回目と同様に、追加して得られた実験条件と性能値との複数の組み合わせ、及び2回目の複数の実験条件の候補それぞれを出力モデル22Cに入力することにより出力モデル22Cから2回目の複数の実験条件の候補それぞれに対応するQ値を得る。この場合、出力部32Aは、1回目のQ値と2回目のQ値の累計値が最大となる実験条件の候補を次に実験対象とする実験条件の候補として出力する。なお、ここでは、2回のQ値の累計値を用いる場合を説明したが、3回以上のQ値の累計値を用いる場合も同様に可能である。
【0111】
また、上記各実施形態でCPUがソフトウェア(プログラム)を実行することにより実行した各種処理を、CPU以外の各種のプロセッサが実行してもよい。この場合のプロセッサとしては、FPGA(Field-Programmable Gate Array)等の製造後に回路構成を変更可能なPLD(Programmable Logic Device)、及びASIC(Application Specific Integrated Circuit)等の特定の処理を実行させるために専用に設計された回路構成を有するプロセッサである専用電気回路等が例示される。また、上記各種処理を、これらの各種のプロセッサのうちの1つで実行してもよいし、同種又は異種の2つ以上のプロセッサの組み合わせ(例えば、複数のFPGA、及びCPUとFPGAとの組み合わせ等)で実行してもよい。また、これらの各種のプロセッサのハードウェア的な構造は、より詳細には、半導体素子等の回路素子を組み合わせた電気回路である。
【0112】
また、上記各実施形態では、学習プログラム50が記憶部42に予め記憶(インストール)されている態様を説明したが、これに限定されない。学習プログラム50は、CD−ROM(Compact Disk Read Only Memory)、DVD−ROM(Digital Versatile Disk Read Only Memory)、及びUSB(Universal Serial Bus)メモリ等の非一時的記録媒体に記録された形態で提供されてもよい。また、学習プログラム50は、ネットワークを介して外部装置からダウンロードされる形態としてもよい。
【0113】
本願は2018年4月11日出願の日本出願第2018−076001号の優先権を主張すると共に、その全文を参照により本明細書に援用する。