畳み込みニューラルネットワークの学習におけるミニバッチの精度とは何ですか?
7 views (last 30 days)
Show older comments
MathWorks Support Team
on 6 Apr 2017
CNN (畳み込みニューラルネットワーク; Convolutional Neural Networks) を使用しています。CNN のネットワーク学習がスタートすると、以下のような途中経過がコマンドウィンドウに表示されます。

この出力の中のミニバッチの精度 (Mini-batch Accuracy) の値が何を表しているのかを教えてください。
Accepted Answer
MathWorks Support Team
on 6 Apr 2017
Edited: mizuki
on 31 Aug 2018
誤差計算と重み更新には、主に バッチ 、 ミニバッチ 、 オンライン の三つのいずれかの方法が使われます。
このうちの ミニバッチ学習 とは、ネットワークのパラメータ学習に対して全学習サンプルを一度に使うのではなく、全学習サンプルから一定数のサンプルを抽出したサブセットを使って誤差計算と重み更新を行う方法です。ひとつのサンプルごとに重みを更新するオンラインの方法と比較すると高速に処理を行うことができ、バッチと比べて良い精度を得られることが、ミニバッチの利点です。ディープラーニングでミニバッチを使用する際には、よくエポックごとにミニバッチの学習サンプルがシャッフルされ、ランダムに抽出されます。
ネットワークの学習中に Mini-batch Accuracy の列に表示される値は、特定のミニバッチでの分類の精度になります。CNN 回帰の場合は Mini-batch RMSE となり、ミニバッチ内の二乗平均平方誤差が表示されます。この値は全てのイテレーションを通じた平均的な実行結果ではないことに注意してください。
確率的勾配降下法 (Stochastic Gradient Descent with Momentum; SGDM) の学習の際に、全てのデータセットを別々のミニバッチとしてグルーピングします。
この表のイテレーションは、各ミニバッチ内でのネットワークの勾配計算に対応します。
エポックは、全てのミニバッチを含む学習データに対する計算に対応しています。
0 Comments
More Answers (0)
See Also
Categories
Find more on Deep Learning Toolbox in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!