개발/수학

[선형대수] 선형변환 Linear Transformation (with Neural Networks)

jykim23 2024. 3. 24. 14:54

출처 : www.boostcourse.org/ai251

Transformation

Mathematical notation: 𝑇: 𝑥 ↦ y

Domain : 정의역. x가 될수 있는 수의 집합.(백터라고 생각)

Co-domain : 공의역. y가 될수 있는 수의 집합.(백터라고 생각)

Image : 함수의 상. 함수의 output. x에 의한 y의 값

Range : 치역. Image의 집합. 실제 y의 값 집합

그 외 함수의 특징 : x는 모두 사용되어야 하고 하나의 x에 대한 결과는 하나의 y이다. 등등

 

 

Linear Transformation(or mapping) 선형 변환(or 사상)

(행렬이 아닌 선형이라고 표현하는 이유)

선형변환 𝑇  의 조건 : 𝑇(𝑐𝐮 + 𝑑𝐯) = 𝑐𝑇(𝐮) + 𝑑𝑇(𝐯)

for all 𝐮, 𝐯 in the domain of 𝑇 and for all scalars 𝑐 and 𝑑

예시) f(x) = 3x + 2

𝐮, 𝐯 = [1 -> 5], [2 -> 8] # 정의역 백터

scalars 𝑐 and 𝑑 = 3, 4

 𝑇 (𝑐𝐮 + 𝑑𝐯) = 𝑇( 3*1 + 4*2)

𝑐𝑇(𝐮) + 𝑑𝑇(𝐯) = 3𝑇(1) + 4𝑇(2)

 

𝑇( 3*1 + 4*2) = 𝑇(11) = 3*11 + 2 = 35

3𝑇(1) + 4𝑇(2) = 3*5 + 4*8 = 15+32 = 47

1차원에서 1차원 매트릭스로 변환하여 실패.

그럼 2차원로 만들어서 1차원으로 변환하자.

 

2차원로 변환.

3x + 2 = [3 2][ x

                          1]

[x 1] 의 x에 임의의 수 1과 2를 넣는다면 [x 1], [x 2]가 된다. 그리고 다시 구해보자

𝑇 (𝑐𝐮 + 𝑑𝐯) 에서 ( 𝑐𝐮 + 𝑑𝐯 ) 의 식

𝑐𝐮 + 𝑑𝐯 =

3[ 1 ] + 4[ 2 ] = [ 11 ]

  [ 1 ]      [ 1 ]    [  7  ]

 

정의역 [11 7] 이 구해졌다. 다시 2차원 매트릭스로 변환한 식에 대입하면 

𝑇 ([11 7]) = 35

[3 2][ 11

            7]

 

아아아아아아아직도 모르겠다.

기저 백터를 활용하여 증명

 

 

Matrix of Linear Transformation

일반화 

𝑇 ∶ ℝ𝑛 → ℝ𝑚

𝑇(x) = 𝐴x for all x ∈ ℝ 𝑛

𝐴 = [𝑇 (e1) ⋯ 𝑇 (e𝑛)]

𝐴 는 standard matrix 라고 부른다.

 

예시

딥러닝에서 선형변환의 의미

Linear Transformation in Neural Networks

참고링크 : https://colah.github.io/posts/2014-03-NN-Manifolds-Topology/

 

정사각형의 모눈종이를 평행사변형으로 변형되는 과정

  1. A linear transformation by the “weight” matrix W
  2. A translation by the vector b
  3. Point-wise application of tanh.

선형변환의 시각화

Affine Layer in Neural Networks

y = ax + b

b : 편향, 절편, 상수

b 로 인해 선형이 깨진다.

그럼 b에 1을 추가하여 선형으로 해석할 수 있다.

y = ax + b*1 

Affine Layer