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

8 visualizzazioni (ultimi 30 giorni)
Yuki Yoshino
Yuki Yoshino il 6 Nov 2019
Commentato: Yuki Yoshino il 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

Risposta accettata

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

Accedi per commentare.

Più risposte (0)

Categorie

Scopri di più su 時系列、シーケンス、およびテキストを使用した深層学習 in Help Center e File Exchange

Prodotti


Release

R2019b

Community Treasure Hunt

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

Start Hunting!