Нормализация по каналам может испортить визуальное представление изображения, и это всегда труднее проводить проверку работоспособности.
Вопрос 1: Теперь, когда мы есть изображение, скажем, размера 28 * 28, от чего зависит нормализующая ось?
Если у вас есть 28 * 28 * 1 (при условии 1 канала), вы можете нормализовать это изображение на основе на его расположении в наборе данных. Как правило, здесь используется значение 1
, поскольку изображения обычно составлены, а не объединены .
[Image 0] Compared to [Image 0][Image 1][Image 2][Image ...]
[Image 1]
[Image 2]
[Image ...]
То есть вы можете ссылаться на него следующим образом:
Image[0] = (28*28*1) // 28*28 is the number of Columns per Row (Image)
Image[1] = (28*28*1)
Вопрос 2: Каждое изображение является выборкой данных, поэтому я запутался по какой оси нормализовать значения пикселей, соответствующие одному изображению. Почти в каждом уроке и примере берется ось = 1, и нормализация выполняется для всех изображений вместе.
Нормализация данных означает 2 вещи:
- Размещение данных на тот же масштаб (масштабирование), что повышает скорость и точность сходимости.
Scaling is commonly 0 to 1, -1 to 1, and -1 to 1 with 0 mean.
Балансировка данных вокруг точки (Центрирование), которая борется с градиентами взрыва и исчезновения, а также с повышением сходимости и точности.
Как я указал в ответе на вопрос 1 ось значения = 1 обусловлена укладкой изображений.
Image[0][28*28_pixels]
Image[1][28*28_pixels]
Image[...][28*28_pixels]
Следовательно, когда вы нормализуете в axis = 1 (columns)
, вы можете получить правильную шкалу , учитывая все значения в расположение в пикселях pixel 1 is compared to pixel 1 of all the images
, что делается для набора данных WHOLE , поэтому нормализация сбалансирована по всем данным до определенной точки .