분류 전체보기
-
Spatial Transformer Networks머신러닝, 딥러닝 공부 2020. 2. 8. 14:52
Introduction 이미지 분류 문제에서는 spatial invariance(이미지가 변환되어도 그 이미지로 인식하는 것, 이미지를 회전시켜도 같은 이미지로 인식하는 것)가 중요하다. CNN은 이러한 spatial invariance에 대해 약해 max pooling layer가 그런 점을 다소 해결해준다. 하지만 2×2 픽셀 단위의 연산으로는 데이터의 다양한 spatial variability에 논문에서 설명하는 Spartial Transformation은 max pooling layer보다 더 좋은 spatial invariance 능력을 갖게 하기 위해 이미지의 특정 부분을 자르고 변환해서 그 부분만 떼어서 트레이닝을 시킨다. Spatial Transformers Spatial transform..
-
Grad-CAM: Visual Explanations from Deep Networks via Gradient-based Localization머신러닝, 딥러닝 공부 2020. 2. 7. 18:06
https://hydragon-cv.info/entry/Learning-Deep-Features-for-Discriminative-Localization Learning Deep Features for Discriminative Localization Introduction 대부분의 CNN 구성에서 처음에는 convoluton layer와 pooling을 쌓고, 어느 정도 특징을 추출할 수 있을 정도로 깊어지면 fully-connected layer를 사용해서 최종적으로 어떤 class에 속하게 될지 확.. hydragon-cv.info CAM의 가장 큰 단점은 네트워크의 맨 마지막 단이 반드시 GAP layer로 구성되어야 한다는 점이다. Grad-CAM 논문에서는 이러한 단점을 해결해서 거의 모든 C..
-
Learning Deep Features for Discriminative Localization머신러닝, 딥러닝 공부 2020. 2. 2. 19:48
Introduction 대부분의 CNN 구성에서 처음에는 convoluton layer와 pooling을 쌓고, 어느 정도 특징을 추출할 수 있을 정도로 깊어지면 fully-connected layer를 사용해서 최종적으로 어떤 class에 속하게 될지 확률을 뽑아내게 된다. 일반적으로 convolution을 feature의 위치 정보를 활용할 수 있지만, fully-connected layer에 의해 결국 일렬로 늘어뜨려야 하고(flatten) 결국 이러한 정보를 사용하지 못하게 된다. Network in Network 논문에서는 FC를 사용하는 대신 Global Average Pooling(GAP)를 사용한다. GAP에서는 마지막 convolution layer가 우리가 분류해야 되는 Class의 수..
-
Deep Residual Learning for Image Recognition머신러닝, 딥러닝 공부 2020. 1. 31. 14:20
Abstract Deep neural networks의 단점은 그 깊이가 깊어질수록 더 학습하기 어렵다는 것이다. ResNet은 이전의 학습 방법들과 달리 residual(어떤 과정이 끝나고 난 뒤에 남은, 잔여[잔류]의)을 학습하는 방법으로 이러한 문제를 해결했다. 논문에서는 residual networks가 optimize하기 쉽고, 더 깊은 모델로 부터 쉽게 accuracy를 얻을 수 있다는 것을 증명했다. ResNet은 152 layer를 사용하여 ILSVRC 2015에서 3.57%의 error rate을 기록했다. Introduction 최근까지의 network들은 depth가 중요한 요소로 여겨졌고, 더 깊은 모델일수록 더 좋은 성능이 나온다고 여겨졌다. 하지만 gradient vanishin..
-
VERY DEEP CONVOLUTIONAL NETWORKS FOR LARGE-SCALE IMAGE RECOGNITION머신러닝, 딥러닝 공부 2020. 1. 30. 19:40
2012년 AlexNet의 등장으로 image classification 분야에서 CNN 모델이 주목을 받았다. AlexNet을 이어받아 2014년에 VGG 모델과 GoogLeNet 모델이 ILSVRC에서 뛰어난 성과를 얻었다. 이 모델들의 AlexNet 보다 더 깊은 layer를 쌓으면서 뛰어난 성능을 보였다. ABSTRACT 요약하자면 기존의 CNN에 비해 convolution filter의 크기를 감소시키고 layer을 더 깊게 만들어 large-scale image recognition 성능을 끌어 올렸다는 내용이다. INTRODUCTION Introduction은 CNN layer의 depth에 중점을 두고 연구했다고 설명하고 있다. 이전 모델들은 conv filter size가 조금씩 달랐지만..
-
Neural Networks #3머신러닝 기초 2019. 11. 29. 23:51
실제로 neural network를 이용해 학습을 하는 과정은 매우 어려운 과정이다. 특히 아래와 같은 gradient descent 식에서 learning rate를 결정하는 것은 매우 어렵다. learning rate가 너무 작다면 학습 속도가 느리며 local minima에 갇힐 수 있다. 반대로 learning rate가 너무 크다면 학습이 불안정해지고 발산할 수 있다. 실제로 매 학습마다 적절한 learning rate를 새로 결정하는 것은 매우 어렵기 때문에 adaptive learning rate라는 방식을 사용한다. 대표적으로 momentum, adagrad, adadelte, RMSProp, adam 등이 존재한다. 이러한 알고리즘은 아래 그림과 같이 SGD 등이 local minima나..
-
Neural Networks #2머신러닝 기초 2019. 11. 25. 00:00
앞부분 내용은 https://hydragon-cv.info/entry/CS231n-2017-lecture-4-part-1 CS231n 2017 lecture 4 - part 1 1. Optimization Optimization(최적화)는 최저의 loss를 가지는 가중치 $W$를 찾는 과정이다. 이 과정은 마치 넓은 골짜기를 걸어 다니며 고도가 제일 낮은 곳을 찾는 과정과 비슷하다. 물론 임의의 $W$를 계속.. hydragon-cv.info 와 동일하므로 생략한다. 이제 모든 값들이 벡터로 구성되어있다 하자. 이때 라 하면 Jacobian matrix는 와 같다. 이제 라 하자. 이를 그림으로 표현하면 다음과 같다. q=Wx에서 이므로 이다. 같은 방법으로 에서 이다. 또한 이다. 따라서 아래와 같다.
-
Neural Networks #1머신러닝 기초 2019. 11. 15. 13:10
앞서 계산한 예시는 모두 linear 하게 분류가 가능한 데이터들이었지만 실제로는 nonlinear 한 경우가 더 많다. 이러한 데이터들은 linear classifier를 이용해 분류할 수 없다. nonlinear 한 분류의 대표적인 예시로 Image classification이 있다. 이러한 nonlinear 한 분류 문제를 해결하기 위해서는 neural networks라는 개념이 필요하다. neural networks는 아래와 같이 표현된다. 한 개의 neural network는 linear classifier와 매우 비슷하다. 다만 출력단에 activation function(그림에선 sign 함수)가 연결된 형태이며 activation function이 sign 함수인 경우 앞서 설명한 perc..