【初心者でも5分でわかる】AIの教師あり学習と教師なし学習(強化学習)の違いは?

【初心者でも5分でわかる】AIの教師あり学習と教師なし学習(強化学習)の違いは?

人口知能(AI) をについて調べていると
頻繁に出てくる”教師あり学習”と”教師なし学習(強化学習)”というワード。

実際これは何なのでしょうか。
簡単です。
“教師あり学習”では、機械に物事を教える教師が存在します。
“教師なし学習(強化学習)”では、機械に物事を教える先生は存在しません。機械が独学するのです。

「そんなん字見ればわかるわ!」
と言われそうですが、実際これ以外の何物でもありません。

この意味をしっかり理解できるように、
具体例を交えてめちゃくちゃ簡単に解説したいと思います。

これを読めば誰でも”教師あり学習”と”教師なし学習(強化学習)”について理解できること間違いないので、是非最後まで読んでみてください。

教師あり学習ってなに?

f:id:kodomocafe1:20180418115332j:plain

教師あり学習とは、
『入力(x)と出力(y)の組から成る教師事例を機械に埋め込み、出力が未知である入力事例に対し正しい出力を予測させることを目的として行う機械学習法』
です。

ちょっとよくわかりませんね。
ここで理解しようとしなくても大丈夫です!

今後”入力”と”出力”という言葉がよく出てきますがこれは「ニューラルネットワーク」によるものです。
こちらの仕組みがまだわからないよって方はこちらの記事を読んだ上で
再度読んだ方がよりよく理解できると思いますよ。

www.kodomocafe.com

さて、教師あり学習について理解するために
画像認識システムを利用した具体例を見てみましょう。

f:id:kodomocafe1:20180417220549p:plain

こちらの画像を見てみましょう。

これは画像認識システムの概要で、
犬の写真を機械に入力すると「これは犬です」と出力されるわけです。

しかし、何も学習していない機械がいきなりこの答え(出力)を
導き出せるわけがありません。

そこで、
「この画像が入力されたら、犬と出力するんやで!」
と入力と出力をセットにして機械に放り込むわけです。

f:id:kodomocafe1:20180417222038p:plain

すると機械は、画像を分析して
犬というものの特徴を学習するわけです。

もちろん一枚だけでは相当似ている写真じゃないと
「犬」とは出力してくれません。
しかし、これを何千、何万と入力することで機械はそれぞれの共通点を認識し
「犬」というものがどういうものなのか学びます。

そして犬の画像を入力した時、
より高精度に「犬」と出力してくれるようになるわけですね。

つまり教師あり学習とは、
『入力データとその答え(出力)をセットで学習させることで、
より高精度の出力を目指す機械学習法』
というわけですね。

教師なし学習(強化学習)とは?

f:id:kodomocafe1:20180418115405j:plain

前項で教師あり学習についてはしっかり理解できたと思います。
では、次に教師なし学習に入ってみましょう。

教師なし学習(強化学習)とは、
『出力すべきものが決まってない状態で入力だけする機械学習法』

「へ?出力するもの決まってないのにどうやって学習するんや!」
と思いますよね。もちろん僕も思いました。(これは僕の声です)

しかし、具体例を見てみると「なるほどな!」
と納得すると思います。
なぜなら僕たちも教師なし学習を行っているからです。

みなさんは“AlphaGO(アルファ碁)”というAIをご存知でしょうか?
これは最も有名な囲碁を指すAIですが、
2016年3月に国際戦で何度も優勝しているイ・セドル9段と対局し
5戦中4勝した、まさにAIが人間に勝ったというべき偉業を成し遂げたAIです。

日本でも将棋で「AIがプロ棋士に勝利した」というニュースが
流れていますよね。

なぜこの例を挙げたかというと、
これらのAIはまさに”教師なし学習(強化学習)”によって鍛えられたものだからです。

この問いをあなたに投げかけてみたいと思います。
「囲碁に必勝法はありますか?」

もちろん数々の定石はありますが、
必ず勝てる方法なんて存在しませんよね。

また対局している途中この手を指したら(入力したら)、
「これは最善手です」と答えが出る(出力される)でしょうか?
その時の手が最善手だったかどうかは対局が終わって初めてわかるんです。

では、AlphaGOがどのようにしてプロ棋士に勝つまでになったか見てみましょう。
まずある条件を達成するとご褒美がもらえる設定を組みます。
「囲碁でしたら勝利条件をクリアしたらご褒美がもらえる」

f:id:kodomocafe1:20180417231212p:plain

これは別に本当にご褒美をもらえるわけではないですが、
AIに最終目標を定めさせるために用います。

そこでまず機械に、
囲碁の達人たちが残した3000万を超える指し手を使って学習させました。
すると、どの指し手を使ったときにご褒美がもらえる(勝つ)か機械が勝手に学習します。

そこから更に凄いことに、AlphaGOは自分自身と架空の対局を繰り返し
ご褒美(勝利)に向かって調整を続けたわけです。

かくしてAlphaGOはプロ棋士に勝利をおさめたわけですね。

ここまで来たら”教師なし学習(強化学習)”はわかったも同然です。
将棋で言うなら、僕たちが何度も対局して、羽生さんの指してを読んで、さらにまた対局してようやく勝利に近い指し手をさせるのと全く同じなんです。

教師なし学習とは、
『出力すべきものが決まってない状態で入力だけする機械学習法』

ようやくこの意味が分かりましたね。

それぞれのメリット・デメリット

f:id:kodomocafe1:20180418115436j:plain

では、それぞれどのようなときに力を発揮するでしょうか。

教師あり学習

教師あり学習では、主に
“分類”“回帰” を行う際に効果を発揮します。

分類とは、
入力されたものをカテゴリー化し、所属するラベルを予測するものです。
画像認識システムや迷惑メールのフィルタリング、仕分けシステムがこれに当たります。

回帰とは、入力された数値をもとに未来の数値を予測し、
実際の値として出力することです。
気温の予想や売り上げ予測がこれに当たります。

教師あり学習は、しっかりしたラベル付きデータを準備することができれば
学習の初期段階でも成果を出すことができます。

ただ、より高精度な分類を行うためには
大量のラベル付きデータが必要であり、時間もかかってしまうのはデメリットといえますね。

教師なし学習(強化学習)

教師なし学習(強化学習)では、主に
・データ内に存在するグループを見つける
・データの大部分を表すようなルールを見つけ出す
際に効果を発揮します。

機械自身が特徴や定義を勝手に発見するため、
データにラベルを付けるという手間を省くことができます。

しかし、機械に任せっきりになってしまうため、
機械学習の制御が難しくなり、データの質や精度が落ちやすくなってしまうのが弱点です。

そこで、目的としてご褒美(報酬)は設定することで
制御しようとしたのが教師なし学習の一つである”強化学習”なんです。

まとめ

今回はAIを語る上で欠かすことのできない、
“教師あり学習”と”教師なし学習(強化学習)”について説明しました。

きっとそれぞれどのようなものか
理解できたのではないでしょうか。

これから来るAIファーストの時代に備えて
こういった知識を少しでも蓄えておくことが大事になってきます。

“本格的に早くPythonなどのプログラミングを学びたい”

と考えている方は是非スクールに通うことをお勧めします!

実際のエンジニアに教えてもらうのとネットで勉強するのでは、

成長スピードは桁違いです

こちらのプログラミングスクールは、

いつでも!どこでも!マンツーマンレッスンが受けられるオンラインプログラミング家庭教師になります。

東証一部上場しており、NHK日経などのメディアに取り上げるほどで、

そのサービスの質は言わずもがなピカイチです。

・早期キャリアアップ/転職を目指している方

・副業/フリーランスで収入を得たい主婦の方

・将来エンジニアになるために早くからプログラミングをがっつり学びたい中高生

現在、無料で体験レッスンが受講できるので、

是非お試しで受けてみるといいと思います!

~約8,000名の受講生と80社以上の導入実績~
現役エンジニアのオンライン家庭教師CodeCamp