Я використовую tensorflow для написання простих нейронних мереж для невеликих досліджень, і у мене було багато проблем з «нанними» вагами під час тренування. Я спробував багато різних рішень, таких як зміна оптимізатора, зміна втрат, розмір даних тощо, але безрезультатно. Нарешті, я помітив, що зміна рівня навчання внесла неймовірну зміну у вагу.
Використовуючи ступінь навчання 0,001 (що я вважав досить консервативним), функція мінімізації фактично би експоненціально підвищила втрати. Після однієї епохи втрати можуть перейти з числа в тисячі до трильйона, а потім до нескінченності («нан»). Коли я знизив рівень навчання до .0001, все працювало нормально.
1) Чому єдиний порядок має такий вплив?
2) Чому функція мінімізації буквально виконує протилежну її функцію і максимально збільшує втрати? Мені здається, що цього не повинно відбуватися, незалежно від рівня навчання.