Composite(
  GlobalTypeRule(     # on all layers
    Union{Conv, ConvTranspose, CrossCor} => GammaRule{Float32}(0.25f0),
    Dense => EpsilonRule{Float32}(1.0f-6),
    Union{typeof(Flux.dropout), AlphaDropout, Dropout} => PassRule(),
    Union{typeof(flatten), typeof(MLUtils.flatten)} => PassRule(),
  ),
  FirstLayerTypeRule( # on first layer
    Union{Conv, ConvTranspose, CrossCor} => ZBoxRule{Float32}(-3.0f0, 3.0f0),
  ),
)
