카테고리 없음

[모두를 위한 딥러닝] Lab-03. Deeper Look at Gradient Descent

우숨 2021. 1. 26. 22:11

Hypothesis function: 인공신경망의 구조를 나타냄

- 어떤 input x에 대해 output y: H(x)

- w: 어떤 매트릭스, input x에 곱해진 후 빼야하는 bias vector에 더해져서 예측값 H(x)를 계산

- 즉, w와 b를 학습해서 최적화

 

 

  • b 상수 없는 간단한 모델

 

 

  • 입력과 출력이 동일함으로 w=1이 가장 좋은 모델

 

 

 

Cost funciton

- 모델 예측값이 실제 데이터와 얼마나 다른지 나타내는 것. 잘 학습된 모델이면 낮은 cost를 가짐

  • Linear regression의 경우 cost= MSE

 

  • cost를 최소화 하는 것
    • 기울기가 음수일 떄는 w가 더 커져야하고 기울기가 양수일 때는 w가 더 작아져야 함
    • 기울기가 가파를수록 cost가 1에 가까운것이니 w를크게 바꾸고 평평할수록 0에 가까운 것이니 w를 조금 바꿔야 한다 > gradient descent( grant를 이용해서 cost를 줄인다)

 

a= learnig rate =lr

 

  • torch.optim
    • optimizer 정의하기 위해서는 학습 가능한 변수들과 learning rate 알아야 함. 
      • optimizer.zero_grad(): optimizer에 저장되어 있는 모든 학습한 변수들을 전부 0으로 초기화
      • cost.backward(): cost를 미분에서 각 변수들의 gredient를 채움
      • optimizer.step(): 저장된 gradient 값으로 gredient descent 실행

linear regression 단순 모델에서 학습 가능한 w, lr는 임의로 0.15로 설정
epoch 수가 증가할 수록 cost가 1에 수렴, cost 줄어듬