Affine 계층 역전파에서 전치행렬이 등장하는 이유

히스토리

image.png

Affine 계층을 보면 1번의 네모 박스에서 갑자기 전치행렬이 등장하는 것을 확인할 수 있다. 물론, 수학적으로 사고가 조금 되시는 분들은 왜 전치행렬이 등장하는지 아실수 있을거 같으나, 이전에 스칼라를 이용해 역전파를 구성했을때는 전치행렬이 아닌 그냥 W 가 곱해져야 하는게 아닌가? 라고 사고할수도 있다고 생각한다.

나와같이 이런 궁금중을 가진 사람이 또 존재할까봐 한번 수식으로 증명해보며 확인해보려고 한다.

탐구

이럴때는 사실 작은 예시를 하나 만드는게 가장 편하다. 아래와 같은 작은 식이 하나 있다고 해보자

$$Y = W*X$$

X, W, Y 에 관한 정의는 아래와 같다

  • X 는 (1,2) 행렬이다.
  • W 는 (2,3) 행렬이다.
  • W*X 의 곱의 결과가 Y 이므로 Y 는 (1,3) 의 행렬이 된다.

$$X = \begin{bmatrix} x_{11} & x_{12} \end{bmatrix}$$

$$W = \begin{bmatrix} w_{11} & w_{12} & w_{13} \ w_{21} & w_{22} & w_{23} \end{bmatrix}$$

둘을 곱하게 되면 Y 는 아래와 같은 형태가 될것 이다.

$$Y(XW) = \begin{bmatrix} x_{11}w_{11} + x_{12}w_{21} \ x_{11}w_{12} + x_{12}w_{22} \ x_{11}w_{13} + x_{12}*w_{23} \end{bmatrix}$$

위의 결과를 각각 x11, x12 로 편미분 한다고 해보자.

$$\frac{\partial Y}{\partial X_{11}} = \begin{bmatrix} w_{11} \ w_{12} \ w_{13} \end{bmatrix}$$

$$\frac{\partial Y}{\partial X_{12}} = \begin{bmatrix} w_{21} \ w_{22} \ w_{23} \end{bmatrix}$$

과 같이 변할 것 이다. 즉, 이 두개를 합쳐보면

$$W^T = \begin{bmatrix} w_{11} & w_{12} \ w_{13} & w_{21} \ w_{22} & w_{23} \end{bmatrix}$$

위와 같은 식임을 확인할 수 있다.

$$W = \begin{bmatrix} w_{11} & w_{12} & w_{13} \ w_{21} & w_{22} & w_{23} \end{bmatrix}$$

W 와 놓고 비교해보면 W 의 전치행렬임을 더 쉽게 확인할 수 있다.

결론

즉, 연쇄법칙이 일어나는 Affine 계층에서 역전파를 일으킬때 전치행렬이 나오는 이유는 위와 같다. 왜냐면 항상 우리는 위 식의 경우 X 에 관한것은 아래와 같이 Loss 함수의 값을 X 로 미분을 하는 것이기 때문이다.

$$\frac{\partial L}{\partial X}$$

🔗 연결된 문서

💬 댓글 0

🕸️ 문서 관계도