본문 바로가기

Deep Learning6

2.3 Hyperparameter Tuning, Batch Normalization Hyperparameter Tuning 신경망을 변경하려면 다양한 hyperparameter를 설정해야 한다. 최적의 hyperparameter 세팅 방법은 무엇일까? \(\alpha\), \(\beta\), \(\beta_1\), \(\beta_2\), \(\epsilon\), #layers, #hidden units, learning rate decay, mini-batch size 등 신경써야하는 다양한 hyperparameter가 있다. hyperparameter 검색하는 핵심은 적합한 scale에서 random sampling으로하는 것이다. Learning rate \(\alpha\), Exponentially weighted averages \(\beta\)의 경우 linear scale이 .. 2023. 3. 27.
2.2 Optimization Algorithms 모델의 속도를 높일 수 있는 최적화 알고리즘(Optimization Algorithms)을 알아보자. 1. Mini-Batch 지금까지 우리는 전체 데이터 X (\(n_x \times m\))에 대해 gradient를 계산하는 Batch gradient descent 방법을 사용했다. Batch gradient descent는 m이 커질수록 gradient를 계산이 느려지는 문제가 있다. 전체 데이터를 mini-batch로 나눈뒤 gradient를 계산하는 Mini-Batch gradient descent 를 사용하여 gradient 계산 속도를 높일 수 있다. ex) m=5,000,000인 데이터 셋을 mini-batch size=1,000으로 나누는 경우, \(X^{\{1\}}, X^{\{2\}}, .. 2023. 3. 14.
2.1 Practical Aspects of Deep Learning 모델을 만들고 테스트해 보면 분산(Variance)과 편향(Bias)에 따라 아래 네가지 결과 중 하나가 나올 것이다. Bias가 높은 문제는, Bigger Network(hidden layer 또는 node가 많은)를 사용하거나 더 길게 Train하여 해결할 수 있다. Variance가 높은 문제는, 더 많은 Train Data를 사용하거나 모델을 정규화(Regularization)하여 해결할 수 있다. 적절한 Neural Networks Architecture를 사용하여 위 두 문제를 해결할 수도 있다. Neural Network를 Regularization하는 방법을 알아보자. 1. Logistic regression Cost function을 L1 regularization, L2 regulari.. 2023. 2. 28.
1.3 Deep Neural Networks 깊은 신경망은 앞서 정리한 얕은 신경망과 유사하다. layer를 \(L\)개로 확장하면 된다. 1 ~ 1-\(L\) layer는 임의의 activation function(\(g^{[1]}, ..., g^{[L-1]}\))을 사용하고 \(L\) layer의 activation function(\(g^{[L]}\))는 Sigmoid일 때, Forward Propagation과 Backward Propagation은 다음과 같다. L-layer Neural Network에서 최적의 parameter(W, b)와 cost를 구하는 로직은 다음과 같다. def L_layer_model(X, Y, layers_dims, learning_rate = 0.0075, num_iterations = 3000, print.. 2023. 2. 21.