41건의 항목
Descripter 이미지를 비교하기 위해 동일한 방법을 통해 하나의 비교 대상으로 만드는 것 두 가지 이미지가 있다. 이 두가지 이미지가 비슷한지 아닌지를 구분하기 위해 만든 것이 descripter이다.
Computer Vision의 Task 이중 Object Detection에 해당하는 문제이다. R-CNN region proposal을 진행한다. CNN에 각각 넣는다.
핵심 아이디어 입력 이미지의 크기나 비율에 관계없이 CNN 학습은 불가한가? Fast R-CNN으로 넘어가기전 상당히 많은 아이디어를 가져온 논문이다.
핵심 아이디어 Feature Extraction, classification, bounding box regression까지 한번에 학습할 수 있는 모델을 만들자! Fast R-CNN은 이전 SSP Net이 가지는 한계점을 극복하는 시도에서 출발한다.
핵심 아이디어 Region Proposal도 Network안에 포함시키자! Faster R-CNN의 핵심 아이디어는 Resion Proposal Network(이하 RPN)이다.
Task Segmentation semantic segmentation은 이미지 내에 있는 물체들을 의미 있는 단위로 분할해내는 것이다. 좀 더 구체적으로 이야기하면, 이미지의 각 픽셀이 어느 클래스에 속하는지 예측하는 것이다.
개요 Noh, H., Hong, S., and Han, B. Learning Deconvolution Network for Semantic Segmentation. ICCV, 2015.
개요 앞서 알아본, FCN에서 발생하는 문제를 Dilated Convolution으로 해결하겠다는 논지이다.
개요 Pretrained model을 사용하거나 Transfer Learning 을 사용하는 모델들에 대해서 읽을 때 Backbone이 되는 CNN 모델들이 몇 개 있다.
개요 앞서 배운 Dilated Convolution(atrous convolution) 을 적극적으로 활용할 것을 제안하여 segmentation 을 해결하자는 논문이다.
개요 structure of mask RCNN Facebok AI Research (FAIR), Kaiming He, 24 Jan 2018 Marr Prize at ICCV 2017 object instance segmentation을 위한 프레임 워크이다.
개요 style transfer에서는 input의 style을 target의 style과 맞게 만들어주는 방법이 필요한데, 이에 대한 방법론의 핵심을 담당하는 Gram Matrix에 대해 알아본다.
개요 detection paper saga 이제는 오랜 시간이 지난 논문인 SSD를 간단하게 리뷰 해보려 한다. 매우 직관적인 구조를 가지고 있어 많은 구조가 이 SSD를 기반으로 만들어지고 있다.
개요 SORT(Simple Online and Realtime Tracking)은 매우 알고리즘이 간단함에도 불구하고 효과적이고 실용적인 다중 대상 추적 알고리즘이다. IOU를 기반으로 추적된 물체에 대해 association(할당)을 진행하기 때문에 매우 빠르다.
What is convolution 하트시그널을 봤다. 그 무엇보다도 치열한(..) 구애 행위와 두뇌게임을 봤다. 내가 누군가한테 구애 행위를 하는 것은 구애 받는 사람의 상태에 따라 YES, 혹은 NO가 나올 거다.
What is Padding Convolution 전 게시물에서 3x3 짜리 필터를 걸었을 때, 4x4짜리가 나왔다. 어떻게 보면 당연할 결과이다.
Example of a Layer 이제 원래 배웠던 신경망의 노드에서 하는 활동으로 돌아오자. 결국 이 필터는 가중치들의 모임이고, 원래 데이터에서 이 가중치를 곱한다음에 더하는 행위는 한 노드에 이 데이터들이 들어가는 것이다.
Types of Layer in a CNN Convolution 여태껏 배운 합성곱을 사용하여 다음 레이어를 만드는 방식이다. Pooling Fully connected What is Pooling 결과값을 압축한다! 로 생각하면 이해가 빠르다.
Supervised Learning (지도 학습) Label이 결정된 데이터를 가지고 학습하는 방법 Example Image Labeling Email spam filter Predicting exam score Unsupervised Learning(비지도 학습) Label이 없는 상태로 학습하는 것, 그룹핑(클러스터링)을 하는 것을 목적으로 한다.
Tensorflow란? 구글에서 만든 데이터 플로우 그래프를 사용해서 수치적 계산을 위한 오픈소스 라이브러리.
Code import tensorflow as tf tf.set_random_seed(777) # 같은 값이 나오도록 하기 위해서 # 데이터 준비 x_train = [1, 2, 3] y_train = [1, 2, 3] # 초기에 랜덤하게 값을 할당한다.
비용 최소화 코드 저번글에서 X, Y에 최적화된 W, b를 찾았다면, 이번에는 고정된 X, Y 에 대해 다른 W값을 넣어주면서 Cost의 변화를 살펴보자.
3개의 Feature를 가진 회귀모델 # Lab 4 Multi-variable linear regression import tensorflow as tf tf.set_random_seed(777) # for reproducibility x1_data = [73., 93., 89., 96., 73.] x2_data = [80., 88., 91., 98., 66.] x3_data = [75., 93., 90., 100., 70.] y_data = [152., 185., 180., 196., 142.] # placeholders for ...
Numpy.loadtxt() 단, csv 파일의 모든 값이 같은 자료형이어야 한다.
# Lab 5 Logistic Regression Classifier import tensorflow as tf tf.set_random_seed(777) # for reproducibility x_data = [[1, 2], [2, 3], [3, 1], [4, 3], [5, 3], [6, 2]] y_data = [[0], [0], [0], [1], [1], [1]] # placeholders for a tensor that will be always fed.
Logistic Regression 의 그래프 함수를 통과하기 전의 값을 Score(Logit) 이라 부른다. 통과한 난 뒤의 값은 확률이다.
Softmax classification # Lab 6 Softmax Classifier import tensorflow as tf tf.set_random_seed(777) # for reproducibility x_data = [[1, 2, 1, 1], [2, 1, 3, 2], [3, 1, 3, 4], [4, 1, 5, 5], [1, 7, 5, 5], [1, 2, 5, 6], [1, 6, 6, 6], [1, 7, 7, 7]] # One-hot Encoding 이라 한다.
Train/Test Dataset 정확도를 측정하는데 있어서 앞에서는, 모델을 훈련하는 데 사용했던 데이터를 가지고서 평가했다. 그런데 사실은 그렇게 수행하면 안되는 것이 당연하다.
MNIST Dataset # Lab 7 Learning rate and Evaluation import tensorflow as tf import matplotlib.pyplot as plt import random tf.set_random_seed(777) # for reproducibility # 텐서플로우에서 데이터 받아오기 from tensorflow.examples.tutorials.mnist import input_data # Check out www.tensorflow.org/get_started/mnist/beginn...
기본 모델 (softmax classification) # Lab 7 Learning rate and Evaluation import tensorflow as tf import matplotlib.pyplot as plt import random from tensorflow.examples.tutorials.mnist import input_data tf.set_random_seed(777) # reproducibility # Check out www.tensorflow.org/get_started/mnist/beginners fo...
1D Array & Slicing # www.tensorflow.org/api_guides/python/array_ops import tensorflow as tf import numpy as np import pprint tf.set_random_seed(777) # for reproducibility pp = pprint.PrettyPrinter(indent=4) sess = tf.InteractiveSession() t = np.array([0., 1., 2., 3., 4., 5., 6.]) pp.pprint(t) pr...
역전파 이 부분을 이해하기 전에, Deep Learning에 대한 전반적인 과정을 이해하는 것이 좋다. 앞부분에서는 cost 함수를 정의하고 이를 학습하는데 있어 gradient descent 방법을 활용했다.
XOR 문제 두 개의 인풋에 대해 1개의 결과값이 나오는 문제이므로 텐서플로우로 구현해보자. 결과값이 0 또는 1이므로, logistic regression으로 만들 수 있다.
Print..Print 맨날 확인하려면 프린트해야해. GUI로 멋지게 봐보자. 5 Steps of using TensorBoard 내가 Log화 하고 싶은 텐서들을 결정한다. 이것들은 함수로 구현할 수 있다.
XOR 문제에서 이제 NN을 공부하는데 있어서 sigmoid 함수를 통과했던 것을 우리는 Activate Function이라고 부를 것이다.
초기값 주기 x, w = 0 일 경우 gradient가 0이 되서 학습이 안된다! 모두 0이면 학습이 안된다! Restricted Boatman Machine(RBM) 어떻게 Weight를 초기화 할 수 있을까? 그 해결방안 중 하나가 RBM이었는데, 아이디어는 간단하다.
Overfitting? Train data set에서는 accuracy가 높게 나오지만, Test data set에서 accuracy가 낮게 나오는 현상 Layer수가 늘어날 수록 training err는 떨어진다.
Fast Forward (Resnet) ResNet (34, 50, 101): Residual CNNs for Image Classification Tasks 출력단을 빼서 순차적으로 넣지 않고 먼 레이어에다가 함께 넣어버린다.
Split & Merge (Convolution NN) No Padding, No Stride Padding, Stride 입력 단 자체를 나누어서 노드를 단들고 마지막에 합쳐버린다! 이 발상은, 고양이 실험으로 부터 왔는데, 요약하면, 우리는 그림 전체를 파악하는 것이 아니고, 부분 부분의 입력을 나누어서 받는다는 것이 핵심 아이디어이다.
왜 기계학습 및 여러 시스템에서 노이즈를 모델링할 때 정규분포를 선택하는가? 그게 제일 합리적이라서. 첫째로 모형화하고자 하는 분포중에는 Normal Distribution에 가까운 것들이 많다.
정규 분포 실제로 가장 많이 적용되는 분포는 이항 분포이다. 하지만 이는 이산 확률 변수에 대해 정의되는 변수이다. 이번에는 연속 확률 분포들 중에서 대부분의 통계학 이론의 기본이 되는 정규분포에 대해서 공부한다.