概要
courseraのオンライン学習を終えて、機械学習の入り口に立ったもののいざ説明しようとすると段取りつけて進めるのが難しいことがわかりました。
そこで自分なりの理解をまとめ、聞かれそうなところひっかかりそうなところから全体を説明できるようになりたいと思い、この記事を作成しました。
ターゲットはIT業界の新人で、単語くらいは聞いたことあるみたいな人です。
ただ私の解釈ベースで記載しているので間違いがある可能性が高いです。
もし間違いにお気づきになった方はご指摘いただけると助かります。
参考記事
- coursera Machine Learning講座
- 数学の苦手なバイオの学生がCourseraの機械学習コースを修了して気づいたこと
- 機械学習の情報を手法を中心にざっくり整理
- 人工知能、機械学習、ディープラーニングを昔の自分でもすぐに理解できるように整理してみた
聞かれる質問を想定
学習内容はまだまだ腹落ちしていないので後でまとめるとして、
前知識の無い人(=ニュースで単語は知ってるくらい)がひっかかりそうなところをまとめます。
- 機械学習って何?
- AIのこと?
- あ、ディープランニングとかニューラルネットワークとか?
- なんか顔認証とかできるんですよね?
- とにかくデータがたくさん必要なんですよね??
- 準備するのにどれくらい(お金、期間が)かかるんです?
- ディープランニング?を使うと自動運転ができるんですか?
※適宜追記予定
回答を吟味
1. 機械学習って何?
プログラムのように人がロジックを決めるのとは違い、入力データによって機械的に規則を見出す手法です。
機械学習ではない例ですが、下記だといとも簡単に規則(答えを導く式)を算出できます。
この一見規則性がない中から規則性を見つけるのが機械学習です。
※下図の式は適当です。
2. AIのこと?
AIとはなんであるか、からのスタートになるのでその話は割愛します。
(明確な定義がされていないため)
機械学習との関係性のみでいうならば、AIを実現するための手段の一つとなります。
別の例で例えると、
カレーライスを食べたい!と思った時に「お店で食べる」「自分で作る」「お店で買って食べる」といくつかの手段で実現することができます。
AIを「カレーライスを食べること」、
機械学習を「自分で作る」と置き換えてみて下さい。
3. ディープランニングとかニューラルネットワークとか?
ディープランニングおよびニューラルネットワークは機械学習の実装方式の一つです。
ニューラルネットワークをもっと高度?にしたものがディープランニングと私は解釈しているので、図に表すと下記になります。
機械学習 -> ニューラルネットワーク -> ディープランニング
またまた別の例で例えると、
カレーライスを食べたい!と思って「自分で作る」ことにしました。
「市販のカレールー」を使って作ることもできますが、より本格的に「小麦粉とカレー粉からルー作る」ことにしました。
機械学習を「自分で作る」、
ニューラルネットワークを「市販のカレールー」、ディープランニングを「小麦粉とカレー粉からルーを作る」と置き換えてみて下さい。
4. 顔認証とか?
そうです。顔認証は機械学習で実現できます。
ただ顔認証の実現についてもいくつか種類があります。
- ある画像について「顔があるか」を確認するもの
- ある画像についてあらかじめ登録してある顔と一致しているか確認するもの
- その両方(画像から顔を取り出して登録情報と一致するか)を確認するもの
ポイントとしては、正解となる顔画像が必要になるということです。
※いわゆる「教師あり学習」に相当します。
なので、
「この部屋に出入りする人で事前に登録してある人を判別してくれ」
はできますが、
「(怪しい人のデータが無い状態で)怪しい人を判別してくれ」
はできません。
怪しいとはこういう画像、があれば大丈夫です。
(もしくは正解画像以外を怪しい人、とみなすなど)
5. とにかくデータがたくさん必要?
そうですね、意味のあるデータがたくさん必要です。
ここでいう「意味のある」とは「結果に結び付くもの」を指します。
例えば最初の例でりんごを買った時の値段を出したいのであれば、
りんごの個数と支払った金額(値段)が必要です。
これが「意味のあるデータ」です。
では「意味の無いデータ」とはなんでしょう。
例えばりんごの色は濃いか薄いか、重さはどれくらいか、その日の天気は?といったものです。
基本的には値段に影響しないデータです。これはいくら数があってもあまり役立ちません。
それどころか精度が低くなる恐れがあります。
ただ一見関係なさそうでも
時期、つまり旬かどうかであれば値段が変わってくるかもしません。
または実は月に1回セール日があるとかだったらどうか?
など考えられる要素は無数にあります。
実はこの「どの要素を使って学習させるのか」が機械学習では
非常に重要な作業となります。
6. いくらかかる?
機械学習をしてみる、というだけなら無料で環境を用意できます。Octaveなど。
業務利用についてはやりたいことによるので明言は難しいですが、
いずれにせよ学習コストは結構かかります。
coursera Machine Learning講座であれば3ヶ月で学習可能ですが、理解して業務利用するためには更に学習が必要です。
ですので、少なくとも数週間から数ヶ月学習ないし準備に時間が掛かるつもりで取り掛かりましょう。
ちなみに私がイメージする学習モデル構築スケジュールを貼り付けておきます。
(不備、誤りありましたらご指摘ください)
7. ディープランニングで自動運転?
自動運転技術にディープランニングが使われているか、という意味であればその通りです。
ただ僕も私も自動運転ができる!というニュアンスだとちょっと違います。
それは例えば
「調理器具と材料さえあれば三ツ星レストランと同じ味のカレーが作れる!」
といっていることとと同じです。
関連する技術、考え方がわかっても
この場合、パラメータのチューニングやデータ収集など必要なことはたくさんあります。
感想
最初は「業務利用時に聞かれそうなQAまとめ」というタイトルでしたが
気がつくと「なんとなく分かったつもりの機械学習まとめ」になっていました。
やはりアウトプットすると理解度が分かってよいですね。
見返すと「で、結局どうなの?」に答えられていないので
その辺り知識の補完をしていきたいと思います。