| Up | モデルの訓練 | 作成: 2026-02-28 更新: 2026-03-02 |
損失関数を定義して, 最適化アルゴリズム(例:SGD, Adam)で, 重みを更新していく。 テストの度に訓練をするわけだが,毎回フルに訓練して評価するのは,計算コストがとんでもない。 そこで,「性能推定戦略」 というものが考え出される。 これには,つぎのものがある:
そこから部分的にアーキテクチャを切り出して評価する。 これにより,毎回ゼロから訓練しなくても済む。
これで,実際に訓練せずとも「良さそうな構造」を見つけやすくなる。
以下,特に,代理タスクの 「早期打ち切り (Early Stopping) 」 を見ていく。 通常のモデル訓練では,50〜100エポックくらいかけて性能を最大化する。 NASでは最初の数エポック (たとえば5エポック) だけで見切りをつける。 この方法の根拠は, 「良いモデルは最初から伸びがいい」 という傾向のあることが,多くの研究からわかっていること。 最初の数エポックでの精度が高いモデルは,最終的にも高性能になる可能性が高い。 これは,あくまでも「性能の見込み」を測るための方法で,実際の最終モデルは,後でちゃんとフル訓練する。 そこで, エポック数を増やす = 繰り返し学習して精度を上げる 「ビックデータ」 で訓練と言っているのは,大きなデータセットを繰り返し何エポックも使っているということ。 たとえばこんな感じ: それを「 1エポック で全部」使って訓練。 50〜100エポック 繰り返すと, 100万 × 50〜100回 = 5000万〜1億回分の学習 ただし,「過学習(overfitting)」になることもあるので,注意が必要。 「過学習」 とは: 「訓練データには強くなるが,新しいデータには弱くなる」 |