MLって何?わかりやすく解説

スマートフォンで買い物していると、さっき見た商品がオススメとして出てくる。YouTubeは自分の好きそうな動画を次々と提案してくる。なぜコンピュータって、自分の好みまで分かってるんだろう?その秘密が「ML」という技術にあるんだ。この記事を読めば、身の回りのテクノロジーが、どうやって自分たちを理解しているのかが分かるよ。

「ML」ってよく聞くけど、何ですか?何の略ですか?

いい質問だね。MLは「Machine Learning」の略で、つまり機械学習ということだよ。コンピュータが人間のようにデータから学んで、自分で判断や予測ができるようになる技術のことなんだ。
「人間のように学ぶ」ってどういう意味ですか?

例えば、君が友達の顔を覚えるでしょ。何回も会ってると、暗い場所でも「あ、〇〇だ」って分かる。それと同じことをコンピュータにやらせるんだ。大量の写真を見せて「これは猫、これは犬」って教えると、新しい写真を見たときに「これは猫だ」って判断できるようになるよ。これが学習だね。
なるほど。でも普通のプログラムとは何が違うんですか?

いいポイントだ。普通のプログラムは、プログラマーが「もしAなら〇〇をする、もしBなら××をする」って全部細かく指示を書くんだ。でもMLは違う。データをたくさん与えておくと、コンピュータ自分で「こうしたらうまくいくんじゃないかな」ってルールを見つけ出すんだよ。だからプログラマーがいちいち細かく書かなくていいんだ。
へえ、それだとすごく便利そう。でも何か難しいイメージがします。

確かに奥は深いけど、基本的な考え方は簡単だよ。データ→学習→判断、この3ステップだ。データがいっぱいあれば、MLはそこからパターンを見つけて、新しい状況でも「こうなるんじゃないかな」って予測できるようになる。つまり経験が増えるほど賢くなるってわけだね。
📝 3行でまとめると
  1. MLは機械学習で、コンピュータが自分でデータから学んで、判断や予測ができるようになる技術のことだよ。
  2. 普通のプログラムと違って、プログラマーが細かく指示を書く必要がなく、コンピュータ自身がルールを見つけ出すのが特徴だね。
  3. スマホのオススメ機能やYouTubeの推薦動画など、身の回りのテクノロジーで毎日活躍しているんだ。
目次

もうちょっと詳しく

MLの基本は「パターン認識」という考え方なんだ。つまり、大量のデータの中から「こういう時はこうなるんだな」っていう隠れたパターンを見つけ出すこと。君が野菜の値段と季節のデータをいっぱい見てると「夏は野菜が安くて、冬は高い」っていうパターンが見えるでしょ。MLも同じで、与えられたデータから似たようにパターンを見つけて、将来のことも予測できるようになるんだ。だから「経験を積むと賢くなる」なんて言い方もされるんだよ。

💡 ポイント
MLは「ルール」を人間が決めるんじゃなくて、データから自動で見つけ出すのが最大の違い。

⚠️ よくある勘違い

❌ 「MLって人工知能と同じでしょ?」
→ MLはAI(人工知能)の一種ではあるんだけど、AIはもっと広い概念。AIはロボットが人間みたいに考えることも含まれるけど、MLは「データから学ぶ」という特定の方法を指しているんだ。AIの方が親玉だと思ってもらえばいいよ。
⭕ 「MLはAIの子分で、データから学ぶ技術」
→ AIの中には、MLもあれば、ルールベースの判断とか、他の方法もある。MLはAIの中でも特に「データから自動的に学ぶ」スタイルだから、そこの違いを理解しておくといいよ。
なるほど〜、あーそういうことか!

[toc]

身の回りのMLは思ったより多い

MLが活躍してる場所って、もっともっと身近なんだ。スマートフォンのアプリが「あなたの好きそう」って判断するのもML。Amazonやユニクロのサイトで「あなたへのオススメ」って出てくるのもML。その仕組みは、君がどんな商品を見たのか、何を買ったのか、どのくらい時間をかけて見たのか、そういうデータをコンピュータが集めて分析するんだ。

例えば、君が「黒いスニーカー」を3回も見てるデータがあったら、コンピュータは「この人は黒いスニーカーに興味あるんだな」って学習する。そうするとメニュー画面に「黒いスニーカーの新商品が入りました」とか出てくるわけだね。これ、すごく便利だけど、実は君のデータが使われてるんだ。

他にも、YouTubeの動画推薦も同じ理屈。君がどんな動画を見たか、どのくらい最後まで見たか、そういう情報からMLが「この人はこっちの動画も好きだろう」って予測してくる。メールのスパム判定も実はML。スパムメールと普通のメールの特徴をコンピュータに学習させておくと、新しいメールが来たとき「これはスパムぽい」って自動で判断できるんだ。

スマートフォンの顔認識機能だって、個人認証のためにMLが使われてる。君の顔をコンピュータに学習させておくと、暗い場所でも斜めから見ても「これは〇〇の顔だ」って判定できる。翻訳機能、音声認識、天気予報だって、全部MLが活躍してるんだよ。だから「MLなんて難しい技術」だと思うかもしれないけど、実は毎日、君の生活の中で動いてるわけ。

データが多いほど賢くなる理由

MLが成長するには、データが必須なんだ。これを訓練データ(つまり、コンピュータに勉強させるために使うデータ)と言うんだけど、この量が多いほど、コンピュータはいろんなパターンを学べるんだよ。

例え話でいうと、君が「リンゴって何?」って質問されて、1個のリンゴを見て答えるのと、100個のリンゴを見て答えるのでは、後者の方が詳しく説明できるでしょ。「赤い、丸い、皮が厚い、甘い」みたいにいろんな特徴を思いつくじゃん。それと同じだね。

もっと具体的に説明すると、迷惑メール判定という例を使おう。迷惑メール判定のMLに「迷惑メール1万個」と「普通のメール1万個」を学習させた場合と、「迷惑メール100万個」と「普通のメール100万個」を学習させた場合、絶対に後者の方が判定精度が高くなるんだ。なぜなら、より多くの「迷惑メールの特徴」と「普通のメールの特徴」をコンピュータが理解できるから。

だけど、ここで気をつけないといけないことがある。データの質も大事だってことだ。100万個のメールでも、その中に間違ったラベルが大量にあったら(例えば、普通のメールを「迷惑メール」だと誤ってラベル付けしたとか)、MLはその間違ったデータから学んじゃう。だから「ゴミデータを100万個与える」より「きちんと整理された良いデータを10万個与える」方が、結果的に賢いAIができるんだよ。

MLが間違えることもある理由

「MLって完璧じゃん」って思う人もいるかもしれないけど、実は誤判定することもある。例えば、顔認識が別人だと判定しちゃったり、スパム判定が大事なメールを迷惑メール扱いしちゃったり、とか。なぜそういうことが起きるのかというと、MLは「データから見つけたパターン」で判断してるだけだからだ。

分かりやすく言うと、訓練データに「Aという特徴を持つ人は〇〇である確率が高い」っていうパターンが隠れてるとしよう。その時、新しいデータで「Aという特徴を持つ人」が出てきたら、MLは「これは〇〇だ」って判定する。だけど、実際には「Aという特徴を持つけど〇〇ではない」っていう例外ケースもあるわけだ。

むしろ、MLは「100%正しい判定をする」ものじゃなくて、「データから見つけたパターンを使って、ある程度の確度で判定する」ものだと思ってもらえばいいよ。「99%の精度で判定できる」みたいな言い方をされることもあるけど、つまりそういうことなんだ。だからMLを使うときは「100%信頼できるわけじゃない」ってことを頭の片隅に入れておくのが大事だね。

ちなみに、間違えを減らすために、いろんな工夫をしてるんだ。訓練データをもっと増やすとか、データの質を上げるとか、異なるMLのやり方を組み合わせてみるとか。でも最終的には「完璧なML」は存在しないってことを認識してるんだ。

MLの学習方法はいろいろある

MLにも種類がいろいろあるんだ。同じ「データから学ぶ」でも、その方法は複数あるんだよ。大きく分けると3つの方法がある。

1つ目が教師あり学習(つまり、「正解」を教えながら学習させる方法)。例えば、メール判定だったら「このメールはスパム、このメールは普通」って正解を教えながら学習させるんだ。君が野球を教える時に「ストレートはこう、カーブはこう」って見本を見せながら教えるのと同じだね。これが一番シンプルで、実務でもよく使われる。

2つ目が教師なし学習(つまり、「正解」を教えずに、データの中からパターンを見つけ出す方法)。これは「このデータたちは何かグループに分かれてそうだな」っていうパターンを勝手に見つけるんだ。例えば、客のデータを見て「Aグループはこういう買い物をしてる」「Bグループはこういう買い物をしてる」みたいに、人間が教えなくても自動分類するわけだ。正解を教えてないのに、自分でグループ分けするから「教師なし」って言うんだね。

3つ目が強化学習(つまり、「ご褒美」と「罰」を使いながら学習させる方法)。ゲームのAIとかロボットの動きなんかで使われる。例えば「このアクションをしたら得点が増えた」「このアクションをしたら得点が減った」みたいにやってたら、AIが「得点が増えるアクションをしよう」って学習するわけだ。子どもを褒めたり叱ったりして育てるのと似てるね。

どの方法を使うかは、解きたい問題によって変わる。スパム判定みたいに「これはスパム、これは違う」って既に正解がわかってる場合は教師あり学習。顧客の特徴を無理やり分類したいって場合は教師なし学習。ロボットにゲームをうまくプレイさせたい場合は強化学習。ちょうど野球で「バッティング練習が必要な時」「走塁練習が必要な時」「試合形式で実践練習が必要な時」って場面に応じて使い分けるみたいなもんだね。

MLのこれからと注意点

MLの技術はどんどん進化してて、これからもっともっと活躍する場面が増えると思う。医療の分野でも、MLを使ってレントゲン写真から病気を見つけ出したり、薬の開発を加速させたり、そういう使い方が始まってるんだ。自動運転だって、MLが核になってる技術だしね。

ただし、注意点もあるんだ。1つはプライバシーの問題。MLが君のデータを使って学習するわけだから、「君の情報がどう使われてるのか」ってことを意識しておく必要があるんだ。君の買い物履歴、動画の再生履歴、位置情報、全部がデータとして使われてるんだよ。だから「このアプリがデータを集めてていいのか」「安全に保管されてるのか」って考えることが大事だね。

もう1つはバイアスの問題。つまり「偏り」ってことだ。例えば、顔認識のMLが「男性の顔は認識しやすいけど、女性の顔は認識しにくい」とか「特定の人種の顔を間違えやすい」とか、そういう不公平が出ちゃうことがあるんだ。これは訓練データに偏りがあったり、データの量が不足してたりするせいなんだけど、MLを使う人たちが気をつけないと、知らないうちに差別的な判定をしちゃうんだよ。

だからMLは「便利な技術」なんだけど、「使う側が責任を持つ必要がある技術」でもあるんだ。君も大人になってもし関わる機会があったら、こういう問題のことを頭の片隅に入れておいてね。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

大人になってから「これ知らなかった…」と恥ずかしい思いをした経験から、このサイトを作りました。お金・仕事・社会のしくみって、学校で教えてくれないのに知らないと損することだらけ。むずかしい言葉を「あーそういうことか!」って思えるまでかみ砕いて説明するのが得意です。主に経済・法律・税金・ライフイベント周りの用語を毎日更新中。

目次