Optimization : Problems with SGD (1) Loss function has condition number : ratio of largest to smallest singular value of the Hessian matrix is large (sensitive to one direction and not sensitive to the other direction) very slow progress along shallow dimension, jitter along steep direction. (2) local minima and saddle point에서 zero gradient가 되어 gradient descent가 stuck 된다. 게다가 고차원이 될수록 saddle poi..
Activation Function (1) sigmoid + squashes numbers to range [0, 1] - saturated neurons kill the gradients - sigmoid outputs are not zero centered (각 gradient가 한 방향으로 밖에 못 움직인다.) - exp() is a bit compute expensive (minor 한 문제) (2) tanh + squashes numbers to range [-1, 1] + zero-centered - kill gradients when saturated (3) ReLU + Does not saturate (in positive region) + very computationally effici..
Hierarchical organization : (1) simple cells : response to light orientation (modifiable parameters) (2) complex cells : response to light orientation and movement (perform pooling) (3) hypercomplex cells : response to movement with an end point (corner, block) Fully connected layer : 32*32*3 image 가 있으면 stretch to 3072*1 (stretch all the pixels) convolutional map의 output들을 마지막에 연결한다. activation..
Computational graph : 각 연산을 node로 나타내서 복잡한 연산의 모든 절차를 그래프로 표현하는 방법. -> analytic AlexNet : Convolutional Network chain rule : df/dy = df/dq * dq/dy로 바꿔서 계산할 수 있는 것. 앞 node의 local gradient를 현재 node의 gradient를 계산할 때 이용한다. 즉, 현재 node의 gradient는 앞 node의 연산을 미분한 식에 현재 node의 값을 넣어 계산한 값 * 앞 node의 gradient 값이다. 앞 node의 연산이 +면 앞 node의 gradient를 그대로 현재 node의 gradient 값으로 전달해준다. 물론, node들을 group 지어서 하나의 ga..
parametic approach : linear classifier (change image to vector) f(x, W) = Wx + b b : bias, 같은 score일 때 가중치를 부여한다. learning template : 각 category에 해당하는지 판단할 때 바탕이 되는 이미지. learning template가 W에 해당함. 이때 W에 곱해지는 x는 pixel 값이라 최댓값이 정해져 있기 때문에 W를 키우지 않고 bias를 두어 가중치를 부여한다. Loss function (=cost function) : optimization. quantify badness of any W. Multiclass SVM loss (=Hinge Loss) : true class의 score를 si..
image classify (1) find edge -> find corner 방법 super brittle, 새 카테고리면 처음부터 다시 시작해야 하는 단점 (2) data driven approach collect a dataset of images and labels use Machine Learning to train classifier evaluate classifier on new image compare image (1) L1 distance (Manhattan) : d(l1, l2) = 모든 p에 대해 (l1의 같은 위치의 점 p - l2의 같은 위치의 점 p) 값의 절댓값 (2) L2 distance (Uclidean) : d(l1, l2) = 모든 p에 대해 (l1의 같은 위치의 점 p..
오늘 수업에서 1*1 Convolution에 대해서 다뤘다. 먼저 1*1 Convolution을 사용하면 필터의 개수가 몇 개 인지에 따라 output의 dimension은 달라지지만, 원래 가로 세로의 사이즈는 그대로 유지된다. 그래서 filter 의 개수를 원래 input의 dimension 보다 작게 하면, dimension reduction의 효과가 난다. 원래 image 쪽에서 Convolution layer는 "Spatial Relation"을 고려하여 이 image가 어떤 image인지 패턴을 통해 파악하는 용도인데, 1*1 사이즈를 사용한다는 것은 한 픽셀만 고려하기 때문에 패턴 인식보다는 dimension reduction이라는 전처리 용도로 생각해야 한다. Dimension reduct..
hyper parameter : 학습하는 것이 아닌 지정해주는 것. optimize : random search. genetic algorithm 등을 시도 중. Regularization은 parameter가 실수라서 간단하다. -> gradient가 가능. 하지만, 실수가 아닌 경우 (layer-정수) 에는 불연속적이라 어렵다. optimize가 Gradient로 불가능. -> integral gradient를 이용. 어떤 모델을 선택하는지도 Hyper-parameter라고 할 수 있다. binary classification에서는 tie라고 부르는 '동률' 즉, 어디에도 속하지 않는 그룹이 나오지 않는다. 하지만 multiclass면 tie가 생긴다. K-NN에서 K가 홀수면 짝수보단 동률이 나올 ..