작은 데이터세트에서 MLP 모델을 미세 조정해도 사전 훈련된 가중치와 동일한 테스트 정확도를 유지하는 이유는 무엇입니까?

WBOY
풀어 주다: 2024-02-10 21:36:04
앞으로
604명이 탐색했습니다.

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

질문 내용

6k 데이터 샘플을 학습하기 위해 간단한 mlp 모델을 설계했습니다.

으아악

모델이 인스턴스화됩니다

으아악

및 하이퍼파라미터:

으아악

내 구현은 주로 이 질문을 따릅니다. 모델을 사전 훈련된 가중치로 저장합니다 model_weights.pth.

model在测试数据集上的准确率是96.80%.

그런 다음 모델을 미세 조정하려는 또 다른 50개 샘플(finetune_loader)이 있습니다.

으아악

확인해 보니 모델을 50개 샘플로 미세 조정하기 전과 정확도가 동일하고, 출력 확률도 동일합니다.

이유는 무엇일까요? 코드를 미세 조정하는 데 실수가 있었나요?


정답


새로운 모델(model_finetune 객체)로 옵티마이저를 다시 초기화해야 합니다. 현재 귀하의 코드에서 볼 수 있듯이 이전 모델 가중치인 model.parameters()로 초기화된 최적화 프로그램을 계속 사용하는 것 같습니다.

위 내용은 작은 데이터세트에서 MLP 모델을 미세 조정해도 사전 훈련된 가중치와 동일한 테스트 정확도를 유지하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:stackoverflow.com
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿