批归一化
tflearn.layers.normalization.batch_normalization (incoming, beta=0.0, gamma=1.0, epsilon=1e-05, decay=0.9, stddev=0.002, trainable=True, restore=True, reuse=False, scope=None, name='BatchNormalization')
对每一批的上一层的激活值进行归一化。
参数
- incoming:
Tensor
. 输入张量。 - beta:
float
. 默认值: 0.0。 - gamma:
float
. 默认值: 1.0。 - epsilon:
float
. 默认值: 1e-5。 - decay:
float
. 默认值: 0.9。 - stddev:
float
. 权重初始化的标准差。 - trainable:
bool
. 如果为 True,则权重将是可训练的。 - restore:
bool
. 如果为 True,则在加载模型时将恢复此层的权重。 - reuse:
bool
. 如果为 True 并且提供了“scope”,则将重用(共享)此层变量。 - scope:
str
. 定义此层的范围(可选)。范围可用于在层之间共享变量。请注意,范围将覆盖名称。 - name:
str
. 此层的名称(可选)。
参考文献
批归一化:通过减少内部协变量偏移来加速深度网络训练。Sergey Ioffe, Christian Szegedy. 2015.
链接
http://arxiv.org/pdf/1502.03167v3.pdf
局部响应归一化
tflearn.layers.normalization.local_response_normalization (incoming, depth_radius=5, bias=1.0, alpha=0.0001, beta=0.75, name='LocalResponseNormalization')
输入
4 维张量层。
输出
4 维张量层。(与输入维度相同)。
参数
- incoming:
Tensor
. 输入张量。 - depth_radius:
int
. 0 维。一维归一化窗口的半宽度。默认为 5。 - bias:
float
. 偏移量(通常为正数以避免除以 0)。默认为 1.0。 - alpha:
float
. 比例因子,通常为正数。默认为 0.0001。 - beta:
float
. 指数。默认为0.5
。 - name:
str
. 此层的名称(可选)。
L2 归一化
tflearn.layers.normalization.l2_normalize (incoming, dim, epsilon=1e-12, name='l2_normalize')
使用 L2 范数沿维度 dim
进行归一化。
对于 dim = 0
的一维张量,计算
output = x / sqrt(max(sum(x**2), epsilon))
对于具有更多维度的 x
,独立地对沿维度 dim
的每个一维切片进行归一化。
参数
- incoming:
Tensor
. 输入张量。 - dim:
int
. 要沿其进行归一化的维度。 - epsilon:
float
. 范数的下限值。如果norm < sqrt(epsilon)
,则将使用sqrt(epsilon)
作为除数。 - name:
str
. 此层的名称(可选)。
返回值
与 x
形状相同的 Tensor
。