본문 바로가기
Computer Science/Artificial Intelligence

[인공지능] SP03. Shallow neural networks

by na1-4an 2023. 10. 18.

3-1 Neural network example

1. Neural network의 예시

  • Shallow network: 은닉층이 하나인 신경망
  • 함수 f: 입력 x와, 출력 y를 매핑하는 파라미터 ϕ를 가짐.
  • 파라미터 10개(바이어스 4개, 가중치 6개)

2. 파라미터에 따른 그래프.

  • 파라미터의 선택에 따라 서로 다른 형태의 그래프가 나옴.
  • input, output 관계가 piecewise linear하게 나옴.
  • 그러나 모두 3개의 변곡점을 가지고 있다는 공통점이 있음.
  • joint의 수는 노드 수이다!(마지막 hidden layer의 노드 수가 3개여서 3개의 변곡점.)

3. shallow network그래프 그리는 과정

  • step1) 0보다 작은 부분을 0으로 만듦.(이때 꺾이는 부분이 최종출력의 joint가 됨)
  • step2) 각 노드의 파라미터를 곱해줌
  • step3) 세 함수를 더해줌.
  • step4) 전체 함수의 높이를 제어하는 파라미터를 더함.
  • step1에서 0으로 잘리면(clipped) 활성화가 안 된 것. 안 잘리고 값이 그대로면 활성화 된 것.
  • 위의 색칠된 부분은 h1과 h3의 영향을 받음.
  • 위의 색칠된 부분의 기울기는 " θ11ϕ1 + θ31ϕ3 "
  • ReLU함수를 사용하면 D개의 hidden unit이 있으면 D개의 joint와 D+1개의 linear region을 가짐.
  • 즉, hidden units만 충분히 있으면 어떤 그래프도 다 만들 수 있다!!

3-2 Universal approximation theorem(범용 근사 정리)

1. Shallow neural network의 hidden layer 수

: Shallow neural network의 hidden layer 수는 네트워크의 성능(capacity)의 척도임.

2. 범용 근사 정리(Universal approximation theorem)

: hidden unit이 충분하다면, 임의의 연속함수를 만들 수 있다.

3-3 Multivariate inputs and outputs(다변량 입력과 출력)

1. 다변량 출력

: 지금까지 출력노드가 하나인 neural network를 봤다면, 이번에는 다변량 출력(출력 노드 여러개)를 보겠다. 입력 노드는 2개, hidden 노드는 4개, 출력 노드느 2개이다.

2. 다변량 입력

: 입력의 노드가 2개이면 1차원 선 그래프가 아닌, 2차원 평면이 입력된다.

히든 유닛의 입력은 두 입력값의 선형 함수로, 이는 방향을 가진 평면임!

step0) (a)에서 밝기는 θ10 + θ11x1 + θ12x2./ 얇은 선은 등고선을 나타냄.

step1)  a~c를 ReLU함수에 넣음. 여기서 청록색 부분이 joint 부분이됨.

step2) d~f에 각각의  ϕ를 곱함

step3) 세 평면을 더함.

step4) 높이를 결정하는 ϕ0를 더함.

  • 결과 볼록한 분할 선형 다각형(convex piecewise linear polygonal) 영역으로 이뤄진 표면이 나옴.
  • 중앙 삼각형 영역에서 첫번째와 세번째 히든 유닛이 활성화 됨.
  • 입력 모델에 2개 이상의 입력이 있으면, 출력은 입력의 연속적 분할 선형함수가 됨. 
  • 이때 선형 영역은 다차원 입력공간에서 볼록 다각체임.(convex polytopes)

3. 선형 영역 vs 히든 노드

a) D(차원)와 히든 노드 수에 따른, 결과 영역의 최대 수. Di = {1,5,10,50,100}

b) D와 파라미터 수에 따른,결과 영역의 최대 수

4. 선형 영역 vs 입력 차원

a) 1개 입력(1차원): 2(2^1)개의 선형 영역

b) 2개 입력(2차원): 4(2^2)개의 선형 영역

c) 3개 입력(3차원): 8(2^3)개의 선형 영역

3-4 Shallow neural networks: general case

1. 일반화

▪ 다차원 입력 x ∈ R^Di

▪ 다차원 출력 y ∈ R^Do

▪ h ∈ R^D 히든 노드.

2. 예시

: 20개의 파라미터를 가짐.(3*3 + 3*2 + 5)

: 9 + 6개의 기울기, 6개의 offset.

: ReLU 활성화 함수를 사용하면 네트워크는 입력 공간을, convex polytopes (볼록 다각형)으로 나눔.

3-5 Terminology(용어)

  • Pre-activations(z): 히든 레이어의 입력 값. 즉, ReLU함수 적용되기 전.
  • Activations: 히든 레이어에서의 값.
  • Feed-forward networks: 순환하지 않는 그래프를 만드는 신경망.
  • Fully connected:한 레이어의 모든 노드가 다음레이어의 모든 노드에 연결된 경우.

활성화 함수의 종류. 모두 다른 장단점.

  • highpublic 탄젠트/ Leaky ReLU/ Parametric ReLU/ Gaussian error LU/ Exponential LU/ Scaled Exponential LU/ Sigmoid LU/ swish

3-6 Summary

1. Shallow neural network 과정

   (i) 입력에 대한 여러 선형 함수를 계산.

   (ii) 각 결과를 활성화 함수를 통과시킴.

   (iii) 이러한 활성화의 선형 조합을 사용하여 출력을 형성.

입력 공간을 분할하여 분할 선형 영역(초평면된 조각, piecewise linear)의 연속 표면을 형성.

→ Universal approximation theorem: 충분한 노드가 있으면 임의의 연속함수를 근사화할 수 있음.

◆ Shallow network에서 히든 노드의 수는 joint 수이다. 
◆ Shallow network에서 출력 노드의 수는 출력 그래프(평면)의 개수이다.
◆ Shallow network에서 입력 노드의 수가 n이면 입력한 형태는 n차원이다.
◆ Shallow network에서 입력 노드의 수가 n이면 2^n개의 선형 영역이 생긴다.
(근데 input값과 output값을 함께 좌표상에 나타낼 때는 n+1차원이 됨!)