CNN의 역사 1957 : Mark 1 Perceptron 1960 : Adaline/Madaline – 최소의 multilayer perceptron network 1986 : Rumelhart가 최소의 Backpropagation을 제안 2006 : 다시 Deep Learning이 활기를 갖기 시작하였다. 하지만 아직까지도 modern한 Neural network가 아니여서 backprop을 하기 위해선 세심하게 조정 해야 됬다. 2012 : ImageNet classification에서 최초로 NN을 사용 Hubel Wiesel – 고양이 뇌에 전기 자극을 주어서 뉴런이 어떻게 반응하는지 확인하였다. Neocognitron – simple/complex cells의 아이디어를 사용한 최초의 NN이다..
복잡한 함수의 Analytic gradient을 쉽게 계산하기 위해서 computation graph을 그린다. 함수를 computational graph를 표현하면 input값과 local gradient값을 쉽게 파악 할 수 있다. 이때 Chain rule을 사용하여 backpropagation 구할 수 있다. Backpropagation은 Local gradient을 상위 노드 방향으로 전달하여 가중치를 업데이트 시키는 방법이다. 각 Local gradient을 구한 뒤 Chain rule을 사용하게 된다면 상위 노드의 gradient을 쉽게 구할 수 있다. Add gate : gradient distributor – gradient을 나눠준다. Ex) x + y Max gate : gradient..
> X(이미지)와 W(가중치)를 통해 Y(label)를 예측하는 것이 주 목적, > Loss function을 통해서 가중치 W를 조절하고 Loss를 최소화하는 정확한 모델을 만든다. (최적화 과정) Multiclass SVM loss > Max(True category - False category + 1(margin)) , margin 1은 임의로 설정 한 값이다. Q1) car score가 조금 변하게 되면 loss에는 무슨 변화가 생기게 될까요? > car의 score는 매우 높기 때문에 스코어를 바꾸더라도, loss값은 변하지 않는다. Q2) loss의 최솟값은 0, 최대값은 무한대이다. Q3) 스코어 S들이 모두 0에 가까울 때 Multiclass SVM의 Loss는? > class수 – 1 ..
> 컴퓨터는 이미지를 그림모양이 아닌 격자모양의 숫자집합으로 인식한다. (Semantic Gap – 사람 눈으로 보는 이미지, 실제 컴퓨터가 보는 픽셀 값과의 차이) > 고양이 이미지가 조금이라도 변동(view point, lllumination, Deformation, occlusion, background clutter, interclass variation)이 생기면 픽셀 값이 달라져서 컴퓨터가 고양이를 잘 인식하지 못한다. 그러나 고양이라는 사실은 달라지지 않기 때문에 변동에서도 고양이를 인식할 수 있는 robust한 모델을 만들어야 한다. Data-Driven Approach > 기존에는 이미지를 인식시킬 때, 각 객체에 대한 규칙을 하나하나 정하였다. 그러나 실제 생활에서는 수많은 객체들이 존..
Convolution > stride : fiter를 한 번에 얼마나 이동할 것 인지 설정, 위 예시는 stride 1이다. > 필터가 이미지 위에서 stride하는 과정을 상세히 살펴보면 (1+1) + (2x0) + (3x1) + (0x0) + (1x1) + (5x0) + (1x1) + (0x0) + (2x1) = 8로 output의 번째 block이 계산되는 것을 볼 수 있다. > Padding : 인풋 이미지에 zero - padding을 상하좌우에 추가하는 과정 padding을 사용하게되면 stride으로 인해 줄어드는 input크기를 보존할 수 있다. * Convolution에서의 input > Input type : torch.Tensor > Input shape : (N * C * H * W..
Perceptron > 인공신경망은 Neuron의 동작 방식을 본을 따서 만든 것입니다. > Perceptron은 인공신경망의 종류입니다. > 초기 perceptron은 AND, OR 문제를 해결하기 위해서 만들어졌습니다. > AND, OR 문제는 하나의 linear classifier layer로 분류가 가능합니다. > XOR 문제는 하나의 layer로는 해결하지 못합니다. 최소 두 개의 layer가 필요합니다. > XOR 문제를 해결하기 위해서 여러 개의 layer를 이용한 Multilayer Perceptron이 등장하였습니다. > 처음 Multilayer Perceptron idea가 등장하였을 때는 학습할 수 있는 방법이 없었습니다. > Backpropagation을 통해서 Multi layer..
ReLU Problem of Sigmoid > Sigmoid function은 gradient가 saturated되는 문제를 가지고 있다. > 파란색 부분은 gradient가 잘 구해지는 반면에 빨간색 부분은 gradient가 0에 가까운 작은 값으로 구해진다. > Backprob을 통해서 앞 단으로 gradient가 잘 전달 되어야 하는데 0에 가까운 아주 작은 gradient을 전달하다(곱하다)보니 소멸하는 현상이 발생한다. (Vanishing Gradient) ReLu > ReLu는 Vanishing Gradient문제를 일부 해결해준다. > 파란색 영역에서 gradient는 1이기에 x의 값이 양수인 부분에선 Vanishing gradient가 발생하지 않는다. > ReLU이외에 다양한 activ..
Maximum Likelihood Estimation (최대 가능도 추정, 최대 우도 추정) > 어떤 확률변수에서 뽑은 표본(x)을 바탕으로 theta를 추정하는 방법 > 압정을 던졌을 때 두 가지 가능성이 있다. (Class1, Class2) - 이항분포 > 100번을 던졌을 때 Class1 27번 나타남 > Observation값들을 대입을 하게 된다면 theta 대한 함수로 표현이 가능하다. > theta: 압정의 확률분포를 결정하는 파라미터 > 관찰한 데이터를 가장 잘 설명하는 어떤 확률분포 함수의 parameter를 찾아내는과정 > theta가 0.27일때 Likelihood가 가장 높다. > Gradient Ascent를 통해서 Likelihood가 최대가 되는 theta를 찾는다. > Gra..