1行定義
オンライン学習とは、データを1件ずつ使い、受け取るたびに勾配を求めて重みを更新していく学習方法のことです。
くわしく
オンライン学習は、データを1件受け取るたびに、そのデータだけで勾配を求めて重みを更新する学習方法です。逐次学習とも呼ばれます。インターネットを通じて授業を受ける学び方(eラーニング)とは別の意味です。
バッチ学習・ミニバッチ学習との違い
1回の更新に使うデータの量で、学習方法は3つに分かれます。
- バッチ学習:訓練データ全件で勾配を求め、1回更新します。
- ミニバッチ学習:数十〜数百件ずつまとめて更新します。
- オンライン学習:1件ずつ更新します。バッチサイズ1のミニバッチ学習ともいえます。
訓練データが2,000件なら、1エポックの更新回数は、オンライン学習で2,000回、バッチ学習で1回です。
なお、1件ずつ使う方法のうち、決まった訓練データを何周も使うものを「確率的」、次々に生まれるデータの流れから学ぶものを「オンライン」と呼び分ける説明もあります。
長所
1件ごとの計算は軽く、全データを一度にメモリに載せる必要がありません。また、新しいデータが届くたびにモデルを更新できます。ECサイトの閲覧履歴や、センサーから届き続けるデータのように、データが次々に生まれる場面に向いています。全データを集め直して学習し直すより、変化に素早く追従できます。
短所と注意点
1件ごとの勾配はばらつきが大きく、更新の向きがぶれます。損失は上下しながら下がっていきます。
運用中のモデルを更新し続ける場合は、別の注意も必要です。誤ったデータや悪意のあるデータが続けて入ると、性能が急に下がるおそれがあります。悪意のあるデータを混ぜて性能を落とす攻撃は、データポイズニングと呼ばれます。新しいデータに合わせるうちに、以前に学んだ傾向を忘れてしまうこともあります。そのため、更新後の性能を監視し、問題があれば前のモデルに戻せる仕組みを用意します。
覚え方
「オンラインは1件ずつ、届いたらすぐ更新」と覚えます。
G検定での出題
出題のされ方
データを1件ずつ使って更新するしくみ、バッチ学習やミニバッチ学習との違い、1エポックあたりの更新回数、次々に届くデータに追従できる長所と、更新のぶれという短所が問われます。
混同しやすい用語
| 用語 | 意味 |
|---|---|
| オンライン学習このページの用語 | データを1件ずつ使い、受け取るたびに勾配を求めて重みを更新していく学習方法 |
| ミニバッチ学習 | 訓練データを数十〜数百件ずつの小さなまとまり(ミニバッチ)に分け、まとまりごとに勾配を計算して重みを更新する学習方法 |
| 確率的勾配降下法 | 訓練データからランダムに選んだ一部のデータで勾配を計算し、重みを少しずつ更新していく最適化手法 |
違いを表で比べる
◯×チェック
次の文が正しいか、誤りかを選んでください。
-
訓練データが1,000件のとき、オンライン学習では1エポックの間に重みを1,000回更新する。
答えを見る
答え ◯ 正しい
1件ごとに1回更新するので、全データを1周する間の更新回数はデータ数と同じです。バッチ学習なら1回です。
-
オンライン学習は、バッチサイズを訓練データの全件数に設定したミニバッチ学習と同じである。
答えを見る
答え × 誤り
全件を1つのまとまりにするのはバッチ学習です。オンライン学習は、バッチサイズを1にした場合にあたります。
-
運用中のモデルをオンライン学習で更新し続ける場合、誤ったデータや悪意のあるデータが続けて入ると、性能が急に下がるおそれがある。
答えを見る
答え ◯ 正しい
届いたデータがすぐ重みに反映されるためです。更新後の性能を監視し、問題があれば前のモデルに戻せるようにしておきます。
この用語の練習問題
出典
- G検定 試験出題範囲(シラバス2024)第1.4版 (技術分野 項目16 最適化手法)
- Ian Goodfellow, Yoshua Bengio, Aaron Courville, Deep Learning, MIT Press (2016) (8.1.3 Batch and Minibatch Algorithms)
- Léon Bottou, Online Algorithms and Stochastic Approximations, in David Saad (ed.), Online Learning and Neural Networks, Cambridge University Press (1998)
- scikit-learn documentation, 10.1. Strategies to scale computationally: bigger data (10.1.1.3 Incremental learning)