「AIや機械学習、マテリアルズ・インフォマティクス(MI)によって高性能な化合物、材料を新たに予想した」このようなニュースを聞くことが増えてきました。私自身が学生だった10年ほど前は「MI」や「機械学習」という単語は一般的ではなく、情報科学の分野に限られた話でした。そして化学においては、豊富な経験に基づく職人芸的なノウハウで望ましい材料を合成、作製するのが当たり前だったと感じています。
しかしコンピューターの高性能化に伴い市販のパソコンでも簡単に機械学習ができるようになったこと、スパコンや計算用サーバーによる大規模計算が普及したこと、国によるMIの推進など多くの要因によって化学、材料科学分野へのMIの適用事例が増えてきました。当サイトでMI、AI、機械学習に関する記事やシンポジウムをご覧になった方もいるかと思います。
自律的に化学実験するロボット科学者、研究の自動化に成功 8日間で約700回の実験、人間なら数カ月
第16回ケムステVシンポ「マテリアルズインフォマティクス?なにそれおいしいの?」を開催します!
このように機械学習やMI、AIや操作を自動化するロボット技術の進歩とともに民間企業もMI関連の技術を導入するようになりました。三菱ケミカルHD、住友化学、三井化学や旭化成など大手化学メーカーもMIに関連する取り組みを進めています。各社の中期経営計画などの資料を見てもDXやMIという単語が入っており、MIやDXで技術力をさらに高めようとする意思を感じます。
ところで、短期間でMI技術を導入するにあたって重要になるのが人材の確保です。効果的で手っ取り早いのはMIの専門家を採用することですが、すべての人材を外部から採用するのも難しいかと思います。そのため各社では社内でMIに詳しい人材を育成していくことになるでしょう。一方で化学系の研究者の方々は情報科学について必ずしも詳しいとは限りません。実際のところ、「業務でMIをやることになったから(仕方なく)勉強を始めた」という方もいるのではないでしょうか。
この記事では、上記のような入社後にMIを学ぶ(学ばざるを得なくなる)ことになった企業研究者の方に向けて、MIとはなにか、MIにおすすめのプログラミング言語とは、といったことを考えていきます。まずはMI、機械学習で実現したいことに応じてどのような技術が必要か考えていきましょう。その後、MIでよく使われるプログラミング言語、PythonとRについて紹介したうえで私のおすすめを紹介します。
さて、ここで簡単に自己紹介をさせていただきます。実はこの記事を書いている私自身、入社後に機械学習を学び始めた企業研究者です。大学時代の専門は有機半導体のレーザー分光であり、MIとは全く関係がありませんでした。大学卒業後は化学メーカーで各種分析装置を用いた新規開発材料の解析に従事。「日々得られる大量の分析データから情報を引き出せないか」と考え当時はケモメトリックスと呼ばれていた多変量解析を勉強、業務に導入いたしました。その後、新しい分野に挑戦したいと思って転職、今は別のメーカーでMI技術の導入を推進する実務リーダーとして勤務しております。今後、私自身がゼロからMIを学んだときに感じたことも書いていければと思います。
なぜMIを導入する?:MI導入の目的によって求められるスキル、知識は大きく変わる!
まずMIや機械学習でできることを考えてみましょう。「MIを業務に導入する」といっても、ご自身の担当業務やMIを導入することで達成したい目的に応じて必要な技術も変わります。以下に代表例を示します。今回はこれらの例の中で「高性能な化合物、材料の探索」について必要な技術を考えてみましょう。
具体例:高性能な化合物(材料)の予測
「MI」といえば「新しい化合物や材料を予測する」ことをイメージされる方は多いかもしれません。では予測を行うために必要な技術とは何でしょうか。まず必要なのが予測モデルの構築に必要な回帰分析技術です。「良い材料」とは何かしらの特性値が望ましい範囲にあるということですよね。したがって特性値を目的変数(y)、その他の因子を説明変数(x)として特性値を予測するモデルを構築していきます。そこで必要なのが回帰分析技術です。回帰モデルとしてPLSやランダムフォレストなど計算原理が異なる様々な手法があります。適切なモデルを構築するために、まずは予測に必要な各種回帰分析法を学ぶことが必要です。
また化合物予測には、化学構造をMIが予測できる形に変換する必要があります。MIのプログラミングで使用するpythonやRで、私たちにとって非常に馴染み深い「構造式」をそのまま使うことはできません。実際に使用するときはSMILESなどの形式に構造を変換して、更に原子の数や種類、各種物性値などの数値データに変換する必要があります。また、新しい化合物を予測する際は所定の条件の元でランダムに化合物を生成し、予測モデルに入れていきます。このような分子生成、各種数値データへの変換などの技術も化合物予測には必要です。
ちなみに上記の回帰分析や化学構造の生成に関しては明治大学の金子弘昌先生が書かれた教科書が非常に参考となります。数少ない「化学に特化したMIの教科書」です。
[amazonjs asin=”4274224414″ locale=”JP” title=”化学のための Pythonによるデータ解析・機械学習入門”]他にも計算化学の技術も必要かもしれません。化合物や特性によってはHOMO-LUMOなどの電子構造などが影響することもあります。この場合、計算化学で得られた値も説明変数に入れることで良好なモデルを作成できるかもしれません。実際の新規化合物の予測でも、大量の分子をランダムに生成し、各化合物の量子化学計算を順次実施、ある計算値が所定の範囲に入るものを抽出する、といったことが行われています。
以上のように新規化合物を予測するためには様々な分野の知識が必要です。一方で論文や特許、社内の報告書から情報を引き出す、といった全く別の目的ならば単語を抽出するための自然言語処理など別の技術が必要となります。また、顕微鏡の観察結果など今まで人間が目視で判断していたものを自動化したい、となった場合、画像解析技術など、これまた別の技術が必要です。
一言で「MIの業務への適用」といっても対象によって必要な技術は異なります。従って、まずは「MIを何に適用したいのか」「MIを導入することで実現させたいことはなにか」という目的・目標の部分を考えることが重要です。まず目的や目標をできるだけ具体的に考えてみましょう。具体化するほど習得する必要があるスキルも具体的になり、より短期間でMI技術を業務に導入することができます。
MIに必要なプログラミング言語:PythonとRどちらを学ぶ?
次に大事なのがMIで用いるプログラミング言語です。プログラミング言語はMIに必要な「ツール」であり、避けて通ることはできません。MIにおいて用いられる言語としてはPythonとRが代表的かと思われます。このうち、PythonはMIに限らず、情報科学全般で一般的に使われる言語です。一方でRは昔から統計解析でよく使われていた言語です。MIを実際に行っている方々の間でも使う言語は異なっています。では、これからMIを導入する方々はどちらの言語を学べばよいのでしょうか。
人によって意見は違うかと思いますが、私はPythonを学ぶことをおすすめします。理由は3つあります。1つ目はユーザーが多いこと。先に述べたとおり、PythonはMI以外の分野のユーザーも多いため、数多くの教科書が出版されています。また、インターネット上にも多くの情報があるため、なにか困ったときにも検索すればすぐに対応できます。一方でRは最近教科書が増えてきたものの、まだまだ少ないのが実情です。特に日本語の資料があまり多くありません。私自身、実は最初にRで機械学習をスタートしたのですが体系立てられた資料がほとんどなく、最初は特に苦労しました。以上の体験からも、プログラミング経験が無い人こそ参照できるものが多いPythonで機械学習を行ったほうが良いかと思います。
2つ目の理由としてはライブラリが多いことが挙げられます。ライブラリとは簡単に言うと関数のセットです。Pythonは機械学習関係のライブラリが豊富で、しかも化学や材料科学に関係するライブラリもあります。これらのライブラリを用いるとプログラミングの労力が大きく軽減されるため、時間が限られている企業研究者にとって大きなメリットになると言えるでしょう。
3つ目の理由としてはPythonを使うことで機械学習以外の業務も自動化できることが挙げられます。例えばwordやexcelなどのオフィスツールを読み込み、必要な単語を抽出したり自動で書き込みを行ったりすることが可能です。また、ウェブページから所定の情報を取得して表に書き込む等の操作(ウェブスクレイピング※)を行うことも可能なため、効率的に情報収集することもできます。このような機械学習以外の業務の効率化をRで行うことはできません。企業においては機械学習に限らず様々な業務を効率化する必要があるかと思われます。だからこそPythonを習得して、周辺分野の効率化も狙ったほうが良いのではないでしょうか。
※【注意点】ウェブスクレイピングはサーバーに負担を与える可能性があるため、ページによっては制限されています。予め利用規約を確認するようにしましょう。
終わりに:「MIで何をするか」が重要!
今回はこれから企業でMIや機械学習を行う人に向けてMIでできることや必要なスキル、MIで実際に使用するプログラミング言語についても紹介しました。繰り返しになりますが、重要なのは「MIを用いて何をするか」という目的の部分です。MIを適用できる分野は非常に幅広いです。だからこそMIで何をするか、なぜMIを導入するかという目的や目標の部分が明確でなければ労力が発散して短期間で大きな成果を上げることは難しくなることでしょう。まずは目的、目標を明確にして、それを達成するためにどのようなスキルが必要か明確にする、この順番が重要です。ぜひ皆さんの立場、状況に応じてMIを利用して、大きな成果をあげてくださればと思います。
参考資料
各社中期経営計画
三菱ケミカルHD
住友化学
三井化学
旭化成
画像引用元:いらすとや
アイキャッチ画像引用元:Unsplash