Introduction to Deep LearningWhat is a Neural Network?Supervised Learning with Neural NetworksWhy is Deep Learning taking off?Logistic Regression as a Neural NetworkBinary ClassificationLogistic RegressionLogistic Regression Cost FunctionGradient DescentDerivativesMore Derivative ExamplesComputation GraphDerivatives with a Computation GraphLogistic Regression Gradient DescentGradient Descent on ..
Deep Learning
MNIST Classification아래 그림과 같이 28x28 pixel 정보를 가지고 숫자를 분류하는 아주 유명한 dataset이다.가끔 사람이 보기에도 좀 애매한 것들이 있다.예를 들면, 3행 2열의 5같은 것들...Source Codeimport numpy as npfrom tensorflow import kerasfrom keras.layers import Dense, Conv2D, MaxPooling2D, Dropout, BatchNormalization, Activation, Flattenfrom keras.datasets import mnistfrom keras.utils import to_categoricalimport matplotlib.pyplot as plt(x_train, y_tr..
Overview 유명한 데이터셋 CIFAR-10으로 CNN을 학습시켜 보았다. CNN은 세 가지 모델을 만들어봤다. 결론부터 말하면 널리 알려져 있는 일반화 기법인 Batch Normalization, Dropout을 사용해도 성능이 눈에 띄게 좋아지지는 않는다. 모델과 파라미터를 더 열심히 최적화하면 정확도를 10%는 올릴 수 있을 것 같은데 연습용이니까 힘빼지 않는 걸로... Model 종류 Simple CNN CNN w/ Batch Normalization CNN w/ Dropout Training Data import numpy as np from tensorflow import keras from keras.datasets import cifar10 from keras.layers import ..
Sine 함수에 대해 세 가지 모델을 정의해 Regression을 해보았다.1) ReLU2) Tanh3) BatchNormalization + ReLU import numpy as np from tensorflow import keras from keras import layers from keras.layers import Dense, BatchNormalization, Activation import matplotlib.pyplot as plt x_train = np.arange(-5, 5, 0.02) y_train = np.sin(2*np.pi*x_train) x_test = np.arange(-5, 5, 0.01) y_test = np.sin(2*np.pi*x_test) keras.backend...
Fully Connected Network Node를 2개 가지는 Hideen Layer 1개, Input Node 2개, Output Node 1개로 구성된 Fully Connected Network에 대해서 Backpropagation 수식을 유도해보려고 한다. Hidden Layer는 W를 곱하고 Bias를 더한 후, sigmoid function을 통과한다고 가정한다. Notation Notation에 관해 정리를 먼저 하면, 윗첨자의 \( (L) \)은 \( L \) th Layer를 뜻한다. 아랫첨자는 destination, source 순서이다. 수식 유도 Cost Function에 대한 식을 작성하면 아래와 같다. \( C = (y - a^{(2)})^{2} \) 학습을 위해 Gradien..
XOR Problem Single layer로 linear separable하지 않는 경우에도 multi-layer를 사용하면 linear separable하게 구성 가능하다. MLP import numpy as np from tensorflow import keras x = np.array([(0, 0), (0, 1), (1, 0), (1, 1)]) y = [np.logical_xor(x1, x2) + 0 for x1, x2 in x] y = np.array(y) num_input = 2 num_output = 1 batch_size = len(x) epochs = 500 model = keras.Sequential() model.add(keras.layers.Dense(5, activation='re..
https://alexlenail.me/NN-SVG/ NN SVG alexlenail.me Neural Network Diagram을 자동으로 그려주는 사이트이다.
%matplotlib notebook import numpy as np from sympy import * import matplotlib.pyplot as plt from sympy.plotting import plot, plot3d, plot3d_parametric_line w_target = 2 b_target = 1 X = np.arange(-5, 5, 1).astype('float') Y = w_target*X+b_target plt.plot(X, Y, 'o-') plt.savefig('Original.png') x = symbols('x') w = symbols('w') b = symbols('b') y_pred = w*x+b L = np.mean([(y_pred.subs('x', xi) - ..