핵심 인사이트 (3줄 요약)
- 본질: 볼록 함수 (Convex Function) 는 어느 두 점을 잡아도 그 사이 곡선이 직선 아래에 있는 함수 — 이 단 하나의 성질이 "지역 최솟값 = 전역 최솟값"을 보장한다.
- 가치: 볼록 최적화 문제는 경사하강법이 전역 해로 반드시 수렴하며, SVM·로지스틱 회귀·LASSO·LP 등 ML의 핵심 모델이 볼록 구조를 가진다.
- 판단 포인트: 신경망 손실 함수는 비볼록(Non-convex) — 지역 최솟값, 안장점(Saddle Point)이 존재하므로 SGD는 전역 최적 수렴을 보장하지 않으며, 실무에서 좋은 지역 해를 찾는 것이 현실적 목표다.
Ⅰ. 개요 및 필요성
볼록 함수 (Convex Function) 정의:
f: ℝⁿ → ℝ 가 볼록 ⟺
∀ x, y ∈ dom(f), ∀ λ ∈ [0, 1]:
f(λx + (1-λ)y) ≤ λf(x) + (1-λ)f(y) [Jensen 부등식]
기하적 의미: (x, f(x))와 (y, f(y))를 잇는 직선 위에 f가 항상 있거나 아래
엄밀한 볼록 (Strictly Convex): 등호 없이 < → 유일한 최솟값 보장.
볼록 vs 비볼록 함수 비교
볼록 함수 f₁ 비볼록 함수 f₂
│ ╭─╮ │ ╭─╮
│ ╱ ╲ │ ╱ ╲ ╱─╮
│╱ ╲ │╲╱ ╱ ╲
──────┼──────────────── ─┼────╱─────╯──
│ │ 지역 최소 전역 최소
어떤 접선도 함수 위에 있음 여러 지역 최소 존재 가능
📢 섹션 요약 비유: 볼록 함수는 "오목한 그릇"이다 — 어디서 굴러도 바닥(전역 최솟값)으로 반드시 흘러간다. 비볼록 함수는 "울퉁불퉁한 지형"으로 구덩이(지역 최솟값)가 여러 곳에 있다.
Ⅱ. 아키텍처 및 핵심 원리
볼록성의 1차/2차 조건
1차 조건 (미분 가능한 경우):
f가 볼록 ⟺ f(y) ≥ f(x) + ∇f(x)ᵀ(y-x) ∀ x, y
(접선이 항상 함수 아래에 위치)
2차 조건 (이계 미분 가능한 경우):
f가 볼록 ⟺ ∇²f(x) ≽ 0 (헤시안이 양반정치)
f가 엄밀히 볼록 ⟺ ∇²f(x) ≻ 0 (헤시안이 양정치)
헤시안 (Hessian) 행렬: H_ij = ∂²f/∂xᵢ∂xⱼ
1변수: f''(x) ≥ 0 ⟺ 볼록.
볼록 최적화의 핵심 성질
볼록 함수 + 볼록 집합 위에서:
지역 최솟값 = 전역 최솟값
∇f(x*) = 0 ⟺ x* 가 전역 최솟값
| 문제 유형 | 볼록? | 전역 해 보장 |
|---|---|---|
| 선형 프로그래밍 (LP) | ✅ | ✅ |
| 이차 프로그래밍 (QP) | ✅ | ✅ |
| 로지스틱 회귀 | ✅ | ✅ |
| SVM (서포트 벡터 머신) | ✅ | ✅ |
| LASSO | ✅ (비미분) | ✅ |
| 신경망 학습 | ❌ | ❌ |
볼록 집합과 볼록 함수의 연산 보존
볼록성을 보존하는 연산:
f, g 볼록 → αf + βg 볼록 (α,β ≥ 0)
f 볼록, A 선형 → f(Ax+b) 볼록 (합성)
f 볼록 → max(f, g) 볼록 (최댓값)
f 볼록 → 부분집합 합 볼록
자주 쓰이는 볼록 함수:
- L2 노름: ‖x‖₂ (∇²f = I ≻ 0)
- L1 노름: ‖x‖₁ (볼록, 미분 불가)
- log-sum-exp: log(Σ exp(xᵢ)) (소프트맥스 분모)
- 이차 함수: xᵀAx + bᵀx + c (A ≽ 0일 때)
📢 섹션 요약 비유: 볼록 함수의 합도 볼록인 것은 "여러 그릇을 쌓으면 여전히 그릇 형태"와 같다 — 볼록 함수들을 더해도 볼록성이 유지된다.
Ⅲ. 비교 및 연결
볼록 최적화 vs 비볼록 최적화
| 항목 | 볼록 최적화 | 비볼록 최적화 |
|---|---|---|
| 전역 최적 보장 | ✅ | ❌ |
| 알고리즘 | 경사하강, 내점법 등 | SGD + 트릭, 진화 알고리즘 |
| 수렴 속도 | O(1/t) ~ O(1/t²) | 보장 없음 |
| 예시 | SVM, 로지스틱 회귀, LP | 신경망, 조합 최적화 |
SVM — 볼록 이차 프로그래밍 (QP)
SVM (Support Vector Machine) 원형 문제:
minimize ½‖w‖²
subject to yᵢ(wᵀxᵢ + b) ≥ 1 ∀i
이것은 볼록 QP → 전역 최솟값 반드시 달성!
KKT (Karush-Kuhn-Tucker) 조건으로 해석적 조건 도출 → 듀얼 문제(Lagrange Dual)로 커널 SVM 확장.
비볼록 신경망의 실용적 대응
신경망은 비볼록이지만 실무에서 잘 동작하는 이유:
- 대부분의 지역 최솟값이 비슷한 성능 (과잉 매개변수 시)
- 안장점은 경사하강으로 탈출 가능 (노이즈 + 모멘텀)
- 배치 정규화가 손실 경관 평탄화 → 더 쉬운 최적화
📢 섹션 요약 비유: SVM이 볼록 QP인 것은 "답이 단 하나인 수학 문제"와 같다 — 풀이 방법이 달라도 항상 같은 최적 해에 도달한다.
Ⅳ. 실무 적용 및 기술사 판단
LASSO와 Ridge의 볼록성
Ridge (L2): f(w) = ‖y - Xw‖² + λ‖w‖²
볼록, 미분 가능, 해석해 존재: w* = (XᵀX + λI)⁻¹Xᵀy
LASSO (L1): f(w) = ‖y - Xw‖² + λ‖w‖₁
볼록, 미분 불가 (w=0 지점), 희소 해(Sparse Solution)
→ Proximal Gradient 또는 ADMM으로 풀기
LASSO의 L1 정규화가 희소 해를 만드는 이유: L1 구의 모서리(꼭짓점)에서 최적 해가 만남 → 다수 계수가 정확히 0.
포트폴리오 최적화 — 볼록 QP
maximize μᵀw (기대 수익)
subject to wᵀΣw ≤ σ² (위험 제약)
Σwᵢ = 1 (예산 제약)
wᵢ ≥ 0 (공매도 불가)
마코위츠 (Markowitz) 평균-분산 모델 = 볼록 QP → 전역 최적 포트폴리오 달성.
기술사 판단 포인트
- "경사하강이 항상 전역 최솟값에 수렴하는 조건?" → 손실 함수가 볼록 (헤시안 양반정치)
- "신경망에 전역 최적 보장이 없는 이유?" → 손실 경관이 비볼록 (활성화 함수로 인한 비선형성)
- "LASSO가 Ridge보다 희소 해를 만드는 수학적 이유?" → L1 구의 꼭짓점(좌표축)에서 최적 해 접촉
📢 섹션 요약 비유: LASSO의 L1 정규화는 "다이아몬드 모서리 충돌"이다 — L2 구(공 모양)와 달리 L1 구(다이아몬드 모양)는 좌표축 위의 뾰족한 모서리에서 등고선과 만나 많은 계수가 0이 된다.
Ⅴ. 기대효과 및 결론
볼록 최적화는 수학적으로 보장된 최적화의 황금 기준이다. SVM, 로지스틱 회귀, LP/QP 등 전통 ML의 핵심이 볼록 구조를 가진 것은 이 이유에서다.
딥러닝 시대에도 볼록 최적화가 중요한 이유:
- 볼록 서브문제(내점법, 프록시말 기울기)가 신경망 내부에 등장
- 볼록 분석 기법이 비볼록 분석의 기준점 제공
- SVM, 포트폴리오 최적화, 로봇 경로 계획 등 실무에서 여전히 직접 사용
📢 섹션 요약 비유: 볼록 최적화는 "완벽한 지도가 있는 보물찾기"다 — 지도(볼록성)가 있으면 어디서 출발해도 반드시 보물(전역 최솟값)을 찾지만, 비볼록 지형에서는 여러 가짜 보물 구덩이가 있다.
📌 관련 개념 맵
| 개념 | 조건 | 응용 |
|---|---|---|
| 볼록 함수 | f(λx+(1-λ)y) ≤ λf(x)+(1-λ)f(y) | SVM, 로지스틱 |
| 헤시안 양반정치 | H ≽ 0 | 2차 볼록성 조건 |
| SVM | 볼록 QP | 마진 최대화 |
| LASSO | 볼록 L1 | 희소 회귀 |
| 비볼록 신경망 | H ≭ 0 | 지역 해, 안장점 |
📈 관련 키워드 및 발전 흐름도
[볼록 함수 (Convex Function)]
│
▼
[헤시안 양반정치 (Hessian PSD)]
│
▼
[SVM (Support Vector Machine)]
│
▼
[LASSO (L1 Regularization)]
│
▼
[비볼록 신경망 (Non-convex Neural Network)]
이 흐름도는 볼록 함수 (Convex Function)에서 출발해 비볼록 신경망 (Non-convex Neural Network)까지 이어지며, 중간 단계가 기초 개념을 실무 구조로 발전시키는 과정을 보여준다.
👶 어린이를 위한 3줄 비유 설명
- 볼록 함수는 "오목한 그릇": 어디에 공을 놓아도 그릇 바닥으로 굴러간다 — 항상 같은 최솟값!
- 비볼록은 "울퉁불퉁한 언덕": 어디서 시작하느냐에 따라 다른 구덩이(지역 최솟값)에 빠질 수 있다.
- LASSO의 희소해는 "날카로운 다이아몬드 끝": 다이아몬드 모양의 제약과 만날 때, 자연스럽게 뾰족한 끝(좌표축)에서 만나 많은 값이 0이 된다.