AIの学習方法まとめ ―教師あり学習・教師なし学習・強化学習・過学習・転移学習―

2020年10月15日

AIの機械学習

近年AIが注目され、機械学習の本が巷に溢れています。
そのAIの学習方法にもさまざまな種類があり、大別して教師あり学習・教師なし学習・強化学習などがあり、その中でもさまざまな学習方法があります。

今回はそのAIの学習方法についてまとめていきました。

教師あり学習

教師あり学習とは、 事前に与えられたデータを参考にしてAIに学習させていく手法です。
事前に与えられたデータをお手本にしていく姿が、教師に学んでいる姿に見えるため「教師あり学習」と呼ばれています。

回帰分析

回帰分析の例(Wikiより)

教師あり学習の例が回帰分析です。
回帰分析とは、 2つ以上の変数間の関係を理解するために使用される統計解析の手法です。多くの場合、回帰分析では、1つ以上の独立変数が従属変数に与える影響を調べます。

「独立変数」「従属変数」というと難しく思えますが、中学校の数学で学ぶ、「y = ax + b」という式を見つけ出す手法が回帰分析だとざっくり理解してもよいかもしれません。

例えば、数学の問題であれば「ロウソクに火をつけて1分後にロウソクは2cm短くなり、2分後に4cm短くなりました。」というように、一次関数を導き出しやすいきれいに比例した数値がでてきますが、現実の世界では数学の問題のように切りのいい数値を出してくれません。
そのため、回帰分析を使ってできるだけ正確な式を導き出していくのですが、AIがそのサポートをしてくれます。

パターン認識

音声認識や文字認識などのパターン認識も教師あり学習です。
同じ「あ」という文字であっても、人が書いただけでも人のクセが反映されますし、機械であってもフォントの違いで微妙に形は異なっています。
しかし、文字読み取りシステムなどで様々な「あ」を認識するには、AIに「あ」の形と特徴をあらかじめ教え、それを学んでもらう必要があります。

教師なし学習

先ほどの回帰分析は「どのようなデータを導き出したいか」というゴールがはっきりしていましたが、教師なし学習と呼ばれる手法では、「何を出力すべきか」は決められていません。
こうした教師なし学習は、人間では気が付かなかった情報のグループ分けなどを発見するために使われます。

クラスタリング(クラスター分析)

クラスタリングのイメージ(Wikiより)

クラスタリング(クラスター分析)とは、類似するデータのグループを作っていく手法です。
クラスタリング自体は、1930年代から存在したものの、近年ではAIの台頭により複雑な分析が可能になってきました。

例えば、膨大な顧客情報をAIがグループ分けし、そのグループに対してのマーケティング手法を考えていくというような場面でクラスタリングは使われています。

強化学習

強化学習とは、ある環境内の中でAIが現在の状態を観測し、執るべき行動を決定する問題を扱う学習手法です。
AIが執った行動に対して報酬(ポイント)が与えられ、AIはそのポイントを高めようとしていきます。

この強化学習で一番イメージしやすいのは、AIにゲームを強くさせることではないでしょうか。
AIはゲームのポイントを頼りに、「どうしたらポイントが一番高くなるのか」を考えて、試行錯誤を繰り返します。

モンテカルロ法

強化学習の例として、モンテカルロ法が挙げられます。モンテカルロ法とはシミュレーションや数値計算を乱数を用いて行う手法の総称です。つまり、ランダムに数値をいれてみて、AIがその出来を考察していきます。

ゲームや囲碁AI・将棋AI

ハンディキャップ無しでプロ棋士を破った囲碁AIであるAlphaGoにはSelf-playという手法が用いられています。

自動運転

Prefferd Networks社では、車幅に対して狭い道路や車が密集した交差点など難易度の高い走行に対して強化学習を活用して自動運転を実施しています。

過学習

AIは学習を続けていくと問題が生じることがあります。これは過学習(overtraining)または過剰適合(overfitting)と呼ばれる問題です。
過学習とは、AIが訓練データを学習しすぎた結果、訓練データに適合して精度の高い結果となる一方、未知のデータに対して予測精度が低くなることをいいます。
ニューラルネットワークの汎化性能を低下させることから、過学習を防ぐ必要があります。
以下では、過学習を防ぐ方法を紹介していきます。

正則化(regularization)

必要のないパラメータ(重み)にペナルティを科して訓練データの偏りのパターンを低減させ、モデルの複雑化を抑制します。

ドロップアウト(Dropout)

多層ネットワークの特定の層をランダムに無効化することで、重み付けの少ないネットワークで正しく認識できるようにします。

交差検証 (Cross Validation)

訓練データを3つに分割し、そのうちの1つで学習したモデルを次のデータで検証し、残りのデータで最終的なモデルを評価します。

転移学習

転移学習(Transfer Learning)とは、ある領域(ドメイン)で学習したモデルを別の領域(ドメイン)に適応させて効率的に学習させる手法です。
学習時間を短縮できる、少ないデータでも高い精度を出せる、という点がメリットとして挙げられています。
機械学習の成功を今後推進するのは転移学習とも言われるほど、注目を集めている技術です。

画像認識

ImageNetの大量のデータセットを使って犬の画像を学習させて得られた犬の種類判別の知識を猫の種類判別にも適応します。
少量の猫の画像だけで種類識別が可能となります。

音声認識

バーチャルキャラクターやスマートスピーカーといったアプリケーションは音声認識が転移学習によって活用されたものです。
DeNAでは音声生成技術(音声合成と音声変換)に注力し、Vtuberの配信ではテキスト入力した内容を合成音声に変換していました。
iPhone の Siri、Amazon の Alexa、Google Homeでもテキスト合成音声技術が活用されています。

自然言語処理

Google翻訳ではGMNMT(Google Multilingual Neural Machine Translation)を採用することで翻訳性能を向上させました。
これはゼロショット学習とともに転移学習の技術によって実現しています。

誤差逆伝播法

誤差逆伝播法(Backpropagation)とは、ニューラルネットワークの学習法の一つです。
教師信号と実際の出力信号を比較して得られた誤差情報を使って重みを更新します。
結果側から逆方向に学習させて誤差を小さくしていくのが特徴です。
LeNetや畳み込みニューラルネットワーク(Convolutional Nueral Network)などでは誤差逆伝播法を用いるのが一般的です。

参考

技術AI

Posted by promapedia