개발자라면 한번쯤은 보러오는 곳
[Computer Vision] Gradient Descent 본문
Gradient Descent
- 경사 하강법
- lost function을 가장 만족하는(극소값) 값을 찾는다.
- Iterative algorithm(반복적으로 한다)
- batch training
- 기울기가 가장 작은 위치를 찾는 것 -> 최솟값/극소값 찾기
- 점 하나 선택해서 미분하면 기울기가 양수/감소 -> 기울기가 감소하는 방향, y축이 가장 낮은 지점으로 가야 하기 때문에 기울기의 방향의 반대방향으로 감
- 이러한 미분 -> 기울기 감소 방향으로 이동을 하면 최솟값에 도달 할 수 있다.
Learning rate
- w 값을 어느 정도로 움직일 것인지에 대한 값
- a(알파값) == learning rate이다.
- 알파값이 작으면 조금 전진, 진행이 느리게 됨
- 알파값이 크면 많이 전진, 범위를 넘어서 진동운동을 하듯이 이동
- 알파값이 많이 크면 많이 전진, 범위를 넘어서 학습이 되지 않음
- Learning rate가 작으면 매우 천천히 학습이 된다.
- Learning rate가 크면 학습이 이상하게 된다.
- Learning rate를 높히거나 줄여서 good convergence 가 되도록 조정한다.
Stochastic Gradient Descent
- 모든 트레이닝 data들을 batch라고 표현
- batch training을 한다 -> 모든 training data example을 이용해서 학습을 한다.
- Gradient Descent는 원래 batch training을 하지만 모든 트레이닝 데이터 셋으로 구현한 손실함수를사용해서 연산을 하면 모델이 느려진다.
- update the parameters based on the gradient for a single training example
-> Stochastic Gradient Descent는 single training example or mini-batch를 사용한다.
- stochastic gradient descent를 사용하면 노이즈가 많이 끼게 된다.
-> 때문에 mini-batch 사용
Mini-batch : full-batch를 나눈것
compute the gradients on a randomly chosen medium-sized set of training examples M ⊂ {1, . . . , N }, called a mini-batch.
- 모집단의 기대값과 같기 때문에 값이 어느정도 도출 될 수 있다.
Critical point
- 경사하강법으로 계산하게 되면 critical point가 생기게 된다.
- 최소값을 찾으러 갈때 global minimum을 찾아야 하지만 local minimum을 찾게 될 수도 있다.
'학교 수업 > Computer Vision' 카테고리의 다른 글
[Computer Vision] Classification (0) | 2022.10.27 |
---|---|
[Computer Vision] Regression (0) | 2022.10.21 |
[Computer Vision] Machine Learning (1) | 2022.10.15 |
[Computer Vision] Edge detection (0) | 2022.10.12 |
[Computer Vision] Filters (1) | 2022.10.08 |