イテレーション
Iteration
いてれーしょん
ニューラルネットワークの学習で、ミニバッチ1つ分のデータで損失と勾配を計算し、パラメータを1回更新する処理の単位。学習データ全体を1回使い切るのが1エポックで、1エポック当たりのイテレーション数は「データ数÷バッチサイズ」になる。例えば1万件をバッチサイズ100で学習すると、1エポックは100イテレーションである。
Past Exams
過去問での出題
過去問で 1 回出題(基本情報技術者試験 1)
出典: 独立行政法人情報処理推進機構(IPA)の過去問題。問題文は IPA のサイトの PDF で確認できます。「選択肢」は、問題文ではなく選択肢に出たものです。用語名で照合しているため、関係の薄い問題が含まれることがあります。
Related
関連キーワードの用語
学習データを数十から数百件程度の小さなまとまり(ミニバッチ)に分け、ミニバッチごとに勾配を計算してパラメータを更新する学習の方法。バッチ学習より更新の回数が多く、オンライン学習より更新が安定し、GPUで並列に計算しやすいので、ディープラーニングで標準的に使われる。ミニバッチの大きさ(バッチサイズ)はハイパーパラメータである。
学習データ全体をまとめて使って損失と勾配を計算し、パラメータを更新する学習の方法。更新の方向が安定するが、1回の更新に全データの計算が要るのでデータが大きいと時間とメモリを多く使う。新しいデータが加わったら全データで学習し直すのが基本で、データを少しずつ使うミニバッチ学習やオンライン学習と対比される。
ニューラルネットワークなどの学習で、学習データ全体を1回使い切ることを1エポックという。通常は数十から数百エポック繰り返して学習し、エポック数はハイパーパラメータになる。エポックを重ねすぎると過学習するので、検証用データの誤差を監視して悪化し始めたら止める早期終了を使う。
データが1件(または少数)届くたびに、そのデータだけでモデルのパラメータを逐次に更新する学習の方法。全データを保持しなくてよく、データの傾向の変化にも追随しやすいので、ストリームデータや推薦システムなどに使われる。一方で、ノイズを含むデータやデータの到着順に影響されやすく、学習が不安定になることがある。
全データではなく、無作為に選んだ1件(または少数のミニバッチ)のデータで勾配を計算してパラメータを更新する勾配降下法。1回の更新の計算が軽く大規模なデータでも速く学習が進む一方、勾配にばらつき(ノイズ)が入るので更新の向きは揺らぐが、それが局所最適解から抜け出す助けにもなる。モーメンタムやAdamなどの最適化アルゴリズムの基礎である。
