U_Week_2_Day_7

유영재·2021년 8월 10일

부스트캠프 AI_Tech

목록 보기
7/30
post-thumbnail

수업 정리  

강의 목록

[DL Basic] Optimization

  • Generalization

  • Cross-validation(k-fold validation)
  • Bias and Variance

    • 학습데이터에 noise가 껴있을 경우, bias와 variance는 trade-off 관계에 있다
  • Bootstrapping
    • 학습데이터의 일부를 활용해 여러 개의 모델을 만들어 예측하는 기법
  • Bagging vs Boosting
    • Bagging : Bootstrapping aggregating, 복원 임의 추출을 통해 만든 여러 개의 모델을 앙상블하여 예측하는 기법
    • Boosting : 모델이 예측하지 못하는 데이터에 대해 잘 동작하는 모델을 만들어 sequential하게 모델을 합쳐 하나의 모델을 만드는 기법
  • Batch-size Matters
    • sharp minimizer(large batch) vs flat minimizer(small batch)
    • 이슈가 많은 부분으로 사료된다.
  • Gradient descent methods
    • SGD(Stochastic gradient descent)
      • η\eta : learning rate, gg : gradient
      • Wt+1WtηgtW_{t+1} \leftarrow W_{t} - \eta g_{t}
    • Momentum
      • at+1a_{t+1} : accumulation, β\beta : momentum
      • at+1βat+gta_{t+1} \leftarrow \beta a_{t} + g_{t}
      • Wt+1Wtηat+1W_{t+1} \leftarrow W_{t} - \eta a_{t+1}
    • Nestrov Accelerated Gradient
      • L(Wtηβat)\nabla\mathcal{L}(W_{t}-\eta\beta a_{t}) : Lookahead gradient
      • at+1βat+L(Wtηβat)a_{t+1} \leftarrow \beta a_{t} + \nabla\mathcal{L}(W_{t}-\eta\beta a_{t})
      • Wt+1Wtηat+1W_{t+1} \leftarrow W_{t} - \eta a_{t+1}
    • Adagrad
      • GtG_{t} : Sum of gradient squares, ϵ\epsilon : for numerical stability
      • Wt+1WtηGt+ϵgtW_{t+1} \leftarrow W_{t} - \frac{\eta}{\sqrt{G_{t}+\epsilon}}g_{t}
      • 결국 학습이 진행될수록 GtG_{t}는 계속해서 커지기 때문에 점점 학습이 이뤄지지 않게된다.
    • Adadelta
      • GtG_{t} : EMA(exponential moving average) of gradient squares, HtH_{t} : EMA of difference squares
      • Gt=γGt1+(1γ)gt2G_{t} = \gamma G_{t-1}+(1-\gamma)g_{t}^2
      • Wt+1=WtHt1+ϵGt+ϵgtW_{t+1} = W_{t} - \frac{\sqrt{H_{t-1}+\epsilon}}{\sqrt{G_{t}+\epsilon}}g_{t}
      • Ht=γHt1+(1γ)(ΔWt)2H_{t} = \gamma H_{t-1}+(1-\gamma)(\Delta W_{t})^2
      • There is no learning rate!
    • RMSprop
      • GtG_{t} : EMA of gradient squares, η\eta : stepsize
      • Gt=γGt1+(1γ)gt2G_{t} = \gamma G_{t-1}+(1-\gamma)g_{t}^2
      • Wt+1WtηGt+ϵgtW_{t+1} \leftarrow W_{t} - \frac{\eta}{\sqrt{G_{t}+\epsilon}}g_{t}
    • Adam
      • mtm_{t} : Momentum, vtv_{t} : EMA of gradient squares, η\eta : stepsize
      • mt=β1mt1+(1β1)gtm_{t} = \beta_{1} m_{t-1} + (1-\beta_{1})g_{t}
      • vt=β2vt1+(1β1)gt2v_{t} = \beta_{2} v_{t-1} + (1-\beta_{1})g_{t}^{2}
      • Wt+1Wtηvt+ϵ1β2t1β1tmtW_{t+1} \leftarrow W_{t} - \frac{\eta}{\sqrt{v_{t}+\epsilon}}\frac{\sqrt{1-\beta_{2}^{t}}}{1-\beta_{1}^{t}}m_{t}
      • effectively combines momentum with adpative learning rate approach
  • Regularization
    • Early stopping
      • validation error가 튀는 부분에서 학습 종료
    • Parameter norm penalty
      • Weight Decay라고도 불리며, 파라미터가 너무 커지지 않게 하는 것
      • 부드러운 함수일수록 generalization performance가 높을 것이라 가정
      • total cost = loss(D;W)+α2W22(\mathcal{D}; W) + \frac{\alpha}{2}||W||_{2}^{2}
    • Data augmentation
    • Noise robustness
      • noise를 데이터 뿐만 아니라 weight 값에도 넣어준다.
      • 원인불명확
    • Label smoothing

    • Dropout
    • Batch normalization



과제

  • Optimization
    - 실습 강의 보면서 완료

피어세션 정리

  • NAG 개념 및 수식 이해
  • Batch norm, Layer norm 개념 이해(추가적인 학습 필요)
  • 이번주에 배울 RNN, Seq2Seq attn, Transformer 개념 선행학습 진행

느낀점

수식 쓰는 게 고생스럽다고 생각했는데, 직접 쓰면서 정리하다보니 머리에 더 남는듯합니다.
그리고 오늘까지는 강의 분량이 적어 수월했지만, 뭔가 폭풍전야 같은 느낌입니다...
내일 생활코딩 이고잉님의 특강이 있는데, 완전 기대중입니다!!
오늘 하루도 다들 수고많으셨습니다:)

0개의 댓글