インフォマティクス及び機械学習|【多変量解析・統計学・統計解析】
インフォマティクス及び機械学習
近年、様々な分野で人工知能(AI)の技術に期待が寄せられている。
例として、2016年に囲碁のAI (AlphaGo)が世界最強のプロ棋士(イ・セドル氏)に勝利した。
AIが、その領域のトップに君臨する方々を打ち負かしてしまったことは、世界中に衝撃を与えたと同時に、人々に期待と不安をもたらした。
そのAIの中核をなすものが、機械学習と呼ばれる統計数理に基づいた技術である。
そして、この機械学習を含む情報処理技術をフルに活川し材料開発を進めていく分野を、マテリアルズ・インフォマティクス(MI : Materials Informatics)と呼ぶ。
MIは、この機械学習に加え、物性理論、実験、シミュレーション、データベース、グラウト、ロボティクス、プラットフォーム、Io T、通信、セキュリティ……などなど、様々な技術が統合されて成り立っている分野といえる。
MIによって、機械学習という技術が材料開発の分野に導入されたが、これによって従来の材料開発の技術(理論科学・実験科学・計算科学)が不要になったわけではない。
これらの技術は、それを主に実行する対象(人問またはコンピュータ)と、アプローチの種類(演繹的or帰納的)で分けることができる。
演繹的とは、論理的形式に頼って事実(ファクト)を1つずつ積み重ねていくアプローチを言う。
材料開発の分野において、演繹的アプローチを人問が実空間で実行していくことが理論科学である。
そして、この演繹的アプローチをコンピュータによってサイバー空問で行っていくことが計算科学、つまりシミュレーションに当たる。
一方、実験科学は帰納的なアプローチで、実験によってある材料を作成し、その材料特性を測定(評価)したということは、いわゆるその材料に関する答えのような情報を得たことになる。
我々は、その情報をもとに、「なぜこの材料でこの特性が得られたのか」ということを逆説的に考えていく。
そのため実験科学は、人間が実空間で帰納的アプローチによって材料開発をしていることに相当する。機械学習は、この帰納的アプローチをコンピュータ内(サイバー空間)で行っている領域に分類される。
機械学習
機械学習とはAIの分類の1つで、効率的かつ効果的にコンピュータが学習を行うための理論体系を指す。
適切な処理を行えば、入力されたデータをもとに数値を予測したり最適化したりできるため、さまざまな分野で活用されている。
コンピュータがより高度な認識能力を持つためには、どのような基準をもとに振る舞えばよいかを決める必要がある。
この基準のことを、パラメータという。
たとえば人間の画像を見て、子供か大人かを判断する人工知能があり、身長によって子供か大人かを判断しているとする。
このとき。身長がパラメータにあたる。
機械学習は、入力されたデータをもとに、もっとも正しい振る舞いをするパラメータを自動的に決定(学習)できるため、人工知能発展のカギと見られている。
機械学習以前は、データを丸暗記する暗記学習が主流であったが、これでは未知のデータに対して答えを出せなかった。
しかし近年、情報技術の発展により、ビッグデータと呼ばれる大量のデータが低コストで入手・蓄積できるようになったことで状況が変わった。
ビッグデータを使って試行錯誤をくり返し、未知のデータに対しても答えを出すことが可能になっている。
とはいえ現在でも、機械学習に必ずビッグデータを用いるというわけではない。
機械学習では、コンピュータが入力データを受け取り、学習モデルを使って計算結果を出力する。
学習モデルとは、あるデータを入力すると、より適切な意思決定のためのデータを出力してくれる、いわば人工知能の脳のことである。
最初に行うのは、期待される出力データ(ラベル、教師信号)と学習モデルが計算した結果を比較し、学習モデルを修正する作業である。
修正をくり返したのちに、最終的な学習モデルを保存すると、学習の処理は終えたことになる。
機械学習の問題は、大きく分類と回帰に分けられる。まず分類は、どのデータがどの種類に属すかを見ることが目的である。
入力されるデータがいくつかのグループに分けられることを前提として、グループ内での細かな違いを無視することになる。
一方の回帰は、データの傾向を見ることが目的である。分類とは反対に、入力されるデータを1つのグループとして扱ったうえで、そのグループ内での違いを分析することになる。
グラフ上にデータがプロット(書き込むこと)されているとすれば、分類はデータ全体をできるだけ分けるように線を引くこと、回帰はデータ全体にできるだけ重なるように線を引くことに相当する。
機械学習の活用事例
機械学習は現在、様々な事例で活用されている。
機械学習と運転
機械学習の活用事例として、まずは自動運転が挙げられる。
人間が1日に自動車の運転をしている時間は平均1時間にも及ぶと言われており、それだけに自動運転がもたらす恩恵は大きい。
自動運転は、3つの要素で構成されている。周辺情報のデータをカメラやセンサーで取得する「認知」、データを元に次の動作を決定する「判断」、決定された動作を行うためのパワートレインやステアリングの制御を行う「操作」で構成される。
機械学習は、これら3つの要素それぞれで活躍が期待されている。自動運転分野において技術的にリードしているドイツのアウディやメルセデスベンツ、アメリカのテスラなどは2020年代初頭で自動運転レベル限定エリア内での完全自動運転)達成を目標に掲げている。
機械学習と交通管制
交通管制の分野においても、機械学習の果たす役割が大きい。
道路上の交通量センサーから集まるデータを元に、各車両の目的地までの移動時間やアイドリング時間などを最適化する交通流を予測し、信号の切り替え夕イミングを随時最適化することで渋滞を緩和させるシステムです。
米ピッツバーグ市街で行われた実験では、同システムにより移動時間が最大25%、アイドリング時間は40%以上減少した。
機械学習と金融
金融は基本的に形のある商品を扱わないため、比較的早い段階でIT化が行われた分野である。
当然、機械学習との親和性も高く、すでにさまざまな場面で取り入れられている。
その1つが、リアルタイムトレードで、現在、金融商品のリアルタイムトレードの90%以上がシステムによると言われている。
ここで行われるのは、過去の価格チャートの推移や、トレーダーが利用するテクニカル指標などを入力とした学習で、この学習により、今後の価格推移を予測し、最適なタイミングで売買する。
加えて近年では、銘柄に関係のあるニュースやSNSの動向などのビッグデータを入力とした、さらなる予測精度の向上手法も模索されている。
機械学習と資産運用
資産運用にも機械学習が利用されている。
代表的なものとして、限られた資産からさまざまな金融商品をどのような比率で購入し保有するか(ポートフォリオ)の選択が挙げられる。
Kensho社の「Warren」は世界中で発生したイベントやさまざまな銘柄の価格データベースから、どのイベントがどの銘柄の価格に対してどう作用するか、といった相関関係を瞬時に計算する。
そのため「原油価格が○○%下落した場合の銘柄○○に対する影響は?」といったチャットでの問い合わせに対して即答することができる。
機械学習とマーケティング
マーケティングの手法の1つにレコメンドがある。
レコメンドとは、顧客に商品やサービスをおすすめする機能のことで、機械学習によるレコメンドでは、顧客の性別や年齢層などの属性と、これまでの購買記録を入力としてアルゴリズムを学習させ、商品同士の類似度や顧客のクラスタ分類を推測する。
AmazonやYou TubeなどさまざまなWebサービスで広く普及した、現在もっとも人々にとって身近な機械学習アルゴリズムの1つといえる。
機械学習におけるモデルの作成と学習
機械学習におけるモデルとは、入力されたデータからある出力(入力データに対する分類や予測)を導き出すための数理モデルのことである。
このことは、「何かを入れると何かが出てくる箱」をイメージすると、わかりやすい。
箱はそれぞれ大きさや入口の形が異なっており、それによってどんなものを入れられるかが決まる。
同様に、箱から出てくるものの形も決まっている。
そのようなモデルを作成するためには。入出力するデータがどのようなものであるかを最初に決定しなければならない。
この「箱」は、数学における「関数」にあたる。
機械学習において、アルゴリズムの中で行われていることは関数の計算である。
機械学習における学習
機械学習モデルを作成した時点では、その内部での処理(関数の計算)はでたらめな場合がほとんどである。
そのため何か起きるか見当は付かない。
イヌの画像を入力してもネコと分類されてしまう可能性もあるし、未来のグラフを予測させても全く見当はずれな予測をするかもしれない。
このような状態のモデルに対し、よりよい出力ができるよう修正することを「学習」と呼ぶ。
正答データとの差を小さくするように学習させる手法は教師あり学習と呼び、手法により学習の過程が大きく異なる。
テストデータによる予測結果の検証
機械学習において重要なことは、データを学習することで未知のデータの予測や分類を行えるようになることである。
この未知のデータに対する予測や分類の精度のことを汎化性能と呼ぶ。
学習では、学習データに対する性能を基準にパラメータを更新し進めていくが、学習が終わった段階ではまだ未知のデータに対する性能が保証されていない。
そこで汎化性能を検証する必要が出てくる。
汎化性能を検証するうえで大事なことは、「学習に利用したデータを検証に使わない」こと。
そのためには、学習データとは別に検証するためのデータを分けて残しておく必要がある。
この検証用のデータを、テスト(検証・評価)データと呼ぶ。学習データとテストデータをわけることで、学習したモデルが未知のデータに対してどのくらいの性能があるのかを検証することができ、そこで初めてそのモデルの汎化性能を評価できる。
作成したモデルで期待される性能がわからないことは、モデルの信頼性を保証できないということであり、アルゴリズムを実際に活用する上で大きな支障となる。
学習データをそのままテストデータとして使用すると、検証でのモデルの精度は高くなりますが、これは汎化性能の高さを示したことにはならない。
勉強した問題がそっくりそのままテストに出てしまっては本当の学力がわからないのと同じである。
過学習
モデルが複雑すぎて未知のデータに対する予測性能が低下することを『過学習(Over-fitting)』と呼ぶ。
機械学習モデルを作成する際には、過学習を避けてちょうどよい複雑さのモデルを作ることにより、汎化性能を向上させよう(汎化誤差を小さくしよう)としなければならない。
機械学習におけるサンプルサイズの設計
一般に、データセットが大きいほど計算に時間がかかり、また、モデルが複雑であるほど時間がかかる。
また、変数の数が多いほど計算時間がかかる(次元の呪いと呼ばれる)。
データの数が変数の数より多くなければならないことは金科玉条となっている。
現実的な計算時間を実現したいのであれば、サンプルサイズ、変数の数、モデルの複雑性の3面から考えなければならない。
まとめ
現在の機械学習の急速な普及を「第3次人工知能ブーム」と呼び。
その終焉を予期する論評は数多く存在する。
ただしこの終焉とは「利用されなくなること」ではなく、広く社会に浸透することにより「あたかも存在しないかのように、意識されなくなること」を意味する。
かつてコンピュータやデータ通信が「IT」として世の中に現れたとき、それは一部の専門家のものであった。
しかし今では社会の隅々にまで浸透し、ITは水道・ガス・電気と同様に「インフラ」となっている。
もちろん、機械学習がこのような存在になるにはまだ時間がかかるだろう。
しかし、機械学習はインフラとしての高いポテンシャルを持っていると感じられる。
ITがインフラとなった現代において、ITをうまく活用できるかどうかは、個人や企業の業績に大きな影響を与えている。
同じように、機械学習がインフラとなるであろう将来、いかに機械学習をうまく活用できるかが重要となる。
また、機械学習のベースとなるのは基礎統計学の理解である。
データを統計学的に整理し解釈する基本技術は、昔から変わらず、今後ますます必要とされるであろう。
関連記事