볼록 함수와 볼록 최적화(Convex function and convex optimization)
그래프 위의 어느 두 점을 이어도 그 선분이 그래프 아래로 내려가지 않는 함수(function). 이런 함수에서는 극소가 곧 최소이고, 미분(differentiation) 가능하면 기울기(slope)가 0인 곳이 곧 가장 낮은 곳이라, 최적화(optimization)를 믿고 풀 수 있다.
그릇 모양 곡선
입니다. 왼쪽은 x와 y 사이의 한 점에서의 함숫값이고, 오른쪽은 그 점 위에 있는 현의 높이입니다. 우리 교과서의 '아래로 볼록'이 이 뜻의 볼록(convex)이고, '위로 볼록'인 함수는 오목(concave) 함수라 부릅니다. 이름이 헷갈리기 쉬우니 그릇(∪) 모양이 볼록이라고 기억하면 됩니다. 함수:
λ가 가리키는 점에서 현의 높이는
알아보는 법. 모든 현을 확인할 필요는 없습니다. 열린 구간에서 두 번 미분할 수 있는 함수라면, 그 구간의 모든 x에서
극소가 곧 최소. 볼록이 중요한 까닭은 이것입니다. x가 주변보다 낮은 점(극소)인데 어딘가에 더 낮은 점 y가 있다고 해 봅시다. 볼록성에 따라 x와 y 사이의 그래프는 현 아래에 있고, 현은 f(x)에서 출발해 더 낮은 f(y)로 내려가니, x에 얼마든지 가까운 곳에 f(x)보다 낮은 점이 생깁니다. x가 극소라는 가정과 맞지 않으므로, 볼록 함수의 극소는 모두 최소입니다. 미분 가능하다면 더 간단합니다. 접선(변수가 여럿이면 접평면(tangent plane))이 그래프 전체의 아래에 있어서
흔한 오해가 둘 있습니다. 첫째, 볼록이라고 최솟값이 있는 것은 아닙니다. eˣ는 볼록이지만 0에 한없이 다가갈 뿐 가장 낮은 점이 없습니다. 둘째, 최소점이 하나라는 보장도 없습니다. −1과 1 사이에서는 0이고 그 밖에서는
경사 하강법이 얼마나 빨리 가는지도 말할 수 있습니다. 볼록이고 헤세 행렬의 고유값이 어디서나 L 이하인 함수에서 학습률(learning rate) η = 1/L로 k걸음 가면
옌센 부등식(Jensen's inequality). 현의 조건을 점 여러 개로 늘린 것이 1906년 덴마크의 요한 옌센이 발표한 부등식입니다. 확률변수(random variable) X가 값
입니다. 그래프 위의 점들을 무게
지금 확률은
볼록 최적화. 볼록 함수를 볼록 집합(안의 두 점을 잇는 선분이 늘 안에 있는 집합) 위에서 최소로 만드는 문제를 볼록 최적화 문제라 합니다. 선형 계획법(일차식 목표, 일차 부등식으로 잘라 낸 볼록 다면체), 최소제곱법(method of least squares), 로지스틱 회귀(logistic regression)의 손실, 계수의 절댓값(absolute value) 합에 벌점을 매기는 라소(lasso) 같은 정규화, 서포트 벡터 머신(support vector machine)이 모두 여기에 듭니다. 국소 최적이 곧 전역 최적이라 답을 믿을 수 있고, 1980–90년대에 발전한 내부점 방법(interior-point method) 같은 알고리즘(algorithm)이 흔히 쓰이는 종류의 볼록 문제를 원하는 정밀도(precision)까지 다항식 시간(polynomial time)에 풉니다. 다만 볼록이라고 모두 쉬운 것은 아니어서, 집합이 까다롭게 주어진 볼록 문제 가운데에는 어려운 것도 있습니다. 제약이 있는 볼록 문제에서는 라그랑주 승수(Lagrange multiplier)로 만든 쌍대 문제(dual problem)가 원래 문제와 같은 값을 줍니다(쌍대성(duality)). 여기에는 가벼운 가정이 필요한데, 흔히 쓰는 것은 부등식 제약을 모두 엄격하게(등호 없이) 만족하는 점이 있다는 슬레이터 조건입니다.
신경망(neural network)의 손실은 볼록이 아닙니다. 신경망에서 숨은 단위 두 개의 가중치(weight)를 통째로 맞바꾸면 같은 함수를 계산하니 손실도 같습니다. 손실이 볼록이라면 최소점들이 볼록 집합(convex set)을 이루므로, 어떤 최소점과 그것을 맞바꾼 것의 중간도 최소점이어야 합니다. 그런데 중간에서는 두 단위의 가중치가 똑같아집니다. 두 단위가 늘 같은 값을 내니, 출력 가중치를 합친 단위 하나로 바꿔 써도 같은 함수입니다. 단위를 하나 덜 가진 신경망이 된 셈이라 대개 손실이 더 큽니다. 그런데도 경사 하강법과 확률적 경사 하강법(stochastic gradient descent)이 큰 신경망에서 잘 듣는 까닭은 아직 완전히 이해되지 않았고, 활발히 연구되고 있습니다.
이어지는 곳. 볼록성은 가장 좋은 것 고르기가 믿을 만해지는 조건입니다. 엔트로피는 순오목하고 '확률의 합이 1, 평균이 정해짐' 같은 제약은 볼록 집합을 이루므로, 최대 엔트로피 원리(principle of maximum entropy)의 답은 있다면 하나뿐입니다. 흙을 옮기는 비용을 최소로 하는 최적 수송(optimal transport)은 칸토로비치의 선형 계획(linear programming)으로 쓰면 볼록 문제가 됩니다. 기울기 벡터(gradient vector)와 헤세 행렬의 뜻은 기울기 벡터와 야코비 행렬(Jacobian matrix)에, 이계도함수로 극소와 극대를 가리는 일은 최적화에 있습니다.
이 개념이 나오는 긴 글
이 개념 위에 세워진 것
이 개념을 언급하는 페이지
- 도함수
… 함수(아래로 볼록한 함수)라면, 도함수가 0인 점에서 함수는 그 구간의 최솟값을 가집니다. 이 성질이볼록 최적화의 출발점입니다. 삼각함수에서는 탄젠트의 도함수가 1 + tan²θ라는 깔끔한 모양을 가집니다.
- 최적화
… 여기서 골짜기는 주변보다는 낮지만 전체에서 가장 낮지는 않을 수 있는 곳(국소 최솟값)입니다. 함수가볼록하면 국소 최솟값이 곧 전체 최솟값이라 이런 걱정이 없습니다.
- 경사 하강법
… 아래로 끝없이 내려가는 함수가 아닌 한 기울기가 0에 다가갑니다. 그릇처럼 어디서나 위로 휜 함수(볼록 함수)라면 극소가 곧 최소라서, 이때는 가장 낮은 곳에 다가간다고 말할 수 있습니다. 곡률까지 쓰는 ⟦뉴턴 …
- 통로 용량
… 그래서 동네에서 가장 높은 곳이 곧 전체에서 가장 높은 곳이고, 언덕을 오르기만 하면 꼭대기에 닿습니다(볼록 최적화). 입력과 출력의 가짓수가 많은 일반적인 통로에는 닫힌 식이 없는 경우가 많습니다. 이때는 1972년 …
- 선형 계획법
… 승수를 붙이는 라그랑주 승수법이 같은 역할을 합니다. 영역과 목표가 모두 볼록하다는 점에서 선형 계획은볼록 최적화의 가장 단순한 경우이고, 쌍대 정리도 그 틀에서 넓혀집니다. 가장 좋은 것을 고르는 일 전반은 ⟦가장 …
- 로지스틱 회귀
… p_i(1-p_i) > 0 이므로 어느 방향으로 잘라도 L의 단면은 아래로 꺼지지 않습니다. 곧 L은볼록 함수이고, 볼록 함수에서는 기울기가 0인 곳이 곧 가장 낮은 곳입니다. 그래서 경사 하강법이든 ⟦뉴턴 …
- 정규화: 릿지와 라소
… 벌점을 주지 않습니다. λ는 교차 검증으로 고릅니다. 라소의 벌점은 0에서 미분할 수 없지만 여전히볼록 함수라서, 다른 좌표를 고정하고 한 좌표씩 차례로 푸는 좌표 하강법으로 빠르게 풀립니다. 이 페이지의 라소 …
- 서포트 벡터 머신과 커널
… x_i + b) \ge 1 목적 함수는 그릇 모양의 이차식이고 조건은 모두 일차 부등식이라볼록 최적화문제입니다. 가를 수 있는 자료라면 답이 꼭 하나 있고, 효율적으로 풀 수 있습니다. 아래 점들을 끌어 …
- 기울기 벡터와 야코비 행렬
… 이것만으로는 가릴 수 없습니다. 두 번 미분할 수 있는 함수라면 H의 고유값이 어디서나 0 이상인 것이 곧볼록 함수라는 것입니다. 이차 근사의 바닥으로 한 번에 건너뛰는 걸음 -H^{-1}\nabla f 를 되풀이하는 …
- 라그랑주 승수법
… 터커의 논문에서 나왔습니다. 일반적으로 KKT 조건은 (∇g ≠ 0 같은 조건 아래의) 필요조건이지만,볼록 최적화에서는 가벼운 가정 아래에서 필요충분조건이 되고, λ들을 변수로 하는 쌍대 문제가 원래 문제와 같은 값을 …
- 확률적 경사 하강법과 Adam
… 이런 잡음 섞인 되풀이가 답으로 다가간다는 것을 보였습니다. \eta_k = 1/k 가 그런 예입니다.볼록문제에서는 적당한 가정 아래 k걸음 뒤의 오차가 1/\sqrt k 의 빠르기로 줄어든다는 것도 알려져 …
- 인공지능
… 추측과 갱신을 되풀이해 찾는 EM 알고리즘. 그 방법들을 받치는 이론. 골짜기가 하나뿐인 문제를 다루는볼록 최적화, 조건을 지키며 최적을 찾는 라그랑주 승수법, 차원이 높아지면 자료가 듬성듬성해지는 차원의 저주. …