情報詳細Q:DLで過学習が起きているか確認する方法はあるでしょうか。A:過学習は学習データへのオーバーフィッティングであるため、学習用(train)と学習中のネットワーク妥当性の検証用(validation)に振り分けられたデータセットに対するtop1_errorやmean_apなどの評価値を比較ください。DeepLearningToolではデフォルトで学習用と検証用の評価値を表示します。HALCONにおいては、特定のバージョン以降では(少なくとも22.05以降では)train_dl_modelのGenParamName/GenParamValueに下記のパラメータを渡すことで表示できるようになります。 SelectedPercentageTrainSamples := 20 //評価に使用する学習画像の割合。学習画像の数は膨大で、1エポック枚に全ての学習画像を評価することは学習時間の増大を招く。 XAxisLabel := 'epochs' create_dict (DisplayParam) set_dict_tuple (DisplayParam, 'selected_percentage_train_samples', SelectedPercentageTrainSamples) set_dict_tuple (DisplayParam, 'x_axis_label', XAxisLabel) GenParamName := [GenParamName,'display'] GenParamValue := [GenParamValue,DisplayParam] 過学習を起こす場合、データセットに偏りが無いか・Momentumが大きすぎないか・LearningRateが高すぎないかなどを確認してください。使用できる場合はweight_priorパラメータも効果的です。過学習を防ぐもっともよい方法は十分な数の画像を用意することです。特に少数の学習画像ではデータセットの取りうる画像のバリエーションが足りず過学習に陥りやすくなります。添付ファイルタイトルDLで過学習が起きているか確認したいURL 名000006701公開状況公開済み検証状況公開済み