입력 X의 dimension이 B×D (단 B는 batch size, D는 feature dimension)이라고 할 때


batch normalization에서는 μ와 σ²를 batch에 대해서 계산해서 각각의 차원이 D가 되고

layer normalization에서는 feature dimension에 대해서 계산해서 각각 B 되는 거

그리고 정규화한 Xhat의 dimension은 입력이랑 같은 B×D차원이라는 건 이해했음


근데 이제 여기에 scale parameter γ랑 shift parameter β를 적용해야 하잖아. 얘네는 어떻게 적용되고 차원이 어떻게 되는 거야?

batch normalization은 수식이 명확한 소스가 많고 γ랑 β의 차원이 D인 것까지는 확인이 가능한데

layer normalization의 learnable parameter는 수식이 명확한 소스가 없더라

뭔가 직관적으로는 차원이 B여야 맞을 것 같은데 챗gpt한테는 칼 들고 협박하면서 물어 봐도 D라고 대답하고 ㅋㅋㅋㅋㅋ


혹시 명확한 소스가 있는 곳이 있을까?
-------------------------------------------

추가:


https://stackoverflow.com/questions/56697941/what-are-the-shapes-of-beta-and-gamma-parameters-in-layer-normalization-layer


leimao.github.io/blog/Layer-Normalization/


D가 맞는 것 같네... 왜지??