MLOps 프로젝트/도서 '케라스 창시자에게 배우는 딥러닝'

1부 2.4 신경망의 엔진: 그래디언트 기반 최적화

youjin86 2021. 8. 23. 19:52

1부 딥러닝의 기초

2장 딥러닝이란 무엇인가?


2.4 신경망의 엔진: 그래디언트 기반 최적화

훈련 반복 루프

1. 훈련 샘플 x와 이에 상응하는 타깃 y의 배치를 추출

2. x를 사용하여 네트워크를 실행하고 예측 y_pred를 구함.

3. y_pred와 y의 차이를 측정하여 배치에 대한 네트워크 손실을 계산

4. 배치에 대한 손실이 조금 감소되도록 네트워크의 모든 가중치를 업데이트

 

신경망의 사용된 모든 연산은 미분 가능하다는 장점을 사용해 네트워크 가중치에 대한 손실의 그래디언트를 계산하는 것이 좋은 방법

 

미분 가능 == 변화율을 유도할 수 있음의 의미

 

그래디언트(gradient)

텐서 연산의 변화율

그래디언트의 반대 방향으로 가중치를 이동하면 손실이 감소

 

 

확률적 경사 하강법

확률적 : 각 배치 데이터가 무작위로 선택됨.

 

랜덤한 배치 데이터에서 현재 손실 값을 토대로 조금씩 파라미터 수정하여 가장 적은 손실 함수의 값을 만드는 가중치의 조합을 해석적으로 찾는 것

변화율이 0이 되는 지점을 모두 찾고 이 중에서 어떤 포인트의 함수 값이 가장 적은 지를 확인하는 것

(함수의 최솟값은 변화율이 0이 되는 지점)

 

옵티마이저 (optimizer, 최적화 방법)

업데이트를 하면서 다음 가중치를 계산할 때 현재 그래디언트 값만 보지 않고 이전에 업데이트된 가중치를 여러 가지 다른 방식으로 고려

 

 

 

역전파 알고리즘 (후진 모드 자동 미분)

변화율 연결

연쇄 법칙을 신경망의 그래디언트 계산에 적용하여 탄생한 알고리즘