G検定(ジェネラリスト検定)
いてれーしょん
イテレーション
Iteration
勾配降下法で損失を計算し、損失が減る方向へ重みとバイアスを1回更新するまでの1回分の処理。これを繰り返してモデルの学習を進める。
詳しい説明
勾配降下法の中で繰り返される1回分
勾配降下法は、利用者が決めた回数のイテレーション(反復)だけ同じ手順を繰り返して、最もよい重みとバイアスを探す。学習はゼロに近いランダムな重みとバイアスから始まり、1回のイテレーションでは次の4つを順に行う。
1. 現在の重みとバイアスで損失を計算する
2. 損失を減らすには、重みとバイアスをどちらへ動かせばよいかを決める
3. 損失が減る方向へ、重みとバイアスの値を少しだけ動かす
4. 手順1へ戻る
この1周がイテレーション1回にあたる。手順3で値が動くので、イテレーションは重みとバイアスを1回更新する単位と言い換えられる。繰り返しは、モデルがそれ以上損失を減らせなくなるまで続ける。
燃費データで見る反復の推移
根拠の教材では、燃費のデータセットに対してこの手順を6回繰り返した結果が示されている。
| イテレーション | 重み | バイアス | 損失 |
|---|---|---|---|
| 1 | 0 | 0 | 303.71 |
| 2 | 1.20 | 0.34 | 170.84 |
| 3 | 2.05 | 0.59 | 103.17 |
| 4 | 2.66 | 0.78 | 68.70 |
| 5 | 3.09 | 0.91 | 51.13 |
| 6 | 3.40 | 1.01 | 42.17 |
1回目は重みもバイアスも0で、損失は303.71である。更新のたびに重みとバイアスが少しずつ動き、損失は170.84、103.17、68.70と下がって、6回目には42.17になる。1回ごとの損失の下げ幅は、1回目から2回目で約133、5回目から6回目で約9と、回を重ねるほど小さくなっている。
ミニバッチ学習でのイテレーション
ミニバッチ確率的勾配降下法(ミニバッチSGD)では、モデルがランダムに選んだ事例で1つのバッチを作り、それらの勾配を平均して、イテレーションごとに1回だけ重みとバイアスを更新する。バッチサイズは、重みとバイアスを更新する前にモデルが処理する事例の数を表すハイパーパラメータである。
エポックとの関係
エポックは、訓練データのすべての事例を1回ずつ処理し終えることを指す。訓練データが1,000事例、ミニバッチサイズが100事例なら、1エポックを終えるのに10回のイテレーションが必要になる。つまり1エポックは複数のイテレーションから成る。イテレーションは更新の回数、エポックはデータを一巡した回数であり、数えている対象が異なる点に注意したい。
イテレーションはG検定のシラバス2024のキーワードに含まれる。
試験で問われること
G検定
- イテレーションは、現在の重みとバイアスで損失を計算し、損失が減る方向を決め、その方向へ値を少し動かすまでの1周を指し、重みとバイアスの更新1回に対応する。
- 勾配降下法は利用者が決めた回数のイテレーションを繰り返し、ゼロに近いランダムな初期値から始めて、モデルが損失をそれ以上減らせなくなるまで更新を続ける。
- 燃費データの例では6回の反復で損失が303.71から42.17へ下がり、1回ごとの下げ幅は回を重ねるほど小さくなるので、反復が進むにつれて改善が緩やかになる様子を読み取れる。
- ミニバッチSGDではランダムに選んだ事例でバッチを作って勾配を平均し、イテレーションごとに重みとバイアスを1回更新するので、バッチサイズは1回の更新の前に処理する事例数にあたる。
- 1,000事例の訓練データをミニバッチサイズ100で学習すると1エポックに10回のイテレーションが必要になり、1エポックは複数のイテレーションから成るという関係を押さえておく。
最終更新日: 2026/09/23