インスタンスノルム

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

入力のミニバッチに対してインスタンスの正規化を適用するレイヤー。

参考:インスタンスの正規化: 高速スタイル化に不足している要素

  • ベータとも呼ばれるオフセット値。

    宣言

    public var offset: Tensor<Scalar> { get set }
  • ガンマとも呼ばれるスケール値。

    宣言

    public var scale: Tensor<Scalar> { get set }
  • 特徴が存在する軸。

    宣言

    public var axis: Int { get }
  • 分散イプシロン値。

    宣言

    public var epsilon: Scalar { get }
  • インスタンス正規化レイヤーを作成します。

    前提条件

    軸をバッチ軸にすることはできません。

    前提条件

    オフセットはランク 1 でなければなりません。

    前提条件

    オフセットとスケールは同じ形状でなければなりません。

    宣言

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

    パラメーター

    offset

    初期オフセット値。

    scale

    初期スケール値。

    axis

    特徴が存在する軸。

    epsilon

    分散イプシロン値。

  • インスタンス正規化レイヤーを作成します。

    前提条件

    軸をバッチ軸にすることはできません。

    前提条件

    入力とオフセットの特徴の数は同じである必要があります。

    宣言

    public init(
      featureCount: Int,
      axis: Int = -1,
      epsilon: Scalar = 1e-3
    )

    パラメーター

    featureCount

    特徴の数。

    axis

    特徴が存在する軸。デフォルト値は -1 です。

    epsilon

    小さなスカラーが分散に追加されました。デフォルト値は 0.001 です。

  • 指定された入力にレイヤーを適用して得られた出力を返します。

    宣言

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

    パラメーター

    input

    レイヤーへの入力。

    戻り値

    出力。