見出し画像

AI・機械学習・教師あり学習とは

1. はじめに

こんにちは、LiNKX株式会社でAIエンジニアをしております伊藤と申します。

近年、AIという言葉を様々なところで耳にするようになりました。

しかしAIという言葉は何を意味しているのか、なんとなく雰囲気は分かっても、具体的なところは漠然としたまま、という場面が多いのではないでしょうか。

AIを理解するためのキーワードとして、機械学習教師あり学習ディープラーニングも重要です。

本記事では、AIや機械学習の分類と内容について簡単に紹介し、特に産業利用が盛んな教師あり学習については、少し掘り下げて紹介したいと思います。

2. AIと機械学習

「AIとは?」という問いに対しても答えは様々ですが、ここではAIを「コンピュータを使って人の知能の働きを人工的に実現したもの」として考えていきます。

AIとは具体的にどんな技術を指すのか、AIに何を含めるのか、という問いにも正解はありませんが、人工知能学会のHPも参考にして、以下の図を作ってみました。

分類図

AIには、機械学習、人工生命、ゲーム研究(チェスや将棋のアリゴリズムの研究)、そして、音声認識、自然言語処理、画像認識などの研究分野での技術が含まれます。これらの分野は独立したものではなく、お互いの技術を利用しながら発展しています。近年では特に機械学習が、様々な分野に応用されてきています。

上の図では、機械学習を「大量のデータを利用し、予測や最適化・分析を行うアルゴリズムやその研究分野」と説明しましたが、すこし漠然としているかもしれません。それは、機械学習に様々な理論や方法が含まれ、すべてを一つの文章で説明することが難しいからです。しかし逆に「機械学習には何が含まれるか?」という問であれば、答えは明確です。

機械学習が取り扱う「問題」には、教師あり学習教師なし学習強化学習の3つがあります(この〇〇学習という言葉は、問題を意味する場合とアルゴリズムを意味する場合があります)。

教師あり学習は、入力に対して出力の予測をする問題です。例えば、気温や湿度や曜日から、弁当が売れる数を予測するなどです。この教師あり学習は、最も産業利用のある重要な問題ですので、4.で掘り下げて説明します。

一方、教師なし学習は、入力データの特徴を見つけ出すことが目的です。出力データは考えません。例えば、顧客データ(消費金額、購買頻度、商品など)を教師なし学習で解析することで、高額商品をたまに買いに来る人たちと、低額商品を頻繁に買う人たちの2グループがいることを見いだせるかもしれません。

強化学習は、試行錯誤で良い行動を探し出す問題であり、例えば操作の難しいロボットの制御や、ゲームのアルゴリズムの作成などに応用されています。

ところで、上の図の教師あり学習から下につなげて、ベイズ最適化というものを書きました。最近R&Dの業界でよく耳にするようになったアルゴリズムなのですが、これは、例えば、強い磁石を作るための原料の配合を効率よく探す問題などに利用されます。ベイズ最適化は、教師あり学習を応用したアルゴリズムですが、教師あり学習の問題定義とは異なることから、上図のように、教師あり学習の兄弟のような位置づけにしました。ベイズ最適化についてはまた別の機会にブログで紹介したいと思います。

図の左側に書いた統計解析は、データを解釈するために使われる手法です。例えば、平均値分散相関係数の算出も統計解析の一つです。それ以外にも、2つのグループの差が、偶然なのか、本当なのかを結論付ける技術(検定)、複数の変量のうちどの変量が目的変数の変動に関係しているかを見つける技術などが確立されています(分散分析回帰分析)。

統計解析はたくさんのデータを利用するという点で機械学習とよく似ていますが、その歴史は機械学習よりもずっと古く、機械学習が統計学の手法を多く取り入れて発展してきたという経緯があります。機械学習は「予測をする」ことを重視しており、統計解析は「データの特徴を見極める」点に関心があるという点で違いがあります。統計解析はAIに含めない方が一般的でしょう。

3. ニューラルネットワーク・ディープラーニング

近年のAIブームでは、ディープラーニングや深層学習という言葉もよく耳にします。近年のAIブームのきっかけは、このディープラーニングの技術の発展によるものだからです。ちなみに、ディープラーニングと深層学習は同じ意味です。

ディープラーニングの説明には、その構成要素となるニューロンモデルを説明しなくてはなりません。ニューロンとは脳の神経細胞を意味し、ニューロンモデルはその働きからヒントを得た関数(モデル)です。多数の入力に対して1つの出力を出す素子としてみなすことができます。しかし、このニューロンモデルでは単純な入出力関係しか表すことはできません。

画像2

ニューロンモデルは「複数つなげる」ということができます。「層」という構造を作ってそれを何層にも増やすことができますし、出力の数も増やすことができます。このようにニューロンをネットワーク上につなげたものを、ニューラルネットワーク(モデル)と呼びます。そして、層がたくさんあるものを特にディープラーニングと呼びます(何層からディープラーニングと呼ぶかは決まっていません)。

画像3

このディープラーニングの技術が、画像認識、音声認識、自然言語処理、ゲーム研究に応用され、その精度が格段に上がりました。この成功がAIブームを引き起こしたのです。このような背景からディープラーニングのみをAIと呼ぶ場合もありますので注意が必要です。

ニューラルネットやディープラーニングは、見ての通り入出力があることから、メインでは教師あり学習で使われていますが、教師なし学習や強化学習にも応用が進んでいます。

4. 教師あり学習

それでは、機械学習の中でも最も産業利用が多い教師あり学習について、少しだけ掘り下げて紹介します。教師あり学習のアルゴリズムは、予測をすることが目的となります。

予測の問題には、数値を予測する場合と(売り上げや風速など)、クラスを予測する場合(男か女、果物の名前など)の2種類があり、前者を回帰、後者を分類と呼びます。

例えば、回帰の例として、外気温からアイスの売り上げを予測する例を考えましょう。ここで、外気温をxとし、売り上げをyとします。xからyを予測するので、xが入力でyが出力と考えます。

予測するためには、前もって複数のデータ(xとyのペア)が必要になります。今のアイスの例でしたら、様々な日における外気と売り上げの記録 (x, y)=(18℃, 15個), (30℃, 51個), (24℃, 30個) ,…. がデータとなります。

ここからは、アイスの例から離れて一般的に考えていきます。下の図のが示すように何らかの入力データx出力データyのセットが20個あったとしましょう。

データ

目的は「データにないxに対してyを予測をする」ことです。そう考えると一見難しそうに感じますが、このことは単に「データに沿って線を引く」ことと同じです。線を引くことができれば、全てのxに対して、yの予測値を考えたことになります。

例えば、直線を引く方法として、線形回帰モデルという手法があります。このモデルを使ってデータとの誤差が最も小さくなるように線を引くと、下のような緑の直線になります。

画像5

この線があれば、例えば、x=8に対して、y=5と予測することができます。x=8以外のどんなxに対しても何らかのyを出力できることも分かります。線形回帰モデルは単純ですが、xとyの関係性が直線の傾きの数値としてはっきり分かるので、データ分析には真っ先に使われるモデルでもあります。

線の引き方によって、様々なアルゴリズムが提案されています。例えば、ニューラルネットワークを使って線を引くと、下のようになります。うまくデータに沿って線が引かれていますので、より精度の高い予測ができることが直感的に分かると思います。

画像6

発展的な方法に、ガウス過程回帰というものがあります。これは、予測の範囲も表すことができます。

画像7

薄い緑の部分は、予測精度が95%以上の領域(95%の信頼区間)を示しています。実線の部分は予測の平均値となります。グラフの右側では、薄い緑の領域の幅が広がっていますが、これはデータが右側で少ないために予想の精度が高くないことを反映しています。このガウス過程回帰は、2.で述べたガウス最適化のアルゴリズムで使われます。

以上の例では、1つのxに対してyを予測するという例でしたが、これらのアルゴリズムは複数のxに対してyを予測をすることもできます。これは例えば、年齢(x1)と体重(x2)に対して身長(y)を予測する、という問題などが対応します。

ところで、AIと言えば画像認識を思い浮かべる方も多いと思いますが、画像認識は教師あり学習の分類問題として扱われています。

例えば下の例に示すように、デジタル化された画像は数値の集合としてみなすことができます。例えば、白黒画像の場合、数値は各点の濃淡の程度に対応します。この数値をこれまで考えてきた入力(x1, x2, …)と考えます。そして、画像が表すもの、例えば、猫や犬をクラスyと考えるのです。

画像認識

画像の場合、xとyの関係が複雑になるので、通常ディープラーニングが使われますが、基本的な考え方は上で述べた教師あり学習の例と同じなのです。


この記事が気に入ったらサポートをしてみませんか?