1. 개요[편집]
| 근접점 알고리즘 Proximal Point Algorithm | |
|---|---|
| 약칭 | PPA |
| 제안 | Martinet (1970), Rockafellar (1976) |
| 반복식 | xk+1 = proxλf(xk) = (I + λ∂f)−1xk |
| 정체 | 극대단조 작용소의 영점을 찾는 리졸번트 반복 |
| 수렴 조건 | 영점이 존재하고 λk가 0으로 너무 빨리 죽지 않을 것 |
근접점 알고리즘은 목적함수의 최소점을, 매 스텝 “현재 위치에서 너무 멀어지지 말라”는 이차 벌점을 얹은 부분문제를 풀어 가며 찾아가는 반복법이다. 볼록 함수 와 스텝 파라미터 에 대해
한 줄이 전부다. 마르티네(1970)가 변분부등식의 정칙화로 도입했고, 록카펠라(1976)가 이것을 극대단조 작용소의 영점 찾기로 일반화하면서 현대 1차 최적화의 뼈대가 됐다.1
이 알고리즘을 처음 보면 반드시 같은 의문이 든다. “부분문제가 원래 문제만큼 어려운데 이게 무슨 알고리즘이냐.” 맞는 지적이고, 실제로 PPA는 그 자체로 돌리는 물건이 아니라 다른 알고리즘들의 정체를 밝히는 틀로 쓰인다. 증강 라그랑주법, 교대방향 승수법, 더글러스-래치포드 분할, 근접 경사법이 전부 “어떤 문제에 PPA를 돌린 것”으로 정리된다. 이 문서는 그 수렴 이론과 파생 계보에 무게를 둔다. 연산자 자체의 정의·성질은 모로 포락 문서에 있다.
2. 리졸번트 반복 — 왜 무조건 수렴하나[편집]
가 닫힌 진 볼록이면 부분문제의 최적성 조건은 , 즉
이다. 우변을 작용소 의 리졸번트(resolvent) 라 부른다. 여기서 가 굳이 어떤 함수의 부미분일 필요가 없다는 것이 록카펠라의 관점이다 — 가 극대단조(maximal monotone)이기만 하면, 민티 정리에 의해 는 전 공간에서 정의된 단일값 사상이고 견고 비확장(firmly nonexpansive)이다. 특히 1-립시츠다.
이 한 줄이 알고리즘의 정체를 다 말해 준다. 반복 사상이 어떤 를 골라도 확대되지 않으므로, 스텝을 아무리 크게 잡아도 발산할 수 없다. 경사하강법이 을 지켜야 하는 것과 대조적이다.
이게 왜 공짜가 아닌지는 미분가능한 경우를 보면 즉시 드러난다. — 그래디언트를 다음 점에서 평가한다. 즉 PPA는 경사 흐름 에 대한 후진 오일러(암시적) 적분기다. 수치적분에서 암시적 방법이 무조건 안정한 대신 매 스텝 비선형 방정식을 풀어야 하는 것과 정확히 같은 거래를 하고 있는 셈이다.2 모로 포락의 언어로 쓰면 PPA 스텝은 위에서의 명시적 경사하강이기도 하다 — 함수를 매끄럽게 바꾼 뒤 대놓고 내려가는 것과, 원함수에 암시적으로 내려가는 것이 같은 계산이다.
3. 이차 문제로 손으로 확인하기[편집]
말로만 하면 안 믿기니 ()로 직접 해 보자. 부분문제의 최적성 조건은 이므로
이고, 해 ()에 대해 오차 점화식이 로 깔끔하게 떨어진다. 반복 행렬의 고윳값은 — 의 고윳값 이 무엇이든, 가 얼마든 전부 안에 있다. 반면 경사하강법의 반복 행렬 는 를 어기는 순간 발산한다. 무조건 안정성이 그냥 수사가 아니라는 것이 두 줄로 확인된다.
수축률은 이라 면 0으로 간다. 대신 매 스텝 푸는 는 가 커질수록 원래의 에 가까워져 어려워진다. 이 선형계가 정확히 티호노프 정규화된 계이고 조건수가 라는 점도 눈여겨볼 만하다 — 근접항은 바깥 반복을 안정화하는 동시에 안쪽 선형계를 잘 조건화한다. 특이하거나 병적으로 조건이 나쁜 문제에 근접항을 한 겹 씌우는 관행의 근거가 이것이다.
4. 수렴 이론[편집]
가 극대단조이고 영점 집합 이 비어 있지 않다고 하자.
- 전역 수렴. 를 0으로 너무 빨리 보내지만 않으면 된다. 록카펠라의 원 논문은 을 걸었고, 이후 브레지-리옹 계열의 개선은 스텝 합이 발산한다는 조건(, 표준 교재판은 조금 더 강한 )만으로 힐베르트 공간에서 약수렴이 나온다는 것을 보였다. 유한 차원이면 그냥 수렴이다.
- 함수값 감소율. 인 최소화 문제에서는 다. 스텝을 키우면 그만큼 빨리 줄어든다는 뜻이라, ” 를 무한대로 보내면 한 번에 끝난다”가 성립한다 — 실제로 는 원래 문제를 그냥 푸는 것이다. 수렴 속도는 부분문제 난이도로 사는 것이고, PPA는 그 교환율을 정직하게 보여 주는 알고리즘이다.
- 선형·초선형 수렴. 이 0 근방에서 계수 의 립시츠 성질을 가지면(강볼록이면 자동으로 성립) 오차가 인수 로 줄어든다. 즉 항상 선형 수렴이고, 로 키우면 초선형이 된다.
5. 비정확 판정 기준[편집]
부분문제를 정확히 풀 수 없다는 것이 실용화의 유일한 장벽이므로, 록카펠라는 “얼마나 대충 풀어도 되는가”를 함께 제시했다. 를 이상적인 값이라 할 때
기준 (A)면 수렴이 보존되고, (B)면 위의 선형 수렴률까지 보존된다. (B)가 실무적으로 중요한 이유는 허용 오차가 스텝 크기에 비례하기 때문이다 — 초반에 크게 움직일 때는 대충 풀어도 되고, 해 근처에서 스텝이 작아지면 자동으로 정밀해진다. 안쪽 반복(inner iteration)의 종료 조건을 바깥 진행 상황에 연동시키는 오늘날의 관행이 여기서 나왔다.
6. 파생 — 이 바닥 알고리즘의 절반[편집]
록카펠라의 두 번째 1976년 논문이 남긴 결과가 특히 유명하다. 증강 라그랑주법(승수법)은 쌍대 문제에 적용한 근접점 알고리즘과 정확히 같다. 등식제약 문제의 쌍대함수 에 대해 를 전개하면, 그것이 바로 벌점계수 인 승수법의 갱신식이다. 그래서 증강 라그랑주법의 승수 갱신이 왜 그렇게 안정적인지, 왜 를 키워도 안 터지는지가 리졸번트의 비확장성 한 줄로 설명된다.3
여기서 계보가 갈라진다.
- 교대방향 승수법 — 쌍대에 더글러스-래치포드 분할을 돌린 것이고, DR 자체가 두 리졸번트를 엮는 PPA류 반복이다. ADMM의 수렴 증명이 목적함수의 볼록성만으로 끝나는 근거가 여기 있다.
- 근접 경사법(ISTA/FISTA) — 전진-후진 분할. 매끄러운 항엔 전진(명시적) 스텝, 비매끄러운 항엔 후진(리졸번트) 스텝. PPA의 반쪽만 쓰는 셈이라 스텝 제한 이 다시 등장한다.
- 연산자 분리 일반론 — 여러 개의 극대단조 작용소 합의 영점을 각각의 리졸번트로 나눠 공략하는 모든 기법이 이 우산 아래에 있다.
가속도 가능하다. 귈러(1992)는 네스테로프식 외삽을 얹어 로 개선했고, 이 아이디어가 나중에 임의의 알고리즘을 감싸 가속하는 Catalyst 계열로 이어진다. 물론 “PPA 자체는 못 쓴다”는 통념에도 예외는 있다.4
7. 비볼록에서는[편집]
가 볼록이 아니면 부분문제가 최소점을 여러 개 가질 수 있어 가 집합값이 된다. 그러나 가 -약볼록 함수( 이 볼록)이기만 하면 인 범위에서 부분문제가 여전히 강볼록이라 최소점이 유일하다. 즉 비볼록성의 정도가 스텝 크기의 상한을 정한다 — 볼록일 때 가 무제한이었던 자유가 딱 그만큼 회수된다. 이 영역에서는 목적값 대신 를 정상성 측도로 쓰며, 근접점법의 변형(prox-linear, 근접 다발법)이 비매끄러운 비볼록 손실의 표준 해석 틀이 됐다.
8. 관련 문서[편집]
- 모로 포락 · 근접 경사법 · 연산자 분리
- 교대방향 승수법 · 라그랑주 승수법 · 카루시-쿤-터커 조건
- 볼록 최적화 · 르장드르-펜셸 변환 · 브레그만 발산
- 경사하강법 · 확률적 경사하강법 · 신뢰 영역 방법
- 반복법 · 수렴성 · 선형 상보성 문제
- 전변분 잡음제거 · 압축센싱
9. Footnotes[편집]
-
Martinet, B. (1970). Régularisation d’inéquations variationnelles par approximations successives. / Rockafellar, R. T. (1976). “Monotone operators and the proximal point algorithm”, SIAM J. Control Optim. 14(5). 후자는 인용수만 보면 볼록해석에서 손에 꼽히는 논문인데, 정작 그 안에 “돌릴 수 있는 코드”는 한 줄도 없다. 이론이 밥값을 하는 방식이 이렇다. ↩
-
이 대응은 말장난이 아니라 정확한 동치다. 경사 흐름에 전진 오일러를 먹이면 경사하강법, 후진 오일러를 먹이면 근접점법이다. CFD 하던 사람이 “암시적이라 CFL 안 걸리는데 매 스텝 뉴턴 돌려야 하잖아요”라고 말하는 그 감각 그대로 가져오면 된다. ↩
-
그래서 벌점법(penalty method)과 승수법의 결정적 차이도 이 틀에서 보인다. 순수 벌점법은 로 보내야 해가 맞고 그 과정에서 조건수가 폭발하지만, 승수법은 를 유한하게 두고도 정확한 해에 도달한다. 근접항이 매 스텝 이동하는 중심 를 갖고 있기 때문이며, 벌점을 “고정 좌표계”가 아니라 “따라오는 좌표계”로 거는 것의 차이다. ↩
-
그렇다고 PPA를 절대 직접 못 쓰는 건 아니다. 부분문제가 원문제보다 조건이 좋아지는 경우 — 예를 들어 반정부호 계획법의 근접 갱신처럼 이차항 덕에 강볼록성이 생겨 내부점 솔버가 훨씬 편해지는 경우 — 에는 바깥 PPA + 안쪽 정확한 솔버 조합이 실제 경쟁력을 갖는다. Sun 계열의 SDPNAL 이 그 예다. ↩