tf.nn.batch_normalization
| Просмотреть исходный код на GitHub |
Нормализация по батчам.
tf.nn.batch_normalization(
x, mean, variance, offset, scale, variance_epsilon, name=None
)
Нормализует тензор с помощью mean и variance, и (необязательно) применяет к нему scale \(\gamma\), а также offset \(\beta\):
\(\frac{\gamma(x-\mu)}{\sigma}+\beta\)
mean, variance, offset и scale должны иметь одну из двух форм:
- В общем случае они могут иметь такое же количество измерений, что и входной
x, с идентичными размерами, как уxдля измерений, по которым не производится нормализация (измерение «глубины»), и размерностью 1 для остальных, по которым производится нормализация.meanиvarianceв этом случае, как правило, являются результатами вызоваtf.nn.moments(..., keepdims=True)во время обучения или скользящими средними во время вывода. - В общем случае, когда измерение «глубины» является последним измерением во входном тензоре
x, они могут быть одномерными тензорами того же размера, что и измерение «глубины». Это характерно, например, для общепринятой компоновки слоёв полносвязного слоя и[batch, height, width, depth]для свёрток.meanиvarianceв этом случае обычно являются результатами вызоваtf.nn.moments(..., keepdims=False)во время обучения или скользящими средними во время вывода.
См. уравнение 11 в алгоритме 2 из источника: Нормализация по батчам: ускорение обучения глубоких нейронных сетей путём уменьшения сдвига внутренних ковариаций; S. Ioffe, C. Szegedy.
| Аргументы | |
|---|---|
x | Входной Tensor произвольной размерности. |
mean | Среднее значение Tensor. |
variance | Дисперсия Tensor. |
offset | Смещение Tensor, часто обозначаемое \(\beta\) в уравнениях, или None. Если присутствует, будет добавлено к нормализованному тензору. |
scale | Масштаб Tensor, часто обозначаемый \(\gamma\) в уравнениях, или None. Если присутствует, масштабирование применяется к нормализованному тензору. |
variance_epsilon | Малое число с плавающей точкой, чтобы избежать деления на ноль. |
name | Имя этой операции (необязательно). |
| Возвращаемое значение | |
|---|---|
| нормализованный, масштабированный, сдвинутый тензор. |
Ссылки:
Нормализация по батчам - Ускорение обучения глубоких нейронных сетей путём уменьшения сдвига внутренних ковариаций: Ioffe et al., 2015 (pdf)
© 2022 The TensorFlow Authors. All rights reserved.
Licensed under the Creative Commons Attribution License 4.0.
Code samples licensed under the Apache 2.0 License.
https://www.tensorflow.org/versions/r2.9/api_docs/python/tf/nn/batch_normalization