#deep-learning #pytorch #loss-function #transfer-learning #overfitting-underfitting
Вопрос:
Итак, я делаю 4 метка рентгеновские снимки классификация по примерно 12600 изображений:
класс 1:4000
Класс2:3616
Класс_3:1345
класс 4:4000
я использую сайт VGG-16 архитектуры относятся на неограниченный доступ к базе данных кросс-entrpy и SGD, а пакет размер 32 и обучения курс 1е-3 бег на pytorch
[[749., 6., 50., 2.],
[ 5., 707., 9., 1.],
[ 56., 8., 752., 0.],
[ 4., 1., 0., 243.]]
Я знаю, что, поскольку обе потери поезда/acc относительно 0/1, модель подходит, хотя я удивлен, что val acc все еще составляет около 0,9!
Как правильно интерпретировать это, и что является причиной этого, и как это предотвратить?
Я знаю, что это что-то вроде, потому что точность-это argmax softmax, как будто фактические прогнозы становятся все ниже и ниже, но argmax всегда остается неизменным, но я действительно в замешательстве! Я даже позволил ему тренироваться в течение 64 эпох с одинаковыми результатами, в то время как потери постепенно увеличиваются!
пс. Я видел другие вопросы с ответами и на самом деле не получил объяснений
Ответ №1:
Я думаю, что ваш вопрос уже говорит о том, что происходит. Ваша модель слишком подходит, как вы также выяснили. Теперь, по мере того как вы все больше тренируетесь, ваша модель постепенно становится все более специализированной для набора тренировок и постепенно теряет способность к обобщению. Таким образом, вероятности softmax становятся все более и более плоскими. Но все равно он показывает более или менее ту же точность для набора проверки, что и сейчас, поскольку правильный класс имеет, по крайней мере, немного большую вероятность, чем другие. Поэтому, на мой взгляд, для этого могут быть некоторые возможные причины:
- Ваш набор поездов и набор проверки могут быть не из одного и того же дистрибутива.
- Ваш набор проверки не охватывает все случаи, которые необходимо оценить, он, вероятно, содержит похожие типы изображений, но они не слишком сильно отличаются. Таким образом, когда модель может идентифицировать один, она может идентифицировать многие из них из набора проверки. Если вы добавите больше разнородных изображений в набор проверки, вы больше не увидите такой большой точности в наборе проверки.
- Аналогично, мы можем сказать, что ваш набор обучающих изображений неоднороден, т. Е. У них много вариаций, а набор проверки охватывает только несколько разновидностей, поэтому по мере продолжения обучения эти меньшинства становятся менее приоритетными, поскольку модели еще предстоит многое изучить и обобщить. Это может произойти, если вы увеличите свой набор обучения, и ваша модель обнаружит, что набор проверки изначально относительно проще (до тех пор, пока не будет переоснащен), но по мере обучения модель сама теряется при изучении множества дополнительных разновидностей, доступных в наборе обучения. В этом случае не делайте увеличение слишком диким. Подумайте, являются ли дополненные изображения все еще реалистичными или нет. Выполняйте увеличение изображений до тех пор, пока они остаются реалистичными, и каждый тип вариаций этих изображений занимает достаточно репрезентативных примеров в наборе поездов. Не включайте в дополнение ненужные ситуации, которые никогда не возникнут в реальности, так как эти нереалистичные примеры просто увеличат нагрузку на модель, чем любая помощь.