DataRobot JP 090 Inverse Problem Analysis Background V2.0

製造業:AIによる材料配合検討とその応用

2020/10/21
執筆者:
· 推定読書時間 3  分

DataRobot のデータサイエンティスト 山本です。普段は主に製造業のお客様を担当しております。今回は私の出身業界でもある化学・材料系のお客様に特に多くご利用頂いている逆問題解析機能:DataRobot 最適化アプリとその応用展開についてご紹介したいと思います。

化学・材料業界におけるマテリアルズインフォマティクスの重要性

近年、材料開発領域における情報技術の活用、いわゆるマテリアルズインフォマティクス (Materials Informatics: MI) の重要性はますます広く認識されるところとなっています。マテリアルズインフォマティクス自体は機械学習に限定されないより広い概念ですが、昨今の Deep Learning を始めとする機械学習技術の急速な発展に伴って特に機械学習・AI の活用が産業界において重要視されています。化学は摺り合わせ技術の最たるもので、日本の御家芸とも言える産業領域の一つですが、この領域にも技術革新の波は確実に迫っています。

AI の材料開発への活用はリサーチから実用の段階へ

日本国内の製造業における AI 導入に何十社と関わってきた筆者は、その段階がいよいよマテリアルズインフォマティクスそれ自身のリサーチから実用段階に入っていることを肌身で実感しています。概ね2~3年前くらいに”マテリアルズインフォマティクス研究所”のような組織を立ち上げて技術それ自身の研究と少数のテーマにおける検証を進めてきて、最近になって実用に当たっての生産性を求め始めたというお客様が多いのではないでしょうか?有機材料の処方開発、合金や半導体材料の組成と処理条件の検討などで様々な領域で活用が進んでおり、まさに機械学習・AI の材料開発への応用は、一般の実験化学者である現場の研究員が用いるツールとして実際に役立てるフェイズに到達しているというのが現状なのです。

製造業と逆問題解析

今回はその中でも、特に活用事例の多い材料の配合からの物性推算とその逆問題解析について紹介したいと思います。通常の教師あり機械学習では、下図の (a) ように材料の組成やプロセス条件などから性能となる材料物性を予測します。この物性予測自体も非常に有用なものですが、一方で材料開発の現場において本当に欲しい情報は物性の予測値というよりも、むしろ (b) のように最も望ましい材料物性を与える配合条件の候補という場合が多いでしょう。この物性推算モデルから逆に最適な配合の候補を求めるアプローチを逆問題解析と呼びます。

90 image 1
図1. a) 通常の教師あり機械学習のスキーム, b) 逆問題解析のスキーム

この構図は開発者目線では当たり前のニーズと言えますが、興味深いことにこのニーズは製造業において特に集中して耳にする要求で、この業界の特色の一つと言えます。その他にも逆問題解析は、配合の最適化以外にも材料の処理条件や製造工程における設備の運転条件の探索などに用いられており、製造業全体における活用の幅が広い技術です。おそらく特に製造業において逆問題解析が重要視される理由としては、製造業がそのデータの生成プロセスであるモノづくりの過程を自身で制御し、改善し得る立場にいるためではないでしょうか。まさにこの分野におけるデータサイエンスが一際面白い理由の一つでもあるかと思います。

DataRobot 最適化アプリ

この逆問題解析ですが、一般に解析的には解けないのでソルバーを使って解くことになります。DataRobot にはなんとこの逆問題解析のためのソルバー:DataRobot 最適化アプリが付属1しており、データがあれば物性推算から配合検討までを一気通貫で行うことが可能です。これは材料開発の PDCA をスピードと質の両面で大幅に向上させる効果が期待されるパワフルな機能ですが、ある意味では従来の実験計画法の延長にあるものとも言えるため、製造業のお客様であれば大きな違和感を感じることなく便利なツールとしてご活用頂けると考えています。

実際の手順を見てみましょう。過去の配合データと工程条件から学習データを構築し、DataRobot で物性を予測するモデルを構築するところまでは、通常の予測モデリングと同じで学習データをドラッグ&ドロップで読みこんて、予測ターゲットを指定したら開始ボタンを押すだけです。下図の例では鋼の熱処理条件や組成、その他条件から回転曲げ疲労強度を予測していますが、比較的良い精度のモデルができていることがわかります。

90 image 2
図2. DataRobot による物性推算モデルのインサイト例
(左: 特徴量のインパクト、 右: 残差プロット)

次に、DataRobot 最適化アプリではこのモデルを用いて仮想の実験を数百回と繰り返しながら最適な物性が得られる入力条件を見つけ出します。こちらも使い方は非常に簡単で、まずターゲットを最大化したいのか最小化したいのか(あるいはある規格値からの乖離幅を最小化するなども可能)、どの変数についてどの範囲を探索したいのかを元データの分布を見ながらグラフィカルに設定し、あとは初期値を入れて探索を開始するだけで最適な予測結果を与える入力条件を得ることができます。得られた候補点を参考にして次回実験の水準設計などに活用することで処方開発の質とスピードを数段レベルアップさせることができるでしょう。こうした水準設計とそれに基づいた実験は日々繰り返し行うものですから、こうしてついた差はいつの間にか積み重なって覆し難い大きな競争優位性となり得るのです。

90 image 3
図3. DataRobot最適化アプリ
(上: 最適化対象の特徴量と探索範囲の選択、 下: 探索結果の確認)

予測の不確実性と活用シーン

さて、ここで得られた配合条件と対応する材料物性の予測値については不確実性が伴います。例えば、以下の二つの組成に対してあるモデルによって得られた reduced glass transition temperature2 の点推定値はいずれも近しい値をとりますが、実は予測区間を見てみると大きく異なることがわかります。

90 image 4
図4. 点推定結果は近しいが、予測区間が大きく異なる例

一般に得られた候補点の近傍に過去の実績値が多数ある場合には予測の確信度は高くなり、逆に実績値から遠く離れている場合には予測の確信度は低く(=不確実性が高く)なります。ただし、ここで不確実性が高いことは一概に悪いというわけではありません。不確実性が高いということは、現有モデルが自信を持てていない実績の薄い部分ということですから、逆にその候補点について実験を行って追加の実績値を獲得することができれば、その際に多くの情報を得られるということにもなるからです。これは探索、すなわち知見の獲得がより大きな価値を持つ R&D の初期〜中期で有効に活用することができるでしょう。仮に候補点に対する実験結果が予測と合致しなかったとしても、それは価値あるデータと見ることもできるのです。このように確信度の低い領域に対して選択的に実験を行い、実測値を得ることで効率的に学習データを収集するアプローチは Active Learning と呼ばれています。

一方で、不確実性の低い領域は収穫、すなわち良い製品性能そのものが大きな価値を持つ R&D の後期ないし実際の製造工程で有用でしょう。これらの両方のアプローチを開発のステージに合わせて適切に用いることが重要です。

不確実性の評価方法

予測値の不確実性の評価方法について見てみましょう。分類タスクの場合には比較的シンプルで、出力される確率値がいずれのクラスともつかない中途半端な領域であるほど不確実性が高いと見なすことができます。この中途半端さの定量化にはいくつかの定義がありますが、下図のようにいずれの場合でも各クラスの中間領域で不確実性が高いとされます3

90 image 5
図5. 不確実性の一般的な定量化方法3種類
(a: least confident, b: margin, c: entropy) の挙動について3クラス分類を例にヒートマップで図示。いずれも頂点で不確実性が低く (各頂点に対応するクラスに所属すると確信を持っている) 、中央部分で不確実性が高い。[引用文献3より転載]

一方で回帰タスクの場合には、通常の機械学習モデルの出力は点推定値になっていることが多いために、そのままでは不確実性に関する情報を得ることができません。そこで工夫をする必要が出てきます。手法としては様々知られていますが、任意の回帰モデルに対して予測の不確かさ、すなわち予測区間を推定する方法としては例えば、ブートストラップ法が知られています。これは元データセットからランダムにサンプリングしたデータセットを用いてモデル作成と予測を繰り返し、その予測値のばらつきを評価するという手法です。ブートストラップ方によるアプローチは対象を問わずに汎用的に使えるというメリットがありますが、計算コストが非常に高いというデメリットがあります。その他にもGaussian Processによる方法やニューラルネットワークの Drop out を推論時にも有効にして予測分布を得るなどのアプローチ4なども知られています。

90 image 6
図6. ブートストラップ法の概念図

DataRobot を用いた不確実性の評価とその活用

予測区間をより簡便に推定する手法としては分位点回帰による方法が挙げられ、DataRobot でも利用することができます。分位点回帰で用いられる Quantile Loss は図のように MAE を非対称化した損失関数で、任意の分位点を回帰タスクとして直接学習します。例えば、50パーセンタイル (=MAE) に加えて10パーセンタイルと90パーセンタイルについてそれぞれ分位点回帰を行うことで対応する予測区間が得ることができます。この幅が広い場合には予測の不確実性が高く、反対に狭い場合には不確実性が低いと言えるでしょう。予測分布をまるごと推定するブートストラップ法などの方法と比較して単一の分位点のみに対する回帰ですので計算コストもそう高くなく、手軽に用いることができます。

90 image 7
図7. (左) Quantile Loss、 (右) DataRobotのモデルパラメータ設定画面
Quantile Lossを選択でき、対応する分位点を指定する

全体のワークフローをまとめると以下のようになります。まず、材料の配合データや工程条件、それに予測ターゲットとなる材料物性などのデータを集めて学習データとします。これを用いて DataRobot で材料物性を予測するモデルを構築し、次いで DataRobot 最適化アプリで逆問題解析を行うことで最適な配合ないし工程条件の候補を求めます。この得られた候補データを別途 DataRobot で構築しておいた分位点回帰モデルに与えることで、対応する予測区間を得ることができます。予測区間からはその候補点の不確実性に関する情報を得ることができますから、開発の段階に応じて「多くの知見が得られる探索モード」と「手堅く結果を得る収穫モード」を使い分けていくことで、従来以上に深い業務活用を実現して頂くことができます。例えば、研究開発プロジェクトの初期では不確実性の高い箇所を集中的に実験することでどんどん新たな知見を得て現象理解を深めていき、製品化が近づいてきた段階で不確実性の低い領域から好適な配合や条件を作り込んでいくことができれば、研究開発のスピードと最終的な品質いずれをも両立させつつ現在より高い次元を目指すことができるでしょう。

90 image 8
図8. DataRobot最適化アプリの活用例ワークフローの例

今回ご紹介した DataRobot および DataRobot 最適化アプリはいずれも大好評の DataRobot AI Platform トライアル でご試用頂くことができます。是非、これらのパワフルなツールをご活用頂き、皆様が材料開発を次のステージに進められる際の一助として頂ければ幸いです。

参考文献

  1. 2020年10月現在、SaaS版のみ対応(オンプレ対応については開発中)
  2. Z.P. Lu, Y. Li, S.C. Ng, Reduced glass transition temperature and glass forming ability of bulk glass forming alloys, J. Non. Cryst. Solids. 270 (2000).
  3. Burr Settles. Active Learning Literature Survey. Computer Sciences Technical Report 1648, University of Wisconsin–Madison. 2009.
  4. Gal, Y. and Ghahramani, Z. (2015). Dropout as a Bayesian Approximation: Representing Model Uncertainty in Deep Learning. arXiv:1506.02142 [cs, stat]. arXiv: 1506.02142.
ソリューション
製造業

AI を利用してどのように製造業がその業務を最大化しているかご確認ください。

詳しくはこちら
執筆者について
山本 祐也(Yuya Yamamoto)
山本 祐也(Yuya Yamamoto)

データサイエンティスト

DataRobot データサイエンティスト。Kaggle Master、博士 (工学)。東京大学大学院工学系研究科にて有機無機複合材料の研究で博士号を取得。学位取得後、大手化学メーカーにて液晶・タッチパネル関連先端化学材料の研究開発に従事。その後、大手食品メーカーで機械学習を用いた食品パッケージに関する予測モデリングと最適化に取り組むなど、BtB と BtC いずれにも深い経験を有する。余暇では機械学習コンペティションの Kaggle に精力的に取り組んでおり、 2020年現在も現役で活躍している。

直近の注目記事
もう失敗しない!製造業向け機械学習Tips(4):
偽相関の罠に陥らない、製造業における機械学習を用いた要因分析のコツ
(MONOist)
もう失敗しない!製造業向け機械学習Tips(3):教師データが足りないと「異常予測」は難しい、ならば「異常検知」から始めよう (1/2)(MONOist)
もう失敗しない!製造業向け機械学習Tips(2):機械学習による逆問題への対処法、材料配合や工程条件を最適化せよ(MONOist)
もう失敗しない!製造業向け機械学習Tips(1):機械学習で入ってはいけないデータが混入する「リーケージ」とその対策 (1/2)(MONOist)

についてもっとくわしく
投稿をシェアする