譜歸一化層

[原始碼]

SpectralNormalization 類別

keras.layers.SpectralNormalization(layer, power_iterations=1, **kwargs)

對目標層的權重執行譜歸一化。

此封裝器通過約束層權重的譜範數來控制其 Lipschitz 常數,這可以穩定 GAN 的訓練。

參數

  • layer:一個 keras.layers.Layer 實例,它具有 kernel (例如 Conv2DDense...) 或 embeddings 屬性 (Embedding 層)。
  • power_iterations:整數,正規化期間的迭代次數。
  • **kwargs:基礎封裝器關鍵字參數。

範例

封裝 keras.layers.Conv2D

>>> x = np.random.rand(1, 10, 10, 1)
>>> conv2d = SpectralNormalization(keras.layers.Conv2D(2, 2))
>>> y = conv2d(x)
>>> y.shape
(1, 9, 9, 2)

封裝 keras.layers.Dense

>>> x = np.random.rand(1, 10, 10, 1)
>>> dense = SpectralNormalization(keras.layers.Dense(10))
>>> y = dense(x)
>>> y.shape
(1, 10, 10, 10)

參考文獻