최적화 기능에 대한 기본적인 이해

기본 사상

유도체

함수 y = f ( x ) y=f(x)와이=x 0 x_0 에서 f ( x )엑스0인수 xx 일 때 의 특정 필드에 정의가 있습니다.x atx 0 x_0엑스0증분 Δx ΔxΔ x( x + Δ x ) (x+Δx)( 엑스+Δ x ) 도 이 이웃에 있으며 해당 함수는 증분Δ y = f ( x 0 + Δ x ) − f ( x 0 ) Δy=f(x_0+Δx) - f(x_0)y_ _=에프 ( 엑스0+Δ x )-에프 ( 엑스0); 当Δ x → 0 \Delta{x}\to0Δx_ _0时,Δy \Delta{y}Δ yΔ x \Delta{x}Δ x 의 비율이 존재하면 함수y = f ( x ) y=f(x)와이=x 0 {x}_0 에서 f ( x )엑스0에서 유도될 수 있으며, 이 극한을 함수 y = f ( x ) y=f(x) 라고 부릅니다.와이=x 0 {x}_0 에서 f ( x )엑스0미분 at은 f ′ ( x 0 ) {f}'({x}_0)에프 (엑스0)
f ′ ( x 0 ) = lim ⁡ x 0 → 0 Δ y Δ x = lim ⁡ x 0 → 0 f ( x + Δ x − f ( x ) Δ x f'({x}_0)=\lim_ {x_0\to0}\frac{\Delta{y}}{\Delta{x}}=\lim_{x_0\to0}\frac{f(x+\Delta{x}-f(x)}{\Delta{ 엑스}}에프 (엑스0)=엑스0 0Δx_ _y_ _=엑스0 0Δx_ _에프 ( x + Δ x에프 ( x )

부분 미분

다변량함수 하에서 도함수와 편도함수는 본질적으로 같으며 둘 다 독립변수의 변화가 0에 근접할독립변수 의 변화에 ​​대한 함수값의 변화 비율의 극한이다. 간단히 말해서 미분은 단항 함수 , 함수 y = f ( x ) y=f(x)
와이=특정 지점에서 x축의 양의 방향을 따라 f ( x ) 의 변화율; 편도함수는다변량 함수, 함수y = f(x0, x1,...xn)y를=f({x} _0, {x}_1,...{x}_n)와이=에프 ( 엑스0,엑스1,... 엑스) ( x 0 , x 1 , . . xn ) ({x}_0, {x}_1,...{x}_n)( 엑스0,엑스1,... 엑스) 특정 좌표축의 양의 방향으로의 변화율.
α α xjf ( x 0 , x 1 , . . xn ) = lim ⁡ Δ x → 0 Δ y Δ x = lim ⁡ Δ x → 0 f ( x 0 , . . , xj + Δ xj , . . , xn ) − f ( x 0 , . . . xj , . . . , xn ) Δ x \frac{\alpha}{\alpha{x_j}}{f({x}_0, {x}_1,.. .{x}_n)} = \lim_{\Delta{x\to0}}\frac{\Delta{y}}{\Delta{x}} = \lim_{\Delta{x\to0}}{\frac {f(x_0,...,{x}_j + \Delta{x_j},...,x_n ) - f(x_0, ...x_j, ..., x_n)}{\Delta{x}} }α ×j에프 ( 엑스0,엑스1,... 엑스)=Δ x 0Δx_ _y_ _=Δ x 0Δx_ _에프 ( 엑스0, ... , xj+ Δx_ _j, ... , x) - 에프 ( 엑스0, ... 엑스j, ... , x)

방향 미분

도함수와 부분 도함수는 모두 좌표축의 양의 방향을 따라 함수의 변화율을 논의합니다 . 방향 미분의 정의는 함수를 따라 한 지점에서 임의의 방향으로 변화율을 고려할 때 발생합니다. 다변량 함수에서 편도함수는 특정 좌표축에 대한 독립변수
의 변화를 의미 하고, 방향성 미분은 특정 방향으로 여러 좌표축에 대한 독립변수 의 변화를 의미한다. 부분 도함수는 본질적으로 방향성 도함수의 특별한 경우입니다 . α α lf ( x 0 , x 1 , ... xn ) = lim ⁡ ρ → 0 Δ y Δ x = lim ⁡ ρ → 0 f ( x 0 + Δ x 0 , . . , xj + Δ xj , . . , xn + Δ xn ) − f ( x 0 , . . . xj , . . . , xn ) ρ \frac{\alpha}{\alpha{l}}{f({x}_0, {x} _1,...{x}_n)} = \lim_{ {\rho\to0}}\frac{\Delta{y}}{\Delta{x}} = \lim_{ {\ rho\to0}} { \frac{f(x_0+\Delta{x_0},...,{x}_j + \Delta{x_j},...,x_n + \Delta{x_n})- f(x_0, ...x_j, . .., x_n)}{\rho}}
α l에프 ( 엑스0,엑스1,... 엑스)=ρ 0Δx_ _y_ _=ρ 0아르 자형에프 ( 엑스0+ Δx_ _0, ... , xj+ Δx_ _j, ... , x+ Δx_ _) - 에프 ( 엑스0, ... 엑스j, ... , x)
ψ = ( Δ x 0 2 ) + . . . + ( Δ xj 2 ) + . . . + ( Δ xn 2 ) \rho = \sqrt{(\Delta{x_0}^2)+ ... +(\Delta{x_j}^2)+...+(\Delta{x_n}^2)}아르 자형=( Δx_ _02 )+...+( Δx_ _j2 )+...+( Δx_ _2 ) .

구배

원래 벡터로 의도된 Gradient는 이 시점에서 함수의 방향 도함수가 이 방향 , 즉 특정 지점에서 모든 방향 도함수의 최대값에 해당하는 방향을 따라 최대값을 얻고 함수가 변경됨을 나타냅니다. 이 지점에서 이 방향으로 가장 빠른 것 최대 변화율.
이미지.png
gradf ( x 0 , . . , xj , . . xn ) = ( α f α x 0 , . . α f α xj , . . . , α f α xn ) gradf(x_0, ..., x_j ,... x_n)=(\frac{\alpha{f}}{\alpha{x_0}}, ...\frac{\alpha{f}}{\alpha{x_j}}, ..., \ frac{\alpha{f}}{\alpha{x_n}})g r df ( x _0,... ,엑스j,... 엑스)=(α ×0에프 _,...α ×j에프 _,... ,α ×에프 _)

방향 미분과 그래디언트의 관계

이진 함수에서 방향 도함수는 다음과 같이 표현할 수 있습니다:
α f α l = α f α x ∗ cos θ + α f α y ∗ sin θ \frac{\alpha{f}}{\alpha{l}} = \ frac{\alpha{f}}{\alpha{x}}*cos\theta + \frac{\alpha{f}}{\alpha{y}}*sin\thetaα l에프 _=α ×에프 _cosθ _+에이 _에프 _s in θ
여기서θ \thetaθ 는 방향 벡터와 x축 사이의 각도로 표현됩니다. 위 공식을 두 벡터의 내적으로 변환할 수 있습니다.
α f α l = [ α f α x , α f α y ] ∗ [ cos θ , sin θ ] \frac{\alpha{f} }{\alpha{l}} = [\frac{\alpha{f}}{\alpha{x}}, \frac{\alpha{f}}{\alpha{y}}] * [cos\theta, sin\theta]α l에프 _=[α ×에프 _,에이 _에프 _][ cos θ ,s in θ ]
두 벡터의 내적은 두 벡터의 모듈의 곱으로 표현될 수 있으며 두 벡터 사이의 각도로 곱하여 다음과 같이 표현됩니다.
α f α l = α f α x 2 + α f α y 2 ∗ cos θ 2 + sin θ 2 ∗ cos φ = α f α x 2 + α f α y 2 ∗ 1 ∗ cos φ \frac{\alpha{f}}{\alpha{l}} = \sqrt {\frac {\alpha{f}}{\alpha{x}}^2 + \frac{\alpha{f}}{\alpha{y}}^2} *\sqrt{ {cos\theta}^2 + { sin \theta}^2} * cos\varphi = \sqrt{\frac{\alpha{f}}{\alpha{x}}^2 + \frac{\alpha{f}}{\alpha{y }}^ 2} * 1 * cos\varphiα l에프 _=α ×에프 _2+에이 _에프 _2 .cosθ _2+θ s2 .왜냐하면 _=α ×에프 _2+에이 _에프 _2 .1cos φ
벡터 내적의 기하학적 의미에 따라φ \varphiφ 는 두 벡터 사이의 각도, 즉기울기와 특정 방향 사이의 각도. 방향과 그래디언트 사이의 각도가 0인 경우에만 방향 도함수가 최대값을 취합니다. 즉,함수의 특정 지점에서 최대 방향 도함수에 해당하는 방향, 즉 기울기의 방향입니다.

경사하강법을 이해하는 방법

간단히 말해서, 신경망에서 경사하강법은 손실 함수의 최소화를 찾는 방법입니다.

직관적인 버전

경사하강법

가장 간단한 단항 볼록 함수 f ( x ) = x 2 f(x)=x^2에프 ( 엑스 )=엑스경사 하강법이 함수의 최소값을 찾는 방법을 보여주는 예제로 2 .
시작점x 0 = 10 x_0=10엑스0=10 , 아래 그림과 같이 초기화 후 신경망 가중치의 초기 값과 유사합니다.
이미지.png
f ( x 0 ) f(x_0)에프 ( 엑스0) 해당 기울기는 다음과 같습니다.
grad ( f ( x 0 ) ) = α f α xi = f ′ ( x 0 ) = ( 2 x ∣ x 0 = 10 ) = 20 grad(f(x_0))=\frac{\ 알파{f}}{\alpha{x}}i=f'(x_0)=(2x{|}_{x_0=10})=20그래드 ( 에프 ( 엑스 ) _ _0))=α ×에프 _=에프 (엑스0)=( 2 × 엑스0= 10)=20은 xx
에 해당합니다.x 축의 벡터Δ f ( x ) \Delta{f(x)}Δ f ( x ) 는 함수의 가장 빠른 성장 방향이고, 그 다음− Δ f ( x ) -\Delta{f(x)}Δ f ( x ) 는 함수의 가장 빠른 감소 방향입니다:
이미지.png
경사 하강법에 따라 일정 거리를 이동하여 다음 위치를 얻습니다:
x 1 = x 0 − η Δ f ( x 0 ) x_1 = x_0 - \ 에타{\ 델타{f(x_0)}}엑스1=엑스0-η Δ 에프 ( 엑스0)
그 중,η \etaη 는 η = 0.1 \eta=0.1이라고 가정할 때 이동 거리를 제어할 수 있는 단계 크기입니다.그만큼=0.1 이면 다음 점의 위치는
x 1 = x 0 − η Δ f ( x 0 ) = 10 − 0.1 ∗ 20 = 8 x_1 = x_0 - \eta{\Delta{f(x_0)}} = 10입니다. - 0.1 * 20 = 8엑스1=엑스0-η Δ 에프 ( 엑스0)=10-0.120=8 계속해서 반복하는 경사 하강
이미지.png
법을 사용하면 다음과 같은 업데이트 프로세스를 얻을 수 있습니다.
이미지.png
Δ ( f ( x ) 는 계속해서 감소하다가 결국 0에 가까워지는데 이때Δ f ( x ) = f ′ ( x ) = 0 \Delta{f(x)} = f'(x)=0Δ 에프 ( 엑스 )=에프 (엑스)=0 이면 함수가 최소값을 취합니다.

학습 단계 크기

위의 계산 과정에서 학습 단계 크기 η \eta를 사용합니다.η는 이동 거리를 제어하고 이제 다른η \eta를최종 결과에 대한 η 의 영향.

  1. 에타η 가 너무 작음

세트 \etaη 는 0.01이고, 10회 반복하면 바닥에서 아직 거리가 멀다는 것을 알 수 있다.
0.01.png

  1. 에타η 적합

세트 \etaη 는 0.2이고, 10회 반복하며, 이제 막 바닥에 도달한 것을 알 수 있다.
0.2.png

  1. 에타η가 더 크다

세트 \etaη 는 0.5이고 10회 반복하며 함수 값이 두 지점 사이를 오가는 것을 볼 수 있다.
0.5.png

  1. 에타η가 너무 큽니다.

세트 \etaη 는 1.1이고 10회 반복하는데 이때 함수값은 바닥을 교차하며 계속 상승한다.
1.1.png
요약하면 서로 다른 학습 단계η \etaη 하에서 반복 횟수가 증가함에 따라 함수 값의 변화 법칙이 달라집니다.

수학 버전

경사하강법은 일반적으로 사용되는 1차 최적화 방법이며 제약 조건이 없는 문제를 해결하기 위한 가장 단순하고 고전적인 방법 중 하나입니다. 제약 조건이 없는 최적화 문제의 경우 minf ( x ) minf(x)최소 f ( x ) , 여기서f ( x ) f(x)f ( x ) 는 집합x 0 , x 1 , . . xn {x_0, x_1,...x_n}에연속 미분 가능입니다엑스0,엑스1,... 엑스, 满足:
f ( xt + 1 ) < f ( xt ) , t = 0 , 1 , . . . nf(x_{t+1}) < f(x_t), t=0,1,...n에프 ( 엑스+ 1)<에프 ( 엑스) ,=0 ,1 ,... n
그러면 아래 그림과 같이 로컬 최소점으로 수렴할 수 있습니다.
이미지.png
그런 다음minf ( x ) minf(x)min f ( x ) 는 다음 점xt + 1 x_{t+1}을엑스+ 1, 그리고 f ( xt + 1 ) < f ( xt ) f(x_{t+1}) < f(x_t)를 보장합니다.에프 ( 엑스+ 1)<에프 ( 엑스) . 단항 함수의 경우 함수 값은xxx 값이 변경되므로 다음xt + 1 x_{t+1}엑스+ 1이전 xt x_t 입니다엑스일정한 방향으로 작은 발걸음 Δ x \Delta{x}Δx 얻어진다.
테일러 전개:
f ( x + Δ x ) ≃ f ( x ) + Δ xf ′ ( x ) f(x+\Delta{x})\simeq{f(x)+\Delta{x}f'(x ) }에프 ( 엑스+Δ x )에프 ( 엑스 )+Δx 에프 _ (x)
부좌표는 현재xxx 작은 스텝 이동Δ x \Delta{x}오른쪽과 거의 같은 Δ x가 얻어집니다. f ( xt + 1 ) < f ( xt ) f(x_{t+1}) < f(x_t)에프 ( 엑스+ 1)<에프 ( 엑스),即f ( x + Δ x ) < f ( x ) f(x+\Delta{x})<f(x)에프 ( 엑스+Δ x )<f ( x ),则Δ xf ′ ( x ) < 0 \Delta{x}f'(x) <0Δx 에프 _ (엑스)<0.
가정Δx = − α f ′ ( x ) , ( α > 0 ) \Delta{x} = -\alpha{f'(x)}, (\alpha>0)Δx_ _=- 에프 _ (x),( _>0 ) , 여기서α \alphaα 는 학습 단계 크기이므로Δ xf ′ ( x ) = − α f ′ ( x ) 2 \Delta{x}f'(x)=-\alpha{ { f'(x)}^2}Δx 에프 _ (엑스)=- 에프 _ (엑스)2 . 0이 아닌 숫자의 제곱은 0보다 크므로Δ xf ′ ( x ) < 0 \Delta{x}f'(x)<0임을Δx 에프 _ (엑스)<0 .
따라서, 설정
f ( x + Δ x ) = f ( x − α f ′ ( x ) ) f(x+\Delta{x}) = f(x -\alpha{f'(x)})에프 ( 엑스+Δ x )=에프 ( 엑스-에프 _ (x))는 f ( x + Δ x ) < f ( x ) f(x+\Delta{x})<f(x)임을
보장할 수 있습니다에프 ( 엑스+Δ x )<f ( x )也即xt + 1 = xt − α f ′ ( x ) x_{t+1}=x_t-\alpha{f'(x)}엑스+ 1=엑스-에프 _ (x), 이동 방향은 음의 기울기 방향입니다.
경사하강법의 전체적인 흐름은 아래 그림과 같습니다.

최적화 기능

확률적 경사하강법

확률적 경사하강법은 매번 단일 샘플 데이터를 선택하여 가중치 매개변수를 업데이트합니다 .
이점:

  • 훈련 속도가 빨라서 배치 그래디언트 업데이트 프로세스에서 계산 중복 문제를 피합니다.
  • 훈련 데이터의 양이 상대적으로 많으면 더 빠른 속도로 수렴할 수도 있습니다.

결점:

  • 각 샘플은 무작위로 샘플링되기 때문에 모델이 훈련된 후 샘플의 작은 부분만 사용될 수 있으며, 이로 인해 구한 기울기가 편향됩니다.
  • 또한 분산이 높을수록 변동성이 커집니다.

배치 경사하강법

배치 확률적 경사하강법은 가중치 매개변수를 업데이트하기 위해 매번 모든 샘플 데이터를 순회해야 합니다.
이점:

  • 전체 데이터 세트를 순회하기 때문에 결과는 전역 최소값입니다.

결점:

  • 모델 교육 속도가 느리고 데이터 양이 많으면 메모리에 완전히 로드할 수 없으며 기울기 계산 복잡성이 큽니다.

미니배치 경사하강법

각 반복은 샘플 데이터의 작은 부분을 고려하여 가중치 매개변수를 업데이트합니다.
이점:

  • SGD의 높은 분산 문제를 줄여 모델 수렴을 보다 안정적으로 만듭니다.
  • 행렬 곱셈은 계산 속도를 높일 수 있습니다.

결점:

  • 또한 샘플 선택에는 임의성이 있어 모델의 양호한 수렴을 보장하지 않습니다.

지수 가중 평균

후속 다중 최적화 기능을 도입하기 전에 지수 가중 평균 방법에 대한 이해가 필요합니다. 이는 본질적으로 평균화와 유사한 방법 입니다 . 지수 가중 평균 방법은 변수의 로컬 평균을 추정하는 데 사용할 수 있으므로 변수 의 업데이트는 각 관찰 값에 다른 가중치가 부여되는 일정 기간 내의 과거 값과 관련되며 해당 가중 계수 시간이 지남에 따라 기하급수적으로 감소합니다 .
지수가중평균법은 평균법에 비해 과거의 값을 모두 저장할 필요가 없고 계산량이 대폭 줄어듭니다.
지수가중평균법의 공식은 다음과 같다.
vt + 1 = β vt + ( 1 − β ) θ t + 1 v_{t+1} = \beta{v_t} + (1-\beta)\theta_{ 티+1}V+ 1=bv _+( 1-) + 1
여기서 vt + 1 v_{t+1}V+ 1최대 t+1 t+1을 나타냅니다 .+1평균,θ t + 1 \theta_{t+1}+ 1t + 1 t+1을 나타냅니다.+1 일 기온 값,β \betaβ 는 조정 가능한 하이퍼파라미터입니다. 지수 가중 평균 방법의 세 가지 중요한 속성은 다음과 같이 검증됩니다.

  • 지역 평균
  • 가중치 계수
  • 계수는 시간에 따라 기하급수적으로 감소합니다.

β = 0.9 \beta=0.9 라고 가정=0.9 이면 지수가중평균법의 평균과정은
v 100 = 0.9 v 99 + 0.1 θ 100 , v_{100} = 0.9v_{99} + 0.1\theta_{100}V100=0.9v_ _99+0.1 나는100;
v99 = 0.9 v98 + 0.1θ99 ; v_{99} = 0.9v_{98} + 0.1\theta_{99};V99=0.9v_ _98+0.1 나는99;
v 98 = 0.9 v 97 + 0.1 θ 98 ; v_{98} = 0.9v_{97} + 0.1\theta_{98};V98=0.9v_ _97+0.1 나는98;
위 공식을 단순화하여
v 100 = 0.1 θ 100 + 0.9 v 99 v_{100} = 0.1\theta_{100} + 0.9v_{99}V100=0.1 나는100+0.9v_ _99
= 0.1 θ 100 + 0.9 ∗ ( 0.1 θ 99 + 0.9 v 98 ) = 0.1 θ 100 + 0.1 ∗ 0.9 θ 99 + 0.9 2 ∗ ( 0.1 θ 98 + 0.9 v 97 ) = 0.1\theta_{100} + 0.9*( 0.1\theta_{99} + 0.9v_{98}) = 0.1\theta_{100} + 0.1 * 0.9 \theta_{99} + {0.9}^2* (0.1\theta_{98} + 0.9v_{97} )=0.1 나는100+0.9( 0.1i _99+0.9v_ _98)=0.1 나는100+0.10.9i _99+0.92( 0.1i _98+0.9v_ _97)
= 0.1 θ 100 + 0.1 ∗ 0.9 θ 99 + 0.1 ∗ 0.9 2 θ 98 + 0.9 3 v 97 = 0.1\theta_{100} + 0.1 * 0.9 \theta_{99} + 0.1 * {0.9}^2 \theta_{ 98} + {0.9}^3 v_{97}=0.1 나는100+0.10.9i _99+0.10.92 나는98+0.93v _97

위 식에서 v 100 v_{100}V100각 관측값에 가중치를 곱한 값과 같으며 가중치는 시간이 지남에 따라 기하급수적으로 감소합니다. 또 다른 포인트는 지수가중평균법으로 구한 평균값이 지역평균이므로 얼마나 많은 관측값을 평균하느냐에 따라 대략 1 1 − β \frac{1}{1-\beta}1 - b1, 이 예에서 β = 0.9 \beta=0.9=0.9 이면 10개의 관측치가 참조됩니다.
평균 계산을 보다 정확하게 하기 위해서는편향을 보정. 다음은 β = 0.98 \beta=0.98이라고 가정하고 편향 보정이 필요한 이유를 소개하는 예입니다.=0.98 , 초기화v 0 = 0 v_0=0V0=0θ 1 = 40 \theta_1=401=40。 sov
1 = β v 0 + ( 1 − β ) θ t = 0.98 ∗ v 0 + 0.02 θ t = 0.02 θ t = 8 v_1=\beta{v_0}+(1-\beta)\theta_t=0.98 * v_0+0.02\theta_t=0.02\theta_t=8V1=bv _0+( 1-) =0.98V0+0.02 i=0.02 i=8
따라서 첫날의 추정값은 정확하지 않습니다.v 2 = 0.98 v 1 + 0.02 θ 2 = 0.02 ∗ 0.98 ∗ θ 1 + 0.02 θ 2 v_2=0.98v_1+0.02\theta_2 = 0.02*0.98*\theta_1 + 0.02 \theta_2V2=0.98v_ _1+0.02 i2=0.020.981+0.02 i2, θ 1 \theta_1 때문에1θ 2 \theta_22모두 정수이므로 계산된 v 2 v_2V2θ 1 \theta_1 보다 훨씬 작음1θ 2 \theta_22.
부정확한 초기 추정치의 경우 vt 1 − β t \frac{v_t}{1-\beta^t}1 - bV.일의 값을 나타냅니다. 여기서 tt는t는 일 수를 나타내므로 두 번째 날의 예상 값은 다음과 같습니다.
v 2 0.0396 \frac{v_2}{0.0396}0.0396V2.
tt 와 함께t 값이 증가하면β t \beta_t0에 가깝기 때문에 tt 일 때t 가 크면 바이어스 보정의 효과가 거의 없습니다.

모멘텀 경사하강법

모멘텀 경사하강법의 기본 아이디어는 경사의 지수 가중 평균을 계산 하고 해당 경사를 사용하여 가중치를 업데이트하는 것입니다.
Mini-batch Gradient Descent 방법의 경우 샘플링의 임의성으로 인해 각 드롭은 엄격하게 최소값 방향이 아니라 전체 하향 추세가 최소값 방향입니다.
이미지.png
운동량 경사 하강법은 스윙의 진폭을 줄이고 학습 속도를 향상시키는 것입니다.
이미지.png
운동량 경사하강법의 식은 다음과 같다.
vdw = β vdw + ( 1 − β ) d W v_{dw} = \beta{v_{dw}} + (1-\beta)dWVdw _=bv _dw _+( 1-β ) d W
vdb = β vdb + ( 1 − β ) db v_{db} = \beta{v_{db}} + (1-\beta)dbV디비 _=bv _디비 _+( 1-β ) d b
W = W − α vdw ; b = b − α vdb W= W-\alpha{v_{dw}};b = b-\alpha{v_{db}}=-α vdw _;=-α v디비 _
지수 가중 평균 방법을 사용하여 로컬 그래디언트 평균 값을 얻고 매개변수 업데이트를 위해 원래 단일 반복 그래디언트 값을 바꿉니다. 물리학의 운동량 개념을 차용하여 언덕 아래로 공을 밀어내는 작업으로 매개변수 최적화를 상상합니다 기울기 값은 공의 가속도와 유사합니다 기울기 전후의 방향이 일치해야 학습이 가능합니다 앞과 뒤의 기울기 방향이 일치하지 않으면 변동이 억제됩니다 . .

RMS 플러그

초기에는 모멘텀 최적화 알고리즘이 매개변수 최적화 과정에서 큰 스윙 문제를 해결했지만, 소위 스윙은 최적화 및 업데이트 후 매개변수 범위를 의미합니다.아래 그림과 같이 파란색이 선택한 경로입니다. Momentum 최적화 알고리즘 녹색은 RMSprop 최적화 알고리즘이 사용하는 경로입니다.
이미지.png
RMSprop의 표현은 다음과 같습니다:
S dw = β S dw + ( 1 − β ) ( d W ) 2 S_{dw} = \beta{S_{dw}} + (1-\beta)(dW)^2에스dw _=βS _dw _+( 1-β ) ( dW ) _2
S db = β S db + ( 1 − β ) ( db ) 2 S_{db} = \beta{S_{db}} + (1-\beta)(db)^2에스디비 _=βS _디비 _+( 1-) ( 디비 ) _2
W = W − α d WS dw ; b = b − α db S db W=W-\alpha{\frac{dW}{\sqrt{S_{dw}}}};b=b-\alpha{\frac{db}{\sqrt{S_{ 디비}}}}=-에스dw _ .;=-에스디비 _ .디비 _
RMSprop 경사하강법은 먼저 지수 가중 평균법을 사용하여 경사 제곱의 가중 평균을 구한 다음 경사 비율의 제곱근을 사용하여 가중치 매개변수를 업데이트합니다 .
RMSprop 알고리즘은 기울기의 미분 제곱 가중 평균을 계산합니다. 이 접근법은 큰 스윙 진폭의 방향을 제거하는 데 유리합니다 (dW 및 db에 상대적으로 큰 값이 있을 때 가중치 또는 바이어스를 업데이트할 때 이전에 누적된 기울기의 제곱근으로 나누고 업데이트 진폭은 작게 됩니다 ), 스윙 범위를 수정하는 데 사용되므로 각 차원의 스윙 범위가 더 작아지고 반면에 네트워크가 더 빠르게 수렴됩니다.

아담

Adam 최적화 알고리즘은 기본적으로 RMSprop과 Momentum의 조합으로 구체적인 계산 과정은 다음과 같습니다.

  1. 기울기 d W , db dW,db를 계산합니다.,디비 ; _
  2. 모멘텀의 지수 가중 평균 계산 vdw = β 1 vdw + ( 1 − β 1 ) d W v_{dw} = \beta_1{v_{dw}} + (1-\beta_1)dWVdw _=1Vdw _+( 1-1) d W ,vdb = β vdb + ( 1 − β ) db v_{db} = \beta{v_{db}} + (1-\beta)dbV디비 _=bv _디비 _+( 1-) 디비 ; _
  3. RMSprop을 사용하여 업데이트, S dw = β 2 3 S dw + ( 1 − β 2 ) ( d W ) 2 S_{dw} = \beta_23{S_{dw}} + (1-\beta_2)(dW)^2에스dw _=23S_ _dw _+( 1-2) ( d W )2S db = β S db + ( 1 − β ) ( db ) 2 S_{db} = \beta{S_{db}} + (1-\beta)(db)^2에스디비 _=βS _디비 _+( 1-) ( 디비 ) _2 ;
  4. 进行偏差修正,vd W 보정됨 = vd W 1 − β 1 t , vdb 보정됨 = vdb 1 − β 1 t , S d W 보정됨 = S d W 1 − β 2 t , S dbcorrected = S db 1 − β 2 t v_ {dW}^{수정됨} = \frac{v_{dW}}{1-\beta_1^t},v_{db}^{수정됨} = \frac{v_{db}}{1-\beta_1^t} ,S_{dW}^{수정됨}=\frac{S_{dW}}{1-\beta_2^t},S_{db}^{수정됨}=\frac{S_{db}}{1-\beta_2^ 티}V수정 _ _ _=1 - b1V.,V데비 _수정 _ _ _=1 - b1V디비 _.,에스수정 _ _ _=1 - b2에스.,에스데비 _수정 _ _ _=1 - b2에스디비 _.;
  5. 进行权值更新,W = W − α vd W corrected S d W corrected + ϵ , b = b − α vdbcorrected S dbcorrected + ϵ W=W-\alpha{\frac{v_{dW}^{corrected}}{ \sqrt{S_{dW}^{수정됨}}+\epsilon}},b=b-\alpha{\frac{v_{db}^{수정됨}}{\sqrt{S_{db}^{수정됨}} +\epsilon}}=-에스수정 _ _ _ .+ ϵV수정 _ _ _.,=-에스데비 _수정 _ _ _ .+ ϵV데비 _수정 _ _ _.

Adam 알고리즘은 RMSprop과 Momentum을 결합하고 다양한 신경망에 매우 일반적으로 사용되는 학습 알고리즘입니다.

참조 링크:

https://blog.csdn.net/wo164683812/article/details/90382330
https://www.zhihu.com/question/36301367
https://blog.csdn.net/weixin_44492824/article/details/122270260
https:/ /www.zhihu.com/question/305638940/answer/1639782992
https://www.zhihu.com/question/305638940/answer/606831354
https://zhuanlan.zhihu.com/p/36564434

추천

출처blog.csdn.net/hello_dear_you/article/details/128992906