Optimization Lecture 3
by Yeonjee Jung
Convex Optimization
Gradient Descent
Gradient Descent Algorithm
이거나, $\gamma$를 $t$의 함수로 표현하여
로 업데이트 하여 최적점을 찾아가는 방법을 gradient descent 알고리즘이라고 한다. 이 때 $\gamma_t$는 $\frac{1}{t}$, $\frac{1}{\sqrt{t}}$, $\frac{1}{\log{t}}$, $\cos{\theta t}$가 주로 쓰인다.
Convergence Rate
Convergence rate은
을 만족하는 $t$를 찾기까지의 시행 수를 Big O 표기법으로 나타내는 것이다.
Strong Convex
$\alpha$-Strong Convex
를 만족할 때의 $\alpha$를 앞에 붙여 $\alpha$-strong convex라고 한다. 만약 $f$가 미분불가능하면 subgradient로 $\alpha$-strongly convexity를 정할 수 있다. 다르게는
로 쓸 수 있다.
Smooth
$\beta$-Smooth
$\triangledown f$가 $\beta$-Lipschitz라고 하면
를 항상 만족하는데, 이때의 $\beta$를 앞에 붙여 $f$ 를 $\beta$-smooth라고 한다.
라고도 쓸 수 있고, 또는
라고도 쓸 수 있다.
$\beta$-smooth 함수에서 gradient descent 알고리즘을 사용해 최적값을 찾을 때에는 이고, $\triangledown f(x^* )=0$이기 때문에 learning rate가 $\gamma = \frac{1}{\beta}$인 것이 좋다. 하지만 보통의 convex optimization에서는 $\beta$를 모르기 때문에 learning rate를 정하는 것이 어렵다.
어떤 함수가 $\alpha$-strong이고 $\beta$-smooth이면 항상 $\alpha \le \beta$가 성립한다. 또한, convex optimization에서 $\alpha = \beta$일 때 가장 쉽게 해를 찾을 수 있다. 항상 $0 \le \frac{\alpha}{\beta} \le 1$ 이므로, $\frac{\alpha}{\beta}$가 1에 가까울수록 해를 찾기가 쉽다.
Second-order Characterization of convexity
$f$가 두 번 미분가능하면 $\forall x\in\mathbf{dom}{(f)}$에서 항상 $\triangledown^2f(x)$가 존재한다. 그리고
가 항상 성립한다.
(Def) Positive Definite
$A\in\mathbb{R}^{d\times d}$는
를 만족할 때 positive definite라고 한다.
를 만족하면 positive semidefinite이라고 한다.
Hessian, Smooth, Strong convexity
를 항상 만족하는데, 행렬 $A, B$에 대하여 $A\le B$는 $B-A$가 positive semidefinite임을 뜻한다. 또한, 이는 $\triangledown^2 f(x)$의 eigenvalue들이 $\alpha$보다 크고 $\beta$보다 작음을 뜻한다.
hessian은 이러한 성질 때문에 step size를 정하기에 매우 중요한데, 이를 second-order method라고 한다. 하지만 계산량이 많고 저장할 숫자도 많으므로 딥러닝에서는 first-order method만 사용한다.
(Proof) $\Rightarrow$
우선 $\alpha$-strongly convex이기 때문에
,
가 항상 성립한다. 마찬가지로 $\beta$-smooth이기 때문에
,
가 항상 성립한다. $\alpha$에 대한 두 식을 합치면
를 얻게 되고, 마찬가지로 $\beta$에 대한 식을 합치면
를 얻게 된다. $x=y+ht$룰 대입하면 ($h$는 벡터, $t$는 스칼라)
를 얻을 수 있는데, 여기에 극한을 취하면
을 얻을 수 있다. 이를 $(1)$과 $(2)$에 대입하면
를 얻게 되고,
를 얻을 수 있다.
이므로,
와 동치이다.
(Proof) $\Leftarrow$
Taylor Thm을 이용하면
라고 할 수 있는데, 이 때
를 만족하는 $k$를 $\alpha$라고 하고,
를 만족하는 $k$를 $\beta$라고 하면 $f$는 $\alpha$-strongly convex이고 $\beta$-smooth이다.
Vanila Analysis
만약 $f$가 strongly convex도 아니고, smooth하지도 않지만 $L$-Lipschitz continuous하다고 했을 때, $f(x)-f(x^* )$를 gradient descent를 이용해 어떻게 bound하는지에 대해 알아보자. 여기서는 임을 이용할 것이다.
이들을 모든 $t$에 대해 다 더하면,
가 된다. $f$가 Lipschitz continuous라고 했으므로 항상 이다. 라고 하면, 임이 성립하고,
가 된다. 따라서 여기에 적합한 learning rate 를 rough하게 계산해보면 $\gamma = \frac{R}{L\sqrt{T}}$가 적합하다. (마지막 식을 미분해서 0 되는 $\gamma$ 찾음)
이를 대입해 보면
가 성립한다.
$L$-Lipschitz Continuous
를 만족할 때 $L$-Lipschitz continuous라고 하고, $f$가 미분가능하면 을 만족할 때 Lipschitz continuous라고 한다.
이 때 $\gamma = \frac{1}{L}$로 잡으면 diverge는 방지할 수 있지만 fast converge는 보장하지 못한다.
Subscribe via RSS