У меня есть FF NN с 2 скрытыми слоями для решения проблемы регрессии. По сравнению с тем, когда я не добавляю BN, потери (MSE) удваиваются при обучении на том же количестве эпох, и время выполнения также увеличивается примерно на 20%. Почему это так?
Если бы мне пришлось угадывать - BN не стоит этого в двухуровневой сети, и дополнительные накладные расходы, вносимые BN, на самом деле выше, чем любое сокращение времени обработки, которое оно вызывает.
Это объясняет время выполнения, но я не уверен, почему потеря также выше.
model = Sequential()
model.add(Dense(128, 'relu'))
model.add(BatchNormalization())
model.add(Dense(128, 'relu'))
model.add(BatchNormalization())
model.add(Dense(1, 'linear'))
model.compile(loss=mean_squared_error, optimizer='adam')
Я пробовал различные оптимизаторы, функции активации, количество эпох, размер пакета и т. Д., Но без разницы.