7월, 2016의 게시물 표시

모두를 위한 딥러닝 강좌 시즌 1 정리 (하) - lec 8 ~ 12

이미지
NN(Neural Network)
K(X) = sigmoid(XW₁ + b1)
H(X) = sigmoid(K(X)W₂ + b2)

Back propagation
딥 네트워크에서 나온 결과물에서 나온 error(또는 cost)를 역으로 전파시키면서 weight들에게 그 것을 반영시키는 것.
미분과 chain rule을 이용하여 각 weight가 결과에 미치는 영향(변화량)을 계산하여 그 것만큼 반영시킨다.
(Back propagation)
Geoffrey Hinton's summary of findings up to today
1. Our labeled datasets were thousands of times too small.
2. Our computers were millions of times too slow.
3. We initialized the weights in a stupid way.
4. We used the wrong type of non-linearity. (Activate Functions)

Vanishing gradient (NN winter2 : 1986-2006)
깊은 NN일 경우, back propagation이 진행되면서 점점 초반 부분의 layer들의 영향력이 작아지는 문제. 
sigmoid를 사용할 경우 이 문제가 크게 발생한다. ReLU등의 다른 activation functions을 사용하면서 어느정도 해결할 수 있다.

Activation Functions
종류 : Sigmoid, tanh, ReLU, Leaky ReLU, Maxout, ELU, ...
ReLU (Rectified Linear Unit) = max(H(x), 0)
비교 : https://hunkim.github.io/ml/lec10.pdf 24페이지

Initializing weights wisely
- Not all 0's
- challenging issue
비교 : https://hunkim.github.io/ml/lec10.pdf 52페이지

Restricted Boatman M…

모두를 위한 딥러닝 강좌 시즌 1 정리 (상) - lec 1 ~ 7

Supervised Learning : learning with labeled data
Unsupervised learning : learning with un-labeled data
즉, supervised는 이미 정답이 있는 문제들을 가지고 학습시키는 것을 말하고, unsupervised는 정답(라벨)을 지정해 주지 않은 문제들(데이터들)을 가지고 학습하는 것을 말한다.

Supervised Learning의 종류
regression : 연속적인 결과에 대한 예측
binary classification : 2개의 결과 중에서 예측
multi-label classification : 여러가지의 결과들중에서 예측.

Linear Regression
Linear한 모델로서 regression을 하는 것.
H(x) = Wx + b

Cost function
우리의 모델에서 나온 예측값과 실제 결과값의 차이를 계산하는 함수.
cost = 1/m * Σ{H(x) - y}
(m = 데이터 개수, Σ : 총 m개의 x에 대해 괄호안의 수식값들을 합하는 함수.)

Gradient descent algorithm
cost function을 minimize하는 algorithm중 하나.
W := W - αΔcost(W) (α = learning rate, Δ = W에 대한 미분)
convex function에만 적용할 수 있다.

Multi-variable Linear Regression
변수가 여러개인 Linear Regression
H(x) = w1*x1 + w2 * x2 + ... + b = (행렬의 곱으로 표현)
W = [ b  w1  w2  ... ]
X = [ 1  x1  x2  ... ]
H(X) = transpose(W) * X

Sigmoid