본문 바로가기

기타/리뷰 및 경험담 - 부스트캠프

2주차 강의 정리

월 - 딥러닝 기본 (용어 설명 / 뉴럴 네트워크 - MLP)

 

화 - 최적화 (Optimization) / 도메인 특강(NLP / CV) / 마스터 클래스 (데이터 시각화)

 

수 - CNN / github 특강 (버전 관리 > commit, push, pull ... )

 

목 - RNN / github 특강 (협업 관리 > 브랜치, merge)

 

금 - Generative Model (조퇴 - 아직 학습하지 못함)

 

 

 

Optimization:

========================

Sgd > gradient 이용 

W_t+1 <- W_t - ηg_t << N에 따라서 제대로 작동하고 안하고 결정 >> N을 정하기 힘듬

 

========================

Momentum > SGD에서 ηg_t대신 momentum(관성)이 적용된 gradient값을 빼줌

a_(t+1) <- (βa_t + g_t) << 다음의 gradient에 영향을 미친다. 즉 앞전의 gradient를 한번 더 활용(β로 활용도 조정)

W_t+1 <- W_t - η(βa_t + g_t) 

 

Nesterov Accelerate > Momentum 인데 Lookahead를 활용함

a_(t+1) <- βa_t  + (Lookahead Gradient)  << 모멘텀 만큼 이동을 한 후에 그 곳에서  gradient를 구해서 이를 a_t+1 계산하는데 활용한다.

이후엔 Momentum 과 동일 방식. gradient를 한칸 이동해서 구했기 때문에 좀 더 빠르게 최저점에 도달 할 수 있다.

========================

Adagrad > 야다그레이드 > 파라미터 자체에 가중치를 추가해준다. > 파라미터가 조금 변했으면 큼직 큼직하게 이동하고 파라미터가 많이 변했으면 조금조금 움직이면서 찾겠다는 느낌

W_t+1 <- W_t - ηg_t에서 η대신 (η/ (G_t+e)^1/2 )를 사용한다. G_t 는 gradient들의 합이다. 즉 G_t가 커지면 Sgd에서 η이 작아지는 효과가 나서 조금씩 이동하게된다. >> 조흔 생각이지만 학습이 뒤로 가면 갈 수록 느려진다. 근데 이게 학습이 많아지면 느려지는 정도가 아니고 η이 0으로 수렴하게되며 학습이 거의 멈춰 버리게된다

 

Adadelta > Adagrad에서의 문제점, G_t가 계속해서 커져 학습률이 떨어지는것을 막겠다.

G_t를 업데이트 할때 exponential moving average(이동평균) 전략을 사용 > 수 많은 파라미터들의 gradient를 저장하는 전략

 

RMSprop > Adagrad 변형한것

========================

Adam < 제일 좋다 << adagrad +  momentum

========================================================================

 

Generative Model

 

'기타 > 리뷰 및 경험담 - 부스트캠프' 카테고리의 다른 글

[4주차]p-stage  (0) 2021.08.30
[3주차 부캠]pytorch 필수과제 1  (0) 2021.08.21