Composite(
  GlobalTypeRule(  # on all layers
    Conv => AlphaBetaRule{Float32}(2.0f0, 1.0f0),
    Dense => EpsilonRule{Float32}(1.0f-6),
    Union{typeof(Flux.dropout), AlphaDropout, Dropout} => PassRule(),
    Union{typeof(flatten), typeof(MLUtils.flatten)} => PassRule(),
  ),
  FirstLayerTypeRule(  # on first layer
    Conv => FlatRule(),
    Dense => FlatRule(),
  ),
)
