본문 바로가기

딥러닝

(38)
2강. Image Classification: Programming K nearest Neighbor (kNN) exercise training 과정에서 classifier은 단순히 training data를 기억할 것이다. testing 과정에서 classifier은 각각의 test 이미지를 모든 training 이미지와 비교해서 그 중가장 가까운 k개의 training 이미지의 label로 결정할 것이다. k의 값은 cross-validation 과정을 통해 결정된다. 1. code setup, import data and packages # Run some setup code for this notebook. import random import numpy as np from cs231n.data_utils import load_CIFAR10 import matpl..
2강. Image Classification image classification input 이미지를 여러 카테고리 중 하나의 label로 할당하는 것으로 컴퓨터 비전의 핵심 문제이다. 컴퓨터가 이미지를 분류하기 어려운 이유 - 카메라의 각도, 조명, 이미지의 크기에 따라 pixel이 달라짐 - 물체가 가려지거나 배경색과 비슷해지면 인식이 어려움 - 하나의 대상이 여러 모양을 가진 경우 =>좋은 image classification model은 이러한 variation에 흔들리지 않아야 한다. Data-driven approach label을 가진 training set으로 model을 학습하는 알고리즘 [input -> learning -> evaluation]의 과정이 필요하다. input: n개의 training example이 k개의 cla..
5장. 오차역전파법 1. 계산 그래프 계산 그래프 사용시 이점 복잡한 문제를 국소적으로 단순화 (국소적: 자신과 직접 관계된 작은 범위만 계산 가능) 중간 계산 결과를 모두 보관할 수 있음 역전파를 통해 미분을 효율적으로 계산함 2. 연쇄 법칙 신호 E에 노드의 국소적 미분을 곱하여 노드를 계산함으로써 역전파를 계산할 수 있다. 합성함수: 여러 함수로 구성된 함수 z라는 함수를 t를 이용하여 합성함수로 표현할 수 있다. x의 z에 대한 미분은 t를 이용하여 연쇄법칙으로 표현할 수 있다. 즉, 합성함수의 미분은 합성함수를 구성하는 각 함수의 미분의 곱으로 나타낼 수 있다. (편미분) 3. 역전파 1. 덧셈 노드의 역전파 덧셈 노드일 때 미분값이 다음과 같기 때문에 상류에서 정해진 미분값에 1을 곱하기만 하면 된다, 즉 입력값..
4주차. Programming: Deep Neural Network - Application 1. packages import time import numpy as np import h5py import matplotlib.pyplot as plt import scipy from PIL import Image from scipy import ndimage from dnn_app_utils_v3 import * %matplotlib inline plt.rcParams['figure.figsize'] = (5.0, 4.0) # set default size of plots plt.rcParams['image.interpolation'] = 'nearest' plt.rcParams['image.cmap'] = 'gray' %load_ext autoreload %autoreload 2 np.random..
4주차. Programming: Building deep neural network 1. Packages import numpy as np import h5py import matplotlib.pyplot as plt from testCases_v4a import * from dnn_utils_v2 import sigmoid, sigmoid_backward, relu, relu_backward %matplotlib inline plt.rcParams['figure.figsize'] = (5.0, 4.0) # set default size of plots plt.rcParams['image.interpolation'] = 'nearest' plt.rcParams['image.cmap'] = 'gray' %load_ext autoreload %autoreload 2 np.random.see..
4주차. Deep Neural Networks Forward propagation in a deep network Getting your matrix dimensions right Why deep Representations? deep neural network가 shallow network 보다 더 쉽고 간편하게 계산 가능 Building blocks of deep neural networks forward propagation에서 layer마다 W[l],b[l]으로 a[l]을 계산하여 yhat까지 계산함. Z[l],W[l],b[l]도 추가적으로 계산하여 저장해놓음. backward propagation에서는 da[l]으로 dw[l],db[l],da[l-1]을 계산하면서 W[l],b[l]을 update 함. Forward and Backward p..
3주차. Programming assignment 1. packages import numpy as np import matplotlib.pyplot as plt from testCases_v2 import * import sklearn import sklearn.datasets import sklearn.linear_model from planar_utils import plot_decision_boundary, sigmoid, load_planar_dataset, load_extra_datasets %matplotlib inline np.random.seed(1) np.random.seed()로 결과값이 항상 동일하도록 설정했다. 2. dataset X, Y = load_planar_dataset() plt.scatter(X[0, :], X[1, :..
3주차. Shallow Neural Network Neural Networks Overview 2주차에서 1층으로 이루어진 neural network의 구조와 back propagation(da,dw,db)을 계산하는 방법을 알아보았다. 이번 단원에서는 2층 신경망에 대해서 알아볼 것이고, 그림은 forward propagation 과정을 나타냈다. backward propagation으로 (da[2]),dz[2],dW[2],db[2],(da[1]),dz[1],dW[1],db[1]을 어떻게 나타내는 지도 볼 것이다. Neural Network Representation neural network는 입력층인 input layer, 출력층인 output layer, 그리고 그 두 층을 제외한 중간의 모든 층인 hidden layer로 구성된다. 0층부터 a..