@frozen
public struct BatchNorm<Scalar> : Layer where Scalar : TensorFlowFloatingPoint
Un livello di normalizzazione batch.
Normalizza le attivazioni dello strato precedente ad ogni batch, ovvero applica una trasformazione che mantiene l'attivazione media vicina a 0
e la deviazione standard di attivazione vicina a 1
.
Riferimento: Normalizzazione batch: accelerazione dell'addestramento della rete profonda riducendo lo spostamento della covariata interna .
La dimensione della caratteristica.
Dichiarazione
@noDerivative public let axis: Int
Lo slancio per la media corrente e la varianza corrente.
Dichiarazione
@noDerivative public let momentum: Scalar
Il valore di offset, noto anche come beta.
Dichiarazione
public var offset: Tensor<Scalar>
Il valore di scala, noto anche come gamma.
Dichiarazione
public var scale: Tensor<Scalar>
Il valore epsilon della varianza.
Dichiarazione
@noDerivative public let epsilon: Scalar
Il mezzo di corsa.
Dichiarazione
@noDerivative public var runningMean: Parameter<Scalar>
La varianza di corsa.
Dichiarazione
@noDerivative public var runningVariance: Parameter<Scalar>
Crea un livello di normalizzazione batch.
Dichiarazione
Parametri
axis
L'asse che non deve essere normalizzato (in genere l'asse della feature).
momentum
Lo slancio per la media mobile.
offset
L'offset da aggiungere al tensore normalizzato.
scale
La scala per cui moltiplicare il tensore normalizzato.
epsilon
Un piccolo scalare aggiunto al denominatore per migliorare la stabilità numerica.
runningMean
Il mezzo di corsa.
runningVariance
La varianza di corsa.
Crea un livello di normalizzazione batch.
Dichiarazione
public init( featureCount: Int, axis: Int = -1, momentum: Scalar = 0.99, epsilon: Scalar = 0.001 )
Parametri
featureCount
Il numero di funzionalità.
axis
L'asse da normalizzare (in genere l'asse delle caratteristiche).
momentum
Lo slancio per la media mobile.
epsilon
Un piccolo scalare aggiunto al denominatore per migliorare la stabilità numerica.