Как рассчитать нормализацию партии с python? - PullRequest
0 голосов
/ 08 января 2020

Когда я внедряю пакетную нормализацию в python с нуля, я растерялся. Пожалуйста, см. A paper демонстрирует некоторые цифры о методах нормализации, я думаю, что это может быть не правильно. Описание и рисунок неверны.

Описание из статьи:

enter image description here

Рисунок из статьи: original figure of BN Как Насколько мне известно, представление о нормализации партии не является правильным в оригинальной статье. Я выкладываю вопрос здесь для обсуждения. Я думаю, что нормализация партии должна быть похожа на следующий рисунок.

BN

Ключевым моментом является способ вычисления среднего и стандартного значения. С формой карт объектов в виде (batch_size, channel_number, width, height), mean = X.mean(axis=(0, 2, 3), keepdims=True) или mean = X.mean(axis=(0, 1), keepdims=True)

Какой из них правильный?

1 Ответ

1 голос
/ 09 января 2020

Вы должны рассчитать среднее значение и стандартное отклонение по всем пикселям в изображениях пакета. Поэтому используйте параметры axis = (0, 2, 3). Если каналы имеют примерно одинаковое распределение - вы также можете рассчитать среднее и стандартное для всех каналов. поэтому просто используйте mean () и std () без параметра axes.

Рисунок в статье правильный - он принимает среднее значение и стандартное отклонение по H и W (размеры изображения) для каждой партии. Очевидно, что канал не отображается в 3d-кубе.

...