昨今のDX・AIの波により材料開発界隈にもマテリアルズインフォマティクス(MI)として開発プロセスの革新が進んでいます。
実験系技術者といえど、今後ともデータサイエンスと一切無関係にいることは恐らくできないでしょう。
MIを強力に推進している組織に所属している実験系材料技術者の方は教育を受ける機会があります。
しかし、そうでない組織に所属している方の場合には、どういった勉強をすればよいか悩ましいかと思います。
マテリアルズインフォマティクスを業務で活用している企業内の実験系材料技術者の私個人の経験から、マテリアルズインフォマティクスの学習・実践に有用であった書籍について紹介します。
なお本記事の読者としては、マテリアルズインフォマティクスを推進していない組織に属し、分子デザインというよりは実験計画を必要としている電池や塗料、ゴムなどといった類の技術者を想定しています。
ステップ
業務でマテリアルズインフォマティクスを活用するまでの学習ステップを以下のように設定します。
- マテリアルズインフォマティクスの概要を知る
- プログラム(python)に触れてみる
- 機械学習・マテリアルズインフォマティクスに触れてみる
- 機械学習のテクニックを向上させる
- マテリアルズインフォマティクスについてもう少し触れてみる
- 機械学習のテクニックを向上させる(主に関係者への説明のために)
- 理論に触れてみる
- プログラミングのレベルを上げてみる
- 開発環境を整えてみる
- 【参考】マテリアルズインフォマティクス活用で失敗しないために
- 【参考】先が見通せない世界で働いていくために
マテリアルズインフォマティクスの概要を知る
実務に入る前に概念としてマテリアルズインフォマティクスの概要を把握します。
プログラミングや、複雑な数式なしにざっくりと概要を把握します。
![](https://kiseno-log.com/wp-content/uploads/cocoon-resources/blog-card-cache/2aa2c74ac4ff22cb847521f2882618b0.jpg)
プログラムに触れてみる
マテリアルズインフォマティクスを実践するのに一般的に使用されるプログラミング言語であるpythonの入門学習を行います。
![](https://kiseno-log.com/wp-content/uploads/cocoon-resources/blog-card-cache/dd4912a927253b0b07a2d805a709fb8c.jpg)
一点注意としては、pythonの環境構築でよく利用されるanacondaは一定規模以上の企業では有料ライセンスとなることです。個人が学習で取り敢えず触る分には問題ないですが、企業内で業務活用したい場合にはライセンスを確認してください。
一定規模以上の企業でpythonを利用する場合にはanacondaの有料ライセンスを利用するか、他の環境構築方法を選択する必要があります。
![](https://qiita-user-contents.imgix.net/https%3A%2F%2Fcdn.qiita.com%2Fassets%2Fpublic%2Farticle-ogp-background-412672c5f0600ab9a64263b751f1bc81.png?ixlib=rb-4.0.0&w=1200&mark64=aHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTk3MiZoPTM3OCZ0eHQ9QW5hY29uZGElRTMlODElOEMlRTYlOUMlODklRTUlODQlOUYlRTUlOEMlOTYlRTMlODElOTUlRTMlODIlOEMlRTMlODElQTYlRTUlOUIlQjAlRTMlODElQTMlRTMlODElQTYlRTMlODElODQlRTMlODIlOEIlRTQlQkElQkElRTMlODElQUIlRTglQjQlODglRTMlODIlOEIlRTMlODAlODFQeXRob24lRTMlODElQUUlRTMlODMlOTElRTMlODMlODMlRTMlODIlQjElRTMlODMlQkMlRTMlODIlQjglRTclQUUlQTElRTclOTAlODYmdHh0LWFsaWduPWxlZnQlMkN0b3AmdHh0LWNvbG9yPSUyMzIxMjEyMSZ0eHQtZm9udD1IaXJhZ2lubyUyMFNhbnMlMjBXNiZ0eHQtc2l6ZT01NiZzPWMwMDQ5ZTRlMDU5MjVkZTg3OGJmYTAxYmRlNGY2YWFm&mark-x=142&mark-y=57&blend64=aHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZoPTc2Jnc9NzcwJnR4dD0lNDBjNjBldmFwb3JhdG9yJnR4dC1jb2xvcj0lMjMyMTIxMjEmdHh0LWZvbnQ9SGlyYWdpbm8lMjBTYW5zJTIwVzYmdHh0LXNpemU9MzYmdHh0LWFsaWduPWxlZnQlMkN0b3Amcz1mYWY4ZmYwN2YzODhiODk3MmEwYTI4ZDcyNGU4YmUzMQ&blend-x=142&blend-y=486&blend-mode=normal&s=fec7b5b74ce8cdbb20464ab87dfd78a3)
機械学習・マテリアルズインフォマティクスに触れてみる
とりあえず自身でMI・機械学習の基礎的なプログラムを動かせるようになることを目指します。
![](https://kiseno-log.com/wp-content/uploads/cocoon-resources/blog-card-cache/374bb2c037f6d0adaf6daa8eccabee9d.jpg)
![](https://kiseno-log.com/wp-content/uploads/cocoon-resources/blog-card-cache/aa50a232aad0fd1e54a212dc55e4def7.jpg)
機械学習のテクニックを向上させる
もう少し実践的なプログラムを構築できるようになることを目指します。
この辺りまで来ると、手元のデータをとりあえず解析できるようになってるでしょう。
![](https://kiseno-log.com/wp-content/uploads/cocoon-resources/blog-card-cache/1b579480d968105500dc7acdb56d82fc.jpg)
![](https://kiseno-log.com/wp-content/uploads/cocoon-resources/blog-card-cache/e40ae84be8f3b0f61a0eba041f7800b3.jpg)
マテリアルズインフォマティクスについてもう少し触れてみる
高分子や、結晶構造など自身の分野に即し、ドメイン知識とデータサイエンスの両方の知見を活かした解析が必要になります。
![](https://kiseno-log.com/wp-content/uploads/cocoon-resources/blog-card-cache/9cbe20ffb00bdd71e30cea2a3cd1aba2.jpg)
機械学習のテクニックを向上させる(主に関係者への説明のために
機械学習自体は特性値の予測を得意としていますが、実際の材料開発ではどうしてそう予測したのかという根拠を求められます。
機械学習が予測した値の根拠を説明するテクニックを学習します。
![](https://kiseno-log.com/wp-content/uploads/cocoon-resources/blog-card-cache/9f42116ceea1ceea7d78b3316e6265c3.jpg)
理論に触れてみる
上記までで、何となくマテリアルズインフォマティクスが使えるんじゃないかという雰囲気になると、より理論的な疑問わいたり、質問が飛んできたりするでしょう。
理論面について入門してみます。
![](https://kiseno-log.com/wp-content/uploads/cocoon-resources/blog-card-cache/bc1d93f36dc2c4dcc0b25194427fdffe.jpg)
![](https://kiseno-log.com/wp-content/uploads/cocoon-resources/blog-card-cache/4e2f8b9a020c86bff6a588969b041894.jpg)
![](https://kiseno-log.com/wp-content/uploads/cocoon-resources/blog-card-cache/05592ec5010b734f8be7503ac49c3451.jpg)
ただし上記参考書では、機械学習でよく利用される決定木系のアルゴリズムについて触れられていません。(良い参考書誰か教えてください)
プログラミングのレベルを上げてみる
周りもpythonを始めたりすると適当な我流コードでは見せるのが恥ずかしい気持ちになります。
読みやすいコードを目指します。
![](https://kiseno-log.com/wp-content/uploads/cocoon-resources/blog-card-cache/5f2d766e2968b245b8d01a5aa4ad5a30.jpg)
とりあえず試行錯誤のコードであればコードのデザインなどはあまり考えないでしょうが、ある程度形に残そうとすると綺麗なデザインである方が望ましいです。
コードのデザインパターンについて学習します。
![](https://kiseno-log.com/wp-content/uploads/cocoon-resources/blog-card-cache/4716f7bffce1db5cc2171278f1b9bb61.jpg)
開発環境を整えてみる
手元の実験データを少し解析する程度であれば問題ありませんが、ある程度のスケールの機械学習を行おうとするとデータベースや機械学習の実験管理といった環境を整備したくなります。
![](https://kiseno-log.com/wp-content/uploads/cocoon-resources/blog-card-cache/cc55b8ccf5d38e51cea4515ec6dfad29.jpg)
【参考】マテリアルズインフォマティクス活用で失敗しないために
マテリアルズインフォマティクスを学んでみると、マテリアルズインフォマティクスを利用して何かを行いたくなり、手段が目的化することが往々にしてあります。
これを避けるためには、その仕事の目的をしっかり確認する必要があります。
以下は、何のためにその仕事をするのか、という点を確認するために参考になる書籍です。
【参考】先が見通せない世界で働いていくために
先行きが不透明で、将来の予測が困難な時代と言われる今、上記のようにマテリアルズインフォマティクスやプログラミングを学んでも、「一過性のブームですぐに廃れてた」、「技術進歩が速く誰でも自動機械学習で材料技術者がプログラミングをする必要がなくなった」等で今後もずっと役に立つことはないかもしれません。
こういった時代の荒波を乗り越えるための参考になる書籍です。
![](https://kiseno-log.com/wp-content/uploads/cocoon-resources/blog-card-cache/a260a6850718aa91377e61e9130e9a01.jpg)
まとめ
マテリアルズインフォマティクスを業務で活用することを目指し、pythonの入門からチームでの活用までステップ別に参考になるであろう書籍を紹介しました。
参考になりましたら幸いです。
コメント