This is the shape of the Tensor that represents the weights. You can think of the Conv2d operation as matrix multiplication (simplified):
(m x n) . (n x k) => (m x k)

replace m by output_channels, n by input_channels and k by n, and why output_channels is the first dim in the params should make sense to you.