Keras 2 API 文件 / 層 API / 層權重正規化器

層權重正規化器

[原始碼]

L1 類別

tf_keras.regularizers.L1(l1=0.01, **kwargs)

一個應用 L1 正規化懲罰的正規化器。

L1 正規化懲罰的計算方式為:loss = l1 * reduce_sum(abs(x))

L1 可以作為字串識別符傳遞到層

>>> dense = tf.keras.layers.Dense(3, kernel_regularizer='l1')

在這種情況下,使用的預設值為 l1=0.01

參數

  • l1:浮點數;L1 正規化因子。

[原始碼]

L2 類別

tf_keras.regularizers.L2(l2=0.01, **kwargs)

一個應用 L2 正規化懲罰的正規化器。

L2 正規化懲罰的計算方式為:loss = l2 * reduce_sum(square(x))

L2 可以作為字串識別符傳遞到層

>>> dense = tf.keras.layers.Dense(3, kernel_regularizer='l2')

在這種情況下,使用的預設值為 l2=0.01

參數

  • l2:浮點數;L2 正規化因子。

[原始碼]

L1L2 類別

tf_keras.regularizers.L1L2(l1=0.0, l2=0.0)

一個同時應用 L1 和 L2 正規化懲罰的正規化器。

L1 正規化懲罰的計算方式為:loss = l1 * reduce_sum(abs(x))

L2 正規化懲罰的計算方式為 loss = l2 * reduce_sum(square(x))

L1L2 可以作為字串識別符傳遞到層

>>> dense = tf.keras.layers.Dense(3, kernel_regularizer='l1_l2')

在這種情況下,使用的預設值為 l1=0.01l2=0.01

參數

  • l1:浮點數;L1 正規化因子。
  • l2:浮點數;L2 正規化因子。

[原始碼]

OrthogonalRegularizer 類別

tf_keras.regularizers.OrthogonalRegularizer(factor=0.01, mode="rows")

鼓勵輸入向量彼此正交的正規化器。

它可以應用於矩陣的行(mode="rows")或列(mode="columns")。當應用於形狀為 (input_dim, units)Dense 核心時,行模式會嘗試使特徵向量(即輸出空間的基礎)彼此正交。

參數

  • factor:浮點數。正規化因子。正規化懲罰將與 factor 乘以輸入的 L2 正規化行的點積平均值成正比(如果 mode="rows",或者如果是 mode="columns" 則為列),不包括每個行/列與自身的乘積。預設值為 0.01。
  • mode:字串,為 {"rows", "columns"} 其中之一。預設值為 "rows"。在行模式下,正規化效果會嘗試使輸入的行彼此正交。在列模式下,它會嘗試使輸入的列彼此正交。

範例

>>> regularizer = tf.keras.regularizers.OrthogonalRegularizer(factor=0.01)
>>> layer = tf.keras.layers.Dense(units=4, kernel_regularizer=regularizer)