batchnorm: batch σ correct coefficient
This commit is contained in:
parent
e0201be770
commit
b3356cc6bb
@ -92,12 +92,12 @@ function (BN::BatchNorm)(x)
|
|||||||
ϵ = T(BN.ϵ)
|
ϵ = T(BN.ϵ)
|
||||||
m = size(x, 2) # batch size
|
m = size(x, 2) # batch size
|
||||||
μ = sum(x, 2) ./ m
|
μ = sum(x, 2) ./ m
|
||||||
σ = sqrt.(sum((x .- μ).^2, 2) ./ (m - 1) .+ ϵ)
|
σ = sqrt.(sum((x .- μ).^2, 2) ./ m .+ ϵ)
|
||||||
|
|
||||||
# update moving mean/std
|
# update moving mean/std
|
||||||
mtm = T(BN.momentum)
|
mtm = T(BN.momentum)
|
||||||
BN.μ = mtm .* μ.data .+ (1 - mtm) .* BN.μ
|
BN.μ = (1 - mtm) .* BN.μ .+ mtm .* μ.data
|
||||||
BN.σ = mtm .* σ.data .+ (1 - mtm) .* BN.σ
|
BN.σ = (1 - mtm) .* BN.σ .+ mtm .* σ.data .* m ./ (m - 1)
|
||||||
end
|
end
|
||||||
|
|
||||||
BN.λ.(BN.γ .* ((x .- μ) ./ σ) .+ BN.β)
|
BN.λ.(BN.γ .* ((x .- μ) ./ σ) .+ BN.β)
|
||||||
|
Loading…
Reference in New Issue
Block a user