전체 글 37

[D2L] 4.8 Numerical Stability and Initialization

이전 장에서는 당연하 듯 진행했지만 사전에 정해진 분포에 따라 parameter initialization을 실행했다. 이것에 대해 자세히 살펴보도록 한다. 또한 activation function에 따른 여러 initialization 형태들도 살펴본다. 여러개의 layer가 있는 deep network의 gradient 연산을 수식화하면 다음과 같다. 여기서 numerical underflow문제가 발생할 수 있음을 확인해야 한다. numerical underflow란 너무 많은 확률값들을 곱할 때 생긱는 문제로 이는 그 연산값을 표현하기 어렵다는 문제뿐만 아니라 gradient 연산 자체를 불안정하게 만든다. 불안정한 optimization algorithm은 두가지 문제를 낳을 수 있는데 파라미터..

[D2L] 4.7 Forward, Backward Propagation & Computational Graph

[ 이론 ] 이전 내용에서 이미 forward, backward propagation을 포함해 모델링을 했었다. 이번 장에서는 그 구현을 자세히 살펴본다. Forward Propagation = calculation and storage of intermediate variables for a neural network in order form the input layer to output layer. 하나의 hidden layer가 있고 bias는 고려하지 않는다고 가정했을 때의 forward propagation과정이다. L2 norm이 더해지는 과정도 포함한다. 이를 graph형태로, 사각형은 variable을, 원은 operator로 표현하면 다음과 같다. backward propagation은 ..

[D2L] 4.6 Dropout

[ 이론 ] overfitting을 막기 위한 방법으로 이전 장에서는 weight decay에 대해 배웠고 이번 장에서는 dropout에 대해 다뤄본다. 이전 장 weight decay의 핵심은 평균이 0인 가우시안 분포의 값을 가지는 weight을 가정하였고 model로 하여금 그 weight을 많은 feature들에 분산시키고자 하였다. 소수의 weight만 값이 커지는 문제를 방지하기 위해서이다. overfitting은 보통 feature이 example보다 많을 때 발생한다고 알려져있다. 또한 다루었던 linear model은 feature간 interaction을 반영하지 못하는데 더 직관적으로 말하자면 positive, negative weight 값만을 규정할 뿐, context를 반영하지 ..

[D2L] 4.5 Weight Decay

[ 이론 ] 4.4에서는 머신러닝 차원에서의 overfitting과 underfitting에 관해 다뤘다. 요약하자면 다음과 같다. generalization error는 training error로 추정될 수 없으며 training loss만 최소화하고자 하는 것은 반드시 generalization error도 함께 최소화하지 않는다. 따라서 머신러닝 알고리즘은 overfitting에 주의해야 한다. validation set을 통해 generalization error를 측정한다. underfitting은 모델이 training error를 줄이지 못함을 말한다. 위 사진처럼 overfitting은 generalization loss가 training loss보다 클 경우를 말한다. overfitti..

[D2L] 4.1~ 3 Multilayer Perceptron

[ 이론 ] 이전 장에서 배운 linear transformation은 linearity라는 매우 강한 가정이 필요하다. 즉, 이 가정이 성립하지 않는다면 사용할 수 없다는 것. 실제 linearity = weaker monotonicity로 linearity를 가지는 두 변수는 완전 동일하지는 않지만 한 변수의 증감과 다른 변수의 증감에 동일한 규칙성이 있어야 한다. 하지만 이 가정은 당연 성립되는 경우가 더 적다. 이런 경우에는 task를 어떻게 수행해야 할지 궁금한데 그것에 대한 방법이 multiayer perceptron layer(MLP)이라고 말하고 있다. 1. Incorporating Hidden layers 좀 더 구체적으로 말하자면 하나 이상의 hidden layer를 사용하는 것이다. ..

[D2L] 3-2. Linear Neural Networks (Softmax Regression)

Linear Regression의 다음 장으로 Softmax Regression에 대해 다룬다. Linear regression은 그 값을 예측하는 문제에 사용되는 반면 softmax regression은 분류문제에 사용된다. 우선 classification에 대해 짚고 넘어가자 1. Classification 아래 사진의 예시로 이해하면 쉽다. 4가지 feature를 가지고 있는 이미지 사진을 3가지 카테고리로 분류하는 문제이다. network 구조로 표현하기 위한 방식이다. 도식화하면 다음과 같다. linear regression과 마찬가지로 softmax regression도 한 개의 layer를 가진다. 그럼 다시 본래의 목적으로 돌아와서 위 O 값인 logits 값을 각각의 클래스에 해당할 확률..

[D2L] 3-1. Linear Neural Networks (Linear Regression)

[ 이론 ] 1. Linear Regression 회귀 중에서 가장 기본적이면서도 대중적인 선형회귀 모델에 대해 리뷰한다. 선형회귀가 딥러닝의 하위 카테고리는 아니지만 딥러닝의 개념과 사용 기법들을 적용하며 D2L의 초반에 등장하기에 본 3장부터 리뷰를 하기로 하였다. 3장을 학습해야 이후 과정이 쉽기 때문. x(independent var), y(dependent var)의 관계를 규정하기 위한 모델이며 y = weighted sum of elements in x 로 다시 설명 가능하다. Linear Regression이 성립되기 위한 가정은 다음과 같이 두가지로 요약할 수 있다. 1. x와 y의 관계가 linear 해야한다. 2. x와 y의 관계의 noise가 well-behaved(=followin..