1. 개요[편집]
| 모로 포락 Moreau Envelope | |
|---|---|
| 다른 이름 | 모로-요시다 정칙화, Moreau–Yosida regularization |
| 제안 | Jean-Jacques Moreau (1965) |
| 정체 | 비매끄러운 볼록 함수를 C1로 바꾸는 매끄럽게 하기 |
| 핵심 성질 | 최솟값·최소점이 원함수와 완전히 동일 |
| 파생 | 근접 연산자, 후버 함수, 소프트 임계값 |
모로 포락은 볼록 함수 를, 최솟값과 최소점을 하나도 바꾸지 않은 채로 연속 미분 가능한 함수로 바꿔 놓는 정칙화(regularization) 연산이다. 파라미터 에 대해
로 정의한다. 앞이 포락(최솟값), 뒤가 근접 연산자(최소점)이며 둘은 같은 부분문제의 값과 인수다. 가 닫힌 진(closed proper) 볼록이면 괄호 안이 -강볼록이라 최소점이 유일하게 존재하므로, 근접 연산자는 잘 정의된 단일값 사상이다.
왜 중요한가. 현대 최적화에서 진짜 문제는 비선형이 아니라 비매끄러움이다. , 전변분, 지시함수, 최댓값 함수 — 이 바닥의 정규화항은 죄다 미분이 안 되고, 그래서 경사하강법이나 뉴턴-랩슨법을 그냥 가져다 쓸 수가 없다. 모로 포락은 이 문제를 ” 를 근사해서 답이 조금 달라지는 것을 감수한다”가 아니라 “매끄럽게 바꾸되 답은 그대로 둔다” 로 해결한다. 이게 왜 공짜처럼 들리는지, 그리고 실제로 공짜가 아닌 부분이 어디인지가 이 문서의 내용이다.1
2. 매끄러움 — 정확히 무엇이 보장되나[편집]
가 닫힌 진 볼록이면 에 대해 다음이 성립한다.
- 어디서나 유한하고 볼록이다. 가 를 값으로 갖는 지시함수여도 는 유한값이다.
- 이며 그래디언트가 명시적으로 나온다.
- 그래디언트가 -립시츠다. 즉 .
- 의 하계다. 항상 이며, 가 클수록 더 많이 뭉갠다.
여기서 읽어야 할 트레이드오프가 있다. 이면 는 에 가까워지지만 립시츠 상수 가 폭발한다 — 즉 ” 를 더 정확히 닮을수록 더 못 매끄럽다”. 매끄러운 함수에 1차법을 쓸 때 스텝이 로 제한되므로, 를 줄여 정확도를 얻는 만큼 스텝이 작아져 반복 수가 늘어난다. 공짜 점심은 여기서 계산된다.
3. 최솟값이 보존된다[편집]
포락의 결정적 성질은 이것이다.
증명은 짧다. 두 변수 에서 순서를 바꿔 를 먼저 최소화하면 에서 이차항이 0이 되므로 가 남는다. 즉 어떤 를 쓰든 최적값과 최적해 집합이 그대로다. 매끄럽게 만드는 대가로 답이 흔들리는 여느 근사(예: 로 절댓값을 뭉개는 방식)와 결정적으로 다른 지점이다.
또 하나, 부미분과의 관계도 깔끔하다. 라 하면 부분문제의 최적성 조건이 , 즉
이다. 좌변은 방금 본 이므로 — 포락의 그래디언트는 원함수의 부미분 원소 중 하나를, 그것도 최소 노름 원소를 골라 준다. 비매끄러운 함수의 “가장 얌전한 기울기”를 자동으로 뽑아 주는 장치인 셈이다.
4. 대표 예 — 후버 함수와 소프트 임계값[편집]
가장 유명한 예는 다. 는 연성 임계값(soft-thresholding)
이고, 이걸 위 정의에 대입하면 포락이 나온다.
이것이 바로 후버 함수다. 원점 근처는 이차, 멀리서는 선형 — 강건 회귀에서 “이상치에 덜 끌려가면서도 원점에서 미분 가능한” 손실로 손꼽히던 그 함수가, 알고 보니 절댓값의 모로 포락이었다. 그래디언트도 확인해 보면 에서 , 바깥에서 로 정확히 와 일치하고 립시츠 상수가 다. 전변분 잡음제거의 계단화 대책으로 쓰는 “후버-TV”도 결국 TV의 비매끄러움을 모로 포락으로 한 겹 벗긴 것이다.
다른 대표 사례들:
- 지시함수 ( 안이면 0, 밖이면 ) → , 집합 위로의 사영이다. 그리고 — 거리 제곱의 절반. 제약 최적화의 벌점법이 여기서 튀어나온다.
- 핵 노름 → 특이값에 연성 임계값을 먹인다. 특이값 분해 한 번이 prox 한 번.
- → , 단순 축소. 리지 벌점이 왜 성분을 0으로 못 만드는지가 한 줄로 보인다.
- 가 이미 매끄러움 → 포락은 여전히 매끄럽고, 가 작으면 . 손해도 이득도 별로 없다.
5. prox의 성질과, 그 위에 선 알고리즘들[편집]
근접 연산자는 그 자체로 좋은 성질을 갖는다.
- 견고 비확장(firmly nonexpansive): . 따라서 1-립시츠다. 반복해도 발산하지 않는다는 뜻이라 알고리즘 안정성의 근거가 된다.
- 고정점 = 최소점: .
이 두 줄에서 현대 1차 최적화의 절반이 나온다.
- 근접점 알고리즘. . 이건 사실 위에서 스텝 의 경사하강이다 — . 즉 “비매끄러운 함수에 근접점법을 돌린다”와 “매끄럽게 만든 함수에 경사하강을 돌린다”가 같은 알고리즘이다. 록카펠라(1976)가 이 관점을 정리했고, 쌍대에 적용하면 그게 곧 승수법이다.
- 근접 경사법(ISTA/FISTA). 매끄러운 항엔 경사, 비매끄러운 항엔 prox. 이면 임계화 한 줄.
- 교대방향 승수법·더글러스-래치포드. 표준 분할에서 두 부분문제가 각각 , 다. ADMM은 결국 두 prox를 번갈아 때리는 알고리즘.
- 투영 경사법. 가 지시함수인 특수 사례. 제약 최적화의 투영법이 근접법의 부분집합이라는 게 여기서 정리된다.
실무에서의 판정 기준은 늘 하나다. prox가 닫힌 형태로, 싸게 계산되는가. 성분별로 분해되는 이나 상자 제약은 이라 사실상 공짜지만, 전변분처럼 이웃이 얽히면 prox 자체가 또 하나의 최적화 문제다. 그럴 땐 내부 반복을 끼우거나 원시-쌍대 계열로 넘어간다.
6. 모로 분해와 켤레[편집]
포락과 prox는 볼록 최적화의 쌍대성과 정확히 맞물린다. 르장드르-펜셸 변환으로 얻는 켤레 를 쓰면 모로 분해
가 성립한다. 임의의 점이 “원 문제 쪽 prox”와 “쌍대 문제 쪽 prox”로 정확히 쪼개진다는 뜻이며, 직교 부분공간 분해 를 볼록 함수 세계로 일반화한 것이다. 일반 에서는 로 쓴다. 실용적 가치도 크다 — 의 prox는 어려운데 의 prox는 쉬운 경우(그 반대도) 이 항등식 하나로 계산을 넘길 수 있다. 노름의 prox를 쌍대 노름 공 위의 사영으로 바꿔 푸는 것이 전형적인 예다.
포락 자체도 켤레 언어로 깔끔하게 표현된다. 는 와 의 하한 합성곱(infimal convolution)이고, 하한 합성곱의 켤레는 켤레들의 합이므로
이다. 즉 원 쪽에서 매끄럽게 하는 것과 쌍대 쪽에서 강볼록하게 하는 것이 같은 조작이다. “평활성 ↔ 강볼록성”이라는 쌍대성의 표어가 여기서 정확한 등식으로 나온다.
7. λ 극한과 비볼록 확장[편집]
이면 는 각 점에서 로 단조 증가하며 수렴하고(에피 수렴 의미로도), 반대로 면 로 납작해진다. 그래서 는 “얼마나 뭉갤 것인가”를 정하는 유일한 손잡이이며, 를 크게 시작해 점점 줄이는 연속화(graduated non-convexity) 전략의 기반이 된다.
비볼록으로도 갈 수 있다. 가 -약볼록 함수(즉 가 볼록)이면, 인 한 부분문제는 여전히 강볼록이라 prox가 유일하고 도 매끄럽다. 이 조건이 깨지면 최소점이 여러 개가 되면서 prox가 집합값 사상으로 변하고, 알고리즘은 이산적으로 튄다. 약볼록 영역에서는 를 정상성 측도로 쓰는 것이 표준이 됐다 — 비매끄럽고 비볼록인 함수에는 “그래디언트 노름이 작다”는 말을 정의할 방법이 마땅치 않은데, 포락의 그래디언트가 그 자리를 대신한다.2 심층 학습의 비매끄러운 손실에 대한 확률적 하위경사법 수렴 해석이 이 틀 위에서 이뤄진다.
마지막으로 현실 감각 하나. 모로 포락은 개념적으로는 만능이지만 계산적으로는 prox의 난이도를 그대로 물려받는다. ” 를 매끄럽게 만들었다”는 문장은 곧 ” 를 풀 수 있다”는 문장이고, prox를 못 풀면 포락은 종이 위에만 존재한다.3
8. 관련 문서[편집]
- 볼록 최적화 · 카루시-쿤-터커 조건 · 라그랑주 승수법
- 근접 경사법 · 교대방향 승수법 · 연산자 분리
- 경사하강법 · 뉴턴-랩슨법 · 라인서치
- 전변분 잡음제거 · 압축센싱 · 딕셔너리 학습
- 특이값 분해 · 내점법 · 활성집합법
- 확률적 경사하강법 · 심층 학습
9. Footnotes[편집]
-
이름이 둘인 것도 이 함수의 이력을 보여 준다. 볼록해석 쪽은 모로(1965)를, 단조 연산자·반군 이론 쪽은 요시다 근사(Yosida approximation)를 부르며, 둘은 같은 대상의 다른 얼굴이다. 논문에서 “Moreau–Yosida regularization”이라고 붙여 쓰는 건 두 학파 사이에서 정치적 중립을 지키는 표기법이라고 봐도 크게 틀리지 않다. ↩
-
이 트릭이 왜 정당한지는 볼록의 경우로 감을 잡으면 된다. 이므로 이 값이 작다는 건 ” 가 자기 prox와 거의 같다”, 즉 “고정점에 가깝다”는 뜻이고, 고정점은 최소점이다. 비매끄러움을 피해 가는 게 아니라 비매끄러움을 통과시켜 놓고 재는 자다. ↩
-
그래서 논문에서 “우리는 목적함수를 모로 포락으로 매끄럽게 했다”는 문장을 보면 자동으로 다음 줄을 찾아야 한다. prox를 어떻게 계산했는지가 안 적혀 있으면, 그 매끄러움은 정리 증명용이지 코드용이 아니다. ↩