解説
さらに詳しく解説
学習(Training)は、AIモデルが大量のデータからパターン・知識・能力を獲得していくプロセスです。データを与え、誤差を測り、パラメータ(重み)を少しずつ更新する、という基本ループの繰り返しによって行われます。AI開発の中心的な工程です。
学習の基本ループ
1. データを入力
2. モデルが予測を出す
3. 正解との誤差(損失)を計算
4. 損失を減らす方向に重みを更新
5. データを変えて1.に戻るこれを数百万〜数兆回繰り返すことで、モデルは賢くなっていきます。
学習の種類
| 種類 | 特徴 | 例 |
|---|---|---|
| 教師あり学習 | 正解ラベル付きデータ | 画像分類、翻訳 |
| 教師なし学習 | ラベルなしデータ | クラスタリング、表現学習 |
| 自己教師あり学習 | データ自体から教師信号を作る | LLMの事前学習 |
| 強化学習 | 報酬を最大化 | ゲームAI、ロボット制御 |
| 半教師あり学習 | 一部だけラベル付き | 医療画像など |
学習の段階
1. 事前学習(Pre-training)
大規模なデータで汎用的な能力を獲得する基礎工程。LLMでは最も計算コストが大きいフェーズで、計算予算の80〜95%を占めます。
2. ファインチューニング(Fine-tuning)
特定タスクや業務に合わせて追加学習。事前学習モデルを土台にするため、必要なデータと計算量は大幅に少なくて済みます。
3. 強化学習(RLHF など)
人間のフィードバックを反映してモデルの応答を整える調整工程。
学習に必要な要素
| 要素 | 内容 |
|---|---|
| データ | 学習素材(テキスト・画像など) |
| モデル | アーキテクチャ(Transformer等) |
| 損失関数 | 誤差の測り方 |
| 最適化アルゴリズム | 重み更新の方法(Adamなど) |
| 計算資源 | GPU/TPU、メモリ |
| 時間 | 数時間〜数か月 |
主な最適化手法
- SGD:確率的勾配降下法(基本)
- Adam / AdamW:適応的学習率(現代の標準)
- 学習率スケジューラ:学習進行に合わせて学習率を調整
学習中によく起きる問題
| 問題 | 内容 | 対策 |
|---|---|---|
| 過学習 | 訓練データに合いすぎる | 正則化、ドロップアウト |
| 学習停滞 | 損失が下がらない | 学習率調整、データ確認 |
| 勾配消失/爆発 | 勾配が極端な値に | 正規化、勾配クリッピング |
| モード崩壊 | 多様性喪失 | 損失設計、データ拡張 |
学習コストの規模感
- 小規模実験:1台のGPUで数時間〜数日
- 中規模モデル:数十枚のGPUで数週間
- フロンティアLLM:数千〜数万のGPUで数か月、コストは数百〜数千億円規模
学習と推論の違い
| 観点 | 学習 | 推論 |
|---|---|---|
| 何をする | パラメータ更新 | 重みを使って予測 |
| 計算量 | 大きい | 小さい |
| 頻度 | 開発時のみ | 利用ごと |
| 必要GPU | 多数 | 少数〜0(CPU可) |
実務での選択
企業のAI導入では、以下の判断が必要です。
- 自社で学習する → コスト・人材・データが必要
- **APIで使う** → 学習済みモデルを利用、低コスト
- **ファインチューニング** → 中間的な選択肢
- **RAG** → 学習せず知識を後付け
学習は「AIに能力を持たせる」最も根本的なプロセスで、AI開発の質と方向性を決定する最重要工程です。

