카테고리 없음
DeepMl-03 Optimization
Overflow42
2021. 10. 7. 23:00
Optimization
Optimization - 최적화
딥러닝은 데이터가 클수록 더 나은 결과값을 도출하는 데 반해 훈련 속도는 느려질 수밖에 없다
이럴 경우 효율성을 높이기 위한 optimization 알고리즘을 잘 선택해야 한다
1.Optimization Random search

말그대로 무작위로 파라미터를 찾는 방법입니다
가장 먼저 생각해볼 수 있는 방법이지만 정말 비효율적이고 성능이 좋지 않은 알고리즘입니다
2.Optimization Follow the slope(경사하강법)

산에서 한발자국 한발자국 경사를 느끼며 내려가다 보면 나의 구체적인 현재 위치를 몰라도 언젠간 내려갈 수 있듯이
파라미터의 기울기를 이용하는 방법
gradient의 반대 방향으로 일정 크기만큼 이동해내는 것을 반복하여 Loss function 의 값을 최소화하는 파라미터 를 찾습니다.
2-1. numerical gradient

임의의 가중치 W를 다수 설정하여 하나의 가중치 집합을 만들고 이 가중치에 미세한 h를 더해서 loss를 계산합니다
끔찍하게 느리니 하지말라고합니다...
2-2. Analytic gradient
W의 모든 요소를 순환하는 대신 gradient를 나타내는 식을 먼저 찾고 수식으로 나타내서 한번에 gradient dW를 계산합니다.
numerical gradient보다 훨씬 효율적입니다