대리 모델

편집 역사 토론
시뮬레이션 최적설계 통계 마지막 수정: 2026-07-16 04:23:05

1. 개요[편집]

대리 모델
Surrogate Model
별칭메타모델(metamodel), 응답면(response surface)
목적비싼 해석을 싼 근사로 대체
대표 기법크리깅, RBF, 다항식 응답면
주 용도회귀, 최적화 루프, 불확실성 정량화

한 번 도는 데 8시간짜리 해석을 1만 번 돌려야 한다고? 그럼 해석을 흉내내는 놈을 하나 만들자.

대리 모델(surrogate model)은 계산 비용이 비싼 시뮬레이션이나 실험의 입출력 관계를, 소수의 샘플로 학습한 값싼 수학적 근사 함수로 대체한 것이다. 메타모델, 응답면 모델(RSM), 에뮬레이터 등으로도 불린다. 원본 해석 f(x)f(\mathbf{x})NN개 지점에서만 평가하고, 그 결과로 f^(x)\hat{f}(\mathbf{x})를 만들어 그 뒤로는 f^\hat{f}만 두들긴다.

동기는 단순하다. 유전 알고리즘으로 형상 최적화를 돌리려면 목적함수 평가가 수천~수만 번 필요한데, 전산유체역학 해석 하나가 수 시간이면 현생이 끝난다. 대리 모델은 그 사이에 끼어들어 “제가 대신 대답할게요”를 시전한다.

2. 대표 기법[편집]

2.1. 다항식 응답면 (Polynomial RSM)[편집]

가장 오래되고 단순한 방법. 보통 2차 다항식을 최소자승법으로 피팅한다.

f^(x)=β0+iβixi+iβiixi2+i<jβijxixj\hat{f}(\mathbf{x}) = \beta_0 + \sum_i \beta_i x_i + \sum_i \beta_{ii} x_i^2 + \sum_{i<j} \beta_{ij} x_i x_j

계수 해석이 쉽고 잡음에 강해서 실험계획법(DOE) 전통과 궁합이 좋다. 대신 응답이 굽이치면 2차식으로는 못 따라간다. 설계변수가 늘면 계수 개수가 O(d2)O(d^2)로 붇는 것도 부담.

2.2. 크리깅 / 가우시안 프로세스[편집]

지금의 사실상 표준. 원래 남아프리카 광산 기사 다니 크리게(Danie Krige)의 광맥 품위 추정법에서 왔다.1 응답을 추세항 + 정상 확률과정의 합으로 본다.

f(x)=μ(x)+Z(x),Cov[Z(x),Z(x)]=σ2R(x,x)f(\mathbf{x}) = \mu(\mathbf{x}) + Z(\mathbf{x}), \quad \text{Cov}[Z(\mathbf{x}), Z(\mathbf{x}')] = \sigma^2 R(\mathbf{x}, \mathbf{x}')

RR은 상관함수(가우시안, Matérn 등)이고, 하이퍼파라미터는 최대우도로 잡는다. 크리깅의 킬러 피처는 예측값뿐 아니라 예측 분산까지 준다는 것. “여기는 내가 자신 있고, 저기는 잘 모르겠다”를 정량적으로 말해준다. 이게 뒤에 나올 능동 학습의 연료가 된다.

단점은 비용. 상관행렬의 역행렬이 필요해서 학습이 O(N3)O(N^3), 그것도 상관행렬이 종종 병적으로 조건수가 나빠진다. 샘플 수천 개를 넘어가면 힘들어진다.2

2.3. 방사기저함수 (RBF)[편집]

기저를 거리에 대한 함수로 잡고 선형결합한다.

f^(x)=i=1Nwiϕ(xxi)\hat{f}(\mathbf{x}) = \sum_{i=1}^{N} w_i \, \phi(\|\mathbf{x} - \mathbf{x}_i\|)

ϕ\phi로는 multiquadric, 가우시안, thin-plate spline 등을 쓴다. 크리깅보다 구현이 훨씬 간단하고 고차원에서도 잘 버틴다. 형상 파라미터(shape parameter) 선택이 결과를 크게 좌우하는 게 아킬레스건. RBF는 메시 생성의 메시 변형(morphing)에도 그대로 쓰이니, 최적화 파이프라인 안에서 두 번 만나게 된다.

2.4. 그 외[편집]

서포트 벡터 회귀, 랜덤 포레스트, 그래디언트 부스팅, 신경망까지 전부 대리 모델로 동원된다. 물리 제약을 넣고 싶으면 물리 정보 신경망 계열로 넘어가고, 물리 구조를 투영으로 보존하고 싶으면 축소차수모델로 간다. 셋의 경계는 생각보다 흐릿하다.

3. 샘플링과 능동 학습[편집]

대리 모델의 품질은 어디에 샘플을 뿌렸느냐가 절반 이상 결정한다. 격자 품질이 CFD를 결정하는 것과 정확히 같은 구조다.

초기 설계로는 라틴 하이퍼큐브 샘플링(LHS)이 국룰이고, 소볼·할톤 같은 저불일치 수열도 널리 쓰인다. 격자형 풀팩토리얼은 차원의 저주 때문에 3~4차원만 넘어도 못 쓴다.

적응 샘플링 / 능동 학습은 여기서 한 발 더 나간다. 일단 대충 만든 대리 모델을 보고, “다음 한 방을 어디에 쓸까”를 모델 스스로 고르게 한다. 크리깅의 예측 분산이 있으면 이게 자연스럽게 된다.

  • 탐색(exploration) — 분산이 큰 곳을 찍는다. 지도의 흰 부분을 메우는 전략.
  • 활용(exploitation) — 예측 최적점 근처를 찍는다. 좋은 곳을 더 정밀하게.
  • EGO / EI — 존스(Jones) 등의 EGO 알고리즘은 기대 개선량(Expected Improvement)이라는 하나의 지표로 둘을 섞는다. 지금의 베이지안 최적화가 이 계보다.

4. 최적화 루프에서의 역할[편집]

전형적인 대리모델 기반 최적화(SBO)는 이렇게 돈다.

  1. DOE로 NN개 설계점 뽑기 → 원본 해석 NN번 실행.
  2. 대리 모델 피팅.
  3. 대리 모델 위에서 최적화(유전 알고리즘이든 뭐든 마음껏 — 어차피 싸다).
  4. 찾은 최적점 후보를 원본 해석으로 실제 검증.
  5. 그 결과를 샘플에 추가하고 2번으로. 수렴할 때까지.

4번이 목숨줄이다.3 이걸 빼먹고 대리 모델의 최적점을 그대로 답으로 제출하는 순간, 모델이 만들어낸 가짜 골짜기에 도장을 찍게 된다. 대리 모델 최적화의 사고는 거의 전부 여기서 난다.

대리 모델은 최적화 말고도 불확실성 정량화(몬테카를로 방법을 원본 해석으로 10만 번 돌릴 수는 없으니), 민감도 분석, 실시간 제어에 쓰인다. 다충실도(multi-fidelity) 기법으로 값싼 저정밀 해석과 비싼 고정밀 해석을 섞어 보정하는 방식도 항공 쪽에서 널리 쓰인다.

5. 검증 — 훈련 오차는 지표가 아니다[편집]

대리 모델을 만들었으면 얼마나 믿을지를 정해야 한다. 정직한 절차는 이렇다.

  • 별도 검증점 — 피팅에 안 쓴 점을 원본 해석으로 따로 평가해서 오차를 잰다. 가장 확실하지만 비싸다.
  • 교차검증(LOOCV) — 샘플 하나씩 빼고 피팅해 그 점을 예측한다. 크리깅은 이걸 닫힌 형태로 싸게 계산하는 공식이 있어서 부담이 적다.
  • 잔차 vs 예측 분산 — 크리깅이 말한 불확실성이 실제 오차 크기와 맞아떨어지는지 본다. 분산을 체계적으로 과소평가하는 모델은 능동 학습을 잘못된 방향으로 이끈다.

지표로는 R2R^2보다 RMSE와 최대 오차를 함께 보는 게 낫다. 최적화가 목적이라면 전 영역 평균 정확도보다 최적점 근처에서의 순위 보존이 중요한데, R2R^2는 그걸 전혀 말해주지 않는다. 평균은 훌륭한데 최적 후보 근처만 어긋난 대리 모델은 흔하고, 또 가장 뼈아프다.

6. 위험 — 과적합과 외삽[편집]

과적합. 잡음 없는 결정론적 시뮬레이션 데이터라도 대리 모델은 과적합한다. 특히 보간형 크리깅은 모든 샘플점을 정확히 지나가므로, 점 사이에서 물리적으로 말이 안 되는 진동을 만들어낼 수 있다. 이걸 잡으려고 넉짓(nugget) 항을 넣거나, 교차검증(LOOCV)으로 하이퍼파라미터를 고른다. 훈련 오차는 대리 모델의 품질 지표가 아니다 — 별도 검증점을 남겨두는 것 외에 왕도가 없다.

외삽. 이게 진짜 무섭다. 대리 모델은 샘플이 덮은 영역 안에서만 의미가 있다. 밖으로 나가면 다항식은 폭주하고, 크리깅은 조용히 평균값으로 돌아가면서 분산도 커진다고 정직하게 알려주긴 하지만 아무도 그 분산을 안 본다. 최적화기가 설계 경계 쪽으로 밀고 나가는 성향이 있어서, 최적점이 샘플 영역 가장자리에 붙어 나오면 100% 의심해야 한다.

차원의 저주. 필요한 샘플 수는 차원에 대해 지수적으로 는다. 설계변수 50개짜리 문제에 크리깅을 그대로 들이대는 건 무리고, 민감도 분석으로 변수를 쳐내거나 활성 부분공간(active subspace)으로 차원을 줄이고 시작해야 한다.

7. 관련 문서[편집]

8. Footnotes[편집]

  1. 크리게가 1951년에 금광 품위를 추정하려고 만든 통계 기법에, 프랑스 수학자 조르주 마테롱(Georges Matheron)이 1960년대에 이론을 붙이고 “kriging”이라 이름 붙였다. 금 캐려던 방법으로 지금 항공기 날개를 설계한다. 응용수학의 재활용률은 늘 이렇게 높다.

  2. O(N3)O(N^3)은 코딩 문제가 아니라 수학 구조 문제다. 그래서 희소 근사(inducing point), 지역 크리깅, 계층 행렬 같은 우회로가 잔뜩 나왔다. 어느 쪽이든 공짜 점심은 없다.

  3. 여담으로, 상사가 “그 AI 모델로 최적 설계 뽑아봐”라고 할 때 그 AI는 열에 아홉 크리깅이다. 1951년 기술이지만 굳이 정정하지는 말자. 그리고 검증용 원본 해석 예산을 미리 확보해 두지 않으면, 검증 단계는 일정에 밀려 가장 먼저 잘려나간다.