検証損失が下がらない

52 ビュー (過去 30 日間)
YoSa Akida
YoSa Akida 2023 年 6 月 7 日
コメント済み: YoSa Akida 2023 年 6 月 15 日
事前学習モデルResNet101を用いたファインチューニングを行っています.
学習の進行状況について,エポック数を増やしても,学習損失の減少速度に比べ,検証損失が横ばい又は減少が遅く,中々学習が上手に進みません.
考える原因としてどのようなものが挙げられるでしょうか.
ご回答よろしくお願いします.
(学習オプション
Optimizer : sgdm
MinibatchSize : 256
MaxEpochs : 12)

採用された回答

Hiro Yoshino
Hiro Yoshino 2023 年 6 月 9 日
編集済み: Hiro Yoshino 2023 年 6 月 12 日
結果だけを見ると、
  • 学習データと 検証データの分布が異なる
ように思えます。データが少ないと思いましたが、学習データはどのくらいありますか?
  7 件のコメント
Hiro Yoshino
Hiro Yoshino 2023 年 6 月 14 日
機械学習の目標は汎化誤差を最小にすることです。(しかしデータの確率密度分布が分からないので、期待値を計算することができなないため) 汎化誤差を経験誤差で代用します。
そもそも、検証データと学習データは同じ母集団からのサンプリングと見なせないと、学習後のモデルを評価することが出来ません。「分布が大きく異なる場合 ...」 というか、異なる想定ではないと言う事です。データを分けた時点で、異なる分布だとするのであれば、それは正しい分け方ではありません。
「結論として ...」というよりも、犬を分類したいのに、猫の画像データだけで学習して、犬の検証データを持ってきて”精度が上がらない!”と言っている様なもので、学習の方法の仮定に沿っていない状況だと思います。
データがまずしっかりした状態で、精度については検証データで評価していくのが普通かなと思います。エポック数、学習率などを操作して過学習にならないように適当なところで学習をストップさせるのが NN の学習方法です。
YoSa Akida
YoSa Akida 2023 年 6 月 15 日
説明ありがとうございます.検証データに関して,少し分布に偏りがあるので,改善して適切な学習を行いたいと思います.

サインインしてコメントする。

その他の回答 (0 件)

製品


リリース

R2022a

Community Treasure Hunt

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

Start Hunting!