人工知能,

175 views

機械学習・深層学習を解説

人工知能(artificial intelligence:AI)という言葉が登場したのは1956年だそうです。AIとは、「人間が行っている知的作業をコンピュータで模倣したソフトウェアやシステム」です。本記事で話題にしている 機械学習・深層学習を解説 を解説していきたいと思います。

機械学習とは

機械学習とは

機械学習とは人工知能の研究課題の一つで、人間が自然に行っている学習能力と同様の機能をコンピュータで実現しようとする技術・手法です。

もう少し具体的にいうと、機械学習は通常、入力データと出力データ、そして学習するためのモデルで表せます。通常の関数やロジックと異なる点は、知識やルールを人間が全部記述しないとこだ。ただし、入力データに依存しているため、同じ学習モデルでも学習データが変われば出力結果も多少変わってくる。

機械学習でよく例題として出される画像認識でいうと、車の画像を学習させることで画像の特徴を見つけ出し、未知の画像(自分がスマホで撮影した車の画像や手書きの車の画像など)に対しても「それが車の画像である」という推論をさせることが可能になります。

では次に、機械学習における学習方法についてみてみましょう。

機械学習における学習方法

機械学習の学習方法はいくつかの種類があります。 これらについて簡単に説明します。

教師あり学習(supervised learning)

事前にデータと特徴を紐付けておき、未知のデータがどこに分類されるか予測する手法です。
これは「過去のデータから未来に発生する可能性がある事象を予測する」のに使用します。
例えば、今日の天気から明日の天気を予測するような問題が、教師付き学習にあたります。
この場合、入力が今日の天気、出力が明日の天気となります

具体的にいうと、問題(入力)と答え(出力)をセットで入力データとして与える場合で、例えば、画像認識(image classification)では、入力画像それぞれに画像のラベル(例:食事、花、人、風景など)を与える。他にも出力データ(変数の関係性)を推定する回帰(regression)などがある。

教師なし学習(Unsupervised Learning)

この学習方法は、出力データが学習時に与えられない学習方法で、正解となる出力を与えず、データから規則性を発見していくのが特徴の手法です。
(教師あり学習は、「出力すべきもの」も入力で与える必要がある)

例えば、ECサイトなどでのレコメンド機能やオーダー履歴によるユーザーのグルーピングなどは教師なし学習によって行います(教師あり学習をつかうこともある)。

答えが与えられないため、入力データの傾向から近いデータ同士をクラスタリングしたり、入力データの次元を削減して、よりコンパクトに抽象化する表現を学習させたりできます。実用的には難しいが、教師データがないときには便利です。

強化学習(Reinforcement Learning)

強化学習とは、試行錯誤を通じて「価値を最大化するような行動」を学習するものです。
教師付き学習とよく似た問題設定ですが、与えられた正解の出力をそのまま学習すれば良いわけではなく、もっと広い意味での「価値」を最大化する行動を学習しなければなりません。

例えば、ゲーム(環境)の自動操作であればプレイキャラクター(エージェント)が
ミスせずにゴールまで近づいた距離を報酬として与えます。
このようにすると、「どうすればミスなくゴールへ近づけるか行動をいろいろ試してみる」
というように操作プログラムを自分で変更していきます。
結果的にゴールへ近づける(最終的にゴールできる)ようになり、具体的なゴール方法は教えていないにもかかわらず、目標を達成することが可能になります。

深層学習とは

深層学習とは

さて、ここから深層学習の話です。

深層学習とは、その機械学習を発展させた手法です。人間の脳神経回路をモデルにした多層構造アルゴリズム「ディープニューラルネットワーク」を用い、特徴量の設定や組み合わせをAI(人工知能)自ら考えて決定します。

機械学習では、「色と形に注意」のように着目点を指示する必要がありましたが、深層学習の場合は指示をしなくても自動で学習します。ただし、精度を高めるには大量のデータが必要になり、読み込ませるデータによって学習の方向性も変わるので慎重に選ぶ必要があります。

実用例としては、下記内容については、深層学習によって特に大きな精度向上があったようです。

この学習方法で大量のデータを学習することにより、データのどの部分に注目すればよいかを自ら学習して賢くなっていきます。

ニューロンとパーセプトロン

では、深層学習の根幹をなす重要な技術、ニューラルネットワークについて解説します。
ニューラルネットワークとは、人間の脳内にある神経細胞(ニューロン間の結びつき)を
コンピュータ上にモデル化したものです。
別の神経細胞から受け取った信号を、閾値を超えたときに限って次の神経細胞へ伝達するという仕組みをモデル化したのが始まりらしいです。そして、このニューロンを並列に組み合わせてから多数のニューロンで束ねるという構造をパーセプトロンとよび、パーセプトロンをつなげたものがニューラルネットワークとなります。

機械学習 は他の機械学習と何が違うのか

ニューラルネットワークの隠れ層が複数になっているのが深層学習であり、これによってデータの特徴を深く学習できるようになります。そして、このニューラルネットワークに学習用データ(画像やテキストデータなど)を学ばせた結果、データの特徴を自律的に学習していきます。

この「データの特徴を自律的に学習」というのがポイントで、データのどの部分に注目すればよいのかを人間が指定する必要がありません。

例えば、リンゴと梨を画像から判別させたい場合、機械学習では「色を特徴にしよう」と人が指定しますが、深層学習の場合は学習用データから自律的に「色を特徴としよう」と見つけ出すことができます。
(リンゴか梨か、という最終的な出力の教師は与えるが、それを判別するための特徴量は与えない)

こういった仕組みによって深層学習は高い精度を実現しています

前の記事
次の記事

#関連キーワード