ホームページ > バックエンド開発 > Python チュートリアル > 小さなデータセットで MLP モデルを微調整しても、事前トレーニングされた重みと同じテスト精度が維持されるのはなぜですか?

小さなデータセットで MLP モデルを微調整しても、事前トレーニングされた重みと同じテスト精度が維持されるのはなぜですか?

WBOY
リリース: 2024-02-10 21:36:04
転載
618 人が閲覧しました

为什么在小数据集上微调 MLP 模型,仍然保持与预训练权重相同的测试精度?

質問の内容

6,000 個のデータ サンプルでトレーニングするための単純な mlp モデルを設計しました。

リーリー

そしてモデルがインスタンス化されました

リーリー

およびハイパーパラメータ:

リーリー

私の実装は主にこの質問に従います。モデルを事前トレーニング済みの重み model_weights.pth として保存しました。

テスト データ セットの

model の精度は 96.80% です。

次に、モデルを微調整しようとしているサンプル (finetune_loader 内) がさらに 50 個あります。 リーリー

確認したところ、精度はモデルを 50 サンプルに微調整する前と同じままで、出力確率も同じです。

その理由は何でしょうか?コードの微調整で何か間違いを犯したのでしょうか?


正解


新しいモデル (model_finetune オブジェクト) を使用してオプティマイザーを再初期化する必要があります。現在、コードでわかるように、古いモデルの重みで初期化されたオプティマイザー、model.parameters() がまだ使用されているようです。

以上が小さなデータセットで MLP モデルを微調整しても、事前トレーニングされた重みと同じテスト精度が維持されるのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:stackoverflow.com
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート