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에서 참이다.
- 하지만 러닝 방법을 제시한 것은 아님.