tf.nn.batch_normalization
Нормализация по батчам.
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, depth]компоновки полносвязных слоев и[batch, height, width, depth]для сверток.meanиvarianceв этом случае обычно являются результатамиtf.nn.moments(..., keepdims=False)во время обучения или скользящими средними во время вывода.
См. уравнение 11 в алгоритме 2 из источника: Batch Normalization: Accelerating Deep Network Training by Reducing Internal Covariate Shift; 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/api_docs/python/tf/nn/batch_normalization