KR20220103739A - 시뮬레이션의 계산 비용을 추정하기 위한 방법 및 시스템 - Google Patents

시뮬레이션의 계산 비용을 추정하기 위한 방법 및 시스템 Download PDF

Info

Publication number
KR20220103739A
KR20220103739A KR1020227018956A KR20227018956A KR20220103739A KR 20220103739 A KR20220103739 A KR 20220103739A KR 1020227018956 A KR1020227018956 A KR 1020227018956A KR 20227018956 A KR20227018956 A KR 20227018956A KR 20220103739 A KR20220103739 A KR 20220103739A
Authority
KR
South Korea
Prior art keywords
simulation
computational cost
estimating
model
computer
Prior art date
Application number
KR1020227018956A
Other languages
English (en)
Inventor
카일 코식
아닐 세갈
스콧 맥클레넌
조슈아 오스터-모리스
라이언 다이스텔호르스트
데이비드 엠. 프리드
이안 캠벨
Original Assignee
온스케일, 인코포레이티드
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 온스케일, 인코포레이티드 filed Critical 온스케일, 인코포레이티드
Publication of KR20220103739A publication Critical patent/KR20220103739A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/20Design optimisation, verification or simulation
    • G06F30/27Design optimisation, verification or simulation using machine learning, e.g. artificial intelligence, neural networks, support vector machines [SVM] or training a model
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/20Design optimisation, verification or simulation
    • G06F30/23Design optimisation, verification or simulation using finite element methods [FEM] or finite difference methods [FDM]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • G06N3/0454
    • G06N3/0481
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N5/003
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/01Dynamic search techniques; Heuristics; Dynamic trees; Branch-and-bound
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2111/00Details relating to CAD techniques
    • G06F2111/10Numerical modelling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/048Activation functions

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Artificial Intelligence (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Data Mining & Analysis (AREA)
  • Computational Linguistics (AREA)
  • Medical Informatics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Computer Hardware Design (AREA)
  • Geometry (AREA)
  • Biophysics (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Biomedical Technology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Testing And Monitoring For Control Systems (AREA)
  • Feedback Control In General (AREA)

Abstract

기계 학습 모델을 사용하여 시뮬레이션의 계산 비용을 추정하기 위한 방법 및 시스템이 본 명세서에서 설명된다. 예시적인 방법은 특징 데이터 세트를 기계 학습 모델에 입력하는 단계를 포함한다. 특징 데이터 세트는 모델 지오메트리 메타데이터와 시뮬레이션 메타데이터를 포함한다. 상기 방법은 기계 학습 모델을 사용하여 시뮬레이션 프로세스에 대한 계산 비용 특성을 예측하는 단계를 더 포함한다.

Description

시뮬레이션의 계산 비용을 추정하기 위한 방법 및 시스템
관련 출원에 대한 교차 참조
본 출원은 2019년 11월 6일자로 출원되고 발명의 명칭이 "시뮬레이션(simulation)의 계산 비용의 추정 방법"인 미국 가 특허 출원 번호 62/931,299 호의 이득을 주장하며, 그 개시는 전체가 원용에 의해 본 출원에 명시적으로 포함된다.
본 개시는 다중물리 시뮬레이션(multiphysics simulation) 도구에 관한 것이며 기계 학습 방법(machine learning methodologies)을 사용하여 실행하기 전에 시뮬레이션의 계산 비용을 정확하게 추정하는 능력에 특히 초점을 맞추고 있다.
컴퓨터-보조 공학(Computer-Aided Engineering; CAE)은 FEM(유한 요소 방법) 및 FDM(유한 차분 방법)과 같은 계산 방법을 사용하여 물리적 객체의 표시를 시뮬레이션하는 실행방법이다. 최신 수치 분석 도구는 전형적으로, 시뮬레이션이 완료되는데 걸리는 시간에 대한 피드백을 사용자에게 제공할 수 없는데, 그 이유는 솔루션 자체로 계산하는 한 그러한 다양한 복잡성을 갖는 시스템(어떤 경우에는 수십억의 자유도를 갖는 시스템)의 계산 비용에 관한 정확한 추정에 시간이 걸릴 수 있기 때문이다. 새로운 서비스 기반 시뮬레이션 도구가 효과적으로 배치될 수 있도록 시뮬레이션의 실행 전에 비용 피드백을 빠르고 정확하게 제공하는 방법이 관련 기술 분야에서 필요하다.
본 개시는 수치 시뮬레이션의 계산 비용을 추정하기 위한 방법 및 시스템에 관한 것이다. 일 구현에서, 상기 방법은 특정 초기 설정을 포함하는 데이터베이스의 구성 및 그들의 형태와 목적이 다양한 다수의 시뮬레이션으로부터 수집된 결과적인 성능 메트릭(performance metrics)을 포함한다. 이러한 데이터 세트로부터, 기계 학습 모델은 훈련된 기계 학습 모델이 모델 훈련에 사용된 것과 동일한 설정 세트를 기반으로 새로운 시뮬레이션의 솔루션을 계산하는데 필요한 코어(core) 시간이 얼마인지를 추정할 수 있도록 훈련되고 테스트된다. 결과적인 추정치는 실행 전에 시뮬레이션의 대략적인 비용을 사용자에게 알리고 필요한 경우 사전에 모델을 최적화하는 기회를 제공하는데 사용된다.
시뮬레이션의 계산 비용을 추정하는 예시적인 방법이 본 명세서에서 설명된다. 상기 방법은 특징 데이터 세트(feature data set)를 기계 학습 모델에 입력하는 단계를 포함한다. 특징 데이터 세트는 모델 지오메트리 메타데이터(model geometry metadata) 및 시뮬레이션 메타데이터를 포함한다. 상기 방법은 기계 학습 모델을 사용하여 시뮬레이션 프로세스(process)에 대한 계산 비용 특성(characteristic)을 예측하는 단계를 더 포함한다.
또한, 모델 지오메트리 메타데이터는 메시(mesh) 내의 요소 개수, 메시 내의 정점 개수, 모델의 표면 대 체적 비율, 최소 요소 크기, 메시 품질 메트릭(mesh quality metric), 요소 유형과 요소 순서, 모델의 종횡비, 모델 내의 에지(edge) 개수, 모델 내의 표면 개수, 모델 내의 유한 체적 개수, 또는 모델 내의 제어 지점 개수 중 적어도 하나를 포함한다.
선택적으로 모델은 컴퓨터-보조 설계(computer-aided design; CAD) 모델이다. 몇몇 구현에서, 상기 방법은 CAD 모델로부터 모델 지오메트리 메타데이터를 추출하는 단계를 더 포함한다.
대안적으로 또는 추가적으로, 시뮬레이션 메타데이터는 분석 유형, 솔루션 도메인(solution domain), 선형 솔버 유형(linear solver type), 프리컨디셔너(preconditioner), 시간 적분 방법, 공간 적분 방법, 비-선형성 정도, 비-선형 솔버 옵션, 적응형 메시 미세화 수준의 유형 및 개수, 주파수의 시간 스텝(step) 크기 또는 개수, 경계 조건 자유도, 경계 조건 유형, 재료 모델 유형, 재료 특성(material property), 코어의 개수, 또는 물리학-특정 매개변수를 포함한다.
대안적으로 또는 추가적으로, 계산 비용 특성은 시뮬레이션 프로세스를 위한 메모리 사용량, 또는 시간 중 적어도 하나이다. 선택적으로, 계산 비용 특성은 시뮬레이션 프로세스의 일부분에 대한 시간이다. 선택적으로, 상기 방법은 시뮬레이션 프로세스를 위한 시간에 적어도 부분적으로 기초하여 코어 시간의 수를 추정하는 단계를 더 포함한다.
대안적으로 또는 추가적으로, 계산 비용 특성은 메싱(meshing)에 필요한 시간, 전처리에 필요한 시간, 해법(solve)에 필요한 시간, 후처리에 필요한 시간 또는 시뮬레이션 프로세스에 필요한 시간 중 적어도 하나이다.
대안적으로 또는 추가적으로, 기계 학습 모델을 사용하여 시뮬레이션 프로세스에 대한 계산 비용 특성을 예측하는 단계는 시뮬레이션 프로세스에 대한 복수의 계산 비용 특성의 계산을 포함하며, 여기서 시뮬레이션 프로세스에 대한 각각의 계산 비용 특성은 상이한 컴퓨팅 리소스(resource) 및/또는 솔버 옵션(solver option)의 집합이다.
대안으로 또는 추가적으로, 기계 학습 모델은 심층 신경망(deep neural network), 컨볼루션 신경망(convolutional neural network), 그래디언트 부스트 결정 트리(gradient boosted decision tree) 또는 가우시안 프로세스 회귀분석(Gaussian process regression)이다.
대안적으로 또는 추가적으로, 특징 데이터 세트는 선택적으로 계산 환경 메타데이터를 더 포함한다.
대안적으로 또는 추가적으로, 상기 방법은 특징 데이터 세트를 결정하는 단계를 더 포함한다. 몇몇 구현에서, 특징 데이터 세트를 결정하는 단계는 초기 시뮬레이션 데이터 세트를 획득하기 위해서 복수의 시뮬레이션을 수행하는 단계, 모델 특징 데이터 세트를 생성하기 위해서 초기 시뮬레이션 데이터 세트로부터 하나 이상의 유형의 메타데이터를 선택하는 단계, 및 모델 특징 데이터 세트를 사용하여 기계 학습 모델을 훈련하고 테스트하는 단계를 포함한다. 메타데이터의 하나 이상의 유형은 모델 지오메트리 메타데이터, 시뮬레이션 메타데이터, 계산 환경 메타데이터, 또는 이들의 조합을 포함한다. 선택적으로, 상기 방법은 하나 이상의 부가적인 시뮬레이션을 수행하는 단계, 하나 이상의 부가적인 시뮬레이션으로부터의 메타데이터로 모델 특징 데이터 세트를 보완하는 단계, 보완된 모델 특징 데이터 세트를 사용하여 기계 학습 모델을 훈련하고 테스트하는 단계를 더 포함한다. 선택적으로, 기계 학습 모델을 훈련하고 테스트하는 단계는 반복적으로 수행된다.
선택적으로, 몇몇 구현에서, 특징 데이터 세트를 기계 학습 모델에 입력하는 단계는 모델 지오메트리 메타데이터를 제 1 기계 학습 모델에 입력하고 시뮬레이션 메타데이터를 제 2 기계 학습 모델에 입력하는 단계를 포함한다. 이들 구현에서, 상기 방법은 선택적으로, 제 1 및 제 2 기계 학습 모델의 각각의 출력으로부터 고정된-차원 표시 벡터(fixed-dimensional representation vector)를 생성하는 단계; 및 시뮬레이션 프로세스에 대한 계산 비용 특성을 예측하기 위해서 고정된-차원 표시 벡터를 분석하는 단계를 포함한다. 선택적으로, 시뮬레이션 프로세스에 대한 계산 비용 특성을 예측하기 위해서 고정된-차원 표시 벡터를 분석하는 단계는 회귀 분석(regression analysis)을 수행하는 단계를 포함한다.
시뮬레이션의 계산 비용을 추정하기 위한 예시적인 시스템도 본 명세서에서 설명된다. 상기 시스템은 기계 학습 모델, 및 프로세서와 메모리를 포함하는 컴퓨팅 장치(computing device)를 포함한다. 메모리는 프로세서에 의해 실행될 때, 프로세서가 기계 학습 모델에 특징 데이터 세트를 입력하게 하고, 기계 학습 모델을 사용하여 시뮬레이션 프로세스에 대한 계산 비용 특성을 예측하게 하는 컴퓨터-실행 가능 명령어를 가진다. 특징 데이터 세트는 모델 지오메트리 메타데이터 및 시뮬레이션 메타데이터를 포함한다.
유한 요소 분석(finite element analysis; FEA) 시뮬레이션의 계산 비용을 추정하는 방법의 예도 본 명세서에서 설명된다. 상기 방법은 컴퓨터-보조 설계(CAD) 모델을 포함하는 제 1 데이터 세트를 수신하는 단계; 제 1 데이터 세트를 제 1 기계 학습 모델에 입력하는 단계; 및 제 1 데이터 세트를 처리하기 위해서 제 1 기계 학습 모델을 사용하여 모델 지오메트리 데이터 세트를 추출하는 단계를 포함한다. 상기 방법은 또한, CAD 모델과 연관된 메타데이터를 포함하는 제 2 데이터 세트를 수신하는 단계; 제 2 데이터 세트를 제 2 기계 학습 모델에 입력하는 단계; 및 제 2 데이터 세트를 처리하기 위해서 제 2 기계 학습 모델을 이용하여 시뮬레이션 메타데이터 세트를 추출하는 단계를 포함한다. 상기 방법은 모델 지오메트리 및 시뮬레이션 메타데이터 세트로부터 고정된-차원 표시 벡터를 생성하는 단계; 및 FEA 시뮬레이션을 위한 타겟 매개변수(target parameter)를 결정하기 위해서 고정된-차원 표시 벡터를 분석하는 단계를 포함한다.
또한, 고정된-차원 표시 벡터를 분석하는 단계는 선택적으로, 고정된-차원 표시 벡터를 헤드 네트워크(head network)에 입력하는 단계; 및 고정된-차원 표시 벡터를 처리하기 위해서 헤드 네트워크를 사용하여 FEA 시뮬레이션을 위한 타겟 매개변수를 추출하는 단계를 포함한다. 대안적으로 또는 추가적으로, 헤드 네트워크는 FEA 시뮬레이션을 위한 타겟 매개변수를 결정하기 위해서 회귀분석을 수행하도록 구성된다.
대안적으로 또는 추가적으로, 타겟 매개변수는 FEA 시뮬레이션을 위한 메모리 사용량 또는 시뮬레이션 실행 시간 중 적어도 하나이다. 몇몇 구현에서, 상기 방법은 시뮬레이션 실행 시간에 적어도 부분적으로 기초하여 코어 시간의 수를 추정하는 단계를 더 포함한다.
대안적으로 또는 추가가적으로, CAD 모델과 연관된 메타데이터는 CAD 모델의 메시에서의 시간 반복, 재료 특성, 코어의 개수, 물리학-특정 매개변수, 또는 요소 개수 중 적어도 하나를 포함한다.
대안으로 또는 추가적으로, CAD 모델과 연관된 메타데이터는 불연속적이거나 연속적이다.
대안으로 또는 추가적으로, 제 1 기계 학습 모델은 컨볼루션 신경망(convolutional neural network)이다.
대안으로 또는 추가적으로, 제 2 기계 학습 모델은 신경 망각 의사결정 트리(neural oblivious decision tree)와 완전-연결된 신경망의 조합이다.
대안적으로 또는 추가적으로, CAD 모델은 공간 모델 지오메트리를 포함한다. 선택적으로, 공간 모델 지오메트리는 복수의 이산 셀(discrete cell)로 나누어진다. 선택적으로, 상기 방법은 공간 모델 지오메트리를 포인트 클라우드(point cloud)로 추출하는 단계를 더 포함하고, 여기서 제 1 데이터 세트를 제 1 기계 학습 모델에 입력하는 단계는 포인트 클라우드를 제 1 기계 학습 모델에 입력하는 단계를 포함한다. 또한, 포인트 클라우드는 이산 셀의 각각의 정점을 포함한다. 대안적으로 또는 추가적으로, 포인트 클라우드는 적어도 보간된 물리적 값(interpolated physical value), 리-샘플링된(re-sampled) 물리적 값, 또는 경계 조건을 포함한다.
FEA 시뮬레이션의 계산 비용을 추정하기 위한 다른 예시적인 방법이 본 명세서에서 설명된다. 상기 방법은 컴퓨터-보조 설계(CAD) 모델 및 메타데이터를 포함하는 데이터 세트를 수신하는 단계; 데이터 세트를 기계 학습 모델에 입력하는 단계; 및 데이터 세트를 처리하기 위해서 기계 학습 모델을 사용하여 모델 지오메트리를 추출하고 메타데이터 세트를 시뮬레이션하는 단계를 포함한다. 상기 방법은 또한, 특징 세트로부터 고정된-차원 표시 벡터를 생성하는 단계; 및 FEA 시뮬레이션을 위한 타겟 매개변수를 결정하기 위해서 고정된-차원 표시 벡터를 분석하는 단계를 포함한다.
위에서 설명된 요지는 또한, 컴퓨터 제어 장치, 컴퓨터 프로세스, 계산 시스템, 또는 컴퓨터 판독 가능 저장 매체와 같은 제조 물품으로서 구현될 수 있다는 것을 이해해야 한다. 다른 시스템, 방법, 특징 및/또는 장점은 다음 도면 및 상세한 설명을 검토할 때 당업자에게 자명하거나 자명해질 수 있다. 그러한 모든 추가 시스템, 방법, 특징 및/또는 장점이 이러한 상세한 설명에 포함되고 첨부된 청구범위에 의해 보호되도록 의도된다.
도면의 구성요소는 반드시 서로에 대해 축척대로 도시될 필요는 없다. 동일한 참조 부호는 여러 도면에 걸쳐 대응하는 부분을 지정한다. 이들 및 다른 특징은 첨부 도면을 참조하는 상세한 설명에서 더욱 자명해질 것이다.
도 1은 본 명세서에서 설명된 구현에 따른 시뮬레이션 모델 데이터 및 시뮬레이션 메타데이터에 대해 별도의 신경망을 사용하는 기계 학습 추정 프로세스의 블록도이다.
도 2는 본 명세서에서 설명된 구현에 따른 다른 기계 학습 추정 프로세스의 블록도이다.
도 3은 예시적인 컴퓨팅 장치이다.
본 개시는 다음의 상세한 설명, 예, 도면, 및 이들의 이전 및 다음 설명을 참조함으로써 보다 용이하게 이해될 수 있다. 그러나, 본 발명의 장치, 시스템 및/또는 방법이 개시되고 설명되기 전에, 본 개시는 달리 명시되지 않는 한, 개시된 특정 장치, 시스템 및/또는 방법으로 제한되지 않으며, 따라서 물론 다를 수 있다는 것을 이해해야 한다. 본 명세서에서 사용된 용어는 단지 특정 양태를 설명하기 위한 것이며 제한하려는 의도가 아님을 이해해야 한다.
다음 설명은 활성화 교시(enabling teaching)로서 제공된다. 이를 위해, 당업자는 여전히 유익한 결과를 얻으면서 많은 변경이 이루어질 수 있음을 인정하고 인식할 것이다. 또한, 바람직한 장점 중 일부는 다른 특징을 사용하지 않고 일부 특징을 선택하여 얻을 수 있음이 자명할 것이다. 따라서, 당업자는 많은 수정 및 개조가 가능할 수 있고 특정 상황에서도 바람직할 수 있으며 본 개시에 의해 고려된다는 것을 인정할 것이다. 따라서, 다음의 설명은 원리의 예시로서 제공되며 이에 제한되지 않는다.
전체에 걸쳐 사용된 바와 같이, 단수형 "a", "an" 및 "the"는 문맥이 명백하게 달리 지시하지 않는 한 복수의 지시 대상을 포함한다. 따라서, 예를 들어, "3D 모델"에 대한 언급은 문맥이 달리 나타내지 않는 한 2개 이상의 그러한 3D 모델을 포함할 수 있다.
범위는 "약" 하나의 특정 값 및/또는 "약" 다른 특정 값으로 표현될 수 있다. 그러한 범위가 표현될 때, 다른 양태는 하나의 특정 값으로부터 및/또는 다른 특정 값까지를 포함한다. 유사하게, 값이 근사치로 표현될 때, 선행사 "약(about)"을 사용함으로써, 특정 값이 또 다른 양태를 형성함을 이해할 것이다. 각각의 범위의 종점은 다른 종점과 관련하여 그리고 다른 종점과는 독립적으로 모두 중요하다는 것이 추가로 이해될 것이다.
본 명세서에서 사용된 바와 같이, 용어 "선택적" 또는 "선택적으로"는 이후에 설명된 이벤트 또는 상황이 발생할 수도 있고 발생하지 않을 수 있고 설명에는 해당 이벤트 또는 상황이 발생하는 경우와 발생하지 않는 경우가 포함됨을 의미한다.
본 개시는 기계 학습 기술을 사용하여 시뮬레이션(예를 들어, 유한 요소 분석(FEA) 시뮬레이션)의 계산 비용을 추정하기 위한 방법 및 시스템에 관한 것이다. 본 명세서에서 설명된 계산 비용 추정은 원하는 시뮬레이션이 시작되기 전에, 즉 원하는 시뮬레이션에 대한 사전 지식을 기반으로 수행된다. 원하는 시뮬레이션이 시작되기 전에 예측을 제공함으로써, 이해 당사자(예를 들어, 사용자, 고객 등)에게 원하는 시뮬레이션 비용(예를 들어, 시간, 컴퓨팅 리소스, 금전 비용 등)에 대한 이해를 제공한다. 그러한 정보를 통해 이해 당사자는 원하는 시뮬레이션을 진행할지 여부, 원하는 시뮬레이션을 어떻게 진행할지, 및/또는 어떤 컴퓨팅 리소스를 사용할 것인지를 포함하지만 이에 한정되지 않는 결정을 내리게 한다. 해당 기술 분야에서 그러한 정보가 필요하지만, 그러한 정보는 특히 기계 학습 방법을 사용하는 기존 시스템 및 방법에 의해 제공되지 않음을 이해해야 한다. 예를 들어, 기계 학습 기술은 메모리 및 코어 시간(core hour)의 형태로 비용을 추정하는데 사용되며, 여기서 코어 시간은 단일 컴퓨팅 코어가 1 시간에 수행할 수 있는 계산의 양이다. 몇몇 구현에서, 본 명세서에서 설명된 기계 학습 기술은 시뮬레이션 프로세스에 대한 복수의 계산 비용 특성의 계산을 예측하는데 사용되며, 여기서 시뮬레이션 프로세스에 대한 각각의 계산 비용 특성은 다른 세트의 컴퓨팅 리소스 및/또는 솔버 옵션에 기반한다. 이는 이해 당사자에게 추가 정보 및 옵션을 제공하고 선택적으로 그러한 정보를 사용하여 이해 당사자의 리소스와 상황을 감안할 때 시뮬레이션을 완료하는데 필요한 최적의 컴퓨팅 리소스(예를 들어, 메모리, 코어의 개수 등) 세트를 선택할 수 있음을 이해해야 한다. 컴퓨터 프로세서는 다중 컴퓨팅 코어를 포함할 수 있음을 이해해야 한다. 기계 학습 기술을 사용하면 특히, 시간 영역 분석(time-domain analysis)에서 추정의 효율성과 정확성을 크게 향상시킬 수 있으며, 현재 기술 상태에서 초기 시간 단계를 풀고 외삽해야 하므로 수렴 시간을 알 수 없는 경우 오류에 대한 상당한 여지가 남는다. 기계 학습은 시뮬레이션에 대한 잠재적 입력의 엄청난 복잡성으로 인해 이러한 유형의 문제에 매우 적합하다.
이제 도 1을 참조하면, 시뮬레이션 모델 데이터 및 시뮬레이션 메타데이터에 대해 별도의 신경망을 사용하는 기계 학습 추정 프로세스의 블록도가 도시된다. 기계 학습 추정기의 기능은 시뮬레이션이 발생할 메모리 양 및 총 실행 시간에 대한 회귀분석을 수행하는 것으로 고려된다. 런타임(runtime) 및 사용된 컴퓨팅 코어 수로부터, 시뮬레이션의 코어 시간 비용 측정값은 기계 학습 추정기에 의해 계산될 수 있다. 즉, 기계 학습 추정기는 코어 시간 비용 측정값을 출력할 수 있다. 추정기로의 입력에 대한 두 가지 주요 소스는 컴퓨터-보조 설계(CAD) 지오메트리 및 시뮬레이션 메타데이터이다. 선택적으로, 추정기로의 입력에 대한 다른 입력 소스는 컴퓨팅 하드웨어의 데이터 및 메트릭의 사후 처리와 같은 지원 연산과 관련된 메타데이터를 포함할 수 있지만 이에 한정되지 않는다. CAD 지오메트리는 문제에 대한 솔루션을 계산하는데 사용되는 유한 요소 방정식을 구성하는데 도움이 되는 메시(mesh)라 불리는 개별 요소로 나누어진다. 메타데이터는:
- 시간 반복(동적 해석의 경우)
- 재료 특성
- 사용 중인 코어
- 물리학 관련 매개변수(해 방정식, 하중 유형, 경계 조건 유형)
- 물리당 요소 개수
- 메시 내의 총 요소 개수
- 분석 유형(예를 들어, 정적, 준-정적, 동적)
- 솔루션 도메인(예를 들어, 시간 또는 빈도수)
- 선형 솔버 유형(예를 들어, 직접 또는 반복 방법)
- 행렬 프리컨디셔너 유형
- 비-선형성 정도
- 비-선형 솔버 옵션
- 적응적 메시 미세 조정 수준을 포함할 수 있지만 이에 한정되지 않는다.
위에 요약된 특정 메타데이터는 단지 예로서 제공된 것임을 이해해야 한다. 본 개시는 다른 시뮬레이션 메타데이터가 본 명세서에서 설명된 기계 학습 모델과 함께 사용될 수 있음을 고려한다. 모델에 대한 입력으로 간주되고 새로운 시뮬레이션에 대해 추정되는 타겟 매개변수:
- 메모리 사용
- 시뮬레이션 실행 시간이다.
위에 요약된 특정 타겟 매개변수는 단지 예로서 제공된 것임을 이해해야 한다. 본 개시는 다른 타겟 매개변수가 본 명세서에서 설명된 기계 학습 모델과 함께 사용될 수 있음을 고려한다.
방법의 일 구현에서, 추정은 시뮬레이션을 상이한 신경망에 의해 별도로 처리될 두 세트의 데이터로 나누는 전략을 사용하여 달성된다. 제 1 데이터 세트는 공간 모델 지오메트리(예를 들어, CAD 모델)과 관련된다. 공간 모델 지오메트리는 STEP 파일과 같은 CAD 파일에 포함된다. STEP 파일 형식은 당업계에 공지되어 있다. 본 개시는 공간 모델 지오메트리가 다른 유형의 CAD 파일에 포함될 수 있음을 고려한다. 문제의 지오메트리는 예를 들어, 2019년 8월 9일자로 출원되고 발명의 명칭이 "유한 요소 분석을 위한 하이브리드 메싱 방법"인 미국 특허 출원 공개 번호 2020/0050722 호에 설명된 것과 같은 알고리즘을 사용하여 시뮬레이션 전처리의 메싱 단계 동안 셀로 분할될 수 있다고 고려된다. 이들 셀의 정점은 시뮬레이션 설정으로부터 보간되거나 다시 샘플링된 물리적 값과 경계 조건을 유지하면서 포인트 클라우드(point cloud)(101)로 직접 내보낼 수 있다. 네트워크 아키텍처(network architecture)와의 호환성을 보장하기 위해서 리-샘플링 중에 해상도 조정도 이루어져, 지오메트리에 대한 임의의 변경이 포인트 클라우드(101)의 메타데이터로 유지되게 보장할 것이다. 또한, 추정기 결과와 관련된 통계(예컨대, 모델 범위, 셀 개수 등)는 외부 메타데이터로 유지되고 컨볼루션 네트워크 외부의 최종 모델에 대한 독립적인 입력으로 사용될 수 있다.
제 1 기계 학습 모델이 생성되고 포인트 클라우드(101)를 처리하기 위해서 사전 훈련된다. 예를 들어, 컨볼루션 신경망(102)이 생성되고 Princeton의 ModelNet40(http://modelnet.cs.Princeton.edu) 또는 Stanford의 ShapeNet(https://shapenet.cs.stanford.edu/)와 같은 3D 데이터 벤치마크에 대해 사전 훈련되는 것이 고려된다. 컨볼루션 신경망(102)은 포인트 클라우드(101) 처리 구성요소 및 모듈식 구성요소(103)를 포함한다. 컨볼루션 신경망 설계(또는 "아키텍처(architecture)")는 입력 3D 포인트 클라우드(예를 들어, 포인트 클라우드(101))를 처리하고 고정 길이 벡터(105) 표현을 생성하기 위해서 함께 순서를 지정하는 모듈식 구성요소(103)에 의해 정의된다. 본 명세서에서 사용된 모듈식 구성요소(103)는 컨볼루션 필터("컨볼루션" 레이어), 아핀(affine) 변환("조밀한" 레이어), 적응 정규화 및 스케일링 변환, 풀링, 그리고 다양한 비-선형 기능을 포함하지만, 반드시 이에 한정되는 것은 아니다. 컨볼루션 신경망은 제 1 기계 학습 모델의 예시일 뿐임을 이해해야 한다. 본 개시는 그래디언트 부스트 결정 트리(gradient boosted decision tree) 및 가우시안 프로세스 회귀분석(Gaussian process regression)을 포함하는 다른 기계 학습 모델이 본 명세서에서 설명된 시스템 및 방법으로 훈련되고 사용될 수 있음을 고려한다.
신경망은 벤치마크의 분류 및 의미론적 분할 연산에서 경험적으로 강점을 입증한 표준화된 모델 아키텍처와 최신 오류 메트릭에 가까운 훈련("사전 훈련")을 포함한다. 기존 연산에서 낮은 오류율을 달성하는 방법은 주지되어 있으며 오픈 소스 및 오픈 라이선스 채널을 통해 게시된다. 표준화된 모델이 선택되면, 원하는 변수를 회귀분석하기 위해서 독점 시뮬레이션 데이터에 따라 신경망이 미세 조정된다. 미세 조정 프로세스는 훈련된 네트워크의 최종 분류 및 의미론적 분할 가중치 계층을 제거하고 원하는 특징 공동 도메인에서 값을 출력하도록 설계된 새로운 가중치 계층(121)(또는 "헤드 네트워크(121)") 세트를 생성하는 것을 포함한다.
3D 지오메트릭의 패턴을 인식하는데 유용한 사전 훈련된 프라이어(pre-trained prior)를 유지하는 ModelNet40 또는 ShapeNet로부터 소싱된 신경망(102)의 초기 계층에 의해서, 학습률이 감소될 수 있고 원하는 타겟 변수("미세- 동조")에 대해 훈련이 재개될 수 있다. 신경망 아키텍처는 로컬 모델 토폴로지의 계층적 표현을 강조하며, 이는 여러 상이한 물리 분석에서 시뮬레이션 런-타임과 밀접한 상관관계가 있다. 포인트 클라우드(101)는 지오메트리의 고정된-차원 벡터 표시(105)를 생성하기 위해서 훈련된 신경망(102)에 의해 처리된다.
처리될 데이터의 제 2 세트는 지오메트리 모델로부터 수집된 메타데이터(111) 및 시뮬레이션 실행의 구성으로부터 기록된 파싱된 매개변수(parsed parameter)로부터 생성된 시뮬레이션 메타데이터를 포함한다. 몇몇 기능은 정적 분석 대 과도 분석과 같은 시뮬레이션 물리학 유형에 따라 다르다. 이들 기능의 예는 메시 해상도, 재료 특성, 사용 중인 CPU 코어, 또는 해석될 각각의 물리에 대한 메시 요소와 같은 것을 포함할 수 있다. 이들 기능은 범주형 변수 또는 연속 부동 소수점 값으로 이산화(discretizing)된다. 그 다음, 메타데이터(111)는 제 2 기계 학습 모델에 의해 처리된다. 예를 들어, 신경 망각 의사결정 트리와 완전-연결된 신경망(106)의 조합이 메타데이터(111)를 처리하는데 사용될 수 있다. 기존의 와이드-딥(wide-deep)(https://arxiv.org/abs/1606.07792) 모델은 이들 기능의 고정된-차원 임베딩(fixed-dimensional embedding)을 생성할 수 있다. 신경 망각 의사결정 트리와 완전-연결된 신경망의 조합은 예시적인 제 2 기계 학습 모델로서만 제공된다는 점을 이해해야 한다. 본 개시는 다른 기계 학습 모델이 본 명세서에서 설명된 시스템 및 방법으로 훈련되고 사용될 수 있음을 고려한다.
마지막으로, 이들 2 개의 신경망(지오메트리 및 메타데이터)의 조합으로부터 생성된 고정된-차원 벡터 표시(105)는 특정 회귀분석 타겟, 일반적으로 총 메모리 사용량 또는 총 런-타임을 각각 담당하는 헤드 네트워크(121)에 부착되는 것이 고려된다. 헤드 네트워크(121)는 또한, 각각의 메트릭과 관련된 오차 막대와 같은 통계적 추정치를 포함할 수 있다. 결과적인 출력은 지오메트리 벡터 표현 및 메타데이터를 수집할 수 있는 동일한 플랫폼에서 실행되는 다른 시뮬레이션에서 수집된 훈련 데이터를 기반으로 하는 총 메모리 사용량 또는 총 런-타임의 추정치이다.
이제 도 2를 참조하면, 시뮬레이션 프로세스의 계산 비용을 추정하기 위한 예시적인 방법이 도시된다. 본 명세서에서 사용되는 바와 같이, 시뮬레이션 프로세스는 시뮬레이션(예를 들어, FEA 시뮬레이션) 및 선택적으로 파일 업로드/다운로드, 모델 지오메트리 메시, 시뮬레이션 데이터 사전 처리 및/또는 시뮬레이션 결과 사후 처리를 포함한다. 예시적인 특징 데이터 세트가 블록(202)에 도시된다. 아래에서 설명되는 바와 같이, 특징 데이터 세트는 기계 학습 모델(204)에 대한 입력이 된다. 따라서 특징 데이터 세트는 예측을 하기 위해서 추론 모드에서 작동하는 훈련된 기계 학습 모델에 의해 분석되는 데이터이다(기계 학습 모델의 "타겟" 또는 "타겟들"로 지칭된다). 본 개시는 특징 데이터 세트가 컴퓨팅 장치(예를 들어, 도 3에 도시된 컴퓨팅 장치(300))에 의해 저장될 수 있음을 고려한다. 일부 구현들에서, 특징 데이터 세트는 컴퓨팅 장치에 의해 또는 클라우드 저장 환경에서 유지된다. 대안적으로 또는 추가적으로, 몇몇 구현에서, 특징 데이터 세트는 예를 들어, 네트워크를 통해 컴퓨팅 장치에 의해 액세스된다.
대안적으로 또는 추가적으로, 몇몇 구현에서, 특징 데이터 세트는 더 큰 데이터 세트, 예를 들어 훈련 데이터, 검증 데이터 및/또는 테스트 데이터를 포함할 수 있는 모델 특징 데이터 세트로부터 선택적으로 결정된다. 본 명세서에서 논의된 바와 같이, 특징 데이터 세트 결정은 자동화된 시스템 및 방법을 사용하여 수행될 수 있다. 예를 들어, 기계 학습 모델(204)이 예측을 하는 특징 데이터 세트(즉, 특정 메타데이터)를 결정하기 위해서 자동화된 프로세스가 구현될 수 있다. 이러한 프로세스는 예를 들어, 시뮬레이션의 대표적인 샘플 식별하고, 다양한 가능한 특징(예를 들어, 모델 지오메트리 메타데이터, 시뮬레이션 메타데이터, 계산 환경 메타데이터 등)을 선택하고, 특징값 추출을 위한 시뮬레이션을 실행하고, 어느 특징이 중요한 지를 결정하기 위해서 데이터 과학 방법을 사용하는 것을 포함한다. 훈련 및 테스트 및 선택적으로 검증에 사용되는 모델 특징 데이터 세트는 중요한 특징으로 생성된다. 그 후, 많은 데이터 포인트(시뮬레이션)가 수집될 수 있고, 이들 시뮬레이션에 대한 특징이 추출될 수 있으며, 원하는 신뢰 수준에 도달하기 위해서 데이터를 반복적으로 훈련하고 추가하기 전에 적절한 범위를 보장하기 위해서 데이터가 분석될 수 있다. 이는 초기 기계 학습 모델의 생성을 허용한다. 본 개시는 클라우드 기반 시뮬레이션으로부터 데이터를 지속적으로 수집하고 모델 특징 데이터 세트를 업데이트하기 위한 자동 시스템 및 방법이 초기 기계 학습 모델을 재훈련 및 업데이트하기 위해서 구현될 수 있음을 고려한다. 자동 시스템 및 방법은 기계 학습 모델(204)을 생성할 수 있다. 기계 학습 모델(204)은 새로운 데이터 포인트로 정확도를 개선하고 새로 개발된 시뮬레이션 기능을 처리하도록 업데이트될 수 있음을 이해해야 한다.
모델 특징 데이터 세트는 선택적으로 자주 업데이트될 수 있고 새로 개발된 시뮬레이션 기능 및 계산 환경에 대한 변경을 설명하기 위해서 기계 학습 모델이 재훈련될 수 있음이 또한 고려된다. 본 명세서에서 설명된 바와 같이, 이는 자동화된 시스템 및 방법을 사용하여 수행될 수 있다. 예를 들어, 클라우드 계산 환경에서 실제적인, 독점 가능성이 있는 CAD 또는 시뮬레이션 파일을 수집하지 않고 시스템에서 실행되는 시뮬레이션에 의해 생성된 익명의 CAD 및 시뮬레이션 메타데이터를 수집하여 특징 세트가 지속적으로 업데이트된다. 시스템에서 실행된 각각의 시뮬레이션으로부터의 메타데이터가 기록되고 데이터베이스에 추가된다. 기계 학습 모델은 예측 정확도를 개선하고 새로운 특징을 기반으로 하여 예측을 가능하게 하기 위해서 증가하는 모델 특징 데이터 세트를 사용하여 자주 재훈련된다. 또한 시뮬레이션 소프트웨어가 업데이트 및 업그레이드됨에 따라서, 시뮬레이션 시간과 메모리가 영향을 받을 수 있다. 제 3자 소프트웨어를 포함한 다양한 소프트웨어 구성요소의 버전 번호는 입력 특징 세트의 일부로서 저장 및 포함된다. 평가는 소프트웨어가 진화함에 따라 진화할 것이다.
특징 데이터 세트는 적어도 2 가지 유형의 데이터, 예를 들어 모델 지오메트리 메타데이터(202a) 및 시뮬레이션 메타데이터(202b)를 포함한다. 선택적으로, 특징 데이터 세트는 계산 환경 메타데이터(202c)를 더 포함한다. 특징 데이터 세트는 모델 지오메트리, 시뮬레이션 및 계산 환경 메타데이터로 한정되지 않고 다른 특징을 포함할 수 있음을 이해해야 한다. 모델 지오메트리 메타데이터(202a)는 메시 내의 요소 개수, 메시 내의 정점 개수, 모델의 표면 대 체적 비율, 최소 요소 크기, 메시 품질 메트릭, 요소 유형 및 요소 순서, 모델의 종횡비, 모델 내의 에지 개수, 모델 내의 표면 개수, 모델 내의 유한 체적 개수, 또는 모델 내의 제어 지점 개수를 포함할 수 있다. 위에서 언급한 바와 같이, 모델 지오메트리 메타데이터(202a)는 지오메트리, 메시, 또는 둘 다에 관련된 메타데이터를 포함할 수 있다. 위에 제공된 모델 지오메트리 메타데이터 예는 예시적인 모델 지오메트리 메타데이터(202a)로서만 제공된다는 것을 이해해야 한다. 본 개시는 본 명세서에서 설명된 기술과 함께 다른 유형의 모델 지오메트리 메타데이터를 사용하는 것을 고려한다. 선택적으로, 모델은 STEP 형식으로 저장된 모델과 같은 CAD 모델이다. STEP 파일은 예시적인 CAD 파일 유형으로만 제공된다는 점을 이해해야 한다. 본 개시는 다른 파일 유형이 사용될 수 있음을 고려한다. 몇몇 구현에서, 모델 지오메트리 메타데이터는 CAD 모델에서 추출된다. 메타데이터는 지오메트리를 포함하는 NURBS(Non-Uniform Rational B-Spline) 곡선 및 표면, 또는 몇몇 경우에 가장 작은 피쳐 크기, 가장 짧은 에지 길이, 부품 개수, 면 개수 및 모델의 체적을 포함한 메트릭을 얻기 위해서 점, 에지, 면 및 체적으로 구성된 이산적인 지오메트리를 분석하기 위한 지오메트릭 특징 검출을 포함하지만 이에 한정되지 않는 기술을 사용하여 지오메트리로부터 추출될 수 있다. 메타데이터는 정점 개수, 요소 개수, 요소 크기의 히스토그램, 최소 및 평균 요소 품질을 포함한 메트릭을 얻기 위해서 메시 분석을 통해 메시 모델로부터 추출될 수도 있다. 지오메트리 및/또는 메시로부터 메타데이터를 추출하는 기술은 당업계에 공지되어 있으므로 본 명세서에서 더 자세히 설명되지 않는다.
위에서 언급한 바와 같이, 특징 데이터 세트는 또한 시뮬레이션 메타데이터(202b)를 포함한다. 시뮬레이션 메타데이터는 분석 유형, 솔루션 도메인, 선형 솔버 유형, 프리컨디셔너(preconditioner), 시간 적분 방법, 공간 적분 방법, 비-선형성 정도, 비선형 솔버 옵션, 적응형 메시 미세 조정 수준의 유형 및 개수, 시간 스텝 크기 또는 주파수 계수, 경계 조건 자유도, 경계 조건 유형, 재료 모델 유형, 재료 특성, 코어의 개수, 및/또는 물리 특성 매개변수를 포함할 수 있다. 위의 시뮬레이션 메타데이터 예는 예시적인 시뮬레이션 메타데이터(202b)로서만 제공된다는 것을 이해해야 한다. 이러한 개시는 본 명세서에서 설명된 기술과 함께 다른 유형의 시뮬레이션 메타데이터를 사용하는 것을 고려한다.
위에서 언급한 바와 같이, 특징 데이터 세트는 선택적으로 계산 환경 메타데이터(202c)를 더 포함한다. 계산 환경 메타데이터는 하드웨어 정보, 프로세서 개수 및/또는 대역폭을 포함할 수 있다. 위의 계산 환경 메타데이터 예는 예시적인 계산 환경 메타데이터(202c)로서만 제공된다는 것을 이해해야 한다. 본 개시는 본 명세서에서 설명된 기술과 함께 다른 유형의 계산 환경 메타데이터를 사용하는 것을 고려한다.
위에서 설명된 바와 같이, 특징 데이터 세트(예를 들어, 모델 지오메트리 메타데이터(202a) 및 시뮬레이션 메타데이터(202b) 및 선택적으로 계산 환경 메타데이터(202c))는 기계 학습 모델(204)에 입력된다. 기계 학습 모델(204)은 심층 신경망, 컨볼루션 신경망, 그래디언트 부스트 결정 트리 또는 가우시안 프로세스 회귀분석일 수 있다. 위의 기계 학습 모델 예는 단지 예로서 제공된 것임을 이해해야 한다. 본 개시는 본 명세서에서 설명된 기술과 함께 다른 유형의 기계 학습 모델을 사용하는 것을 고려한다. 본 개시는 기계 학습 모델(204)이 당업계에 공지된 훈련 방법을 사용하여 모델 지오메트리 및 시뮬레이션 메타데이터를 포함하는 대규모 훈련 데이터 세트로 선택, 훈련 및 테스트될 수 있음을 고려한다. 일단 훈련되면, 기계 학습 모델(204)은 새로운 특징 데이터 세트에 기초하여 예측을 하기 위해서 추론 모드에서 사용될 수 있다.
예를 들어, 몇몇 구현에서, 기계 학습 모델(204)은 신경망이다. 인공 신경망(ANN)은 상호 연결된 신경(예를 들어, "노드(node)"로도 지칭됨)의 루프를 포함하는 컴퓨팅 시스템이다. 본 개시는 노드들이 컴퓨팅 장치(예를 들어, 본 명세서에서 설명된 바와 같은 프로세싱 유닛 및 메모리)를 사용하여 구현될 수 있음을 고려한다. 노드는 선택적으로, 입력 레이어, 출력 레이어 및 하나 이상의 은닉 레이어와 같은 복수의 레이어로 배열될 수 있다. 각각의 노드는 ANN에 있는 하나 이상의 다른 노드에 연결된다. 예를 들어, 각각의 레이어는 복수의 노드로 만들어지며, 각각의 노드는 이전 레이어의 모든 노드에 연결된다. 주어진 레이어의 노드는 서로 연결되지 않는다. 즉, 주어진 레이어의 노드는 서로 독립적으로 기능한다. 본 명세서에서 사용된 바와 같이, 입력 레이어의 노드는 ANN 외부로부터 데이터를 수신하고, 은닉 레이어의 노드는 입력과 출력 레이어 사이의 데이터를 수정하고, 출력 레이어의 노드는 결과를 제공한다. 각각의 노드는 입력을 수신하고 n 활성화 함수(예를 들어, 이진 단계, 선형, 시그모이드(sigmoid), tanH, 또는 정류 선형 유닛(ReLU) 함수)를 구현하고 활성화 기능에 따라 출력을 제공하도록 구성된다. 또한, 각각의 노드는 각각의 가중치와 연관된다. ANN은 ANN 성능의 척도인 비용 함수를 최소화하기 위해서 데이터 세트로 훈련된다. 훈련 알고리즘은 역전파를 포함되지만 이에 한정되지 않는다. 훈련 알고리즘은 노드 가중치 및/또는 편향을 조정하여 비용 함수를 최소화한다. 비용 함수의 최소값을 찾는 임의의 알고리즘은 ANN 훈련하는데 사용될 수 있음을 이해해야 한다.
신경망은 기계 학습 모델의 예로서만 제공된다는 점을 이해해야 한다. 본 개시는 기계 학습 모델이 임의의 지도 학습 모델, 반-지도 학습 모델 또는 비-지도 학습 모델일 수 있음을 고려한다. 선택적으로, 기계 학습 모델은 딥 러닝 모델, 예를 들어 CNN(컨볼루션 신경망)이다. CNN은 예를 들어, 이미지 분석 애플리케이션에 적용된 일종의 심층 신경망이다. 기존의 신경망과 달리, CNN의 각각의 레이어는 3 차원(폭, 높이, 깊이)으로 배열된 복수의 노드를 가진다. CNN은 다양한 유형의 레이어, 예를 들어 컨볼루션, 풀링, 및 완전 연결("조밀한 연결"로도 지칭됨) 레이어를 포함할 수 있다. 컨볼루션 레이어는 필터 세트를 포함하고 대부분의 계산을 수행한다. 풀링 레이어는 선택적으로, 컨볼루션 레이어 사이에 삽입되어 계산 능력을 줄이고/줄이거나 오버피팅(예를 들어, 다운샘플링)을 제어한다. 완전 연결 레이어는 신경을 포함하며, 각각의 신경은 이전 레이어의 모든 신경에 연결된다. 레이어는 기존 신경망과 유사하게 적층된다. 기계 학습 모델은 당업계에 공지되어 있으므로 본 명세서에서 더 자세히 설명되지 않는다.
블록(206)에서, 시뮬레이션 프로세스에 대한 계산 비용 특성(206a)은 기계 학습 모델(204)을 사용하여 예측된다. 다시 말해, 계산 비용 특성(206a)은 기계 학습 모델(204)의 타겟이다. 기계 학습 모델(204)은 시뮬레이션 프로세스가 시작되기 전에, 즉 시뮬레이션 프로세스의 사전 지식에 기초하여 계산 비용 특성(206a)을 예측한다. 몇몇 구현에서, 계산 비용 특성(206a)은 시뮬레이션 프로세스를 위한 메모리 사용량, 및/또는 시간이다. 선택적으로, 시뮬레이션 프로세스 시간에 적어도 부분적으로 기초하여 코어 시간 수가 추정된다. 대안적으로 또는 추가적으로, 계산 비용 특성(206a)은 메싱에 필요한 시간, 전처리에 필요한 시간, 해법에 필요한 시간, 후처리에 필요한 시간, 및/또는 시뮬레이션 프로세스에 필요한 시간이다. 몇몇 구현에서, 계산 비용 특성(206a)은 전체 시뮬레이션 프로세스에 대한 시간인 반면에, 다른 구현에서 계산 비용 특성(206a)은 시뮬레이션 프로세스의 일부분에 대한 시간이다. 예를 들어, 시뮬레이션 프로세스는 전처리, 메싱, 시뮬레이션 및 후처리 단계를 포함할 수 있다. 전처리, 메싱, 시뮬레이션 및 후처리 단계는 시뮬레이션 프로세스의 예시적인 부분 또는 단계로서만 제공된다는 것을 이해해야 한다. 본 개시는 시뮬레이션 프로세스가 다른 부분 또는 단계를 포함할 수 있음을 고려한다. 따라서, 기계 학습 모델(204)에 의해 추정된 계산 비용 특성(206a)은 전처리 연산에 필요한 시간, 메싱 연산에 필요한 시간, 시뮬레이션 실행 시간, 후처리 연산에 필요한 시간, 또는 시뮬레이션 프로세스의 둘 이상의 단계에 대한 시간의 합일 수 있다. 위의 특징은 예시적인 계산 비용 특성(206a)으로서만 제공된다는 것을 이해해야 한다. 본 개시는 본 명세서에서 설명된 기술을 사용하여 다른 유형의 계산 비용 특성을 예측하는 것을 고려한다.
선택적으로, 몇몇 구현에서, 기계 학습 모델(204)은 시뮬레이션 프로세스에 대한 복수의 계산 비용 특성을 예측하며, 여기서 시뮬레이션 프로세스에 대한 각각의 계산 비용 특성은 컴퓨팅 리소스 및/또는 솔버 옵션의 상이한 세트에 기반한다. 계산 비용 특성은 컴퓨팅 리소스 및/또는 솔버 옵션에 따라 달라질 것으로 예상된다는 점을 이해해야 한다. 기계 학습 모델(204)에 의해 예측된 복수의 계산 비용 특성은 선택적으로, 이해 당사자(예를 들어, 사용자, 고객 등)에 의해 전송 및/또는 표시될 수 있다. 다중 예측을 제공하면 이해 당사자에게 유용한 정보, 예를 들어, 의사 결정을 알리는데 사용된 정보를 제공한다는 점을 또한 이해해야 한다. 예를 들어, 블록(206)에서의 예측은 프로세서의 수를 증가시키는 것이 처음에 이득을 증가시키지만, 그 다음에는 이득이 안정기에 도달하기 시작한다는 것(예를 들어, 이득 곡선이 점근선(예를 들어, 이득 곡선이 점근선(asymptotic)임)을 보여줄 수 있다. 이러한 예에서, 이해 당사자는 애플리케이션에 원하는 이득을 제공하는 컴퓨팅 리소스를 선택할 수 있다.
선택적으로, 몇몇 구현에서, 특징 데이터 세트를 기계 학습 모델에 입력하는 단계는 모델 지오메트리 메타데이터를 제 1 기계 학습 모델(예를 들어, 도 1에 도시된 CNN(102))에 입력하고 시뮬레이션 메타데이터를 제 2 기계 학습 모델(예를 들어, 도 1에 도시된 신경 망각 의사결정 트리 및 완전-연결된 신경망(106))에 입력하는 것을 포함한다. 이들 구현에서, 고정된-차원 표시 벡터(예를 들어, 도 1에 도시된 벡터(105))는 제 1 및 제 2 기계 학습 모델의 각각의 출력으로부터 생성되고, 고정된-차원 표시 벡터는 시뮬레이션에 대한 계산 비용 특성을 예측하기 위해서 분석된다. 선택적으로, 시뮬레이션을 위한 계산 비용 특성을 예측하기 위해서 고정된-차원 표시 벡터를 분석하는 단계는 회귀 분석을 수행하는 단계를 포함한다.
다양한 도면과 다양한 도면과 관련하여 설명된 논리 연산은 (1) 컴퓨팅 장치(예를 들어, 도 3에서 설명된 컴퓨팅 장치)에서 실행되는 컴퓨터 구현 행위 또는 프로그램 모듈(즉, 소프트웨어)의 시퀀스로서, (2) 컴퓨팅 장치 내의 상호 연결된 기계 논리 회로 또는 회로 모듈(즉, 하드웨어)로서, 및/또는 (3) 컴퓨팅 장치의 소프트웨어와 하드웨어의 조합으로서 구현될 수 있음을 이해해야 한다. 따라서, 본 명세서에서 논의된 논리 연산은 하드웨어와 소프트웨어의 임의의 특정 조합에 제한되지 않는다. 구현은 컴퓨팅 장치의 성능 및 기타 요구 사항에 따른 선택의 문제이다. 따라서, 본 명세서에서 설명된 논리 연산은 연산, 구조적 장치, 행위 또는 모듈로 다양하게 지칭된다. 이들 연산, 구조적 장치, 행위 및 모듈은 소프트웨어, 펌웨어, 특수 목적 디지털 논리 및 이들의 임의의 조합으로 구현될 수 있다. 도면에 도시되고 본 명세서에서 설명된 것보다 더 많거나 더 적은 연산이 수행될 수 있음을 또한 이해해야 한다. 이들 연산은 본 명세서에서 설명된 것과 상이한 순서로 수행될 수도 있다.
도 3을 참조하면, 본 명세서에서 설명된 방법이 구현될 수 있는 예시적인 컴퓨팅 장치(300)가 예시된다. 예시적인 컴퓨팅 장치(300)는 본 명세서에서 설명된 방법이 구현될 수 있는 적합한 계산 환경의 단지 하나의 예일 뿐이라는 것을 이해해야 한다. 선택적으로, 컴퓨팅 장치(300)는 개인용 컴퓨터, 서버, 휴대용 또는 랩톱 장치, 다중 프로세서 시스템, 마이크로프로세서 기반 시스템, 네트워크 개인용 컴퓨터(PC), 미니컴퓨터, 메인프레임 컴퓨터, 임베디드 시스템(embedded system), 및/또는 복수의 임의의 위의 시스템 또는 장치를 포함하는 분산 계산 환경을 포함하지만, 이에 한정되지 않는 주지된 컴퓨팅 시스템일 수 있다. 분산 계산 환경은 통신망이나 다른 데이터 전송 매체에 연결된 원격 컴퓨팅 장치가 다양한 연산을 수행할 수 있게 한다. 분산 계산 환경에서, 프로그램 모듈, 애플리케이션 및 기타 데이터는 근거리 및/또는 원격 컴퓨터 저장 매체에 저장될 수 있다.
가장 기본적인 구성에서, 컴퓨팅 장치(300)는 전형적으로, 적어도 하나의 프로세싱 유닛(306) 및 시스템 메모리(304)를 포함한다. 컴퓨팅 장치의 정확한 구성 및 유형에 따라서, 시스템 메모리(304)는 휘발성(예컨대, 랜덤 액세스 메모리(RAM)), 비-휘발성(예컨대, 읽기 전용 메모리(ROM), 플래시 메모리 등), 또는 둘의 몇몇 조합일 수 있다. 이러한 가장 기본적인 구성은 도 3에 점선(302)으로 예시된다. 프로세싱 유닛(306)은 컴퓨팅 장치(300)의 연산에 필요한 산술 및 논리 연산을 수행하는 표준 프로그램 가능 프로세서일 수 있다. 컴퓨팅 장치(300)는 또한, 컴퓨팅 장치(300)의 다양한 구성요소들 사이에서 정보를 통신하기 위한 버스 또는 다른 통신 메커니즘을 포함할 수 있다.
컴퓨팅 장치(300)는 추가의 특징/기능을 가질 수 있다. 예를 들어, 컴퓨팅 장치(300)는 자기 또는 광학 디스크 또는 테이프를 포함하지만 이에 한정되지 않는 착탈식 저장 장치(308) 및 비-착탈식 저장 장치(310)와 같은 추가 저장 장치를 포함할 수 있다. 컴퓨팅 장치(300)는 또한, 장치가 다른 장치와 통신하게 하는 네트워크 연결부(들)(316)를 포함할 수 있다. 컴퓨팅 장치(300)는 또한 키보드, 마우스, 터치 스크린 등과 같은 입력 장치(들)(314)를 가질 수 있다. 디스플레이, 스피커, 프린터 등과 같은 출력 장치(들)(312)도 포함될 수 있다. 컴퓨팅 장치(300)의 구성요소들 사이의 데이터 통신을 용이하게 하기 위해서 추가 장치가 버스에 연결될 수 있다. 이들 모든 장치는 당업계에 주지되어 있으며 본 명세서에서 길게 논의할 필요는 없다.
프로세싱 유닛(306)은 유형의 컴퓨터 판독 가능 매체에 인코딩된 프로그램 코드를 실행하도록 구성될 수 있다. 유형의 컴퓨터 판독 가능 매체는 컴퓨팅 장치(300)(즉, 기계)가 특정 방식으로 작동하게 하는 데이터를 제공할 수 있는 임의의 매체를 의미한다. 다양한 컴퓨터 판독 가능 매체가 실행을 위해서 프로세싱 유닛(306)에 명령을 제공하는데 이용될 수 있다. 예시적인 유형의 컴퓨터 판독 가능 기록 매체는 휘발성 매체, 비-휘발성 매체, 컴퓨터 판독 가능 명령, 데이터 구조, 프로그램 모듈 또는 기타 데이터와 같은 정보를 저장하기 위한 임의의 방법 또는 기술에서 구현되는 착탈식 매체 및 비-착탈식 매체를 포함하지만, 이에 한정되지 않는다. 시스템 메모리(304), 착탈식 저장 장치(308) 및 비-착탈식 저장 장치(310)는 모두 유형의 컴퓨터 저장 매체의 예이다. 유형의 컴퓨터 판독 가능한 기록 매체의 예는 집적 회로(예를 들어, 현장 프로그래밍 가능한 게이트 어레이 또는 응용 주문형 집적 회로), 하드 디스크, 광 디스크, 광자기 디스크, 플로피 디스크, 자기 테이프, 홀로그램 저장 매체, 솔리드 스테이트 장치, RAM, ROM, 전기적으로 소거 가능 프로그램 읽기 전용 메모리(EEPROM), 플래시 메모리 또는 기타 메모리 기술, CD-ROM, 디지털 다목적 디스크(DVD) 또는 기타 광학 저장 장치, 자기 카세트, 자기 테이프, 자기 디스크 저장 장치 또는 기타 자기 저장 장치를 포함하지만 이에 한정되지 않는다.
예시적인 구현에서, 프로세싱 유닛(306)은 시스템 메모리(304)에 저장된 프로그램 코드를 실행할 수 있다. 예를 들어, 버스는 시스템 메모리(304)로 데이터를 전달할 수 있고, 그로부터 프로세싱 유닛(306)은 명령어를 수신하고 실행한다. 시스템 메모리(304)에 의해 수신된 데이터는 선택적으로, 프로세싱 유닛(306)에 의한 실행 전 또는 후에 착탈식 저장장치(308) 또는 비-착탈식 저장장치(310)에 저장될 수 있다.
본 명세서에서 설명된 다양한 기술은 하드웨어 또는 소프트웨어와 관련하여, 또는 적절한 경우 이들의 조합으로 구현될 수 있음을 이해해야 한다. 따라서, 현재 개시된 방법 및 장치, 또는 그 특정 양태 또는 부분은 플로피 디스켓, CD-ROM, 하드 드라이브, 또는 프로그램 코드가 컴퓨팅 장치와 같은 기계에 로딩되어 실행될 때 기계가 현재 개시된 요지를 실행하기 위한 장치가 되는 임의의 다른 기계 판독 가능 저장 매체와 같은 유형 매체에 구현된 프로그램 코드(즉, 명령어)의 형태를 취할 수 있다. 프로그램 가능한 컴퓨터에서 프로그램 코드 실행의 경우, 컴퓨팅 장치는 일반적으로 프로세서, 프로세서에 의해 판독 가능한 저장 매체(휘발성 및 비-휘발성 메모리 및/또는 저장 요소를 포함), 적어도 하나의 입력 장치, 및 적어도 하나의 출력 장치를 포함한다. 하나 이상의 프로그램은 예를 들어, 애플리케이션 프로그래밍 인터페이스(API), 재사용 가능한 제어장치 등의 사용을 통해 현재 개시된 요지와 관련하여 설명된 프로세스를 구현하거나 활용할 수 있다. 그러한 프로그램은 컴퓨터 시스템과 통신하기 위해서 높은 수준의 절차적 또는 객체 지향적 프로그래밍 언어로 구현될 수 있다. 그러나 프로그램(들)은 원하는 경우 어셈블리 또는 기계어로 구현될 수 있다. 어떤 경우든, 언어는 컴파일되거나 해석된 언어일 수 있으며 하드웨어 구현과 조합될 수 있다.
요지가 구조적 특징 및/또는 방법론적 행위에 특정한 언어로 설명되었지만, 첨부된 청구범위에 정의된 요지가 반드시 위에서 설명된 특정 특징 또는 행위로 한정되지 않는다는 것을 이해해야 한다. 오히려, 위에서 설명된 특정 특징 및 행위는 청구범위를 구현하는 예시적인 형태로서 개시된다.

Claims (55)

  1. 시뮬레이션의 계산 비용을 추정하기 위한 컴퓨터 구현 방법(computer-implemented method)으로서,
    모델 지오메트리 메타데이터(model geometry metadata) 및 시뮬레이션(simulation) 메타데이터를 포함하는 특징 데이터 세트(feature data set)를 기계 학습 모델에 입력하는 단계; 및
    기계 학습 모델을 사용하여, 시뮬레이션 프로세스(process)에 대한 계산 비용 특성(characteristic)을 예측하는 단계를 포함하는,
    시뮬레이션의 계산 비용을 추정하기 위한 컴퓨터 구현 방법.
  2. 제 1 항에 있어서,
    시뮬레이션 프로세스를 수행하기 전에 계산 비용 특성이 예측되는,
    시뮬레이션의 계산 비용을 추정하기 위한 컴퓨터 구현 방법.
  3. 제 1 항 또는 제 2 항에 있어서,
    모델 지오메트리 메타데이터는 메시(mesh) 내의 요소 개수, 메시 내의 정점 개수, 모델의 표면 대 체적 비율, 최소 요소 크기, 메시 품질 메트릭(mesh quality metric), 요소 유형 및 요소 순서, 모델의 종횡비, 모델 내의 에지(edge) 개수, 모델 내의 표면 개수, 모델 내의 유한 체적 개수, 또는 모델 내의 제어 지점 개수 중 적어도 하나를 포함하는,
    시뮬레이션의 계산 비용을 추정하기 위한 컴퓨터 구현 방법.
  4. 제 3 항에 있어서,
    모델은 컴퓨터-보조 설계(computer-aided design; CAD) 모델인,
    시뮬레이션의 계산 비용을 추정하기 위한 컴퓨터 구현 방법.
  5. 제 4 항에 있어서,
    CAD 모델로부터 모델 지오메트리 메타데이터를 추출하는 단계를 더 포함하는,
    시뮬레이션의 계산 비용을 추정하기 위한 컴퓨터 구현 방법.
  6. 제 1 항 내지 제 5 항 중 어느 한 항에 있어서,
    시뮬레이션 메타데이터는 분석 유형, 솔루션 도메인, 선형 솔버 유형(linear solver type), 프리컨디셔너(preconditioner), 시간 적분 방법, 공간 적분 방법, 비-선형성 정도, 비-선형 솔버 옵션, 적응형 메시 미세화 수준의 유형 및 개수, 주파수의 시간 스텝(step) 크기 또는 개수, 경계 조건 자유도, 경계 조건 유형, 재료 모델 유형, 재료 특성(material property), 코어(core)의 개수, 또는 물리학- 특정 매개변수 중 적어도 하나를 포함하는,
    시뮬레이션의 계산 비용을 추정하기 위한 컴퓨터 구현 방법.
  7. 제 1 항 내지 제 6 항 중 어느 한 항에 있어서,
    계산 비용 특성은 시뮬레이션 프로세스를 위한 메모리 사용량, 또는 시간 중 적어도 하나인,
    시뮬레이션의 계산 비용을 추정하기 위한 컴퓨터 구현 방법.
  8. 제 7 항에 있어서,
    계산 비용 특성은 시뮬레이션 프로세스의 일부분에 대한 시간인,
    시뮬레이션의 계산 비용을 추정하기 위한 컴퓨터 구현 방법.
  9. 제 7 항에 있어서,
    시뮬레이션 프로세스를 위한 시간에 적어도 부분적으로 기초하여 코어 시간의 개수를 추정하는 단계를 더 포함하는,
    시뮬레이션의 계산 비용을 추정하기 위한 컴퓨터 구현 방법.
  10. 제 1 항 내지 제 6 항 중 어느 한 항에 있어서,
    계산 비용 특성은 메싱(meshing)에 필요한 시간, 전처리에 필요한 시간, 해법(solve)에 필요한 시간, 후처리에 필요한 시간, 또는 시뮬레이션 프로세스에 필요한 시간 중 적어도 하나인,
    시뮬레이션의 계산 비용을 추정하기 위한 컴퓨터 구현 방법.
  11. 제 1 항 내지 제 10 항 중 어느 한 항에 있어서,
    기계 학습 모델을 사용하여, 시뮬레이션 프로세스에 대한 계산 비용 특성을 예측하는 단계는 시뮬레이션 프로세스에 대한 복수의 계산 비용 특성을 포함하며, 시뮬레이션 프로세스에 대한 각각의 계산 비용 특성은 상이한 세트의 컴퓨팅 리소스 및/또는 솔버 옵션에 기반하는,
    시뮬레이션의 계산 비용을 추정하기 위한 컴퓨터 구현 방법.
  12. 제 1 항 내지 제 11 항 중 어느 한 항에 있어서,
    기계 학습 모델은 심층 신경망(deep neural network), 컨볼루션 신경망(convolutional neural network), 그래디언트 부스트 결정 트리(gradient boosted decision tree), 또는 가우시안 프로세스 회귀분석(Gaussian process regression)인,
    시뮬레이션의 계산 비용을 추정하기 위한 컴퓨터 구현 방법.
  13. 제 1 항 내지 제 12 항 중 어느 한 항에 있어서,
    특징 데이터 세트는 계산 환경 메타데이터를 더 포함하는,
    시뮬레이션의 계산 비용을 추정하기 위한 컴퓨터 구현 방법.
  14. 제 1 항 내지 제 13 항 중 어느 한 항에 있어서,
    특징 데이터 세트를 결정하는 단계를 더 포함하는,
    시뮬레이션의 계산 비용을 추정하기 위한 컴퓨터 구현 방법.
  15. 제 14 항에 있어서,
    특징 데이터 세트를 결정하는 단계는:
    초기 시뮬레이션 데이터 세트를 획득하기 위해서 복수의 시뮬레이션을 수행하는 단계;
    모델 특징 데이터 세트를 생성하기 위해서 모델 지오메트리 메타데이터, 시뮬레이션 메타데이터, 계산 환경 메타데이터, 또는 이들의 조합을 포함하는 하나 이상의 유형의 메타데이터를 초기 시뮬레이션 데이터 세트로부터 선택하는 단계; 및
    모델 특징 데이터 세트를 사용하여 기계 학습 모델을 훈련하고 테스팅하는 단계를 포함하는,
    시뮬레이션의 계산 비용을 추정하기 위한 컴퓨터 구현 방법.
  16. 제 15 항에 있어서,
    하나 이상의 부가적인 시뮬레이션을 수행하는 단계;
    하나 이상의 부가적인 시뮬레이션으로부터의 메타데이터로 모델 특징 데이터 세트를 보완하는 단계; 및
    보완된 모델 특징 데이터 세트를 사용하여 기계 학습 모델을 훈련하고 테스팅하는 단계를 더 포함하는,
    시뮬레이션의 계산 비용을 추정하기 위한 컴퓨터 구현 방법.
  17. 제 15 항 또는 제 16 항에 있어서,
    기계 학습 모델을 훈련하고 테스팅하는 단계는 반복적으로 수행되는,
    시뮬레이션의 계산 비용을 추정하기 위한 컴퓨터 구현 방법.
  18. 제 1 항 내지 제 17 항 중 어느 한 항에 있어서,
    특징 데이터 세트를 기계 학습 모델에 입력하는 단계는:
    모델 지오메트리 메타데이터를 제 1 기계 학습 모델에 입력하는 단계; 및
    시뮬레이션 메타데이터를 제 2 기계 학습 모델에 입력하는 단계를 포함하는,
    시뮬레이션의 계산 비용을 추정하기 위한 컴퓨터 구현 방법.
  19. 제 18 항에 있어서,
    제 1 및 제 2 기계 학습 모델의 각각의 출력으로부터 고정된-차원 표시 벡터(fixed-dimensional representation vector)를 생성하는 단계; 및
    시뮬레이션 프로세스에 대한 계산 비용 특성을 예측하기 위해서 고정된-차원 표시 벡터를 분석하는 단계를 더 포함하는,
    시뮬레이션의 계산 비용을 추정하기 위한 컴퓨터 구현 방법.
  20. 제 19 항에 있어서,
    시뮬레이션 프로세스에 대한 계산 비용 특성을 예측하기 위해서 고정된-차원 표시 벡터를 분석하는 단계는 회귀 분석(regression analysis)을 수행하는 단계를 포함하는,
    시뮬레이션의 계산 비용을 추정하기 위한 컴퓨터 구현 방법.
  21. 시뮬레이션의 계산 비용을 추정하기 위한 시스템으로서,
    기계 학습 모델; 및
    프로세서와 메모리를 포함하는 컴퓨팅 장치(computing device)를 포함하며, 상기 메모리는, 프로세서에 의해 실행될 때, 상기 프로세서가:
    모델 지오메트리 메타데이터 및 시뮬레이션 메타데이터를 포함하는 특징 데이터 세트를 기계 학습 모델에 입력하게 하고, 그리고
    기계 학습 모델을 사용하여, 시뮬레이션 프로세스에 대한 계산 비용 특성을 예측하게 하는 메모리에 저장된 컴퓨터-실행 가능 명령어를 가지는,
    시뮬레이션의 계산 비용을 추정하기 위한 시스템.
  22. 제 21 항에 있어서,
    시뮬레이션 프로세스를 수행하기 전에 계산 비용 특성이 예측되는,
    시뮬레이션의 계산 비용을 추정하기 위한 시스템.
  23. 제 21 항 또는 제 22 항에 있어서,
    모델 지오메트리 메타데이터는 메시 내의 요소 개수, 메시 내의 정점 개수, 모델의 표면 대 체적 비율, 최소 요소 크기, 메시 품질 메트릭, 요소 유형 및 요소 순서, 모델의 종횡비, 모델 내의 에지 개수, 모델 내의 표면 개수, 모델 내의 유한 체적 개수, 또는 모델 내의 제어 지점 개수 중 적어도 하나를 포함하는,
    시뮬레이션의 계산 비용을 추정하기 위한 시스템.
  24. 제 23 항에 있어서,
    모델은 컴퓨터-보조 설계(CAD) 모델인,
    시뮬레이션의 계산 비용을 추정하기 위한 시스템.
  25. 제 24 항에 있어서,
    메모리는, 프로세서에 의해 실행될 때, 프로세서가 CAD 모델로부터 모델 지오메트리 메타데이터를 추출하게 하는 메모리에 저장된 추가의 컴퓨터-실행 가능 명령어를 가지는,
    시뮬레이션의 계산 비용을 추정하기 위한 시스템.
  26. 제 21 항 내지 제 25 항 중 어느 한 항에 있어서,
    시뮬레이션 메타데이터는 분석 유형, 솔루션 도메인, 선형 솔버 유형, 프리컨디셔너, 시간 적분 방법, 공간 적분 방법, 비-선형성 정도, 비-선형 솔버 옵션, 적응형 메시 미세화 수준의 유형 및 개수, 주파수의 시간 스텝 크기 또는 개수, 경계 조건 자유도, 경계 조건 유형, 재료 모델 유형, 재료 특성, 코어의 개수, 또는 물리학- 특정 매개변수 중 적어도 하나를 포함하는,
    시뮬레이션의 계산 비용을 추정하기 위한 시스템.
  27. 제 21 항 내지 제 26 항 중 어느 한 항에 있어서,
    계산 비용 특성은 시뮬레이션 프로세스를 위한 메모리 사용량, 또는 시간 중 적어도 하나인,
    시뮬레이션의 계산 비용을 추정하기 위한 시스템.
  28. 제 27 항에 있어서,
    계산 비용 특성은 시뮬레이션 프로세스의 일부분에 대한 시간인,
    시뮬레이션의 계산 비용을 추정하기 위한 시스템.
  29. 제 27 항에 있어서,
    메모리는, 프로세서에 의해 실행될 때, 시뮬레이션 프로세스를 위한 시간에 적어도 부분적으로 기초하여 프로세서가 코어 시간의 개수를 추정하게 하는 메모리에 저장된 추가의 컴퓨터-실행 가능 명령어를 가지는,
    시뮬레이션의 계산 비용을 추정하기 위한 시스템.
  30. 제 21 항 내지 제 26 항 중 어느 한 항에 있어서,
    계산 비용 특성은 메싱에 필요한 시간, 전처리에 필요한 시간, 해법에 필요한 시간, 후처리에 필요한 시간, 또는 시뮬레이션 프로세스에 필요한 시간 중 적어도 하나인,
    시뮬레이션의 계산 비용을 추정하기 위한 시스템.
  31. 제 21 항 내지 제 30 항 중 어느 한 항에 있어서,
    기계 학습 모델을 사용하여, 시뮬레이션 프로세스에 대한 계산 비용 특성을 예측하게 하는 것은 시뮬레이션 프로세스에 대한 복수의 계산 비용 특성을 포함하며, 시뮬레이션 프로세스에 대한 각각의 계산 비용 특성은 상이한 세트의 컴퓨팅 리소스(resource) 및/또는 솔버 옵션에 기초하는,
    시뮬레이션의 계산 비용을 추정하기 위한 시스템.
  32. 제 21 항 내지 제 31 항 중 어느 한 항에 있어서,
    기계 학습 모델은 심층 신경망, 컨볼루션 신경망, 그래디언트 부스트 결정 트리, 또는 가우시안 프로세스 회귀분석인,
    시뮬레이션의 계산 비용을 추정하기 위한 시스템.
  33. 제 21 항 내지 제 32 항 중 어느 한 항에 있어서,
    특징 데이터 세트는 계산 환경 메타데이터를 더 포함하는,
    시뮬레이션의 계산 비용을 추정하기 위한 시스템.
  34. 제 21 항 내지 제 33 항 중 어느 한 항에 있어서,
    메모리는, 프로세서에 의해 실행될 때, 프로세서가 특징 데이터 세트를 결정하게 하는 메모리에 저장된 추가의 컴퓨터-실행 가능 명령어를 가지는,
    시뮬레이션의 계산 비용을 추정하기 위한 시스템.
  35. 제 34 항에 있어서,
    특징 데이터 세트를 결정하는 것은:
    초기 시뮬레이션 데이터 세트를 획득하기 위해서 복수의 시뮬레이션을 수행하는 것;
    모델 특징 데이터 세트를 생성하기 위해서 모델 지오메트리 메타데이터, 시뮬레이션 메타데이터, 계산 환경 메타데이터, 또는 이들의 조합을 포함하는 하나 이상의 유형의 메타데이터를 초기 시뮬레이션 데이터 세트로부터 선택하는 것; 및
    모델 특징 데이터 세트를 사용하여 기계 학습 모델을 훈련하고 테스팅하는 것을 포함하는,
    시뮬레이션의 계산 비용을 추정하기 위한 시스템.
  36. 제 35 항에 있어서,
    메모리는, 프로세서에 의해 실행될 때, 프로세서가:
    하나 이상의 부가적인 시뮬레이션을 수행하게 하고;
    하나 이상의 부가적인 시뮬레이션으로부터의 메타데이터로 모델 특징 데이터 세트를 보완하게 하고; 그리고
    보완된 모델 특징 데이터 세트를 사용하여 기계 학습 모델을 훈련하고 테스팅하게 하는 메모리에 저장된 추가의 컴퓨터-실행 가능 명령어를 가지는,
    시뮬레이션의 계산 비용을 추정하기 위한 시스템.
  37. 제 35 항 또는 제 36 항에 있어서,
    기계 학습 모델을 훈련하고 테스팅하는 단계는 반복적으로 수행되는,
    시뮬레이션의 계산 비용을 추정하기 위한 시스템.
  38. 제 21 항 내지 제 37 항 중 어느 한 항에 있어서,
    특징 데이터 세트를 기계 학습 모델에 입력하는 단계는:
    모델 지오메트리 메타데이터를 제 1 기계 학습 모델에 입력하게 하는 것; 및
    시뮬레이션 메타데이터를 제 2 기계 학습 모델에 입력하게 하는 것을 포함하는,
    시뮬레이션의 계산 비용을 추정하기 위한 시스템.
  39. 제 38 항에 있어서,
    메모리는, 프로세서에 의해 실행될 때, 프로세서가:
    제 1 및 제 2 기계 학습 모델의 각각의 출력으로부터 고정된-차원 표시 벡터를 생성하게 하고; 그리고
    시뮬레이션 프로세스에 대한 계산 비용 특성을 예측하기 위해서 고정된-차원 표시 벡터를 분석하게 하는 메모리에 저장된 추가의 컴퓨터-실행 가능 명령어를 가지는,
    시뮬레이션의 계산 비용을 추정하기 위한 시스템.
  40. 제 39 항에 있어서,
    시뮬레이션 프로세스에 대한 계산 비용 특성을 예측하기 위해서 고정된-차원 표시 벡터를 분석하는 단계는 회귀 분석을 수행하는 것을 포함하는,
    시뮬레이션의 계산 비용을 추정하기 위한 시스템.
  41. 유한 요소 분석(finite element analysis; FEA) 시뮬레이션의 계산 비용을 추정하기 위한 컴퓨터 구현 방법으로서,
    컴퓨터-보조 설계(CAD) 모델을 포함하는 제 1 데이터 세트를 수신하는 단계;
    제 1 데이터 세트를 제 1 기계 학습 모델에 입력하는 단계;
    제 1 데이터 세트를 처리하기 위해서 제 1 기계 학습 모델을 사용하여 모델 지오메트리 데이터 세트를 추출하는 단계;
    CAD 모델과 연관된 메타데이터를 포함하는 제 2 데이터 세트를 수신하는 단계;
    제 2 데이터 세트를 제 2 기계 학습 모델에 입력하는 단계;
    제 2 데이터 세트를 처리하기 위해서 제 2 기계 학습 모델을 사용하여 시뮬레이션 메타데이터 세트를 추출하는 단계;
    모델 지오메트리 및 시뮬레이션 메타데이터 세트로부터 고정된-차원 표시 벡터를 생성하는 단계; 및
    FEA 시뮬레이션을 위한 타겟 매개변수(target parameter)를 결정하기 위해서 고정된-차원 표시 벡터를 분석하는 단계를 포함하는,
    유한 요소 분석 시뮬레이션의 계산 비용을 추정하기 위한 컴퓨터 구현 방법.
  42. 제 41 항에 있어서,
    고정된-차원 표시 벡터를 분석하는 단계는:
    고정된-차원 표시 벡터를 헤드 네트워크(head network)에 입력하는 단계; 및
    고정된-차원 표시 벡터를 처리하기 위해서 헤드 네트워크를 사용하여 FEA 시뮬레이션을 위한 타겟 매개변수를 추출하는 단계를 포함하는,
    유한 요소 분석 시뮬레이션의 계산 비용을 추정하기 위한 컴퓨터 구현 방법.
  43. 제 42 항에 있어서,
    헤드 네트워크는 FEA 시뮬레이션을 위한 타겟 매개변수를 결정하기 위해서 회귀를 수행하도록 구성되는,
    유한 요소 분석 시뮬레이션의 계산 비용을 추정하기 위한 컴퓨터 구현 방법.
  44. 제 41 항 내지 제 43 항 중 어느 한 항에 있어서,
    타겟 매개변수는 FEA 시뮬레이션을 위한 메모리 사용량 또는 시뮬레이션 실행 시간 중 적어도 하나인,
    유한 요소 분석 시뮬레이션의 계산 비용을 추정하기 위한 컴퓨터 구현 방법.
  45. 제 44 항에 있어서,
    시뮬레이션 실행 시간에 적어도 부분적으로 기초하여 코어 시간의 개수를 추정하는 단계를 더 포함하는,
    유한 요소 분석 시뮬레이션의 계산 비용을 추정하기 위한 컴퓨터 구현 방법.
  46. 제 41 항 내지 제 45 항 중 어느 한 항에 있어서,
    CAD 모델과 연관된 메타데이터는 CAD 모델의 메시에서의 시간 반복, 재료 특성, 코어 개수, 물리학-특정 매개변수 또는 요소 개수 중 적어도 하나를 포함하는,
    유한 요소 분석 시뮬레이션의 계산 비용을 추정하기 위한 컴퓨터 구현 방법.
  47. 제 41 항 내지 제 46 항 중 어느 한 항에 있어서,
    CAD 모델과 연관된 메타데이터는 이산화(discretizing)되거나 연속적인,
    유한 요소 분석 시뮬레이션의 계산 비용을 추정하기 위한 컴퓨터 구현 방법.
  48. 제 41 항 내지 제 47 항 중 어느 한 항에 있어서,
    제 1 기계 학습 모델은 컨볼루션 신경망인,
    유한 요소 분석 시뮬레이션의 계산 비용을 추정하기 위한 컴퓨터 구현 방법.
  49. 제 41 항 내지 제 48 항 중 어느 한 항에 있어서,
    제 2 기계 학습 모델은 신경 망각 의사결정 트리(neural oblivious decision tree) 및 완전-연결된 신경망의 조합인,
    유한 요소 분석 시뮬레이션의 계산 비용을 추정하기 위한 컴퓨터 구현 방법.
  50. 제 41 항 내지 제 49 항 중 어느 한 항에 있어서,
    CAD 모델은 공간 모델 지오메트리를 포함하는,
    유한 요소 분석 시뮬레이션의 계산 비용을 추정하기 위한 컴퓨터 구현 방법.
  51. 제 50 항에 있어서,
    공간 모델 지오메트리는 복수의 이산 셀(discrete cell)로 나누어지는,
    유한 요소 분석 시뮬레이션의 계산 비용을 추정하기 위한 컴퓨터 구현 방법.
  52. 제 50 항에 있어서,
    공간 모델 지오메트리를 포인트 클라우드(point cloud)로 추출하는 단계를 더 포함하며, 제 1 데이터 세트를 제 1 기계 학습 모델에 입력하는 단계는 포인트 클라우드를 제 1 기계 학습 모델에 입력하는 단계를 포함하는,
    유한 요소 분석 시뮬레이션의 계산 비용을 추정하기 위한 컴퓨터 구현 방법.
  53. 제 52 항에 있어서,
    포인트 클라우드는 이산 셀의 각각의 정점을 포함하는,
    유한 요소 분석 시뮬레이션의 계산 비용을 추정하기 위한 컴퓨터 구현 방법.
  54. 제 52 항 또는 제 53 항에 있어서,
    포인트 클라우드는 적어도 보간된 물리적 값, 리-샘플링된(re-sampled) 물리적 값 또는 경계 조건을 포함하는,
    유한 요소 분석 시뮬레이션의 계산 비용을 추정하기 위한 컴퓨터 구현 방법.
  55. 유한 요소 분석(FEA) 시뮬레이션의 계산 비용을 추정하기 위한 컴퓨터 구현 방법으로서,
    컴퓨터-보조 설계(CAD) 모델 및 메타데이터를 포함하는 데이터 세트를 수신하는 단계;
    데이터 세트를 기계 학습 모델에 입력하는 단계;
    데이터 세트를 처리하기 위해서 기계 학습 모델을 사용하여 모델 지오메트리 및 시뮬레이션 메타데이터 세트를 추출하는 단계;
    특징 세트로부터 고정된-차원 표시 벡터를 생성하는 단계; 및
    FEA 시뮬레이션을 위한 타겟 매개변수를 결정하기 위해서 고정된-차원 표시 벡터를 분석하는 단계를 포함하는,
    유한 요소 분석 시뮬레이션의 계산 비용을 추정하기 위한 컴퓨터 구현 방법.
KR1020227018956A 2019-11-06 2020-11-06 시뮬레이션의 계산 비용을 추정하기 위한 방법 및 시스템 KR20220103739A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201962931299P 2019-11-06 2019-11-06
US62/931,299 2019-11-06
PCT/US2020/059393 WO2021092366A1 (en) 2019-11-06 2020-11-06 Methods and systems for the estimation of the computational cost of simulation

Publications (1)

Publication Number Publication Date
KR20220103739A true KR20220103739A (ko) 2022-07-22

Family

ID=75687743

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020227018956A KR20220103739A (ko) 2019-11-06 2020-11-06 시뮬레이션의 계산 비용을 추정하기 위한 방법 및 시스템

Country Status (9)

Country Link
US (1) US20210133378A1 (ko)
EP (1) EP4055512A4 (ko)
JP (1) JP2022553866A (ko)
KR (1) KR20220103739A (ko)
CN (1) CN114930336A (ko)
AU (1) AU2020378413A1 (ko)
BR (1) BR112022008851A2 (ko)
CA (1) CA3157588A1 (ko)
WO (1) WO2021092366A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102624263B1 (ko) * 2023-09-15 2024-01-16 광주과학기술원 무선충전모듈의 코어 설계하는 방법

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11922314B1 (en) * 2018-11-30 2024-03-05 Ansys, Inc. Systems and methods for building dynamic reduced order physical models
US11409516B2 (en) * 2019-12-10 2022-08-09 Cisco Technology, Inc. Predicting the impact of network software upgrades on machine learning model performance
US11210138B1 (en) 2020-09-24 2021-12-28 OnScale, Inc. Dynamic resource allocation for computational simulation
US20230140365A1 (en) * 2021-11-01 2023-05-04 The Regents Of The University Of Michigan Automated circuit topology selection and configuration
WO2023219936A1 (en) * 2022-05-08 2023-11-16 Schlumberger Technology Corporation Adaptive multicolor reordering simulation system
CN117634101A (zh) * 2024-01-26 2024-03-01 杭州广立微电子股份有限公司 芯片表面形态确定方法、装置、计算机设备和存储介质

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090089234A1 (en) * 2007-09-28 2009-04-02 Rockwell Automation Technologies, Inc. Automated code generation for simulators
US8346516B2 (en) * 2008-11-05 2013-01-01 Accenture Global Services Limited Predictive modeling
US9152740B1 (en) * 2012-01-18 2015-10-06 Msc.Software Corporation Interactive simulation and solver for mechanical, fluid, and electro-mechanical systems
EP2894564A1 (en) * 2014-01-10 2015-07-15 Fujitsu Limited Job scheduling based on historical job data
WO2017077609A1 (ja) * 2015-11-04 2017-05-11 富士通株式会社 構造解析方法、及び構造解析プログラム
US10193762B2 (en) * 2016-08-11 2019-01-29 Rescale, Inc. Dynamic optimization of simulation resources
US11132473B2 (en) * 2017-08-30 2021-09-28 Apriori Technologies, Inc. Manufacturing design modification system
US20210019189A1 (en) * 2018-04-18 2021-01-21 Landmark Graphics Corporation Methods and systems to determine and optimize reservoir simulator performance in a cloud computing environment

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102624263B1 (ko) * 2023-09-15 2024-01-16 광주과학기술원 무선충전모듈의 코어 설계하는 방법

Also Published As

Publication number Publication date
EP4055512A4 (en) 2023-11-22
CA3157588A1 (en) 2021-05-14
AU2020378413A1 (en) 2022-06-23
JP2022553866A (ja) 2022-12-26
CN114930336A (zh) 2022-08-19
EP4055512A1 (en) 2022-09-14
WO2021092366A1 (en) 2021-05-14
BR112022008851A2 (pt) 2022-08-23
US20210133378A1 (en) 2021-05-06

Similar Documents

Publication Publication Date Title
KR20220103739A (ko) 시뮬레이션의 계산 비용을 추정하기 위한 방법 및 시스템
Kim et al. DPM: a novel training method for physics-informed neural networks in extrapolation
Couckuyt et al. Fast calculation of multiobjective probability of improvement and expected improvement criteria for Pareto optimization
Guillotte et al. Non-parametric Bayesian inference on bivariate extremes
EP3380948B1 (en) Environmental monitoring systems, methods and media
KR102189311B1 (ko) 학습된 모델을 이용한 해석 장치 및 이를 위한 방법
US20210192111A1 (en) Neural Reparameterization for Optimization of Physical Designs
CN112187554B (zh) 一种基于蒙特卡洛树搜索的运维系统故障定位方法和系统
CN112529069A (zh) 一种半监督节点分类方法、系统、计算机设备和存储介质
US20220366257A1 (en) Small and Fast Video Processing Networks via Neural Architecture Search
Mattey et al. A physics informed neural network for time-dependent nonlinear and higher order partial differential equations
JP2024519657A (ja) 精度が向上し、計算リソースの消費が減少した拡散モデル
CN113454648A (zh) 循环神经网络中的勒让德存储器单元
CN108694232B (zh) 一种基于信任关系特征学习的社会化推荐方法
KR20180056013A (ko) 나노 물질의 독성을 예측하는 방법 및 장치
AU2021336683C1 (en) Generative modeling of quantum hardware
Cipriani et al. From NeurODEs to AutoencODEs: a mean-field control framework for width-varying neural networks
JPWO2021092366A5 (ko)
Hu et al. Neural-PDE: a RNN based neural network for solving time dependent PDEs
Pang et al. Qualitative, semi-quantitative, and quantitative simulation of the osmoregulation system in yeast
Galdino Interval continuous-time Markov chains simulation
Bao et al. A Unified Filter Method for Jointly Estimating State and Parameters of Stochastic Dynamical Systems via the Ensemble Score Filter
Mitra et al. Network compression for machine-learnt fluid simulations
KR102472046B1 (ko) 그래프 기반 준지도 학습에서의 빠른 낮은 계수 표현을 기반으로 한 그래프 구축 방법 및 시스템
Na-udom et al. A comparison of artificial neural network and Kriging model for predicting the deterministic output response