Study

SGD Algorithm

honey-vision 2024. 6. 11. 17:09

SGD는 Steepest Gradient Descent의 줄임말로 Stochastic Gradient Descent(SGD)와 같은 의미다.

Steepest Gradient Descent는 주로 신호처리 분야에서 사용하는 용어이고 Stochastic Gradient Descent는 주로 머신러닝이나 딥러닝에서 사용된다. 

 

Steepest Descent Method

- gradient를 기반으로 한 선형 FIR(Finite Impulse Response) 필터에 tap-weight 벡터의 adaptation

- 스스로 minimum point를 찾는 결정론적 피드백 시스템 사용

 

Steepest Gradient Descent는 input data 비율이 높거나 tap weight가 클 때 존재하는 연산의 어려움을 해결하기 위해 제안되었다.

 

Steepest Gradient Descent의 과정

1. w(0)은 랜덤하게 초기화한다.

2. 접선 벡터와 수직인 벡터인 gradient vector를 계산한다. 이때, 기울기가 감소하는 방향으로 계산한다.

3. tap-weight에서 다음 값을 예측한다. μ

4. 이 과정을 반복한다.

 

Mathematical formulation of Steepest Gradient Descent algorithm

- cost function이 줄어들지 않고 계속 증가했고 학습이 되지 않는 문제점을 해결하기 위해 μ(learning rate)를 적용했다. 

(μ는 gradient가 이미 크기 때문에 0과 1사이로 아주 작은 값이다)

w(n+1) = w(n) + μ[p-Rw(n)] = w(n) + μE[u(n)e*(n)]

w(n) + μ[p-Rw(n)] = w(n) + μE[u(n)e*(n)] 증명

 

 

'Study' 카테고리의 다른 글

NasNet paper에 나오는 개념들  (0) 2024.06.26
Adaptive filter  (0) 2024.06.12
LMS와 SGD 차이점  (0) 2024.06.11
LMS Algorithm  (0) 2024.05.21
파라미터 수 계산하기  (0) 2024.05.11