Я пытаюсь обучить текстовый классификатор CNN с помощью Pytorch.Я использую оптимизатор Адама следующим образом.
optimizer = torch.optim.Adam(CNN_Text.parameters(), lr=args.lr)
Я понял, что оптимизатор сходится очень быстро, а затем он продолжает медленно снижать точность.(потеря проверки достоверности значительно уменьшается через 1-2 минуты, затем она продолжает медленно расти)
Итак, я реализовал снижение скорости обучения,
If curr_loss > val_loss:
prev_lr = param_group['lr']
param_group['lr'] = prev_lr/10
Я узнал, что это не очень помогает.Но если я вручную сохраню модель, загрузлю ее и проведу тренировку с пониженной скоростью обучения, это действительно улучшит производительность!
Это доставит мне неприятности, потому что мне нужно продолжать наблюдать за градиентным спуском иизмените параметры вручную.Я попробовал SGD и другие оптимизаторы, потому что думал, что это проблема Адама, но я не мог найти хороший способ.
Может кто-нибудь помочь мне с этим?