수학/인공지능을 위한 선형대수

7. 선형변환 with Neural Networks

공부중인학생 2021. 10. 13. 20:24

 - 본 내용은 edwith에서 인공지능을 위한 선형대수 내용을 통해 작성되었습니다.

 

 

선형변환은 신경망에서 가장 기초적인 형태입니다. 선형변환에서 일어나는 일은 결과에 따라 Standard vector값이 바뀌면서 좌표도 바뀌게 됩니다. 

 

선형변환 전

 

선형변환 후

 

$[1, 0], [0, 1]$이였던 벡터가 선형변환을 통해서 $[2, 3]$과 같은 형태로 바뀌고 그에 따라 좌표도 변경된 것입니다. 

 

- 선형변환을 기하학적으로 표현한 것!

 

 

이 사진에서는 56, 231, 24, 2 값을 가지는 이미지가 벡터화가 돼서 입력층으로 들어갑니다. 이 구조가 이전 게시물에서 말했던 fully connected layer의 모습입니다. 옆에 $(3 \times 4)$ 행렬과 $(4 \times 1)$ 벡터가 있는데 여기서 행렬은 3차원으로 shape을 바꿔주는 역할을 하고 학습에 따라 최적화가 진행이 됩니다. 옆에서 더해지는 $(3 \times 3)$ 벡터는 bais입니다. 

 

- 이미지가 벡터화가 되어 들어가고 fc층의 가중치인 $(3 \times 4)$ 행렬과 $(4 \times 1)$ 벡터와 연산이 진행이 되는데 가중치 값이 학습에 따라 최적화가 진행이 됩니다.

 

- 이렇게 선형변환 + 상수 덧셈이 되는 것을 Affine transformation, 아핀 변환이라고 합니다. 아핀 변환은 표현하기에 따라 선형변환이 될 수도 되지 않을 수 도 있습니다.

 

위에서 사용한 행렬의 행들이 당뇨, 고혈압, 폐암에 대한 score이고 곱해지는 벡터가 체지방률에 관한 정보라면

 

$56 \times \left [ \begin{matrix} 당뇨 \\ 고혈압 \\ 폐암 \end{matrix} \right] $

 

$56 \times \left [ \begin{matrix} 0.2 \\ 1.5 \\ -2 \end{matrix} \right] $

 

이렇게 되는데 최종적으로 알아내려는 것은 3클래스(당뇨, 고혈압, 폐암) 분류를 진행하는 것입니다. 체지방률 벡터 값을 보면 당뇨에는 0.2, 고혈압에는 1.5, 폐암에는 -2 이렇게 파라미터가 주어졌습니다. 이 값들은 체지방률이 해당 질병의 score에 어떤 영향을 주느냐로 해석할 수 있습니다.

 

체지방률이 점점 증가할 수록 고혈압은 1.5로 양수니 고혈압에 걸릴 확률이 높아진다 이렇게 생각할 수 있는 것입니다.