YouTubeを見ていたら「おすすめ動画」がどんどん自分好みになってたり、スマホのカメラが顔を自動で認識したり、「なんでコンピューターってこんなに賢いの?」って不思議に思ったことない?実はそれ、全部「機械学習」っていう技術のおかげなんだよ。「機械が学ぶ」って言葉を聞いてもなんとなくピンとこないよね。この記事を読めば、機械学習がどんな技術なのか、どうやって動いているのか、そして自分たちの生活のどこで使われているのかが、ちゃんとわかるようになるよ!
- 機械学習とは、大量のデータからコンピューターが自動で ルールやパターン を見つけ出す技術のこと
- 従来のプログラムと違い、人間がルールを書かなくても データさえあれば自分で学習 できる
- 機械学習は AI(人工知能) という大きな技術の枠に含まれる一つの手法で、ディープラーニングはさらにその中の手法
もうちょっと詳しく
機械学習の仕組みをもう少しだけ詳しく見てみると、大きく「学習」と「予測」の2つのステップに分かれているよ。学習ステップでは、大量のデータ(これを「訓練データ」という)をコンピューターに見せて、データの中にある法則を探させる。例えば「スパム(迷惑)メール1000通」と「普通のメール1000通」を見せると、コンピューターは「こういう言葉の組み合わせがスパムっぽい」という特徴を自分で学んでいく。次に予測ステップでは、新しいメールが届いたとき、学習した知識を使って「これはスパムか?普通のメールか?」を判断できるようになるんだ。データが増えれば増えるほど判断の精度が上がっていくのが機械学習の面白いところだよ。
「学習」と「予測」の2ステップが機械学習の基本!データが多いほど賢くなる。
⚠️ よくある勘違い
→ 実際には、良質なデータを大量に集めることや、何を学ばせるかの設計は人間がやらないといけない。データが偏っていると判断も偏ってしまうよ。
→ コンピューターが自動でやってくれるのは「パターン発見」の部分だけ。どんなデータを使うか、何を予測させるかは人間が決める必要があるんだよ。
[toc]
機械学習とは何か?「経験から学ぶプログラム」のこと
コンピューターが自分でルールを作るってどういうこと?
機械学習を一言で表すなら「経験から学ぶプログラム」だよ。人間も、自転車の乗り方を本で読んで覚えるよりも、実際に何度も転びながら体で覚えるほうが早いよね。機械学習も同じで、コンピューターにたくさんの「経験(=データ)」を積ませることで、自分でルールを発見させる仕組みなんだ。
例えば、「猫か犬かを判定するプログラム」を作りたいとするよ。普通のプログラミングで作ろうとすると、「耳が尖っていて、ひげがあって、目がこういう形なら猫」「鼻がこの大きさで、耳がこういう形なら犬」みたいに、すべての特徴を人間が考えて書かないといけない。でも実際の動物の写真には無限のバリエーションがあるから、人間がすべてのパターンを書ききるのはほぼ不可能なんだよ。
そこで機械学習の出番。猫の写真5000枚・犬の写真5000枚を見せると、コンピューターが「これが猫の特徴のパターンだ」「これが犬の特徴のパターンだ」って自分で見つけ出せるようになるんだ。人間には気づけないような細かい特徴まで学習できるのが、機械学習のすごいところだよ。
機械学習が登場する前はどうしていたの?
機械学習が普及する前のプログラムは「エキスパートシステム」と呼ばれる方法が主流だったんだ。つまり、その分野の専門家(エキスパート)が知っているルールをすべてプログラムに書き込む方式だよ。例えば医療診断システムなら、お医者さんが知っているすべての「症状→病名」のルールを一つひとつ手で入力していた。でもこの方法には限界があって、「ルールが複雑すぎる問題」や「ルール自体が変わり続ける問題」には対応できなかったんだよね。機械学習はその壁を打ち破った技術なんだ。
機械学習の仕組み〜どうやって「学ぶ」の?
学習はデータを食べてパターンを探すこと
機械学習の学習プロセスは、大きく3ステップで進むよ。
- ステップ1:データを集める まず、学習に使う大量のデータを用意する。メール判定なら「スパムメール」「普通のメール」をそれぞれ何千通も集める。
- ステップ2:モデルが学習する 「モデル」とは機械学習のプログラム本体のこと。つまり「学習するプログラムの箱」だよ。このモデルにデータを大量に食べさせると、データの中にあるパターンや法則を内部に記録していく。
- ステップ3:精度を確認する 学習が終わったら、まだ見たことのないデータを使ってテストする。「見たことないメールを見せても正しく判定できる?」って確認するんだよ。このテスト用データを「テストデータ」と呼ぶよ。
このサイクルを繰り返しながら、モデルはどんどん賢くなっていくんだ。
「過学習」という落とし穴
機械学習には「過学習(かがくしゅう)」という失敗パターンがあるよ。つまり「練習問題を丸暗記しすぎて、初めて見る問題が解けない状態」ということだよ。テスト勉強で過去問の答えだけ暗記して、少し違う形式の問題が出たら解けなくなる状態と同じだね。これを防ぐために、学習に使うデータとテストに使うデータを分けておくことが大切なんだよ。
毎日使ってる!身近な機械学習の例
スマホの中に機械学習がいっぱいある
スマートフォンの中には、実はたくさんの機械学習が動いているんだよ。
- 顔認証ロック:何万枚もの顔写真データで学習して、「この顔の持ち主だけロックを解除する」を判断している
- カメラの被写体認識:「これは犬だ」「これは食べ物だ」と自動でタグ付けしてくれる機能も機械学習のおかげ
- 文字入力の予測:「おはよ」と打つと「おはようございます」が候補に出てくるのも、過去の入力データを学習しているからだよ
- 音声認識(SiriやGoogleアシスタント):人間の話し声の波形データから「何を言ったか」を学習して認識している
インターネットサービスでも大活躍
インターネットを使うサービスでも機械学習はフル活用されてるよ。
- YouTubeのおすすめ動画:あなたが過去に見た動画・長く見た動画・スキップした動画のデータから「次に好きそうな動画」を予測している
- Amazonの「これもおすすめ」:同じ商品を買ったほかのユーザーのデータから、「この人が買いそうな商品」を予測している
- Gmailの迷惑メールフィルター:何百万通もの迷惑メールのパターンを学習して、自動で仕分けしてくれている
- クレジットカードの不正利用検知:普段とは違う使い方を検知して「これは本人じゃないかも?」と判断するのも機械学習だよ
機械学習には3つの種類がある
教師あり学習〜正解を教えながら学ぶ
教師あり学習とは、「正解ラベルがついたデータ」を使って学習する方法のことだよ。つまり「これは猫(正解)」「これは犬(正解)」と正解を教えながら学ばせるということだよ。学校の先生が丸付けをしながら教えるのと同じイメージだよね。
メールのスパム判定(スパム/普通)、病気の診断(陽性/陰性)、家の値段予測(広さ・場所→価格)などが代表的な例だよ。「入力データ」と「正解の答え」のセットをたくさん用意する必要があるんだ。
教師なし学習〜正解なしで自分でグループ分け
教師なし学習とは、正解ラベルなしでデータの中のパターンや似たもの同士をグループにまとめる方法のことだよ。つまり「正解を教えてもらわなくても自分でグループを見つける」ということだよ。
例えば、お店の顧客データを「よく買う人グループ」「たまに買う人グループ」「ほとんど買わないグループ」みたいに自動で分類する、クラスタリングがその代表例だよ。「何グループに分かれるか」を事前に決めなくていい場合もあるのが面白いところだよ。
強化学習〜試行錯誤で上手くなる
強化学習とは、「行動→結果(報酬 or 罰)→次の行動」を繰り返しながら学ぶ方法のことだよ。つまり「うまくいったら褒められ、失敗したら罰を受けながら、自分で最善の行動を学ぶ」ということだよ。ゲームで何度も挑戦しながら攻略パターンを覚えていく感じに似てるよね。
チェスや囲碁のAI、ロボットの歩行制御、自動運転の判断システムなどに使われているよ。AlphaGoという囲碁AIが世界チャンピオンに勝ったのも、この強化学習の技術のおかげなんだよ。
機械学習とAI・ディープラーニングの関係を整理しよう
AIという大きな枠の中に機械学習がある
この3つの言葉はよく混同されるんだけど、実は「入れ子構造」になっているんだよ。
- AI(人工知能):コンピューターが人間のように知的な動作をする技術全般のこと。ルールベースのチェスプログラムも、機械学習を使った翻訳サービスも、どちらもAIと呼べる。
- 機械学習:AIを実現するための一つの方法。データからパターンを学習させるアプローチ全般のこと。
- ディープラーニング(深層学習):機械学習の中でも特に強力な一手法。人間の脳の神経回路をヒントにした「ニューラルネットワーク」を多層に積み重ねた構造を使う。画像認識や自然言語処理で特に威力を発揮するよ。
なぜ今、機械学習がこんなに注目されているの?
機械学習の考え方自体は1950年代から存在していたんだけど、最近になって爆発的に発展した理由が3つあるよ。
まずデータ量の爆増。スマホやSNSの普及で、人類が作り出すデータの量が信じられないくらい増えた。機械学習はデータが多いほど賢くなるので、これが一番大きな追い風だよ。次にコンピューターの性能向上。特に画像処理用のGPUというチップが、機械学習の大量計算に向いていることがわかって、学習のスピードが劇的に上がった。最後にアルゴリズムの進化。ディープラーニングをはじめとする新しい学習手法が次々と開発されて、精度が飛躍的に上がったんだよ。この3つが揃ったことで、今の機械学習ブームが起きているんだ。
機械学習はまだまだ発展途上の技術で、これからもどんどん新しい応用が生まれてくるよ。自分たちが大人になったころには、今より何倍も賢いAIが当たり前のように使われている世界になっているかもしれないよね。そんな時代に向けて、機械学習の基本を知っておくのはすごく大事なことだよ!
