Alpha (α) is a learned scalar that controls a residual branch in ReZero. The block computes h = x + α · ReLU(F(x)) and starts with α = 0. section 14.2
Its training behavior follows a simple progression:
- At initialization, α = 0, so h = x; the residual subnetwork contributes nothing and the architecture behaves linearly. section 14.2.1
- Gradient descent changes α, allowing ReLU(F(x)) to contribute gradually as training discovers useful complexity. section 14.2
- Each residual block learns its own value, selecting when to contribute and helping determine the network’s effective depth. section 14.2.1
Figure 14.5 ReZero architecture with several epochs of training. As the model trains, it can learn to change each α independently, slowly adding hidden layers back into the network. This way, it gradually learns to use the depth and select the total effective depth it desires based on the data. In this case, ReZero learned that it only needed one of its layers; for the second, it learned to keep α ≈ 0.
After training, alpha values can differ across blocks: some layers contribute strongly, while values near zero effectively remove others. section 14.2.1
