MATLAB: 畳み込みニューラルネ​ットワークの学習にお​けるミニバッチの精度​とは何ですか?

cnnconvolutional neural networkdeep learningDeep Learning Toolboxmini batchディープラーニングミニバッチ深層学習畳み込みニューラルネットワーク

CNN (畳み込みニューラルネットワーク; Convolutional Neural Networks) を使用しています。CNN のネットワーク学習がスタートすると、以下のような途中経過がコマンドウィンドウに表示されます。 
この出力の中のミニバッチの精度 (Mini-batch Accuracy) の値が何を表しているのかを教えてください。 

Best Answer

誤差計算と重み更新には、主に バッチ ミニバッチ オンライン の三つのいずれかの方法が使われます。 
このうちの ミニバッチ学習 とは、ネットワークのパラメータ学習に対して全学習サンプルを一度に使うのではなく、全学習サンプルから一定数のサンプルを抽出したサブセットを使って誤差計算と重み更新を行う方法です。ひとつのサンプルごとに重みを更新するオンラインの方法と比較すると高速に処理を行うことができ、バッチと比べて良い精度を得られることが、ミニバッチの利点です。ディープラーニングでミニバッチを使用する際には、よくエポックごとにミニバッチの学習サンプルがシャッフルされ、ランダムに抽出されます。 
ネットワークの学習中に Mini-batch Accuracy の列に表示される値は、特定のミニバッチでの分類の精度になります。CNN 回帰の場合は Mini-batch RMSE となり、ミニバッチ内の二乗平均平方誤差が表示されます。この値は全てのイテレーションを通じた平均的な実行結果ではないことに注意してください。 
確率的勾配降下法 (Stochastic Gradient Descent with Momentum; SGDM) の学習の際に、全てのデータセットを別々のミニバッチとしてグルーピングします。 
この表のイテレーションは、各ミニバッチ内でのネットワークの勾配計算に対応します。 
エポックは、全てのミニバッチを含む学習データに対する計算に対応しています。