Web教材一覧ハードウェアとソフトウェア人工知能(AI)

機械学習

キーワード

機械学習、教師あり学習、教師なし学習、強化学習、回帰分析、決定木、ランダムフォレスト、クラスタリング、アソシエーション分析、協調フィルタリング、Q-learning、Deep Q-learning

参照
ニュートラルネットワークやディープラーニング
人工知能とニューロコンピュータの歴史


人工知能の定義と分類

「人工知能」は、AIと呼ばれ広く用いられていますが、学術的な定義や合意はありません。
広くは、
 ・ 人間の知能そのものをもつ機械を作ろうとする立場
 ・ 人間が知能を使ってすることを機械にさせようとする立場
の立場がありますが、一般的には後者の立場です。

また、研究や応用の対象として、
 ・ ロボットや自動運転のようなハードウェア(組込みシステム)
 ・ ソフトウェア(ハードウェアの場合もそれを制御するソフトウェア)
がありますが、ここではソフトウェアを対象にします。

汎用人工知能と特化型人工知能

人工知能は、その目的や技術の観点から、
 ・ 汎用人工知能:多様な用途に応用できるクラスタリングやディープラーニングなどの技術
 ・ 特化型人工知能:将棋や囲碁などの分野、医療分野などの特化した人工知能
           その分野では優れた能力を持つが、他の分野には使えない人工知能
に区分できますが、ここでは汎用人工知能を主にします。

人工知能 ⊃ 機械学習 ⊃ 深層学習(ディープラーニング)

機械学習とは「データから規則性や判断基準を学習し、それに基づき未知のものを予測、判断する技術」であり、主に統計学を応用しています。なお、「機械」とはハードウェアではなく「反復的に処理を実行すること」の意味です(その処理にはコンピュータを用いますが)。
 機械学習に含まれない人工知能の例に(初期の)エキスパートシステムがあります。エキスパートシステムでは「もし…ならば…確率…で…である」という知識ベースから推論をします。この知識ベースは人間が与えたものです。それに対して、機械学習では「大量データから統計解析などによりルールを自動生成」することが特徴です。

深層学習(ディープラーニング)は、人間の神経回路を人工的に真似た「ニュートラルネットワーク」と呼ばれる回路をコンピュータ上に設定したものです。
 深層学習以外の機械学習は、従来の統計的方法を発展させたもので、通常のアーキテクチャのコンピュータで処理するようなものです。

機械学習

機械学習とは、コンピュータに大量の訓練データを与えてコンピュータが自ら学習することにより、未知のデータに対して判断を行えるようにすることです。
 「ネコかイヌかを判断するAIモデルを作る」という極めて単純な例で、機械学習の手法を説明します。

機械学習で用いるデータ

いかにAI(人工知能)とはいえ、プログラム通りに動作するアプリケーションです。まず最初にデータを与える必要があります。
 多数のネコとイヌを連れてきて、身長、体重、目の特徴、声などの特性を調べて、それを、x1、x2、…、xn とします。
 また、ネコなら y = 1, イヌなら y = -1 とします。この y をラベル(正解)といいます。教師ありのモデルではラベルを用い、教師なしモデルではラベルはありません。
(画像認識技術を用いて写真を与えるだけで、i などの特性をAIが自動的に取得することもできます。その場合でも、その写真がネコ・イヌであることを人間が教える必要があります。)

ここで集めたデータは、手順により次のように区分されます。

AIモデル作成手順

訓練・学習(モデルの作成)

モデルの作成とは、「何らかの手段」により、
    y = f(x1、x2、…、xn) + ε (ε→0)
となる関数 f を求めることです。
 ある動物について、その特性 x1、x2、…、xn を調べて、f の式により y を求めます。そして、y > 0 ならばネコ、y < 0 ならばイヌだと判別します。
 この f のことをモデルといいます。そして、係数などのパラメタ(重み)をハイパーパラメタといいます。すなわち、モデル作成とはハイパーパラメタを決定することです。

ここで「何らかの手段」が重要です。
 モデルを f = a1x1 + a2x2 + … + a2xn のような簡単な形式に限定するならば、以前から確立している多変量解析が使えます。すなわち、人間が手段のすべてを与えているので、AIとはいえません。
 AI(人工知能)というのは、その手段の全部あるいは一部を、機械が自分で見つけて f を作り出すようにしているからです。ネコ・イヌの判別では、その画像を与えるだけで、AIが自分で x1 などの特性を発見しています。
 もっとも、この「自動的」というのは言い過ぎで、方法の大枠は人間が指定し、その中で、いろいろハイパーパラメタを変えながら複雑な計算をして、f を求めることを「自動的」といっているのです。→後述(機械学習での人間の関与)

検証(モデルの検証と改善)

作成されたモデルに、検証データを与えて、判別がどの程度の信頼度があるかを検証し、実務的に十分でなければ、検証データを用いてモデルの改善(f の変更)をします。
 一般にデータの量が大きければよいモデルができると考えがちですが、それは不適切です。  そもそもこのモデルは、他のデータを与えたときにネコかイヌかを判別させることが目的ですから、モデル作成に使ったデータ以外で、ものモデルの信頼性(判別能力)を検証する必要があるのです。

いくつかの点とその近似式の関係で説明します。1次式や2次式を当てはめたのでは、点と曲線は離れてしまいます。3次・4次を次数を増やせば距離は短くなり、最後には曲線がすべての点を通り誤差は0になります。
しかし、その曲線は極端に変化が大きく、別な点での式の値は現実的ではない値になりましょう。このように、過度な精度になることを過学習といいます。
 むしろ次数の小さいほうが、安定した近似式であり、実務的に適した近似式になります。当初のモデルでは、一致度はある程度犠牲にしても、安定したモデルにしておき、検証データで検証・改善をするほうがよいのです。

モデルは、人間が指定した方法の大枠で規制されています。当初の方式で満足できるモデルができる保証はありません。それで、他の方法で用いてモデルの作成、改善を繰り返すこともあります。

テスト(汎用化・予測)

最終テスト、実務化のステップです。テストデータにより確認したり、あえて紛らわしいデータも含む新しいデータで確認したりします。結果として、ネコ・イヌの判別が必要な業務にはこのモデルを用いればよい(汎用化)とします。

機械学習の分類

機械学習の方法は、訓練データの与え方により
  教師あり学習(Supervised Learning)
  教師なし学習(Unsupervised Learning)
  強化学習(Reinforcement Learning)
に区分されます。

「教師あり学習」と「教師なし学習」は統計学に基づいた「統計的機械学習」が一般的です。一方、「強化学習」は、概ね統計学とは無関係です。

教師あり学習

教師あり学習とは、例えば「画像認識」などの「クラス分類」では、猫や犬などの大量の写真とそれが猫・犬などの教師による正解(ラベルという)を示し、システムにルールを作成させます(どのような方法でルールを作るかは教師は関与しません→注)。、その後、写真を見せるとシステムが「猫」や「犬」を判断する仕組みです。

教師あり学習の代表的な手法には「回帰」と「分類」があります。

回帰(Regression)

統計の多変量解析で広く用いられている回帰分析と同じで、被説明変数と説明変数の関係を定量的に分析し、分析結果に基づく予測します。
被説明変数を教師が与えるとすれば教師あり学習になります。また、多変量解析の手法はアルゴリズムが決まっているので、システムが独自に考えるのではいので「ルールベースAI」とすることもあります。

分類(クラス分類。Classification)

前述の猫・犬の「画像認識」が代表例で、手書き文字を読み込む「文字認識」、本人認識での「顔認識」などがあります。
回帰との違いは、被説明変数が回帰では数量であるのに対して、分類が質的であることです。そして、説明変数が単なる数値・質的データではないビット列のときをパターン認識といいます。

教師なし学習

顧客のグループ化を考えましょう。人間による分類では、購買額の大小、来店頻度、特定商品の購入有無など、先に設定した項目を基礎にしてグループ化するのが通常ですが、そのような既定概念を排して「ともかく3つのグループに分類せよ」と指示するだけで、システムが顧客の特性値から「似たもの集め」をします。これにより、思わぬ発見ができることがあります。
 このような場合には、ラベル(教師による正解)は与えられません。それで教師なし学習になります。

教師なし学習の代表的手法に、クラスタリングと次元削減があります。
 多変量解析では、主成分分析や要因分析に相当する分野です。

クラスタリング

特徴・傾向が似ている標本をいくつかのグループに分類する方法です。分類では「顧客ランク」のような分類基準があらかじめ与えられているのに対して、クラスタリングではシステムが「勝手に?」いくつかにグループ化した結果から、その基準を人間が考えるという大きな違いがあります。

次元削減(dimensionality reduction)

次元削減とは、低次元表現が元データの何らかの意味ある特性を保持高次元空間から低次元空間へデータを変換する方法です。主成分分析がその基本になります。

機械学習での人間の関与

先に「システムが自分で考えてルールを作る」ようなことをいいましたが、厳密には人間がかなり関与しています。

転移学習

例えば、サッカーの選手は一般の人に比べて、ラグビーや野球の技量修得が容易でしょう。このように、ある領域の知識を別の領域の学習に適用させる技術です。

ネコには和猫やペルシャ猫、イヌには秋田犬やスピッツなどの品種があり、その品種判別のモデルを作りたいとします。通常ならば、ネコのモデルとイヌのモデルを作成しますが、ネコのデータは多いのに対して、イヌのデータは少ないとします。イヌのモデルは精度の低いものになります。

このとき、ネコのモデル化で得られた知識を、イヌのモデルに応用することにより、精度を向上させることができます。
 このように、大量の高品質なデータのある領域の知識を転移させることで、限られたデータしかない領域においても高精度なモデルを作成する技術を転移学習といいます。

強化学習

教師なし/教師あり機械学習とは異なり、強化学習は動的な環境で特化型人工知能に用いられます。「最終的なゴール」を設定し、それに向かった最適な答えを導き出すための方法を模索するやり方です。その方法として、試行錯誤を通じて、報酬(評価)が得られる行動や選択を学習します。
 例えば将棋に関する強化学習は、敵軍の王将をとることに最大の評価として設定し、システムに将棋を教えるのに、ある手を打ったときに、その結果に対する得点を与えます。また、ロボットにある操作を教えるのに、操作の目的と人間の動作を観察させ、ロボット自身にやらせてその結果を得点で評価します。これを繰り返すことにより強くなります。

 システムは最大の得点を得る(最良の手を打つ)ためのルールを見つけ出します(教師なし学習)。その結果に対して教師は新たな得点を与え(教師なし学習)、コンピュータはその得点によりルールを修正します。
 かなり複雑なので、一定のレベルに達するまで、かなりの訓練期間がかかります。また、連続手に対する得点の与え方やコンピュータが獲得したルールが合理的であるという保証はありません。


人工知能(AI)へ