Почему слой нормализации партии следует за слоем масштаба в кафе? - PullRequest
0 голосов
/ 12 октября 2018

Я заметил, что слой нормализации партии следует за слоем масштаба в мобильной сети.Кажется, что слой BN и слой масштаба представляют собой пару.
И слой Convolution + слой BN + слой Scale + слой ReLU работает хорошо.
Так что же делает слой масштаба?
Кажется, что caffe не может выучить параметры вСлой BN, поэтому масштабный слой полезен, но почему?
В приложении tenorflow doc: https://www.tensorflow.org/api_docs/python/tf/contrib/layers/batch_norm

Когда следующий слой является линейным (например, nn.relu), это можетбыть отключен, так как масштабирование может быть сделано следующим слоем.

Это делает меня более запутанным.Пожалуйста, помогите мне, спасибо!

1 Ответ

0 голосов
/ 12 октября 2018

Нормализация партии выполняет две вещи: сначала нормализуется со средним и стандартным отклонением активаций в партии, а затем выполняет масштабирование и смещение, чтобы восстановить соответствующий диапазон активаций.

Caffe реализовал это с двумя слоямислой нормализации партии выполняет только часть нормализации, без масштабирования и смещения, что может быть выполнено с масштабирующим слоем или даже может не потребоваться, если следующий уровень также может выполнять масштабирование (это то, что упоминается в документах TF).

Надеюсь, это поможет.

...