Unsupervised Learning > 레이블이 없는 학습 데이터를 가지고 데이터에 숨어있는 기본적인 구조를 학습 Ex) clustering, PCA, Autoencoders(레이블 없이도 feature representation을 학습), density estimation(분포 추정) – 점들이 더 많이 밀집되어 있는 곳에 분포가 더 크도록 적절히 모델링 > Supervised Learning : 레이블을 통해 X에서 Y로 가능 함수 매핑 된 것을 학습한다. > Unsupervised Learning : 데이터의 숨겨진 구조를 학습한다. 레이블이 없기 때문에 데이터에 대한 비용이 적고 데이터를 많이 모을 수 있다. Generative Models > Unsupervised Learning의 일종으로..
딥러닝은 black box 모델이다. black box 모델이 어떻게 작용하는지 알고 싶기에 다양한 시각화 기법을 사용하여 내부가 어떻게 작용하는지 확인해본다. 먼저 ConvNet 안에 있는 내부 이미지가 어떻게 움직이는지 알고 싶다. > 첫 번째 Layer는 이미지와 필터의 가중치를 내적 한 결과이다. > 필터 값을 가장 활성화 시키는 입력(이미지)은 필터의 가중치 값과 동일한 경우, 입력(이미지)와 가중치를 내적 한 결과를 통해서 필터가 무엇을 찾고 있는지 확인 할 수 있다. > 이미지와 필터를 내적 후, 시각화하는 기법은 Conv Layers의 중간에 적용하면 해석하기 어렵다. 처음 input 이미지와 직접적으로 연결되어 있지 않기 때문이다. > 마지막 Conv-layer를 확인하는 것도 필터가 어..
Semantic Segmentation > 입력 : 이미지, 출력 : 이미지의 모든 픽셀에 카테고리를 정한다. (기존의 Classification은 이미지 전체에 카테고리가 하나 정해졌다.) > 개별 객체를 구분하지 않는다. ( ex - 암소 두 마리를 구별하지 않는 모습을 보이고 있다. ) > 입력 이미지를 쪼개서 쪼갠 이미지를 분류 작업 실시 (모든 영역을 쪼개서 사용하는 것은 비효율적, 비용이 많이 든다.) > fully connected – Layer가 없고 Convolution Layer로 구성된 네트워크 > loss 계산은 모든 픽셀에 따라서 ground Truth가 존재하기 때문에 출력의 모든 픽셀과 Ground Truth 간의 Cross Entropy를 계산한다. > 입력 이미지의 Spat..
RNN (Recurrent Neural Networks) One to One : 기본 Neural Networks, 하나의 입력이 하나의 출력을 내보낸다. One to Many : 단일 입력, 가변 출력 Ex) Image Captioning – 하나의 image에 여러 가지 단어들 Many to One : 가변 입력, 단일 출력 Ex) Sentiment classification – 많은 단어들로부터 감정을 추론 Many to Many : 가변 입력, 가변 출력, 문맥을 학습 Ex) Machine Translation – 한글 문장을 입력으로 받아 영어문장으로 출력 Many to Many : 가변 입력, 가변 출력, 프레임 별로 1대1 학습 Ex) Video classification on frames ..
LeNet-5 > 산업에 성공적으로 적용된 최초의 ConvNet, 숫자 인식에 주로 사용되었음 AlexNet > First layer의 output volume은 55 x 55 x 96, Parameters (11 x 11 x 3) x 96 = 35k > Second layer의 output volume은 27 x 27 x 96, Parameters 0! (Pooling layer는 Parameters가 없다. – 특정 지역에서 값을 뽑아내는 역할을 하기 때문에) > 당시 GPU의 메모리가 3GB밖에 되지 않아서 두 개의 GPU를 사용하여 학습을 진행하였다. ZFNet > 기존의 AlexNet에서 stride size, 필터 수를 조절하여 성능을 향상시켰다. VGGNet > AlexNet과 비교해서 la..
Fancier optimization SGD(Stochastic Gradient Descent)의 문제점 Loss function의 수평방향이 간격이 짧고 수직방향이 간격이 넓을 때 Gradient의 방향이 고르지 못하고 지그재그로 움직인다. (고차원일수록 이런 문제가 빈번하게 발생) Local minima에 빠질 위험이 있다. Gradient가 0인 구간에서 학습이 멈추게 된다. Saddle points의 근처는 Gradient가 작아서 느리게 업데이트 된다. Neural network의 경우 local minima 보다 saddle point에 취약하다. Mini batch를 이용해 gradient를 구해주고 실제 loss값을 추정하기 때문에 부정확한 값을 얻게 된다. (noise가 생김), mini..
Activation Functions Sigmoid > 0에서 1까지의 범위를 가지며, saturated한 모습을 보이고 있다. 3가지 문제점 Saturated되는 특징으로 인해서 gradient가 사라진다(vanishing gradient). Saturated되는 부분( x = 10, x = -10 )에서 gradient가 0이 되고 0의 값이 backprop으로 넘어가면서 gradient가 사라진다. Sigmoid의 출력이 zero centered 하지 않다. > input값이 모두 양수이면 gradient가 전부 양수, 음수가 된다. Gradient의 부호는 위에서 내려온 gradient의 부호 값과 같아지기에 파라미터를 업데이트 할 때 다 같이 증가하거나 감소하게 된다. > gradient의 움직..
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이다..