Як можливо, що втрати валідації збільшуються, а точність перевірки також збільшується


28

Я треную просту нейронну мережу на наборі даних CIFAR10. Через деякий час втрати валідації почали зростати, тоді як точність перевірки також зростає. Втрати тесту та точність випробувань продовжують поліпшуватися.

Як це можливо? Схоже, якщо збільшення втрат валідації, точність повинна знизитися.

PS Є кілька подібних питань, але ніхто не пояснив, що там відбувається.введіть тут опис зображення


2
Ви можете перевірити деякі підказки, щоб зрозуміти у моїй відповіді тут: stats.stackexchange.com/questions/258166/…
ahstat

@ahstat Я розумію, як це технічно можливо, але я не розумію, як це відбувається тут.
Костянтин Соломатов

«Ілюстрація 2» - це те, що я і ви пережили, що є своєрідним нарядом. З моєї конкретної проблеми це було полегшено після перемішування набору.
ахстат

@ahstat Існує дуже багато способів боротьби з надмірною обробкою. Наприклад, я можу використовувати випадання. Що мені найбільше цікаво, яке пояснення цьому. Тобто чому вона збільшується так поступово і тільки вгору.
Костянтин Соломатов

Відповіді:


12

Спираючись на відповідь Анкура та коментар під ним, я думаю, що можливий наступний сценарій, хоча я не маю доказів цього. Одночасно можуть відбуватися два феномени:

  1. Деякі приклади з прикордонними прогнозами прогнозуються краще, і тому їх вихідний клас змінюється (наприклад, зображення кота, прогнозованого на 0,4, щоб бути котом, а 0,6 - для коня, прогнозується 0,4 для коня і 0,6 для кота). Завдяки цьому точність збільшується при зменшенні втрат.

  2. Деякі приклади з дуже поганими прогнозами продовжують погіршуватися (наприклад, зображення кота, прогнозованого в 0,8, щоб коня, прогнозується, а 0,9 - для коня) І / АБО (більш імовірне, зокрема для багатокласного?), Деякі приклади з дуже хорошими передбачення трохи погіршуються (наприклад, зображення кота, прогнозованого в 0,9, щоб бути кішкою, прогнозується в 0,8, щоб бути кішкою). При цьому явищі втрати зростають, а точність залишається однаковою.

Отже, якщо явище 2 починається в певний момент, на багатьох прикладах (наприклад, для певного класу, який з якихось причин недостатньо зрозумілий) та / або зі збільшенням втрат сильніше, ніж зменшення втрат, які ви отримуєте з 1., то ви можете опинись у своєму сценарії.
Знову ж таки, можливо, це не те, що відбувається, але я думаю, що можливість придумати такі сценарії повинні нагадувати нам про інколи слизькі відносини між (перехресною ентропією) втратою та точністю.


15

Точність набору оцінюється лише перехресною перевіркою найвищого виводу програмного забезпечення та правильного маркованого класу. Це не залежить від того, наскільки високим є вихід softmax. Щоб було зрозуміліше, ось кілька цифр.

Припустимо, є 3 класи - собака, кішка та кінь. Для нашого випадку правильний клас - це кінь . Тепер вихід Softmax дорівнює [0,9, 0,1]. Для цієї втрати ~ 0,37. Класифікатор передбачить, що це кінь. Візьміть інший випадок, коли вихід Softmax становить [0,6, 0,4]. Втрати ~ 0,6. Класифікатор все ще передбачить, що це кінь. Але, безумовно, збитки зросли. Отже, мова йде про розподіл виходу.


4
Спостереження: у вашому прикладі точність не змінюється. Це все-таки 100%. Чи є у вас приклад, коли втрати зменшуються, а точність також зменшується?
Х'ю Перкінс

1

З відповіді Анкура мені здається, що:

cоrrеcт-cлассестотал-cлассес

поки

лесс

Так...

Висока точність валідації + Високий показник втрати проти високої точності навчання + Низький показник втрат припускають, що модель може бути надмірно поміщена на даних тренувань.


0

Багато відповідей зосереджуються на математичному розрахунку, пояснюючи, як це можливо. Але вони не пояснюють, чому це стає так. І вони не можуть запропонувати, як копати далі, щоб бути більш зрозумілим.

У мене є 3 гіпотези. І запропонуйте кілька експериментів для їх перевірки. Сподіваємось, це може допомогти пояснити цю проблему.

  1. Мітка шумна. Порівняйте помилкові прогнози між тим, коли val_loss мінімальний і val_acc максимум. Перевірте, чи правильно зазначені ці зразки.
  2. [Менш вірогідний] У моделі недостатньо аспектів інформації, щоб бути певними. Експериментуйте з більшими та більшими прихованими шарами.
  3. [Дуже дика здогадка] Це випадок, коли модель менш певна щодо певних речей, як довше навчається. Така ситуація трапляється і з людиною. Коли хтось почав вивчати техніку, йому кажуть саме, що добре чи погано, для чого певні речі (висока впевненість). Коли він проходить більше випадків і прикладів, він розуміє, що іноді певна межа може бути розмитою (менш певна, більша втрата), навіть якщо він може приймати кращі рішення (більше точності). І він, зрештою, стає більш впевненим, коли стане майстром після перегляду величезного списку зразків та безлічі спроб та помилок (більше навчальних даних). Тому в цьому випадку я пропоную експеримент із додаванням більшої кількості шуму до даних тренувань (не етикетки) може бути корисним.

Не сперечайтесь з цього приводу, якщо ви не згодні з цією гіпотезою. Буде більш доцільним вийти з експериментом, щоб перевірити їх, незалежно від того, доводити їх чи доводити їх неправильними.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.