Детали расчета нормализации партии - PullRequest
0 голосов
/ 04 февраля 2020

Я реализую алгоритм BN в моей модели CNN, используя C ++. Но я очень смущен из-за его вычисления среднего значения и стандартного отклонения. Давайте посмотрим на фотографии ниже.

BN computation fig

BN algorithm equation

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

Давайте предположим, что ввод BN [B, H, W], где B - размер пакета, (H, W) - карта объектов размер (предположим, что [3,2,2]).

  1. Среднее значение всех пикселей на одном изображении

    ([0,0,0] + [0, 0,1] + [0,1,0] + [0,1,1]) / 4

Средство мини-партии скалярное

Среднее значение пикселя одного и того же местоположения на нескольких изображениях (номер изображения = номер серии)

([0,0,0] + [1,0,0] + [2,0, 0]) / 3, ([0,0,1] + [1,0,1] + [2,0,1]) / 3, ([0,1,0] + [1,1,0] + [2,1,0]) / 3, ([0,1,1] + [1,1,1] + [2,1,1]) / 3)

Средство мини-партии - это массив

Какой расчет верен?

1 Ответ

0 голосов
/ 06 февраля 2020

Ни то, ни другое не правильно. Метод 1 просто нормализует каждое изображение; это не имеет никакого отношения к партии в целом. Метод 2 почти наверняка повредит вашей тренировке, поскольку он разъединяет смежные пиксели друг от друга.

Вам необходимо вычислить среднее значение и дисперсию всех пикселей в пакете. Затем нормализуйте каждый пиксель с помощью уравнения scale and shift, используя эти статистические данные партии.

...