🧠 はじめに
最近よく耳にする「機械学習」「深層学習」。
でも、Webエンジニアとしてシステムを組んでいると、
「結局どこで使われるの?」「DB参照と何が違うの?」と疑問に思うこともあります。
今回の記事では、
paizaの生成AIアプリ開発講座
で学んだ内容をもとに、Web開発の流れ(MVC・HTTP)に沿って、機械学習の“動き”を直感的に理解できるよう整理しました。
🧩 まずは通常のWebアプリの流れをおさらい
ふつうのWebアプリ(例:在庫検索システム)では、
ユーザーが入力したデータに対して、こう動きます。
┌────────────┐
│ ユーザー入力 │
└──────┬─────┘
↓
┌────────────┐
│ Controller │(入力を受け取る)
└──────┬─────┘
↓
┌────────────┐
│ Model │(DBから検索)
└──────┬─────┘
↓
┌────────────┐
│ View │(結果を表示)
└────────────┘
ここでは「ルール」はすべて人間が設計しています。
たとえば「店舗名で検索」「在庫数が0なら非表示」など、
条件分岐やSQLのWHERE句で明示的に書かれているわけです。
🤖 機械学習を入れると、何が変わるのか?
機械学習を導入したシステムでは、
この “Model” の部分が「学習済みモデル」に置き換わります。
┌────────────┐
│ ユーザー入力 │
└──────┬─────┘
↓
┌────────────┐
│ Controller │(入力を渡す)
└──────┬─────┘
↓
┌───────────────────────┐
│ AIモデル(学習済) │
│ 「傾向」から結果を“予測”する │
└──────┬────────────────┘
↓
┌────────────┐
│ View │(出力を表示)
└────────────┘
違いは、「データベースから引っ張る」ではなく、
データの傾向から“予測して答えを出す” こと。
たとえば、
「よく注文される店舗」「頻繁に買う商品」をモデルが学び、
次回の検索ではユーザーが入力する前に候補を提示できるようになります。
これが、いわゆる「予測システム」=機械学習の応用例です。
🔍 “学習する”とは、どういうこと?
学習とは、「データを分析してルールを自分で作る」こと。
これを数値的に行うのが**モデル(Model)**です。
モデルはたくさんのデータを見ながら、
「どの特徴がどれくらい重要か(=重み)」を調整していきます。
例)商品購入の要因
・価格(重み 0.6)
・人気度(重み 0.3)
・季節性(重み 0.1)
このように「重み」を調整しながら、
入力 → 出力の関係を最適化するのが「学習」です。
📘 学習の種類(3つのタイプ)
| 学習タイプ | 概要 | 例 |
|---|---|---|
| 教師あり学習 | 正解ラベル付きのデータをもとに学ぶ | 「この画像は犬/猫」など分類 |
| 教師なし学習 | 正解なしでデータ構造を見つける | 顧客層を自動的にグループ化 |
| 強化学習 | 試行錯誤しながら最適行動を学ぶ | ゲームAIやロボット制御 |
あなたのように「店舗や商品の利用傾向を学習させたい」場合は、
教師あり学習が適しています。
🧠 機械学習と深層学習の関係
機械学習は「ルールを自動で見つける」技術。
その中で、さらに進化したのが**深層学習(Deep Learning)**です。
| 観点 | 機械学習 | 深層学習 |
|---|---|---|
| 特徴抽出 | 人が特徴を設計する | モデルが自動で特徴を抽出 |
| 構造 | 単層(シンプルなモデル) | 多層(ニューラルネットワーク) |
| データ量 | 少量でもOK | 大量データが必要 |
| 代表例 | スパム判定、レコメンド | 音声認識、画像生成、LLMなど |
深層学習では、モデルが「特徴量」を自動で学び取るため、
画像・音声・自然言語など非構造化データの理解にも対応できるようになりました。
🌐 HTTPの流れで見た「AIの呼び出し位置」
WebアプリでAIを使うときは、主にこの3パターンがあります。
① ユーザー → Controller → LLM(API) → Controller → View (非保存型)
② ユーザー → Controller → LLM(API) → DB保存 → View (結果保存型)
③ ユーザー → Controller → DB参照 → LLM(API) → View (RAG構成)
このとき、自社でモデルを持たない場合は
OpenAIやPaizaなどのAPIを呼び出す形で利用します。
つまり、
- LLMは「頭脳」
- 自分のDBは「記憶」
- Controllerは「仲介役」
という関係です。
🔐 安全なやり取りを支えるMCPサーバー
LLMを直接呼び出すのではなく、
MCPサーバー(Model Context Protocol) を経由することで安全性が担保されます。
- 社内DBや認証情報を直接送らない
- ログ監査・アクセス制御が可能
- APIリクエストの制御ポイントを一本化できる
つまり、MCPサーバーは
「AIとシステムをつなぐ安全なゲートウェイ」と言えます。
🧱 まとめ
| 用語 | 意味 |
|---|---|
| 機械学習 | データから規則性を学ぶ技術 |
| 深層学習 | 機械学習の進化版。特徴を自動抽出 |
| モデル | 入力→出力の関係を学んだ数値構造 |
| 重み | 各特徴の重要度を示すパラメータ |
| 教師あり学習 | 正解データから学ぶ手法 |
| MCPサーバー | LLMと安全に通信するための仲介層 |
✍️ おわりに
「機械学習」は、魔法のような仕組みではなく、
“データからルールを見つける仕組み” です。
Web開発者が理解すると、
「データベース参照」や「条件分岐」だけでは実現できない体験を設計できるようになります。