人の学習と人工知能の学習~人工知能を学習させるとかモデルを構築するということ~

データ化学工学研究室 (金子研) では、化学・化学工学に関する人工知能の研究や人工知能を応用した研究をしています。人工知能は、無から勝手に発生するわけではなく、人工知能を学習させる必要があります

ただ、特別な “学習” をさせているわけではなく、人が学習する過程と同じように、人工知能は学習します。ここでは、人の学習と人工知能の学習について比べながら、人工知能を学習させることについて説明します

ちなみに、金子研ウェブサイトによく出てくる

  • モデルを構築する
  • モデリングする

とかも、人工知能を学習させるのと同じ意味です。

 

学習

たとえば、高校の数学で確率を学習することを考えます。

教科書を読んで、そこ例題を解いて学習することになります。例題の答えを隠して解く、というよりは、例題の解き方、つまり回答を見ながら、どのように解くかを学びます。

人工知能の学習でも、同じように例題を使った学習が行われます。

たとえば、下のような式

y = ax2 + bx + c      … (1)

で x と y とが関係していると仮定します。y が x の二次関数で与えられる形です。これが人工知能です。

ただ、まだ a と b と c はわかりません。そしてx と y のデータとして、以下の表のデータセットがあるとしましょう。

 

 

x と y の散布図は以下のようになります。

 

 

これらを用いて人工知能、つまり式(1)を学習させます。a と b と c を決めるわけです。どのようにするかというと、表にあるy の実際の値と、上の式(1)によって x から計算される y の値との間の、5つの誤差が小さくなるように、a と b と c を決めていきます。5つの例題を解いて確率を学習するのと全く同じです。実際、表のような x (入力変数・説明変数) と y (出力変数・目的変数) とがそろったデータを、”例題” とよぶことがあります。

人が学習するときには、解き方を忘れてしまった例題については、もう一度学習し直します。しかし、人工知能は勝手に忘れるといったことはありません。また、人工知能の学習のさせ方として、人の学習と同じように例題を一つ一つ学習させ、より学習を深めるため同じ例題を繰り返し学習させる方法もあれば、一回の学習に時間はありますか例題すべてをまとめて一発で学習させる方法もあります。とにかく、yの誤差が小さくなるように、式の a, b, c を変えていくわけです。

学習した結果、a = 2.9, b = -1.8, c = 11.3 になりました。つまり、

 

y = 2.9x2 -1.8x + 11.3      … (2)

 

です。これが、学習された人工知能です。図で表すと下のようになります。

 

 

実際のサンプルと人工知能によって求められた x と y の間の関係とが、よくあっています。また、人工知能を使えば、x にいろいろな値を入力することで、y の値を推定できることがわかります。

今回は x の種類が一つの場合で説明しましたが x の種類が複数ある場合でも同様に学習が行われます。a, b, c といった学習させるべきパラメータの数が増えるだけです。

ここの学習で使うデータがトレーニングデータ (モデル構築用データ) です。

 

検証

例題を解き終わったあとは、練習問題を解いて自分が確率について理解しているか確認します。答えが合っていればうれしいですが、間違っていたときは、なぜ間違ったか確認して、解けるようになるまで解き直すでしょう。

人工知能でも同じように、練習問題を解いてその答えが合っているか確認します。つまり、上の表のトレーニングデータとは別の、下のデータセット

 

 

を使って、そのデータセットの y の値と x の値から上の式で計算された y の値とで比較するわけです。誤差が小さければ (正解であれば) よいですが、誤差が大きいと、もう一度学習し直そう、つまり a, b, c の値を決めなおそう、となります。

ここで使うデータがバリデーションデータです。ちなみに検証した結果は以下の図のようになります。

 

 

確認した後は、トレーニングデータとバリデーションデータを用いて、再度 人工知能を学習させます。つまり、a と b と c を改めて決め直すわけです。

学習し直した結果、a = 2.8, b = -1.9, c = 15.2 になりました。これが、最終的な人工知能です。

 

テスト

学習したあとは、期末テストや定期テストを受けると思いますが、人工知能でも最後にテストを行います。学習させて人工知能の能力が試されるわけです。ここで使うデータがテストデータです。ここのテストをパスした人工知能が合格となり、実際に活用されるようになります。

 

以上です。

質問やコメントなどありましたら、twitter, facebook, メールなどでご連絡いただけるとうれしいです。

タイトルとURLをコピーしました