批归一化

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