GoogleNetのaccuracyを改善する方法につきまして
4 views (last 30 days)
Show older comments
プログラミング初心者です。
以下のリンクをもとにgooglenetでDICOM ファイルのclassificationを行いました
以下のコードを削除したり、optionでmaxepochの数やmini-batch sizeを調整しているのですが、なかなかaccuracyは上がらず55%です。
pixelRange = [-30 30];
scaleRange = [0.9 1.1];
imageAugmenter = imageDataAugmenter( ...
'RandXReflection',true, ...
'RandXTranslation',pixelRange, ...
'RandYTranslation',pixelRange, ...
'RandXScale',scaleRange, ...
'RandYScale',scaleRange);
augimdsTrain = augmentedImageDatastore(inputSize(1:2),imdsTrain, ...
'DataAugmentation',imageAugmenter);
alexnetでは90%近いaccuracyを出せているので、googlenetではなぜこういった問題が生じているかご存じでしたらご教示頂けますと幸いです。
0 Comments
Accepted Answer
Kenta
on 20 Feb 2019
maxepochやminibatchsizeのほかに、初期学習率や、モーメンタム、L2正則、learnratedropfactorなどがあります。
初期学習率やモーメンタムは変更されましたか?
また、学習曲線はどのようになっていますでしょうか?変更可能なパラメータがたくさんあって、迷ってしまいますが、学習曲線があれば、少し見当がつけられるかもしれません。
またalexnetで90%ほどの精度なのであれば、もしかしたら、うまく走っていないのかもしれません。
(実はファイルのなかでカテゴリが混在している、など)それか、カテゴリ間で画像枚数にかたよりがあれば、精度がさがることもあります。
ただ、私の経験では、alexnet, googlenetの精度はそこまで大きく変わらないような気もするのですが、もしかしたらネットワークやそのデフォルトの値で大きく変わるのかもしれません。
また、計算に少し時間はかかりますが、ベイズ的最適化でパラメータを決定するのも良いと思います。googlenetのファイルを関数として、ベイズ的最適化のコードに組み込めば、自動的にパラメータをしぼりこんでくれます。
https://jp.mathworks.com/help/deeplearning/examples/deep-learning-using-bayesian-optimization.html
9 Comments
Kenta
on 20 Feb 2019
そうですか...報告ありがとうございます。
alexnetでうまくいったのなら、そちらに絞ってみてはどうでしょう。いろんな意味での、そのデータに対するネットワークの向き不向きもあると思いますので。
More Answers (0)
See Also
Categories
Find more on 確率分布 in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!