선형 계층이란?

$$ f= R^4 → R^3 $$

Untitled

선형 계층 함수의 동작 방식

Untitled

  1. 선형 계층 함수는 가중치 파라미터를 가지고 있다.
  2. 각각의 출력 노드의 값은 입력 노드로부터 들어오는 값에 가중치 파라미터 Wi→j를 곱하고 또 다른 가중치 파라미터 bj를 더해서 결정됨

위 그림을 일반화한 함수 W, b는 가중치 x는 입력노드

위 그림을 일반화한 함수 W, b는 가중치 x는 입력노드

  1. x는 입력벡터이고 n차원의 실수 벡터
  2. 출력벡터 y는 m차원의 실수 벡터
  3. n차원 → m차원으로 만들어주는 함수 = f(x)
  4. f(x) 에서 n차원인 x는 W라는 가중치를 만나 m차원이 된다. 그러면 W는 nxm차원
  5. 따라서 f는

$$ f : R^n → R^m $$

만약, N차원이라면 결과는 Nxm값이 되고 N차원의 입력벡터는 미니배치로 표현된다.

선형계층의 의미

: 행렬 곱셈과 벡터의 덧셈으로 이루어져 있기 때문에 선형 변환이라고 볼 수 있다.

→ 이를 이용해 모델을 구성할 경우 선형 데이터에 대한 관계를 분석하거나 선형 함수를 근사계산할 수 있다.

W = torch.FloatTensor([[1,2,],[3,4],[5,6]])
b = torch.FloatTensor([2,2])
# 3x2크기의 행렬 W와, 2개의 요소를 갖는 벡터 b선언.

def Linear(x,W,b) :
  y = torch.matmul(x,W)+b
  return y

x = torch.FloatTensor(4,3)
y = Linear(x,W,b)

결과
tensor([[-2.5920e+17, -3.4678e+17],
        [-1.2875e+17, -1.7167e+17],
        [-2.5749e+17, -3.4332e+17],
        [-1.2872e+17, -1.7162e+17]])