Skip to content

Significance of SiLU->BatchNorm->Conv2d structure #13

Description

@burichh

Is there any major significance having the residual layers structured as SiLU -> BatchNorm -> Conv2d?

Image

I read other UNet implementations, where the Conv2d -> BatchNorm -> SiLU ordering was used. I'm not sure if there might be a strong case for one or the other, besides maybe:

  1. SiLU -> BatchNorm -> Conv2d might be a bit more expressive, because the non-linearity is applied before the normalization, thus the model can utilize a wider range of the non-linear function,
  2. Conv2d -> BatchNorm -> SiLU might be a bit more stable during training, because the activations cannot explode so easily.

I'm just speculating now, I wonder if you have any experience with this, or any kind of reasoning about the preference of one over the other?

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions