img=(img-np.mean(img, axis=(0,1)))/np.std(img, axis=(0,1))
Приведенный выше фрагмент кода означает Среднее вычитание с последующей нормализацией.
Вы можете обратиться к CS231 Notes для получения дополнительной информации, но вот соответствующие части
Среднее вычитание является наиболее распространенной формой предварительной обработки. Он включает в себя вычитание среднего значения для каждого отдельного элемента данных и имеет геометрическую интерпретацию центрирования облака данных вокруг источника вдоль каждого измерения. В целом, эта операция будет реализована следующим образом: X - = np.mean (X, axis = 0). Что касается изображений, то для удобства может быть обычным вычесть одно значение из всех пикселей (например, X - = np.mean (X)) или сделать это отдельно для трех цветовых каналов.
Нормализация относится к нормализации измерений данных, чтобы они имели приблизительно одинаковый масштаб. Есть два распространенных способа достижения этой нормализации. Один из них состоит в том, чтобы разделить каждое измерение на его стандартное отклонение, если оно было центрировано по нулю: (X / = np.std (X, ось = 0)). Другая форма этой предварительной обработки нормализует каждое измерение, так что min и max вдоль измерения равны -1 и 1 соответственно. Имеет смысл применять эту предварительную обработку только в том случае, если у вас есть основания полагать, что разные входные функции имеют разные шкалы (или единицы измерения), но они должны иметь приблизительно одинаковое значение для алгоритма обучения. В случае изображений относительные масштабы пикселей уже приблизительно равны (и находятся в диапазоне от 0 до 255), поэтому нет необходимости выполнять этот дополнительный этап предварительной обработки.
Среднее вычитание Балансирует данные вокруг точки (Центрирование)
Центрирование борется с исчезающими и взрывающимися градиентами, а также, вероятно, также увеличивает скорость и точность сходимости.
Я бы порекомендовал вам перейти по ссылке. Эти темы объясняются гораздо лучше