공원 설계는 무엇을 동시에 만족해야 하는가
공원 설계에는 정답이 하나 없습니다. 그늘을 늘리면 잔디밭이 줄고, 동선을 곧게 하면 산책의 맛이 사라집니다. 빗물을 머금게 하면 유지관리 부담이 늘고, 수목을 빽빽이 심으면 조망과 안전감이 떨어집니다. 서로 당기는 목적이 예닐곱 개씩 됩니다.
게다가 평가가 비쌉니다. 미기후를 보려면 전산유체역학이 필요하고 일사·그늘 분석에도 시간이 걸립니다. 후보안 수천 개를 그대로 돌릴 수 없습니다.
마지막으로 결과가 하나여서는 안 됩니다. 발주처와 주민 앞에 최적안 한 장을 들고 가면 설계가 아니라 통보가 됩니다. 성격이 다른 대안을 놓고 고르게 하는 것이 실무입니다.
이 세 조건이 방법 선택을 결정합니다. 목적이 여럿이고 평가가 비싸며 결과가 여러 개여야 한다는 것입니다. 뒤에 나오는 여덟 방법은 이 셋 중 무엇을 잘하고 무엇을 못하는지로 갈립니다.
자동설계라 하면 흔히 강화학습을 떠올리지만, 실제로는 규칙 기반 생성부터 진화 알고리즘, 품질·다양성 탐색, 생성 모델까지 계보가 여럿입니다. 각각 다른 시대에 다른 문제를 풀려고 나왔습니다. 먼저 그 흐름을 보겠습니다.
선행 연구 — 자동설계는 어디까지 왔나
1970년대 · 규칙으로 형태를 생성하다
출발은 형상 문법입니다. Stiny와 Gips가 1972년에 제안했고, 촘스키의 형식 문법을 도형으로 옮긴 것입니다. 추상 기호가 아니라 공간에 놓인 도형을 규칙이 직접 조작한다는 발상이었습니다.
건축에 처음 적용된 것이 1978년 Stiny와 Mitchell의 팔라디오 문법입니다. 팔라디오가 베네토 지역에 지은 빌라들의 평면을 규칙 집합으로 환원하고, 그 규칙으로 실재하지 않지만 팔라디오적인 평면을 생성했습니다. 양식을 알고리즘으로 기술할 수 있다는 것을 보인 사건이었습니다.
한계도 분명했습니다. 규칙은 사람이 씁니다. 생성은 되지만 평가와 선택이 없습니다. 좋은 안과 나쁜 안을 가리는 장치가 문법 안에 없었습니다.
1990년대 · 진화를 설계에 들이다
영국 건축협회 건축학교의 John Frazer가 이 지점을 파고들었습니다. 1989년부터 1996년까지 이어진 7년 형태발생 프로젝트와 1995년의 저서 An Evolutionary Architecture가 결과물입니다.
핵심은 설계를 유전자와 환경의 상호작용으로 보는 것이었습니다. 형태를 직접 그리는 대신 형태를 만드는 규칙을 유전자로 두고, 환경 조건 아래서 세대를 거듭시킵니다. 목표는 건조환경이 자연환경처럼 공생적이고 대사적인 균형을 갖게 하는 것이라고 밝혔습니다.
생성에 선택압이 더해졌습니다. 다만 당시의 평가 함수는 거칠었고 계산 자원도 부족했습니다. 개념적 선언에 가까웠습니다.
2010년대 · 다목적 탐색이 실무로 내려오다
결정적 사례가 오토데스크 Project Discover입니다. 2017년 토론토 MaRS 지구에 자사 사무소를 지으면서 평면 계획을 생성적으로 풀었습니다.
- 직원 250명에게 선호를 조사해 입력 변수로 삼았습니다.
- 기하 생성 시스템이 약 1만 개의 대안을 만들었습니다.
- 다목적 유전 알고리즘이 그 공간을 탐색했습니다.
- 평가 목적은 여섯 개였습니다. 인접성 선호, 업무방식 선호, 활기, 생산성, 자연채광, 외부 조망입니다.
이 프로젝트가 이후 Dynamo용 최적화 엔진 Project Refinery로 이어졌고, Grasshopper 쪽에서는 Wallacei·Octopus 같은 다목적 최적화 플러그인이 같은 시기에 자리를 잡았습니다. 설계자가 코드를 쓰지 않고도 파레토 탐색을 돌릴 수 있게 된 것이 이 시기의 변화입니다.
여기서 주목할 것은 목적 여섯 개 중 셋이 정량 물리량이 아니라는 점입니다. 활기, 생산성, 선호는 설문에서 왔습니다. 자동설계의 난점이 알고리즘이 아니라 평가 함수에 있음을 보여줍니다.
2020년대 · 학습된 생성 모델
흐름이 한 번 더 바뀝니다. 탐색 대신 학습입니다. 기존 도면을 대량으로 학습해 새 평면을 직접 그려내는 방향입니다.
- House-GAN은 방 사이의 인접 관계를 그래프로 주면 그에 맞는 평면을 생성합니다. 후속인 House-GAN++가 문 누락 같은 결함을 보완했습니다.
- HouseDiffusion은 확산 모델로 벡터 평면을 생성합니다. 이산과 연속을 함께 잡음 제거하는 방식입니다.
- 최근에는 언어모델을 붙여 글로 지시하면 평면이 나오는 방향과, 그래프 변환기로 연결 구조를 더 잘 잡는 방향이 동시에 진행됩니다.
빠르고 그럴듯하지만 성능 보장이 없습니다. 학습 자료를 닮은 것을 내놓을 뿐, 이 안이 여름에 시원한지 빗물을 얼마나 머금는지는 따로 평가해야 합니다. 그래서 탐색 계열과 대립이 아니라 보완 관계입니다.
공원과 녹지는 어디까지 와 있나
건축보다 얕지만 사례가 없지는 않습니다.
- 생성적 적대 신경망 기반 녹지 설계 — "외부환경 → 배치 → 계획안"의 단계로 공원 녹지와 주거지 녹지의 생성 시스템을 구성한 연구가 있습니다. 주변 맥락이 생성 결과에 미치는 영향을 따로 평가한 연구도 나왔습니다.
- Layout2Rendering — 배치에서 3차원 공원 모델과 투시도까지 자동으로 잇는 시도입니다. 구상에서 도면·모델링·렌더링까지 걸리는 시간을 줄이는 것이 목표였습니다.
- 접근성 기반 배치 최적화 — 중국 시안 옌타구 사례에서 K-평균 군집과 개량 유전 알고리즘으로 공원 녹지 배치를 계획해 주거지의 공급·수요 접근성을 개선했습니다.
- 공원 공간의 정량 지표화 — 완성된 공원 사례들을 분류해 공간 배치의 정량 지표를 세우려는 연구도 진행 중입니다. 평가 함수를 만들려는 시도입니다.
선행 연구를 관통하는 사실이 하나 있습니다. 생성은 여러 방식으로 가능해졌지만, 무엇이 좋은 공원인지를 계산 가능한 식으로 쓰는 일은 여전히 미해결입니다. 뒤에 볼 방법론들은 모두 "좋음"이 정의되어 있다고 전제합니다. 그 전제를 만드는 것이 실제로는 더 큰 일입니다.
방법론 계보
두 갈래에서 왔습니다. 왼쪽은 1990년대 공학 최적화, 오른쪽은 2010년대 인공생명·로봇 학습입니다. 설계 분야에서 이 둘이 만납니다.
flowchart TD
ES["진화 전략 · 1970s<br/>Rechenberg · Schwefel"] --> CMAES["CMA-ES · 1996/2001<br/>Hansen · Ostermeier"]
GA["유전 알고리즘 · 1975<br/>Holland"] --> NSGA["NSGA · 1994<br/>Srinivas · Deb"]
NSGA --> N2["NSGA-II · 2002<br/>Deb 외"]
N2 --> N3["NSGA-III · 2014<br/>Deb · Jain"]
KRIG["크리깅 · 1989<br/>Sacks 외"] --> EGO["EGO · 1998<br/>Jones 외"]
MOCK["Mockus · 1970s<br/>기대개선 획득함수"] --> EGO
EGO --> BO["실용 베이지안 최적화 · 2012<br/>Snoek 외"]
NOV["신규성 탐색 · 2011<br/>Lehman · Stanley"] --> ME["MAP-Elites · 2015<br/>Mouret · Clune"]
ME --> QD["품질·다양성 개념화 · 2016<br/>Pugh · Soros · Stanley"]
CMAES --> CMAME["CMA-ME · 2020<br/>Fontaine 외"]
ME --> CMAME
CMAME --> CMAMAE["CMA-MAE · 2023<br/>Fontaine · Nikolaidis"]
ME --> ARCH["ARCH-Elites · 2021<br/>도시설계 적용"]
BO --> ARCH
N3 --> PARK["공원 파라메트릭 설계"]
CMAMAE --> PARK
ARCH --> PARK
style PARK fill:#eaf0ea,stroke:#2f7d5a,stroke-width:2px
style ME fill:#f8f1e8,stroke:#a8642a
style N2 fill:#f8f1e8,stroke:#a8642a
방법별 검토
1 · NSGA-II
Kalyanmoy Deb, Amrit Pratap, Sameer Agarwal, T. Meyarivan (2002)
IEEE Transactions on Evolutionary Computation 6(2) 182–197 · KanGAL, IIT Kanpur
선행 NSGA: N. Srinivas & K. Deb (1994), Evolutionary Computation 2(3) 221–248
배경정본 문헌. Kalyanmoy Deb, Amrit Pratap, Sameer Agarwal, T. Meyarivan이 쓴 "A Fast and Elitist Multiobjective Genetic Algorithm: NSGA-II"이다. IEEE Transactions on Evolutionary Computation 6권 2호, 182쪽에서 197쪽, 2002년 4월 게재다. 논문 각주는 소속을 명기한다. Kanpur Genetic Algorithms Laboratory, 약칭 KanGAL, Indian Institute of Technology Kanpur, PIN 208 016, India다. 원고 접수는 2000년 8월 18일이고 수정은 2001년 2월 5일과 2001년 9월 7일 두 차례다. Deb의 연구는 인도 인적자원개발부 연구개발사업의 지원을 받았다. 학회 선행판이 먼저 있었다. PPSN VI, 2000년, LNCS 849쪽에서 858쪽에 "A Fast Elitist Non-dominated Sorting Genetic Algorithm for Multi-objective Optimization: NSGA-II"로 실렸다. 다만 선행판은 저자 순서가 다르다. Deb, Agrawal, Pratap, Meyarivan 순이다. 흔히 인용되는 LNCS 권번호 1917은 이번 조사에서 메타데이터로 확인되지 않았다.
반응한 문제. 직계 선행 알고리즘은 N. Srinivas와 K. Deb의 NSGA다. Evolutionary Computation 2권 3호 221쪽에서 248쪽, 1994년 9월이다. 실제 출판된 제목에는 널리 알려진 오탈자가 있다. "Muiltiobjective Optimization Using Nondominated Sorting in Genetic Algorithms"가 정확한 표기다. 참고로 2002년 NSGA-II 논문 자신의 참고문헌 20번은 이 논문을 제목과 연도 모두 틀리게 적었다. 그 목록을 인용 근거로 삼으면 안 된다.
정확히 세 가지 비판. 2002년 논문 서론은 NSGA의 결함을 세 항목으로 못박는다. 첫째, 비지배 정렬의 계산복잡도가 목적 수 곱하기 개체군 크기의 세제곱이다. 개체군이 커지면 비현실적이다. 둘째, 엘리티즘이 없다. 좋은 해를 찾고도 다음 세대에서 잃는다. 셋째, 공유 파라미터를 사용자가 직접 지정해야 한다. 분포 유지 성능이 이 값 선택에 크게 좌우되고, 공유함수 계산 자체도 개체군 크기의 제곱이다. 논문의 목표는 이 셋을 동시에 없애는 것이었다. 비교 대상은 당시 두 엘리트 다목적 진화알고리즘, 즉 Knowles와 Corne의 PAES, Zitzler와 Thiele의 SPEA였다.
실험 결과를 인용할 때의 주의. 논문 4장 C절은 ZDT3와 ZDT6에서 PAES가 더 잘 수렴했고 나머지 시험문제에서는 NSGA-II가 우세했다고 적는다. 그런데 같은 논문 190쪽은 ZDT6에서 SPEA가 가장 잘 수렴한 비지배 해집합을 찾았다고 서술한다. 논문 안에서 서로 어긋난다. 따라서 이 대목은 단정하지 말고 상충 사실까지 함께 밝혀야 한다.
지적 계보. 2002년 논문에 인쇄된 저자 약력은 일차 자료다. Deb은 IIT Kharagpur에서 기계공학 학사를 1985년에 받았고, University of Alabama, Tuscaloosa에서 공학역학 석사를 1989년, 박사를 1991년에 받았다. 그 밖의 신상 정보는 근거가 약하다. 1963년 인도 트리푸라 우다이푸르 출생, 박사 지도교수가 David E. Goldberg, 1993년 IIT Kanpur 부임, 1997년 KanGAL 설립이라는 서술은 이번 조사에서 백과사전 항목 하나로만 확인됐다. 그 정도 신뢰도로 다루는 편이 안전하다. 이후 Michigan State University로 옮겨 Koenig 석좌교수를 맡고 COIN Lab을 세웠다는 사실은 대학 공개 정보로 확인된다. 임명 연도는 확인되지 않았다. 알고리즘 계보 자체는 분명하다. Goldberg가 1989년 저서에서 제시한 비지배 랭킹 아이디어가 출발점이다. 여기서 Srinivas와 Deb의 NSGA, Fonseca와 Fleming의 MOGA, Horn 등의 NPGA가 갈라져 나왔다. 그 뒤 Zitzler와 Rudolph를 중심으로 엘리티즘 논쟁이 벌어졌고, NSGA-II가 그 논쟁의 종결점이 되었다.
원리문제 설정부터. 목적함수가 하나면 해의 우열은 숫자 하나로 끝난다. 둘 이상이면 그 숫자가 없다. 공사비는 낮지만 그늘이 적은 안과, 그늘은 많지만 비싼 안 사이에 객관적 우열이 없기 때문이다. 그래서 다목적 최적화는 지배라는 부분 순서를 쓴다. 해 a가 해 b를 지배한다는 말은 두 조건을 동시에 만족한다는 뜻이다. 모든 목적에서 a가 b보다 나쁘지 않아야 한다. 그리고 적어도 한 목적에서는 확실히 나아야 한다. 아무에게도 지배당하지 않는 해들의 집합이 파레토 최적 전선이다. 문제는 이 부분 순서로는 유전 알고리즘의 선택 단계를 돌릴 수 없다는 점이다. 토너먼트 선택은 둘 중 하나를 골라야 하는데 지배 관계는 비교 불능 쌍을 대량으로 만든다.
NSGA-II의 전체 구조는 이 지점에 대한 답이다. 표준 유전 알고리즘에서 선택 단계만 교체한다. 교차와 변이는 단일목적 유전 알고리즘의 것을 그대로 쓴다. 교체해 넣는 것은 두 단계로 된 사전식 기준이다. 1차 기준은 전선 순위다. 2차 기준은 밀도다. 부품은 넷이고, 각각 앞 절의 세 비판 중 하나에 대응한다.
1) fast-non-dominated-sort. 존재 이유는 복잡도다. 목적 수 곱하기 개체군 세제곱을 제곱으로 낮추려는 것이다. 소박하게 하면 이렇다. 어떤 해가 몇 번째 전선인지 알려면 앞 전선들을 모두 확정한 뒤 남은 해들끼리 다시 전부 비교해야 한다. 이 재비교가 세제곱을 만든다. NSGA-II는 비교를 한 번만 한다. 모든 해 쌍을 한 차례 훑으면서 각 해에 두 정보를 붙인다. 하나는 그 해를 지배하는 해가 몇 개인지를 세는 지배 카운터다. 다른 하나는 그 해가 지배하는 해들의 목록이다. 이 사전계산이 목적 수 곱하기 개체군 제곱이다.
그다음은 껍질 벗기기다. 지배 카운터가 0인 해들이 곧 제1전선이다. 제1전선의 각 해에 대해, 그가 지배하던 해들의 카운터를 하나씩 깎는다. 깎다가 0이 된 해는 제2전선으로 간다. 제2전선에 같은 일을 반복하면 제3전선이 나온다. 이렇게 전 전선을 얻는다. 각 개체는 정확히 한 전선에만 속하므로 바깥 루프는 개체군 크기만큼 돈다. 안쪽에서 카운터를 깎는 횟수도 개체당 유한하다. 총 비용은 목적 수 곱하기 개체군 제곱이다. 공짜는 아니다. 각 해가 지배하는 해들의 목록을 전부 들고 있어야 하므로 저장공간이 개체군 크기의 제곱으로 늘어난다. 시간을 공간과 바꾼 설계다.
2) crowding-distance-assignment. 존재 이유는 사용자 파라미터 제거다. 같은 전선 안의 해들은 서로 우열이 없다. 그런데 자리는 한정돼 있으니 누구를 남길지 정해야 한다. NSGA는 이 문제를 공유함수로 풀었고 사용자가 이웃 반경을 숫자로 지정해야 했다. NSGA-II는 반경을 묻지 않는다. 대신 전선 위에서 각 해가 얼마나 붐비는 자리에 있는지를 직접 잰다.
계산은 단순하다. 한 전선을 목적함수 하나마다 오름차순으로 정렬한다. 각 정렬에서 양 끝에 놓인 해, 즉 그 목적의 최솟값과 최댓값을 가진 해에는 거리 무한대를 준다. 경계해는 무조건 살리겠다는 선언이다. 전선의 폭이 좁아지는 것을 막는 장치다. 가운데 해들에는 바로 위 이웃과 바로 아래 이웃의 목적값 차이를 준다. 이 차이를 그 목적의 최댓값과 최솟값 폭으로 나눠 정규화한다. 목적마다 단위가 다르기 때문이다. 원과 만원은 그대로 더할 수 없다. 모든 목적에 대해 이 값을 합한 것이 그 해의 혼잡거리다. 기하학적으로는 이웃 해들이 만드는 직육면체의 평균 변 길이에 해당한다. 값이 크면 주변이 한산하다는 뜻이고 그런 해를 우대한다. 비용은 목적 수 곱하기 개체군 로그 개체군이다. 사용자 파라미터는 0개다. 논문은 이 거리를 목적공간에서 계산했지만 설계변수 공간에서도 계산할 수 있다고 명시한다. 이 선택은 뒤에서 한계로 돌아온다.
3) crowded-comparison operator. 존재 이유는 두 값을 하나의 순서로 합치는 것이다. 이제 각 해는 전선 번호와 혼잡거리를 갖는다. 비교 규칙은 사전식이다. 전선 번호가 작은 쪽이 이긴다. 번호가 같으면 혼잡거리가 큰 쪽이 이긴다. 이 한 줄이 이진 토너먼트 선택의 비교 함수가 된다. 수렴을 1순위로, 다양성을 2순위로 둔 구조다. 비교 불능 쌍이 사라지므로 표준 유전 알고리즘 기계가 그대로 돌아간다.
4) 메인 루프. 존재 이유는 엘리티즘이다. 세대마다 부모 집단에서 토너먼트 선택, 교차, 변이로 같은 크기의 자식 집단을 만든다. 여기까지는 평범하다. 핵심은 다음 한 줄이다. 부모와 자식을 합쳐서 두 배 크기의 집단을 만든 뒤 그 전체를 비지배 정렬한다. 부모가 자동으로 탈락하지 않는다. 좋은 부모는 자식과 같은 무대에서 겨뤄 살아남는다. 엘리티즘이 별도 보관소 없이 구조적으로 보장된다. 그다음 제1전선부터 순서대로 다음 세대에 담는다. 담다가 넘치는 마지막 전선만 혼잡거리 내림차순으로 정렬해 남은 슬롯 수만큼 잘라 넣는다. 잘리는 것은 가장 붐비는 해들이다. 세대당 총비용은 목적 수 곱하기 개체군 제곱이고 비지배 정렬이 지배항이다.
5) 실수코딩 연산자. 설계변수가 연속값일 때 쓰는 교차와 변이다. SBX, 즉 simulated binary crossover는 Deb과 Agrawal이 1995년에 제안했다. 이진 코딩 한 점 교차의 통계적 성질을 실수값에서 흉내 내는 방식이다. 변이는 polynomial mutation이다. 2002년 논문의 실험 설정은 교차확률 0.9, 변이확률은 변수 개수의 역수다. 이진 코딩을 쓸 때는 변수당 30비트를 썼다. 제약문제 실험에서는 분포지수를 교차 20, 변이 100으로 명시했다. 분포지수는 자식이 부모에 얼마나 가깝게 생성되는지를 조절하는 값이다. 값이 크면 부모 근처에서 미세하게 탐색한다.
6) constrained-domination. 존재 이유는 페널티 계수 제거다. 제약이 있는 문제를 유전 알고리즘으로 풀 때 흔한 방법은 위반량에 계수를 곱해 목적함수에 더하는 것이다. 그 계수를 정할 근거가 없다는 것이 고질적 문제다. NSGA-II는 목적함수를 건드리지 않는다. 지배의 정의만 바꾼다. 해 i가 해 j를 제약지배한다는 것은 셋 중 하나다. 첫째, i는 실행가능하고 j는 실행불가능한 경우다. 둘째, 둘 다 실행불가능이지만 i의 총 제약위반량이 더 작은 경우다. 셋째, 둘 다 실행가능하고 i가 j를 통상적 의미로 지배하는 경우다. 목적값과 제약값을 한 번도 직접 비교하지 않는다. 그래서 가중치가 필요 없다. 복잡도도 변하지 않는다. 조경처럼 법정 기준과 예산 상한이 많은 분야에서 이 성질이 특히 쓸모 있다.
변형제약 처리형 NSGA-II, 2002년 동일 논문. 앞서 설명한 제약지배를 쓴다. 시험문제는 CONSTR, SRN, TNK 세 개의 2목적 제약문제와, 목적 5개에 제약 7개인 비선형 문제 WATER였다. 개체군 100, 500세대로 Ray, Tai, Seow의 기법과 비교했다. Fonseca와 Fleming 방식과의 차이는 실행불가능해에 순위를 매기는 방식에 있다.
R-NSGA-II. Deb과 Sundar, GECCO 2006, 시애틀, 7월 8일에서 12일, 635쪽에서 642쪽, IIT Kanpur 기계공학과다. 바꾸는 부품은 혼잡거리 하나다. 사용자가 목적공간에 기준점을 찍는다. 발주처가 이미 목표 성능을 알고 있을 때 쓰는 장치다. 각 기준점마다 전선 위 해들을 정규화 유클리드 거리 순으로 정렬해 순위를 매긴다. 여러 기준점에서 받은 순위 중 가장 작은 값을 그 해의 혼잡거리로 삼는다. 여기서는 값이 작을수록 선호된다. 여기에 엡실론 클리어링을 얹는다. 정규화 목적값 차이의 합이 엡실론 이하인 해들을 한 무리로 묶고 하나만 남기는 방식이다. 엡실론이 클수록 기준점 주변에서 얻는 해의 폭이 넓어진다. 논문은 0.0001, 0.001, 0.005, 0.01을 비교했다. 가중 유클리드 거리를 쓰면 특정 목적에 편향을 줄 수도 있다. 시험은 2목적부터 10목적까지 했다. 논문은 목적 수가 많아질 때 NSGA-II가 겪는 난점을 셋으로 적는다. 첫째, 목적이 네 개 이상이면 목적공간 시각화가 어렵다. 둘째, 개체군이 작으면 선택압이 부족하다. 셋째, 고차원 전선을 표현하려면 지수적으로 많은 점이 필요하다. 전선 전체를 찾지 말고 관심영역만 찾자는 전환이다.
NSGA-III. Deb과 Jain, IEEE TEC 18권 4호 577쪽에서 601쪽, 2014년, 1부는 상자제약 문제다. Jain과 Deb, 같은 호 602쪽에서 622쪽, 2부는 제약 처리와 적응형 확장이다. 혼잡거리를 아예 버린다. 대신 Das와 Dennis의 방식으로 초평면 위에 균등 배치한 기준방향 집합을 만들고, 각 개체를 가장 가까운 기준방향에 연관시켜 니칭한다. 목적 수가 3을 넘어도 분포가 붕괴하지 않는 것이 핵심 수정이다. U-NSGA-III는 Haitham Seada와 Kalyanmoy Deb의 "U-NSGA-III: A Unified Evolutionary Optimization Procedure for Single, Multiple, and Many Objectives: Proof-of-Principle Results"다. EMO 2015, LNCS 34쪽에서 49쪽, DOI 10.1007/978-3-319-15892-1_3이다. 학술지판은 Seada와 Deb, IEEE TEC 20권 3호 358쪽에서 369쪽, 2016년이다. 단일목적, 다목적, 다다목적을 하나의 절차로 통합한다.
이론적 진단. Weijie Zheng, Yufei Liu, Benjamin Doerr가 NSGA-II 최초의 수학적 실행시간 분석을 냈다. AAAI 2022, 36권 9호 10408쪽에서 10416쪽, DOI 10.1609/aaai.v36i9.21283이다. GECCO 2022에도 53쪽에서 54쪽 초록이 실렸다. 이어 Zheng과 Doerr는 IEEE TEC 2024년 논문과 GECCO 2024 Hot-off-the-Press 발표에서 더 강한 결과를 냈다. 목적 수가 3 이상인 OneMinMax 문제에서 모든 해가 파레토 최적임에도 NSGA-II가 큰 개체군으로도 전선 전체를 준지수시간 안에 덮지 못함을 증명했다. 원인은 혼잡거리가 목적별로 독립 계산된다는 점이다. 목적이 둘일 때는 한 목적 기준 정렬이 다른 목적의 역순 정렬과 같아서 문제가 드러나지 않는다. 셋부터 이 대칭이 깨진다. Zheng, Gao, Doerr의 truthful crowding distance는 arXiv 2407.17687, 2024년이다. 거리가 작다는 것이 실제로 목적벡터가 비슷한 해가 있다는 뜻이 되도록 정의를 고쳐, 목적 수와 무관하게 다항시간 결과를 얻는다. 실험 쪽 경고는 더 오래됐다. Kukkonen과 Deb은 2006년에 이미 3목적 시험문제에서 혼잡거리 기반 가지치기가 개선을 내지 못함을 보고했다.
구현 정본. pymoo다. Blank와 Deb, IEEE Access 8권 89497쪽에서 89509쪽, 2020년, MSU COIN Lab이다. 기본 구성은 FloatRandomSampling 초기화, SBX 교차, polynomial mutation 변이, RankAndCrowding 생존선택이다.
활용건축 공간계획, Project Discover. Autodesk의 토론토 MaRS 오피스 설계에 쓰인 생성설계 시스템이다. 논문은 Danil Nagy, Damon Lau, John Locke, Jim Stoddart, Lorenzo Villaggi, Ray Wang, Dale Zhao, David Benjamin의 SimAUD 2017 발표다. 저자 전원의 소속은 The Living, an Autodesk Studio, New York이다. 이 서지사항까지는 확인됐다. 그 안의 수치는 확인하지 못했다. 논문이 유료 접근이고 이번 조사에서 본문을 확보하지 못했다. 널리 인용되는 내용은 이렇다고 보고된다. 파라메트릭 모델이 15개 이웃 구역에 구역당 파라미터 3개, 합계 45개 연속변수라는 것. 목적이 6개라는 것. 인접 선호, 업무방식 선호, 활동 밀집도, 생산성, 채광, 외부 조망이다. 6개 중 채광만 기성 도구로 계산 가능해 나머지 다섯은 자체 해석도구를 만들었다는 것. 세대당 100안 곱하기 100세대로 총 1만 안을 평가했고 1안 평가에 약 1분이 걸렸다는 것. 특히 주의할 대목이 하나 있다. 이 논문은 탐색 알고리즘을 NSGA-II가 아니라 MOGA로 표기하고 Murata와 Ishibuchi를 인용한다고 전해진다. 이는 "Project Discover가 NSGA-II를 썼다"는 통설을 부정하는 주장이다. 원문 없이 어느 쪽으로도 단정하면 안 된다. 후속 상용 도구인 Autodesk Refinery와 Dynamo Generative Design이 NSGA-II를 쓴다는 서술은 업계에서 널리 반복되지만 이번 조사에서 공식 문서로 확인하지 못했다.
도시계획, 다목적 토지이용 배분. Mingjie Song과 Dongmei Chen, 두 저자 모두 Queen's University, Kingston, Ontario의 지리계획학과다. Geo-spatial Information Science 21권 4호 273쪽에서 287쪽, 2018년, DOI 10.1080/10095020.2018.1489576이다. 서지사항은 완전히 확인됐다. 초록에서 확인되는 사실은 두 가지다. 모의 계획 대상이 30 곱하기 30 격자라는 것. 그리고 지식기반 개선판의 해가 고전 NSGA-II의 해보다 흩어진 고립 토지단위가 적다는 것. 이 두 번째가 조경과 도시설계 실무에 가장 중요한 결과다. 알고리즘이 수치상 최적을 찾아도 도면으로 옮기면 쓸 수 없는 형상이 나온다는 뜻이기 때문이다. 흔히 함께 인용되는 나머지 수치는 본문을 확보하지 못해 확인하지 못했다. 중국 우한시 둥시후구 신안두진 9제곱킬로미터라는 대상지 식별, 농업적합도와 건설적합도와 보전적합도와 공간응집도라는 목적 4개, 개체군 100에 5000세대, Python 2.7과 Intel Core i7-3770에서 고전 NSGA-II 13시간 11분 대 개선판 약 9시간, 응집도 목적이 3500세대 이후 정체했다는 서술이 모두 여기 해당한다.
조경, 녹지 동선과 공간 배치. Jia Yu, Jiazhe Song, Huihui Lan은 Shenyang University, Yugui Zhang은 중국과학원 반도체연구소다. PLoS One 20권 7호 e0326374, 2025년이다. 대상지는 베이징 퉁저우구의 녹지 8개 필지다. 목적은 셋이다. 총 동선길이 최소화, 녹지 이용률 최대화, 미적 품질 최대화다. 설정은 개체군 100, 500세대, 교차확률 0.8, 변이확률 0.2다. 수렴 판정은 하이퍼볼륨 변화가 10의 마이너스 4제곱 미만인 상태가 50세대 연속될 때다. 결과는 이용률 90.2퍼센트로 유전 알고리즘 단독 85.3퍼센트, 입자군집최적화 88.5퍼센트를 웃돌았다. 동선은 140.3미터로 유전 알고리즘 150.2미터보다 짧았다. 미적 점수는 10점 만점에 9.2였다. 조경 대상지에 직접 적용한 사례로는 가장 최근 축이다.
미기후. Mousaeipour, Sanaieian, Faizi, Alafchi, Hosseini의 "Multi-objective optimization of urban block configuration to enhance outdoor thermal comfort: A case study of district 12, Tehran"이다. Results in Engineering 27권 106012, 2025년, DOI 10.1016/j.rineng.2025.106012이다. 생성한 1000개 시나리오에서 6개 최적해를 얻었고, 그중 해 2번이 오전 7시부터 오후 8시까지의 평균으로 평균복사온도 10.26도, 보편온열기후지수 3.48도, 생리등가온도 3.77도, 기온 0.49도를 낮췄다. 여기서 기준선이 중요하다. 이 감소폭은 현황이나 기준안 대비가 아니라 가장 나쁜 성능의 배치 대비다. 기준선을 빼고 인용하면 효과가 과장된다.
우수관리. SWMM 강우유출 모형과 NSGA-II를 결합해 저영향개발 시설 배치를 최적화하는 연구가 다수 보고된다. 공사비와 유출 저감을 동시에 다루므로 조경 실무와 직결되는 축이다. 다만 자주 인용되는 베이징 노후 주거단지 사례의 3목적 구성과 공사비 무릎점 수치, 선전시 스펀지시티 4목적 사례는 이번 조사에서 해당 논문을 특정하지 못했다. 특정 전에는 수치를 인용하지 않는 편이 맞다. 건물 에너지 리트로핏 쪽에서 널리 도는 이란 사리 주거건물 사례도 마찬가지다. 설계변수 25개에 에너지 52퍼센트 감소라는 수치는 출처를 확인하지 못했다.
한계1) 목적 4개 이상에서 선택압이 무너진다. 목적 수가 늘면 서로 비교 불능인 해의 비율이 급격히 커진다. 어느 시점부터는 개체군 전체가 제1전선이 된다. 그러면 사전식 기준의 1단계가 무의미해진다. 선택이 혼잡거리 하나로만 이루어진다. 그런데 혼잡거리는 다양성 척도이지 수렴 척도가 아니다. 결과적으로 탐색이 현재 전선을 따라 옆으로 표류할 뿐 앞으로 나아가지 않는다. 다목적 NK 지형에서 목적 수에 따라 파레토 최적 비율이 폭증한다는 수치가 여러 글에 돌지만 이번 조사에서 출처를 찾지 못했다. 현상 자체는 문헌에서 dominance resistance로 널리 다뤄진다.
2) 혼잡거리가 3목적부터 거짓말을 한다. 혼잡거리는 목적마다 독립으로 계산해 단순 합산한다. 그래서 거리가 크다는 것이 실제로 이웃이 없다는 뜻이 되지 않는다. 한 목적에서만 이웃이 멀어도 합계가 커질 수 있기 때문이다. Zheng과 Doerr의 2024년 IEEE TEC 결과가 이를 증명한다. 목적 수 3 이상인 OneMinMax에서는 모든 해가 파레토 최적인데도 NSGA-II가 개체군을 키워도 전선 전체를 준지수시간 안에 덮지 못한다. Kukkonen과 Deb의 2006년 실험 보고와 같은 방향이다. 실무 영향은 이렇다. 목적이 셋 이상이면 최종 전선의 고른 분포를 신뢰하면 안 된다. 눈으로 성긴 구간을 확인해야 한다.
3) 극단해가 슬롯을 영구 점유한다. 한 목적만 극단적으로 좋고 나머지는 형편없는 해가 있다고 하자. 이 해는 그 한 목적 때문에 영원히 지배당하지 않는다. 문헌에서 dominance-resistant solution이라 부른다. 게다가 NSGA-II는 각 목적의 경계해에 무한대 거리를 준다. 그래서 이런 해가 매 세대 무조건 살아남는다. 딜레마가 여기 있다. 강볼록 전선에서 진짜 경계해를 지키는 일과 무의미한 극단해를 제거하는 일이 같은 장치에 걸려 있다. 하나를 고치면 다른 하나가 무너진다.
4) 공간 설계에서 유전자형이 무너진다. 토지이용이나 배치처럼 격자 셀 단위로 인코딩하는 문제가 대표적이다. 표준 교차와 변이는 셀 값을 무작위로 섞는다. 결과는 계획적으로 무의미한 형상이다. 흩어진 고립 셀이 도면 전체에 박힌다. Song과 Chen의 2018년 연구에서 고전 NSGA-II가 실제로 그런 산출물을 냈고, 초록에 그 취지가 적혀 있다. 해법은 패치 단위 또는 경계 인식 연산자를 직접 짜는 것이다. 그러면 그 문제에만 맞는 코드가 되어 재사용이 안 된다.
5) 평가비용이 전체를 지배한다. NSGA-II 자체는 가볍다. 무거운 것은 목적함수 한 번이다. 평가 1회가 1분이고 1만 안을 본다면 직렬 실행으로 약 7일이다. 병렬화가 없으면 프로젝트 일정에 들어가지 않는다. 조경에서 흔한 ENVI-met 미기후 해석은 1회가 수 시간이다. 5000회에서 2만 회 평가가 원천적으로 불가능하다. 대리모델이 사실상 필수다. 그러면 대리모델의 오차가 새 불확실성으로 들어온다.
6) 전선을 주지만 결정을 주지 않는다. 원 논문에는 설계자 선호를 반영하는 장치가 없다. 목적 6개에 해 100개를 받으면 설계자는 여전히 100개를 놓고 고민한다. 오히려 고민할 대상이 늘어난다. Project Discover가 별도 시각화와 데이터분석 도구를 만들어야 했던 이유로 알려져 있다. 전선 산출은 작업의 끝이 아니라 중간이다.
7) 목적공간 다양성과 설계안 다양성은 다르다. 혼잡거리는 목적공간에서 계산된다. 그래서 성능 수치는 넓게 흩어져 있으나 도면상으로는 거의 같은 안들이 전선을 채울 수 있다. 반대도 성립한다. 평면이 전혀 다른 두 안이 성능 수치가 비슷하다는 이유로 하나만 남을 수 있다. 심의용 대안 스펙트럼을 만들 때 치명적이다. 대응은 설계변수 공간에서도 거리를 재거나 최종 전선을 형태 기준으로 군집화하는 것이다.
8) 이산 변수와 위상 변수에 기본 연산자가 맞지 않는다. SBX와 polynomial mutation은 연속 실수를 전제한다. 수종 선택 같은 범주형 변수, 동선 네트워크의 연결관계 같은 그래프형 변수에는 그대로 쓸 수 없다. 억지로 실수로 인코딩하고 반올림하면 탐색 지형이 계단처럼 끊겨 성능이 떨어진다. 전용 연산자를 따로 붙여야 한다.
9) 재현성. 확률 알고리즘이므로 난수 시드마다 결과가 다르다. Deb 자신도 2002년 논문에서 10회 반복의 평균과 분산을 보고했다. 단일 실행의 전선 하나를 설계 근거로 제출하는 것은 증거가 아니다. 시드를 바꿔 반복하고 편차를 함께 제시해야 한다.
공원에서잘 맞는 구간. 목적이 2개에서 3개이고 설계변수가 연속형 10개에서 40개인 소공원 문제다. 예를 들어 포장률과 공사비와 하계 그늘면적을 동시에 다루는 경우다. 또는 동선 총연장과 접근성과 수목 캐노피 피복률을 다루는 경우다. 설계변수는 연속값으로 잡는다. 보행로 폭, 광장 반경, 수목 군식의 중심 좌표와 밀도, 마운딩 높이 같은 것이다. 이 정도 규모에서는 앞서 말한 목적 수 문제와 혼잡거리 문제가 아직 나타나지 않는다. 2목적에서는 혼잡거리의 이론적 결함도 발생하지 않는다.
제약이 특히 잘 들어간다. 조경 실무의 요구는 대부분 기준 준수 형태다. 최소 통행폭 1.5미터, 최대 종단경사 5퍼센트, 공사비 상한, 법정 조경면적 확보 같은 것이다. 이런 조건은 페널티 계수 없이 제약지배로 그대로 들어간다. 가중치를 얼마로 둘지 고민할 필요가 없다. 초기 개체군이 전부 실행불가능해도 위반량이 작은 쪽을 우대하며 실행가능 영역으로 밀고 간다. 기준 준수가 많은 문제일수록 이 성질의 값이 커진다.
극단 대안이 저절로 남는다. 혼잡거리가 경계해에 무한대를 주기 때문이다. 최저가안과 최대녹지안 같은 양 끝 대안이 자동으로 살아남는다. 심의에 올릴 스펙트럼을 만들기에 편하다. 발주처는 대개 중간안 하나가 아니라 선택지의 폭을 보고 싶어 한다.
못 하는 것. 네 가지다. 첫째, 목적 4개 이상이다. 미기후와 우수와 생물다양성과 경관과 예산과 유지관리를 한꺼번에 걸면 선택압이 무너진다. 목적을 3개로 접거나 NSGA-III 또는 R-NSGA-II로 가야 한다. 접는 방법은 둘이다. 일부 목적을 제약으로 바꾸거나, 성격이 비슷한 목적을 하나의 지표로 합치는 것이다. 둘째, 동선 네트워크의 위상과 수종 팔레트 같은 이산 변수와 그래프 변수다. 전용 연산자 없이는 의미 없는 자손이 대량 발생한다. 셋째, ENVI-met급 고비용 시뮬레이션을 목적함수에 직결하는 것이다. 평가 예산이 성립하지 않는다. 넷째, 미적 판단과 최종 결정 그 자체다. 앞서 본 조경 사례가 미적 품질을 점수로 넣었지만 그 점수는 사람이 매긴 값을 모형화한 것이다. 알고리즘이 미를 판단한 것이 아니다.
구현1단계, 모델을 먼저 다듬는다. 파라메트릭 모델을 연속 변수 15개에서 30개로 제한한다. 그리고 결정론적으로 만든다. 모델 내부에 난수가 있으면 같은 유전자에 다른 성능이 나온다. 그러면 선택이 잡음을 학습한다. 이 점검을 먼저 하지 않으면 뒤의 모든 결과가 무의미하다.
2단계, 평가 1회 시간을 잰다. 이 숫자가 경로를 가른다. 10초를 넘으면 곧장 대리모델 경로로 간다. 실제 시뮬레이션을 수백 회 돌려 학습데이터를 만들고 XGBoost나 가우시안 프로세스로 근사한다. NSGA-II는 대리모델 위에서 돌린다. 그리고 파레토 상위 수십 개만 실제 시뮬레이션으로 재검증한다. 재검증에서 순위가 뒤집히면 그 결과를 학습데이터에 추가해 다시 돌린다.
3단계, 예산을 정한다. 개체군 50에서 100, 세대 100에서 200이 소공원 규모의 현실적 출발점이다. 총 평가 횟수로는 5000회에서 2만 회다. 세대 수를 늘리기 전에 개체군을 먼저 점검한다. 개체군이 너무 작으면 선택압 부족으로 전선이 좁아진다.
4단계, 도구를 고른다.- pymoo. 코드 기반이면 이것이 정본이다. Blank와 Deb, IEEE Access 8권, 2020년, MSU COIN Lab이다.
NSGA2 클래스의 기본값은 pop_size=100, FloatRandomSampling, SBX 교차로 분포지수 15에 확률 0.9, polynomial mutation으로 분포지수 20, RankAndCrowding 생존선택이다. 한 가지 흔한 오해를 짚어 둔다. pymoo의 짝짓기 선택 기본값은 tournament_type='comp_by_dom_and_crowding'이다. 즉 이진 토너먼트가 두 해를 먼저 파레토 지배 관계로 비교하고, 판정이 안 되면 혼잡거리로 넘어간다. 원 논문식인 전선 순위 먼저 비교하는 방식은 'comp_by_rank_and_crowding'이고 기본값이 아니다. 논문 재현을 목표로 한다면 이 값을 명시적으로 바꿔야 한다. - Wallacei X. Grasshopper 안에서 작업한다면 이것이다. NSGA-II에 k-means 군집 기반 해집합 분석을 얹었다. Mohammed Makki, Milad Showkatbakhsh, Yutao Song이 개발했다. 전선을 형태 기준으로 묶어 보는 기능이 심의용 대안 추리기에 직접 쓰인다.
- Octopus. NSGA-II가 필요하면 선택지가 아니다. Robert Vierlinger가 만들었고 University of Applied Arts Vienna와 Bollinger+Grohmann Engineers의 공동 개발이다. karamba3d의 Christoph Zimmel이 참여했다. 알고리즘 기반은 ETH Zurich의 SPEA-2와 HypE이고 인터페이스는 David Rutten의 Galapagos를 바탕으로 한다. 좋은 도구지만 NSGA-II 구현체가 아니다.
- Autodesk Refinery와 Dynamo Generative Design. NSGA-II를 쓴다는 서술이 널리 반복되지만 이번 조사에서 공식 문서로 확인하지 못했다. 사용한다면 실제 설정 화면의 알고리즘 표기를 직접 확인하는 편이 좋다.
5단계, 선호가 있으면 전선 전체를 찾지 않는다. 발주처가 이미 목표치를 갖고 있는 경우다. 캐노피 피복률 40퍼센트 이상, 공사비 얼마 이하 같은 식이다. 그러면 R-NSGA-II의 기준점과 엡실론 클리어링으로 그 근방만 조밀하게 뽑는다. 같은 평가 예산으로 쓸모 있는 구간의 해상도가 올라간다.
6단계, 전선을 대표안으로 줄인다. k-means 등으로 5개에서 8개 군집을 만들고 각 군집 대표를 심의에 올린다. 이때 군집을 목적공간만이 아니라 설계변수 공간에서도 한 번 돌려 본다. 도면상 서로 다른 안이 실제로 뽑히는지 확인하기 위해서다.
7단계, 반복하고 분산을 보고한다. 서로 다른 난수 시드로 최소 3회 돌린다. 하이퍼볼륨 같은 지표의 평균과 편차를 함께 적는다. Deb의 원 논문도 10회 반복의 평균과 분산을 보고했다. 단일 실행 결과만 제출하는 보고서는 검증을 통과하지 못한다.
↑ 목차
2 · NSGA-III
Kalyanmoy Deb, Himanshu Jain (2014) · IEEE TEC 18(4) 577–601, Part I
Himanshu Jain, Kalyanmoy Deb (2014) · 같은 호 602–622, Part II
배경다목적 최적화의 오랜 기준선은 NSGA-II다. 2002년 Deb, Pratap, Agarwal, Meyarivan이 IEEE Transactions on Evolutionary Computation 6권 2호 182쪽에 발표했다. 목적이 두세 개일 때는 잘 작동한다. 네 개를 넘어가면 무너진다.
무너지는 자리는 명확하다. 무작위로 뽑은 개체군에서 서로 우열을 가릴 수 없는 점의 비율은 목적 수가 늘수록 지수적으로 커진다. 목적이 많아지면 거의 모든 개체가 1번 전선에 들어간다. 파레토 순위가 변별력을 잃는다. 엘리트 선택이 고를 것이 없어진다. 그러면 NSGA-II는 혼잡거리라는 보조 지표로 순위를 매긴다. 혼잡거리는 이웃 해와 얼마나 떨어져 있는지를 재는 값이다. 고차원에서는 이 값이 비싸기만 하고 뜻이 없다. 고르게 퍼진 해가 아니라 외톨이로 튀어나간 해에 높은 점수를 준다. 분포를 지키라고 넣은 장치가 분포를 망가뜨린다.
Deb과 Jain의 진단은 한 문장으로 요약된다. 수렴 압력은 여전히 작동한다. 실패하는 것은 다양성 유지다. 그렇다면 다양성을 개체군에서 추정하지 말고 바깥에서 고정된 발판으로 공급하자는 것이 NSGA-III의 출발점이다.
최초 공개는 IIT 칸푸르의 기술보고서 두 편이다. 2012년 보고서 2012009와 2012010이다. 저자들 자신의 인용에서는 두 편 모두 저자 순서가 Deb, Jain이다. Jain을 앞세운 순서는 뒤에 나온 학술지판 2부에만 해당한다. 발행 월은 확인되지 않는다. 여러 이차 자료가 6월로 적지만 1차 인용에는 연도만 있다. 발행 주체를 칸푸르 유전알고리즘연구실로 적는 관행도 보고서 번호 체계상 유력할 뿐 1차 자료로 확인되지는 않는다. 1부 보고서의 제목은 저자 인용 기준으로 상자 제약 문제를 다룬다는 부제를 달고 있다.
학술지판은 같은 호에 나란히 실렸다. Deb과 Jain의 1부가 IEEE TEVC 18권 4호 577쪽부터 601쪽, Jain과 Deb의 2부가 602쪽부터 622쪽, 2014년 8월이다. 온라인 선공개는 2013년 9월로 기록된다. 발표 시점에 Deb은 미시간주립대 전기컴퓨터공학과 Koenig 석좌교수였고 알토대와 셰브데대에 방문 직위를 두고 있었다. Jain은 2012년 IIT 칸푸르에서 기계공학 학석사 통합과정을 마쳤고 2009년부터 연구실에 있었으며 발표 시점에는 푸네의 Eaton에서 일하고 있었다. 인용 수는 2026년 9월 26일 OpenAlex 기준 1부 7,163회, 2부 2,183회다.
계보는 세 갈래다. 첫째, NSGA-II의 엘리트 세대 골격을 그대로 가져왔다. 둘째, Das와 Dennis가 1998년 SIAM Journal on Optimization 8권 3호 631쪽에 낸 법선경계교차법의 단체 격자를 점 생성기로만 빌려 왔다. 셋째, 2007년 Zhang과 Li의 MOEA/D는 1부 전체에서 비교 대상으로 쓰인다. 결과물은 혼종이다. 수렴은 지배 관계가 맡고 다양성은 분해법식 참조 방향이 맡는다.
원리NSGA-III는 NSGA-II의 세대 골격을 거의 그대로 둔다. 바꾼 부품은 딱 하나, 혼잡거리다. 그 자리에 참조점 기반 니칭이 들어간다. 아래는 1부 알고리즘 1의 한 세대를 부품별로 푼 것이다. 각 부품이 왜 거기 있는지가 핵심이다.
1. 단체 위의 참조점. 실행 전에 목적값 좌표계의 기울어진 평면 위에 점들을 깐다. 모든 목적값의 합이 1이 되는 평면이다. 깔개는 Das와 Dennis의 격자다. 각 축을 p등분하고 그 교점을 모두 취한다. 목적이 3개이고 p가 4면 15개, p가 12면 91개가 나온다. 이 점들은 기본 알고리즘에서 한 번 놓이면 움직이지 않는다. 이유가 설계 철학 그 자체다. 고차원에서는 해들이 고르게 퍼졌는지를 믿을 만하게 측정할 수 없다. 그래서 측정하지 않고 처방한다. 참조점 하나는 빈 좌석 하나다. 최종적으로 각 좌석에 해가 하나씩 앉는 것이 목표다. 개체군 크기는 참조점 수보다 큰 최소의 4의 배수로 잡는다. 목적이 3, 5, 8, 10, 15개일 때 각각 92, 212, 156, 276, 136이 쓰였다.
2. 재조합과 병합. 현 세대에 모의이진교차와 다항식 변이를 걸어 자식 세대를 만든다. 부모와 자식을 합쳐 두 배 크기 집단을 만든다. 눈에 띄는 점은 토너먼트 선택이 없다는 것이다. 부모를 그냥 무작위로 뽑는다. 개체군 크기가 참조점 수와 거의 같으니 살아남은 개체는 이미 각자 자기 니치의 유일한 대표다. 여기에 선택 압력을 더 걸면 중복이다. 파라미터는 교차 확률 1, 교차 분포지수 30, 변이 확률은 변수 개수의 역수, 변이 분포지수 20이다. 교차 분포지수 30은 일부러 크게 잡은 값이다. 값이 클수록 자식이 부모 가까이에서 태어난다. 목적이 많은 공간에서는 멀리 떨어진 부모끼리 섞으면 쓸모없는 자식이 나오기 때문이다.
3. 비지배 정렬. 합친 집단을 전선 단위로 나눈다. 앞 전선부터 통째로 받아들이다가 정원을 넘기는 전선에서 멈춘다. 이 마지막 전선이 분할 전선이다. 남은 자리 수만큼만 이 전선에서 골라야 한다. 아래 세 부품은 오로지 이 동점 처리만을 위한 것이다. 수렴 자체는 이미 지배 관계가 처리했다.
4. 적응적 정규화. 먼저 축마다 최솟값을 모아 이상점을 만들고 모든 목적값을 그만큼 평행이동한다. 다음으로 축마다 극점을 찾는다. 극점은 성취 스칼라화 함수를 최소로 만드는 해다. 해당 축의 가중치는 1로, 나머지 축은 백만분의 1로 두고 목적값을 가중치로 나눈 값들 중 최댓값을 최소화한다. 이렇게 찾은 목적 수만큼의 극점이 초평면 하나를 정한다. 그 초평면이 각 축을 자르는 지점을 축별 기준 길이로 삼아 목적값을 0과 1 사이로 눕힌다. 이 부품이 있는 이유는 단순하다. 그램과 밀리미터와 원은 숫자 크기가 다르다. 매 세대 다시 재지 않으면 큰 숫자를 쓰는 목적이 거리 계산을 독점한다. 1부가 목적마다 배율을 곱한 변형 시험 문제를 풀 수 있는 것도 이 장치 덕이다. 다만 그 문제 서술에는 자기모순이 있다. 본문은 i번째 목적에 10의 i제곱을 곱한다고 적었는데 같은 논문의 예시는 첫째, 둘째, 셋째 목적에 각각 1, 10, 100을 곱한다. 구현할 때는 예시 쪽을 따르는 편이 안전하다. 극점을 단순 최댓값이 아니라 성취 스칼라화 함수로 찾는 이유는 그 쪽이 파레토 정합적이고 이상치에 덜 오염되기 때문이다. 이상점의 정의에도 같은 종류의 어긋남이 있다. 본문은 0세대부터 지금까지 본 모든 개체의 축별 최솟값이라고 하고, 알고리즘 2의 둘째 줄은 현재 집단만 쓴다. 이 점이 결과를 가른다면 어느 쪽을 썼는지 명시해야 한다.
5. 결합. 원점에서 각 참조점을 지나는 반직선을 긋는다. 이것이 참조선이다. 살아남은 후보 각각에 대해 모든 참조선까지의 수직거리를 재고 가장 가까운 선에 배정한다. 수직거리를 쓰는 이유는 두 가지 질문을 분리하기 위해서다. 어느 선에 붙느냐는 이 해가 어떤 절충 방향인가를 답한다. 그 선까지의 거리는 얼마나 수렴했는가를 답한다. 두 질문이 한 숫자에 섞이지 않는다.
6. 니칭. 참조점마다 이미 확정된 앞 전선 개체가 몇 개 붙었는지를 센다. 그리고 남은 자리 수만큼 다음을 반복한다. 붙은 개체가 가장 적은 참조점을 하나 고른다. 동률이면 무작위로 정한다. 고른 참조점에 붙은 개체가 아직 하나도 없으면 분할 전선에서 그 선에 배정된 후보 중 수직거리가 가장 작은 것을 뽑는다. 빈 좌석을 처음 채울 때는 가장 잘 수렴한 해로 채운다는 뜻이다. 반대로 이미 하나 이상 붙어 있으면 무작위로 뽑는다. 대표가 이미 있는 니치를 더 파고들 이유가 없기 때문이다. 배정된 후보가 아예 없으면 그 참조점은 이번 세대에 한해 목록에서 뺀다. 좌석 배분의 우선순위, 빈 좌석의 수렴 우대, 찬 좌석의 무작위 처리, 이 세 규칙이 다양성 유지의 전부다.
비용. 한 세대당 최악 비용은 개체 수 제곱에 목적 수 또는 로그 항이 곱해지는 수준이다. 결합 단계만 떼면 목적 수 곱하기 개체 수 곱하기 참조점 수다. 개체 수와 참조점 수가 거의 같게 잡히므로 실질적으로 개체 수 제곱에 목적 수를 곱한 비용이다. 목적이 많아질수록 평가 횟수보다 이 내부 계산이 먼저 아파지는 구간이 존재한다.
변형- 제약 NSGA-III. Jain과 Deb의 2부, 2014년. Deb의 제약 지배 규칙을 넣는다. 실현가능한 해가 불가능한 해를 이긴다. 둘 다 불가능하면 위반량이 작은 쪽이 이긴다. 둘 다 가능하면 보통의 지배 관계로 판정한다. 여기서 토너먼트 선택이 되살아난다. 1부에서 개체군 크기를 4의 배수로 잡으라고 한 이유가 이 지점에서 밝혀진다. 2부는 확장 가능한 제약 시험 문제 세 계열도 내놓았다. 1형은 원래 파레토 전선 앞에 불가능 장벽을 세운 것이다. 2형은 전선 일부를 불가능하게 만든 것이다. 3형은 초구로 실현 영역을 깎아낸 것이다.
- A-NSGA-III. 2부 7절. 참조점을 적응적으로 움직인다. 선택 후 어떤 참조점에 개체가 둘 이상 붙으면 그 주변에 작은 단체를 하나 끼워 넣는다. 첫 사분공간 밖으로 나가거나 기존 점과 겹치는 후보는 버린다. 나중에 아무도 붙지 않은 추가 점은 지운다. 원래 점은 절대 지우지 않는다. 효과는 숫자로 남아 있다. 차량 측면충돌 문제에서 기본 NSGA-III는 156개 참조점 중 95개만 실현가능한 절충해를 얻었고, A-NSGA-III는 156개 전부에서 얻었다. 충돌안전성 문제에서는 91개 참조점 중 40개만 해를 얻던 것이 83개 고유해로 늘었다. 계산량은 같고 새 사용자 파라미터도 없다.
- U-NSGA-III. Seada와 Deb, EMO 2015 및 IEEE TEVC 20권 3호 358쪽, 2016년. 니칭 기반 토너먼트를 복원해 하나의 코드가 목적 1개면 보통 실수 유전알고리즘처럼, 2개면 NSGA-II처럼, 여러 개면 NSGA-III처럼 동작하게 만든다. 목적 수를 바꿔 가며 같은 모델을 돌릴 때 유용하다.
- θ-DEA. Yuan, Xu, Wang, Yao, IEEE TEVC 20권 1호 16쪽, 2016년. 틀은 NSGA-III 그대로 두고 환경 선택에서 지배 관계 대신 θ 지배를 쓴다. 참조선 군집 안에서 벌점 경계 교차 방식의 스칼라 점수로 줄을 세운다. 수렴이 더 날카로워지고 다양성 기구는 그대로다. 이 연구팀의 자바 배포본에 NSGA-III 구현이 들어 있어 사실상의 참조 코드처럼 쓰이기도 했다고 보고된다.
- R-NSGA-III. Vesikar, Deb, Blank, IEEE SSCI 2018. 사용자가 여러 개의 희망 지점을 동시에 줄 수 있다. 각 희망 지점 주변에 국소 참조 집합을 만든다.
- 정규화 보수. Blank, Deb, Roy, EMO 2019, 229쪽. 원 논문 정규화의 퇴화 사례를 정리하고 대체 절차를 제시한다. 미시간주립대 COIN 보고서 2018009로도 나와 있다.
- 이웃 계보. RVEA는 Cheng, Jin, Olhofer, Sendhoff, IEEE TEVC 20권 5호 773쪽, 2016년. 참조 벡터를 목적 스케일에 맞춰 조정하고 각도 벌점 거리를 쓴다. MOEA/DD는 Li, Deb, Zhang, Kwong, IEEE TEVC 19권 5호 694쪽, 2015년. 지배와 분해를 한 틀에 섞는다.
- 구현과 이론. pymoo는 Blank와 Deb, IEEE Access 8권 89497쪽, 2020년. NSGA3, UNSGA3, RNSGA3와 Das 격자 생성기를 함께 제공한다. jMetal에도 NSGA-III가 있다. TensorNSGA-III는 Li, Liang, Cheng, IEEE CEC 2025. 선택 규칙은 동일하게 두고 GPU에서 최대 3,629배 빨랐다고 보고한다. 이론은 늦게 왔다. Wietheger와 Doerr가 IJCAI 2023에서 3목적 문제에 대한 첫 실행시간 분석을 냈다. Deng, Zheng, Doerr는 IJCAI 2025에서 첫 근사 보장을 제시하고 참조점 수를 개체군 크기와 같게 두는 것이 최선이라고 결론지었다.
활용원 논문의 공학 검증. 1부의 차량 충돌안전성 문제는 목적 3개다. 질량, 정면충돌 감속도, 옵셋 정면충돌 시 발판 침입량이다. 설계변수는 전방 보강 부재 5개의 두께다. 각 축을 16등분해 참조점 153개, 개체군 156, 200세대로 돌렸다. 결과는 참조점 153개 중 60개만 해를 얻었다. 검증은 고전적 방법으로 했다. 축을 120등분해 참조점 7,381개를 만들고 각각에 대해 성취 스칼라화 함수를 MATLAB의 fmincon으로 최소화해 비지배점 4,450개를 얻었다. NSGA-III 해에서 가장 가까운 고전해까지의 평균 거리는 최소 0.0019, 중앙값 0.0022, 최대 0.0026이었다.
같은 논문의 차량 캡 설계는 목적이 9개다. 실내 여유 치수들, 연비, 가속 시간, 여러 속도에서의 실내 소음이다. 변수는 11개다. 여기서 Deb과 Jain은 참조점을 격자로 깔지 않았다. 초평면 중심에서 25퍼센트 이내로 오므린 10개만 주고, 정규화용으로 축 극점 9개를 덧붙였다. 개체군 100, 4,000세대, 20회 반복이다. 비교 기준은 fmincon 20,000회 실행으로 얻은 비지배점 11,280개다. 세대 거리 지표는 최선 0.0245, 중앙값 0.0408, 최악 0.0566이었다. 10개 해 중 9개가 고전해 집합의 윤곽 안쪽에 들어왔다. 목적이 9개여도 결과를 10개로 끊어낼 수 있다는 점이 실무에서 중요하다.
제약 문제. 2부의 차량 측면충돌은 목적 3개, 변수 11개, 제약 10개다. 축 16등분, 개체군 156, 500세대다. 156개 참조점 중 95개가 고유한 해를 얻었다. 수렴 지표는 9.80×10⁻⁴, 1.10×10⁻³, 1.30×10⁻³이고 비교군은 fmincon 6,216점이다. 수자원 문제는 목적 5개, 변수 3개, 제약 7개다. 축 6등분으로 참조점 210개, 개체군 212, 1,000세대에서 210개 슬롯을 모두 채웠다. 비교군은 4,845점 중 실현가능한 4,503점이다. 나디르점 추정에서는 목적 3개부터 20개까지 축 참조점만 써서 풀었다. 20목적 DTLZ2에서 중앙값 589,520회 평가로 끝났고, 기존 NSGA-II 기반 이중수준 방법은 1,415,000회였다.
건축 설계. Razmi, Rahbar, Bemanian의 기숙사 건물 최적화 연구가 Applied Energy 305권 117828번, 2022년 1월에 실렸다. 주성분분석과 인공신경망 대리모델을 앞에 세우고 NSGA-III를 돌렸다. 최적 대안은 기준 모델 대비 연간 에너지 효율 41.27퍼센트, 연간 주광 성능 42.24퍼센트, 무공조 상태의 열쾌적 15.57퍼센트 개선을 보고했다. 시뮬레이션을 대리모델로 대체했기 때문에 수만 번 평가를 감당할 수 있었다. 인용은 2026년 9월 26일 기준 Semantic Scholar 138회, OpenAlex 155회다.
도시계획과 토지이용. Maleki, Masoumi, Hakimpour, Coello Coello는 하이퍼큐브 기반 NSGA-III로 다목적 토지이용 배분을 풀었다. Transactions in GIS 26권 2호 609쪽, 2022년이다. 목적은 5개다. 정합성, 의존성, 조밀성, 적합성, 1인당 기준 위반량이다. 대상지는 테헤란 1구역 7지구의 벡터 필지 자료이고 다른 두 자료로 추가 검증했다. 수렴과 다양성 모두에서 NSGA-II와 기본 NSGA-III보다 나았다고 보고한다. Sicuaio, Zhao, Pilesjö, Shindyapin, Mansourian은 ISPRS International Journal of Geo-Information 13권 3호 99번, 2024년 3월 18일에 변형 NSGA-III를 실었다. 교차와 변이가 토지이용별 면적 총량을 보존하도록 연산자를 고쳤다. 대상지는 모잠비크 마푸투의 KaMavota 구이고 목적은 경제, 탄소배출, 접근성, 통합도, 조밀성 5개다.
다른 분야. Moctezuma와 Molinas는 Frontiers in Neuroscience 14권 593번, 2020년에서 뇌파 채널 선택에 NSGA-II와 NSGA-III를 썼다. CHB-MIT 공개자료 환자 24명이 대상이다. 19번 환자에서 NSGA-III가 고른 채널 2개만으로 정확도 0.975가 나왔고 전 채널을 쓴 경우는 0.95였다.
한계1. 개체군 크기를 원하는 대로 못 고른다. 참조점 수는 격자 조합 수라서 눈금이 듬성듬성하다. 목적이 8개면 축 2등분에서 36개, 3등분에서 120개, 4등분에서 330개로 건너뛴다. 중간값이 없다. 게다가 등분 수가 목적 수보다 작으면 내부 점이 하나도 생기지 않고 경계에만 점이 깔린다. 논문 본문에도 산술 오류가 남아 있다. 목적 8개를 8등분하면 5,040개가 필요하다고 적었지만 실제 조합 수는 6,435개다. 오타이지만 눈금이 거칠다는 논지는 그대로다. 저자들의 우회책은 두 겹 단체다. 바깥 겹과 안쪽 겹을 따로 깔아 합친다. 목적 8개는 156개, 10개는 220 더하기 55로 275개, 15개는 120 더하기 15로 135개를 만들었다.
2. 참조 격자는 삼각형 모양 전선을 가정한다. 실제 파레토 전선이 뒤집힌 삼각형이거나, 축 하나로 퇴화했거나, 조각나 있거나, 구멍이 뚫려 있으면 많은 참조선이 전선과 만나지 못한다. 그 좌석은 끝까지 빈다. 저자들 자신의 결과가 그렇다. 충돌안전성 문제에서 153개 중 93개가 빈 채 끝났고 측면충돌에서는 58개가 비었다. Ishibuchi, Setoguchi, Masuda, Nojima는 IEEE TEVC 21권 2호 169쪽, 2017년에서 표준 시험 문제를 조금만 바꿔도, 예컨대 최대화 형태로 뒤집기만 해도 MOEA/D, NSGA-III, MOEA/DD, θ-DEA가 함께 크게 나빠진다고 보고했다. 이 알고리즘들이 표준 벤치마크에 과적응했을 가능성을 경고한다.
3. 정규화가 가장 약한 고리다. Blank, Deb, Roy의 EMO 2019 논문이 두 가지 퇴화를 구체적으로 보여 준다. 하나는 음수 절편이다. 극점이 (1.0, 0.2, 0.0), (0.4, 0.1, 0.4), (0.1, 0.0, 1.0)일 때 초평면 절편은 (−1.4, 0.1167, 0.933)이 된다. 첫 값은 길이로 쓸 수 없다. 다른 하나는 특이행렬이다. 성취 스칼라화 함수가 서로 다른 두 축의 극점으로 같은 해를 고르는 경우가 생긴다. 예로 (0.8, 0.5, 0.5)가 첫째 축과 둘째 축에서 모두 이긴다. 그러면 초평면이 유일하게 정해지지 않고 역행렬 계산에서 예외가 난다. 이들의 처방은 현재 비지배 전선의 최악점으로 물러서는 대체 경로와 명시적인 부동소수점 허용오차 처리다. 조경 지표처럼 목적끼리 단위가 겹치거나 상관이 높을 때 이 문제가 더 잘 터진다.
4. 저자 공식 구현이 없다. Ishibuchi 등은 CEC 2016 논문 3045쪽에서 NSGA-III 소스가 저자로부터 제공되지 않는다고 명시했다. 그래서 연구마다 다른 코드를 쓴다. 이들은 jMetal 5.0판과 θ-DEA 배포본에 포함된 구현에서 완전히 다른 결과를 얻었고, 원인을 학술지판과 선공개판 사이의 정규화 식 차이로 추적했다. 논문에서 읽은 성능 수치는 구현에 따라 달라질 수 있다고 보는 편이 안전하다.
5. NSGA-II보다 항상 낫지는 않다. 같은 CEC 2016 연구에서 목적 8개와 10개 배낭 문제는 NSGA-II가 더 나았다. 최대화형 DTLZ 변형에서는 승자가 갈리지 않았다. 목적 수보다 문제의 성격이 결과를 더 갈랐다.
6. 비용. 한 세대 비용은 개체 수 제곱에 목적 수나 로그 항이 붙는다. 저자들의 15목적 DTLZ1 실행은 개체 136에 1,500세대이므로 평가 약 204,000회다. 한 번 평가에 전산유체나 주광 시뮬레이션이 30초씩 걸리면 1,700 CPU 시간이다. 목적이 많은 실무 문제에서 이 산수를 먼저 해 보지 않으면 계획이 무너진다.
공원에서적합한 구간. 소공원 설계 과제에 서로 충돌하는 정량 지표가 네 개 이상 실제로 들어 있을 때가 이 방법의 자리다. 여름철 체감온도나 그늘 시간, 우수 저류량, 공사비, 수관 면적이나 생물다양성 지표, 보행 접근성, 유지관리 부담, 프로그램 면적 같은 것들이다. 이 구간이 바로 NSGA-II의 혼잡거리가 망가지는 구간이기도 하다. 반대로 목적이 세 개 이하면 NSGA-III를 쓸 이유가 없다. NSGA-II로 충분하고, 그라스하퍼 계열 도구가 이미 그 쪽을 제공한다. Wallacei는 NSGA-II 기반이다. Octopus는 SPEA-2와 HypE를 쓴다. Galapagos는 단일 목적 탐색기로 알려져 있다. 다만 이 설명은 Octopus 공식 소개문이 자신을 Galapagos와 비슷하게 쓰되 다목적을 위해 파레토 원리를 도입했다고 적은 데서 간접적으로 확인될 뿐이다. Galapagos에는 진화 탐색기와 담금질 탐색기 두 가지가 들어 있다는 점도 함께 알아 둘 만하다.
잘하는 일. 결과가 구름이 아니라 고르게 벌어진 고정 개수의 메뉴로 나온다는 점이다. 참조 방향 하나에 설계안 하나가 대응한다. 발주처나 심의 위원 앞에 서로 비교 가능한 대안을 정해진 개수로 올려놓는 작업과 구조가 같다. 덜 알려진 쪽이 더 쓸모 있다. 선호 기반 모드다. Deb과 Jain은 9목적 문제에서 참조점을 초평면 중심 근처 25퍼센트 안쪽에 10개만 두고 쓸 만한 절충안 10개를 얻었다. 정규화용 축 점은 별도로 더했다. 공원에서도 같은 방식을 쓸 수 있다. 과업지시서가 요구하는 우선순위 영역을 희망 지점으로 적어 두면 200개짜리 무차별 목록 대신 10개에서 20개 사이의 조준된 안을 받는다. 검토 회의에 올릴 수 있는 분량이다.
못하는 일. 첫째, 경관의 미적 질과 체험의 질은 정직하게 수치화되지 않는다. 억지로 목적 벡터에 넣지 말고 바깥에 두는 편이 낫다. 최적화는 정량 지표로 후보를 좁히는 데까지만 쓰고 마지막 선택은 사람이 한다. 둘째, 위상에 관한 결정은 이 연산자로 다루기 어렵다. 동선 그래프의 연결 관계나 수종 배정은 정수형과 순열형 연산자가 필요하다. 모의이진교차는 연속 변수를 위한 도구다. 셋째, 공원의 파레토 전선은 대개 매끈한 삼각형이 아니다. 조각나고 찌그러진다. 참조선 상당수가 빈 채 끝날 것을 예산에 넣어야 한다. 이 경우 A-NSGA-III나 RVEA로 갈아탈 준비를 해 둔다. 넷째, 목적끼리 단위가 겹치거나 상관이 높을 때 정규화 퇴화가 잘 일어난다. 그늘 시간과 수관 면적처럼 조경 지표에서 흔한 조합이다. 목적을 고를 때 서로 독립적인지를 먼저 점검하는 것이 좋다.
구현파이프라인. 라이노와 그라스하퍼에서 파라메트릭 모델을 만든다. 성능 평가는 도구별로 나눈다. 체감온도와 일조 시간은 Ladybug와 Honeybee가 맡는다. 우수 유출은 SWMM이나 곡선지수법으로 계산한다. 공사비는 물량 산출에서 뽑는다. 이 평가 과정을 그라스하퍼 캔버스가 아니라 헤드리스 파이썬 함수로 떼어내는 것이 중요하다. 입력은 설계변수 벡터, 출력은 목적값 벡터인 함수 하나로 만든다. 그 다음 pymoo의 NSGA3에 물린다. 참조 방향은 get_reference_directions("das-dennis", M, n_partitions=p)로 만든다. 목적이 6개면 4등분에서 126개, 5등분에서 252개가 나온다.
예산 계산을 먼저 한다. 참조점 126개에 200세대면 평가 25,200회다. 한 번에 30초면 약 210시간이다. 직접 시뮬레이션으로는 감당이 안 된다. 그래서 라틴 하이퍼큐브로 수백 점을 뽑아 제대로 시뮬레이션하고, 그 자료로 인공신경망이나 그래디언트 부스팅 대리모델을 학습시킨다. Razmi 등이 2022년 기숙사 사례에서 쓴 방식과 같다. 최적화는 대리모델 위에서 돌린다. 마지막에 상위 10개 안팎의 파레토 해만 전체 시뮬레이션으로 다시 검증한 뒤 발표한다. 대리모델의 오차가 결론을 뒤집지 않는지 확인하는 절차다.
선택지. pymoo는 NSGA3 외에 UNSGA3와 RNSGA3도 제공한다. 목적 수를 바꿔 가며 같은 모델을 돌릴 계획이면 U판이 편하다. 희망 지점을 여러 개 줄 계획이면 R판을 본다. 자바 쪽에서는 jMetal에 NSGA-III가 있다. 그라스하퍼 안에서 바로 쓸 수 있는 NSGA-III 플러그인은 확인되지 않는다. 캔버스 안에서 끝내려면 Wallacei의 NSGA-II나 Octopus로 만족하거나, 파이썬으로 빼내는 길을 택해야 한다.
주의할 설정. 첫째, 개체군 크기는 참조점 수 근처로 잡는다. 이론 쪽에서도 참조점 수를 개체군 크기와 같게 두는 편이 낫다는 결과가 2025년에 나왔다. 둘째, 목적별 단위가 크게 다르면 정규화 예외에 대비한다. 음수 절편과 특이행렬 두 경우를 로그로 남기고, Blank 등이 제안한 대체 경로가 라이브러리에 들어 있는지 확인한다. 셋째, 실행 끝에 몇 개의 참조점이 비었는지를 반드시 세어 본다. 절반 넘게 비면 전선 모양이 격자와 맞지 않는다는 신호다. 그때는 세대를 늘릴 것이 아니라 A-NSGA-III로 바꾸거나 목적 구성을 다시 본다. 넷째, 사용한 구현의 이름과 버전을 결과와 함께 기록한다. 구현에 따라 결과가 달라진 사례가 문헌에 남아 있기 때문이다.
↑ 목차
3 · CMA-ES
Nikolaus Hansen, Andreas Ostermeier (1996, 2001)
1996 IEEE ICEC 312–317 · 2001 Evolutionary Computation 9(2)
배경CMA-ES는 베를린 공과대학에서 자란 진화 전략 Evolutionsstrategie 전통의 직계 후손이다. 1960년대 중반 페터 비네르트, 잉고 레헨베르크, 한스파울 슈베펠 세 사람이 시작했다. 이들이 쓴 것은 수식이 아니라 물리 실험 장치였다. 풍동 안에 물체를 놓고 저항이 최소가 되도록 형상을 무작위로 변형하고 좋은 쪽만 남기는 일을 반복했다. 1964년에 '풍동 속의 다윈'이라는 이름의 공개 시연이 있었다고 전해진다. 흔히 인용되는 '관절 달린 판' 실험의 구체적 형태는 일차 자료로 확인하지 못했다. 1960년대 중반 풍동에서 최소 저항 물체를 진화시켰다는 수준까지가 확인된다. 이어서 2상 노즐 실험이 수행되었고, 기록은 Klockgether, J. and Schwefel, H.-P., Two-Phase Nozzle And Hollow Core Jet Experiments, 1970으로 남아 있다.
레헨베르크의 공학박사 학위논문 Evolutionsstrategie: Optimierung technischer Systeme nach Prinzipien der biologischen Evolution은 이 실험들을 이론으로 정리했다. 학위 연도는 자료마다 갈린다. 영어권 문헌은 1971년으로 적고, 독일어권 전기는 1970년 박사학위에 1971년 교수자격 취득으로 적는다. 확실한 것은 1973년 슈투트가르트 프롬만홀츠보크에서 단행본으로 출간되었다는 사실이다. 이 논문의 유산이 5분의 1 성공 규칙이다. 변이 중 대략 다섯에 하나보다 많이 성공하면 변이 폭을 키우고, 그보다 적게 성공하면 줄인다. 성공률 하나로 탐색 보폭을 조절한 최초의 규칙이다. 슈베펠의 학위논문은 1974년으로 기록되며, 단행본은 1977년 비르크호이저에서 나왔다. 부모 수와 자식 수를 나누어 쓰는 두 가지 선택 방식, 즉 자식만으로 다음 세대를 구성하는 방식과 부모까지 경쟁에 포함하는 방식을 정식화한 공을 슈베펠에게 돌리는 것이 통설이나, 이번 확인에서 일차 자료로는 확정하지 못했다. 확실히 확인되는 기여는 변이적 자기적응이다. 보폭 자체를 하나의 유전자로 취급해 함께 변이시키고 선택된 부모에게서 물려받는 방식이다.
니콜라우스 한센과 안드레아스 오스터마이어가 반응한 문제가 바로 이 자기적응의 불안정성이었다. 보폭 같은 전략 파라미터는 직접 평가되지 않는다. 그 파라미터가 우연히 만들어낸 설계안의 성적으로만 간접 평가된다. 신호에 잡음이 많고, 적응시킬 파라미터가 늘수록 잡음이 커진다. 변수 개수의 제곱만큼 항이 있는 공분산 행렬 전체를 이 방식으로 적응시키는 것은 사실상 불가능하다. 두 사람의 답이 탈무작위화 derandomization였다. 전략 파라미터를 따로 무작위로 흔들어 보는 대신, 실제로 실현되어 선택된 이동 벡터에서 결정론적으로 파라미터를 유도한다.
최초의 공분산 행렬 적응은 1996년 IEEE 진화연산 국제학술대회 논문 Adapting arbitrary normal mutation distributions in evolution strategies: The covariance matrix adaptation, 312~317쪽에 실렸다. 부모 하나에 자식 여럿인 구조에 적용된 형태였고, 뒤에서 설명할 진화 경로 개념이 이미 이 논문에 들어 있다. 보폭 제어를 위한 누적 개념은 그보다 앞선 1994년 오스터마이어 등의 연구로 거슬러 올라간다. 여러 부모의 정보를 평균 내는 다중재조합형은 1997년에 나왔다. 2001년 Evolutionary Computation 9권 2호 159~195쪽의 Completely Derandomized Self-Adaptation in Evolution Strategies가 가중 다중재조합을 더하며 이론을 완성했다. 진화 경로가 2001년에 새로 도입되었다는 서술은 사실이 아니다. 2001년 논문 자체가 그 아이디어의 출처로 1996년 논문을 인용한다. 2003년에는 한센, 지빌레 뮐러, 페트로스 쿠무차코스가 Evolutionary Computation 11권 1호 1~18쪽에서 rank-μ 갱신을 추가했다. 한센은 이후 취리히 연방공대를 거쳐 현재 프랑스 국립정보통신연구소 사클레 일드프랑스 연구센터에 있다. 사실상의 정본 교재인 튜토리얼 arXiv:1604.00772가 그곳에서 유지되며, 최종 개정일은 2023년 3월 10일이다.
원리CMA-ES가 들고 있는 물건은 단 하나다. 설계 변수 공간 위의 다변량 정규분포다. 이 분포는 세 부분으로 나뉜다. 중심 위치인 평균 벡터, 전체 크기를 재는 단계 크기, 타원의 모양과 기울기를 담는 공분산 행렬이다. 매 세대 이 분포에서 설계안을 뽑고, 성적순으로 줄을 세우고, 다음 세대 표본이 좋았던 자리에 떨어지도록 분포를 고쳐 쓴다. 저장하는 것은 이 분포뿐이다. 과거 설계안 보관함도 없고, 시뮬레이션을 흉내 내는 대리모형도 없다. 알고리즘의 나머지 부품은 전부 '이 분포를 어떻게 고쳐 쓸 것인가'에 대한 답이다.
1. 표본 추출. 먼저 표준 정규분포에서 방향 벡터를 개체 수만큼 뽑는다. 여기에 공분산 행렬의 고유분해에서 나온 두 성분을 곱한다. 고유벡터들은 탐색 타원의 주축 방향이고, 고윳값의 제곱근은 각 축의 길이다. 이렇게 모양이 입혀진 벡터에 단계 크기를 곱하고 현재 평균에 더하면 하나의 설계안이 된다. 전체 크기를 담당하는 단계 크기와 모양을 담당하는 공분산 행렬을 굳이 분리해 두는 것은 의도적이다. 둘은 서로 다른 속도로 변해야 하기 때문이다. 이 분리가 없으면 뒤에서 설명할 보폭 제어가 성립하지 않는다.
2. 순위 매기기와 재조합. 설계안들을 평가하고 좋은 순으로 정렬한다. 여기서 쓰는 정보는 순위뿐이다. 목적함수 값 자체는 한 번도 쓰이지 않는다. 그래서 목적함수에 로그를 씌우든 제곱을 하든 순서만 유지되면 알고리즘의 궤적이 완전히 같다. 평가 척도의 단위나 스케일을 고민하지 않아도 된다는 뜻이며, 설계 문제에서 점수 체계를 바꿔가며 실험할 때 실질적인 장점이 된다. 평균은 상위 개체들이 있던 방향으로 옮긴다. 가중치는 모두 양수이고 순위가 높을수록 크며 합이 1이 되도록 정규화한다. 기본 가중치는 순위의 로그를 빼는 형태여서 1등이 가장 큰 몫을 갖는다. 이 가중치 분포가 얼마나 집중되어 있는지를 하나의 숫자로 요약한 것이 유효 선택 질량이다. 가중치 제곱합의 역수로 정의되며, 실질적으로 몇 개의 표본이 기여하고 있는지를 나타낸다. 값은 1과 선택 개체 수 사이에 놓인다. CMA-ES의 나머지 상수 거의 전부가 이 숫자와 변수 개수의 함수다. 사용자가 손댈 것이 거의 없는 이유가 여기 있다.
3. rank-μ 갱신. 선택된 이동 벡터들의 가중 경험 공분산을 만들어 공분산 행렬에 섞는다. 여기서 결정적인 세부가 하나 있다. 이동 벡터를 옛 평균을 기준으로 잰다는 점이다. 이미 옮겨간 새 평균을 기준으로 재면 성공한 방향의 분산이 오히려 줄어든다. 옛 평균 기준으로 재야 성공한 방향으로 분산이 커진다. 개체 수가 충분히 크면 이 항 하나로 한 세대 만에 올바른 타원을 추정할 수 있다. 학습률은 대략 유효 선택 질량을 변수 개수의 제곱으로 나눈 크기다. 변수가 많아지면 이 값이 급격히 작아진다. 즉 rank-μ 갱신만으로는 고차원에서 모양을 배우는 데 세대 수가 너무 많이 든다.
4. rank-one 갱신과 진화 경로. 외적으로 만든 공분산은 방향의 부호를 버린다. 오른쪽으로 간 한 걸음과 왼쪽으로 간 한 걸음이 같은 항을 만든다. 그런데 연속한 세대가 계속 같은 쪽으로 밀려가고 있다면 그것은 중요한 정보다. 좁고 긴 골짜기를 따라 내려가는 중이라는 뜻이기 때문이다. 외적은 이 정보를 볼 수 없다. 그래서 CMA-ES는 세대별 평균 이동을 지수적으로 누적한 벡터를 따로 들고 다닌다. 이것이 진화 경로다. 진화 경로 자신의 외적을 공분산 행렬에 더하면 부호 정보가 보존된다. 방향이 계속 일치하면 경로가 길어지고 그 축이 자란다. 방향이 엇갈리면 경로가 짧아져 기여가 사라진다. 이 항 덕분에 하나의 긴 주축을 배우는 데 드는 평가 횟수가 변수 개수의 제곱이 아니라 변수 개수에 비례하는 수준으로 줄어든다. 개체 수가 작을 때 결정적인 차이가 난다. 다만 초기 단계 크기를 지나치게 작게 잡으면 경로가 폭주해 축이 무한정 자랄 수 있다. 이를 막기 위해 보폭 경로가 너무 길 때 진화 경로 누적을 일시적으로 얼리는 계단 함수 스위치가 들어 있다.
5. 누적 보폭 적응. 공분산 행렬만으로는 전체 보폭을 제때 맞출 수 없다. 이유는 시간 규모가 다르기 때문이다. 공분산 학습률은 변수 개수 제곱의 역수 규모인데, 보폭은 변수 개수에 반비례하는 훨씬 빠른 규모로 바뀌어야 한다. 구형 함수에서 최적 보폭이 유효 선택 질량의 제곱근에 비례한다는 사실도 공분산이 따라잡기 어렵다. 그래서 두 번째 경로를 등방 좌표계에서 따로 누적한다. 공분산의 역제곱근을 곱해 타원을 다시 원으로 펴 놓은 좌표에서 평균 이동을 쌓는 것이다. 판정 논리는 단순하다. 선택이 완전히 무작위라면 이 경로의 길이는 같은 차원의 무작위 정규 벡터의 기대 길이와 비슷해야 한다. 그보다 길면 연속한 걸음들이 서로 같은 방향으로 정렬되어 있다는 뜻이다. 한 방향으로 기어가고 있으니 보폭을 키운다. 그보다 짧으면 걸음들이 서로 상쇄되고 있다는 뜻이다. 제자리에서 흔들리고 있으니 보폭을 줄인다. 보폭은 이 길이 비에 지수를 취해 곱셈으로 갱신한다. 공분산의 역제곱근이 필요하다는 점이 중요하다. 이것이 촐레스키 분해가 아니라 고유분해를 써야 하는 이유다.
6. 기본값과 계산 비용. 기본 개체 수는 4에 변수 개수의 자연로그 세 배를 더한 뒤 정수로 내림한 값이다. 변수 10개면 10, 20개면 12, 40개면 15다. 선택 개체 수는 그 절반이다. 고차원에서도 세대당 표본이 놀랄 만큼 적다는 점을 기억해야 한다. 고유분해는 매 세대 하지 않고 학습률에 반비례하는 간격으로만 새로 계산한다. 이렇게 하면 분해 한 번의 세제곱 비용이 여러 세대에 분산되어, 표본 하나당 전략 내부 비용이 변수 개수의 제곱 수준으로 내려간다.
7. 사용자가 정할 것. 실무자가 실제로 지정하는 값은 초기 평균과 초기 단계 크기 두 개뿐이다. 나머지는 변수 개수와 유효 선택 질량에서 자동으로 나온다. 초기 단계 크기는 각 변수의 탐색 구간 폭의 대략 3분의 1 정도로 잡는 것이 관례다. 여기에 두 가지 불변성이 붙는다. 목적함수의 순서 보존 변환에 대한 불변성과 설계 변수 좌표계의 회전에 대한 불변성이다. 후자는 변수들이 서로 강하게 얽혀 있어도 성능이 유지된다는 뜻이며, 좌표축 단위로만 변이하는 알고리즘과 갈라지는 지점이다.
변형rank-μ 갱신, 2003. 한센, 뮐러, 쿠무차코스, Evolutionary Computation 11권 1호 1~18쪽. 큰 개체군이 한 세대에 만들어낸 정보를 그 세대 안에서 전부 흡수하게 만들었다. 공분산 적응에 필요한 세대 수가 줄고, 세대 내 평가를 병렬로 돌리기 좋아졌다. 평가 하나가 비싼 시뮬레이션이고 계산 노드가 여러 개인 설계 문제에서 특히 의미가 있다.
능동 CMA, 2006. 그레이엄 야스트렙스키와 더크 아놀드, Improving Evolution Strategies through Active Covariance Matrix Adaptation, IEEE 세계계산지능학회 CEC 2006, 밴쿠버, 2814~2821쪽. 상위 개체에 양의 가중치를 주는 데서 그치지 않고 최하위 개체에 음의 가중치를 준다. 좋은 방향으로 분산을 키우는 동시에 나쁜 방향으로 분산을 적극적으로 줄인다. 원논문 초록은 표준 시험 함수 모음에서 다른 변형들을 일관되게 앞선다고만 밝힌다. 흔히 인용되는 '최대 2배 빠름'이라는 수치는 이번 확인에서 근거를 찾지 못했으므로 쓰지 않는 편이 낫다. 음의 가중치는 2016년 가중치 체계 이후 한센 자신의 기준 구현에서 기본값이 되었다. 아놀드와 한센은 2010년 GECCO 385~392쪽에서 부모 보존형 구조로도 확장했다.
재시작 계열. 안 오제와 한센의 IPOP-CMA-ES, CEC 2005, 1769~1776쪽. 수렴할 때마다 개체 수를 두 배로 늘려 재시작한다. 개체 수가 커질수록 탐색이 점점 더 전역적으로 바뀐다. 개체 수라는 사용자 파라미터가 사실상 사라지는 효과가 있다. 한센의 BIPOP-CMA-ES, GECCO 2009 컴패니언, 2389~2395쪽은 여기에 두 번째 체제를 끼워 넣는다. 작은 개체 수와 무작위로 축소한 초기 보폭을 쓰는 체제를 병행하고, 두 체제 중 평가 예산을 덜 쓴 쪽을 다음에 실행한다. 지역 탐색과 전역 탐색에 예산을 자동으로 반씩 나누는 셈이다.
차원 확장 계열. sep-CMA-ES, 레몽 로스와 한센, PPSN X 2008, 296~305쪽. 공분산 행렬의 대각 성분만 적응시켜 시간과 메모리를 변수 개수에 선형으로 낮춘다. 학습률을 변수 개수 제곱의 역수에서 변수 개수의 역수 수준으로 올릴 수 있고, 변수 100개를 넘으면 분리 불가능한 로젠브록 함수에서도 완전형 CMA-ES보다 평가 횟수가 적었다고 보고된다. 다만 이 복잡도 서술과 100차원 결과는 원문 접근이 막혀 이번에 직접 확인하지 못했다. 게재 권 번호가 LNCS 5199라는 것도 통상적인 정보이나 일차 기록으로는 확인되지 않았다. 일리야 로슈칠로프의 LM-CMA, GECCO 2014, arXiv:1404.5520은 공분산 행렬을 저장하는 대신 방향 벡터 스무 개에서 서른 개로 재구성한다. 변수 1000개를 넘는 문제를 겨냥한다.
잡음 대응 계열. UH-CMA-ES, 한센, 니더베르거, 구첼라, 쿠무차코스, IEEE Transactions on Evolutionary Computation 13권 1호 180~197쪽, 2009. 평가값에 잡음이 있을 때 순위 기반으로 불확실성을 감지하고 대응한다. 같은 설계안을 다시 평가해 순위가 흔들리는 정도를 측정하는 방식이다. LRA-CMA-ES, 노무라 마사히로, 아키모토 요헤이, 오노 이사오, GECCO 2023, arXiv:2304.03473은 신호 대 잡음 비가 일정하게 유지되도록 학습률 자체를 적응시킨다. 기본 개체 수만으로도 다봉성 문제와 잡음 문제를 다룰 수 있게 하는 것이 목표다. 시뮬레이션 결과가 재현되지 않는 설계 평가에 직접 닿는 변형이다.
혼합 변수 계열. CMA-ES with Margin, 하마노 료키, 사이토 쇼타, 노무라 마사히로, 시라카와 신이치, GECCO 2022. 정수 변수가 다른 값으로 넘어갈 확률에 하한을 걸어 보폭이 이산화 격자보다 작아지지 못하게 막는다. 정수 변수에서 탐색이 멈춰 서는 고질적 실패를 직접 겨냥한다. CMA-ES-SoP, 우치다 켄토와 공저자들, PPSN 2024, arXiv:2408.13046은 이를 서로 떨어진 부분공간 위의 이산점 선택으로 확장한다.
다목적 계열. MO-CMA-ES, 크리스티안 이겔, 한센, 슈테판 로트, Evolutionary Computation 15권 1호 1~28쪽, 2007. 부모 보존형 개체 여럿을 개체군으로 운용하고, 비지배 정렬에 혼잡도 또는 초부피 기여도를 더해 선택한다. 단일 목적이라는 본래 제약을 우회하는 유일한 공식 경로다.
활용해상풍력 배치, 가장 잘 문서화된 설계 사례. 토머스 외 13인, Wind Energy Science 8권 865~891쪽, 2023. 네덜란드 보르셀러 III/IV 해역을 대상으로 여덟 가지 최적화 방법을 같은 조건에서 비교했다. 터빈 81기를 배치해 연간 발전량을 최대화하는 문제다. 설계 변수 개수는 방법과 정식화에 따라 다르며 논문은 단일 숫자를 제시하지 않는다. 터빈마다 가로세로 좌표를 쓰는 연속 정식화라면 162개가 되지만 이는 추론값이다. 결과가 중요하다. 초기 배치의 후류 손실이 17.28퍼센트였고, CMA-ES를 포함한 여덟 방법 모두가 15.48퍼센트에서 15.70퍼센트 사이에 도달했다. 정직하게 읽으면 CMA-ES는 경쟁력 있었으나 우월하지는 않았다. 설계 최적화에서 알고리즘 선택보다 문제 정식화가 결과를 더 좌우한다는 증거로 읽어야 한다.
건축 설계 최적화 벤치마크. 토마스 보르트만, Journal of Computational Design and Engineering 6권 3호 414~428쪽, 2019. 실제 시뮬레이션에 붙은 일곱 개 문제에서 아홉 가지 알고리즘 구현을 비교했다. 구성은 Goat의 DIRECT와 Subplex, Opossum의 RBFOpt, Galapagos의 유전 알고리즘과 담금질, Silvereye의 입자군집, 그리고 CRS2, CMA-ES, 단순 유전 알고리즘이다. 문제 규모는 변수 4개에서 40개까지다. 그중 하나는 변수 15개짜리 주광 문제로 평가 한 번에 약 45초가 걸리고, 다른 하나는 변수 40개짜리 주광과 눈부심 문제로 평가 한 번에 약 120초가 걸린다. 예산은 모든 문제에 평가 500회로 통일했다. CMA-ES는 변수 40개짜리 가장 큰 문제에서 경쟁력을 보였으나 전체적으로 견실성이 낮았다. 가장 효율적이고 견실했던 것은 대리모형 기반의 RBFOpt였다. 바이벨, 보르트만, 에빈스, 카멜리에트, Energy and Buildings 187권, 2019년 3월은 다수의 건물 에너지 시뮬레이션 문제에서 전역 탐색 알고리즘들을 비교해 CMA-ES가 '일관되게 좋다'고 평가했다. 단 조건이 붙는다. 평가 예산이 매우 클 때에 한한다. 두 벤치마크는 모순되지 않는다. 예산 축을 어디에 두느냐가 다를 뿐이다.
설계 실무 도구로의 진입. 보르트만이 이끄는 그래스하퍼 최적화 플러그인 Opossum이 CMA-ES를 정식 솔버로 탑재한다. 최초 발표는 CAADRIA 2017 Protocols, Flows, and Glitches, 283~292쪽이며 학술대회 개최지는 중국 쑤저우, 시안교통리버풀대학이다. 홍콩은 CAADRIA 학회가 논문집을 발행하는 곳이지 2017년 개최지가 아니다. 이 플러그인의 안내는 명확하다. 평가 횟수가 적으면 RBFOpt를, 많이 쓸 수 있으면 CMA-ES를 쓰라는 것이다.
기계학습 하이퍼파라미터. 일리야 로슈칠로프와 프랑크 후터, ICLR 2016 워크숍 트랙, arXiv:1604.07269. MNIST 손글씨 데이터 5만 장 학습과 1만 장 검증 조건에서 합성곱 신경망의 하이퍼파라미터 19개를 CMA-ES로 조정했다. GPU 30장을 병렬로 썼다. 학습 30분짜리 신경망에서 검증 오류 0.3퍼센트 미만, 5분짜리에서 0.42퍼센트를 얻어 당시 베이즈 최적화와 대등했다.
실제로 쓰이는 소프트웨어. 노무라 마사히로와 시바타 마사시가 2024년 2월 arXiv:2402.01373으로 발표한 cmaes 파이썬 라이브러리는 그 시점에 월 다운로드 약 100만 회, 깃허브 별 250개 이상으로 보고되었다. 현재 아카이브 판본은 2026년 2월 7일자 3판이며 하마노 료키가 추가되어 저자가 세 명이다. 이 라이브러리는 Optuna의 CmaEsSampler와 Kubeflow Katib에 통합되어 있다.
벤치마크 이력. CEC 2005 스물다섯 개 함수, 변수 10개와 30개와 50개, 변수 개수의 1만 배 예산 조건에서 IPOP-CMA-ES는 소규모 개체군 지역 재시작 전략을 상대로 60개 비교 사례 중 29개에서 유의하게 이겼고 4개에서 졌다. 한센은 발표된 CMA-ES 응용 목록을 2009년 약 120건 시점에서 관리를 중단했다. 그 이후의 확산 규모는 집계된 자료가 없다.
한계지역 최적해. 한센 자신이 튜토리얼에서 분명히 적는다. 보폭 제어는 개체군이 조기에 한 점으로 모여버리는 것을 막아줄 뿐, 탐색이 지역 최적해에서 끝나는 것을 막지는 못한다. CMA-ES는 성능 좋은 지역 탐색기이고, 전역성은 개체 수와 재시작에서 나온다. IPOP이나 BIPOP 없이 한 번 돌리면 처음 만난 그럴듯한 골짜기로 기꺼이 수렴한다. 실무에서는 서로 다른 초기점으로 여러 번 돌리는 것을 기본 절차로 삼아야 한다.
평가 횟수를 많이 먹는다. 건축과 에너지 분야의 독립된 두 벤치마크가 같은 이야기를 한다. 평가 500회 예산에서는 신뢰하기 어렵고, 예산이 아주 커야 일관되게 좋아진다. 문제는 조경과 건축의 평가가 대체로 비싸다는 점이다. 주광 해석 한 번이 45초, 미기후 해석 한 번이 20분이라면 CMA-ES가 요구하는 예산은 감당할 수 없는 규모가 된다. 대리모형 없이는 성립하지 않는 조합이다.
상자 제약에 약하다. 페르메턴, 로페스이바녜스, 메르스만, 알멘딩거, 코노노바, arXiv:2305.15102, GECCO 2023. 표준 벤치마크에 엄격한 상하한을 걸어 경계를 벗어난 점은 무한대를 돌려주는 SBOX-COST 조건에서 모듈형 CMA-ES를 시험했다. 변수 5개와 20개, 함수당 15개 사례, 변수 개수의 1만 배 예산이다. 엄격한 경계 적용은 고전적 CMA-ES의 성능을 뚜렷하게 떨어뜨렸고, 차원이 올라갈수록 악화되었다. 이유는 기하학적이다. 차원이 늘면 초기 개체군 전부가 경계를 벗어날 확률이 빠르게 커진다. 이를 벌충하려면 초기 보폭을 크게 줄여야 하고, 그 순간 CMA-ES는 순수한 지역 탐색기가 된다. 직관과 달리 경계로 값을 잘라 붙이는 처리가 경계를 무시하는 처리보다 항상 나은 것도 아니었다. 한센은 별도로, 실행 불가능한 개체를 고쳐서 갱신에 넣는 단순 수리를 권하지 않는다고 경고한다. 분포 가정이 깨져 보폭이 발산하거나 붕괴한다. 대신 수리된 점까지의 거리를 벌점으로 부과하라고 권한다.
이산 변수와 정수 변수. 연속 좌표를 반올림해 정수로 쓰면 목적함수에 평평한 계단이 생긴다. 좌표별 표준편차가 이산화 간격보다 작아지는 순간 목적함수가 반응을 멈춘다. 순위가 바뀌지 않으니 보폭은 계속 줄고, 탐색은 계단 위에서 정지한다. 2022년의 Margin 변형과 2024년의 SoP 변형이 정확히 이 실패를 고치려고 만들어졌다. 기본형을 그대로 쓰면서 정수 변수를 섞는 것은 피해야 한다.
평평한 적합도. 한센의 권고는 단호하다. 목적함수가 평평하게 관측되면 그것은 뚫고 나아갈 대상이 아니라 종료 조건이며, 목적함수를 다시 설계하라는 신호다. 설계 점수를 등급으로 이산화해 놓은 평가 체계가 이 함정에 자주 걸린다.
수치 조건수. 권장 종료 조건 중 하나는 공분산 행렬의 조건수가 10의 14제곱을 넘을 때 멈추는 것이다. 축 길이 비가 그 정도로 벌어지면 부동소수점 계산이 무너진다. 변수들의 물리 단위가 크게 다를 때, 예컨대 미터 단위 좌표와 도 단위 각도를 섞을 때 쉽게 접근한다. 변수 정규화를 미리 해두어야 한다.
고차원 비용. 고유분해를 분산시켜도 메모리와 표본당 비용은 변수 개수의 제곱에 비례한다. 튜토리얼은 구형 벤치마크 기준으로 2.5기가헤르츠 펜티엄 4에서 평가 하나당 전략 내부 시간이 대략 변수 개수에 5를 더한 값의 제곱에 3을 곱하고 1억분의 1초를 곱한 정도라고 적는다. 수백 변수를 넘어가면 sep-CMA-ES나 LM-CMA로 갈아타야 한다.
구조적으로 단일 목적. 결과물은 수렴한 점 하나다. 파레토 전선이 아니다. 목적이 여럿이면 가중합으로 뭉개야 하는데, 가중치를 정하는 순간 설계 판단의 핵심이 알고리즘 바깥에서 이미 끝나버린다.
공원에서맞는 문제. 소공원 파라메트릭 모델에서 자유 파라미터가 진짜로 연속량일 때 CMA-ES가 제 성능을 낸다. 동선의 곡률 제어점 좌표, 수관 반경, 마운딩 높이, 식재대 경계 오프셋, 파빌리온 회전각, 수변 경계의 곡선 계수 같은 것들이다. 이런 변수 10개에서 40개 범위, 그리고 스칼라 목적 하나가 이상적인 조건이다. 목적은 단일 지표이거나 가중합이어야 한다. 예를 들어 여름 오후 그늘 면적 비율, 또는 그늘 면적과 통행 우회 거리와 유지관리 면적을 가중합한 하나의 점수다.
두 가지 성질이 특히 공원 설계와 맞는다. 첫째, 좌표계 회전에 대한 불변성이다. 공원 파라미터는 서로 강하게 얽혀 있다. 동선을 한쪽으로 밀면 식재대 경계가 따라 움직이고, 그러면 그늘 분포가 바뀌고, 결국 쾌적성 점수가 바뀐다. 좌표축 방향으로만 변이를 주는 알고리즘은 이런 결합 방향을 따라가지 못한다. CMA-ES는 공분산 행렬로 결합 자체를 학습한다. 둘째, 조율할 것이 거의 없다. 초기 평균과 초기 보폭만 정하면 된다. 교차율과 변이율을 감으로 정해야 하는 NSGA-II 계열과 비교하면 실무 부담이 확연히 낮다. 보르트만의 벤치마크에서 CMA-ES가 가장 잘한 문제가 변수 40개짜리 연속 문제였다는 점도 같은 방향을 가리킨다.
못 하는 문제. 범주형 선택은 안 된다. 수종 팔레트, 포장 재료, 시설물 종류 같은 것이다. 2022년과 2024년의 Margin 계열 변형을 쓰지 않는 한 다룰 수 없다. 개수도 안 된다. 교목을 몇 주 심을 것인가 같은 정수 변수는 계단에 걸려 멈춘다. 대지의 강한 제약도 어렵다. 부지 경계, 이격 거리, 존치수목 회피 같은 제약을 엄격히 걸면 SBOX-COST 결과대로 성능이 뚜렷하게 떨어진다. 경계값으로 잘라 붙이는 손쉬운 처리는 명시적으로 권장되지 않는다. 벌점 방식으로 우회해야 하고, 벌점 계수 자체가 새로운 조율 대상이 된다.
가장 실질적인 한계는 결과물의 형태다. 설계자가 원하는 것은 대개 서로 다른 절충을 보여주는 대안 30개의 집합이다. 그늘을 취한 안, 개방감을 취한 안, 공사비를 줄인 안을 늘어놓고 논의하려 한다. CMA-ES는 점 하나를 돌려준다. 위상 변화도 모델 바깥이다. 출입구가 두 개인 안과 세 개인 안은 같은 파라미터 공간 안에 있지 않다. 이런 선택은 사람이 먼저 정하고 들어가야 한다.
문헌 상황. 이번에 확인한 자료 범위에서는 조경설계나 도시공원 배치에 CMA-ES를 적용한 사례를 찾지 못했다. 해당 분야 최적화 문헌은 NSGA-II와 Galapagos 계열로 돌아간다. 다만 이것은 없음의 증명이 아니다. CMA-ES는 그래스하퍼 Opossum에 정식 탑재된 솔버이고 건축과 도시설계 벤치마크에는 이미 등장한다. 조경 쪽에서 아직 보고가 정리되지 않았다고 읽는 편이 정확하다.
구현그래스하퍼 경로. 지금 당장 쓸 수 있는 현실적인 길은 Opossum이다. CMA-ES를 별도로 구현할 필요 없이 플러그인 솔버 목록에서 고르면 된다. 2026년 7월 27일자 3.2.0 판 기준 수록 솔버는 RBFOpt, RBFMOpt, Optuna의 베이즈 최적화 TPE, 직접 탐색 알고리즘 MADS, CMA-ES, 그리고 다목적용 HYPE다. 이전 판에 있던 메타휴리스틱 다목적 알고리즘 MACO, MOEA/D, NSGA-II, NSPSO는 이 판에서 제거되었다. 오래된 설명 자료에 이 넷이 남아 있는 경우가 많으니 판본을 확인해야 한다. 평가기는 Ladybug와 Honeybee로 일사와 주광을 계산하거나, 미기후가 필요하면 ENVI-met를 붙인다.
파이썬 경로. 한센의 기준 구현인 pycma를 쓰거나, 사이버에이전트의 cmaes를 Optuna의 CmaEsSampler를 통해 쓴다. 후자는 다운로드 규모가 크고 실험 관리 도구에 이미 붙어 있다는 점이 장점이다. 기하 모델은 Rhino.Compute를 헤드리스로 돌려 평가한다. 정수 변수가 섞여 있으면 cmaes 쪽의 Margin 구현을 쓰는 것이 기본형보다 안전하다.
예산 계산. 현실적인 목표는 평가 1000회에서 1만 회다. 변수 20개면 기본 개체 수가 12이므로 세대 수로는 약 80회에서 800회에 해당한다. 여기서 바로 판단이 갈린다. 평가 한 번이 30초를 넘으면 순수 CMA-ES는 성립하지 않는다. 평가 30초에 5000회면 순수 계산만 40시간이 넘는다. 이 경우 두 가지 선택지가 있다. 방사기저함수나 가우시안 과정 대리모형을 끼워 넣거나, 처음부터 RBFOpt를 쓰는 것이다. 보르트만의 벤치마크가 적은 예산에서 RBFOpt를 권한 이유가 그것이다.
역할 분담. 가장 합리적인 구성은 두 단계다. 먼저 NSGA-II나 Wallacei로 거친 다목적 탐색과 위상 대안 탐색을 한다. 출입구 수, 광장 유무, 동선 골격 같은 구조적 선택과 목적 간 절충을 여기서 본다. 그다음 설계자가 고른 두세 개 안에 대해서만 CMA-ES를 쓴다. 이 단계의 목적은 하나로 합친 스칼라 점수이고, 다루는 것은 연속 기하 파라미터뿐이다. IPOP 재시작을 켜서 지역 최적해 위험을 줄인다. 초기 보폭은 각 변수 탐색 구간 폭의 3분의 1 정도로 잡고, 단위가 다른 변수들은 미리 0에서 1 사이로 정규화해 조건수 문제를 피한다. 종료는 조건수 한계와 평평한 적합도 관측을 모두 조건으로 건다.
↑ 목차
4 · 베이지안 최적화
Jonas Mockus, Antanas Žilinskas (1970년대) — 기대개선
Donald Jones, Matthias Schonlau, William Welch (1998) — EGO
Jasper Snoek, Hugo Larochelle, Ryan Adams (2012) — NeurIPS
배경직계 기원은 1964년이다. Harold J. Kushner가 Journal of Basic Engineering 86권에 "A new method of locating the maximum point of an arbitrary multipeak curve in the presence of noise"를 실었다. 당시 문제는 분명했다. 측정에 잡음이 섞이고 봉우리가 여럿인 1차원 곡선에서는 구배법도 격자탐색도 듣지 않았다. 구배법은 잡음 때문에 오르막 방향을 잘못 읽는다. 격자탐색은 필요한 평가 횟수를 감당하지 못한다. Kushner의 해법은 관점을 바꾸는 것이었다. 미지의 곡선을 Wiener 확률과정에서 뽑힌 하나의 표본경로로 보자고 했다. 그러면 아직 재보지 않은 지점에도 확률분포가 생긴다. 다음 실험점은 현재 최고값을 넘어설 확률이 가장 큰 곳으로 정한다. 이것이 개선확률, 즉 probability of improvement이고 줄여서 PI라 부른다. 함수를 모른다는 상태 자체를 확률모델로 적는다는 발상이 여기서 나왔다.
기대개선량의 성립. 확률이 아니라 개선량의 기대값으로 기준을 바꾼 것은 리투아니아 빌뉴스의 Institute of Mathematics and Informatics 학파다. Jonas Mockus가 1975년에 제안했다. Antanas Žilinskas도 비슷한 시기에 1변수 함수의 단일단계 베이즈 탐색법을 내놓았다고 알려져 있다. 다만 러시아어 원본 Kibernetika와 영역본 사이에 1975년과 1976년으로 연도 표기가 갈리고, 독립적 제안이었다는 귀속은 1차 자료로 확인되지 않았다. 정본으로 인용되는 것은 J. Mockus, V. Tiesis, A. Žilinskas, "The application of Bayesian methods for seeking the extremum", Towards Global Optimization Vol. 2, North Holland, 1978, 117-129쪽이다.
전환점은 최악의 경우에서 평균적 경우로 옮긴 것이다. 그 전의 전역최적화는 Lipschitz 상수에 기댔다. 목적함수를 적대적으로 임의인 함수로 보고, 기울기가 아무리 커도 이 값을 넘지 않는다는 상한만 가정한다. 보장은 강하지만 필요한 평가 횟수가 폭발한다. Mockus는 목적함수를 어떤 확률과정에서 뽑힌 표본경로로 보았다. 그 순간 다음 한 번의 실험을 어디에 둘 것인가라는 물음이 사전분포 아래 기대효용을 최대화하는 베이즈 결정문제가 된다. 오늘날 쓰이는 모든 획득함수가 이 재정식화의 후손이다.
공학으로의 이식은 1998년이다. Donald R. Jones는 General Motors R&D Operations의 Operations Research 부서, Matthias Schonlau는 National Institute of Statistical Sciences, William J. Welch는 University of Waterloo 통계학과 소속이었다. 세 사람의 "Efficient Global Optimization of Expensive Black-Box Functions"는 Journal of Global Optimization 13권 4호 455-492쪽에 실렸고 1998년 6월 30일 최종 수리되었다. 줄여서 EGO라 부른다. 이들이 마주한 현실은 자동차 설계였다. 충돌해석이나 질량최적화 시뮬레이션 한 번이 수 시간에서 수 일 걸린다. 수천 회 평가를 전제한 알고리즘은 쓸 수가 없다. 핵심 불만은 정확도가 아니라 정지규칙이었다. 당시의 2차 반응표면법이나 thin-plate spline 보간은 예측값만 내놓고 그 예측이 얼마나 미더운지는 말하지 않는다. 불확실성이 없으면 더 찾아볼 여지가 남았는지 판단할 근거도 없다. 계보는 지구통계학의 크리깅이다. Krige의 광체 품위 추정과 Matheron의 이론화가 있었고, 1989년 Sacks, Welch, Mitchell, Wynn이 이를 결정론적 컴퓨터 실험에 이식한 DACE, 즉 Design and Analysis of Computer Experiments가 직접 토대가 되었다.
현대적 실무화는 2010년대 초에 일어났다. Niranjan Srinivas, Andreas Krause, Sham Kakade, Matthias Seeger의 GP-UCB가 2010년 ICML에 나오면서 밴딧 이론과 접속했고, 누적 후회가 평가 횟수에 대해 선형보다 느리게 자란다는 보증이 붙었다. 2012년에는 Jasper Snoek, Hugo Larochelle, Ryan P. Adams의 "Practical Bayesian Optimization of Machine Learning Algorithms"가 NIPS 25에서 발표되었다. 기계학습 하이퍼파라미터 튜닝이라는 대량 수요처를 연 논문이다. Snoek과 Adams는 Harvard, Larochelle는 Université de Sherbrooke 소속이었고, 연구는 Amazon Web Services 지원금과 DARPA Young Faculty Award로 수행되었다. 이때 공개된 구현체 Spearmint가 이후 GPyOpt와 BoTorch, Ax 계열의 출발점이 된다.
원리한 문장으로 줄이면 이렇다. 비싼 함수를 직접 최적화하지 않고, 그 함수를 흉내 내는 싼 확률모델을 대신 최적화한다. 여기서 확률모델이라는 말이 중요하다. 단순한 근사식이 아니라 예측값과 함께 그 예측이 얼마나 불확실한지를 같이 내놓는 모델이라야 한다. 루프는 다섯 단계이고, 각 부품은 앞 단계가 남긴 구멍을 메우려고 존재한다.
① 초기 설계. 아무 자료 없이 시작할 수는 없다. 그래서 공간충전 설계, 즉 space-filling design으로 설계공간을 고르게 찍는다. Jones 일행은 라틴 하이퍼큐브를 쓰되 1차원 사영과 2차원 사영이 모두 균일하게 덮이는 배치를 골랐다. 변수 하나만 놓고 봐도, 변수 두 개를 짝지어 봐도 빈 구간이 없어야 한다는 뜻이다. 경험칙은 변수 개수의 약 열 배다. 2변수 Branin 함수에서는 21점을 썼다. 이 단계가 필요한 이유는 다음 단계의 모델이 스스로 배우는 양이 무엇인지 보면 분명해진다. 모델은 각 변수의 길이척도, 즉 그 변수를 얼마나 움직여야 함수값이 눈에 띄게 변하는지를 자료에서 추정한다. 자료가 한쪽에 몰려 있으면 이 추정이 통째로 틀어진다.
② 사후분포. 관측점들을 넣고 나면 가우시안 과정, 즉 Gaussian process는 설계공간의 임의의 점마다 정규분포 하나를 돌려준다. 평균은 가까운 관측값들의 가중평균이다. 가중치는 커널이 정하는 유사도다. 분산은 관측점 바로 위에서 거의 0이고, 관측점에서 멀어질수록 사전분산 쪽으로 커진다. 이 분산이 베이지안 최적화의 심장이다. 회귀식이나 스플라인 같은 보통의 대리모델은 모르는 곳에서도 태연히 한 숫자를 답한다. 가우시안 과정은 모르는 곳을 모른다고 수치로 말한다. 그래서 탐색이라는 행동이 원리적으로 가능해진다. 값이 좋아 보여서가 아니라 모르기 때문에 가 본다는 결정을 수치로 정당화할 수 있다. 실제 구현은 공분산행렬의 역행렬을 직접 구하지 않고 Cholesky 분해를 쓴다. 관측점이 가까이 붙으면 행렬이 거의 특이해져 역행렬 계산이 무너지기 때문이다.
③ 커널 선택. 커널은 두 점이 얼마나 비슷한 함수값을 가질 것인가에 대한 사전 믿음이다. 곧 함수의 매끄러움에 대한 가정이다. 오래 쓰인 제곱지수 커널은 거리 제곱에 지수를 씌운 형태인데, 이 커널에서 나온 표본경로는 무한히 미분가능하다. 실제 설계문제의 반응면에 비해 비현실적으로 매끄럽다는 것이 Snoek 일행의 지적이다. 너무 매끄럽다고 믿으면 모델이 과신하고, 불확실성을 실제보다 작게 말한다. 대안이 Matérn 5/2 커널이다. 이 커널의 표본경로는 두 번 미분가능하다. 준뉴턴법 같은 통상의 최적화 기법이 가정하는 정도의 매끄러움과 같다. 여기에 ARD, 즉 automatic relevance determination을 붙인다. 길이척도를 전체에 하나만 두지 않고 차원마다 따로 두는 것이다. 이 장치는 부수적으로 민감도 분석을 내장한다. 어떤 변수의 길이척도가 아주 길게 추정되었다면, 그 변수를 끝에서 끝까지 움직여도 함수값이 거의 변하지 않는다는 뜻이다. Jones는 이 값을 변수의 활성도라고 불렀다. 최적화가 끝나면 어느 설계변수가 실제로 효과가 있었는지가 모델 안에 이미 적혀 있다.
④ 하이퍼파라미터 처리. 추정할 것은 차원마다 하나씩인 길이척도, 함수값의 진폭, 관측잡음의 크기, 상수 평균이다. 변수가 D개면 D+3개다. Jones는 최대우도로 점추정했다. Snoek 일행은 그 점추정이 관측 열댓 개 수준의 초반부에서 과신을 낳는다고 보았다. 길이척도 하나를 잘못 찍으면 그 뒤의 모든 제안이 그 오류를 물려받는다. 그래서 slice sampling으로 하이퍼파라미터의 사후표본을 여러 벌 뽑고, 각 표본이 만든 획득함수를 평균 낸다. 이를 적분된 획득함수라 부른다. 계산이 더 들지만 논리는 단순하다. 가우시안 과정 적합 비용은 관측수 세제곱에 비례하는데, 목적함수 한 번 평가가 그보다 훨씬 비싸다. 모델 쪽에 계산을 더 쓰는 편이 이득이다.
⑤ 획득함수. 이제 사후분포를 하나의 점수로 압축해 다음 실험점을 고른다. 각 후보점에서 예측평균이 현재 최량값보다 얼마나 높은지와 예측표준편차가 얼마나 큰지, 이 둘을 어떻게 섞느냐가 획득함수의 정체다.- EI, 기대개선량. 현재 최량값을 넘는 부분만 세어 그 기대값을 구한다. 정규분포 가정 아래 닫힌 형태로 풀린다. 예측평균이 높아져도 커지고 예측표준편차가 커져도 커진다. 그래서 유망한 곳과 모르는 곳 사이의 교환을 사람이 손으로 조절할 필요가 없다. 기본값으로 쓰이는 이유다.
- PI, 개선확률. 넘어설 확률만 본다. 아주 조금 넘어설 곳을 아주 많이 넘어설 곳보다 선호하게 되어 과도하게 탐욕적이다. Kushner의 원형이지만 지금은 거의 쓰지 않는다.
- GP-UCB. 예측평균에 예측표준편차를 정해진 계수로 더한다. 계수를 반복 횟수에 따라 키우는 일정표를 쓰면 후회의 상한을 증명할 수 있다. 이론적 성질이 가장 깔끔하다.
- Knowledge Gradient. 관측 자체의 개선이 아니라, 그 관측을 하고 나면 사후평균의 최댓값이 얼마나 오를지를 본다. 실제로 재보지 않은 점도 최종 답으로 추천할 수 있어 잡음이 있는 문제에 강하다.
- Entropy Search 계열. 최적점의 위치 또는 최적값에 대한 불확실성이 얼마나 줄어드는지를 보상으로 삼는다. 개선이 아니라 학습을 보상한다는 점에서 발상이 다르다.
내부 최적화와 정지. 획득함수 자체도 최대화해야 한다. 다만 이쪽은 값싸고 미분가능하므로 여러 시작점에서 L-BFGS-B 같은 구배법을 돌린다. Jones는 분기한정법을 썼다. 정지규칙의 원형도 Jones가 제시했다. 기대개선량의 최대값이 현재 최량값의 1퍼센트에 못 미치면 멈춘다. 대리모델이 더 나올 것이 없다고 스스로 말하게 하는 방식이고, 앞서 말한 정지규칙 부재에 대한 직접적인 답이다. 이 다섯 단계가 한 바퀴 돌면 새 관측이 하나 추가되고, 사후분포가 갱신되어 다시 ②로 돌아간다.
변형다목적. 출발점은 ParEGO다. Joshua Knowles, "ParEGO: a hybrid algorithm with on-line landscape approximation for expensive multiobjective optimization problems", IEEE Transactions on Evolutionary Computation 10권 1호 50-66쪽, 2006년. 매 반복마다 무작위 가중치를 새로 뽑아 여러 목적을 하나로 합치고, 합친 값에 대해 통상의 단일목적 EGO를 한 번 돌린다. 합치는 방식은 증강 체비셰프 스칼라화다. 최악 목적을 주로 보되 나머지 목적의 합을 작은 계수로 더해 약한 해가 끼어드는 것을 막는다. 값싸고 구현이 쉽지만 Pareto front를 고르게 덮는다는 보장은 없다. 지표 기반 계열은 초부피 개선 기대값을 쓴다. Emmerich의 EHVI가 원형이고, Samuel Daulton, Maximilian Balandat, Eytan Bakshy의 qEHVI가 2020년 NeurIPS에서 실용화했다. qEHVI는 몬테카를로 추정기의 정확한 그래디언트를 자동미분으로 얻어 병렬 배치와 제약을 함께 다룬다. 후속인 qNEHVI는 2021년 NeurIPS에 나왔고, Pareto front 자체의 불확실성을 적분해 관측잡음이 있을 때 EHVI가 편향되는 문제를 고쳤다.
제약. Jacob R. Gardner, Matt J. Kusner, Zhixiang Xu, Kilian Q. Weinberger, John P. Cunningham의 "Bayesian Optimization with Inequality Constraints", ICML 2014, 937-945쪽이 기본형이다. 제약함수에도 가우시안 과정을 따로 씌우고, 기대개선량에 제약 만족확률을 곱한다. Michael A. Gelbart, Jasper Snoek, Ryan P. Adams의 "Bayesian Optimization with Unknown Constraints", UAI 2014는 성격이 다르다. 제약식을 미리 적을 수 없고 시뮬레이션이 그냥 실패해 버리는 경우를 다룬다. 정보 기반 확장은 Hernández-Lobato 일행의 PESC, 고차원과 대규모 제약은 Eriksson과 Poloczek의 SCBO가 있다.
병렬과 배치. Snoek 일행이 2012년에 이미 방법을 제시했다. 아직 결과가 돌아오지 않은 평가 J개에 대해 가능한 결과를 여러 벌 상상해 몬테카를로로 적분한 뒤 다음 점을 고른다. 상상한 값이라는 뜻에서 fantasy라 부른다. TuRBO는 톰프슨 표집을 배치 획득함수로 써서 배치 크기에 대해 비용이 선형으로만 는다.
고차원, 신뢰영역 방식. TuRBO는 David Eriksson, Michael Pearce, Jacob Gardner, Ryan D. Turner, Matthias Poloczek의 "Scalable Global Optimization via Local Bayesian Optimization", NeurIPS 32, 2019년이다. 전역 가우시안 과정 하나 대신 신뢰영역 여러 개를 동시에 유지한다. 각 신뢰영역은 그 영역의 최량점을 중심으로 한 초직육면체다. 변의 길이는 기저길이를 차원별 길이척도에 비례해 재배분해 정하되 전체 부피는 유지한다. 민감한 변수 쪽으로는 좁게, 둔감한 변수 쪽으로는 넓게 상자를 눕히는 셈이다. 연속으로 몇 번 개선하면 상자를 두 배로 키우고, 연속으로 몇 번 실패하면 절반으로 줄인다. 최소 크기 밑으로 내려가면 그 영역을 버리고 다른 곳에서 새로 시작한다. 영역 사이의 표본 배분은 톰프슨 표집으로 한다. 고치려 한 것은 두 가지다. 전역 획득함수가 고차원에서 경계와 구석만 계속 찔러대는 과잉탐색, 그리고 전역 가우시안 과정이 설계공간 전체에 같은 매끄러움을 가정하는 균질성이다. 로봇 밀기 14차원 문제에서는 EBO가 3만 회 평가로 보상 중앙값 8.3을 얻은 데 비해 TuRBO-1이 2천 표본만으로 약 9.4에 도달했다고 보고되었다.
고차원, 희소성 방식. SAASBO는 David Eriksson과 Martin Jankowiak의 "High-Dimensional Bayesian Optimization with Sparse Axis-Aligned Subspaces", UAI 2021이다. 역제곱 길이척도에 계층적 half-Cauchy 사전분포를 걸어 대부분의 변수를 0 근처로 눌러 둔다. 자료가 강하게 요구하는 소수의 변수만 0에서 탈출한다. 추론은 NUTS 표집으로 한다. 변수 수가 커져도 모델이 붕괴하지 않는 이유다. 경쟁 계열인 무작위 임베딩, 즉 ALEBO나 HeSBO는 입력공간을 무작위로 뒤섞고 목표 부분공간 차원을 미리 정해야 한다는 약점이 있다. 한편 2024년 Carl Hvarfner, Erik Orm Hellsten, Luigi Nardi는 "Vanilla Bayesian Optimization Performs Great in High Dimensions"에서 길이척도 사전분포를 차원 수에 맞춰 늘려 잡기만 해도 표준 베이지안 최적화가 고차원 전용 기법을 능가한다고 보였다.
다충실도. 정밀한 해석과 거친 해석을 섞어 쓰는 방식이다. Huang 일행의 2006년 순차 크리깅이 출발점이고, Aaron Klein, Stefan Falkner, Simon Bartels, Philipp Hennig, Frank Hutter의 FABOLAS가 2017년 AISTATS에 나왔다. 데이터셋 크기를 충실도 축으로 삼아 작은 부분집합에서 싸게 탐색한 뒤 전체 크기로 외삽한다. 기존 방식보다 10배에서 100배 빠르게 좋은 해를 찾았다고 보고된다. Kirthevasan Kandasamy 일행의 BOCA는 충실도를 이산 단계가 아니라 연속변수로 다룬다.
정보 기반 획득함수의 계보. Entropy Search는 Philipp Hennig와 Christian J. Schuler, JMLR 13권 1809-1837쪽, 2012년. Predictive Entropy Search는 José Miguel Hernández-Lobato, Matthew W. Hoffman, Zoubin Ghahramani, NIPS 2014. Max-value Entropy Search는 Zi Wang과 Stefanie Jegelka, ICML 2017로, 최적점의 위치 대신 최적값의 엔트로피만 다뤄 계산량을 크게 낮췄다. Knowledge Gradient는 Peter I. Frazier, Warren B. Powell, Savas Dayanik, INFORMS Journal on Computing 21권 4호 599-613쪽, 2009년이다.
수치적 결함의 수정. Sebastian Ament, Samuel Daulton, David Eriksson, Maximilian Balandat, Eytan Bakshy의 "Unexpected Improvements to Expected Improvement for Bayesian Optimization", NeurIPS 2023이 LogEI와 qLogEI를 제시했다. 기대개선량은 수학적으로 거의 모든 곳에서 양수지만 배정밀도 부동소수점에서는 정확히 0으로 내려앉는다. 0이 되면 구배가 사라져 획득함수 최적화가 아무 데도 가지 못한다. 로그공간에서 계산하도록 식을 다시 써서 이 문제를 없앴다.
소프트웨어 계보. Spearmint에서 GPyOpt, scikit-optimize, RoBO, Dragonfly, Emukit을 거쳐 BoTorch로 이어진다. BoTorch는 Maximilian Balandat 일행의 2020년 NeurIPS 논문으로 공개되었고 몬테카를로 획득함수와 자동미분을 표준화했다. 상위 API가 Ax다. 설계 분야에서는 Thomas Wortmann의 Grasshopper 플러그인 Opossum이 RBFOpt와 RBFMOpt, CMA-ES를 제공한다.
활용① 도시계획 다목적 트레이드오프. 조경 실무에 가장 가까운 사례다. Roland Reitberger, Nicolai Palm, Herbert Palm, Werner Lang의 "Urban systems exploration: A generic process for multi-objective urban planning to support decision making in early design phases", Building and Environment 254권 111360, 2024년. 소속은 각각 TU München의 에너지효율 지속가능설계건축연구소, LMU Munich Center for Machine Learning, Hochschule München Systems Engineering Lab이다. 뮌헨의 실제 근린을 Rhino와 Grasshopper로 파라메트릭 모델링하고, Ladybug Tools로 옥외 열쾌적성을, 별도로 생애주기 지구온난화 잠재력을 계산해 두 목적을 함께 다뤘다. 여기까지는 초록 수준에서 확인된다. 다음 수치들은 전문 접근이 막혀 원문 대조를 하지 못했으므로 인용 시 출처를 다시 확보해야 한다. 보고된 바로는 설계변수 14개를 썼고 수목 점유율, 수관 직경, 수관 투과율, 지붕과 입면의 태양광 비율, 단열재, 창면적비, 가로폭 등이 포함된다. 열쾌적성은 5월부터 8월까지 매시 15개 격자점의 UTCI로, 온실가스는 50년 생애주기의 자재생산, 교체, 운영에너지, 폐기 단계로 계산했다고 한다. 가우시안 과정 회귀 기반 다목적 라이브러리 Paref를 NSGA-II 및 순수 라틴 하이퍼큐브와 동일 예산 100회 평가로 비교해 하이퍼볼륨이 Paref 53.92, NSGA-II 44.26, 라틴 하이퍼큐브 37.17이었다고 보고된다. 실무적으로 더 중요한 숫자는 훈련점 40개에서 대리모델의 오차 지표가 수렴했다는 것이다. 그 뒤로는 대리모델 위에서 10만 개 표본을 초 단위로 평가해 Pareto front를 메웠고, Sobol 전체효과지수로 지배 인자를 좁혔으며, 군집분석으로 Pareto front를 7개 설계 유형으로 번역했다고 한다. 초록에서 확실히 확인되는 결론은 수목 관련 변수와 동서 입면 태양광이 가장 민감한 파라미터였다는 점이다.
② 도시 캐노피 열환경 3목적. R. Walter, J. Gelhaus, D. Anton, H. Wessels, S. Weber, Technische Universität Braunschweig, "Analysis of trade-offs in urban heat mitigation using a Bayesian Optimization framework for an urban canopy layer model", arXiv:2609.25953, 2026년 9월. 기계론적 단층 도시캐노피 모델 Urban Tethys-Chloris를 MATLAB 구현으로 돌렸다. 설계변수는 8개로 캐니언 높이와 폭, 지붕 폭, 지표 식생 비율, 수관 반경 스케일, 벽 알베도, 벽 열전도율, 벽 체적열용량이다. 목적은 3개로 높이 2미터의 주간 최고기온, 같은 높이의 야간 최저기온, 높이 1.1미터의 UTCI 피크다. 다목적 처리는 Knowles의 증강 체비셰프 스칼라화를 썼고 가중치는 Sobol 수열로 뽑았다. 커널은 ARD 제곱지수, 획득함수는 기대개선량이다. 초기 라틴 하이퍼큐브 50점에 베이지안 최적화 94회를 더해 총 144회 평가로 비지배해 33개를 얻었다. 10회 반복실행의 하이퍼볼륨 변동계수는 1.32퍼센트였다. 설계공간의 폭은 주간 최고기온 최대 5.2도, 야간 최저기온 2.6도, UTCI 7.9도였다. 핵심 발견은 주간 열스트레스 저감과 야간 냉각이 서로 상충한다는 것이다. 대상지는 북위 52.27도, 동경 10.54도의 Braunschweig이고 LCZ 2 밀집 중층 유형이며 2021년 7월에서 10월 실측으로 검증했다.
③ 원조 공학 벤치마크. Jones, Schonlau, Welch 1998의 EGO 결과다. Branin 2차원 28회, Goldstein-Price 2차원 32회, Hartman 3차원 34회로 정지 시 실제오차 1.7퍼센트, Hartman 6차원 84회로 오차 1.9퍼센트였고 1퍼센트 정확도까지는 121회가 걸렸다. 같은 논문은 계산 부담도 함께 보고했다. Hartman 6에서 첫 반복에 135초가 걸렸고 Branin은 139초, Goldstein-Price는 6초, Hartman 3은 40초였다. Hartman 6의 마지막 반복은 262초였다. 최대우도 추정과 분기한정법을 합친 시간이며, 획득함수 최적화 자체가 병목이 될 수 있음을 처음부터 드러낸 수치다.
④ 기계학습 하이퍼파라미터. 숫자가 가장 분명한 사례다. Snoek 일행 2012는 CIFAR-10 영상분류용 3층 합성곱신경망의 하이퍼파라미터 9개를 튜닝했다. 학습 에폭 수, 학습률, 층별 가중치 감쇠 4개, 응답 정규화의 폭과 스케일과 지수다. 결과는 테스트오차 14.98퍼센트로, 전문가의 수동 튜닝 결과인 18퍼센트와 당시 최고 성능을 3퍼센트포인트 이상 앞질렀다. 같은 논문의 온라인 LDA 사례는 6×6×8, 즉 288개 격자탐색을 대체했다. 평가 한 번에 5시간에서 10시간이 걸려 전체로는 60에서 120 프로세서일에 해당한다. 검증 자료는 위키백과 249,560개 문서였고 어휘 크기는 7,702다. 구조화 SVM으로 단백질 모티프를 찾는 문제에서는 1,400점 격자를 대체했다.
⑤ 대규모 경쟁 검증. Ryan Turner, David Eriksson, Michael McCourt, Juha Kiili, Eero Laaksonen, Zhen Xu, Isabelle Guyon의 "Bayesian Optimization is Superior to Random Search for Machine Learning Hyperparameter Tuning", PMLR 133권 3-26쪽, 2021년. 2020년 7월부터 10월까지 진행된 NeurIPS Black-Box Optimization Challenge의 분석이다. 최종 리더보드는 60개 문제, 문제당 16회 반복에 배치 8, 즉 128회 평가였고 제안 생성에 허용된 시간은 총 640초였다. 참가 65팀 중 61팀이 무작위탐색을, 23팀이 TuRBO 베이스라인을 능가했다. 1위는 Huawei Noah's Ark Lab 93.519점, 2위 NVIDIA RAPIDS.AI 92.928점, 3위 JetBrains Research 92.509점, 4위 Duxiaoman DI 92.212점이다. 배경 통계 하나를 덧붙일 만하다. Bouthillier와 Varoquaux의 조사에서 NeurIPS 논문의 7퍼센트, ICLR 논문의 6퍼센트만이 베이지안 최적화 계열을 쓰고 있었다.
⑥ 건축설계 알고리즘 벤치마크. Thomas Wortmann, "Genetic evolution vs. function approximation: Benchmarking algorithms for architectural design optimization", Journal of Computational Design and Engineering 6권 3호 414-428쪽, 2019년. 시뮬레이션 기반 문제 7개를 썼다. 구조 2개, 건물에너지 3개, 주광과 눈부심 2개다. 변수는 4개에서 40개, 예산은 500회 평가다. 결론은 모델 기반 기법인 RBFOpt가 가장 효율적이고 강건했으며 유전알고리즘은 단순 직접탐색보다도 뒤처졌다는 것이다. 설계 분야에서 유전알고리즘이 기본값처럼 쓰이는 관행을 정면으로 반박한 결과다. 같은 계열의 RBFMOpt는 Black Box Optimization Competition 2019의 2목적 고비용 트랙에서 우승했고 전년도 우승자인 상용 솔버 Artelys Knitro를 능가했다고 공식 배포 페이지에 적혀 있다.
⑦ 고차원 실제 공학. MOPTA08 차량설계 문제는 설계변수 124개, 성능제약 68개이고 목적은 차량 질량 최소화다. 변수는 재료, 판 두께, 형상이다. SAASBO는 이 문제에서 유효 부분공간의 차원이 평가 100회에서 400회 구간에 걸쳐 약 2개에서 약 10개로 꾸준히 늘어남을 보였다. 판정 기준은 역제곱 길이척도의 사후 중앙값이 0.1을 넘는지였다. 즉 124개 변수 중 실제로 쓰인 것은 열 개 안쪽이라는 뜻이다. TuRBO 쪽 벤치마크는 14차원 로봇 밀기 1만 회, 60차원 로버 궤적계획 2만 회 배치 100, 12차원 우주론 상수 보정 2천 회, 12차원 달착륙선 강화학습 1,500회, 200차원 Ackley 1만 회다.
⑧ 재료와 물리. Shenghong Ju, Takuma Shiga, Lei Feng, Zhufeng Hou, Koji Tsuda, Junichiro Shiomi, "Designing Nanostructures for Phonon Transport via Bayesian Optimization", Physical Review X 7권 021024, 2017년. 6만 개가 넘는 후보 구조 가운데 수 퍼센트만 계산하고도 최적 구조를 특정했다.
한계- ① 관측수 세제곱 비용. 가우시안 과정 적합은 관측수 n에 대해 n×n 공분산행렬의 Cholesky 분해를 요구한다. 시간은 n의 세제곱, 메모리는 n의 제곱에 비례한다. 정확한 가우시안 과정은 실무적으로 수천 점이 상한이다. 그 위로는 희소 근사나 국소 모델, 랜덤 특징으로 갈아타야 한다. 더 흔한 함정은 방향이 반대다. 평가 한 번이 초 단위로 끝나는 값싼 시뮬레이션에서는 획득함수를 최적화하는 시간이 시뮬레이션 시간을 넘어선다. 이때는 베이지안 최적화가 손해다. Jones 1998이 Hartman 6의 첫 반복에 135초, 마지막 반복에 262초가 걸렸다고 보고한 것이 이 문제의 첫 기록이다.
- ② 차원의 벽. Frazier의 2018년 튜토리얼은 성공 사례 대부분이 변수 20개 이하라고 못 박는다. Eriksson과 Jankowiak은 붕괴 방식을 정량적으로 보였다. 고차원에서 최대우도나 약한 사전분포로 길이척도를 적합하면 대부분의 길이척도가 비슷한 크기로 몰린다. 그러면 무작위 테스트점과 훈련점 사이의 커널 유사도가 차원에 대해 지수적으로 작아져 사실상 0이 된다. 모델이 어디서나 사전평균만 답하는 상태가 된다. 예측은 평평하고 불확실성은 어디서나 최대라 획득함수가 정보를 주지 못한다. 다만 Hvarfner 일행 2024는 이것이 차원 자체의 문제가 아니라 길이척도 사전분포를 차원에 맞춰 늘려 잡지 않은 탓이라고 지적한다. 실패의 상당 부분이 알고리즘이 아니라 기본 설정에서 온다는 뜻이다.
- ③ 기대개선량의 구배 소멸. 가장 실무적인 함정이다. Ament 일행 2023은 기대개선량이 수학적으로 거의 모든 곳에서 양수임에도 배정밀도 부동소수점에서는 정확히 0이 되는 영역이 관측이 쌓일수록 급격히 넓어짐을 보였다. 도메인 표본 중 구배 크기가 10의 마이너스 10승보다 작은 비율이 크게 늘어난다. 10차원 제곱합 문제에서는 관측 약 75개 이후 기대개선량이 완전히 정체하는 반면 로그공간 버전은 계속 진전했다. 고차원 Ackley에서는 거의 전 영역의 구배가 수치적으로 0이 된다. 수렴한 것처럼 보이는 정체의 상당수가 실은 부동소수점 문제라는 점이 중요하다. 곡선이 평평해졌다고 최적을 찾았다고 보고하면 안 된다.
- ④ 과잉착취와 과잉탐색. 병리가 양방향으로 나타난다. 한쪽에서는 기대개선량이 하이퍼파라미터 불확실성을 무시하고 적합된 모델을 과신한다. Adam D. Bull은 2011년 JMLR 논문에서 흔히 쓰이는 상관함수 부류에 대해, 하이퍼파라미터를 자료에서 추정할 때 기대개선량이 전역최적을 결코 찾지 못하는 매끄러운 함수가 항상 존재함을 증명했다. 반대쪽에서는 후반부에 더 개선이 기대되지 않으면 불확실성만 큰 경계와 구석을 반복해 질의한다. TuRBO 논문이 전역 획득함수의 과잉탐색을 고차원 실패의 주원인으로 지목한 것이 같은 현상이다.
- ⑤ 커널과 변환의 오지정. Jones 일행은 자기들의 테스트함수 4개 중 Goldstein-Price와 Hartman 6은 로그변환을 하지 않으면 모델이 제대로 맞지 않는다고 보고했고, 교차검증 잔차 진단을 필수 절차로 넣었다. 목적함수가 몇 자릿수에 걸쳐 변하는 경우가 흔하다. 에너지 사용량, 눈부심 지표, 우수 유출량이 그렇다. 영역마다 매끄러움이 다른 경우도 마찬가지다. 그늘이 생기는 구간과 안 생기는 구간에서 반응면의 성질이 다르다. 정상 커널을 쓰는 가우시안 과정은 이런 비정상성 앞에서 불확실성을 잘못 말한다. Snoek 일행도 제곱지수 커널의 무한미분가능 가정이 너무 강하며 커널 선택과 길이척도 추정이 성능을 유의하게 좌우한다고 실험으로 보였다.
- ⑥ 잡음. 기대개선량의 기준점은 관측된 최량값이다. 잡음이 있으면 운 좋게 튄 관측이 기준점 자리를 차지한다. 그 주변을 계속 파내면서 실제로는 개선이 없다. 몬테카를로 광선추적 일사해석이나 난류 유동해석처럼 확률적 시뮬레이션에서 반드시 겪는다. 대응은 잡음 대응 기대개선량, Knowledge Gradient, qNEHVI 같은 획득함수다. 다목적에서는 Pareto front 자체가 잡음으로 흔들려 초부피 개선 기대값이 편향된다.
- ⑦ 이산과 범주형 변수. 커널은 두 점 사이의 연속적 거리를 전제한다. 수종 선택, 포장재 종류, 배치 유형 같은 순서 없는 범주는 이 전제를 깬다. 원-핫 인코딩을 하면 차원이 늘고 거리가 왜곡된다. 느티나무와 이팝나무 사이의 거리가 이팝나무와 소나무 사이의 거리와 같다고 모델이 믿게 된다. 범주 전용 커널이나 혼합형 기법이 있지만 표준 해법은 아직 없다.
- ⑧ 실패하는 평가. 기하가 자기교차하거나 메시 생성이 실패해 시뮬레이션이 값을 돌려주지 않는 경우가 있다. 이 결과를 그냥 버리면 모델 입장에서는 그 영역이 여전히 미지의 유망 지역이라 계속 그쪽을 제안한다. 예산이 실패에 소모된다. Gelbart, Snoek, Adams가 다룬 알 수 없는 제약이 정확히 이 문제다. 다만 반대 방향의 보고도 있다. 실패확률로 획득함수를 가중하는 연성 방식은 실패 경계를 과도하게 피해 고성능 영역 근처에서 효율이 떨어진다.
- ⑨ 배치 중복과 재현성. 획득함수 상위 q개를 그냥 뽑으면 거의 같은 점이 나온다. 획득함수가 매끄러우므로 최댓값 근처가 다 높기 때문이다. 상상 적분이나 톰프슨 표집이 필요한 이유다. 그리고 결과는 초기 설계의 난수 시드에 따라 흔들린다. Walter 일행이 10회 반복실행의 하이퍼볼륨 변동계수 1.32퍼센트를 함께 보고한 것이 최소한의 성실성이다. 한 번 돌린 결과만 보고하는 비교는 신뢰하기 어렵다. 끝으로 SAASBO는 NUTS 추론 때문에 반복당 오버헤드가 크다. 평가가 싼 문제에서는 쓸 이유가 없다.
공원에서잘할 일. 파라메트릭 소공원 설계는 베이지안 최적화의 정확한 적용 대상이다. 전형적인 문제 설정은 이렇다. 연속 설계변수 8개에서 15개를 둔다. 수목 배치 밀도, 수관 규격, 수종군별 비율, 포장 투수율, 지형 기복의 진폭, 차폐구조의 각도와 높이, 수공간 면적 같은 것들이다. 목적은 2개에서 4개를 둔다. 여름철 옥외 열쾌적성 UTCI 또는 PET, 우수 유출 저감량, 일조와 음영 확보량, 조성 단계 탄소배출, 공사비다. 이 규모가 적합하다고 말할 근거는 두 건의 선행 연구다. 첫째, Reitberger 일행 2024는 설계변수 14개와 목적 2개를 평가 100회 예산으로 다뤘고 가우시안 과정 회귀 기반 최적화가 NSGA-II보다 하이퍼볼륨 기준으로 우월했다고 보고한다. 소공원 문제와 사실상 같은 규모다. 둘째, Walter 일행 2026은 설계변수 8개와 목적 3개를 총 144회 평가로 다뤄 비지배해 33개를 얻었다. 평가 예산 100회에서 300회 사이가 스위트스팟이라고 보아도 좋다. 이는 조경 실무의 계산 조건과 맞물린다. Ladybug와 Honeybee로 미기후 해석 한 번에 5분에서 30분이 걸린다면 100회에서 200회는 하룻밤에서 이틀 사이에 끝난다.
덜 알려졌지만 더 쓸모 있는 부수효과가 둘 있다. 첫째, 차원별 길이척도가 그대로 민감도 분석이다. 최적화가 끝나면 어느 설계변수가 실제로 성능을 움직였는지가 모델 안에 남는다. Reitberger 일행이 수목 관련 변수와 동서 입면 태양광만 지배 인자로 남긴 것이 이 유형의 결과다. 설계 협의에서 왜 이 변수를 붙잡고 저 변수는 놓았는지 설명할 근거가 된다. 둘째, 학습된 가우시안 과정을 대리모델로 재활용할 수 있다. 위 연구는 훈련점 40개에서 대리모델이 수렴한 뒤 그 위에서 10만 개 표본을 즉시 평가해 Pareto front를 메우고 군집으로 나눴다고 보고한다. 발주처 앞에서 슬라이더를 움직이며 수관 직경을 키우면 열쾌적성이 얼마 좋아지고 공사비가 얼마 오르는지 실시간으로 보여주는 도구가 여기서 나온다. 최적해 한 점을 납품하는 것보다 이쪽이 설계 협의에서 더 쓸모 있다.
못할 일. 첫째, 범주형 결정이다. 수종 선택, 포장 재료, 배치 유형 같은 순서 없는 선택지는 커널의 거리 전제를 깬다. 둘째, 수목 100그루의 개별 좌표처럼 차원이 수백으로 가는 배치 문제다. 표준 베이지안 최적화의 영역이 아니다. TuRBO나 SAASBO로 넘어가거나, 좌표를 직접 다루지 말고 밀도, 군집도, 열간격 같은 저차원 생성규칙으로 다시 파라미터화해야 한다. 후자가 대개 낫다. 셋째, 위상이 바뀌는 결정이다. 동선을 연결할지 말지, 수공간을 둘지 말지는 연속 사전분포로 표현되지 않는다. 넷째, 평가가 싼 문제다. 면적 집계나 단순 기하연산처럼 초 단위로 끝나는 평가라면 획득함수 최적화 오버헤드가 손해다. 그냥 전수탐색이나 NSGA-II가 낫다.
구현권장 조합. 파이썬 쪽은 BoTorch와 그 상위 API인 Ax가 사실상 표준이다. 다목적이고 잡음이 있고 병렬로 돌려야 한다면 qNEHVI를 쓴다. 더 가볍게 가려면 ParEGO식 체비셰프 스칼라화로 목적을 하나로 합치고 단일목적으로 돌린다. 어느 쪽이든 획득함수는 EI가 아니라 LogEI를 쓴다. BoTorch에서는 qLogEI와 qLogNEHVI가 대응한다. 구현 난이도는 같고 정체 위험만 사라지므로 선택의 여지가 없다. 고차원 희소 구조가 의심되면 Ax의 SAASBO 모델을 쓸 수 있으나 반복당 추론 비용이 크다. 가벼운 대안으로는 scikit-optimize와 GPyOpt가 있다. 둘 다 단일목적 소규모에는 충분하지만 최신 획득함수와 다목적 지원이 약하다. Emukit과 Dragonfly는 다충실도와 실험설계 쪽이 강하다.
Grasshopper 연결. 라이노와 파이썬을 잇는 공식 다리는 없다고 보는 편이 안전하다. 실무적으로는 파일 커플링으로 붙인다. 파이썬이 설계변수 한 벌을 CSV로 쓰고, 헤드리스로 띄운 Grasshopper 정의가 그 CSV를 읽어 형상을 만들고 해석을 돌린 뒤 결과를 다시 CSV로 쓴다. 파이썬은 파일이 나타날 때까지 기다렸다 읽는다. 배치 실행에는 Rhino.Inside나 Rhino의 명령행 실행을 쓴다. 해석 엔진은 미기후와 일조에 Ladybug와 Honeybee, 우수에 SWMM, 탄소는 자재 물량과 원단위 표를 곱한 집계 스크립트면 된다. 이 파이프라인에서 제일 자주 깨지는 지점은 형상 생성 실패다. 반드시 해석 성공 여부를 별도 열로 남겨야 한다.
설계 분야 자체 도구. Thomas Wortmann의 Grasshopper 플러그인 Opossum이 있다. RBFOpt, RBFMOpt, CMA-ES를 제공한다. 엄밀히 말해 가우시안 과정이 아니라 방사기저함수 대리모델을 쓰므로 불확실성 추정은 다르다. 그래도 대리모델 기반이라는 성격은 같고, 설계자가 코드를 쓰지 않고 붙일 수 있다는 점이 장점이다. RBFMOpt는 Black Box Optimization Competition 2019의 2목적 고비용 트랙에서 우승했다고 공식 배포 페이지가 밝히고 있다. Reitberger 일행이 쓴 Paref는 가우시안 과정 회귀 기반 다목적 라이브러리다. 도시계획 문제에 실제로 적용된 사례가 있다는 점이 참고가 된다.
실행 순서.- ① 설계변수를 연속 8개에서 15개로 압축한다. 범주형은 변수로 넣지 말고 시나리오로 분리해 각각 별도로 돌린다. Reitberger 일행이 두 개의 개보수 시나리오를 나눈 방식이 그렇다.
- ② Grasshopper 정의를 CSV 입출력 헤드리스 배치로 개조한다. 여기에 드는 시간이 전체 작업의 절반이다.
- ③ 라틴 하이퍼큐브로 초기 20점에서 50점을 뽑는다. 사영의 균일성을 확인한다.
- ④ 목적별로 별도 가우시안 과정을 학습한다. 커널은 ARD Matérn 5/2를 기본으로 한다. 목적값이 여러 자릿수에 걸치면 로그변환한다.
- ⑤ 실패한 평가는 결측으로 버리지 말고 성공 여부를 이진 분류 문제로 따로 모델링해 제약으로 붙인다.
- ⑥ 배치 크기는 해석 병렬도에 맞춘다. 총 100회에서 200회 평가를 목표로 한다.
- ⑦ 시드를 바꿔 최소 3회, 가능하면 10회 반복실행하고 하이퍼볼륨의 변동계수를 함께 보고한다.
- ⑧ 학습이 끝난 가우시안 과정을 파일로 저장한다. 차원별 길이척도로 민감도를 읽고, 대리모델 위에서 수만 점을 평가해 대화형 탐색 도구로 재사용한다.
점검 습관. 매 반복 획득함수의 최대값을 로그에 남긴다. 그 값이 갑자기 0에 붙으면 수렴이 아니라 수치 문제를 의심한다. 교차검증 잔차를 주기적으로 그려 모델이 실제로 맞고 있는지 본다. 이 두 가지만 해도 실패 대부분을 조기에 잡는다.
↑ 목차
5 · MAP-Elites와 품질·다양성 탐색
Jean-Baptiste Mouret, Jeff Clune (2015) · arXiv:1504.04909
계보 — 신규성 탐색: Joel Lehman & Kenneth Stanley (2011)
배경MAP-Elites는 2015년 4월 20일 arXiv에 올라온 프리프린트에서 처음 제안되었다. 저자는 당시 파리6대학 CNRS UMR 7222 ISIR 소속의 Jean-Baptiste Mouret와 와이오밍대학의 Jeff Clune이다. 논문 제목은 Illuminating search spaces by mapping elites, 식별번호는 arXiv:1504.04909다. 이름은 다차원 표현형 엘리트 아카이브, 곧 Multi-dimensional Archive of Phenotypic Elites의 줄임말이다.
이 논문은 지금까지 학술지나 학회에 정식 게재된 적이 없다. 저자들 스스로 본문에 예비 초고라고 적어 두었다. 물렁로봇 실험의 일부 조건은 계획한 10회 대신 5회에서 8회만 반복했다. 그런데도 진화연산 분야에서 가장 많이 인용되는 연구 가운데 하나가 되었다. 정식 심사를 거치지 않은 글이 사실상 표준이 된 드문 사례다.
두 사람이 문제 삼은 것은 기존 최적화기의 습성이다. 유전 알고리즘이나 CMA-ES 같은 블랙박스 최적화기는 개체군 전체를 하나의 최적점으로 수렴시킨다. 그 과정에서 지나친 해는 모두 버린다. 설계자와 로봇공학자에게는 버려진 쪽이 오히려 쓸모 있다. 질적으로 다른 해들 사이에서 성능이 어떻게 달라지는지가 실제 의사결정의 재료이기 때문이다. Mouret와 Clune은 과제를 다시 정의했다. 최적화는 가장 좋은 해 하나를 찾는 일이다. 조명은 사용자가 고른 특징들의 모든 조합마다 그 특징을 가진 최고의 해를 찾는 일이다. 결과물은 해 하나가 아니라 지도가 된다.
지적 계보는 발산 탐색에 닿아 있다. Joel Lehman과 Kenneth O. Stanley의 Abandoning Objectives: Evolution Through the Search for Novelty Alone이 출발점이다. Evolutionary Computation 19권 2호 189쪽에서 223쪽, 2011년 6월, DOI 10.1162/evco_a_00025다. 이 논문은 목적함수를 보상하는 대신 행동의 새로움만 보상하는 편이 더 나은 경우가 많다고 주장했다. 목적함수는 기만적이고, 진짜 진보는 눈에 띄지 않는 디딤돌을 거쳐 일어나기 때문이다. 이후 지역 경쟁을 결합한 신규성 탐색이 품질 축을 더했다.
MAP-Elites는 이 계보를 훨씬 단순한 장치로 바꿨다. 신규성 탐색의 k최근접이웃 거리 계산과 무한히 커지는 보관소를 없앴다. 대신 미리 칸으로 나눈 고정 격자를 두고, 경쟁을 칸 안으로만 제한했다. 계산해야 할 거리도, 조절할 혼잡도 파라미터도 사라졌다.
품질다양성, Quality Diversity라는 우산 용어는 뒤에 붙었다. Justin K. Pugh, Lisa B. Soros, Kenneth O. Stanley가 중앙플로리다대학에서 쓴 Quality Diversity: A New Frontier for Evolutionary Computation, Frontiers in Robotics and AI 3권 40번 논문, 2016년 7월 12일, DOI 10.3389/frobt.2016.00040이다. 이 논문이 MAP-Elites와 지역 경쟁형 신규성 탐색을 한 가족으로 묶었다.
흔한 오해를 하나 정리해 둔다. 이 2016년 논문이 Mouret와 Clune의 전역 신뢰도 지표를 QD 점수로 개명했다는 설명은 틀렸다. 저자들은 QD 점수를 새 지표로 도입했고, 전역 신뢰도와 유사하다고만 적었다. 두 지표는 계산이 다르다. QD 점수는 각 칸에서 찾은 가장 높은 적합도를 그대로 모두 더한 값이다. 전역 신뢰도는 지도의 모든 칸에 대해 그 칸의 엘리트를 그 칸에서 알려진 최고 성능으로 나눈 비율을 구하고, 빈 칸은 0으로 세어 평균한 값이다. 2016년 논문은 새 QD 지표의 출처로 Pugh 등의 2015년 연구도 함께 인용한다.
원리사용자가 직접 정해 줘야 할 것은 네 가지다. 첫째, 유전자 표현이다. 변이를 가할 수치 파라미터 묶음을 말한다. 둘째, 성능 함수 performance(x)다. 해 하나를 받아 스칼라 하나를 돌려준다. 셋째, 특징 서술자 함수 feature_descriptor(x)다. 해 하나를 받아 저차원 벡터를 돌려준다. 넷째, 서술자 공간을 칸으로 나누는 이산화 방식이다. 이 네 가지가 정해지면 알고리즘 본체는 더 고를 것이 거의 없다.
Mouret와 Clune의 논문 그림 2에 실린 의사코드에는 이름 붙은 연산이 정확히 다섯 개 나온다. 하나씩 왜 그 자리에 있는지 보는 편이 이해가 빠르다.
1. random_solution(). 무작위 유전자 G개를 만들어 평가하고 각각을 해당 칸에 놓는다. 부팅 단계다. 아카이브가 완전히 비어 있으면 뽑을 부모가 없으므로 이 씨앗이 필요하다. 씨앗 수가 적으면 초기 탐색이 한쪽에 쏠리고, 많으면 예산을 앞에서 소진한다.
2. random_selection(X). 아카이브에 들어 있는 해 가운데 하나를 균등 무작위로 뽑는다. 적합도에 비례해 뽑지 않는다. 이것이 이 알고리즘에서 가장 중요한 설계 결정이다. 칸이 차 있기만 하면 어떤 해든 부모가 될 확률이 같다. 성능이 신통치 않아도 주변이 비어 있는 영역에 자리 잡은 해는 계속 살아남아 자손을 남긴다. 보통의 진화 알고리즘이라면 그 해는 첫 세대에 도태된다. 이 보호 장치 덕분에 탐색이 디딤돌을 밟고 건너간다. 당장은 나쁜 해가 나중에 좋은 해로 가는 유일한 통로인 경우가 실제로 많다. 목표를 중간에 갈아타는 행동도 여기서 나온다.
3. random_variation(x). 유전자에 변이를 가하고, 필요하면 교차도 한다. 여기서 반드시 짚어야 할 제약이 있다. 변이는 서술자 공간이 아니라 유전자 공간에서 일어난다. 현실적인 표현 방식에서는 유전자에서 표현형을 거쳐 서술자로 가는 사상을 역으로 풀 수 없기 때문이다. 즉 특정 칸을 겨냥해서 유전자를 만들어 낼 방법이 없다. 흔들어 보고 자식이 어디에 떨어지는지 확인하는 수밖에 없다. 결과적으로 지도의 채움은 저절로 생기는 현상이지 보장되는 성질이 아니다. 이 한 문장이 뒤에 나올 한계 대부분의 뿌리다.
4. feature_descriptor(x'). 자식의 서술자를 계산하고 반올림해 칸 색인으로 바꾼다. 연속값을 격자에 밀어 넣는 단계다. 격자 해상도가 여기서 개입한다.
5. performance(x'). 자식의 적합도를 계산한다. 보통 이 단계가 전체 비용의 거의 전부를 차지한다.
그다음이 교체 규칙이다. 자식은 목표 칸이 비어 있거나, 그 칸에 있던 기존 해의 성능이 자식 이하일 때만 저장된다. 내부적으로는 길이가 같은 배열 두 개를 유지한다. 하나는 성능 지도이고 다른 하나는 해 지도다. 같은 색인이 같은 칸을 가리킨다.
여기서 경쟁이 지역적이 된다. 어떤 설계안은 자신과 비슷하게 행동하는 설계안하고만 겨룬다. 수관 피복이 높고 동선 밀도가 낮은 배치안은 전체 우승자와 비교되지 않는다. 같은 성질을 가진 다른 배치안만 이기면 자리를 지킨다. 전역 최적화라면 지워 버렸을 틈새를 MAP-Elites가 남기는 이유가 이것이다.
고르고, 변형하고, 평가하고, 배치하는 이 순환을 평가 예산이 떨어질 때까지 반복한다. 구조상 병렬화가 거의 공짜다. 한 번의 반복에서 자식을 한꺼번에 만들어 동시에 평가하면 된다. 원 논문은 신경망 망막 과제에서 2,000개, 물렁로봇에서 1,024개를 한 배치로 돌렸다.
주목할 점은 아카이브의 지위다. 아카이브가 개체군이면서 동시에 최종 산출물이다. 별도의 신규성 보관소가 없다. k최근접이웃 거리 계산도 없다. 혼잡도 파라미터도 없다. 이 구조적 단순함이 이 방법이 빠르게 퍼진 실질적 이유로 꼽힌다. 수백 줄이면 구현되고, 어떤 평가 함수에도 갖다 붙일 수 있다.
보고 지표는 2015년 논문에서 모두 정의되었다. 피복률은 채워진 칸의 비율이다. 정밀도는 채워진 칸만 대상으로 알려진 최고치와의 평균 격차를 본다. 전역 신뢰도는 같은 계산을 하되 빈 칸을 0점으로 센다. 전역 성능은 지도 전체에서 가장 좋은 해 하나의 값이다. 아카이브 프로파일은 주어진 적합도 문턱을 넘는 칸이 몇 개인지를 문턱에 따라 그린 곡선이다. 하나만 봐서는 안 된다. 피복률만 높고 정밀도가 나쁘면 넓지만 얕은 지도다.
세 번째 단계에 널리 쓰이는 개선이 하나 있다. Vassilis Vassiliades와 Mouret가 GECCO 2018에서 제안한 방향성 변이 연산자다. DOI 10.1145/3205455.3205602이고, 실험에서 쓴 구체적 조합에는 Iso+LineDD라는 이름이 붙어 있다. 부모를 등방적으로 흔드는 동시에, 무작위로 고른 다른 엘리트 쪽으로 향하는 직선 방향의 변위를 더한다. 엘리트들이 유전자 공간에서 하나의 덩어리, 이른바 엘리트 초부피에 모여 있다는 관찰을 이용한다. 구현 비용이 사실상 없으면서 수렴을 앞당긴다고 보고된다.
변형원형 그대로 쓰는 경우는 오히려 드물다. 실무에서 마주치는 제약마다 대응하는 변형이 이미 나와 있다.- CVT-MAP-Elites. Vassilis Vassiliades, Konstantinos Chatzilygeroudis, Jean-Baptiste Mouret, IEEE Transactions on Evolutionary Computation 22권 4호 623쪽에서 630쪽, 2018년 8월,
DOI 10.1109/TEVC.2017.2735550, 프리프린트는 arXiv:1610.05729다. 격자 칸 수가 차원에 따라 지수적으로 폭발하는 문제를 없앤다. 각 축을 따로 나누는 대신, 무작위로 뽑은 서술자 표본에 k평균을 돌려 중심점 k개를 배치한다. 결과는 중심 보로노이 분할이고, 틈새 수는 차원과 무관하게 k로 고정된다. 미로 과제에서 1000차원 서술자, 육족 보행에서 36차원까지 시연했다. - 적응적 표본추출 기반 잡음 대응. Niels Justesen, Sebastian Risi, Jean-Baptiste Mouret, GECCO '19 Companion, 2019년 7월 13일, 121쪽에서 122쪽,
DOI 10.1145/3319619.3321904다. 아카이브에 든 엘리트를 다시 평가해 적합도와 서술자의 잡음을 평균으로 씻어낸다. 단순하지만 평가 예산을 더 쓴다. - Deep-Grid MAP-Elites. Manon Flageat와 Antoine Cully, 임페리얼칼리지런던, ALIFE 2020, MIT Press, 273쪽에서 282쪽,
DOI 10.1162/isal_a_00316, arXiv:2006.14253다. 칸마다 엘리트 하나가 아니라 작은 개체군을 저장해 깊이 축을 만든다. 성능은 그 개체군에서 근사한다. 재평가에 예산을 따로 쓰지 않고도 잡음이 완화된다. - SAIL, 대리모델 보조 조명이다. Adam Gaier, Alexander Asteroth, Jean-Baptiste Mouret, Evolutionary Computation 26권 3호 381쪽에서 410쪽, 2018년 9월,
DOI 10.1162/evco_a_00231다. MAP-Elites를 베이즈 최적화로 감싼다. 가우스 과정 모형을 적합시키고, 그 모형의 상한신뢰구간 획득함수 위에서 MAP-Elites를 돌려 획득 지도를 만든다. 그 지도를 Sobol 수열로 표집해 실제로 시뮬레이션할 가치가 있는 소수의 설계만 고른다. 다시 적합시키고 반복한다. 평가 한 번에 몇 시간이 드는 문제에서 품질다양성을 실용 범위로 끌어내린 변형이다. - CMA-ME. Matthew C. Fontaine, Julian Togelius, Stefanos Nikolaidis, Amy K. Hoover, GECCO '20, 94쪽에서 102쪽,
DOI 10.1145/3377930.3390232다. 무작위 변이를 이미터로 대체한다. 이미터는 CMA-ES 인스턴스이고, 순위를 매길 때 원 적합도가 아니라 아카이브 개선량을 보상한다. 후속인 CMA-MAE는 Fontaine과 Nikolaidis, GECCO 2023, arXiv:2205.10752이다. 두 기준 사이를 점진적으로 조절해 CMA-ME의 실패 사례 세 가지를 고쳤다. 목적함수를 너무 일찍 포기하는 경우, 목적함수가 평탄한 경우, 아카이브 해상도가 낮은 경우다. - PGA-MAP-Elites. Olle Nilsson과 Antoine Cully, GECCO '21, 866쪽에서 875쪽,
DOI 10.1145/3449639.3459304다. 자손의 절반을 TD3 정책 경사로 만든다. 신경망 가중치가 유전자인 경우를 겨냥한다. - AURORA, 비지도 서술자 학습이다. Antoine Cully, GECCO '19, 81쪽에서 89쪽,
DOI 10.1145/3321707.3321804이고, Luca Grillotti와 Antoine Cully가 IEEE TEVC 26권 6호 1539쪽에서 1552쪽, 2022년 12월, DOI 10.1109/TEVC.2022.3159855로 확장했다. 서술자를 손으로 지정하는 대신 원자료에 오토인코더를 돌려 학습한다. 축 두 개를 누가 정했느냐는 질문에 대한 정면 대응이다.
활용손상에서 회복하는 육족 로봇. 이 방법을 유명하게 만든 사례다. Antoine Cully, Jeff Clune, Danesh Tarapore, Jean-Baptiste Mouret, Robots that can adapt like animals, Nature 521권 7553호 503쪽에서 507쪽, 2015년 5월 27일, DOI 10.1038/nature14422다. 유전자는 관절별 진폭과 위상과 듀티비를 담은 실수 36개다. 서술자는 다리 하나당 하나씩 6차원이고, 각 다리가 지면에 닿아 있는 시간 비율이다. 각 축을 0, 0.25, 0.5, 0.75, 1의 다섯 값으로 나눠 칸이 15,625개 생긴다. 논문은 MAP-Elites 실행을 4천만 반복에서 멈췄다고 적는다. 지도 하나를 만드는 데 다중코어 컴퓨터 한 대로 약 2주가 걸렸고, 로봇 한 대당 한 번만 만들면 된다. 채워진 칸은 약 1만 3천 개 수준으로 보고된다. 참고로 무작위 표집과 비교한 별도의 보충 실험에서는 2천만 번 평가 뒤 중앙값 12,968개, 지도의 약 83%가 찼다고 보고한다. 평면 로봇팔 지도 쪽이 2천만 번 평가를 쓴 사례다. 적응 단계는 지도 기반 베이즈 최적화인 M-BOA가 맡는다. 지도에 적힌 적합도를 가우스 과정의 사전 평균으로 쓰고 잔차만 모형화한다. 다음 시도는 상한신뢰구간으로 고른다. 성능은 이렇다. 멀쩡할 때 중앙값 0.32 m/s로, 사람이 설계한 삼각보행의 0.24 m/s보다 약 30% 빠르다. 구조적 손상 네 가지를 가하면 기준 보행은 약 0.04 m/s로 무너지지만, 회복된 보행은 0.17에서 0.24 m/s에 이른다. 걸린 시간은 중앙값 66초, 물리 시행 8회다. 육족 실험은 조건 6가지에 실행 5회, 독립 지도 8개를 곱해 240회 수행했다. 8관절 팔에서도 손상 조건 14가지를 시험했다.
익형과 벨로모빌 설계, SAIL 사례다. 익형 형상은 PARSEC 파라미터 10개로 기술한다. 서술자는 익형 최대 두께 지점의 높이 Zup와 그 지점의 시위 방향 위치 Xup 두 개다. 칸은 25 곱하기 25로 625개이고, 그 가운데 기하학적으로 도달 가능한 칸은 577개다. 예산은 정밀 XFoil 평가 1,000회다. Sobol 씨앗 50개에 반복마다 10개씩 더한다. 결과는 CMA-ES가 약 1,150만 회 평가로 도달한 칸별 최적값의 97.6% 수준이다. Xeon 8코어에서 12시간이 걸렸고, 같은 장비에서 CMA-ES는 80시간이 걸렸다. 항력 예측의 90%가 시뮬레이션 실측 대비 5% 안에 들었다. 3차원 벨로모빌 외피는 파라미터 16개에 OpenFOAM 20 m/s 조건이다. 1,000회 평가에 약 하루가 걸렸다. 같은 문제를 순수 MAP-Elites로 10만 회 평가했다면 4개월이 넘게 걸렸을 것이라고 저자들은 적는다.
도시설계, ARCH-Elites. Theodoros Galanos, Antonios Liapis, Georgios N. Yannakakis가 몰타대학, Reinhard Koenig이 바우하우스대학 바이마르와 AIT 소속이다. GECCO '21 Companion, 릴, 2021년 7월 10일에서 14일, 313쪽에서 314쪽, DOI 10.1145/3449726.3459490다. 대상지는 보스턴의 실제 두 곳으로, 하버드 주변과 MIT 주변이다. 유전자는 건물 외곽 다각형과 높이 4 m에서 100 m이고, 대학 건물과 공공 건물은 고정으로 표시했다. 서술자는 두 개다. 하나는 앉아 있기 편한 풍속인 6 m/s 미만 구간이 차지하는 오픈스페이스 비율이고, 다른 하나는 위험 풍속인 15 m/s 초과 구간의 오픈스페이스 면적이다. 조건은 17 m/s 폭풍이며 실제 연간 풍향별 시간으로 가중했다. 목적함수는 용적률에 해당하는 연면적 지수다. 아카이브는 20 곱하기 20으로 400칸, 실행당 선택 2,000회에 평가 4,000회, 대상지마다 10회 실행했다. 피복률은 하버드 0.46, MIT 0.29이고 QD 점수는 둘 다 175, 최대 적합도는 각각 1.01과 1.63이다. 진화된 하버드 엘리트는 평균 건물 높이 22.4 m로 원안 17.1 m보다 높고, 건물 수는 678동으로 원안 781동보다 적으며, 연면적 지수는 0.91 대 0.81이다. 다만 위험 풍속 면적은 2,303 m²로 원안 218 m²보다 훨씬 커졌다. 대리모델 InFraRed가 일주일짜리 풍환경 시뮬레이션을 수시간 내 4,000회 평가로 바꿔 놓았다.
건물 공기역학, 시뮬레이션 64분의 1. Alexander Hagg, Martin L. Kliemank, Alexander Asteroth, Dominik Wilde, Mario C. Bedrunka, Holger Foysi, Dirk Reith, 본라인지크 응용과학대학 등, Efficient Quality Diversity Optimization of 3D Buildings through 2D Pre-Optimization, Evolutionary Computation 31권 3호 287쪽에서 307쪽, 2023년, DOI 10.1162/evco_a_00326, arXiv:2303.15896이다. 평면 형상은 Catmull-Rom 스플라인 위의 극좌표 제어점 16개로 부호화한다. 서술자는 바닥면적과 유동의 엔스트로피 두 개다. 목적함수는 최대 풍속 최소화이고, 네덜란드 기준 NEN 8100의 풍환경 불쾌감을 겨냥한다. 유체 해석은 GPU 가속 Lettuce의 격자 볼츠만 방법이다. Sobol로 뿌린 2차원 시뮬레이션 64개에서 출발해 SPHEN으로 1,024개까지 키웠다. 외부 반복 100회, 보로노이 엘리트 아카이브 1,024칸이다. 전체 3차원 시뮬레이션은 단 16개 건물에만 돌렸다. 나머지는 가우스 과정이 2차원 유동 특징에서 3차원 유동 특징으로 사상해 1,024개 전부를 채웠다. 품질다양성으로 만든 학습 표본은 2차원과 3차원 특징 사이 결정계수가 0.9 이상이었고, Sobol 표본은 약 0.6에 그쳤다.
오토데스크, 학습데이터 공장으로서의 품질다양성. Adam Gaier, James Stoddart, Lorenzo Villaggi, Shyam Sudhakaran, 오토데스크 리서치, GECCO '24, 멜버른, 2024년 7월 14일에서 18일, DOI 10.1145/3638529.3654138, arXiv:2405.09997이다. 대상은 모듈러 시공사 FactoryOS의 실제 조립식 주택 단지 배치다. 대지는 25 곱하기 15로 타일 375개이고 타일 종류는 216개다. MAP-Elites 특징은 다섯 개다. 공원 개수, 가장 큰 공원 면적, 총 세대수, 탄소 저장량, 프라이버시다. 적합도는 비어 있지 않은 타일의 비율이다. MAP-Elites로 라벨이 붙은 설계 5만 개를 합성했고, 파동함수붕괴 무작위 표집으로 만든 5만 개와 정면 비교했다. 모형은 DistilGPT2로 학습 가능한 파라미터 9,600만 개이며, 교차어텐션용 텍스트 인코더로 BART를 고정해 붙이고 50만 스텝을 학습했다. 평가는 프롬프트 조합 3의 5제곱, 즉 243가지에 각 100개 설계다. MAP-Elites 데이터가 훨씬 고르게 퍼져 있었고 특징별 지니계수는 0.12에서 0.28이었다. 그 데이터로 학습한 모형이 거의 모든 항목에서 충실도와 유효성이 높았다. 파동함수붕괴 데이터로 학습한 모형은 탄소 저장량이 높은 안, 큰 공원, 프라이버시가 낮은 안을 아예 생성하지 못했다. 무작위 표집은 큰 공원을 사실상 만들어 내지 못하기 때문이다.
게임 레벨 설계 도구. Alberto Alvarez, Steve Dahlskog, Jose Font, Julian Togelius, Interactive Constrained MAP-Elites, IEEE Transactions on Games 14권 2호 202쪽에서 211쪽, 2022년 6월, DOI 10.1109/TG.2020.3046133이다. Evolutionary Dungeon Designer라는 실제 배포된 인간 협업 도구에 들어갔다. 사용자가 작업 중간에 아카이브의 두 축을 바꿔 끼울 수 있다는 점이 설계 도구로서 중요하다.
한계- 1. 격자가 폭발한다. 칸 수는 해상도의 차원 제곱으로 늘어난다. CVT 논문의 미로 벤치마크에서 같은 서술자를 2차원, 10차원, 20차원으로 두면 칸이 각각 5,041개, 59,049개, 1,048,576개가 된다. 채워진 비율은 0.72에서 0.09로, 다시 0.005로 무너진다. 같은 조건에서 CVT-MAP-Elites는 k를 고정한 채 0.73, 0.46, 0.40을 유지했다. 이 문헌에서 나오는 실무 규칙은 단순하다. 순수 격자 방식은 서술자 2개에서 6개까지만 쓰고, 그 이상은 CVT로 간다.
- 2. 틈새가 많아지면 품질 압력이 오히려 떨어진다. Vassiliades 등이 명시한 내용이다. 백만 개 틈새를 균등 확률로 뽑으면 엘리트 하나가 부모가 되는 몫이 극히 작아진다. 성능을 끌어올리는 선택압이 그만큼 약해진다. 아카이브 해상도는 살림살이용 파라미터처럼 보이지만 실제로는 품질과 다양성을 맞바꾸는 조절 손잡이다. 극단적으로 틈새를 하나만 두면 MAP-Elites는 확률적 언덕오르기로 퇴화한다.
- 3. 영원히 채울 수 없는 칸이 있다. SAIL의 익형 격자 625칸 가운데 48칸은 PARSEC 표현으로는 기하학적으로 만들 수 없다. Mouret와 Clune도 어떤 칸은 물리적으로 불가능해서 비고, 어떤 칸은 탐색이 실패해서 빈다고 적었다. 피복률은 이 둘을 구분하지 못한다. 게다가 변이는 유전자 공간에서만 일어나므로 고집스럽게 비어 있는 칸을 겨냥할 방법이 없다.
- 4. 잡음이 엘리트주의를 타고 아카이브를 오염시킨다. Manon Flageat와 Antoine Cully, Uncertain Quality-Diversity, IEEE TEVC 28권 4호 891쪽에서 902쪽, 2024년 8월,
DOI 10.1109/TEVC.2023.3273560이다. 탐욕적 교체 규칙은 운 좋게 높은 값이 나온 평가를 붙잡는다. 비슷한 해를 계속 변이시키다가 유리한 난수가 뜨면 그것이 칸을 차지한다. 논문은 표준 품질다양성 알고리즘이 엘리트주의 때문에 운 좋은 해를 유지하며, 진짜로 새롭거나 성능이 좋은 해보다 운 좋은 해를 선호하게 된다고 적는다. 이를 재평가한 보정 아카이브와 비교해 QD 점수 손실로 계량하고, 서술자 분산 기반 재현성 점수도 함께 쓴다. 보행자 행위기반 모형, 난류 유입 조건의 유체 해석, 몬테카를로 채광 해석처럼 확률적 시뮬레이터를 쓰면 반드시 겪는다. 모든 후보를 재표집하는 소박한 해법은 아끼려던 예산을 그대로 태운다. - 5. QD 점수는 비교 지표로 신뢰하기 어렵다. Paul Kent와 Juergen Branke가 워릭대학, Adam Gaier가 오토데스크, Jean-Baptiste Mouret가 Inria 소속으로 쓴 GECCO '22 Companion 논문이다.
DOI 10.1145/3520304.3534018, 2022년 7월 9일, 2131쪽에서 2135쪽이다. 이들은 기존 평가 방식이 연속적인 서술자 공간을 제대로 반영하지 못한다고 지적하고, 대안으로 연속 품질다양성 점수와 초부피 기반 비교를 제안한다. 더 구체적인 논거 목록도 자주 인용되지만 본문을 확인하지 못했으므로 여기서는 제안된 지표까지만 적는다. - 6. 조명은 개선이 아니다. ARCH-Elites 자신의 숫자가 이를 보여 준다. 4,000회 평가 뒤 최대 적합도는 하버드 실제 배치보다 20%, MIT보다 2.5% 올랐을 뿐이다. MIT 최고 엘리트가 원안의 연면적 지수를 넘어선 폭은 8%다. MIT 대상지는 39%가 고정 건물이었다. 이 방법의 납품물은 지도이지 기록을 깨는 단일 설계안이 아니다. 발주처가 후자를 기대하고 있으면 프로젝트는 실패로 읽힌다.
- 7. 평가 비용 자체가 크다. 보조 장치 없는 MAP-Elites는 육족 지도에 4천만 회, SAIL 비교 기준선에 10만 회를 썼다. Hagg 등은 품질다양성이 아주 비싼 문제에서는 효율적이지 않으며 수십만 회 평가를 필요로 한다고 직설적으로 적는다. 대리모델을 붙여도 수백에서 수천 회는 여전히 든다.
- 8. 실행 간 분산이 크다. 원 논문도 물렁로봇 실행들 사이에 큰 분산을 보고한다. 한 번 돌린 아카이브는 재현 가능한 근거가 되지 못한다. 최소 5회에서 10회 반복하고 중앙값과 사분위를 함께 보고해야 한다.
- 9. 서술자 선택이 사실상 실험 전체다. 서술자가 무엇이 다양한 것인지를 정의한다. 축을 잘못 고르면 쓸모없는 구분에 대한 아름다운 지도가 나온다. Nature 논문은 확장 데이터 그림 하나에서 대안 서술자 11가지를 시험했다고 보고한다. 듀티비, 몸체 자세, 총 에너지, 상대 에너지, 편차, 총 지면반력과 상대 지면반력, 하퇴 관절의 피치와 롤과 요, 변위, 그리고 63가지 후보 중 6개를 무작위로 고른 조건 등이다. 결과는 대체로 강건했고 세 가지를 뺀 나머지가 듀티비 대비 4% 안에 들었다고 적는다. 다만 그 그림의 번호는 접근 가능한 판본에서 확인하지 못했다. 그리고 이 강건함은 안심되는 특수 사례이지 일반적 보장이 아니다. MAP-Elites를 경사 기반 강화학습과 결합하면 실무자들이 서술자 붕괴를 보고한다. 경사가 다양한 해들을 하나의 전역 최적점 쪽으로 끌어당기는 현상이다.
공원에서잘 맞는 이유. 소공원은 MAP-Elites의 전형적인 문제 형태다. 이유는 세 가지다. 첫째, 모두가 동의할 단일 스칼라 목적이 없다. 둘째, 발주처가 실제로 논쟁하는 질적 축이 여러 개 있다. 셋째, 설계자에게 필요한 것은 우승안 하나가 아니라 선택지 목록이다. 오토데스크 TileGPT가 쓴 특징 묶음은 사실상 공원 과업지시서와 같다. 공원 개수, 가장 큰 공원 면적, 탄소 저장량, 프라이버시다.
축을 어떻게 잡을까. 서술자는 2개에서 3개로 제한한다. 후보는 이런 것들이다. 8월 14시 기준 수관 그늘 피복률, 투수성 포장 비율, 연속된 최대 잔디 마당 면적, 동선망 연결도, 예를 들어 통합도나 평균 우회율, 그리고 가로에서 공원 안쪽으로의 시각적 투과도다. 목적함수는 하나로 접어야 한다. 공사비, 수목 수관의 편익 총량, 열쾌적 시간 가운데 하나를 고른다. 산출물은 지도 자체다. 그늘을 한 단계 더 얻는 대가로 열린 잔디가 얼마나 줄어드는지를 발주처에게 그림으로 보여 준다. 최적화된 단일안 하나로는 이 대화를 할 수 없다. ARCH-Elites가 바로 이 형태의 선례다. 쾌적과 위험이라는 서술자 두 개에 연면적 지수를 목적함수로 썼다.
못 하는 것. 파레토 의미의 다목적 최적화가 아니다. 품질은 반드시 숫자 하나로 접어야 하고, 나머지는 서술자로 강등해야 한다. 그리고 서술자는 최대화되는 대상이 아니다. 넓게 펼쳐질 뿐이다. 시공 가능한 상세도 나오지 않는다. 기대할 수 있는 것은 매스와 식재 존과 동선 위상 정도다. 식재 내역서나 배수 계획은 나오지 않는다. 법규나 기준 같은 경성 제약을 스스로 지키지도 못한다. TileGPT 팀이 제약 충족을 파동함수붕괴에 따로 맡긴 이유가 이것이다. ARCH-Elites도 보호 대상 건물을 유전자에서 고정으로 표시해야 했다. 공원이라면 법정 시설 기준, 소방 접근로, 보호수 위치 같은 것을 유전자 생성 단계에서 아예 못 어기게 막아야 한다. 마지막으로 서술자 공간의 칸들은 쓸모가 균등하지 않다. 발주처가 절대 고르지 않을 칸으로 가득한 지도도 피복률 점수는 잘 나온다. 지도를 납품하기 전에 사람이 한 번 걸러야 한다.
구현조경 실무 도구에 바로 꽂히는 기성 MAP-Elites 플러그인은 없다. Galapagos는 단일 목적 유전 알고리즘이고 Wallacei는 다목적 진화이며, 둘 다 품질다양성이 아니다. 따라서 파이썬 쪽 라이브러리를 붙이는 방식이 현실적이다. ARCH-Elites는 라이노와 그래스호퍼 작업 흐름 안에서 동작하는 도구로 보고된다.
1. 형상을 파라미터로 묶는다. 그래스호퍼와 라이노에서 자유 지오메트리가 아니라 고정된 수치 손잡이 집합으로 모델을 만든다. ARCH-Elites는 건물 다각형과 높이를 썼다. Hagg는 Catmull-Rom 스플라인 위의 극좌표 제어점 16개를 썼다. 손잡이 수는 적을수록 좋고, 각 손잡이의 범위를 미리 못 박아 둔다.
2. 순환 안에서 본격 시뮬레이터를 절대 호출하지 않는다. 가우스 과정이나 작은 신경망 대리모델을 적합시키고 SAIL의 구조를 따른다. 가우스 과정을 적합시키고, 상한신뢰구간 획득함수를 만들고, 그 위에서 MAP-Elites를 돌리고, 열 개 남짓만 실제로 시뮬레이션하고, 다시 적합시킨다. 또는 Hagg의 방식을 쓴다. 품질다양성은 싼 2차원에서 돌리고, 비싼 3차원 해석은 2차원과 3차원을 잇는 사상을 보정하는 데에만 소수만 쓴다. 그는 16개만 돌렸다. 현실적인 예산은 실제 평가 1,000회에서 4,000회다. SAIL이 1,000회, ARCH-Elites가 4,000회를 썼다.
3. 아카이브 크기를 정한다. 서술자가 두 개면 20 곱하기 20으로 400칸이 무난하다. ARCH-Elites가 쓴 값이다. 서술자가 네 개를 넘기 시작하면 즉시 CVT-MAP-Elites로 바꾸고 k를 고정한다. 보통 1,000에서 10,000 사이를 쓴다.
4. 라이브러리를 고른다. CPU 쪽 작업이면 pyribs가 표준에 가깝다. Bryon Tjanaka, Matthew Fontaine 등, GECCO '23, DOI 10.1145/3583131.3590374이다. 격자 아카이브와 CVT 아카이브를 모두 제공하고 CMA-ME와 CMA-MAE 이미터가 들어 있다. GPU가 있고 평가 함수를 JAX로 컴파일할 수 있으면 QDax가 낫다. Felix Chalumeau, Bryan Lim 등과 Antoine Cully, JMLR 25권, 2024년이다. 변이 연산자는 방향성 변이, 곧 Iso+LineDD를 기본값으로 쓴다.
5. 시뮬레이터가 확률적이면 대비한다. 보행자 에이전트 모형이나 난류 유체 해석이 여기 해당한다. Deep-Grid나 적응적 표본추출에 예산을 배정한다. 그리고 결과를 낼 때는 반드시 재평가한 보정 아카이브를 함께 보고한다. 원본 아카이브는 운 좋은 이상치로 차 있을 가능성이 높다.
6. 최종 형태로 TileGPT 방식을 고려한다. MAP-Elites를 한 번 돌려 관심 있는 특징을 고루 덮는 설계 말뭉치 1만 개에서 5만 개를 합성한다. 그 데이터로 작은 생성 모형을 미세조정한다. 그러면 설계자는 진화를 다시 돌리는 대신 프롬프트로 대화한다. 오토데스크는 DistilGPT2로 학습 가능한 파라미터 9,600만 개 규모에서 이를 시연했다.
↑ 목차
6 · CMA-ME / CMA-MAE
Matthew Fontaine, Julian Togelius, Stefanos Nikolaidis, Amy Hoover (GECCO 2020)
Matthew Fontaine, Stefanos Nikolaidis (GECCO 2023) — CMA-MAE
배경CMA-ME의 원논문 제목은 "Covariance Matrix Adaptation for the Rapid Illumination of Behavior Space"다. 저자는 남캘리포니아대 비터비공대의 Matthew C. Fontaine, 뉴욕대 탠던공대의 Julian Togelius, 남캘리포니아대의 Stefanos Nikolaidis, 뉴저지공대 Ying Wu 컴퓨팅대학의 Amy K. Hoover다. 2019년 12월 5일 arXiv:1912.02400v1로 공개됐고 2020년 5월 7일 v2로 개정됐다. GECCO 2020 논문집에 실렸다. DOI는 10.1145/3377930.3390232다. 논문집 표기는 2020년 7월 8일부터 12일, 멕시코 칸쿤이다. 다만 GECCO 2020은 온라인으로 전환됐다고 널리 알려져 있다. 현장 개최 여부는 이번 조사에서 확인하지 못했다.
이 논문이 반응한 문제는 이렇다. 품질다양성 최적화는 하나의 최적해가 아니라 서로 다른 특성을 가진 우수해 묶음을 만드는 방법이다. 영어로 quality-diversity이고 줄여서 QD라고 쓴다. 대표 알고리즘은 Mouret와 Clune의 MAP-Elites, Lehman과 Stanley의 Novelty Search with Local Competition이다. 둘 다 해를 바꿀 때 고정된 세기의 등방성 가우시안 잡음을 더한다. 등방성이란 모든 방향으로 같은 크기라는 뜻이다. 세기는 스칼라 하나로 정해지고 이를 돌연변이 강도라고 부른다. 연속 변수 문제에서 이 방식은 평가 횟수를 많이 먹는다.
반대편에는 Hansen과 Ostermeier의 CMA-ES가 있었다. 미분값 없이 연속 함수를 최적화하는 방법 중 가장 강한 축에 든다. 걸음 크기 자동 조정, 진화 경로 누적, 공분산 행렬 전체 학습을 갖췄다. 공분산 행렬은 어느 방향으로 얼마나 크게 탐색할지를 담은 표다. 문제는 CMA-ES가 한 점으로 수렴한다는 것이다. 다양성을 남기지 않는다.
논문의 착상은 이 기계장치를 수렴이 아니라 탐험에 돌려 쓰는 것이다. CMA-ES는 본질적으로 앞으로의 걸음이 성공할 확률을 높이는 장치다. 그렇다면 성공의 정의를 적합도 상승이 아니라 아카이브 개선으로 바꾸면 된다.
논문은 구체적 장애물도 짚었다. 고차원 탐색공간에서 선형 투영으로 만든 행동공간은 심하게 왜곡된다. 균등 표본을 선형 투영하면 Bates 분포가 되고 차원이 커질수록 중앙으로 좁아진다. 그래서 행동공간의 가장자리는 고정 세기 돌연변이로는 사실상 닿지 않는다.
CMA-MAE는 Fontaine과 Nikolaidis 두 사람의 후속 논문이다. 2022년 5월 22일 arXiv:2205.10752v1, 2023년 6월 6일 v4다. GECCO 2023 논문집에 실렸고 DOI는 10.1145/3583131.3590389다. 장소 표기는 2023년 7월 15일부터 19일, 포르투갈 리스본이다. 동기는 QD 연구 공동체가 CMA-ME에서 찾아낸 세 가지 약점이다. 목적함수를 너무 일찍 버리고 탐험으로 달아난다. 목적함수가 평평한 영역을 탐험하지 못한다. 저해상도 아카이브에서 성능이 나쁘다.
확장 저널판도 있다. "Covariance Matrix Adaptation MAP-Annealing: Theory and Experiments"이고 저자는 Shihan Zhao, Bryon Tjanaka, Matthew C. Fontaine, Stefanos Nikolaidis다. ACM Transactions on Evolutionary Learning and Optimization 5권 1에서 53쪽이다. DOI는 10.1145/3665336다. 2024년 5월 17일은 온라인 게재일이다. DBLP는 이를 2025년 호로 색인한다. 연구는 NSF CAREER Award #2145077과 NSF NRI #2024949의 지원을 받았다.
원리공통 뼈대부터. 두 알고리즘 모두 아카이브를 유지한다. 아카이브는 설계 결과를 담아두는 격자 서랍장이다. 서랍의 좌표축은 측정공간이고 행동공간이라고도 부른다. 설계자가 관심 있는 특성 두세 개를 축으로 삼는다. 해 하나를 평가하면 값 두 종류가 나온다. 하나는 목적값이고 얼마나 좋은지를 나타낸다. 다른 하나는 측정 벡터이고 어떤 종류의 해인지를 나타낸다. 측정 벡터가 서랍 칸을 정한다. 각 칸은 대표해 하나만 보관하고 이를 엘리트라고 부른다.
CMA-ME의 첫 부품은 이미터다. CMA-ES 하나를 돌리는 대신, 조금 고친 CMA-ES 여러 개를 동시에 돌린다. 이 인스턴스 하나하나를 이미터라고 부른다. 모든 이미터가 같은 아카이브 하나에 결과를 쓴다. 이미터는 각자 표본 추출 중심, 공분산 행렬, 걸음 크기, 진화 경로를 따로 갖는다. 논문의 Algorithm 1은 라운드로빈 스케줄러다. 지금까지 해를 가장 적게 만든 이미터를 골라 한 세대를 돌린다. 중심과 공분산으로 정의된 정규분포에서 표본을 뽑고, 평가하고, 결과를 되돌려준다. 이미터를 여럿 두는 이유는 단순하다. 하나는 한 곳으로 수렴하므로, 서로 다른 곳을 파는 여러 개가 필요하다.
핵심 부품은 순위 규칙이다. 원래 CMA-ES는 한 세대의 표본을 적합도로 정렬하고 상위 몇 개만 써서 공분산을 갱신한다. 즉 공분산은 좋은 방향이 어디였는지를 학습한다. 이미터는 이 정렬 기준만 갈아 끼운다. 그러면 공분산은 적합도가 오르는 방향이 아니라 아카이브가 개선되는 방향을 학습한다. 바꾼 것은 정렬 키 하나뿐이고 나머지 CMA-ES 내부는 그대로 둔다. 이것이 이 논문의 경제성이다.
이미터는 세 종류가 제안됐다.- 최적화 이미터. 적합도로만 정렬한다. 재시작할 때 아카이브에서 엘리트 하나를 무작위로 골라 새 중심으로 삼는 점만 CMA-ES와 다르다. 이것은 대조군이다. 재시작만으로도 다양성이 생기는지 확인하려고 만들었다. 결론은 아니다였다. 100차원 구면 문제에서 칸을 2.70%만 채웠다. 같은 조건에서 무작위 방향 이미터는 77.12%를 채웠다.
- 무작위 방향 이미터. 재시작할 때 측정공간에서 임의의 방향 벡터를 하나 뽑는다. 매 세대 표본들의 측정값 평균을 구하고, 그 평균점에서 뽑아둔 방향으로 뻗는 직선을 만든다. 아카이브를 개선한 해만 남겨서 그 직선 위 투영 위치로 정렬한다. 즉 정해둔 방향으로 얼마나 멀리 갔는지가 순위다. 아무것도 개선하지 못하면 임의의 엘리트에서 새 방향으로 재시작한다. 이 이미터는 가는 길에 발견한 좋은 적합도를 일부러 무시한다. 그래서 칸을 넓게 채우는 대신 엘리트 품질은 떨어진다.
- 개선 이미터. 표본마다 개선량을 계산한다. 빈 칸에 떨어졌으면 개선량은 목적값 자체다. 이미 엘리트가 있는 칸이면 개선량은 목적값에서 기존 엘리트 목적값을 뺀 값이다. 정렬은 두 묶음을 이어 붙여서 한다. 앞 묶음은 새 칸을 발견한 해들이고 적합도 순으로 정렬한다. 뒤 묶음은 기존 칸을 개선하기만 한 해들이고 개선량 순으로 정렬한다. 새 칸은 언제나 기존 칸 개선보다 앞선다. 그래서 이 이미터는 지금 진전이 일어나는 곳으로 목표를 계속 옮겨 간다.
재시작 조건은 두 가지를 쓴다. 하나는 CMA-ES 자체의 수렴 판정이고 논문은 basic이라고 부른다. 다른 하나는 QD 전용 규칙으로, 한 세대 동안 아카이브를 하나도 개선하지 못하면 재시작한다.
여기까지가 CMA-ME다. CMA-MAE는 순위 규칙 하나를 더 손본다. Fontaine과 Nikolaidis는 CMA-ME를 다시 읽어서 일반화했다. 이미터의 정렬 키는 결국 목적값에서 어떤 기준값을 뺀 차이다. 이 기준값을 만드는 함수를 할인 함수라고 부른다. CMA-ME는 할인 함수를 현재 엘리트의 목적값으로 둔 경우다. 즉 완전 엘리트주의 아카이브다.
여기서 병리가 나온다. 어떤 칸에 목적값 0.3짜리 엘리트가 있다고 하자. 100짜리 해를 넣으면 개선량은 98.7이다. 다음 반복에서 다시 100짜리를 넣으면 개선량은 0이다. 방금 좋다고 증명된 영역에서 신호가 즉시 사라진다. 탐색은 그곳을 떠난다. 좋은 영역을 파 보지도 않고 버리는 것이다.
CMA-MAE는 칸마다 수용 문턱값을 둔다. 문턱값은 처음에 min_f라는 상수로 초기화된다. 해는 목적값이 그 칸의 문턱값보다 클 때만 들어간다. 들어가면 문턱값을 갱신한다. 새 문턱값은 기존 문턱값과 방금 들어온 목적값을 섞은 값이다. 섞는 비율이 아카이브 학습률이고 기호는 알파다. 알파가 크면 문턱이 빨리 오르고 작으면 천천히 오른다.
효과는 숫자로 보면 분명하다. 같은 칸에 목적값 100짜리가 다섯 번 연속 들어온다고 하자. CMA-ME가 보는 개선량은 100, 0, 0, 0, 0이다. 알파를 0.5로 둔 CMA-MAE가 보는 개선량은 100, 50, 25, 12.5, 6.25다. 기하급수로 줄어든다. 신호가 갑자기 끊기지 않고 서서히 식는다. 그래서 좋은 영역을 충분히 캐낸 다음 떠난다. 이름의 담금질은 여기서 나온다.
이론적 위치도 정리돼 있다. 정리 5.1은 알파가 0이면 문턱값이 min_f에 고정되어 CMA-ES로 돌아간다는 것이다. 정리 5.2는 알파가 1이고 min_f가 충분히 작으면 CMA-ME가 된다는 것이다. 정리 5.3은 할인 함수가 알파에 대해 단조 증가한다는 것이다. 즉 알파 하나가 순수 최적화와 순수 탐험 사이를 연속으로 잇는 손잡이다.
정리 5.4가 평평한 목적함수 문제의 해답이다. 목적값이 어디서나 같은 상수이고, 알파가 0과 1 사이이며, min_f가 그 상수보다 작다고 하자. 그러면 각 칸의 문턱값은 방문 횟수에 따라 엄격히 증가하는 수열이 된다. CMA-ES는 목적값에 순서를 보존하는 변환을 가해도 동작이 같다. 따라서 목적값에서 문턱값을 뺀 값으로 정렬하는 것은 방문 횟수 내림차순 정렬과 정확히 같아진다. 결과적으로 덜 방문한 칸을 먼저 찾아가는 밀도 하강 탐색이 공짜로 얻어진다. 같은 상황에서 CMA-ME는 아카이브 피드백을 전혀 받지 못하고 재시작만 반복한다.
마지막 부품은 해상도 보정이다. 알파의 의미는 칸 하나가 몇 번 방문되는지에 달려 있다. 칸 수가 바뀌면 같은 알파가 다른 속도를 뜻한다. 그래서 칸 수 비율만큼 지수 보정을 해야 한다. 논문이 든 예로, 100×100에서 0.01이던 알파는 200×200에서 0.0394가 된다.
변형미분 가능 QD, 2021년. "Differentiable Quality Diversity", Matthew C. Fontaine과 Stefanos Nikolaidis, NeurIPS 2021 구두 발표다. arXiv:2106.03894이고 v1이 2021년 6월 7일, v3가 10월 27일이다. 목적함수와 측정함수의 기울기를 쓸 수 있을 때를 다룬다. 핵심 개념은 기울기 수목분기다. 목적 기울기와 각 측정 기울기를 계수로 선형결합한 방향으로 한 걸음 내딛는다. 계수를 바꾸면 가지가 갈라지듯 여러 방향으로 퍼진다. 알고리즘은 둘이다. OMG-MEGA는 계수 벡터를 고정 분산 정규분포에서 뽑고 나머지는 MAP-Elites와 같다. CMA-MEGA는 해 파라미터가 아니라 계수 벡터 위에서 CMA-ES를 돌린다. 탐색 차원이 파라미터 수가 아니라 측정 개수 더하기 1로 줄어든다. 논문은 이 계수 분포가 QD 목적의 자연 기울기 걸음을 근사한다는 것을 증명한다. 기울기 상승 단계를 Adam으로 바꾼 변형도 있다.
CMA-MAEGA, 2023년. GECCO 2023 논문 부록 D다. 문턱값 기반 소프트 아카이브를 CMA-MEGA에 그대로 얹는다. CMA-ME와 CMA-MEGA가 개선량 계산과 아카이브 교체를 동일하게 하기 때문에 수정 없이 붙는다.
고차원 확장, 2023년. "Training Diverse High-Dimensional Controllers by Scaling Covariance Matrix Adaptation MAP-Annealing"이다. 저자는 Bryon Tjanaka, Matthew C. Fontaine, David H. Lee, Aniruddha Kalkar, Stefanos Nikolaidis이고 모두 남캘리포니아대다. IEEE Robotics and Automation Letters에 2023년 8월 게재 확정됐다. arXiv:2210.02622v3은 2023년 9월 16일이다. 문제는 공분산 행렬이 파라미터 수의 제곱으로 커진다는 것이다. 해법은 CMA-ES를 대규모 진화전략으로 갈아 끼우는 것이다. LM-MA-MAE는 제한 메모리 행렬적응 진화전략을 쓴다. sep-CMA-MAE는 공분산의 대각 성분만 유지한다. OpenAI-MAE는 공분산을 등방성 상수로 고정한다. 셋 다 계산량이 파라미터 수에 대체로 비례한다. 덕분에 약 2만 개 파라미터짜리 신경망 제어기를 다룰 수 있다.
다목적 확장, 2025년. "Multi-Objective Covariance Matrix Adaptation MAP-Annealing", Shihan Zhao와 Stefanos Nikolaidis, GECCO 2025, arXiv:2505.20712다. 각 칸이 엘리트 하나가 아니라 파레토 집합을 보관한다. CMA-ES는 각 파레토 집합의 초부피를 최적화한다.
TELO 2024 확장판. QD 강화학습 정책 탐색 실험을 추가했다. 그리고 StyleGAN2의 9216차원 잠재공간 전체를 쓰는 더 어려운 영역을 도입했다.
대리모형 결합, 2022년. DSAGE는 "Deep Surrogate Assisted Generation of Environments"다. Varun Bhatt, Bryon Tjanaka 등이고 NeurIPS 2022, arXiv:2206.04199다. CMA-ME를 안쪽 루프에 두고, 바깥 루프에서 실제 시뮬레이션으로 심층 대리모형을 학습시킨다.
pyribs. "pyribs: A Bare-Bones Python Library for Quality Diversity Optimization"이다. 저자는 Bryon Tjanaka, Matthew C. Fontaine, David H. Lee, Yulun Zhang, Nivedit Reddy Balam, Nathaniel Dennler, Sujay S. Garlanka, Nikitas Dimitri Klapsis, Stefanos Nikolaidis다. GECCO 2023 리스본, DOI 10.1145/3583131.3590374, arXiv:2303.00191이다. QD를 아카이브, 이미터, 스케줄러 세 부품으로 분해했다. 그래서 위 변형들을 조합으로 만들 수 있다.
활용도시설계, ARCH-Elites. 조경에 가장 가까운 선례다. 저자는 몰타대의 Theodoros Galanos, Antonios Liapis, Georgios N. Yannakakis와 바우하우스대 바이마르 및 오스트리아공대의 Reinhard Koenig다. GECCO 2021 Companion, 프랑스 릴, arXiv:2104.08774다. 중요한 단서가 있다. 이 연구는 CMA-ME가 아니라 기본 MAP-Elites를 썼다. 유전자는 건물 폴리곤과 높이이고 높이는 4미터에서 100미터로 제한했다. 대학 건물과 공공 건물은 고정으로 표시했다. 목적함수는 용적률이다. 측정 두 축은 모두 바람에서 나온다. 하나는 쾌적하게 앉아 있을 수 있는 외부공간 비율이다. 다른 하나는 위험 조건에 놓인 외부공간 총면적이고 0에서 8000제곱미터 범위다. 풍속 17미터퍼초 폭풍 조건에서 Lawson 기준을 썼다. 6미터퍼초 미만이 쾌적, 15미터퍼초 초과가 위험이다. 특징 지도는 20×20이다. 한 실행은 2,000회 선택으로 4,000회 평가다. 장소마다 10회 실행했고 보스턴의 하버드 주변과 MIT 주변 두 곳이다. 사전학습 대리모형 InFraRed 덕분에 4,000회 평가가 몇 시간에 끝났다. 기존 방식으로 바람 쾌적성 연구 한 건은 대략 일주일이 걸린다고 보고된다. 결과는 냉정하게 읽을 만하다. 최대 적합도 상승은 하버드 20%, MIT 2.5%에 그쳤다. 최고 엘리트의 용적률은 원안 대비 하버드 19%, MIT 8% 높았다. 그러나 하버드 엘리트의 97%, MIT 엘리트의 96%는 위험 풍역 면적이 원안보다 오히려 넓었다. MIT는 대상지의 39%가 고정 건물이었고 하버드는 10%였다. 고정 비율이 탐색을 눌렀다.
기후적응 도시배치. 저자는 독일 장크트아우구스틴 본라인지크 응용과학대 TREE 연구소와 프라운호퍼 SCAI의 Alexander Hagg, Tania Guerrero, Dirk Reith다. arXiv:2606.04658, 2026년 6월 3일이다. 이 연구도 CMA-ME가 아니라 MAP-Elites이고 pyribs의 GridArchive를 썼다. 60미터 정방형 획지 위 건물 배치를 야간 찬공기 흐름 관점에서 최적화한다. 모형은 독일기상청의 사면활강 바람 모형 KLAM_21이다. 특징 축은 여덟 개다. 건폐율, 용적률, 평균 건물 높이, 높이 변동, 평균 건물 간격, 건물 수, 조밀도, 공원 계수다. QD 실행당 평가 횟수는 본문에서 두 가지로 적혀 있다. 한 곳은 약 10만 회 대리모형 평가이고, 다른 곳은 1만 세대에 고유 평가 약 8만 회다. U-Net 대리모형은 평가당 약 2밀리초이고 직접 시뮬레이션은 5분에서 20분이라고 적혀 있다. 저자들은 1만 2천 배 이상 빠르다고 표현한다. 다만 이 배수는 앞의 두 수치에서 바로 유도되지 않는다. 저자 표현으로 받아들이는 편이 안전하다. 정확도는 결정계수 0.996 플러스마이너스 0.000, 실측 대비 스피어만 상관 0.994 플러스마이너스 0.001이다. 학습 비용은 시뮬레이션 약 1만 9천 건이고 약 130 GPU 시간이며 병렬화가 가능하다. U-Net 자체 학습은 NVIDIA A100 한 장으로 약 20분이다. 1만 세대 전체 실행은 31분에서 53분이다. 1천 세대짜리 축약 설정은 3분에서 8분이다. 아카이브 크기 2,300에서 5,500 엘리트라는 수치가 돌지만, 이는 논문이 실패로 규정한 SVGP 단독 평가 설정에서만 보고된 값이다. 권장 U-Net 파이프라인의 아카이브 크기로 인용하면 안 된다.
하스스톤, CMA-ME 원논문 사례. 109개 파라미터 순방향 신경망이고 층 크기는 15, 5, 4, 1이며 노드 26개다. 아카이브는 100×100이다. 측정 두 축은 턴당 평균 손패 수와 평균 게임 길이다. 적합도는 종료 시점 체력 차이의 평균이다. 시행당 정책 5만 개, 시행 5회, 정책당 6개 상대 덱을 상대로 200판이다. 8코어 CPU 500대 클러스터에서 시행당 12시간이 걸렸다. QD 점수는 CMA-ME 63,295.6, MAP-Elites 25,936.0으로 2.44배다. 직선 변이를 쓴 ME(line)은 28,132.7, CMA-ES는 16,024.8이다. 최대 승률은 65.9% 대 45.2%, 50.5%, 44.8%다. 칸 채움률은 29.17% 대 21.72%다.
벤치마크. CMA-ME 장난감 문제는 평가 250만 회, 아카이브 500×500, 이미터 15개, 세대 크기 37이다. 100차원 구면에서 무작위 방향 CMA-ME는 칸 77.12%를 채우고 QD 점수 13,465,879를 냈다. 같은 조건 MAP-Elites는 26.97%, 5,578,919다. CMA-MAE 실험은 반복 1만 회, 세대 크기 36, 이미터 15개, 아카이브 100×100이다. 선형투영 구면에서 CMA-MAE는 QD 점수 64.86, 커버리지 83.31%다. 같은 조건 CMA-ME는 36.50과 42.82%, MAP-Elites는 41.64와 50.80%다. 선형투영 고원 문제에서는 79.27 대 34.54다. 로봇팔 자세 문제에서는 79.03과 79.24%이고 계산상 최적 커버리지는 80.24%다.
QD 강화학습. QDGym 보행 과제이고 10회 시행, 시행당 100만 평가, CPU 100개다. QD Ant는 아카이브 6×6×6×6, 파라미터 21,256개다. LM-MA-MAE는 QD 점수 0.761×10⁶을 7.74시간, 메모리 112메가바이트로 냈다. PGA-ME는 0.582×10⁶을 18.19시간, 374메가바이트로 냈다.
DSAGE. 미로 영역에서 QD 점수 10,480.8을 평가 33,930±1,411회에 도달했다. 같은 점수를 MAP-Elites는 10만 회 예산을 다 써서 얻었다. 마리오 영역에서는 2,464±356회로, CMA-ME의 5,760±516회보다 적었다.
사용처. pyribs 저장소는 2026년 9월 26일 조사 시점 기준 GitHub 별 263개다. 같은 시점 Semantic Scholar 인용 수는 CMA-ME 180건, CMA-MAE GECCO 2023 논문 46건이다. 두 수치 모두 변동이 잦다. 라이브러리가 소개한 사용자에는 Autodesk Research의 Adam Gaier, 임페리얼칼리지런던 Adaptive & Intelligent Robotics Lab, Google DeepMind, HUAWEI Noah's Ark Lab, 뉴욕대 Game Innovation Lab, 뮌헨대, 트렌토대의 Giovanni Iacca가 있다.
한계차원 한계가 가장 먼저 걸린다. 공분산 행렬은 파라미터 수의 제곱으로 커지고 고유값 분해가 필요하다. CMA-MAE 저자들은 StyleGAN2 실험에서 CMA-ME와 CMA-MAE를 아예 제외했다. 9216차원이면 9216×9216 행렬을 분해해야 하기 때문이다. 순정 CMA-MAE는 수백에서 수천 파라미터까지가 현실적이다. 그 위로는 sep-CMA-MAE, LM-MA-MAE, 또는 미분 기반 변형이 필요하다.
측정 축이 늘면 칸이 폭발한다. 축 하나를 더하면 칸 수가 곱해진다. ARCH-Elites는 축 두 개를 썼다. Hagg 등의 도시 연구는 여덟 개를 썼고 아카이브가 성기게 채워지는 것을 감수했다. 완화책은 중심 보로노이 분할 기반 CVT-MAP-Elites다. 다만 이 경우 칸이 불규칙해져서 이웃한 설계가 무엇인지의 의미가 달라진다.
해상도가 승패를 뒤집는다. 2020년 논문에서 CMA-ME는 500×500 선형투영 문제에서 MAP-Elites를 이겼다. 2023년 논문에서 같은 문제를 100×100으로 두자 졌다. 선형투영 구면 QD 점수 36.50 대 41.64다. 알고리즘도 문제도 같은데 순위가 반대다. 아카이브 해상도를 밝히지 않은 비교표는 믿을 수 없다.
학습률 알파는 양끝에서 무너진다. 대략 0.001에서 0.1 사이에서는 견고하다고 보고된다. 그 밖에서는 급격히 나빠진다. 선형투영 구면 커버리지는 알파 0.01에서 83.31%, 0에서 6.06%, 1에서 43.50%다. 로봇팔 문제 QD 점수는 79.03에서 알파 0일 때 65.91로 떨어진다. 게다가 알파는 해상도에 의존하므로 칸 수 비율로 지수 보정을 해야 한다. 저자들은 한계 절에서 알파를 자동으로 정하는 방법이 없다고 인정한다.
min_f 함정. 해는 목적값이 문턱값보다 커야 들어간다. 문턱값의 초기값이 min_f다. pyribs 문서는 목적값이 계속 min_f와 같으면 아무것도 들어가지 않고 아카이브가 빈 채로 남는다고 경고한다. min_f는 실제 최솟값보다 조금 아래로 잡아야 한다.
소프트 아카이브는 최고 해를 보관하지 않는다. 수용 기준이 문턱값이므로 한 칸의 역대 최고 해가 밀려날 수 있다. pyribs는 그래서 결과 전용 아카이브를 따로 두라고 요구한다. 학습률 1.0, 문턱 최솟값 음의 무한대로 설정한 아카이브다. 소프트 아카이브를 그대로 설계 카탈로그로 납품하는 것은 쉽게 저지르고 조용히 넘어가는 실수다.
순위 규칙과 선택 규칙이 서로 간섭한다. 저자들은 알파가 작을 때 필터 선택이 나빠진다는 것을 발견하고 뮤 선택을 썼다. pyribs는 알파 1.0에 기본 개선 순위를 함께 쓰지 말라고 경고하며 2단계 개선 순위를 권한다. 이런 내용은 논문 본문이 아니라 부록과 라이브러리 문서에 있다.
벤치마크 포화. CMA-MEGA와 CMA-MAEGA는 선형투영 Rastrigin과 고원 문제에서 둘 다 커버리지 100.00%를 찍었다. 그 영역에서는 더 이상 구분 신호가 나오지 않는다. 저자들은 CMA-MAEGA의 이득을 보려고 더 어려운 StyleGAN2 영역을 새로 만들어야 했다고 적었다.
대리모형을 뚫는다. Hagg 등의 연구에서 Sobol 무작위 표본으로 학습한 SVGP 대리모형은 최적화기가 만든 설계로 시험하자 결정계수가 약 0.000으로 떨어졌다. 유전자 기반 스칼라 대리모형은 가짜 최적점을 만들었다고 보고된다. QD는 대리모형의 허점을 특히 잘 찾는다. 칸 5,000개를 채운다는 것은 모형의 외삽 구역 5,000곳을 찔러 본다는 뜻이기 때문이다.
잡음에 약하다. 아카이브는 칸마다 엘리트 하나만 남기는 승자독식 구조다. 목적값이 확률적이면 운 좋게 높게 나온 평가가 그 칸을 영구 점유한다. QD 점수는 부풀려진다. 원래 인간로봇상호작용 연구에서는 반복 시행 평균으로 이를 눌렀다.
공원에서맞는 국면부터. 소공원을 파라메트릭으로 모델링하면 길이가 고정된 실수 벡터가 나온다. 동선 제어점 좌표, 수목 위치, 마운딩 높이, 식재대 오프셋, 포장 경계 등이다. 파라미터가 수백 개 수준이면 CMA-MAE가 편하게 다루는 영역이다.
얻는 것은 최적안 하나가 아니다. 훑어볼 수 있는 2차원 설계 카탈로그다. 아카이브 두 축에 발주처가 실제로 다투는 두 지표를 올린다. 예를 들어 포장 면적 비율과 수관 피복률이다. 또는 열린 잔디 면적과 공간 위요도다. 목적함수는 방어 가능한 품질 지표 하나로 둔다. 여름철 열쾌적 시간 수, 또는 접근성과 공사비를 가중합한 점수 같은 것이다. 그러면 약 5,000개 칸이 채워진 격자가 남는다. 각 칸은 그 절충 위치에서 가능한 최선의 안이다. 투시도 세 장보다 협의 자료로 훨씬 낫다.
여기서 CMA-ME가 아니라 CMA-MAE여야 하는 이유가 있다. 공원 목적함수는 평평해진다. 수관 피복률이 일정 수준을 넘으면 나무를 더 심어도 열쾌적 점수가 거의 오르지 않는다. 이것이 정리 5.4가 다루는 평평한 목적함수 상황이다. CMA-MAE는 이때 밀도 하강 탐색으로 완만하게 성격을 바꾸며 계속 퍼진다. CMA-ME는 피드백 신호를 잃고 재시작만 반복한다.
못 하는 것. 위상이 바뀌는 변경은 다루지 못한다. 동선 하나를 추가하거나 삭제하는 일, 수목 개수를 바꾸는 일이 그렇다. 이런 것은 연속 좌표가 아니다. CMA-ES는 차원이 고정된 벡터를 요구한다.
강한 제약도 아카이브가 모른다. 접근로 종단 경사, 이격 거리, 배수 구배 같은 것이다. 파라미터화 단계에서 구조적으로 만족시키거나 벌점으로 처리해야 한다.
수종 팔레트 같은 범주형 변수도 잘 맞지 않는다. 연속 값으로 억지로 바꾸면 의미가 흐려진다.
결국 묶이는 지점은 평가 비용이다. ENVI-met이나 전산유체해석은 평가 한 번에 10분에서 20분이 걸린다. 1만 회면 70일에서 140일이다. 주목할 점은 앞의 두 도시설계 선례가 모두 이 문제를 더 나은 최적화기가 아니라 대리모형으로 풀었다는 것이다. 옮겨올 교훈은 QD 변형 선택이 아니라 대리모형 구축 쪽에 있다.
솔직한 단서. CMA-ME나 CMA-MAE를 공원 설계나 조경 설계에 적용한 공개 사례는 이번 조사에서 찾지 못했다. 위 두 도시 선례는 모두 기본 MAP-Elites를 썼다. 따라서 이 영역에서 CMA-MAE가 낫다는 판단은 벤치마크에서 유추한 것이지 실증된 것이 아니다.
구현라이브러리는 pyribs 하나로 충분하다. 파이썬 패키지이고 pip install ribs로 설치한다. 아카이브, 이미터, 스케줄러가 분리돼 있어서 CMA-ME와 CMA-MAE를 설정만 바꿔 오갈 수 있다. 조경 전용 플러그인은 없다. Grasshopper나 Revit에 바로 붙는 QD 컴포넌트도 확인되지 않는다. 연결부는 직접 만들어야 한다.
순서는 이렇게 잡는다.- 1. 모델을 벡터로 노출한다. Grasshopper와 Rhino로 공원 모델을 만들고 입력을 길이가 고정된 실수 벡터 하나로 정리한다. 슬라이더 개수가 곧 탐색 차원이다. 파이썬 쪽과는 파일 교환이나 로컬 소켓으로 연결한다. Rhino.Compute를 쓰면 헤드리스 호출이 된다.
- 2. 값싼 해석식 대용 지표를 먼저 만든다. 그늘은 태양 벡터 광선 추적으로 근사한다. 동선 효율은 그래프 최단경로로 계산한다. 식재 공사비는 단가표 조회로 끝낸다. 이 단계만으로도 아카이브 구조가 말이 되는지 확인할 수 있다.
- 3. 대리모형을 학습시킨다. 설계안 5,000개에서 2만 개를 뽑아 실제 해석을 돌린다. 중요한 점은 학습 표본을 무작위로만 뽑지 않는 것이다. 최적화기가 실제로 방문한 설계를 반드시 섞어야 한다. Hagg 등의 연구에서 무작위 표본만으로 학습한 대리모형은 최적화기 산출물에서 결정계수 약 0.000을 기록했다.
- 4. pyribs를 설정한다. 아카이브는
GridArchive를 쓴다. 결과 보관용 아카이브를 하나 더 만든다. 결과용은 learning_rate=1.0, threshold_min을 음의 무한대로 둔다. 이미터는 EvolutionStrategyEmitter다. 순위 규칙은 ranker="imp", 선택 규칙은 selection_rule="mu", 재시작 규칙은 restart_rule="basic"으로 시작한다. 이미터 15개, 배치 크기 36이 논문 실험 설정이다. 알파는 0.01에서 시작하되 쓰려는 해상도에 맞춰 칸 수 비율로 지수 보정한다. threshold_min은 목적값의 실제 하한보다 조금 아래로 잡는다. - 5. 재검증한다. 상위 엘리트 30개 정도를 골라 대리모형이 아니라 실제 해석기로 다시 돌린다. 이 단계를 건너뛰면 대리모형의 허점을 설계안으로 납품하게 된다.
규모가 커지면. 파라미터가 수천을 넘어가면 순정 CMA-MAE 대신 sep-CMA-MAE나 LM-MA-MAE 쪽을 본다. 측정 축이 셋을 넘어가면 격자 대신 CVT 기반 아카이브를 검토한다. 기울기를 계산할 수 있는 미분 가능 모델이라면 CMA-MAEGA가 후보다. 다만 조경 해석 도구는 대체로 미분값을 주지 않는다.
↑ 목차
7 · 서로게이트 결합
대리모형 뿌리 — Jerome Sacks 외 (1989), 컴퓨터 실험의 설계와 해석
설계 적용 — ARCH-Elites (GECCO 2021) · U-Net 가속 QD (2026)
배경결정론적 시뮬레이션이라는 이상한 문제
통계학 쪽 뿌리는 1989년 논문 하나다. Jerome Sacks, William J. Welch, Toby J. Mitchell, Henry P. Wynn의 "Design and Analysis of Computer Experiments"다. Statistical Science 4권 4호 409~423쪽, 1989년 11월, DOI 10.1214/ss/1177012413. 저자 소속은 각각 일리노이대, 워털루대, 오크리지 국립연구소, 시티 유니버시티 런던으로 알려져 있다. 다만 표지 각주를 직접 확인하지는 못했으므로 미확인으로 둔다.
이들이 붙든 문제는 좁고 분명했다. 결정론적 계산 코드에는 무작위 오차가 없다. 같은 입력을 두 번 넣으면 같은 수가 나온다. 그러면 고전 실험계획법의 논리가 통째로 무의미해진다. 반복 측정도, 잡음 추정도, 잔차 검정도 할 일이 없다. 이들의 수는 발상의 전환이었다. 결정론적 출력을 확률과정의 한 실현으로 취급한 것이다. 이때 불확실성은 측정 잡음이 아니다. 아직 돌려 보지 않은 입력에 대한 분석자의 무지다. 여기서 최량 선형 불편 예측자가 나온다. 이 예측자는 이미 계산한 점을 정확히 통과한다. 그리고 계산하지 않은 모든 점에 분산을 하나씩 붙여 준다. 이 분산이 뒤에 나올 모든 탐색 전략의 연료가 된다.
수학적으로 이것은 크리깅이다. 남아프리카에서 금 품위를 추정한 Danie Krige의 이름에서 왔다. 이후 Georges Matheron이 형식화했다고 알려져 있다. 1951년이라는 연도와 1960년대 초라는 시점은 통설이며 이번에 1차 자료로 확인하지 않았다. 1989년 논문은 이 지구통계 기법을 결정론적 시뮬레이션의 세계로 옮겨 왔다. 그 결과 DACE라는 약칭이 굳었다.
예측기에서 최적화기로
예측기만으로는 설계 도구가 되지 않는다. Donald R. Jones, Matthias Schonlau, William J. Welch가 그 간극을 메웠다. "Efficient Global Optimization of Expensive Black-Box Functions", Journal of Global Optimization 13권 4호 455~492쪽, 1998년이다. 여기서 나온 EGO 알고리즘과 기대개선량 기준이 오늘날 베이즈 최적화의 직계 조상이다. 기대개선량은 지금 최고값을 얼마나 넘어설 것으로 기대되는지를 확률적으로 계산한 값이다.
다음 확장은 충실도였다. 거친 계산과 정밀한 계산을 섞는 문제다. Marc Kennedy과 Anthony O'Hagan이 "Predicting the output from a complex computer code when fast approximations are available"를 Biometrika 87권 1호 1~13쪽, 2000년에 냈다. 이어 Alexander Forrester, András Sóbester, Andy Keane가 "Multi-fidelity optimization via surrogate modelling"을 Proc. R. Soc. A 463권 2088호 3251~3269쪽, 2007년에 발표했다. 여기서 코크리깅이 정리된다.
설계 분야가 실제로 물려받은 계보
건축과 도시 쪽이 물려받은 것은 통계 계보보다 진화연산 계보다. Yaochu Jin, Markus Olhofer, Bernhard Sendhoff가 "A framework for evolutionary optimization with approximate fitness functions"를 IEEE Trans. Evolutionary Computation 6권 5호 481~494쪽, 2002년에 냈다. 뒤이어 Jin의 개관 논문이 Swarm and Evolutionary Computation 1권 2호 61~70쪽, 2011년에 나왔다. 이 계보가 이 분야의 핵심 규율에 이름을 붙였다. 모형 관리다. 대리모형을 언제 다시 학습시킬지, 어떤 해를 진짜로 계산할지를 정하는 규칙 전체를 말한다.
품질다양성 접붙이기는 더 늦게 왔다. Jean-Baptiste Mouret과 Jeff Clune이 MAP-Elites를 arXiv:1504.04909, 2015년으로 공개했다. 그리고 Adam Gaier, Alexander Asteroth, Jean-Baptiste Mouret이 둘을 융합한 SAIL을 냈다. "Data-Efficient Design Exploration through Surrogate-Assisted Illumination", Evolutionary Computation 26권 3호 381~410쪽, 2018년이다. 표지의 소속 표기는 흔히 알려진 것과 다르다. Gaier는 이중 소속이다. Université de Lorraine, CNRS, Inria, LORIA, 낭시와 Bonn-Rhein-Sieg 응용과학대학교, 장크트아우구스틴을 함께 적었다. Bonn-Rhein-Sieg 단독은 Asteroth뿐이다. Mouret은 Université de Lorraine, CNRS, Inria, LORIA, 낭시다.
원리일곱 개의 부품, 각각이 막는 실패
이 방법은 하나의 고리다. 부품이 일곱 개이고, 각 부품은 그것이 없을 때 벌어지는 특정한 실패를 막는다. 부품을 빼면 고리가 도는 것처럼 보이다가 조용히 틀린 답을 낸다.
1. 공간을 고르게 채우는 초기 설계
첫 표본은 Sobol 저불일치 수열이나 라틴 하이퍼큐브 표집으로 뽑는다. 균등 난수는 쓰지 않는다. 이유가 있다. 난수는 뭉침과 빈틈을 남긴다. 뭉친 자료에 가우시안 과정을 적합하면 길이척도 초매개변수가 식별되지 않는다. 길이척도는 입력이 얼마나 움직여야 출력이 달라지는지를 재는 값이다. 이 값이 흔들리면 모형 전체가 흔들린다. SAIL은 10차원 에어포일 문제에 Sobol 점 50개로 시작한다. 16차원 벨로모빌 외피 문제에는 200개로 시작한다.
2. 비싼 평가자
고리의 바닥에는 진짜 계산이 있다. 전산유체역학 코드인 OpenFOAM의 RANS 해석, 미기후 해석기 ENVI-met, 건물 에너지 해석기 EnergyPlus, 우수 관리 모형 SWMM 같은 것이다. 규제용 모형도 들어간다. 독일기상청이 유지하는 KLAM_21이 그 예다. 경사면을 따라 흘러내리는 찬공기를 다루는 2.5차원 코드다. 고립된 필지 하나에 5분에서 20분이 걸린다. 도시 규모 영역이면 최대 24시간이다. 이 계산 결과들이 그대로 학습 자료가 된다.
3. 대리모형
여기서 갈래가 둘로 나뉜다. 모형의 종류보다 표현 방식의 차이가 훨씬 중요하다.
첫째는 스칼라 방식이다. 유전자 벡터 하나를 넣으면 적합도 숫자 하나가 나온다. 가우시안 과정 회귀, 곧 크리깅이 표준이다. 커널은 Matérn 5/2나 제곱지수를 쓴다. 여기에 입력별 관련도 자동 결정, 곧 ARD를 붙인다. ARD는 입력 차원마다 길이척도를 따로 학습한다. 그래서 적합된 모형이 민감도 분석을 덤으로 내놓는다. 어떤 변수의 길이척도가 짧으면 그 변수가 중요하다는 뜻이다. 방사기저함수, 랜덤 포레스트, 다항 카오스 전개도 같은 자리에 쓸 수 있다.
둘째는 공간장에서 공간장으로 가는 방식이다. 합성곱 신경망이나 U-Net이 대지 도면을 래스터로 받아 물리장을 그대로 출력한다. 2026년 기후 연구의 U-Net은 부호기와 복호기가 각 4단계다. 기본 필터 64개, 각 단계마다 3×3 합성곱 두 번, 배치 정규화와 ReLU를 붙인다. 축소는 최대 풀링, 확대는 이중선형 보간에 건너뛰기 연결을 쓴다. 마지막에 1×1 합성곱으로 6개 출력 채널을 만든다. 입력은 3채널이다. 지형 표고, 건물 높이, 토지이용 분류를 3m 해상도로 넣는다.
이 차이가 왜 중요한가. 합성곱은 국소성과 평행이동 등변성을 구조에 박아 넣는다. 가까운 것끼리 상호작용하고, 형상이 옮겨 가면 결과도 함께 옮겨 간다는 물리적 사전 지식이다. 유전자 벡터를 받는 가우시안 과정에는 이 편향이 아예 없다.
4. 인필 기준, 곧 다음에 무엇을 진짜로 계산할지
기대개선량이나 신뢰상한을 쓴다. 신뢰상한은 예측 평균에 예측 표준편차를 상수배해서 더한 값이다. 이 부품을 빼먹는 실무자가 가장 많다. 그리고 왜 대리모형 최적화가 실패하는지 의아해한다. 예측 평균만 최적화하면 탐색은 모형이 지금 믿고 있는 것을 채굴할 뿐이다. 그 믿음을 교정할 자료는 영영 생기지 않는다. 표준편차에 보상을 주어야 다음 계산이 모형이 무지한 영역으로 밀려 들어간다. SAIL의 제거 실험이 이를 수치로 보여 준다. 신뢰상한 표집은 Sobol 표집 대비 고적합 해를 한 자릿수 개선했다. 평균만 쓴 경우와 분산만 쓴 경우도 모두 이겼다.
5. 모형 관리
온라인이냐 오프라인이냐를 정해야 한다. 온라인은 고리 안에서 계속 재학습한다. 오프라인은 한 묶음으로 자료를 모아 한 번 학습하고 끝낸다. SAIL은 온라인이다. 반복마다 정밀 평가 10개를 추가하고 가우시안 과정을 다시 적합한다. 에어포일 실행에서 재적합이 96회였다. 2026년 U-Net 파이프라인은 일부러 오프라인이다. 약 19,000회 시뮬레이션을 한 번에 모아 한 번만 학습한다. 이것이 가능한 이유는 공간장 대리모형이 일반화되기 때문이다. 스칼라 대리모형으로 같은 짓을 하면 무너진다.
6. 다중충실도
코크리깅은 고충실도 출력을 저충실도 출력의 상수배에 보정항을 더한 것으로 놓는다. 거친 격자 계산이 전체 형상을 주고, 정밀 계산 몇 번이 보정을 준다. 정확도를 필요한 곳에서만 사는 방법이다.
7. 품질다양성 층
MAP-Elites는 해석 가능한 설계 서술자로 이루어진 저차원 공간을 격자로 자른다. 그리고 칸마다 가장 좋은 해 하나만 남긴다. 고리는 단순하다. 보관된 엘리트 하나를 무작위로 고른다. 변이시킨다. 평가한다. 서술자를 계산해 어느 칸에 속하는지 정한다. 그 칸의 기존 해보다 나으면 교체한다. 결과물은 점 하나가 아니다. 절충면 전체를 보여 주는 지도책이다.
융합이 실제로 어떻게 생겼는가
SAIL의 3단계 구조가 이를 구체적으로 보여 준다. 1단계는 Sobol 표본에 가우시안 과정을 적합한다. 2단계는 획득 지도다. 신뢰상한을 적합도로 삼아 MAP-Elites를 돌린다. 그러면 가장 정보량이 큰 설계들의 보관소가 만들어진다. 여기서 Sobol 좌표로 10개를 뽑아 실제로 계산하고 모형을 다시 적합한다. 이 과정을 반복한다. 3단계는 예측 지도다. 분산 보너스를 끄고 예측 평균만으로 MAP-Elites를 다시 돌린다. 최종 지도책을 사실상 무료로 렌더링하는 단계다. SAIL은 조명 1회당 예측 10,000회를 수행하고, 실행 1회당 예측이 거의 100만 회에 이른다.
둘의 관계는 양방향 공생이다
품질다양성 탐색은 평가 10만 회 수준을 요구한다. 대리모형이 그 한 번을 밀리초로 만든다. 이것이 한 방향이다. 반대 방향이 덜 알려져 있고 더 흥미롭다. 품질다양성 탐색이 만들어 내는 학습 자료는 고성능 다양체 위에 놓인다. 최적화기가 나중에 실제로 지나갈 바로 그 영역이다. Hagg 등이 이를 측정했다. SPHEN 표본으로 학습한 대리모형은 3차원 유동 예측에서 결정계수 0.9 이상을 얻었다. 같은 과제에서 Sobol 표본으로 학습한 경우는 대략 0.6이었다.
변형SAIL, 2018
Gaier, Asteroth, Mouret, Evolutionary Computation 26권 3호 381~410쪽. 가우시안 과정에 신뢰상한과 MAP-Elites를 결합하고, 획득 지도와 예측 지도를 분리했다. 해결한 문제는 품질다양성 탐색의 치명적인 평가 예산이다.
SPHEN, 표현형 적소화, 2020
Alexander Hagg, Dominik Wilde, Alexander Asteroth, Thomas Bäck. "Designing Air Flow with Surrogate-Assisted Phenotypic Niching", PPSN XVI, 140~153쪽, DOI 10.1007/978-3-030-58112-1_10. LNCS 권번호가 12269로 인용되곤 하나 이번에 확인하지 못했다. 메운 구멍이 분명하다. SAIL은 적합도만 대리모형으로 만들고 서술자는 값싸게 구할 수 있다고 가정한다. SPHEN은 표현형 특징 자체에도 대리모형을 세운다. 그래서 유동의 엔스트로피나 난류 성격처럼 시뮬레이션이 있어야 알 수 있는 양을 서술자로 쓸 수 있다.
2차원 사전최적화, 2023
Hagg, Kliemank, Asteroth, Wilde, Bedrunka, Foysi, Reith. 학술지판은 Evolutionary Computation 31권 3호 287~307쪽, 2023년 9월, DOI 10.1162/evco_a_00326이다. 흔히 인용되는 2023년 3월은 arXiv:2303.15896 사전공개일이지 학술지 발행일이 아니다. 소속은 세 곳이다. Bonn-Rhein-Sieg 응용과학대학교 TREE, 지겐대학교 기계공학과, 그리고 Dirk Reith의 프라운호퍼 SCAI다. 깬 벽은 3차원 계산 비용이다. 2차원 평면 형상을 SPHEN으로 최적화한다. 대표적인 3차원 압출 형상 16개만 실제로 계산한다. 그 뒤 2차원에서 3차원으로 가는 사상을 학습한다. 3차원 전산유체역학 16회로 3차원 건물 설계 1,024개를 얻었다.
DSA-ME, 2021과 2022
"Deep Surrogate Assisted MAP-Elites for Automated Hearthstone Deckbuilding", arXiv:2112.03534, GECCO '22. 가우시안 과정을 심층 신경망으로 교체했다. 가우시안 과정의 정확 추론이 학습점 수의 세제곱에 비례한다는 한계를 고차원 이산 공간에서 피하려는 선택이다.
DSAGE, 2022
Varun Bhatt, Bryon Tjanaka, Matthew C. Fontaine, Stefanos Nikolaidis, "Deep Surrogate Assisted Generation of Environments", NeurIPS 2022. 두 가지를 더했다. 하나는 부차적 행동 자료를 자기지도 방식으로 예측하는 중간 목표다. 에이전트 점유 격자를 먼저 맞히게 시킨다. 다른 하나는 대리모형 보관소를 하향 표집해서 바깥 반복마다 진짜 계산을 적게 쓰는 것이다. 제거 실험을 보면 둘 다 필수였다. 기본형만으로는 순수 MAP-Elites를 겨우 넘는 수준이었다.
BOP-Elites
시작은 Paul Kent과 Juergen Branke의 arXiv:2005.04320, 2020년 5월 8일이다. 이 사전공개본은 두 저자 공동이다. 이후 arXiv:2307.09326, 2023년 7월 18일의 "BOP-Elites, a Bayesian Optimisation Approach to Quality Diversity Search with Black-Box descriptor functions"는 Kent, Adam Gaier, Jean-Baptiste Mouret, Branke 네 사람의 논문이다. 학술지판은 "Bayesian Optimization for Quality Diversity Search With Coupled Descriptor Functions", IEEE Trans. Evolutionary Computation 29권 2호 302~316쪽, 2025년 4월, DOI 10.1109/TEVC.2024.3376733이다. 고친 지점은 획득함수 자체다. 스칼라용 기대개선량이나 신뢰상한을 그대로 재활용하지 않는다. 보관소 전체의 개선을 겨냥하는 획득함수를 새로 정의한다. 블랙박스 서술자에는 각각 별도의 가우시안 과정을 붙인다.
U-Net 가속 품질다양성, 2026
Alexander Hagg, Tania Guerrero, Dirk Reith, arXiv:2606.04658, 2026년 6월 3일 제출, PPSN 2026 발표. 가장 깊은 문제를 건드렸다. 유전자에서 스칼라로 가는 예측을 버리고 공간장에서 공간장으로 가는 예측으로 갈아탔다. 이 전환 덕분에 무작위 표본으로 오프라인 학습한 모형이 최적화기와 맞붙고도 살아남는다.
복수 대리모형 혼성
Wu, Zhan, Quan, Fan, Yang, 2021년. 전역 가법 가우시안 과정과 국소 경사부스팅 회귀나무를 함께 쓴다. 고차원 가구 배치 문제에서 단일 대리모형보다 수렴이 빠르고 최적값도 낫다고 보고한다.
활용공기역학, SAIL, 2018
2차원 에어포일 문제다. 형상은 PARSEC 방식 10개 변수로 기술한다. 서술자는 둘이다. 에어포일 높이 Z_up과 최고점의 위치 X_up이다. 보관소는 25×25 = 625칸이고 이 중 기하학적으로 성립하는 칸이 577개다. 해석기는 XFoil, 반복 실행 20회다. 전체 예산은 정밀 평가 1,000회다. Sobol 50개로 시작해 반복마다 10개를 더한다. 결과는 두 가지로 읽어야 한다. 최종 지도에서 모형이 예측한 항력의 90%가 실제 시뮬레이션 값의 5% 이내였다. 그리고 SAIL이 찾은 설계는 지금까지 CMA-ES가 찾아낸 최고 설계와 맞먹었다. 그 CMA-ES 쪽 비용은 1,150만 회가 넘는 평가였다. 20회 반복에 577칸, 칸마다 1,000회를 곱한 값이다. 정밀 평가 100,000회를 받은 MAP-Elites는 6.5시간을 쓰고도 SAIL의 30분보다 못한 해를 냈다. 3차원 벨로모빌 외피 문제는 변수 16개, OpenFOAM으로 초속 20m 항력을 계산한다. 1,000회 평가에 약 1.2일이 들었다. 같은 문제에 MAP-Elites를 100,000회 돌렸다면 약 4.2개월로 추정된다.
도시설계, ARCH-Elites, GECCO '21 Companion 313~314쪽
보스턴의 실제 대지 두 곳을 다룬다. 하버드 캠퍼스 일대와 MIT 캠퍼스 일대다. 저자 세 사람 Galanos, Liapis, Yannakakis의 표지 소속은 University of Malta, Sliema다. Koenig의 표지 소속은 Bauhaus-University Weimar와 오스트리아 기술연구소다. 유전자는 건물 외곽선과 높이, 그리고 고정인지 변경 가능인지를 나타내는 깃발로 이루어진다. 적합도는 용적률이며 층고 4m로 환산한다. 서술자는 둘이다. 하나는 앉아 있기 쾌적한 풍속 조건, 곧 초속 6m 미만인 열린 공간의 비율이다. 다른 하나는 위험 조건, 곧 초속 15m 초과인 열린 공간의 총면적이다. 판정 기준은 1978년 Lawson 기준이고, 폭풍 풍속 초속 17m를 4개 풍향에 대해 연간 시간으로 가중해 평가한다. 대리모형은 AIT 쪽에서 나온 사전학습 모형 InFraReD다. Infrared City GmbH의 공동창업자는 대표 Angelos Chronis와 최고과학책임자 Theodoros Galanos이며, Chronis는 AIT 선임 연구엔지니어를 겸한다. 흔히 붙는 약어 풀이와 설립 연도는 이번에 확인하지 못했다. 보관소는 20×20칸, 높이는 4m에서 100m로 제한한다. 실행 1회당 선택 2,000회, 곧 평가 4,000회이고 대지마다 10회 실행했다. 결과는 피복률이 하버드 0.46, MIT 0.29다. 품질다양성 점수는 양쪽 다 175, 최대 적합도는 각각 1.01과 1.63이다. 하버드에서 진화한 건물의 평균 높이는 22.4m로, 원래 도시의 17.1m보다 높았다. 실행 1회에 몇 시간이 걸렸다. 같은 종류의 바람 쾌적성 연구를 기존 방식으로 한 번 하면 일주일치 시뮬레이션이 든다.
기후적응형 배치, Hagg, Guerrero, Reith, PPSN 2026
KLAM_21을 대체하는 작업이다. 학습 자료는 KLAM_21 실행 약 19,000회이며 고성능 계산 자원 약 130시간이 들었다. U-Net 학습 자체는 NVIDIA A100 한 장에서 약 20분이다. 정확도는 전체 결정계수 0.994 이상이다. 찬공기 함량 항목이 0.999, 교차 방향 풍속 항목이 0.985다. 유전자는 60차원이다. 직사각형 10개 각각의 x, y, 폭, 길이, 층수, 회전이다. 서술자는 여덟이다. 건폐율, 용적률, 평균 건물 높이, 높이 변동성, 건물 사이 평균 거리, 건물 수, 조밀도, 그리고 공원 계수다. 보관소는 pyribs의 GridArchive를 쓰고 전체 실행에서 고유 평가 약 80,000회를 수행했다. 추론은 설계 하나당 약 2밀리초이며, 평가 1회 기준 12,000배가 넘는 가속이라고 보고된다. 1,000세대에 3분에서 8분, 10,000세대에 31분에서 53분이 걸린다. 이 파이프라인은 공개 웹도구 OpenSKIZZE에 실려 배포되었다.
미기후를 고려한 가구 계획
Yihan Wu, Qingming Zhan, Steven Jige Quan, Yuli Fan, Yu Yang, Building and Environment 195권 107661, 2021년 5월. 전역 가법 가우시안 과정과 국소 경사부스팅 회귀나무를 결합하고, 이를 파라메트릭 설계 모듈과 묶은 7단계 절차를 제시한다. 도출된 준최적 주거 가구 계획의 수치는 풍속비 0.36, 풍속 지니계수 0.31, 총이익 4.05×10^8 위안이다.
환경 생성, DSAGE, NeurIPS 2022
미로 과제에서 평가 100,000회 기준 품질다양성 점수가 16,446.60 ± 42.27이었다. 같은 조건의 MAP-Elites는 10,480.80 ± 150.13이다. DSAGE는 MAP-Elites의 최종 점수에 33,930 ± 1,411회 평가만에 도달했다. 마리오 과제에서는 4,362.29 대 CMA-ME 1,840.17이다.
열린 공간과 공원
Eshraghi, Nikkhah Dehnavi, Mirdamadi, Talami, Zomorodian, arXiv:2501.08019. 천공시계지수와 가시성에 XGBoost 대리모형을 붙였다. 천공시계지수의 상위 예측 변수는 건물 폭, 공원 면적, 주변 건물 높이였다. 반사실 설명 탐색으로 약 1분 만에 최적화 결과를 얻었고 평균제곱근오차는 5%였다. 기존 방식은 15분에서 30분, 유전 알고리즘 3~4세대가 필요했다.
우수 관리
Yuanyuan Yang, Yabin Li, Qiang Huang, Jun Xia, Jiake Li, Journal of Hydrology 616권 128848, 2023년. NSGA-II 고리 안의 SWMM을 대리모형으로 대체해 저영향개발 시설의 다목적 규모 산정을 수행했다.
한계분포 이동이 가장 큰 실패이고, 원인은 최적화기 자신이다
2026년 기후 논문이 가장 깨끗한 숫자를 제공한다. 희소 변분 가우시안 과정을 Matérn 2.5 커널과 ARD로, 입력 62차원, GPyTorch로 구성했다. 남겨 둔 Sobol 시험 자료에서는 결정계수 0.981이 나왔다. 그런데 MAP-Elites가 이후 만들어 낸 최적화된 설계들에서는 결정계수가 거의 0이었다. 품질다양성 고리 안에서 이 구성의 스피어만 상관은 0.200 ± 0.165, 검증 결정계수는 -21 ± 3이었다. 탐색을 더 세게 밀면 나빠졌다. 탐색 계수를 10으로 올리자 상관 0.048 ± 0.037, 결정계수 -585 ± 52가 되었다. 기제는 되먹임 공변량 이동이다. 최적화기는 대리모형의 오차를 사냥하는 적대자처럼 행동한다. 모형이 과대예측하는 지점은 겉보기에 좋은 설계처럼 보이기 때문이다. Jin, Olhofer, Sendhoff가 2002년에 이것을 가짜 최적점이라 불렀다. 근사함수의 최적점이지만 실제 함수의 최적점은 아닌 지점이다.
초매개변수 조정으로는 나쁜 학습자료를 구제하지 못한다
같은 논문이 유도점 개수를 100개에서 5,000개까지 훑었다. 무작위 부분집합 초기화와 k-평균 초기화를 둘 다 시도했다. 어느 것도 Sobol로 학습한 모형을 살리지 못했다. 해법은 더 잘 조정된 스칼라 모형이 아니었다. 표현 방식 자체를 공간장에서 공간장으로 바꾼 것이었다. 실무 함의가 분명하다. 검증 결정계수가 낮을 때 초매개변수부터 만지는 것은 대개 시간 낭비다.
가우시안 과정의 비용 규모
정확 추론은 학습점 수의 세제곱에 비례한다. SAIL 논문은 값싼 에어포일 문제에서 정밀 평가보다 모형 학습과 예측에 벽시계 시간이 더 들었다고 보고한다. 실행 1회당 대리모형 예측이 거의 100만 회이기 때문이다. 대리모형이 병목이 되는 상황이 실제로 생긴다.
서술자 계산이 공짜라는 가정
SAIL은 특징을 정확히 계산하고 적합도만 근사한다. 그런데 조경과 도시의 서술자는 대개 공짜가 아니다. 바람 쾌적성, 엔스트로피, 유출량은 모두 시뮬레이션이 있어야 나온다. 이 경우 기본형 SAIL은 작동하지 않는다. SPHEN이나 BOP-Elites처럼 서술자에도 대리모형을 세우는 변형이 필요하다.
보관소의 경계와 해상도는 드러나지 않은 사전 가정이다
ARCH-Elites의 MIT 피복률 0.29와 하버드 0.46 차이는 알고리즘 성능 차이가 아니었다. MIT 대지는 39%가 고정으로 잠겨 있었고 하버드는 10%였다. 게다가 MIT는 이미 조밀했다. 열린 공간 비율이 46%로, 하버드의 67%보다 낮았다. 더 채워 넣을 여지가 없었다. MIT 엘리트 중 원래보다 건물 수가 많은 경우는 5%뿐이었다. 격자 경계를 어디로 잡았는지가 결과를 규정한다.
대리 지표를 최적화하면 다른 곳에서 손해를 산다
ARCH-Elites 자신이 이를 솔직하게 보고한다. 진화된 하버드 배치의 97%, MIT 배치의 96%가 원래 도시보다 위험 풍속 구역이 더 넓었다. 하버드에서 위험한 열린 공간의 평균 면적이 원본 218㎡ 대비 진화안 2,303㎡였다. 밀도와 보행자 쾌적성이 서로를 깎아먹은 것이다. 보관소는 이 손해를 숨기지 않고 보여 주었다. 단일 목적 최적화였다면 같은 손해를 조용히 납품했을 것이다.
자료 비용과 대지 전이성
약 19,000회 시뮬레이션과 약 130 계산시간이 산 것은 하나의 조건에 대한 대리모형이다. 60m 정사각 필지 유형, 3m 해상도, 2도 경사다. 다른 지형, 다른 기후, 다른 필지 형상으로 재학습 없이 옮겨 간다는 근거는 발표된 바 없다. 실무자는 옮겨 가지 않는다고 가정하는 편이 안전하다.
검증은 선택 사항이 아니다
Hagg 등은 실행마다 보관소 엘리트 100개를 진짜 시뮬레이터로 다시 돌린다. 이를 3회 반복하고 스피어만 상관과 검증 결정계수를 보고한다. 최종 보관소를 실측으로 재평가하지 않은 대리모형 기반 품질다양성 결과는 검증되지 않은 것이다.
공원에서잘할 것
소공원은 기하학적으로 닫혀 있다. 2026년 기후 연구의 60m 필지와 규모가 비슷하다. 대리모형을 학습시키기 가장 싸고 가장 믿을 만한 조건이 바로 이런 경계다. 그리고 진짜 산출물은 최적해가 아니라 보관소다. 최적 공원 한 안을 건네는 대신, 2,000개 배치안을 서술자로 색인해 건넨다. 서술자는 발주처가 이미 쓰고 있는 말로 잡으면 된다. 수관 피복률, 개방감을 재는 천공시계지수, 동선 총연장, 광장과 식재의 면적비, 형상 조밀도, 가장자리 투과성 같은 것이다. 공원 계수라는 항목은 2026년 논문이 실제로 행태 차원의 이름으로 쓰고 있다.
빠른 평가자가 이미 존재하는 목적이라면 후보가 된다.- 일사와 그늘 시간. Ladybug와 Honeybee 계열 도구가 있다.
- 바람 쾌적성. ARCH-Elites가 쓴 Lawson 기준 방식이 그대로 적용된다.
- 우수 저류. Yang 등 2023년의 SWMM 대리모형 사례가 있다.
- 가시선과 천공시계지수. Eshraghi 등 2025년의 XGBoost 대리모형이 있고, 그 연구에서 공원 면적이 상위 예측 변수였다.
못할 것
시뮬레이터 바깥의 모든 것이다. 식재 생태, 수종 적지성, 토양 유효 용적, 20년 뒤 수관 생장, 유지관리 비용, 프로그램과 이용 행태, 장소의 의미, 단계별 시행 계획이 여기 속한다. 공원녹지법과 조경기준에 따른 법정 심의도 마찬가지다. 특히 식생이 해상도 있게 반영된 미기후는 건물만 있는 전산유체역학보다 대리모형 문헌에서 훨씬 약하다. 공개된 도시 대리모형은 거의 전부 건물 형상만으로 학습되었다. 수목 효과가 가장 약한 고리인데, 하필 조경설계가 사는 자리가 거기다.
한 가지 더 조용한 함정이 있다. 서술자 선택이 보관소가 보여 줄 수 있는 것을 미리 결정한다. 넣지 않은 차원은 절충 관계로 나타날 수 없다. 그늘과 개방감의 상충을 보고 싶다면 두 가지를 모두 서술자나 목적에 넣어야 한다. 넣지 않으면 그 상충은 존재하지 않는 것처럼 보인다.
구현붙이는 순서
- 파라메트릭 생성기를 먼저 만든다. Grasshopper와 Rhino가 현실적이다. 변수는 20개에서 60개 사이로 잡는다. 기하학적 제약은 생성기 안에 박아 넣는다. 최적화기에게 제약 위반을 벌점으로 가르치는 것보다 훨씬 낫다.
- 비싼 평가자를 하나만 고른다. 다중 물리로 시작하지 않는다.
- 예산에 따라 구성을 나눈다. 시뮬레이션 예산이 수백 회 수준이면 SAIL 방식이다. 가우시안 과정에 ARD와 신뢰상한, 온라인 재학습, Sobol 씨앗 약 50개, 반복당 인필 10개다. 예산이 10,000회 수준이고 대지가 래스터로 자연스럽게 표현된다면 U-Net 공간장 대리모형을 오프라인으로 학습한다. 최적화기의 분포 이동을 견딘다고 실제로 보고된 구성은 현재 이쪽뿐이다.
- 보관소는
pyribs를 쓴다. 서술자는 둘로 시작하고 나중에 늘린다. - 납품 전 게이트를 반드시 둔다. 보관소 엘리트를 층화 표집해 진짜 시뮬레이터로 다시 돌린다. 예측 적합도에 대한 스피어만 상관을 보고한다. 대략 0.9 아래라면 그 보관소는 장식이다.
실제로 쓰는 도구
대리모형 쪽은 GPyTorch와 BoTorch가 가우시안 과정과 획득함수를 함께 제공한다. 2026년 기후 연구의 희소 변분 가우시안 과정도 GPyTorch 구현이다. 가벼운 실험은 scikit-learn의 GaussianProcessRegressor로 충분하다. 트리 계열 대리모형은 XGBoost와 LightGBM이다. 공간장 대리모형은 PyTorch로 U-Net을 직접 쓰는 것이 표준이다. 품질다양성 쪽은 pyribs가 사실상 정본이다. GridArchive, CVTArchive, 여러 방출기와 스케줄러를 갖추고 있다. 초기 표집은 scipy.stats.qmc의 Sobol과 LatinHypercube면 된다. 평가자 쪽은 OpenFOAM, SWMM, EnergyPlus, ENVI-met, Ladybug 도구 모음이다. Grasshopper와 파이썬을 잇는 통로는 Hops와 rhino3dm, 또는 Rhino.Compute다.
없는 것
조경설계용으로 이 고리를 통째로 묶어 놓은 기성 플러그인은 없다. Grasshopper의 Galapagos와 Wallacei는 진화 최적화 도구이지 대리모형 보조 품질다양성 도구가 아니다. Wallacei는 다목적 해집합을 보여 주지만 서술자 격자 보관소를 만들지 않는다. 따라서 파라메트릭 모델과 pyribs 사이의 연결, 대리모형 학습 코드, 검증 게이트는 직접 짜야 한다. 공개된 참고 구현으로는 2026년 기후 연구가 배포한 웹도구 OpenSKIZZE가 있다. 다만 그것은 독일의 특정 필지 유형과 찬공기 모형에 맞춰진 것이므로, 다른 대지에 그대로 쓰는 용도가 아니라 구조를 참고하는 용도로 보는 편이 맞다.
↑ 목차
8 · 강화학습
John Schulman 외 (2017) — PPO · Tuomas Haarnoja 외 (2018) — SAC
배경알고리즘 계보. 설계와 배치에 쓰이는 강화학습의 두 주력 알고리즘은 모두 2017~2018년 미국 서부에서 나왔다. 하나는 PPO다. 근접 정책 최적화, 즉 Proximal Policy Optimization의 약자다. John Schulman, Filip Wolski, Prafulla Dhariwal, Alec Radford, Oleg Klimov 다섯 명이 OpenAI에서 만들었고 2017년 7월 20일 arXiv:1707.06347로 공개됐다. 이들이 반응한 문제는 성능이 아니라 구현 난이도였다. 선행 기법 TRPO는 성능은 좋았지만 구현이 까다로웠다. 논문 초록은 PPO가 TRPO의 이점을 가지되 구현이 훨씬 단순하고 더 일반적이며 경험적으로 표본 효율이 낫다고 적었다. 더 근본적인 동기는 낭비였다. 기존 정책경사법은 수집한 표본 하나당 그래디언트를 한 번만 갱신하고 버렸다. PPO는 한 번 모은 배치를 여러 에폭 동안 재사용한다. 설계 문제처럼 한 번의 평가가 비싼 영역에서 이 성질이 결정적이다.
또 하나의 뿌리. SAC는 최대 엔트로피 액터크리틱, 즉 Soft Actor-Critic이다. Tuomas Haarnoja, Aurick Zhou, Pieter Abbeel, Sergey Levine이 UC 버클리에서 만들어 2018년 1월 4일 arXiv:1801.01290으로 공개했고 ICML 2018에 게재했다. 이들이 지목한 병폐는 둘이었다. 첫째는 매우 높은 표본 복잡도다. 둘째는 부서지기 쉬운 수렴 특성이다. 하이퍼파라미터를 세심히 튜닝해야만 겨우 수렴한다는 뜻이다. 처방은 두 가지를 겹친 것이다. 보상뿐 아니라 정책의 무작위성까지 함께 최대화하는 최대 엔트로피 목적함수, 그리고 과거 경험을 저장해 반복 학습하는 오프폴리시 갱신이다.
설계를 순차 의사결정으로 본 분수령. 배치 문제를 마르코프 의사결정 과정으로 다시 쓴 전환점은 칩 설계에서 나왔다. Azalia Mirhoseini와 Anna Goldie가 공동 제1저자로 이끈 구글 브레인 팀의 논문이다. 제목은 A graph placement methodology for fast chip design, Nature 594호 207~212쪽, 2021년 6월 9일 게재다. 2020년 11월 3일 접수, 2021년 4월 13일 수락됐다. 저자는 총 20명이고 Quoc V. Le, James Laudon, Jeff Dean이 포함된다. 두 제1저자의 이름 순서는 동전 던지기로 정했다는 주석이 붙어 있다. 이들이 반응한 문제는 뚜렷하다. 당시 최강 기법인 해석적 배치기는 미분 가능한 손실함수만 최적화할 수 있었다. 대표 도구가 RePlAce다. 그래서 라우팅 혼잡도나 타이밍 위반처럼 결정적인 지표를 직접 다루지 못했다. 강화학습은 보상을 계산할 수만 있으면 그것이 미분 가능한지 묻지 않는다. 채택 이유는 이 한 줄이다.
공간설계로의 확산. 세 갈래가 서로 다른 기관에서 따로 자랐다. 첫째는 공장 레이아웃이다. Matthias Klar, Moritz Glatt, Jan C. Aurich가 독일 RPTU 카이저슬라우테른란다우 대학 FBK에서 수행했고 독일연구재단 IRTG 2057, 과제번호 252408385의 지원을 받았다. 둘째는 건축 평면이다. Reza Kakooee와 Benjamin Dillenburger가 ETH 취리히 건축기술연구소에서 진행했다. 셋째는 도시계획이다. Yu Zheng, Yuming Lin, Liang Zhao, Tinghai Wu, Depeng Jin, Yong Li가 칭화대 BNRist와 전자공학과, 도시계획설계학과에 걸쳐 수행했고 Nature Computational Science 3권 748~762쪽, 2023년 9월 11일에 실렸다.
공통의 반발 대상. 세 갈래가 모두 겨눈 상대는 메타휴리스틱이다. 유전 알고리즘, 시뮬레이티드 어닐링, 타부 서치가 여기 속한다. 이들은 좋은 해를 찾지만 아무것도 남기지 않는다. 다음 부지를 받으면 다시 백지에서 탐색을 시작한다. 강화학습 진영의 주장은 여기서 갈라진다. 정책 하나를 학습해 두면 다음 부지에는 추론만 하면 된다는 것이다.
원리먼저 번역이 있고 그다음 알고리즘이 있다. 강화학습은 상태를 보고 행동을 고르는 정책을 학습한다. 정책은 신경망이다. 학습 신호는 보상 하나뿐이다. 그래서 설계 문제를 이 틀에 넣으려면 설계 행위를 상태와 행동과 보상의 반복으로 다시 써야 한다. 실무에서 성패를 가르는 것은 이 번역이다. PPO를 쓰느냐 Rainbow를 쓰느냐는 그다음 문제다. 아래 여섯 단계는 앞서 본 네 논문이 공통으로 밟는 순서다.
1단계. 설계를 한 수씩 두는 게임으로 자른다. 레이아웃 전체를 한 번에 탐색하지 않는다. 요소를 하나씩 놓아 가는 에피소드로 바꾼다. 상태는 지금까지의 부분 배치와 부지 조건을 합친 것이다. 행동은 다음 요소를 어디에 놓을지 고르는 일이다. 전이는 결정론적이다. 놓으면 놓인 것이고 되돌리지 않는다. 보상은 대개 에피소드 마지막 스텝에만 준다. 왜 이렇게 자르는가. 전역 탐색이 조합폭발이기 때문이다. 요소 수가 늘면 가능한 배치 수는 지수적으로 커진다. 순차화하면 에이전트는 매 스텝 한 자리만 고르는 문제를 푼다. Zheng 팀의 도시계획 환경은 한 에피소드가 약 100스텝으로 보고된다. 한 스텝당 선택지 수와 전체 행동공간의 규모를 정량화한 수치는 공개 자료에서 확인하지 못했다. 다만 순차화의 목적은 분명하다. 지수적 탐색을 스텝 수만큼의 국소 선택으로 바꾸는 것이다.
2단계. 표현을 고른다. 여기서 성능의 절반이 결정된다. 부지와 부분 배치를 신경망에 무엇으로 넣을지의 문제다. 세 갈래가 있다. 첫째는 격자 표현이다. Mirhoseini 팀은 칩 캔버스를 격자로 나누고 행동을 빈 격자칸 하나 고르기로 정의했다. Klar 팀은 여러 겹의 격자를 쓴다. 1채널에 점유와 배치 정보, 2채널에 층고, 3채널 이상에 압축공기 같은 미디어 공급 가능 여부와 바닥 허용하중을 담는다. 값은 0에서 1 사이로 정규화하고 채널마다 합성곱 신경망을 태워 이웃 관계를 뽑아낸다. 격자의 장점은 이미지와 같아서 합성곱을 그대로 쓸 수 있다는 점이다. 단점은 비직교 형상을 담지 못한다는 점이다.
둘째는 그래프 표현이다. Mirhoseini 팀의 Edge-GNN은 회로 연결망을 하이퍼그래프로 본다. 각 엣지는 양 끝 노드와 가중치를 완전연결층에 통과시켜 갱신되고, 각 노드는 자기에게 들고 나는 엣지의 평균으로 갱신된다. Zheng 팀의 도시 인접 그래프는 더 흥미롭다. 부정형 도시조직을 담기 위해 필지를 폴리곤 노드로, 도로와 경계를 라인 노드로, 교차점을 포인트 노드로 벡터화한다. 두 기하가 서로 접하면 엣지를 잇는다. 왜 격자를 버렸는가. 격자로는 비직교 가구를 담을 수 없기 때문이다. 조경의 부정형 부지도 같은 이유로 그래프 쪽에 가깝다.
셋째는 자기회귀 시퀀스다. 요소를 정해진 순서로 하나씩 뽑는 방식이다. Zheng 팀의 처리가 실무적으로 참고할 만하다. 무엇을 놓을지는 도메인 지식으로 순서를 고정해 행동공간에서 아예 제거했다. 에이전트에게는 어디에 놓을지만 남겼다. 행동공간을 줄이는 가장 값싼 방법은 알고리즘 개선이 아니라 설계 지식으로 절반을 잘라내는 것이다.
3단계. 불가능한 행동을 확률 0으로 눌러 버린다. 행동 마스킹이라 부른다. 물리적으로 겹치는 배치, 법적으로 금지된 위치를 정책의 출력 단계에서 제거한다. Zheng 팀은 토지이용 단계에서 필지와 교차점을 잇는 엣지만 후보로 남기고, 도로 단계에서는 경계 노드만 남긴다. Klar 팀은 마스킹 덕분에 50 곱하기 50 격자 안에 크기가 다른 부지를 회전해 넣어도 같은 신경망을 쓸 수 있다고 보고한다. 마스킹이 왜 중요한가. 없으면 에이전트가 학습 초기 수천 에피소드를 벽 속에 건물을 놓으면 안 된다는 사실을 배우는 데 낭비하기 때문이다. 제약을 보상 감점으로 처리하면 위반안이 계속 생성된다. 마스킹으로 처리하면 위반안 자체가 생기지 않는다.
4단계. 보상을 설계한다. 여기서 가장 많이 실패한다. Mirhoseini 팀의 보상은 배선길이를 줄이고 혼잡도와 밀도를 벌점으로 빼는 형태다. 혼잡도 가중치와 밀도 가중치는 모두 0.01로 확인된다. 밀도 상한을 0.6으로 두었다는 서술은 Nature 본문이 아니라 같은 저자들의 초기 arXiv 원고에서만 확인된다. Zheng 팀은 단계를 둘로 나눈다. 토지이용 단계 보상은 생활서비스 접근성에 가중치를 곱한 값과 생태 지표의 합이다. 도로 단계 보상은 교통 지표다. 서비스와 생태의 비율을 바꾸면 성격이 다른 안이 나온다고 보고된다. 다만 구체적 가중치 값은 자료마다 다르다. 보충자료는 서비스 대 생태를 2대 1에서 4대 1까지 바꾼 세 모델을 학습했다고만 적었고, 공개 코드는 4.0 대 1.0을 쓴다. Klar 팀은 목표가 여럿일 때 선형 스칼라화를 쓴다. 각 목표를 마이너스 1에서 0 사이로 정규화한 뒤 가중합해 단일 보상으로 만든다.
실무적으로 가장 중요한 장치는 보상 분해다. 에피소드 끝에 한 번만 점수를 주면 에이전트는 몇 번째 배치가 나빴는지 배울 수 없다. 이를 신용할당 문제라 부른다. Klar 팀은 에피소드 끝에 나온 이산사건 시뮬레이션 결과를 기능단위별 기여로 쪼개어 리플레이 버퍼에 저장한다. 그래야 40번째 배치가 나빴다는 신호가 그 스텝으로 되돌아간다.
5단계. PPO로 정책을 갱신한다. 수식 없이 풀면 이렇다. 먼저 새 정책이 그 행동을 고를 확률을 옛 정책이 고를 확률로 나눈다. 이 비율이 1보다 크면 새 정책이 그 행동을 더 좋아하게 됐다는 뜻이다. 여기에 그 행동이 평균보다 얼마나 좋았는지를 나타내는 이득 추정치를 곱한다. 핵심은 잘라내기다. 비율이 1에서 일정 폭 이상 벗어나면 그 폭에서 잘라 버린다. 그래서 한 번의 갱신이 정책을 크게 움직이지 못한다. 왜 필요한가. 설계 문제의 보상은 희소하고 잡음이 크다. 운 좋게 얻은 한 번의 높은 보상에 정책 전체가 끌려가면 학습이 무너진다. 잘라내기가 그 파괴를 막는다. 여기에 두 항을 더한다. 하나는 엔트로피 항이다. 정책이 너무 빨리 한 수에 확신하지 않도록 무작위성을 유지시킨다. 다른 하나는 가치망의 예측 오차다. 상태의 가치를 맞히도록 함께 학습시켜 이득 추정의 분산을 줄인다. 망 구조도 설계 대상이다. Zheng 팀은 그래프 인코더 하나를 공유하고 그 위에 정책망 둘과 가치망 하나를 올린다. 정책망 하나는 토지이용용 엣지 순위 결정기이고 다른 하나는 도로용 노드 선택기다.
6단계. 사전학습으로 일반화를 산다. 한 부지에서만 학습한 정책은 다른 부지에서 쓸모없다. Mirhoseini 팀의 처리 순서가 참고가 된다. 먼저 배치 사례 1만 건으로 보상을 예측하는 지도학습을 돌렸다. 목적은 성능이 아니라 구조 탐색이었다. 여러 부지에 두루 통하는 인코더 구조를 찾는 것이다. 그렇게 찾은 인코더를 정책망과 가치망에 이식했다. 그다음 블록 20개로 48시간 사전학습을 돌렸다. 사전학습 시 학습 데이터셋의 블록당 GPU 한 개를 썼다고 논문 부록 표 캡션에 적혀 있다. 워커 수나 GPU 모델, 코어당 메모리 같은 세부는 접근 가능한 1차 자료에서 확인되지 않는다. 결과는 새 블록에 대해 사전학습만으로 1초 미만에 초안을 내고, 미세조정은 6시간 안에 끝난다는 것이다. 설계 실무로 옮기면 함의는 이렇다. 강화학습의 값은 한 번 잘 푸는 데 있지 않다. 비슷한 문제를 반복해 풀 때 회수된다.
변형가치기반 계열. DQN에서 Double DQN을 거쳐 Rainbow DQN으로 이어지는 흐름이다. 상태와 행동의 가치를 직접 추정하고 가장 높은 행동을 고른다. Klar 팀은 2024년 공장 레이아웃 연구에 Rainbow를 쓰되 원본을 그대로 쓰지 않았다. 멀티스텝 반환, 노이지 네트워크, 분포형 가치 추정 세 요소를 빼고 우선순위 경험재생과 듀얼링 구조만 남긴 변형을 썼다. 이유는 성능이 아니라 튜닝 부담이다. Rainbow의 구성요소는 저마다 고유 하이퍼파라미터를 갖는다. 다 켜면 조정할 손잡이가 너무 많아진다. Lee 팀은 2025년 성균관대와 삼성전자 공동 연구에서 Double DQN으로 반도체 팹 시설배치를 풀었다. JCDE 13권 1호 174쪽이다.
정책경사 계열. 공간설계에서는 PPO가 사실상 표준이다. Mirhoseini 팀의 2021년 칩 배치, Zheng 팀의 2023년 도시계획, Kakooee와 Dillenburger의 2024년 건축 평면이 모두 PPO다. 이유는 둘이다. 하나는 이산 행동공간과 행동 마스킹의 궁합이 좋다는 점이다. 마스킹으로 확률을 0으로 만들어도 갱신식이 무너지지 않는다. 다른 하나는 오프폴리시 계열보다 학습이 안정적이라는 점이다. 설계 문제는 보상 잡음이 커서 안정성이 표본 효율보다 중요할 때가 많다.
연속 제어와 다중에이전트 계열. SAC는 연속 행동을 다루도록 설계됐다. 격자에 칸을 고르는 문제에는 덜 쓰인다. 반면 곡선 경로나 연속 좌표를 직접 다뤄야 할 때는 후보가 된다. 조경에 가장 가까운 사례는 Zhang Zihuan, Li Zao, Zhang Taoyuan, Wang Min의 연구다. 제목은 Automated path planning method for urban street-corner parks based on multi-agent deep reinforcement learning이고 Applied Soft Computing 195권 115033번, 2026년이다. 가로변 소공원의 동선을 자동 생성하는 연구다. 다중에이전트 결정론적 정책경사 계열인 MADDPG를 쓰고 합성곱과 다층퍼셉트론을 섞어 표고와 관심지점과 위치를 함께 처리한다고 알려져 있다. 다만 본문 접근이 막혀 알고리즘과 구조 서술은 서지정보 수준까지만 확인됐다.
표현을 바꾼 변종. MaskPlace는 Yao Lai, Yao Mu, Ping Luo가 2022년 11월 24일 arXiv:2211.13382로 공개했다. 칩을 하이퍼그래프가 아니라 픽셀 단위 시각 표현으로 바꾸고, 마지막에만 주던 희소 보상을 매 스텝 주는 조밀 보상으로 바꿨다. 결과는 기존 강화학습 대비 배선길이 60에서 90퍼센트 감소와 겹침 0이다. 처방은 한 줄로 요약된다. 보상을 조밀하게 만들면 강화학습이 산다.
오프라인 강화학습. ChiPFormer는 Yao Lai, Jinxin Liu, Zhentao Tang, Bin Wang, Jianye Hao, Ping Luo가 2023년 6월 26일 arXiv:2306.14744로 공개했다. 환경과 상호작용하지 않고 고정된 과거 배치 데이터만으로 학습하는 결정 트랜스포머 방식이다. 회로 32개 실험에서 런타임을 10배 줄였고 시간 단위 작업을 분 단위로 낮췄다고 보고한다. 평가 한 번이 비싼 설계 문제에서 정공법에 해당한다. 조경으로 옮기면 과거 실시설계 도면 자체가 오프라인 데이터가 된다.
모방으로 출발선을 옮기는 변종. Kakooee와 Dillenburger는 JCDE 12권 1호 149~166쪽, 2025년 연구에서 행동복제로 먼저 사전학습한 뒤 PPO로 미세조정했다. 행동복제는 사람이 만든 배치 순서를 그대로 흉내 내도록 지도학습하는 것이다. 손실함수는 어려운 표본에 가중을 주는 포컬 로스와 엔트로피 정규화를 합친 형태다.
다목적 처리 구조. Klar 팀은 두 구조를 정면 비교했다. 하나는 목표들을 가중합해 보상 하나로 만들고 Rainbow 에이전트 하나로 푸는 방식이다. 다른 하나는 목표마다 Rainbow 에이전트를 하나씩 두고 병렬로 돌리는 방식이다. 결과는 전자의 승리였다. 처리시간 개선의 평균 편차가 1.27 플러스마이너스 0.65 대 2.64 플러스마이너스 3.06으로 나왔다. 에이전트를 늘리는 쪽이 직관적이지만 실제로는 불안정했다.
전이 가능성의 정식화. Klar 팀은 무엇을 바꿔도 같은 정책을 쓸 수 있는지를 네 군으로 나눴다. 첫째는 물류 강도 행렬이다. 둘째는 레이아웃의 크기와 형상이다. 최대 50 곱하기 50 격자 안에 임의 회전으로 배치하고 부지 바깥은 벽으로 부호화한다. 셋째는 기능단위의 개수와 특성이다. 최대 50개를 원핫 부호로 표현한다. 넷째는 목표 가중치다. 가중치 텐서를 다층퍼셉트론에 통과시켜 상태에 주입한다. 네 군을 모두 포함해 학습한 단일 모델이 일부만 포함한 모델보다 대부분 우수했다. 실무 함의는 분명하다. 전이는 나중에 붙이는 기능이 아니다. 상태와 행동공간을 처음부터 최대 크기로 설계해 둬야 가능하다.
활용반도체 매크로 배치. 구글, Nature 2021. 논문 표 1의 베이스라인은 두 가지다. 해석적 배치기 RePlAce, 그리고 업계 표준 전자설계자동화 도구를 사용한 사람의 수작업 배치다. 수작업 배치는 같은 TPU 블록에 대해 사람이 만든 것이다. 블록 1에서 최악 여유시간은 강화학습 84피코초, 수작업 136피코초, RePlAce 374피코초로 보고됐다. 총면적은 1,681,767제곱마이크로미터로 수작업 1,680,790과 사실상 같고, 전력은 3.59와트로 수작업 3.74와트보다 낮다. 블록 2에서는 차이가 커진다. 면적 694,757제곱마이크로미터로 수작업 830,470 대비 약 16퍼센트 줄었고 전력은 3.13와트 대 3.56와트다. 시뮬레이티드 어닐링과의 비교는 표 1이 아니라 확장 데이터 표 6에 있다. 어닐링 18시간 대 강화학습 6시간의 비교다. 사전학습 데이터셋을 블록 2개에서 5개, 20개로 늘릴수록 수렴 시간과 최종 품질이 함께 좋아졌다. 실제 적용 이력은 Goldie, Mirhoseini, Dean의 2024년 반박문 arXiv:2411.10053에 정리돼 있다. TPU v5e 레이아웃 10개가 2020년 8월, TPU v5p 15개가 2021년 9월, Trillium 25개가 2022년 10월, Axion CPU 7개가 2024년 3월이다. 2024년 9월 미디어텍으로의 확장 적용도 언급된다.
도시 커뮤니티 공간계획. 칭화대, Nature Computational Science 2023. 대상지는 베이징 후이룽관 CP-02와 다훙먼 두 곳이다. 오픈스트리트맵에서 OSMnx와 geopandas로 추출했다. 유전 알고리즘 대비 개선폭은 합성격자에서 서비스 36.66퍼센트, 생태 83.13퍼센트, 교통 55.91퍼센트다. 실제 부지에서는 후이룽관이 서비스 24.56퍼센트와 생태 15.70퍼센트, 다훙먼이 서비스 72.72퍼센트와 생태 52.01퍼센트다. 초청한 전문 도시계획가 8인과의 비교는 부지별로 갈린다. 다훙먼에서는 최우수 설계자 대비 서비스 13.64퍼센트, 생태 15.38퍼센트 앞섰고 평균 설계자 대비로는 서비스 19.52퍼센트, 생태 59.65퍼센트 앞섰다. 후이룽관에서는 서비스가 최우수 설계자와 0.71로 동률이고 평균 대비 9.86퍼센트 우위에 그쳤다. 생태만 최우수 대비 17.74퍼센트, 평균 대비 57.41퍼센트 앞섰다. 즉 사람을 서비스에서 이겼다는 진술은 다훙먼에만 해당한다. 대학원급 설계자 100명의 블라인드 투표에서는 대부분의 경우 뚜렷한 선호 차이가 없었고 후이룽관의 두 번째와 세 번째 그룹에서만 AI 안이 훨씬 많은 표를 받았다고 보고된다. 통계적 유의성 검정은 제시되지 않았다. 속도 차는 사람이 한 안에 50분에서 100분, 모델 추론이 1초 미만이다. 학습 자체는 약 2일 걸린다.
조경 관점에서 결정적인 것은 생태 지표의 정의다. 모든 공원과 오픈스페이스를 바깥으로 300미터 확장해 합집합 영역을 만들고, 그 영역이 주거구역 면적과 겹치는 비율을 계산한다. 다시 말해 공원 접근권 커버리지가 그대로 보상이다. 서비스 지표는 학교, 병원과 의원, 사무, 상업, 위락 다섯 종에 대한 500미터 내 접근 가능 비율의 평균이고 여기에 시설이 한쪽에 몰리지 않도록 하는 분산배치 항을 0.05 가중으로 더한다. 공개 코드는 500미터를 10분 생활권, 1,000미터를 15분 생활권으로 이름 붙이고 보상에는 500미터 값을 쓴다. 15분과 500미터를 등치시키면 안 된다.
공장 레이아웃. RPTU, Journal of Manufacturing Systems 74권 487~511쪽, 2024. 산업 사례는 기능단위 43개를 34 곱하기 8 격자에 배치하는 문제다. 지게차 4대가 밀어내기 방식으로 운반하고 선입선출 잡숍으로 운영되며 주력 제품 12종의 1년치 생산데이터를 쓴다. SimPy 기반 이산사건 시뮬레이션을 환경 안에 직접 넣었다. 학습 설비는 인텔 제온 E5-2670과 램 30기가바이트 단일 노드이고 72시간 돌렸다. 결과는 수작업 레이아웃 대비 처리시간 26.01퍼센트 개선, 물류 명료성 78.65퍼센트 개선이다. 유전 알고리즘과 타부 서치 조합과의 비교는 시간대별로 뒤집힌다. 1시간 시점에는 조합 기법이 처리시간 10퍼센트, 명료성 4퍼센트 앞선다. 24시간 시점에는 처리시간은 조합 기법이 8퍼센트 앞서지만 명료성은 강화학습이 30퍼센트 앞선다. 72시간 시점에는 강화학습이 처리시간 1퍼센트, 명료성 34퍼센트 앞선다. 전이학습 효과가 가장 인상적이다. 시나리오 1이 0.98시간에서 0.072시간으로 줄었고 필요한 에피소드가 11,896회에서 109회로 줄었다. 시나리오 2는 28.8시간에서 2.582시간, 시나리오 3은 69.84시간에서 13.378시간이다. 속도만 는 것이 아니라 최종 보상도 마이너스 1.525에서 마이너스 1.260으로 좋아졌다.
건축 평면 생성. ETH 취리히, JCDE 11권 3호 43~55쪽, 2024. 최대 9실을 23 곱하기 23 격자에 배치한다. 행동공간은 벽 유형 6종, 실 크기 3종, 침투 정도 0에서 9, 격자좌표의 곱으로 정의된다. 논문은 그 크기를 약 1,800개라고 적었지만 제시된 공식으로 계산하면 수십만 규모가 되어 내적 불일치가 있다. 인용할 때는 논문이 제시한 값이라고 밝히는 편이 안전하다. 신경망은 합성곱 7층을 거쳐 2,048차원으로 모은 뒤 256차원 둘로 갈라 정책망과 가치망에 넣는다. PPO는 평균 7,340 에피소드, 1.95시간에 수렴했고 유전 알고리즘은 38,400 에피소드, 5.15시간이 걸렸다. 62퍼센트 빠른 셈이다. 실면적 오차는 평균 1.83, 표준편차 2.63이고 종횡비 오차는 평균 0.92, 표준편차 0.85다. 흥미로운 것은 창발 행동이다. 지시하지 않았는데도 거실을 중앙에 남기고 나머지 실을 채광 가능한 외벽 쪽으로 분산시키는 패턴이 관찰됐다.
반도체 팹 시설배치. 성균관대와 삼성전자, JCDE 13권 1호 174쪽, 2025. Double DQN과 타부 서치를 정면 비교했다. 최대 규모는 148 곱하기 196 격자에 시설 1,224개다. 이 규모에서 Double DQN이 0.834, 타부 서치가 0.798을 얻었다. 소요시간은 1,805,607초 대 3,418,697초로 타부 서치가 89배 더 걸렸다. 다만 74 곱하기 98 이하 소규모에서는 Double DQN이 타부 서치보다 오히려 느렸다. 규모가 임계를 넘어야 강화학습이 유리해진다는 뜻이다.
한계1. 재현 실패와 벤치마크 논란. 가장 심각한 문제다. UC 샌디에이고의 Chung-Kuan Cheng, Andrew B. Kahng, Sayak Kundu, Yucheng Wang, Zhiang Wang은 Assessment of Reinforcement Learning for Macro Placement를 ISPD 2023 158~166쪽에 발표했고 확장판을 IEEE TCAD 45권 8호 3654~3668쪽에 실었다. 이들은 시뮬레이티드 어닐링에 1994년 Aldous와 Vazirani의 승자추종 메타휴리스틱과 멀티스레딩만 얹었다. 그것만으로 같은 런타임에서 대리 비용이 최대 26퍼센트 좋아졌다. 매크로 532개, TSMC 7나노 공정의 CT-Ariane-X4 사례에서는 어닐링이 배선길이와 대리 비용 모두에서 공개 구현을 이겼고 강화학습 쪽은 학습이 발산했다. 저자들은 2025년 11월 기준으로 Nature의 주장을 제3자가 성공적으로 재현해 학회나 저널에 발표한 사례가 없다고 적었다. 시놉시스의 Igor L. Markov는 CACM 67권 11호 60~71쪽, 2024년 기사에서 별도의 지적을 했다. 구글 공개 구현이 32시간에서 81시간 걸리는 동안 상용 도구는 0.05시간에서 1.97시간에 끝난다는 것, 그리고 상용 도구의 초기 배치를 입력으로 쓰면 7에서 10퍼센트 개선되는데 이를 밝히지 않았다는 것이다. 여기에 별도 콘테스트 결과도 인용된다. 2023년 9월 13일 결과가 발표된 MLCAD 2023 매크로 배치 콘테스트다. 참가 19팀 중 결선 8팀이 겨뤘고 상위 6팀 전원이 DREAMPlace 또는 SimPL 기반 해석적 최적화를 썼다. 강화학습 팀은 없었다. 구글 측은 arXiv:2411.10053으로 반박했다. 비판 측이 수집기를 512개가 아닌 26개만 쓰고 GPU를 16개가 아닌 8개만 썼으며 사전학습을 생략하고 16만에서 35만 스텝에서 조기 중단했다는 것이다. 실무자가 가져갈 교훈은 논쟁의 승패와 무관하다. 강화학습의 우위 주장은 약하게 튜닝된 베이스라인에서 나오기 쉽다. 반드시 잘 튜닝된 유전 알고리즘이나 어닐링과 같은 계산 예산에서 비교해야 한다.
2. 초반 표본 비효율. 강화학습은 학습 초반을 탐험에 쓴다. Klar 팀의 소규모 시나리오에서 10분 시점에 최적해에 도달한 비율은 유전 알고리즘과 타부 서치 조합이 7건 중 5건, 강화학습이 7건 중 2건, NSGA-II가 0건이었다. Lee 팀도 74 곱하기 98 미만 격자에서는 Double DQN이 타부 서치보다 느렸다고 보고한다. 급한 단일 과업에 강화학습을 꺼내는 것은 대개 손해다.
3. 일반화 실패와 파국적 망각. Kakooee와 Dillenburger는 시나리오마다 처음부터 다시 학습해야 하는 것이 비효율적이고 비실용적이라고 명시했다. 더 나쁜 것은 여러 시나리오를 함께 학습시켰을 때다. 앞서 배운 최적 전략을 잊어버리는 파국적 망각이 관찰됐다. 전이학습은 공짜가 아니다. Klar 팀처럼 상태와 행동공간을 처음부터 최대 크기로 설계해 둔 경우에만 작동한다. 부지 규격이 커지면 학습을 처음부터 다시 해야 한다.
4. 학습 발산. 수렴 자체가 보장되지 않는다. Cheng 팀의 실험에서 MemPoolGroup-GF12 사전학습 5건이 전부 발산했다. CT-Ariane-X4도 백지 상태에서 학습하면 발산했다. 발산은 시간만 버리는 것이 아니라 원인 추적도 어렵다. 보상 설계, 정규화, 학습률 어느 쪽이 원인인지 가려내는 데 다시 며칠이 든다.
5. 보상 오설계. Klar 팀은 부적절한 보상함수가 원치 않는 행동을 낳는다고 경고했다. 구체적으로 물류 명료성만 최적화하면 실제 운영 성능은 개선되지 않는다고 적었다. 근본 문제는 대리 지표와 진짜 목적의 괴리다. 칩에서는 대리 비용과 배선 후 실제 성능의 괴리이고 설계에서는 정량 지표와 실제 이용률의 괴리다. 에이전트는 보상을 최적화할 뿐 설계를 잘하지 않는다. 보상에 쓰지 않은 것은 반드시 희생된다.
6. 희소 보상의 신용할당. 마지막 스텝에만 보상을 주면 몇 번째 배치가 문제였는지 학습되지 않는다. 학습이 느려지는 정도가 아니라 특정 실패 패턴을 영영 못 배운다. Klar 팀의 보상 분해와 MaskPlace의 조밀 보상은 모두 이 병에 대한 처방이다. 설계 문제에서 조밀 보상을 만들려면 부분 배치만으로도 계산 가능한 중간 지표가 있어야 한다. 이 지표를 만들 수 있는지가 강화학습 적용 가능성의 사전 판정 기준이 된다.
7. 계산비용. 구글의 사전학습은 블록 20개 규모의 데이터셋에 블록당 GPU를 배정해 48시간 돌린 것이다. Klar 팀은 제온 단일 노드로 72시간짜리 실험을 수십 건 돌렸다. 소규모 설계사무소가 감당할 규모가 아니다. 더 중요한 것은 이 비용이 한 번으로 끝나지 않는다는 점이다. 보상 정의를 고칠 때마다 다시 학습해야 한다.
8. 하이퍼파라미터 민감도. Rainbow는 구성요소마다 고유 하이퍼파라미터를 갖는다. Klar 팀이 구성요소 셋을 뺀 이유가 이것이다. Lee 팀은 더 곤란한 관찰을 보고했다. 최적 하이퍼파라미터 집합이 평가 목적에 따라 달라진다는 것이다. 손실을 최소화하도록 고른 설정과 보상을 최대화하도록 고른 설정이 서로 달랐다. 무엇을 기준으로 튜닝할지부터 결정해야 한다.
공원에서잘할 것 1. 이산 프로그램 요소의 순차 배치. 놀이시설, 정자, 화장실, 운동시설, 수목군, 포장과 녹지의 경계처럼 몇 개를 어디에 놓을지가 본질인 문제다. 이런 문제는 앞서 본 1단계 순차화가 자연스럽게 들어맞는다. 부정형 소공원 경계는 격자보다 그래프가 낫다. Zheng 팀의 인접 그래프 방식을 그대로 옮기면 된다. 부지와 식재대는 폴리곤 노드, 원로와 경계는 라인 노드, 출입구와 교차점은 포인트 노드로 두고 접하는 것끼리 엣지를 잇는다.
잘할 것 2. 상충 목표의 가중치 전환. 그늘 확보와 접근성과 우수 저류는 서로 당긴다. 보상 안의 가중치 하나만 바꿔 그늘 우선안, 접근성 우선안, 저류 우선안을 각각 뽑을 수 있다. Zheng 팀이 서비스와 생태의 비율을 바꿔 생활권형과 녹지형을 오간 것과 같은 구조다. 중요한 것은 가중치를 상태에 함께 넣어 학습해 두는 것이다. Klar 팀의 네 번째 전이군이 정확히 이 처리다. 그러면 가중치를 바꿀 때마다 재학습하지 않고 추론만으로 대안을 낼 수 있다. 주민 협의 자리에서 대안을 즉석에서 바꿔 보여 주는 용도에 맞는다.
잘할 것 3. 반복 설계. 이것이 강화학습을 쓸 유일하게 확실한 이유다. 지자체 자투리공원 30개소에서 100개소를 같은 평가체계로 설계하는 상황을 생각하자. 유전 알고리즘은 부지마다 백지에서 다시 돈다. 강화학습은 정책 하나를 학습해 재사용한다. Klar 팀의 전이학습 결과가 바로 이 시나리오의 증거다. 69.84시간이 13.378시간으로 줄었다. 부지 하나만 설계한다면 이 이득은 존재하지 않는다.
잘할 것 4. 법규와 이격거리의 하드 제약화. 보상 감점이 아니라 행동 마스킹으로 처리한다. 어린이놀이시설 안전기준의 이격, 소방차 진입로 폭, 경계에서의 식재 이격 같은 것을 후보 행동 단계에서 제거한다. 그러면 위반안이 아예 생성되지 않는다. 심의 대응에서 이 차이는 크다. 감점 방식은 위반안을 걸러 내는 후처리가 계속 필요하다.
못할 것 1. 단일 부지 1회 설계. Klar 팀의 10분 시점 결과가 결론이다. 조합 기법 7건 중 5건 대 강화학습 7건 중 2건이다. 배치 요소가 20개 미만인 단일 공원이라면 NSGA-II가 합리적 기본값이다. 학습 비용을 회수할 반복이 없기 때문이다.
못할 것 2. 연속 기하. 자유곡선 동선과 지형 조성은 행동을 이산화해야 다룰 수 있다. 그러면 격자 해상도가 곧 설계 해상도의 상한이 된다. Kakooee의 연구가 23 곱하기 23에 갇힌 것이 이 제약의 실례다. 소공원 30미터 폭을 23칸으로 나누면 한 칸이 1.3미터다. 수목 하나의 위치를 정하기에는 거칠다. MADDPG 같은 연속 제어 계열이 대안이 될 수 있다고 알려져 있으나 조경 적용 사례는 아직 얇다.
못할 것 3. 무거운 시뮬레이션을 루프에 직접 넣는 것. 미기후 해석, 전산유체역학, 3차원 그늘 시뮬레이션이 여기 해당한다. 한 번 평가에 수 시간 걸리는 도구로는 수만 에피소드를 돌 수 없다. Zheng 팀이 보상을 가벼운 기하 연산만으로 구성한 것이 학습이 성립한 전제였다. 따라서 조경에서 대리모델은 선택지가 아니라 전제조건이다. 무거운 해석은 사전에 수백 건 돌려 회귀모델을 만들고, 학습 루프에는 그 회귀모델만 넣는다.
못할 것 4. 미감과 장소성과 식재 경관. 보상으로 정식화되지 않는다. Zheng 팀도 창의성과 체계성은 정량화할 수 없다고 명시하고 블라인드 투표로 대체했다. 결과적으로 강화학습이 내는 것은 완성된 설계안이 아니다. 정량 지표를 만족하는 배치 골격이다. 그 위에 설계자가 해야 할 일이 그대로 남는다.
정직한 요약. 소공원 한 곳을 잘 설계하려면 강화학습은 과잉이다. 같은 기준으로 여러 곳을 반복해 설계하고, 보상을 밀리초 안에 계산할 수 있으며, 법규를 마스킹으로 표현할 수 있을 때만 값을 한다. 이 세 조건 중 하나라도 빠지면 다목적 진화 알고리즘이 낫다.
구현조경 전용 도구는 없다. 라이노와 그래스호퍼에 바로 꽂아 쓸 강화학습 플러그인은 존재하지 않는다. Wallacei와 Galapagos는 진화 알고리즘 도구이지 강화학습 도구가 아니다. Ladybug와 Honeybee는 환경 성능 해석 도구다. 강화학습을 쓰려면 직접 조립해야 한다. 아래는 앞서 인용한 연구들이 실제로 쓴 구성 요소를 조경 맥락으로 옮긴 것이다.
환경 규격. Gymnasium으로 환경을 감싼다. 상태, 행동, 보상, 종료조건을 표준 인터페이스로 노출하면 학습 라이브러리를 갈아 끼울 수 있다. 다중에이전트로 갈 경우 PettingZoo가 대응 규격이다.
학습 라이브러리. 둘 중 하나다. Stable-Baselines3는 단일 노드에서 빠르게 붙이기 좋다. Ray RLlib는 병렬 수집기를 여럿 띄워야 할 때 쓴다. 앞서 본 연구들의 표준 선택인 PPO는 양쪽 모두에 있다. 행동 마스킹이 핵심이므로 sb3-contrib의 MaskablePPO를 쓰거나 RLlib의 행동 마스킹 예제를 따르는 편이 좋다. 마스킹을 직접 구현하려면 불가능한 행동의 로짓을 매우 큰 음수로 덮어쓰면 된다.
인코더. 부지를 격자로 다룬다면 PyTorch의 합성곱망으로 충분하다. 채널 구성은 Klar 팀 방식을 따르면 된다. 1채널 점유, 2채널 표고, 3채널 이상에 기존 수목, 지하 매설물, 불투수면 여부를 넣고 0에서 1로 정규화한다. 부정형 경계를 정확히 담으려면 그래프로 가야 한다. PyTorch Geometric이나 DGL로 그래프 신경망 인코더를 만든다.
기하 연산과 보상. Shapely와 geopandas가 중심이다. 보상 항목별 계산 방법은 이렇다. 그늘은 수관 원을 버퍼로 만들어 합집합 면적을 구한다. 접근성은 출입구에서의 거리를 쓰거나 Zheng 팀처럼 시설 주변 버퍼의 합집합과 이용권역의 교집합 비율을 쓴다. 우수는 불투수면 비율로 근사한다. 주변 도로망이 필요하면 OSMnx로 가져온다. 운영 흐름을 보상에 넣어야 한다면 SimPy로 이산사건 시뮬레이션을 만들어 환경 안에 넣는다. Klar 팀이 쓴 방식이다.
속도 요건. 보상 한 번 계산이 수십 밀리초를 넘으면 학습이 성립하지 않는다. 수만 에피소드에 각 100스텝이면 계산 횟수가 수백만 회다. 무거운 해석은 반드시 대리모델로 바꾼다. 절차는 이렇다. 미기후나 그늘 해석을 사전에 수백 건 돌려 입력과 결과 쌍을 모으고, 그 위에 가벼운 회귀모델을 학습시킨 뒤 학습 루프에는 회귀모델만 호출한다. 대리모델의 오차는 별도로 보고해야 한다.
라이노 연결. 학습은 라이노 밖 순수 파이썬에서 돌린다. 라이노를 루프 안에 넣으면 속도가 죽는다. 결과 기하만 주고받는 편이 현실적이다. 라이노 8의 파이썬 컴포넌트로 폴리곤 목록을 읽어 들이거나, 헤드리스로 돌려야 하면 Rhino.Compute를 쓴다. 중간 포맷은 GeoJSON이 무난하다.
참고 코드. Zheng 팀의 도시계획 연구는 저장소를 공개했고 부지별 설정 파일에 보상 가중치가 들어 있다. 서비스와 생태 가중치를 4.0과 1.0으로 둔 설정을 확인할 수 있다. 보상 정의를 처음부터 쓰기보다 이 구현을 읽고 조경 지표로 바꾸는 편이 빠르다.
검증 절차. 마지막 단계가 가장 중요하다. pymoo의 NSGA-II를 같은 보상함수와 같은 계산 예산으로 돌려 정면 비교한다. 예산을 맞추지 않은 비교는 의미가 없다. 앞서 본 재현 논란의 핵심이 정확히 이 지점이었다. 비교에서 이기지 못하면 NSGA-II를 납품하는 것이 정직하다.
↑ 목차
다수목적 품질·다양성
MAP-Elites는 칸마다 한 해만 남깁니다. 목적이 하나면 문제없지만 공원 설계처럼 여러 목적이 걸리면 무엇을 남길지가 모호해집니다. 한 목적만 극단적으로 잘하는 안이 살아남기 쉽습니다. 이 문제를 푸는 방향이 둘로 갈립니다.
방향 1 · 칸 안에 파레토 전선을 둔다 — MOME
Multi-Objective MAP-Elites는 칸마다 해를 하나가 아니라 그 칸의 지역 파레토 전선으로 보관합니다. 새 해는 같은 칸의 기존 해들을 지배할 때만 들어갑니다. 결과는 "성격별로 나뉜 격자, 각 칸 안에 절충안들"이라는 이중 구조입니다.
보고된 성질이 흥미롭습니다. 전역 초부피는 기존 다목적 진화 알고리즘과 거의 같은데, 특성 공간 피복률에서는 크게 앞섭니다. 즉 파레토 성능을 잃지 않으면서 다양성을 얻습니다.
후속으로 고차원 탐색을 위해 정책 경사와 혼잡도 기반 탐색을 더한 변형, 선호를 조건으로 주는 변형이 나왔고, 결정 공간이 격자로 나뉘지 않는 문제를 위한 무격자 방식도 제안됐습니다. 결정 구조 예측과 분자 설계에 적용 사례가 있습니다.
방향 2 · 칸마다 하나를 두되 균형으로 고른다 — T-DominO
T-DominO(Boyle 외, PPSN 2022)는 반대로 갑니다. 칸마다 하나라는 성질을 일부러 지킵니다. 사람이 격자를 눈으로 훑을 수 있다는 것이 MAP-Elites의 실질적 장점인데, 칸마다 전선이 들어가면 그게 사라지기 때문입니다.
대신 무엇을 남길지를 바꿉니다. 칸 안의 해를 격자 전체의 다른 해들과 견주어 순위를 매기되, 몇 가지만 뛰어난 해보다 고르게 잘하는 해를 우대합니다. 다수목적 실제 건축 사례에 적용해 보였습니다.
공원 검토에는 둘 다 쓸 자리가 있습니다. 초기 탐색에서는 MOME로 절충의 폭을 보고, 발주처에 내놓을 대안을 추릴 때는 T-DominO처럼 균형 잡힌 해 하나씩만 남기는 편이 읽힙니다. 격자 하나에 안이 수십 개씩 들어 있으면 검토 자료가 되지 못합니다.
한눈에 비교
‘비싼 평가’는 한 번 평가가 비쌀 때 얼마나 적은 횟수로 답에 도달하는가입니다. QD 계열이 약한 이유는 원래 수만 회 평가를 전제하기 때문이며, 그래서 서로게이트와 묶습니다.
평가 함수 — 실제로 무엇을 계산할 수 있나
앞의 방법들은 모두 "좋음"이 이미 정의돼 있다고 전제합니다. 그런데 공원에서 그걸 쓰는 일이 실제로는 가장 어렵습니다. 무엇이 지금 계산 가능하고 무엇이 아직 아닌지 정리합니다.
계산이 확립된 것
열쾌적성 지표 사이의 신뢰도 비교 연구가 있습니다. 몬테카를로 기반 비교에서 UTCI가 PET보다 안정적이라고 보고됐습니다. 지표를 고를 때 참고할 만합니다.
최근 밝혀진 설계적 시사
- 천공률이 체감 온도를 좌우합니다. 공원 형태와 식재 밀도, 바람 노출이 겨울 중립 온도를 약 2도 움직인다는 보고가 있습니다. 같은 공원 안에 양지 주머니와 바람길을 함께 두라는 전략이 여기서 나옵니다.
- 지표면 온도와 체감은 다릅니다. 회색 공원의 미시 규모 UTCI 시뮬레이션에서, 지표면 온도가 높아도 건물 그림자와 기류 덕에 체감은 시원해지는 구간이 나타났습니다. 위성 지표면 온도만으로 공원 성능을 판단하면 틀립니다.
- 공원 유형에 따라 중립 온도가 다릅니다. 잔디밭이 넓고 하늘이 열린 지구공원 이용자의 중립 PET가 조밀한 가로공원보다 약 2도 높게 나타났습니다. 이용자가 그 환경에 적응한 결과로 해석됩니다.
설계 변수로 번역하면 이렇습니다. 천공률·수관 피복·배치·접근성이 열쾌적성 인지를 바꾸는 주요 변수로 반복해 지목됩니다. QD의 특성 축 후보로 삼을 근거가 됩니다.
아직 계산이 어려운 것
- 경관의 질과 선호. 오토데스크 사례에서 목적 여섯 중 셋이 설문값이었던 이유입니다. 설문이나 대리지표 없이는 식으로 떨어지지 않습니다.
- 안전감과 범죄예방 설계. 가시성 해석으로 일부 근사되지만 합의된 지표가 없습니다.
- 생물다양성. 수종 다양도나 서식지 연결성으로 대리하지만, 실제 종 풍부도와의 관계는 대상지마다 다릅니다.
- 시간에 따른 변화. 수목은 자랍니다. 준공 시점과 20년 후의 그늘이 전혀 다른데, 대부분의 평가는 한 시점만 봅니다.
마지막 항목이 조경 고유의 문제입니다. 건축은 준공 상태가 거의 유지되지만 조경은 설계 대상이 살아서 변합니다. 최적화 대상을 어느 시점으로 잡을지가 방법론과 무관한 근본 질문으로 남습니다.
알고리즘을 직접 구현할 수도 있지만, 실무에서는 대개 기성 도구를 씁니다. 두 갈래가 있습니다.
설계 도구 쪽 — Grasshopper 계열
환경 평가는 별도입니다. Ladybug Tools가 표준 기상 자료를 Grasshopper로 들여와 일사·그늘·열쾌적성을 계산하고, 미기후는 ENVI-met 같은 전용 도구로 넘어갑니다.
Biomorpher를 눈여겨볼 만합니다. 한 비교 연구에서 Octopus·Galapagos와 견주어 가장 짧은 시간에 가장 높은 그림자 피복을 달성했다고 보고됩니다. 더 중요한 것은 구조입니다. 사람이 매 세대 고르되 군집 중심만 평가하면 되도록 만들어, 주관적 기준을 식으로 쓰지 않고도 탐색에 넣습니다. 앞에서 본 "경관의 질은 계산이 어렵다"는 문제에 대한 실용적 우회로입니다.
연구 도구 쪽 — 파이썬 라이브러리
- pymoo — 다목적 최적화 전문. NSGA-II·III를 포함한 표준 구현체. 저자가 Deb 연구실입니다.
- pygmo — 대규모 병렬에 강점. 섬 모형으로 분산 실행.
- pyribs — 품질·다양성 전용. ask-tell 구조라 평가 부분을 사용자가 자유롭게 붙입니다. CMA-ME·CMA-MAE 구현 포함.
- qdpy — 품질·다양성 종합. MAP-Elites와 CMA-ME 등을 바로 쓸 수 있는 형태로 제공.
- DEAP — 오래된 범용 진화 계산 틀. 파이썬 리스트 기반이라 최신 라이브러리보다 느리다는 비교가 있습니다.
실무 경로가 갈립니다. NSGA 계열까지는 Grasshopper 안에서 끝낼 수 있습니다. 하지만 품질·다양성 계열은 Grasshopper 플러그인이 없어 파이썬 쪽에서 pyribs나 qdpy로 엮고, 기하 생성과 평가만 Rhino와 주고받는 구조가 됩니다. 이 연결 비용이 실제 도입의 문턱입니다.
국내 제도 조건
최적화 이전에 제약으로 들어가야 할 값들이 있습니다. 「도시공원 및 녹지 등에 관한 법률」 시행규칙의 설치·규모 기준입니다.
소공원은 유치거리와 규모에 제한이 없습니다. 뒤집어 말하면 설계 자유도가 가장 크고, 그래서 탐색 알고리즘을 적용할 여지도 가장 큽니다. 고밀 시가지에서 불특정 다수를 위한 소규모 휴식·녹지 공간으로 접근성이 좋은 곳에 지정된다는 것이 제도상 성격입니다.
접근성 쪽에는 참고할 실증이 있습니다. 도보 10분이 생활공원 접근성의 최대 지점이고, 그 범위 안에서는 도보와 자전거의 접근성이 거의 같다는 분석입니다. 등시선 기반 평가 함수를 쓸 때 기준 시간으로 삼을 만합니다.
조경에서 무엇이 걸림돌인가
국내 조경학회지의 사례 분석이 현실을 짚습니다. 전 세계 28개 조경사무소를 조사했고, 도구는 Grasshopper가 압도적이며 적용은 네 갈래였습니다. 자유곡면 형태 생성, 식재 분포 알고리즘, 지리정보 연동, BIM 연계입니다.
건축에 비해 뒤처지는 이유로는 이런 것들을 듭니다.
- 식물 라이브러리가 빈약합니다. 건축 부재와 달리 표준화된 자산이 부족합니다.
- 3차원 식생 모델은 계산 부담이 큽니다. 대체 객체를 쓰지 않으면 돌아가지 않습니다.
- 연구 자체가 적습니다. 국제적으로도 파라메트릭 조경설계 연구가 스무 편 남짓입니다.
뒤집어 보면 이런 뜻입니다. 알고리즘은 이미 충분히 좋습니다. 부족한 것은 평가 함수와 자산입니다. 방법론을 고르는 일보다 "무엇을 어떻게 점수 매길 것인가"를 정하는 일이 더 큰 과제입니다.
이 검토의 한계
- 문헌 기반이며 직접 실험한 결과가 아닙니다. 인용 수치는 각 연구의 대지와 기후에서 나온 값입니다.
- 인용 문헌의 대상이 대부분 도시 블록이나 건축 매싱이고 소공원 단위 사례는 드뭅니다. 규모가 달라지면 변수 수와 평가 비용이 달라집니다.
- QD의 특성 축을 조경에서 무엇으로 잡을지에 관한 합의된 기준이 없습니다. 여기의 제안은 후보일 뿐입니다.
- 국내 기후·수종·법규 조건에서의 검증은 별도 과제입니다.
참고 문헌
- [선행] Stiny, G., Gips, J. (1972). Shape Grammars and the Generative Specification of Painting and Sculpture. · Stiny, G., Mitchell, W. (1978). The Palladian Grammar. — 50년 회고 리뷰 · 역사 정리
- [선행] Frazer, J. (1995). An Evolutionary Architecture. Architectural Association. — 7년 형태발생 프로젝트(1989–1996).
- [선행] Nagy, D. 외. Project Discover: An Application of Generative Design for Architectural Space Planning. Autodesk Research. — 토론토 MaRS 사무소, 목적 6개, 대안 약 1만 개. · 실행 보고
- [선행] Nauata, N. 외. House-GAN / House-GAN++ — 인접 그래프 조건부 평면 생성. · Floorplan-Diffusion · HouseTune — 확산 모델과 언어모델 결합.
- [선행·조경] Generative Design of Outdoor Green Spaces Based on Generative Adversarial Networks. Buildings 13(4). · AI for Landscape Planning: Assessing Surrounding Contextual Impact on GAN-Generated Green Land Layouts.
- [선행·조경] Layout2Rendering: AI-aided Greenspace design. — 배치에서 3차원 모델·투시도까지 자동화.
- [선행·조경] Planning of urban park green space layout — adopting an optimization model. — 시안 옌타구, K-평균과 개량 유전 알고리즘으로 접근성 개선. · 공원 공간 배치의 정량 지표화
- Deb, K., Pratap, A., Agarwal, S., Meyarivan, T. (2002). A fast and elitist multiobjective genetic algorithm: NSGA-II. IEEE TEC 6(2). — 종합 리뷰
- Deb, K., Jain, H. (2014). An Evolutionary Many-Objective Optimization Algorithm Using Reference-Point-Based Nondominated Sorting Approach, Part I. IEEE TEC 18(4) 577–601.
- Hansen, N., Ostermeier, A. (2001). Completely Derandomized Self-Adaptation in Evolution Strategies. Evolutionary Computation 9(2). · CMA-ES 공식 자료
- Hamano, R. 외 (2024). CMA-ES for Discrete and Mixed-Variable Optimization on Sets of Points. PPSN.
- Jones, D., Schonlau, M., Welch, W. (1998). Efficient Global Optimization of Expensive Black-Box Functions. · Snoek, J., Larochelle, H., Adams, R. (2012). Practical Bayesian Optimization of Machine Learning Algorithms. NeurIPS. · 튜토리얼
- Mouret, J-B., Clune, J. (2015). Illuminating search spaces by mapping elites. arXiv:1504.04909. · 저자의 QD 자료 · 튜토리얼 노트북
- Fontaine, M., Togelius, J., Nikolaidis, S., Hoover, A. (2020). Covariance Matrix Adaptation for the Rapid Illumination of Behavior Space. GECCO.
- Fontaine, M., Nikolaidis, S. (2023). Covariance Matrix Adaptation MAP-Annealing. GECCO. · 확장판
- Boyle, J. 외 (2022). T-DominO: Exploring Multiple Criteria with Quality-Diversity and the Tournament Dominance Objective. PPSN.
- Galanos, T. 외 (2021). ARCH-Elites: Quality-Diversity for Urban Design. GECCO.
- U-Net-Accelerated Quality-Diversity Optimization for Climate-Adaptive Urban Layouts. Springer, 2026.
- Generative Design through Quality-Diversity Data Synthesis and Language Models. Autodesk Research.
- Multi-objective optimization of urban blue-green space configuration using NSGA-II. Scientific Reports, 2026.
- Optimizing park landscape configurations for microclimate regulation and outdoor thermal comfort in arid cities. Applied Thermal Engineering, 2026.
- Generative design optimization of tree distribution for enhanced thermal comfort. Scientific Reports, 2025.
- A surrogate-assisted optimization framework for microclimate-sensitive urban design practice. Building and Environment.
- Transferable multi-objective factory layout planning using simulation-based deep reinforcement learning. JMS, 2024.
- [다수목적 QD] Pierrot, T. 외 (2022). Multi-Objective Quality Diversity Optimization. — MOME, 칸마다 지역 파레토 전선. · 선호 조건부 변형 · 무격자 공간 확장
- [평가지표] A comprehensive review of thermal comfort evaluation methods and influencing factors for urban parks. Building and Environment. · Outdoor Thermal Comfort Research and Its Implications for Landscape Architecture: A Systematic Review
- [평가지표] Comparative reliability assessment of PET and UTCI thermal comfort indices using Monte Carlo simulation. Scientific Reports, 2025. — UTCI가 PET보다 안정적. · 공원 유형별 중립 온도 차이 · 계절별 중립 PET 임계
- [도구] Harding, J., Brandt-Olsen, C. (2018). Biomorpher: Interactive evolution for parametric design. IJAC. · 코드 · Grasshopper 최적화 플러그인 정리(TU Delft)
- [라이브러리] Blank, J., Deb, K. (2020). pymoo: Multi-objective Optimization in Python. · Tjanaka, B. 외 (2023). pyribs: A Bare-Bones Python Library for Quality Diversity Optimization. GECCO.
- [제도] 도시공원 및 녹지 등에 관한 법률 시행규칙 별표 3 — 도시공원의 설치 및 규모의 기준 · 도시공원·녹지의 유형별 세부기준 등에 관한 지침
- [제도] 이동수단에 따른 도시공원 접근성 분석 — 도보 10분이 최대 지점. · 도심내 소공원의 위계 분석 및 이용현황 분석 연구
- 이유미 외. 조경 설계 분야에서 파라메트릭 디자인의 사례 분석과 활용. 한국조경학회지 49(2).