畳み込みニューラルネットワークの学習におけるミニバッチの精度とは何ですか?
9 ビュー (過去 30 日間)
古いコメントを表示
MathWorks Support Team
2017 年 4 月 6 日
CNN (畳み込みニューラルネットワーク; Convolutional Neural Networks) を使用しています。CNN のネットワーク学習がスタートすると、以下のような途中経過がコマンドウィンドウに表示されます。
この出力の中のミニバッチの精度 (Mini-batch Accuracy) の値が何を表しているのかを教えてください。
採用された回答
MathWorks Support Team
2017 年 4 月 6 日
編集済み: mizuki
2018 年 8 月 31 日
誤差計算と重み更新には、主に バッチ 、 ミニバッチ 、 オンライン の三つのいずれかの方法が使われます。
このうちの ミニバッチ学習 とは、ネットワークのパラメータ学習に対して全学習サンプルを一度に使うのではなく、全学習サンプルから一定数のサンプルを抽出したサブセットを使って誤差計算と重み更新を行う方法です。ひとつのサンプルごとに重みを更新するオンラインの方法と比較すると高速に処理を行うことができ、バッチと比べて良い精度を得られることが、ミニバッチの利点です。ディープラーニングでミニバッチを使用する際には、よくエポックごとにミニバッチの学習サンプルがシャッフルされ、ランダムに抽出されます。
ネットワークの学習中に Mini-batch Accuracy の列に表示される値は、特定のミニバッチでの分類の精度になります。CNN 回帰の場合は Mini-batch RMSE となり、ミニバッチ内の二乗平均平方誤差が表示されます。この値は全てのイテレーションを通じた平均的な実行結果ではないことに注意してください。
確率的勾配降下法 (Stochastic Gradient Descent with Momentum; SGDM) の学習の際に、全てのデータセットを別々のミニバッチとしてグルーピングします。
この表のイテレーションは、各ミニバッチ内でのネットワークの勾配計算に対応します。
エポックは、全てのミニバッチを含む学習データに対する計算に対応しています。
0 件のコメント
その他の回答 (0 件)
参考
カテゴリ
Help Center および File Exchange で Image Data Workflows についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!