분류 전체보기(327)
-
31. Why does Batch Norm Work?
이때 모델은 검은 고양이를 맞추는데 최적화가 되게끔 학습이 되어서 그런 것이다. 이를 신경망 구조로 다시 살펴보자. 검은 고양이를 구분하는데 최적화가 된 모델은 x의 분포(검은고양이 or 노란고양이)에 따라 각 layer의 값이 overfitting된다고 볼 수 있다. noramlize 과정을 통해 x의 분포에 조금 더 일반화를 더할 수 있다. - x 분포가 달라지더라도 weight 변화량에 제한을 둠으로써 일반화 성능을 높일 수 있다. - x 분포에 상관없이 각 layer의 w 분포도는 평균 0, 분산 1(실제로는 알파,베타에 의해 조정)으로 제한되기 때문. mini batch를 이용할 경우 Noramlize가 일어나는 과정에서 계산되는 평균,분산은 mini-batch 내의 평균,분산이므로 전체 데이터..
2023.09.12 -
30. Fitting Batch Norm into a Neural Network
Z를 구한 후 noramlize 과정을 통해 Z틸다를 구하게 되는데, 그럼 Z를 구하는 과정에서 bias항은 의미가 없게된다. - Z 틸다를 구하는 과정에서 Z-mean 을 통해 bias항은 제거되기 때문. - 따라서 bias 를 의미하는 변수는 사용하지 않아도 되며, 영구적으로 0으로 설정하는 방법도 고려해볼 수 있다. 따라서 bias는 beta가 대체하는 것을 볼 수 있으며, beta는 moving (축에서 y축이동) 혹은 bias에 영향을 주는 파라미터라고 볼 수 있다. - Gamma, beta 모두 (n[l],1) 형태의 shape을 가진다. - Z.shape : (n[l],1) 이기 때문 parameter update시 Momentum, RMSprop, Adam의 수식으로 대체하여 사용하여도 무..
2023.09.12 -
29. Normalizing Activations in a Network
우리는 이전에 m개의 훈련예제를 벡터화를 통해 학습속도를 높일 수 있었다. 또, 이보다 mini batch를 통해 n개만 벡터화를 진행하고, gradient descent를 우선 수행하는 것이 더 빠르다고 알 수 있었는데 m개의 훈련예제를 벡터화했을 때 1/m으로 noramlize 했던것을 기억해보자. - 벡터화(1/m의 noramlize)를 통해 Z를 더 빨리 얻을 수 있었다. - 같은 이유로 다음 layer에게 전달되는 Z[l] 값에 대해 벡터화(mini-batch) 및 normalize(1/n)을 통해 더 빨리 전달할 수는 없을까? 따라서 Z[l]에서 평균, 분산을 구한 후 normalize를 수행한다. - 이는 Z[l](norm)이 평균값 0, 분산이 1을 가지게끔하게 만드는데 모든 hidden ..
2023.09.12 -
28. Hyper parameters Tuning in Practice: Pandas vs Caviar 2023.09.12
-
27. Using an Appropriate Scale to pick Hyper parameters
[0.0001, 1] 사이를 random sampling할 경우 대부분의 값은 [0.1,1]사이에 위치하게 된다. (왜?) - x축으로 선형으로 그려보자. 그리고 0.0001, 0.001, 0.01, 0.1, 1을 위치로 찍어보자. 이는 타당하지 않을 수 있으므로 log 변환을 해주는게 적절해보인다. - 파이썬으로 구현 시 정수 범위 내에서 random sampling후 지수로 설정하면 된다. beta : 이전 n개의 결과의 영향력을 유지. - if 0.999의 경우 이전 1000개, 0.9995의 경우 2000개. - if 0.9의 경우 이전 10개, 0.9005 경우 20개 - 즉 0.0005정도의 같은 값이 변화하더라도 0.9에서 변할때와 0.999에서 변할때의 영향력의 차이는 매우 크다. 따라서 ..
2023.09.12 -
26. Tuning Process
Hyper parameters 1. learning rate 2. beta (Adam : beta1, beta2) 3. epsilon 4. number of layers 5. number of hidden units 6. learning rate decay 7. mini-batch size which is the most important? - we don't know. Thus, try random value. (Don't use a grid) - if number of hyperparameter is small, grid is ok - but really high dimension(=number of hyperparameter is large), it's difficult to know what is..
2023.09.12