Первісне питання стосувалося конкретно реалізацій TensorFlow. Однак відповіді стосуються загальної реалізації. Ця загальна відповідь також є правильною відповіддю для TensorFlow.
Якщо ви використовуєте нормалізацію партії та випадання в TensorFlow (зокрема, використовуючи contrib.layers), чи потрібно турбуватися про замовлення?
Мабуть, можливо, якщо я використаю випадання з подальшим негайно нормалізацією партії, можуть виникнути проблеми. Наприклад, якщо зсув нормалізації партії тренується до більшої кількості масштабів навчальних результатів, але тоді цей самий зсув застосовується до менших (за рахунок компенсації тим, що мають більше вихідних даних) масштабних чисел без відсіву під час тестування, то це зміна може бути вимкнено. Чи автоматично компенсує рівень нормалізації партії TensorFlow? Або це не відбувається з якихось причин, яких я пропускаю?
Крім того, чи є інші підводні камені, на які слід бути обережними при використанні цих двох разом? Наприклад, якщо припустити, що я використовую їх у правильному порядку стосовно вищезазначених (якщо припустити, що це правильний порядок), чи можуть виникнути проблеми з використанням як нормалізації партії, так і відсіву на кількох послідовних шарах? Я не одразу бачу проблеми з цим, але я можу щось пропустити.
Дуже дякую!
ОНОВЛЕННЯ:
Експериментальний тест, схоже, підказує, що замовлення має значення. Я двічі запускав одну і ту ж мережу, лише з пакетною нормою та зворотним відмовою. Коли випадання перевищує норму партії, втрати валідації, схоже, збільшуються, коли втрати тренувань знижуються. Вони обоє йдуть в іншому випадку. Але в моєму випадку рухи повільні, тому все може змінитися після більше тренувань, і це лише один тест. Більш визначну та усвідомлену відповідь все ж оцінюватиме.