본문 바로가기

반응형

AI

(10)
[밑바닥부터 시작하는 딥러닝1] 밑딥 스터디 CH7 정리 합성곱 신경망 (CNN, Convolutional Neural Network)fully-connected : 인접하는 layer의 모든 뉴런과 결합되어있는 상태Affine layer : 완전히 연결된 layerConvolutional layerAffine layer와 다른 점affine layer 대신 conv,pooling이 추가됨. (‘Affine-ReLU’ → ‘Conv-ReLU-Pooling’)각 layer 사이에는 3/4차원 데이터가 흐름 → 데이터의 차원을 그대로 가져갈 수 있어서 이미지처럼 형상을 가진 데이터를 제대로 이해할 가능성이 있음Affine layer에서는 3차원 데이터를 1차원 데이터로 flatten 시켜줘야 했지만, CNN layer에서는 그럴 필요가 없음feature map :..
[밑바닥부터 시작하는 딥러닝1] 밑딥 스터디 CH6 정리 OptimizationOptimization : parameter의 최적값을 찾는 것SGD (확률적 경사 하강법)class SGD: def __init__(self, lr = 0.01): self.lr = lr def update(self, params, grads): for key in params.keys(): params[key] -= self.lr * grads[key]$\mathbf{W} \leftarrow \mathbf{W} - \eta \frac{\partial L}{\partial \mathbf{W}}$ 단, 식으로는 (0,0)이 최솟값이 되지만, 그래프에서는 대부분이 (0,0)방향을 보이지 않음 이런경우 학습 시 비효율적인 움직임을 보임momentum$\mathbf{v} \lef..
[밑바닥부터 시작하는 딥러닝1] 밑딥 스터디 CH5 정리 Backpropagationbackpropagation가중치 매개변수의 기울기를 효율적으로 계산하는 방법덧셈 노드의 backpropagation값을 그대로 다음 노드로 전달함곱셈 노드의 backpropagation노드에 연결된 다른 노드값을 곱함activation function의 forward/backwardReLUclass Relu: def __init__(self): self.mask = None def forward(self, x): self.mask = (x Sigmoidclass Sigmoid: def __init__(self): self.out = None def forward(self, x): out = 1 / (1 + np.exp(-x)) self.out = out retur..
[밑바닥부터 시작하는 딥러닝1] 밑딥 스터디 CH4 정리 loss function신경망 성능의 ‘나쁨’을 나타내는 지표로, 현재의 신경망이 훈련 데이터를 얼마나 잘 처리하지 못하느냐를 나타냄SSE(오차제곱합, sum of wquares for error)$$ E = \text{\(\frac 1 2\)}\displaystyle\sum_k (y_k - t_k)^2 $$CEE(교차 엔트로피 오차, cross entropy error)$$E = -\sum_{k} t_k \log y_k $$one-hot encoding : 정답 위치의 원소만 1, 나머지는 0❓ 최적의 매개변수를 탐색할 때 정확도를 지표로 삼아서는 안 되는 이유정확도는 비연속적인 함수이므로.ex) 100개 중 95개가 정답이면 95%, 96개가 정답이면 96%. 기울기가 가리키는 쪽 = 각 장소에서 함..
[밑바닥부터 시작하는 딥러닝1] 밑딥 스터디 CH3 정리 활성화함수시그모이드 함수$h(x) = 1/1+exp(-x)$시그모이드와 계단함수의 차이점 : 매끄러움. 계단함수는 0 or 1의 값을 돌려주지만, 시그모이드 함수는 0과 1 사이의 연속적인 값을 가지고 있음.ReLU 함수Rectified linear Unit입력이 0 이상이면 값을 그대로 사용, 0 이하면 0을 출력def relu(x): return np.maximum(0, x)*배열의 차원 수 : np.ndim() 함수로 확인 가능
[Mathmatics for ML] Principal Component Analysis (PCA) 목표 : dim 줄이기linear matrix B를 찾아서 Data 축소하기. B의 방향이 결국 data convergence matrix의 eigenvector들. M개의 가장 큰 eigenvector들을 모은 matrix = BPCA 순서1. Centering. Centering the data by subtracting mean → 각 dim마다 평균 0이 되도록2. Standardization. Divide the data points by the standard deviation for every dimension (original feature) d=1,…,D → 각 dim마다 분산 1이 되도록3. Eigenvalue/vector. Compute the M-largest eigenvalues ..
[Mathmatics for ML] 2. Convex Optimization KKT condition이 무엇인지, Lagrange function과 어떤 관련이 있는지Optimization : 최적화gradient descent : 경사 하강법infimum : 하한convex : 볼록concave : 오목 Optimization의 목표 : n개의 training data에 대한 model의 parameter 최적화 ($minL(\theta)$)각 iteration에서 사용하는 데이터의 양에 따른 분류Batch gradient descentMini-batch gradient descentStochastic gradient descent적응형 업데이트 방법에 따른 분류Momentum, NAG, Adagrad, RMSprop, Adam,,,1. Optimization Using Gra..
[Mathmatics for ML] 1. Matrix Decompositions(행렬분해) 주요 키워드 : Singular Value Decomposition행렬들이 어떻게 더해지는지 : determinants, eigenvalues행렬들이 어떻게 분해되는지 : Cholesky decomposition, diagonalization, singular value decomposition1. Determinant and Tracedeterminant : 행렬식trace : 대각합A의 역행렬이 정의되려면, $a_{11}a_{22} - a_{12}a_{21} != 0$⇒ $det(A) = a_{11}a_{22} - a_{12}a_{21}$ Laplace expansion : 3x3 det를 2x2 det로 재정의하는 방법3x3의 det(A) = $a_{11}a_{22}a_{33} + a_{21}a_{..

반응형