Keras 3 API 文件 / KerasCV / / 正規化層 / 隨機深度層

隨機深度層

[來源]

隨機深度 類別

keras_cv.layers.StochasticDepth(rate=0.5, **kwargs)

實作隨機深度層。它會在殘差架構中隨機丟棄殘差分支。它被用作加法運算的替代品。請注意,此層不會跨個別樣本丟棄殘差塊,而是跨整個批次丟棄。

參考

參數

  • rate:浮點數,殘差分支被丟棄的機率。

範例

隨機深度 可在殘差網路中使用,如下所示

# (...)
input = tf.ones((1, 3, 3, 1), dtype=tf.float32)
residual = keras.layers.Conv2D(1, 1)(input)
output = keras_cv.layers.StochasticDepth()([input, residual])
# (...)

在訓練時,隨機深度返回: $$ x[0] + b_l * x[1], $$ 其中 $b_l$ 是一個機率為 $P(b_l = 1) = rate$ 的隨機伯努利變數。在測試時,隨機深度會根據丟棄率 ($rate$) 調整殘差分支的激活值: $$ x[0] + (1 - rate) * x[1] $$