시스템 수준 설계에 AI 통합하기: AI를 사용한 차수 축소 모델링 - MATLAB & Simulink

eBook

챕터 3

AI를 사용한 복잡한 시스템의 차수 축소 모델링


시스템의 복잡도는 날이 갈수록 증가하고 있습니다. 자율 시스템 덕분에 자동차는 예상치 못한 환경 속에서 운행할 수 있게 되었습니다. 풍력 터빈은 디지털 트윈을 통해 정비 필요에 맞춰 자체 모니터링을 합니다. 개인용 스마트 기기는 수면 활동을 측정하고 사진에 레이블을 지정하며 운동을 계획하기도 합니다. 의료기기는 환자를 모니터링하고 질병을 진단하며 개인 맞춤 결과를 예측합니다.

이러한 응용 분야에서 AI 기반 알고리즘은 더 큰 복잡한 시스템의 일부가 됩니다.

흔히 AI 모델을 그러한 시스템의 일부로서 배포하지만 AI 모델을 ROM(차수 축소 모델링)에도 활용할 수 있습니다. ROM은 예상하는 충실도를 통제 가능한 오차 이내로 유지하면서도 가상 시스템 모델의 복잡성 또는 저장공간 요구사항을 줄일 수 있는 수단입니다.

엔지니어는 흔히 제1원리를 사용하여 시스템의 구성요소를 모델링하기 시작합니다. 제1원리 모델의 진정한 가치는 결과에 보통 분명하고 설명 가능한 물리적 의미가 있다는 점입니다. 또한 거동은 파라미터화할 수 있는 경우가 많습니다.

그러나 시스템 수준 설계에 고충실도 모델을 사용하기에는 너무 연산 집약적인 경우가 많으며 특히 모델을 실시간으로 실행해야 하는 HIL 또는 PIL 테스트를 사용하는 경우는 더욱 그렇습니다. 고충실도 모델은 도출하는 데도 많은 시간이 걸릴 수 있습니다.

그러한 경우에는 AI 기반 차수 축소 모델을 만드는 방법을 고려할 수 있습니다.

자동차의 고충실도 모델은 복잡하고 느리게 실행되는 시뮬레이션을 구성하는 제어기, 환경, 드라이버 블록을 포함하는 시뮬레이션의 일부입니다. 자동차를 대체하는 AI 기반 차수 축소 모델도 볼 수 있습니다.

자동차 엔진의 제1원리 모델을 빠른 AI 기반 알고리즘으로 대체하여 ROM을 만들 수 있습니다. ROM 시뮬레이션은 제어 알고리즘의 시스템 수준 테스트에 대해 허용 가능한 수준의 정확도를 제공하면서도 빠르게 실행될 것입니다.

섹션

AI 기반 차수 축소 모델 개발

AI를 포함하는 ROM을 만드는 접근법은 다음과 같이 여러 가지가 있습니다.

  • 물리 기반 축소 모델
  • 모델 기반 기법
  • 특정 동작점에서 선형화되는 비선형 Simulink 모델
  • 다음과 같은 데이터 주도 접근법:
    • 곡선 피팅 및 룩업 테이블 등의 정적 접근법
    • AI 기반 모델 등의 동적 접근법

ROM은 귀중한 도구가 될 수 있습니다. ROM으로 다음과 같은 작업을 수행할 수 있습니다.

  • 타사의 고충실도 모델에 영향을 받은 Simulink 데스크탑 시뮬레이션 가속화.
  • 고충실도 모델의 복잡성을 줄여 HIL(Hardware-in-the-Loop) 테스트 구현.
  • 다른 툴들의 2차원 및 3차원 모델을 Simulink의 시스템 수준 시뮬레이션 모델로 도입.
  • 제어 소프트웨어, 결함 검출 또는 예측 정비에 사용할 AI 기반 가상 센서 모델 개발.
  • 제어 설계 수행.
  • FEA(유한요소해석) 또는 CFD(전산유체역학) 소프트웨어의 계산 또는 최적화 속도 향상

AI 기반 ROM에는 설계 관련 고려사항이 있습니다. 정확한 AI 모델을 만들기 위해서는 고품질의 데이터가 많이 필요합니다. AI 모델은 아무리 정확해도 흔히 "블랙박스"에 비유되거나 어떤 경우에는 "그레이박스"에 비유되곤 합니다. 즉 모델의 출력값을 설명하거나 파라미터화하지 못할 수도 있습니다. 엔지니어가 하나의 AI 모델을 사용하여 기계의 물리에 관한 지식을 모델에 쉽게 통합할 수 있는 것도 아닙니다.

모델은 출력값에 대한 내막을 전혀 알 수 없는 소위 블랙박스부터 약간의 이해를 제공하는 그레이박스, 그리고 제1원리 모델의 완벽한 투명성에 이르기까지 다양한 정도의 설명 가능성을 가지고 있습니다.

모델은 출력값에 대한 내막을 전혀 알 수 없는 소위 블랙박스부터 약간의 이해를 제공하는 그레이박스, 그리고 제1원리 모델의 완벽한 투명성에 이르기까지 다양한 정도의 설명 가능성을 가지고 있습니다.

섹션

타사의 제1원리 엔진 모델을 AI 기반 ROM으로 대체

여러분이 새로운 자동차 설계를 맡은 팀의 일원이라고 생각해 보십시오. 여러분은 몇 가지 입력값과 조건을 기반으로 하여 자동차의 속도를 시뮬레이션해야 합니다. 운전자, 도로 상태, 제어기, 자동차 엔진 등을 나타내는 구성요소들이 포함된 모델을 만들어야 합니다.

타사 툴로 모델링한 차량 엔진 서브시스템을 동료로부터 받았다고 가정해 보겠습니다. 이를 활용한 시뮬레이션은 실제 시스템을 매우 충실히 반영할 것입니다. 하지만 그 실행 속도는 예상보다 느립니다.

고충실도 모델은 운전자, 환경, 제어기, 복잡한 엔진 모델이 있는 자동차를 포함합니다.

엔진 모델이 제1원리를 기반으로 하는 복잡한 모델이라면 자동차 속도의 시뮬레이션은 실행 속도가 느릴 것입니다.

다른 시스템 구성요소를 개발하고 정교화하면서 시뮬레이션 속도를 개선하려면 값비싼 타사 엔진 모델을 대리 또는 차수 축소 모델로 대체할 수 있습니다. 이런 모델은 물리 기반 방법(예: Simulink 또는 Simscape 사용)이나 AI 기반 방법 등 다양한 기법을 사용해 개발할 수 있습니다. AI 모델의 경우, 입력은 엔진 속도, 점화 타이밍, 스로틀 위치, 웨이스트게이트 밸브 값을 포함하고 출력이 엔진 토크를 나타냅니다.

여러분은 Variant를 사용하여 다양한 기법으로 구축된 구성요소 간에 간편히 전환할 수 있습니다.  Variant를 사용하면 모델의 일부를 주석 처리하지 않고도 정확도와 성능 간의 균형을 유지하며 설계 옵션을 비교할 수 있습니다. 이를 통해 차이점을 파악할 수 있고 구성요소 선택 결정에 도움을 줄 수 있습니다.

섹션

데이터 생성 및 AI 모델 훈련

AI 모델을 만들기 위해서는 다양한 입력값을 받고 원하는 출력값을 산출하는 데이터셋을 사용하여 모델을 훈련시켜야 할 것입니다. 공개 데이터셋을 사용하거나 여러분의 물리 시스템 환경에서 나온 실험 데이터를 사용할 수 있습니다.

고충실도 시뮬레이션을 사용하여 데이터를 생성할 수도 있습니다. 그렇게 하려면 먼저 모델 파라미터를 선정하고 그것들의 범위를 변화시켜서 일련의 실험들을 설계해야 합니다. 예를 들면 속도, 점화 타이밍, 스로틀 위치의 파라미터 범위는 각각 다를 것입니다. DoE(실험계획법)를 사용하여 가능한 파라미터 조합들이 나열된 테이블을 만들고, 이어서 시뮬레이션을 실행하여 데이터를 수집합니다.

시스템 시뮬레이션에서 복잡한 엔진 모델을 AI 모델로 대체합니다. AI 모델은 동일한 엔진 속도, 점화 타이밍, 스로틀 위치, 웨이스트게이트 밸브 등의 입력값을 받아서 동일한 엔진 토크를 출력합니다.

고충실도 모델을 AI 모델로 대체합니다.

다양한 기법을 사용하여 AI 모델을 만들 수 있습니다. 예를 들어, MATLAB을 사용하여 머신러닝 방법 또는 LSTM(장단기 기억 신경망, 시퀀스 예측 문제에서 순서 종속성을 학습할 수 있는 순환 신경망), 신경망 ODE(상미분 방정식의 해로 정의되는 딥러닝 연산) 또는 비선형 ARX 모델(복잡한 비선형 거동을 모델링하기 위해 웨이블릿 또는 시그모이드 신경망 등의 유연한 비선형 함수를 사용하는 모델) 같은 딥러닝 방법들을 적용할 수 있습니다.

기타 오픈 소스 프레임워크를 함께 사용해 AI 모델을 훈련시킬 수도 있습니다.

섹션

시스템 수준 테스트에 AI ROM 배포

AI 기반 ROM을 만들었다면 이를 시스템 수준 테스트에 배포할 수 있습니다.

시스템 내 다른 구성요소의 설계와 성능을 테스트하는 것이 목표라면 설계 중인 구성요소를 타겟 하드웨어에서 실행하고 AI 모델을 데스크탑에서 실행하고 싶을 수 있습니다. 잠재적 HIL(Hardware-in-the-Loop) 설정에는 다음과 같은 과정을 수반할 수 있습니다.

  • 타겟 하드웨어 플랫폼에 구성요소 배포
  • 실시간 컴퓨터 시스템에서 AI 모델 실행
  • 시스템 연결, 시뮬레이션 실행, 신호 모니터링 및 파라미터 조정

개발이 완료된 AI 모델은 모듈화되어 있고 재사용할 수 있습니다. 여러분의 동료도 그들이 어디에 있든 자신의 시뮬레이션과 구성요소 테스트에 여러분의 AI 모델을 사용할 수 있어 시스템의 병렬 설계와 개발 속도를 높일 수 있습니다.

임베디드 시스템을 타겟 하드웨어에 배포합니다. AI 기반 ROM을 실시간 컴퓨터에 배포합니다. 시스템 수준 테스트를 위해 Simulink 안에서 이 시스템들이 상호운용됩니다.

타겟 하드웨어에서 실행되는 테스트 중인 제어기 및 컴퓨터에서 실행되는 플랜트 모델(이 경우에는 자동차)을 지원하는 AI 기반 ROM으로 시스템 수준 테스트와 시뮬레이션을 수행합니다.

섹션

AI 기법 선택

시간적 여유가 있다면 다양한 기법을 사용하여 다수의 AI 모델을 만들고 Simulink를 사용하여 그 기법들을 정교화할 수 있습니다. 예를 들면 Simulink 프로파일러를 사용하여 각각의 모델이 데스크탑 컴퓨터에서 얼마나 빠르게 실행되는지 확인할 수 있습니다. 고충실도 모델에서 나온 결과와 AI 모델에서 나온 결과를 비교하여 정확도를 측정할 수도 있습니다.

응용 분야에 맞는 최적의 모델을 결정하기 위해서는 모델들을 배포하고 모든 메트릭을 수집해야 할 것입니다.

항상 정확도를 기준으로 모델을 선택하지는 않습니다. 훈련 속도, 해석 가능성, 추론 속도 또는 모델 크기 등을 고려해야 할 수 있습니다. 방법론마다 다른 결과를 산출하고 각각의 특정 ROM마다 다양한 장단점이 있습니다.

LSTM, 신경망 ODE, 2개의 비선형 ARX 모델의 성능을 비교하는 차트. 비선형 ARX 모델은 추론 속도, 모델 크기, 정확도, 해석 가능성이 매우 우수하고 다른 모델들에 비해 훈련 속도가 느립니다.

서로 다른 AI 자동차 엔진 ROM은 서로 다른 성능 프로파일을 가집니다.

지식 테스트