상담문의

[Amesim] Simcenter ROM 기능을 이용한 surrogate 모델 생성, 기능 소개

2026-08-28

 


1. ROM Builder 를 이용한 데이터 학습


 아래 그림과 같이 엔진 맵에 대한 surrogate 모델을 생성하는 방법을 소개하겠습니다. Surrogate 모델은 크게 반응표면 모델과 신경망회로 모델이 있습니다. ROM Builder 는 데이터 학습을 통해 반응표면 모델과 신경망회로 모델을 모두 지원하고 있습니다. 데이터 학습을 수행하기 위해 측정된 데이터가 열벡터 형태로 정의되어야 합니다. 그리고 Table format: XY 로 명시해줘야 합니다. 

 엔진 맵 데이터는 3차원 surface 형태로 그래프를 그릴 수 있으며, rpm 과 throttle 의 함수로 표현이 됩니다. 이 곡면의 경우 다항함수 형태로 보간하여 곡선적합을 수행할 수 있으며, 이 보간함수가 반응표면 모델이 됩니다. 반응표면 모델의 경우 다항함수라는 제약조건이 있기 때문에 부드러운 곡면이 아닐 경우, 그 정합성을 높이기 어렵습니다. 반면에 신경망회로 모델은 데이터 기반으로 면을 생성하며, 주변의 데이터를 바탕으로 원하는 포인트를 보간하여 생성합니다. 따라서 불규칙한 면에 대해서도 그 정합성이 매우 높다고 할 수 있습니다. 


Figure 1 엔진 맵 데이터를 3차원 그래프로 도시한 화면


Figure 2 ROM Builder 에서 데이터를 임포트 하기 위한 스키마 예시


 ROM Builder를 통해 데이터 학습을 수행하고 나면 아래 그림과 같이 신뢰도와 상관성을 도시하여 보여줍니다. 신뢰도가 100% 에 가까울수록 기존의 데이터를 오차없이 모사할 수 있음을 의미합니다. 상관도 분석의 경우 목적함수와 파라미터 사이의 경향성을 보여주고 있으며, 아래 그림에서는 engine_throttle 과 engine_torque 사이에 밀접한 관련이 있음을 시사하고 있습니다. 

Figure 3 Surrogate 모델 생성 후 데이터의 정합성 비교


Figure 4 파라미터와 목적함수 사이의 상관성 분석


2. ROM Builder 를 이용한 반응표면 모델 


 ROM Builder 의 Static Samples 기능에 들어가면 반응표면 모델을 생성할 수 있습니다. 반응표면 모델의 경우, 약 95% 의 신뢰도를 확보하였습니다. 이 모델은 면에 대한 곡선적합을 통해 회귀 모형을 생성하였으며 함수 형태로 표현하면 아래 그림과 같습니다. 

 3차 보간이 2차 보간보다 더 높은 정합성을 가지는 곡면을 생성할 수 있습니다. 곡면과 이산화된 데이터를 비교하면 그 차이가 크지 않다는 것을 육안으로 확인할 수 있습니다. 반응표면 모델의 경우 다항함수로 곡선적합을 수행했기 때문에, 데이터 사이에 면이 부드럽게 연결되어 있습니다. 따라서 곡선적합 과정에서 실제 실험에서 얻은 데이터와 오차가 발생합니다. 

Figure 5 반응표면 모델과 곡선적합 함수


Figure 6 원본 데이터와 정합성 비교


3. ROM Builder 를 이용한 신경망회로 모델 


 신경망회로 모델은 실험에서 얻은 데이터를 기반으로 학습을 수행하여 면을 생성합니다. 또한 활성화 함수의 특성상 불연속점이나 급격한 변화보다는 부드러운 비선형 곡면을 추종하는데 더 유리합니다. 실제 ROM Builder 를 통해 신경망회로 모델을 생성할 경우 모델에 대한 신뢰도가 약 100%에 가깝다는 것을 확인 할 수 있습니다. 신경망회로 모델은 반응표면 모델과 다르게 면의 불연속점을 잘 추종하고 있습니다. 따라서 실험 데이터와 오차를 비교했을 때, 오차가 최소화 됩니다. 

 이 외에도 ROM Builder 에서는 Gaussian Process, Gradient Boosting 등 다양한 surrogate 모델을 지원하고 있습니다.

Figure 7 신경망회로 모델과 그 구조


Figure 8 원본 데이터와 정합성 비교


4. ROM Builder surrogate 모델과 Amesim 연결 수행


 
 앞에서 엔진 맵에 대한 surrogate 모델을 생성하는 방법을 소개하였습니다. 이렇게 생성한 모델을 Amesim 에서 fmi 모델로 불러올 수 있습니다. ROM Builder가 생성한 surrogate 모델을 선택하고, export 를 수행하면 아래 그림과 같이 FMU 2.0 버전과 S-Function 파일을 출력 할 수 있습니다. 확장자가 fmu 인 파일은 Amesim 에서 fmi 형태로 불러올 수 있으며 Amesim 과 쉽게 연계가 가능합니다. 확장자가 c 인 파일은 c언어 코드로 구성이 되어 있으며 matlab Simulink 에서 
s-function 으로 임포트하여 사용합니다. 이때, matlab 에서 c 코드를 컴파일 할 수 있는 mexw64 가 같은 폴더에 내장되어 있어야 합니다. 

Figure 9 ROM Builder 에서 생성한 Surrogate 모델 추출


Figure 10 추출한 surrogate 파일


 아래 그림은 Amesim 에서 fmu 파일을 임포트하여 fmi 로 생성하는 과정입니다. 생성한 fmi 는 2개의 input 파라미터가 존재하며, 1개의 output 이 존재합니다. 포트의 개수는 ROM Builder 에서 surrogate 모델을 생성할 때, 파라미터 셋팅과 관련이 있습니다. 엔진 맵의 경우 rpm 과 throttle 을 입력변수로 받고 엔진 토크를 출력변수로 생성하였습니다. 따라서 2개의 input 이 존재하며 위에서부터 순서대로 rpm 과 throttle 을 입력을 받을 수 있는 포트가 존재해야 합니다. 

Input 파라미터가 정의되면 출력으로 엔진 토크를 보간하여 예측할 수 있습니다.  

Figure 11 Amesim 에서 fmu 임포트하는 과정


Figure 12 Amesim 에서 fmi 를 연결하여 실행한 화면


5. ROM Builder surrogate 모델과 Matlab Simulink 연결 수행 


 폴더 안에 생성된 rom_1.c 와 rom_1.mexw64 를 이용하여 S-function 을 작성할 수 있습니다. S-function 블록은 Matlab Simulink 라이브러리에서 해당 블록을 검색하여 가져옵니다. 블록을 Simulink 화면으로 가져오면, 이름을 기존에 저장하였던 rom_1 로 변경하여 c 코드를 가져올 수 있습니다. 이렇게 하고 Amesim 부문에서 설명한 바와 마찬가지로 input 포트에 각각 rpm 과 throttle  을 연결하면, 엔진 토크를 출력으로 얻을 수 있습니다.  

Figure 13 Matlab Simulink 라이브러리에서 검색한 s-function 블록


Figure 14 S-function 이름 저장


Figure 15 Matlab 에서 C 컴파일러 탑재한 화면


Figure 16 Matlab Simulink 에서 수행한 Surrogate 모델


6. 해석 결과 및 결론 


 ROM Builder 를 이용하면 다양한 surrogate 모델을 생성할 수 있습니다. 반응표면 모델은 다른 surrogate 모델과 비교하였을 때, 그 정합성이 가장 낮습니다. 그 이유는 실험데이터 사이에 다항함수 보간법을 이용하여 면을 생성하기 때문입니다. 반면에 신경망회로 모델은 데이터 기반으로 복잡한 비선형 관계를 유연하게 학습하여 높은 정합성의 곡면을 생성합니다. 반응표면 모델은 수식이 단순하여 직관적인 해석이 가능하며, 신경망 모델은 학습에 시간이 다소 소요되나 복잡한 공학적 거동을 정확하게 모사할 수 있습니다. 두 모델 모두 실시간 시뮬레이션이나 최적화 탐색에 적용 시 매우 빠른 연산 속도를 제공합니다. 

 Surrogate 모델을 생성하는 이유는 이 모델을 이용하여 최적화를 수행하기 위해서입니다. 반응표면 모델의 경우 정합성이 다른 모델과 비교하여 떨어지지만, 대수식을 이용하여 모델을 예측하기 때문에 탐색 속도가 매우 빠르다는 장점이 있습니다. 

 어떤 surrogate 모델을 사용해야 할지는 사용자가 당면한 공학적 문제의 성격에 따라 달라질 수 밖에 없습니다. 따라서, ROM Builder 를 사용하기에 앞서 현재 맞닥드린 공학 문제를 정식화하고 규명하는 것이 우선순위 과제입니다. 


댓글 없음

댓글 쓰기

이런자료는 어때요?
캐디언스 시스템
(주) 캐디언스시스템

서울본사 : 서울시 금천구 가산디지털 1로 212, 코오롱디지털타워애스턴 1006호