배치표준

@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

    수치적 안정성을 향상시키기 위해 분모에 작은 스칼라가 추가되었습니다.