신뢰 영역 방법

편집 역사 토론
수치해석 최적설계 마지막 수정: 2026-07-20 04:21:15

1. 개요[편집]

근사 모델을 믿되, 딱 이 반경 안에서만 믿는다.

신뢰 영역 방법(trust region method)은 비선형 최적화에서, 현재 위치 주변에 세운 이차 근사 모델을 정해진 반경 내부에서만 신뢰하고 그 안에서 최적점을 찾아 이동하는 반복 알고리즘의 총칭이다. 목적함수를 매 반복마다 다루기 쉬운 이차 모델로 대체하되, 그 모델이 원래 함수를 잘 흉내 내는 국소 영역(신뢰 영역, trust region)의 크기를 계산 결과에 따라 늘였다 줄였다 하며 조절한다. 뉴턴-랩슨법준-뉴턴법을 견고하게 만드는 대표적 전역화(globalization) 전략으로, 경사하강법류의 단순 반복이 발산하는 험한 지형에서도 안정적으로 수렴한다.

핵심 발상은 겸손이다. 이차 모델은 진짜 함수가 아니라 근사일 뿐이므로 너무 멀리 믿으면 배신당한다. 그러니 “모델을 얼마나 멀리까지 믿을지”를 아예 최적화 변수로 삼아 매 스텝 학습한다.

2. 라인서치와의 대비[편집]

비선형 최적화의 두 큰 흐름은 라인서치(line search)와 신뢰 영역이다. 둘 다 이차 모델을 쓰지만 결정 순서가 반대다.

  • 라인서치: 먼저 방향을 정하고(예: 뉴턴 방향), 그 직선 위에서 얼마나 갈지 보폭을 탐색한다. “어디로 갈지 정하고 나서 얼마나 갈지 고른다.”
  • 신뢰 영역: 먼저 믿을 반경 Δ\Delta 를 정하고, 그 구(球) 안에서 모델을 최소화하는 방향과 보폭을 동시에 찾는다. “얼마나 멀리 갈 수 있는지부터 정하고 그 안에서 최선을 고른다.”

이 차이가 실전에서 크게 갈리는 지점이 헤세 행렬이 부정정(indefinite)일 때다. 라인서치는 뉴턴 방향이 상승 방향이 돼 버려 수정이 필요하지만, 신뢰 영역은 반경 제약이 자연스럽게 발산을 막아 별도 손질 없이도 굴러간다. 이 강건함이 신뢰 영역 방법의 최대 세일즈 포인트다.1

3. 부분문제: 반경 안에서의 이차 최소화[편집]

매 반복 kk에서, 현재 점 xk\mathbf{x}_k 주변의 이차 모델을 세운다.

mk(p)=f(xk)+gkp+12pBkpm_k(\mathbf{p}) = f(\mathbf{x}_k) + \mathbf{g}_k^\top \mathbf{p} + \tfrac{1}{2}\,\mathbf{p}^\top \mathbf{B}_k\,\mathbf{p}

여기서 gk\mathbf{g}_k는 기울기, Bk\mathbf{B}_k헤세 행렬 또는 그 근사다. 신뢰 영역 부분문제(subproblem)는 이 모델을 반경 제약 아래 최소화하는 것이다.

minp mk(p)s.t.pΔk\min_{\mathbf{p}}\ m_k(\mathbf{p}) \quad \text{s.t.} \quad \|\mathbf{p}\| \le \Delta_k

이 부분문제를 정확히 풀면 좋지만 매번 정확히 푸는 건 비싸므로, 실전에서는 근사 해법을 쓴다.

  • 도그레그(dogleg) 법: 완전한 뉴턴 스텝(모델의 무제약 최소점)과 최급강하 방향의 코시 점(Cauchy point)을 꺾은선(개의 뒷다리 모양)으로 잇고, 그 경로가 반경 경계와 만나는 곳을 택한다. Bk\mathbf{B}_k가 양정정일 때 값싸고 효과적이다.2
  • 스타이하우그-CG(Steihaug-Toint) 법: 부분문제를 크리로프 부분공간법의 켤레기울기(CG)로 푼다. 반복 중 반경 경계에 부딪히거나 음의 곡률을 만나면 즉시 멈춰 그 지점을 반환한다. 헤세 행렬을 명시적으로 만들지 않고 헤세-벡터 곱만 있으면 되므로, 변수가 수백만 개인 대규모 문제의 표준이다.

참고로 레벤버그-마쿼트 방법의 감쇠 항 λ\lambda는 이 부분문제의 라그랑주 승수로 해석된다. LMA는 최소자승법에 특화된 신뢰 영역 방법의 한 사례인 셈이다.

4. 반경 갱신: 비율 ρ가 심판이다[편집]

신뢰 영역의 심장은 반경 Δk\Delta_k를 어떻게 늘였다 줄이는가에 있다. 판정 기준은 실제 감소 대 예측 감소의 비율 ρk\rho_k다.

ρk=f(xk)f(xk+pk)mk(0)mk(pk)\rho_k = \frac{f(\mathbf{x}_k) - f(\mathbf{x}_k + \mathbf{p}_k)}{m_k(\mathbf{0}) - m_k(\mathbf{p}_k)}

분자는 진짜 함수가 실제로 줄어든 양, 분모는 이차 모델이 예측한 감소량이다. 이 둘이 비슷하면 모델을 믿을 만하다는 뜻이다.

  • ρk\rho_k가 크다(예: > 0.75): 모델이 정확했다. 스텝을 받아들이고 반경을 넓힌다(Δk+1=2Δk\Delta_{k+1} = 2\Delta_k). 더 과감하게.
  • ρk\rho_k가 중간: 스텝은 받아들이되 반경은 유지한다.
  • ρk\rho_k가 작거나 음수(예: < 0.25): 모델이 배신했다. 스텝을 버리고(xk+1=xk\mathbf{x}_{k+1} = \mathbf{x}_k) 반경을 줄인다(Δk+1=14Δk\Delta_{k+1} = \tfrac{1}{4}\Delta_k). 더 조심스럽게, 다시 시도.

이 되먹임 덕분에 알고리즘은 매끈한 골짜기에서는 반경을 키워 뉴턴급 속도로 질주하고, 굴곡진 지형에서는 반경을 조여 안전하게 기어간다. 사용자가 보폭을 손으로 튜닝할 필요가 없다는 점이 라인서치 대비 편한 지점이다.3

5. 대규모 최적화에서의 위상[편집]

신뢰 영역 방법은 이론과 실무 양쪽에서 자리가 탄탄하다. 적절한 조건 아래 전역 수렴(어떤 초기값에서든 정류점 수렴)이 증명되며, 부정정 헤세도 그대로 다룰 수 있어 신뢰공역 뉴턴(trust-region Newton)은 비볼록 문제의 든든한 기본기다.

대규모로 갈수록 진가가 드러난다. 스타이하우그-CG 덕분에 헤세 행렬을 저장하지 않고 헤세-벡터 곱만으로 굴러가므로, 유한요소 기반 형상 최적화민감도 해석이 얽힌 대규모 역문제, 심지어 일부 딥러닝 2차 최적화기까지 적용 범위가 넓다. SciPy의 trust-ncg·trust-krylov·dogleg, MATLAB fmincon의 신뢰 영역 알고리즘, 대형 비선형 솔버 라이브러리 대부분이 이 계열을 품고 있다. “발산 안 하고 대충 던져도 수렴하는” 최적화가 필요할 때, 신뢰 영역은 여전히 가장 안전한 선택지 중 하나다.

6. 관련 문서[편집]

7. Footnotes[편집]

  1. 라인서치에서 뉴턴 방향이 상승 방향이 되면 헤세를 강제로 양정정으로 손질(수정 촐레스키 등)해야 하는데, 이 손질이 원래 곡률 정보를 훼손한다. 신뢰 영역은 그런 성형수술 없이 음의 곡률을 “이 방향으로 반경 끝까지 가면 더 낮아진다”는 유용한 정보로 활용한다. 부정정 헤세를 만나면 라인서치는 당황하고 신뢰 영역은 반긴다.

  2. 이름이 개(dog)의 다리(leg)에서 온 이유는 경로 모양 때문이다. 원점에서 코시 점까지 갔다가 방향을 꺾어 뉴턴 점으로 향하는 두 선분이 개의 뒷다리처럼 꺾여 보인다. 최적화 문헌에서 보기 드물게 작명 센스가 살아 있는 사례.

  3. 라인서치의 스텝 크기 튜닝(울프 조건 파라미터 등)에 데어 본 사람은 신뢰 영역의 자동 반경 조절이 얼마나 편한지 안다. 물론 공짜는 없어서, 부분문제를 매번 풀어야 하는 비용이 그 대가다. “튜닝 노동”과 “부분문제 비용”을 맞바꾸는 거래인 셈.