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

20 次查看(过去 30 天)
Yuki Yoshino
Yuki Yoshino 2019-11-6
エポック数とミニバッチサイズを指定し、学習(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

采纳的回答

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

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 時系列、シーケンス、およびテキストを使用した深層学習 的更多信息

产品


版本

R2019b

Community Treasure Hunt

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

Start Hunting!