본문 바로가기

머신러닝/[인공지능을 위한 선형대수]

선형변환 with Neural Networks

학습목표

 이번 강의에서는 앞서 배운 선형변환이 실제 딥 러닝(Deep Learning)이 기반을 두는 신경망(Neural Networks)에서는 어떻게 작용하는지 알아보겠습니다.

학습하기

 이런 선형변환이 많은 것을 시사하는데요. Neural Network에서 Fully-connected layer(Affine layer)를 생각해봅시다. 아래 그림의 링크를 들어가셔서 내용을 읽어보시는 것을 추천드립니다. 자 [1,0], [0,1]이라는 Standard vector들을 생각해봅시다. 이런 벡터들로 Span되는 공간은 아래 그림과 같은 평면이 되겠죠. 그리고, T([1,0])=[2,3], T([0,1])=[1,4]라는 변환을 알고있다고 생각해봅시다. 이러한 변환을 통해 구한 Standard matrix A가 있을 텐데, 이를 이용한 Ax의 출력을 생각해보면, 어떤 벡터 x를, 아래의 예쁜 좌표계가 아닌, 조금 뒤틀린, 왜곡된 좌표계로 매핑한다는 것을 알 수 있습니다. 

 블로그 글쓴이의 개인적인 의견으로는 Youtube: 3Blue1Brown의 Transformation 영상도 추천드립니다.

 그리고 Affine layer에 대해 설명을 드리자면, Affine transform이라는 건, 전에 설명드렸던 y=3x+2와 같이, 선형변환에 Bias가 추가된 변환입니다. 이런 Affine transformation은 그 자체로는 Linear하지 않지만, 굉장히 쉽게 Linear하게 바꿀 수 있습니다. 실제로 아래 그림과 같이 Fully-connected layer는 Bias term을 갖게끔 구성되며, 때문에 Linear layer가 아닌 Affine layer라고 칭합니다. 아래 그림을 보면, 입력으로 사용되는 Feature vectors의 가장 밑에 1을 추가하여 Linear한 성질을 갖도록하며, Standard matrix에 해당하는 Coefficients와 Bias term이, 우리가 NN를 통해 예측하고자하는 변수가 되는 거죠.

 

'머신러닝 > [인공지능을 위한 선형대수]' 카테고리의 다른 글

Least Square Problem 소개  (0) 2020.05.16
전사함수와 일대일함수  (0) 2020.05.15
선형변환  (0) 2020.05.13
부분공간의 기저와 차원  (0) 2020.05.13
선형독립과 선형종속  (0) 2020.05.12