Пакетная норма

@frozen
public struct BatchNorm<Scalar> : Layer where Scalar : TensorFlowFloatingPoint

Слой пакетной нормализации.

Нормализует активации предыдущего слоя в каждой партии, т. е. применяет преобразование, которое поддерживает среднюю активацию близкой к 0 и стандартное отклонение активации близкое к 1 .

Ссылка: Пакетная нормализация: ускорение глубокого обучения сети за счет уменьшения внутреннего ковариатного сдвига .

  • Размерность функции.

    Декларация

    @noDerivative
    public let axis: Int
  • Импульс для текущего среднего и текущей дисперсии.

    Декларация

    @noDerivative
    public let momentum: Scalar
  • Значение смещения, также известное как бета.

    Декларация

    public var offset: Tensor<Scalar>
  • Значение шкалы, также известное как гамма.

    Декларация

    public var scale: Tensor<Scalar>
  • Значение дисперсии эпсилон.

    Декларация

    @noDerivative
    public let epsilon: Scalar
  • Бегущее средство.

    Декларация

    @noDerivative
    public var runningMean: Parameter<Scalar>
  • Текущая дисперсия.

    Декларация

    @noDerivative
    public var runningVariance: Parameter<Scalar>
  • Создает слой пакетной нормализации.

    Декларация

    public init(
      axis: Int,
      momentum: Scalar,
      offset: Tensor<Scalar>,
      scale: Tensor<Scalar>,
      epsilon: Scalar,
      runningMean: Tensor<Scalar>,
      runningVariance: Tensor<Scalar>
    )

    Параметры

    axis

    Ось, которую не следует нормализовать (обычно ось объекта).

    momentum

    Импульс для скользящей средней.

    offset

    Смещение, добавляемое к нормализованному тензору.

    scale

    Масштаб, на который нужно умножить нормализованный тензор.

    epsilon

    К знаменателю добавлен небольшой скаляр для улучшения численной стабильности.

    runningMean

    Бегущее средство.

    runningVariance

    Текущая дисперсия.

  • Возвращает выходные данные, полученные в результате применения слоя к заданным входным данным.

    Декларация

    @differentiable
    public func forward(_ input: Tensor<Scalar>) -> Tensor<Scalar>

    Параметры

    input

    Входные данные слоя.

    Возвращаемое значение

    Выход.

  • Создает слой пакетной нормализации.

    Декларация

    public init(
      featureCount: Int,
      axis: Int = -1,
      momentum: Scalar = 0.99,
      epsilon: Scalar = 0.001
    )

    Параметры

    featureCount

    Количество функций.

    axis

    Ось, которую следует нормализовать (обычно ось объектов).

    momentum

    Импульс для скользящей средней.

    epsilon

    К знаменателю добавлен небольшой скаляр для улучшения численной стабильности.