「AIが画像を見分けた」
「AIがおすすめの商品を選んだ」
「AIが文章を書いた」
最近は、さまざまな場面でAIという言葉を見かけるようになりました。
そのAIを支えている重要な技術の一つが、「機械学習」です。
機械学習では、人間がすべての判断ルールを一つずつプログラムするのではなく、データを使って、コンピューターが予測や分類に役立つパターンを利用できるようにします。
ただし、ここでいう「学習」は、人間が勉強して意味を理解することとは少し違います。
では、コンピューターはいったい何を「学んで」いるのでしょうか。
機械学習の基本的な仕組みを、身近な例から見ていきましょう。
この記事では、機械学習について次の点を整理します。
- 機械学習とは何か
- AI・機械学習・ディープラーニングの違い
- 「データから学ぶ」とはどういうことか
- 学習と推論の違い
- 教師あり学習・教師なし学習・強化学習の違い
- 生成AIと機械学習の関係
機械学習とは?
機械学習(Machine Learning、ML)は、データを使ってコンピューターのモデルを訓練し、予測や分類などができるようにする技術です。
たとえば、大量のメールから迷惑メールを見分けたいとします。
従来のプログラムなら、
「この言葉が入っていたら迷惑メール」
「この送信元なら迷惑メール」
といったルールを、人間が一つずつ決める方法が考えられます。
しかし、実際のメールにはさまざまな表現があります。
すべてのパターンを人間があらかじめ書き出すのは簡単ではありません。
そこで機械学習では、
- 迷惑メールだったメール
- 迷惑メールではなかったメール
といったデータを使い、「どのような特徴が迷惑メールと関係しているのか」をモデルが捉えられるようにします。
そして、新しいメールが届いたときに、
「これは迷惑メールである可能性が高い」
と予測できるようにします。
AIと機械学習は同じもの?
「AI」と「機械学習」は、同じような意味で使われることがありますが、厳密には少し違います。
AI(人工知能)は、人間の知的な働きに似た処理をコンピューターで実現しようとする、より広い分野です。
機械学習は、そのAIを実現するために使われる方法の一つです。
大まかには、
AI
└ 機械学習
└ ディープラーニング
という関係で考えると分かりやすいでしょう。
ディープラーニング(深層学習)は機械学習の一分野です。「ニューラルネットワーク」と呼ばれる仕組みを多層化し、大量のデータから複雑な特徴を捉えられるようにします。
現在の画像認識や音声認識、生成AIなどでも、機械学習やディープラーニングの技術が広く使われています。
| 用語 | 意味 | 例 |
|---|---|---|
| AI | 人間の知的な働きに似た処理をコンピューターで実現しようとする広い分野 | 画像認識、音声認識、文章生成、ロボット制御 |
| 機械学習 | データを使ってモデルを訓練し、予測や分類に使えるようにする方法 | 迷惑メール判定、商品推薦、需要予測 |
| ディープラーニング | 多層のニューラルネットワークを使う機械学習の一分野 | 画像認識、音声認識、大規模言語モデル |
| 生成AI | 学習したパターンをもとに、新しい文章・画像・音声などを生成するAI | チャットAI、画像生成AI |
「データから学ぶ」ってどういうこと?
ここが、機械学習で最も分かりにくい部分かもしれません。
「コンピューターが学習する」と聞くと、人間のように画像を眺めながら、
「なるほど、これが猫なのか」
と理解している姿を想像するかもしれません。
実際には、もう少し数学的な処理です。
機械学習にはいくつかの学び方がありますが、ここでは仕組みを理解しやすい「教師あり学習」を例に見てみましょう。
猫と犬の画像を見分けるモデルを作るとします。
まず、たくさんの猫と犬の画像を用意します。
そしてモデルに画像を入力し、
「これは猫」
「これは犬」
という正解も与えます。
最初のモデルは、うまく判断できないかもしれません。
そこで、
モデルの予測と正解が、どれくらい違っていたのか
を計算します。
その差が小さくなるようにモデル内部の数値を調整し、もう一度予測します。
こうした処理を繰り返し、正しい予測を出しやすい状態へ近づけていきます。
つまり、教師あり学習でいう「学ぶ」とは、
データを使って、予測に使う数学的な関係や数値を調整していくこと
だと考えると分かりやすいでしょう。
「学習」と「推論」は何が違う?
一般的な機械学習の利用では、「学習」と「推論」という二つの段階を考えると分かりやすくなります。
一つ目が学習(トレーニング)です。
データを使い、モデル内部の数値を調整していきます。
もう一つが推論です。
学習を終えたモデルへ新しいデータを入力し、実際に予測や分類などを行います。
猫と犬を見分ける場合なら、
大量の画像を使って学習する
↓
猫と犬を見分けるモデルができる
↓
初めて見る画像を入力する
↓
「猫の可能性が高い」と予測する
という流れです。
大切なのは、学習に使った画像を覚えて答えているだけでは不十分ということです。
初めて見るデータについても、ある程度正しく判断できなければ役に立ちません。
機械学習にはいくつかの学び方がある
機械学習には、目的やデータの与え方によっていくつかの方法があります。
代表的なのが、「教師あり学習」「教師なし学習」「強化学習」です。
教師あり学習
教師あり学習では、問題と正解をセットにしたデータを使います。
先ほどの、
「この画像は猫」
「この画像は犬」
という例がこれです。
過去の住宅データから価格を予測したり、メールを迷惑メールかどうか分類したりするような問題にも利用できます。
答え付きの問題集を使って練習するイメージに近い方法です。
教師なし学習
教師なし学習では、あらかじめ正解を与えません。
代わりに、データの中にある似たもの同士の集まりや、隠れたパターンを探します。
たとえば大量の顧客データから、
「似た行動をする人たちがいくつかのグループに分かれている」
といった特徴を見つける方法です。
人間が先に答えを決めるのではなく、ラベルのないデータからパターンを見つけるのが特徴です。
強化学習
強化学習では、AIがある環境の中で行動し、その結果に応じて報酬を受け取ります。
そして、目の前の一回の報酬だけではなく、将来も含めてより多くの報酬を得られる行動の選び方を学んでいきます。
ゲームのプレイや、ロボットの制御などの研究で使われています。
| 学習方法 | 使うデータ・仕組み | 得意なこと | 身近な例 |
|---|---|---|---|
| 教師あり学習 | 正解付きのデータを使う | 分類・予測 | 迷惑メール判定、画像分類、価格予測 |
| 教師なし学習 | 正解ラベルのないデータからパターンを探す | グループ分け、特徴発見 | 顧客の分類、似たデータの整理 |
| 強化学習 | 行動の結果として報酬を受け取る | 行動選択、制御 | ゲームAI、ロボット制御 |
| 自己教師あり学習 | データそのものから学習用の課題を作る | 大量データからの事前学習 | 大規模言語モデル |
機械学習なら何でも分かるようになる?
ここで注意したいのが、
「大量のデータを与えれば、AIが何でも正しく理解できるようになる」
わけではないという点です。
機械学習の性能は、学習に使うデータに大きく左右されます。
学習データに偏りがあれば、その偏りをモデルが反映してしまうこともあります。
また、学習用データに合わせすぎた結果、新しいデータではうまく予測できなくなる場合があります。
これを「過学習(オーバーフィッティング)」と呼びます。
機械学習で重要なのは、学習に使ったデータで良い成績を出すことだけではありません。
これまで見たことのないデータにも、うまく対応できることです。
この能力は「汎化」と呼ばれます。
なぜ機械学習が必要なの?
では、なぜ人間が普通のプログラムを書くだけではなく、データから学ばせる必要があるのでしょうか。
大きな理由の一つが、人間がすべての判断ルールを書くのが難しい問題があるからです。
たとえば私たちは、写真を見れば猫か犬かをかなり簡単に判断できます。
しかし、
「猫を見分けるルールをすべて文章にしてください」
と言われると難しくなります。
耳の形、目、毛、体格、姿勢など、多くの特徴が関係します。
撮影する角度や明るさによって見え方も変わります。
こうした複雑な問題では、人間が細かなルールを一つずつ作る代わりに、実例となるデータからパターンを学ばせる機械学習が力を発揮します。
機械学習が実際の研究でどのように使われるのかは、関連記事「機械学習でトマトの成長を助ける「微生物チーム」を設計」でも紹介しています。
生成AIも機械学習なの?
現在広く使われている文章や画像の生成AIの多くにも、機械学習、とくにディープラーニングの技術が使われています。
生成AIは、大量の文章や画像などからデータのパターンを学習し、それをもとに新しい文章や画像などを生成します。
ChatGPTのような大規模言語モデルを理解するうえでは、「自己教師あり学習」も重要です。
これは、人間が一つずつ正解ラベルを用意しなくても、データそのものから学習用の課題を作る方法です。
たとえば文章の一部を使って、
「この続きには、どのような言葉が来る可能性が高いか」
を予測するような学習を大量に行うことができます。
ただし、
「大量の文章を学習した=人間と同じように内容を理解している」
とは限りません。
生成AIは学習したデータから得たパターンをもとに出力を作りますが、その仕組み自体が回答の事実性を保証しているわけではありません。
そのため、もっともらしい文章が生成されても、内容が正しいとは限らない場合があります。
生成AIを利用するときに、重要な情報を確認する必要があるのもこのためです。
生成AIやロボットとAIの違いについては、関連記事「フィジカルAIとは?生成AIとの違いをわかりやすく解説」でも紹介しています。
機械学習は「データからパターンを利用できるようにする」技術
機械学習という言葉には、「コンピューターが自分で勉強して賢くなる」という少し不思議な印象があります。
しかし実際には、魔法のような仕組みではありません。
たとえば教師あり学習では、
予測する
↓
正解との差を確認する
↓
モデル内部の数値を調整する
↓
もう一度予測する
という処理を繰り返し、データに含まれるパターンを予測に利用できるモデルを作っていきます。
そして重要なのは、学習したデータだけに対応することではなく、初めて見るデータにも対応できることです。
画像認識、音声認識、おすすめ機能、予測、そして生成AI。
現在「AI」と呼ばれている多くの技術の裏側では、こうした機械学習の考え方が使われています。
AIのニュースを見たとき、
「このAIは、どんなデータを使って、何を学習しているのだろう?」
と考えてみると、その技術が何をしているのかを理解しやすくなるかもしれません。
