Shallow Neural Networks (3주차) (1)

post-thumbnail

Neuroscience

Neuron

정의 : 신경 신호 (Nerve Impulses)를 전달하는 특수 세포

  • 왼쪽 : 뉴런들이 서로 연결되어 있는 모습
  • 오른쪽 : 뇌에서 뉴런이 활동하는 모습
    즉, 뉴런은 서로 연결되어 있고, 신호를 주고받으면서 뇌가 작동한다는 걸 보여줌

  • 입력 :

    x0,x1,x2x_0, x_1, x_2

  • 가중치 :

    w0,w1,w2w_0, w_1, w_2

  • 계산 :

    wixi+b\sum w_ix_i + b

  • 활성화 함수:

    f(x)

  • 출력 :

    다음 뉴런으로 전달

Neuroscience (딥러닝의 동기)

  1. 뇌는 "구조적으로 반복되는 시스템"이다.
  • Modular and Uniform Knowledgh Structure
  • 뇌는 랜덤이 아니라 비슷한 구조가 반복되는 형태로 구성됨
  • 예시 : 개념 (Concepts), 객체 (Objects)
    즉, 뇌는 일정한 패턴으로 정보를 저장한다.
  1. Cortical Columns (대뇌 피질 컬럼)
  • 뇌는 Cortical Column이라는 구조 단위로 구성됨
  • 동일한 구조가 반복됨 -> 모듈 구조
  • 핵심 : 뇌는 작은 동일한 구조들의 집합이다.
  1. 인간은 예측 기반으로 행동한다.
  • 우리는 단순 반응이 아니라, 예측 -> 틀리면 수정 -> 학습이다.
  • 특히, 예상과 다른 상황에 더 집중한다.
  1. 뉴런은 예측을 한다 (Jeff Hawkins 관점)
  • 뉴런은 단순 계산기가 아닌 미래를 예측하는 구조이다.
  1. 뉴런 내부 신호 구조
  • 10% : Strong Decision Signals (실제행동/출력에 영향)
  • 90% : Prediction Signals (예측 및 통합)
  • 대부분의 신호는 "예측"에 사용됨

Shallow Neural Network

  1. 1D Linear Regression
  • 입력이 하나인 경우, x하나로 y를 예측

y=ϕ0+ϕ1xy = \phi_0 + \phi_1 x
ϕ0:상수(bias)\phi_0 : 상수 (bias)
ϕ1:x에곱해지는값(계수)\phi_1 : x에 곱해지는 값 (계수)
x : 입력
y : 출력

입력 -> 출력 관계가 직선 형태로 변환됨

Shallow NN의 시작 : 입력에 가중치를 곱하고 더하는 "선형 변환"

Example Shallow Network

y=ϕ0+[ϕ1ϕ2ϕ3]a([θ11θ21θ31]x+[θ10θ20θ30])y = \phi_0 + \begin{bmatrix} \phi_1 & \phi_2 & \phi_3 \end{bmatrix} \text{a} \left( \begin{bmatrix} \theta_{11} \\ \theta_{21} \\ \theta_{31} \end{bmatrix} x + \begin{bmatrix} \theta_{10} \\ \theta_{20} \\ \theta_{30} \end{bmatrix} \right)

  • 파라미터 정의

    ϕ\phi : 모델이 학습해야 하는 모든 값

  • Loss 함수 정의 (Least Squares : 최소 제곱법)

    L(ϕ)=i=1n(yif[xi,ϕ])2L(\phi) = \sum_{i=1}^{n} (y_i - f[x_i, \phi])^2

예측값 vs 실제값 차이를 측정한다.

파라미터를 업데이트하면서, Loss를 최소화 한다.

입력 x를 3개의 노드에서 여러개로 변환한후, a라는 활성화 함수로 출력해서 다시 하나로 합친 과정이다. 이 식은
입력 1개 -> Hidden Node 3개 -> 출력 1개 구조를 행렬로 표현한 것이다.

파라미터 개수 : 파이 4개, 세타 6개, 총 10개

그래프 의미 : 모델이 만들 수 있는 출력 형태 예시

  • x에 따라 y가 변함
  • 직선 하나가 아니라 꺾인 형태이다.
  • hidden node가 여러개 있다. 각 노드가 하나의 선형 변환 역할을 한다. 합쳐지면, 여러 직선이 이어진 형태가 된다.

y=ϕ0+ϕ1h1+ϕ2h2+ϕ3h3y = \phi_0 + \phi_1h_1 + \phi_2h_2 + \phi_3h_3
h1=a[ϕ10+ϕ11x]h_1 = a[\phi_{10} + \phi_{11}x]
h2=a[ϕ20+ϕ21x]h_2 = a[\phi_{20} + \phi_{21}x]
h3=a[ϕ30+ϕ31x]h_3 = a[\phi_{30} + \phi_{31}x]

입력 x를 여러 hidden unit으로 변환한 뒤, 그것들을 가중합해서 y를 만든다

Universal Approximation Theorem

3 Hidden Unit NN (Hidden이 3개일때)

  • 출력 :

    y=ϕ0+ϕ1h1+ϕ2h2+ϕ3h3y = \phi_0 + \phi_1h_1 + \phi_2h_2 + \phi_3h_3

D Hidden Unit NN (일반화)

y=ϕ0+d=1Dϕdhdy = \phi_0 + \sum_{d=1}^{D} \phi_d h_d
hd=a(θd0+θd1x)h_d = a(\theta_{d0} + \theta_{d1}x)

hidden unit을 충분히 많이 쓰면, 거의 모든 함수 형태를 표현할 수 있다.

0개의 댓글