포스팅은 정말로 오랜만인데, 다시 마음 가다듬고 공부하면서 정리해보고자 합니다.
(정말 문외한으로서, 이제 시작한거라서 틀린 정보가 가득할 수도 있습니다.)
먼저 Convex Optimization을 공부해야 하는 이유는, 신경망 구조에서 나오는 출력의 Cost를 줄이기 위해서,
통신 상황에서는 주어진 시나리오에서의 sum rate를 최대화하거나, 한정된 자원(resourses, power such as battery of own devices)에서 Interferece를 최소화하거나, lifespan을 최대화하는 문제들을 풀어야하기 때문이다.
따라서 이러한 Mathematical optimization problems를 아래와 같이 정의해볼 수 있을 것이다.
아래와 같은 Constraints들이 있고, 이러한 모든 조건들을 만족시키는 최적의 solution을 찾는 것으로 볼 수 있을 것이다.
그러면 왜 'Convex' Optimizaiton인가?
맨 처음 신경망(딥러닝)을 공부할 때, 접근 하는 것은 Linear regression을 구하기 위한 Cost function이다.
각 iteration의 gradient를 learning rate를 가지고 조절함으로서, cost값이 최소가 되는 (gradient가 0인 지점을 찾는) 점을 찾는 것이 목표라고 볼 수 있을 것이다.
위의 그래프를 보면, 어느 지점에서 시작을 하더라도, gradient가 0인 지점이 하나밖에 없음을 알 수 있다.
전체적으로 볼록(Convex) 형태를 띤 그래프라고 볼 수 있을 것이다.
반면에 위의 그래프의 경우에는 맨 왼쪽에서 Gradient를 계산한 것과 오른쪽에서 Gradient를 계산한 것의 결과가 다를 것이다. Global minimum과 Local minimum의 차이라고 볼 수 있을 것인데, 어쨌든 우리가 loss를 최소화해야하는 목적에 도달하지 못할 수가 있기 때문이다. 따라서 'Convex' 형태를 띄어야 최종적으로 Global minimum에 접근할 수 있다는 것이 Convex Optimization의 근본적인 목적이라고 볼 수 있을 것이다.
Affine Sets
Affine set이란
두 점을 지나는 모든 직선의 집합이라고 볼 수 있을 것이다.
Convex Sets
두 점 x와 y를 잇는 선분은 affine sets에서 constraint 하나가 추가된 것으로 볼 수 있다.
즉 Line -> Line segment로 바뀌게 된다.
Affine and Convex combination
각 포인트들을 선형 결합할때, 알파의 계수 합을 1로 제한하면
이를 각각 Affine combiniation과 convex combination이라고 부른다.
'이런 linear combination은 어따 써먹나요???'
-> 주어진 문제의 점들을 이용해서 선형결합 (알파들의 합을 1로 고정)
그 결과가 affine이거나 convex이면 affine set, convex set으로 각각 증명할 수 있을 것이다.
Convex Functions
Inequality 성질을 만족하는 함수이다.
해석해보면, 임의의 두 점의 line segment는 그 범위 안에 있는 치역의 set들 보다 항상 커야함을 뜻한다.
다음 포스팅은 First-order, Second order, 그리고 각각의 examples에 대해 해석함을 다룰 것이다.