논문

하루에도 수만개의 글자를 읽고 있습니다. 하루에도 수백장의 종이를 들춰 읽습니다.
이것은 그 읽기에 대한 일기입니다.

Neural networks 1.1 by Hugo Larochelle

https://www.youtube.com/watch?v=SGZ6BttHMPw&list=PL6Xpj9I5qXYEcOhn7TqghAJ6NAPrNmUBH

Neural networks: Feedforward neural network - artificial neuron

Artificial neuron

Connection weight, bias, activation function

  • Neuron pre-activation(or input activation)

    $$a(x) = b + \sum_i w_i x_i = b + w^T x$$

  • Neuron activation (output)

    $$h(x) = g(a(x)) = g(b + \sum_i w_i x_i)$$

  • $ w $ : weight 벡터는 hyper-plain의 수직.
  • $ b $ : Riff의 위치를 이동시킴

Linear activation function

$$g(x) = a$$

  • No input squashing

Sigmoid activation function

$$g(a) = \text{sigm} (a) = \frac{1}{1+ \exp(-a)}$$

  • pre-activation 값을 0에서 1사이로 squash.
  • 따라서, 항상 양수이고 0 ~ 1 사이로 제한됨.
  • Strictly increasing

Hyperbolic tangent activation function

$$g(a) = \tanh(a) = \frac{\exp(a) - \exp(-1)}{\exp(a) + \exp(-a)} = \frac{\exp(2a) - 1}{\exp(2a) + 1}$$

  • 입력을 -1에서 1사이로 squash
  • 양수 음수 모두 가능하고, -1 ~ 1 사이로 제한시킴.
  • Strictly increasing

Rectified linear activation function

$$g(a) = \text{reclin}(a) = \max(0, a)$$

  • 0 아래는 0으로 제한, 위로는 제한하지 않음.
  • Non-negative
  • Sparse activities
  • Strictly increasing

Capacity, decision boundary of neuron

  • Binary classification 가능
  • Sigmoid를 생각하면, $ p(y=1 | x) $를 계산하는 것으로 생각할 수 있음.
  • Logistic regression classifier로도 알려져있음.
  • 0.5보다 값이 크면 class를 1로, 아니면 0으로.
  • Tanh에 대해서도 비슷하게 생각할 수 있음.

Capacity of single neuron

  • 한 뉴런은 Linearly separable problems를 풀 수 있음.
  • XOR 와 같은 문제는 여러 뉴런을 조합하여 풀 수 있음.
  • 이것이 다층뉴럴네트워크의 아이디어

Single hidden layer neural network

  • Hidden layer pre-activation

    $$a(x) = b^{(1)} + W^{(1)} x$$

    $$a(x)_i = b_i^{(1)} + \sum_j W^{(1)}_{i, j} x_j$$

  • Hidden layer activation

    $$h(x) = g(a(x))$$

  • OUput layer activation

    $$f(x) = o(b^{(2)}) + {w^{(2)}}^T h_1 x$$

Softmax activation function

  • For multi-class classification

Class c의 $ p(y = c | x) $를 계산하는 문제로 생각할 수 있음.

  • Softmax activation function

    $$o(a) = \text{softmax}(a) = \big[ \frac{\exp(a_1)}{\sum_c \exp(a_c)} \dots, \frac{\exp(a_c)}{\sum_c \exp(a_c)} \big]^T$$

    계산 후 높은 확률을 갖는 클래스를 선택.

Multilayer neural network

L개의 hidden layer를 갖는다고 할 때,

$$a^{(k)}(x) = b^{(k)} + W^{(k)}h^{(k-1)}(x)$$

$$h^{(k)}(x) = g(a^{(k)}(x))$$

$$h^{(L+1)}(x) = o(a^{(L+1)}(x)) = f(x)$$

Capacity of single neuron

  • Universal approximation: “a single hidden layer neural network with a linear output unit can approximate any continuous function arbitrarily well, given enough hidden unit.”, (Hornik, 1991)
  • 이것은 sigmoid, tahn, 등 다른 activation functions에서 참이다.
  • 하지만 러닝 방법을 제시한 것은 아님.


Add a Comment Trackback