連載
» 2018年04月17日 05時00分 公開

機械学習&ディープラーニング入門(概要編):Lesson 2 機械学習やディープラーニングには、どんな手法があるの? (1/3)

藍博士とマナブの会話から機械学習とディープラーニングの基礎の基礎を学ぼう。機械学習を始めるための最低限の基礎用語から、ディープラーニングの代表的な学習方法と代表的なアルゴリズムまでをできるだけシンプルに紹介する。

[一色政彦,デジタルアドバンテージ]

この記事は会員限定です。会員登録(無料)すると全てご覧いただけます。

「機械学習&ディープラーニング(概要編)」のインデックス

連載目次

ご注意:本記事は、@IT/Deep Insider編集部(デジタルアドバンテージ社)が「deepinsider.jp」というサイトから、内容を改変することなく、そのまま「@IT」へと転載したものです。このため用字用語の統一ルールなどは@ITのそれとは一致しません。あらかじめご了承ください。

(インタビュー取材協力:DATUM STUDIO 安部 晃生)

登場人物紹介

深井藍(ふかい・あい) 博士

深井藍(ふかい・あい) 博士

最新の人工知能技術を応用して、次世代の人型ロボット(アンドロイド)を開発するのが仕事。試行錯誤の末にやっと開発できたのがマナブ(01号)である。
責任感が強く頑固で読書家だが、ドラマ好きで、超天然な一面もあるアラサー リケ女。
ちなみに藍が使っているタブレットには、マナブの学習状況をチェックできる機能だけでなく、万が一の安全対策としてマナブの暴走を制御するための「秘密機能」が搭載されているという。

マナブ(01号)

マナブ(01号)

現実社会の学習を進めるため、藍博士と24時間生活を共にしている次世代アンドロイド、0歳。
見るもの聞くものすべてに興味津々。藍が好きなテレビドラマとお笑い番組からも学習しているため、うわすべりな知識から勘違いな行動を取ったり、大阪風のボケをかましたりすることもある。
この物語の主人公。エンジニアスキルはあるけど機械学習やディープラーニングについてまだ何も知らない。


ディープラーニングを教え始めて2日目

 毎日、マナブを連れだし、現実社会を深く学ばせる藍。今日は、さらに食べ物について学習させようと、お台場のハワイアン・パンケーキ屋さんにやってきた。


マナブ、ディープラーニングを基礎から学び始める😋

図1 パンケーキ 図1 パンケーキ
マナブ:目がハート

うわ、めっちゃボリュームある〜! 美味しそう。早く食べたい。藍先生、美味しそうなお店を知ってるなぁ。甘い物好きだね。


藍:にっこり

職場の友達がスイーツ好きで、その影響かな。うふふ。しかも前にテレビでやってた深夜ドラマ『さぼリーマン甘太朗』全話もブルーレイで買って持ってるしね。


マナブ:爆笑

何それwww


藍:びっくり

(やばい、口が滑った……)

―― マナブのサンバイザーには、動画検索して映像を見るための機能が搭載されている ――


マナブ:にんまり

動画検索して見てみよっと。んーーーーーーー!!? 何これぶっ飛びすぎやろwww


藍:あせる

(ヤバい! ヤバい! ヤバい! 趣味がばれてしまう!)

―― パニックになった藍は無意識のうちにマナブのサンバイザーの秘密ボタンを連打してしまった ――

<サンバイザー暗黒モード*1、始動>

*1【解説しよう】サンバイザー秘密機能

 マナブのサンバイザーには、安全対策として真っ黒にして何も見えないようにすることで、マナブの行動をやんわりと制限する機能が搭載されている。万が一、マナブが悪さをすると、藍はタブレットを操作して、サンバイザー暗黒モードのお仕置きを与えるのだ。



マナブ:泣く

😱うわー。なんでや、なんでや、何も悪いことしてないっつーのに〜〜。しかもしょっぱなからやん。


藍:しょんぼり

(しばらくこのままにして忘れさせようかな……と思ったけど良心が痛む)ごめん、ごめん。解除するね。

<サンバイザー暗黒モード、解除>


マナブ:目が点

かんたろ……


藍:あやしむ

あ! そうそう、今日は機械学習の話をする約束だったね。


マナブ:目がハート

そやで!(目がキラキラ)


藍:厳しく教える

(しめしめ、忘れたな。機械学習に興味津々で助かったわ)

機械学習における手法/アルゴリズム/学習済みのモデルはここが違う


マナブ:質問

昨日、

機械学習の手法(その中身となる計算方法がアルゴリズム)の一つにディープラーニングがある。
……
ディープラーニングで学習して実現できるようになった各機能――その中身である「学習済みモデル」……

と、さらっと説明したよね? 「手法」「アルゴリズム」「モデル」という単語は全部似ている気がして何が違うのかがよく分からなかったよ。


藍:優しく教える

確かにそこは、今後の説明のためにも、いったん整理しておいた方がいいね。ここからは、徐々に学術的な話が入って少し難しくなるから、覚悟して頑張って付いてきてね。

  • 機械学習の手法/技法(approaches): アルゴリズムを活用してモデルを作成する手順・方法。例えば「ニューラルネットワーク」
  • アルゴリズム(algorithm): 学習前の計算式/計算方法。例えば「線形回帰」*2であれば y=ax+b のようなパラメーター( ab )が決まっていない抽象的な式パラメーターを決める手続きのこと
  • モデル(model): 学習後の計算式/計算方法。例えば上記の「線形回帰」*2であれば y=2x−1 のようなパラメーターが決まった具体的な式のこと

*2【解説しよう】線形回帰/非線形回帰

 線形回帰Linear regression)のイメージを説明すると、「データの1つ1つの値を点としてプロットしたグラフ上で、それに近似(フィット)する直線を引くこと」と同じと言える(図2の左)(詳しくは後述)。ちなみに、非線形回帰Nonlinear regression)のイメージは「曲線を引くこと」と同じと言える(図2の右)。

図2 線形回帰と非線形回帰 図2 線形回帰と非線形回帰



マナブ:理解不納

「モデル」を説明的に丁寧に言うと「学習が済んだモデル」という理解でいいのかな?


藍:にっこり

まーそういうことだね。本来のモデルの意味は「入力を与えると、何らかの処理後の出力を返すもの」のことなんだけど、機械学習においては、アルゴリズムを活用して学習した結果として「出来上がったもの」がその「モデル」ということになる。なので例えば「サポートベクターマシン(SVM)」のアルゴリズムで学習したものは「SVMモデル」と呼ばれたりするね。


マナブ:にんまり

それでニューラルネットワークやディープラーニングでは「学習済みモデル」(もしくは「学習モデル」)と呼ぶんだよね?


藍:厳しく教える

そう。それ以外にも、その中身であるネットワークに着目して「ネットワークモデルNetwork model)」とも呼ばれることがあるね。ただし現実には、もっとルーズに「アルゴリズム」や「手法」のことも「モデル」と表現されることもあるから、そのあたりは文脈によって判断するしかないよ。

図3 アルゴリズムとモデル(ニューラルネットワーク手法による機械学習の場合) 図3 アルゴリズムとモデル(ニューラルネットワーク手法による機械学習の場合)


マナブ:質問

ところでスルーしてたけど、例に挙がった「線形回帰」の y=ax+b が、なんで学習したら y=2x−1 になるの?


藍:優しく教える

図4を見てみて。まず学習用のトレーニングデータTraining data訓練データ)をXY座標のグラフに点としてプロットしたとするわね。そのすべての点データに最も近似(フィット)する y=ax+b の線を引こうとすると、 ab のパラメーターがおのずと決まってくるでしょう? そうやって決まったのが y=2x−1 で、これがモデルになるの。ちなみに機械学習の課題はおおむね、この例のように「トレーニングデータに近似する線を引いてください」という問題に置き換えることができるの。

図4 機械学習の課題≒「トレーニングデータに近似する線を引いてください」という問題 図4 機械学習の課題≒「トレーニングデータに近似する線を引いてください」という問題


マナブ:目が点

ふ〜ん、分かったような、分からないような……


藍:あやしむ

では身近なもので例えてみようか。例えばジャンケンって、人によって癖があるよね。ある友達の癖を学習して、勝ちパターンの戦略モデルを構築することは、機械学習に近いのよ。具体的には、その友達が普段どういう手を出しているかを観察してデータを蓄積していけば、

「2回連続勝利する戦略=1回目はaの手+2回目はbの手

という計算式アルゴリズムにおける勝ちパターンの戦略モデルが見えてくるよね。例えば友達が「1回目はチョキ、2回目はグーを出すことが多い」という「データ」があれば、それに勝てるようなabを求めていくと、

「2回連続勝利する戦略=1回目はグー+2回目はパー

という勝ちパターンの戦略モデルが構築されるでしょう。こんな感じでモデルを構築していくのが機械学習における学習なんだよ。


マナブ:にっこり

確かにそういう戦略モデルを自分も立ててる! これは学習していっているということなんだね。

機械学習の学習と推論


藍:厳しく教える

学習したモデルは、実践で使うことになるよね。これに関しては以下のような用語があるので覚えておいてね。

  • 学習learning): モデルを「作る」こと
  • 推論inference): モデルを「使う」こと

マナブ:にんまり

OK。ジャンケンの過去データから勝ちパターンを学習して、実践では勝ちパターンによってジャンケンの次の手を推論する、というふうに言えばいいのかな?


藍:優しく教える

そんな感じ。推論はそれほど難しくないので、次回説明するね。今日は学習について、もう少し掘り下げていこう。

       1|2|3 次のページへ

Copyright© Digital Advantage Corp. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。