機械学習デザインパターン ―データ準備、モデル構築、MLOpsの実践上の問題と解決
by Valliappa Lakshmanan, Sara Robinson, Michael Munn, 鷲崎 弘宜, 竹内 広宜, 名取 直毅, 吉岡 信和
4章モデル訓練のパターン
機械学習モデルは通常、反復的に訓練されます。この反復的なプロセスを、一般に訓練ループ(training loop)と呼びます。この章ではまず、典型的な訓練ループの概要を説明し、続いて、典型的な訓練ループとは異なる方法が必要な場合を示します。
4.1 典型的な訓練ループ
機械学習モデルの訓練には、さまざまなタイプの最適化手法が用いられます。例えば決定木では、しばしば情報利得(information gain)と呼ばれる尺度に基づいて各ノードが構築されます。遺伝的アルゴリズムは、モデルのパラメータを遺伝子のような形で表現し、進化論に基づいて最適化します。これらに対し、機械学習モデルのパラメータを決定する最も一般的な手法は、最急降下法(gradient descent)です。
4.1.1 確率的勾配降下法
大規模なデータセットでは、ミニバッチごとに最急降下法を適用することで、線形モデルやブースティング木から深層ニューラルネットワーク(deep neural networks:DNN)、サポートベクターマシン(support vector machines:SVM)までのあらゆるものを訓練できます。これは確率的勾配降下法(stochastic gradient descent:SGD)と呼ばれ、その拡張であるAdamやAdagradなどは、今日の機械学習フレームワークで事実上標準となっている最適化手法です。
AdamやAdagradをはじめとするSGDでは、訓練データセットを小さく分割したバッチを単位とする訓練の繰り返しが必要です。つまり、機械学習モデルの訓練にはループが伴います。SGDで求まる最小解は閉形式(有限個の初等関数の合成による表現、closed-form)ではないため、モデルの収束を別途、見届けなければなりません。 ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access