23건의 항목
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 입력 단 자체를 나누어서 노드를 단들고 마지막에 합쳐버린다! 이 발상은, 고양이 실험으로 부터 왔는데, 요약하면, 우리는 그림 전체를 파악하는 것이 아니고, 부분 부분의 입력을 나누어서 받는다는 것이 핵심 아이디어이다.
Openpose를 사용하여 동작을 추출, 그것을 기반으로 동작을 예측하고 분류하는 모델을 제작했다.
서울시 관내 식당의 식수인원을 예측하여 사회적 이익을 가져오는 프로젝트를 진행했다.