Моя тренировка нейронной сети в pytorch становится очень странной.
Я тренирую известный набор данных, который был разбит на поезд и проверку. Я перетасовываю данные во время тренировок и делаю пополнение данных на лету.
У меня есть такие результаты:
Точность поезда начинается с 80% и увеличивается ![enter image description here](https://i.stack.imgur.com/6fKs1.png?s=24)
Потеря поезда уменьшается и остается стабильным ![enter image description here](https://i.stack.imgur.com/X1IGb.png?s=24)
Точность проверки начинается с 30% , но медленно увеличивается ![enter image description here](https://i.stack.imgur.com/6fKs1.png?s=24)
Потери при проверке возрастают ![enter image description here](https://i.stack.imgur.com/6fKs1.png?s=24)
У меня есть следующие графики, чтобы показать:
![enter image description here](https://i.stack.imgur.com/awZsK.png)
Как вы можете объяснить, что потери при проверке возрастают, а точность проверки увеличивается?
Как может быть такая большая разница в точности между проверочными и обучающими наборами? 90% и 40%?
Обновление:
Я сбалансировал набор данных. Это бинарная классификация. Теперь у него 1700 примеров из 1 класса, 1200 примеров из 2 класса. Всего 600 для проверки и 2300 для обучения. Я по-прежнему вижу подобное поведение:
![enter image description here](https://i.stack.imgur.com/neI2r.png)
** Может ли это быть, потому что я заморозил веса в части сети?
* * Может ли это быть из-за гиперпараметров типа lr?