ミニバッチサイズとエポックごとの反復について

6 vues (au cours des 30 derniers jours)
Yuki Yoshino
Yuki Yoshino le 6 Nov 2019
Commenté : Yuki Yoshino le 7 Nov 2019
エポック数とミニバッチサイズを指定し、学習(2種分類問題)しました。
学習データ数(2種合わせて) 5801枚を用いて、学習オプションを下記のように設定しました。
options = trainingOptions('sgdm', ...
'InitialLearnRate',0.001, ...
'Shuffle','every-epoch', ...
'ValidationData',testImages, ...
'MaxEpochs',5, ...
'ValidationFrequency',5,...
'Verbose',true, ...
'MiniBatchSize',290, ...
'Plots','training-progress');
学習データ数とミニバッチサイズからエポックごとの反復は(5801/290 = ) 20になると考えました。
しかしながら下図のようにエポックごとの反復が4になってしまいます。なぜこのような結果になるのでしょうか?
出力.bmp

Réponse acceptée

Hiroyuki Hishida
Hiroyuki Hishida le 6 Nov 2019
Modifié(e) : michio le 6 Nov 2019
Yoshino様、
学習に使う画像と申しますかそのデータストアを、学習用と検証用に分けられていませんか?
なお、同種のQ&Aもありますので、あわせて確認してみてください。
よろしくお願いします。
菱田
  3 commentaires
Hiroyuki Hishida
Hiroyuki Hishida le 7 Nov 2019
Modifié(e) : Hiroyuki Hishida le 7 Nov 2019
Yoshino様、
回答ありがとうございます。でしたら、michio からのコメントも一読いただいた後、以下二点を確認してみてください。なお、説明用のスクリプト(sample.m)では以下のURLにある「深層学習における学習の進行状況の監視」を使用しております。
Iteration数の計算
こちらはYoshino様のおっしゃるとおりです。端数処理についてはmichio のコメントにあるリンクを参照ください。
下図のようにエポックごとの反復が4
実際にはIteration数の計算が走っておりますが、プロットするタイミング(回数)は、上記の計算で求めたIteration数を、ValidationFrequencyで設定している値で割り算したものになります。従いまして、このケースですと20÷5=4となっております。
サンプルスクリプトと、trainingoptionを変更して走らせた結果をいくつか添付しておりますので、動かして確認してみていただければ、理解が進むかと思います。
よろしくおねがいします。
菱田
Yuki Yoshino
Yuki Yoshino le 7 Nov 2019
菱田様、michio様
理解いたしました。ありがとうございました。

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur 時系列、シーケンス、およびテキストを使用した深層学習 dans Help Center et File Exchange

Produits


Version

R2019b

Community Treasure Hunt

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

Start Hunting!