Втрати в навчанні збільшуються з часом [дублікат]


21

Я треную модель (періодична нейронна мережа) для класифікації 4 типів послідовностей. Коли я проходжу тренування, я бачу, що втрата тренувань знижується до моменту, коли я правильно класифікую понад 90% зразків у моїх тренувальних партіях. Однак через пару епох я помічаю, що втрата тренувань збільшується і моя точність падає. Мені це здається дивним, оскільки я б очікував, що на тренувальному наборі продуктивність повинна покращуватися з часом, а не погіршуватися. Я використовую перехресну втрату ентропії, і рівень мого навчання становить 0,0002.

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

Втрати зменшуються, а потім збільшуються

Відповіді:


6

Я мав таку подібну поведінку під час навчання CNN, це було тому, що я використовував градієнтний спуск зі спадною швидкістю навчання для обчислення помилок. Чи значно ви збільшили кількість повторень і перевірили, чи з’являється така поведінка набагато пізніше з новим низьким рівнем навчання?


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

Який алгоритм оптимізації ви використовуєте?
Freundlicher

Я використовую оптимізатор Адама з lr = 0,00001, betas = (0,5, 0,999)
dins2018

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

2
Можна встановити beta1 = 0,9 і beta2 = 0,999. Це загальні цінності, які повинні працювати проти такої поведінки.
Freundlicher

1

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


0

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


Ласкаво просимо в CV. Щоб отримати підсумки, краще надати більш повну відповідь, див. Stats.stackexchange.com/help/how-to-answer для вказівки.
ReneBt
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.