ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Regularization & Optimization
    Google ML Bootcamp/Improving Deep Neural Network 2023. 9. 10. 20:45
    728x90

    1. Train / Dev / Test sets

    - ML에서는 70:30으로 분할하는 것이 일반적이었음.

    - 빅데이터 : 테스트 셋의 크기가 점점 작은 비율로 줄어들고 있음.(테스트 셋이 10% ~ 20%정도의 비율일 경우도 흔함.)

    - Training set : Cat pictures from webpages.

    - Dev/test sets : Cat pictures from users using your app.

    - Make sure dev and test come from same distribution.

     

     

    2. Bias / Variance

    - high bias : underfitting

    - high variance : overfitting

    - Train set error : 1%, Dev set error : 11% -> overfitting(high variance)

    - Train set error : 15%, Dev set error : 16% -> underfitting(high bias)

    - Train set error : 15%, Dev set error : 30% -> high bias, high variance(최악의 상황)

     

    -> bias와 variance를 train과 dev set을 통해서 알고리즘을 보다 체계적으로 개선할 수 있어야 한다.

     

     

    3. Basic Recipe for Machine Learning

    - High bias?(training data performance) -> Bigger network, Train longer(NN architecture search)

    - High variance?(dev set performnace) -> More data, regularization(NN architecture search)

    -> low variance, low bias 상태가 되도록 계속해서 알고리즘을 개선한다.

    -> 적절한 정규화는 분산을 손상시키지 않으면서 편향을 줄인다.

    -> 편향과 분산을 반드시 적절한 상태가 되도록 만들어야만 한다.

     

     

    4. Regularization

    - 로지스틱 회귀 L1, L2 정규화

    - Neural Network

    - L1 정규화 : weight decay

    - L2 정규화 : Frobenius norm

     

     

    5. Why Regularization Reduces Overfitting?

    - tanh 함수에서의 경우, 정규화 파라미터가 매우 큰 경우 W 값이 작아짐 -> z의 값이 작아짐(거의 선형에 가까움). 복잡한 비선형함수가 아니라 단순한 함수가 됨. 그래서 과적합이 덜해짐.(L2 정규화를 사용)

     

     

    6. Dropout Regularization

    - 확률을 이용해서 뉴런을 제거하는 기법. 특정 설명변수 Feature를 과도하게 집중하여 학습해서 발생하는 오버피팅을 방지하기 위해 사용함.

    - 상관관계가 강한 Feature를 제외하고 학습해서 좋은 출력값을 얻을 수 있도록 최적화되어있다면 오버피팅을 방지하고 Feature를 종합적으로 확인하는데 가장 좋음. -> 모델의 일반화

     

    7. Understanding Dropout

    - 드롭아웃은 무작위로 신경망의 유닛을 누락시킨다.

    - 어떤 한가지 특성에 의존해서는 안된다.(Can't rely on any one feature, so have to spread out weights) -> Shrink weights. L2 Regularization과 유사한 효과를 불러오고 과적합을 방지하는 데 도움이 된다.

    - 일부 레이어에 과적합이 걱정이라면 일부 레이어에 대해 낮은 keep-prob을 설정한다. 단점은 교차검증을 하여 찾을 수 있는 하이퍼파라미터가 훨씬 더 많다.

    - 컴퓨터 비전에서 많이 사용됨. 비전 연구에서는 input 데이터가 거의 항상 과적합하기 때문에 많이 사용하는데 알고리즘이 과적합되지 않는 이상 잘 사용하지는 않는다.

     

    8. Other Regularzation Methods

    1) Data augmentation

    2) Early Stopping - 신경망이 dev와 train error가 유사하게 잘 하강하고 있는 시점까지만 트레이닝을 진행하고 값은 여기까지만 dev set error를 얻는다. -> L2 정규화와 비슷하게 신경망에서 w 파라미터수가 비슷한 norm을 선정하여 결과적으로 신경망의 overfitting을 막는다.

     

     

    9. Normalizing Inputs

    - 정규화를 할 경우에 cost function을 더 최적화하기가 쉽다.

     

     

    10. Vanishing / Exploding Gradients

    - 신경망의 L에 따라 기울기가 소실 되거나 폭발적으로 증가할 수 있다.

    - 심층 신경망은 L의 함수대로 활성화나 기울기가 기하 급수적으로 증가 or 감소하는 경우 그 값 또한 매우 커지거나 작아질 수 있다. L과 비교하여 기울기가 급격히 작으면, 기울기 하강이 굉장히 천천히 이루어져서 시간이 오래 걸린다.

     

     

    11. Weight Initialization for Deep Networks

    - 가중치 초기화 : n이 크면 클 수록 w는 작아지는 특성을 활용

    - 각각의 가중치 행렬 w를 설정하려 하기 때문에 1보다 너무 크지 않고 너무 작지도 않아서 빠르게 폭주하거나 소실되지 않도록 할 수 있다.

    - tanh는 분자로 1을 ReLU는 분자로 2를 사용하는데 여러가지 의견이 분분함. 보통 ReLU를 사용하는 것이 일반적임.

     

     

    12. Numerical Approximation of Gradients

     

     

    13. Gradient Checking

     

    728x90

    'Google ML Bootcamp > Improving Deep Neural Network' 카테고리의 다른 글

    Optimization Algorithms  (0) 2023.09.12
Designed by Tistory.