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

9 ビュー (過去 30 日間)
MathWorks Support Team
MathWorks Support Team 2017 年 4 月 6 日
編集済み: mizuki 2018 年 8 月 31 日
CNN (畳み込みニューラルネットワーク; Convolutional Neural Networks) を使用しています。CNN のネットワーク学習がスタートすると、以下のような途中経過がコマンドウィンドウに表示されます。 
この出力の中のミニバッチの精度 (Mini-batch Accuracy) の値が何を表しているのかを教えてください。 

採用された回答

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

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeImage Data Workflows についてさらに検索

製品


リリース

R2017a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by