#pytorch
#pytorch
Вопрос:
Когда я использую pytorch для обучения своего CNN, регуляризация L2 будет использоваться для панорамирования параметров в модели. Но код pytorch «уменьшение веса» будет использовать L2 для всех параметров, которые могут быть обновлены. Должны ли параметры в слоях BatchNorm также быть упорядочены по L2?
Ответ №1:
Если вы используете BatchNorm сразу после nn.Conv2d
или nn.Linear
, вы можете «сложить» изученный вес и смещение в conv / linear layer.
следовательно, изученный вес и смещение напрямую влияют на фактическую норму L2 «эффективных» весов вашей сети.
Поэтому, если вы используете регуляризацию L2, чтобы приблизить свои веса к нулю, вы также должны упорядочить параметры пакетной нормы.
Комментарии:
1. @Rika В целом, я считаю, что регуляризация L2 не так выгодна, и поэтому я ее вообще не использую. Я думаю, что выбор «регуляризации» / «предшествующего» на основе имеющихся у нас знаний о конкретной проблеме, которую мы пытаемся решить, лучше, чем просто использование «глобальных» предположений.