전산 유체 역학에서 기계 학습 사용


9

배경 :
나는 2d Navier-Stokes에 하나의 작동하는 수치 솔루션을 만들었습니다. 뚜껑 방식의 공동 흐름을위한 솔루션이었습니다. 그러나이 과정에서는 공간 이산화 및 시간 이산화에 대한 여러 가지 스키마에 대해 논의했습니다. 또한 NS에 적용된 기호 조작 교과 과정을 더 많이 취했습니다.

PDE에서 유한 차이로 분석 / 기호 방정식의 변환을 처리하기위한 몇 가지 수치 접근법은 다음과 같습니다.

  • 오일러 FTFS, FTCS, BTCS
  • 락스
  • 중간 점 도약
  • Lax-Wndroff
  • 맥코맥
  • 오프셋 그리드 (공간 확산으로 정보 확산 가능)
  • TVD

당시 필자는 "insert-name은 (는) 구성표를 찾아서 작동하는"것처럼 보였습니다. 이들 중 다수는 "풍부한 실리콘"시대 이전부터있었습니다. 그것들은 모두 근사치입니다. 한계에서 그들은. 이론적으로는 PDE로 연결됩니다.

DNS (Direct Numerical Simulation )는 재미 있고 Reynolds Averaged Navier-Stokes ( RANS )도 재미 있지만, 계산식으로 다루기 쉽고 현상을 완전히 나타내는 연속체의 두 가지 "종점"입니다. 내부에 존재하는 여러 접근 방식이 있습니다.

CFD 교수는 강의에서 대부분의 CFD 솔버가 예쁜 그림을 만들지 만 대부분 그 그림은 현실을 나타내지 않으며 매우 힘들 수 있으며 많은 작업을 수행하여 솔버 솔루션을 얻는다고 말합니다. 현실을 나타냅니다.

개발 순서는 (완전히 아는 것이 아니라 이해하는 것)입니다.

  1. 지배 방정식으로 시작-> PDE
  2. 공간적 및 시간적 이산화-> 그리드 및 FD 규칙 결정
  3. 초기 조건 및 경계 조건을 포함하여 도메인에 적용
  4. 해결 (행렬 반전에 대한 많은 변형)
  5. 심각한 현실 점검을 수행하고 알려진 솔루션에 적합합니다.

  6. 분석 결과에서 도출 된 더 간단한 물리적 모델 구축

  7. 테스트, 분석 및 평가
  8. 반복 (6, 3 또는 2 단계로 다시 점프)

생각 :
최근에는 CART 모델, 경사 나무, 임의의 숲 및 그라디언트 향상 트리를 사용하고 있습니다. 수학적으로 파생 된 규칙을 따르고 수학은 나무의 모양을 결정합니다. 그들은 이산화 된 형태를 잘 만들기 위해 노력합니다.

이러한 사람이 만든 수치 적 접근 방식은 다소 효과가 있지만, 결과를 모델링하려는 물리적 현상에 연결하는 데 필요한 광범위한 "부두"가 있습니다. 종종 시뮬레이션이 실제 테스트 및 검증을 대체하지는 않습니다. 잘못된 매개 변수를 사용하는 것은 쉽지만 실제 환경에서 경험되는 형상 또는 응용 프로그램 매개 변수의 변형을 설명하지는 않습니다.

질문 :

  • 문제의 본질이
    적절한 이산화, 공간적 및 시간적 차이 체계, 초기 조건 또는 솔루션을 정의 할 수있는 접근 방법이 있습니까?
  • 머신 러닝 기술과 결합 된 고화질 솔루션을 사용하여 훨씬 더 큰 단계 크기를 갖지만 수렴, 정확성 등을 유지하는 차별화 체계를 만들 수 있습니까?
  • 이 모든 계획은 접근하기 쉬운 "인간적으로 다루기 쉽다"-몇 가지 요소가 있습니다. 더 나은 작업을 수행하는 수천 가지 요소가있는 차이점 체계가 있습니까? 어떻게 파생됩니까?

참고 : 나는 별도의 질문으로 경험적으로 초기화되고 경험적으로 파생 된 (분석적으로 반대) 후속 조치를 취할 것입니다.

최신 정보:

  1. 격자 볼츠만 흐름을 가속화하기 위해 딥 러닝을 사용합니다. 특정 사례에 대해 ~ 9 배의 속도 향상

    Hennigh, O. (프레스). Lat-Net : 딥 뉴럴 네트워크를 사용한 압축 된 격자 볼츠만 흐름 시뮬레이션. https://arxiv.org/pdf/1705.09036.pdf 에서 검색

    코드가있는 Repo (생각합니다) :
    https://github.com/loliverhennigh/Phy-Net

  2. GPU보다 약 2 배 빠르며 CPU보다 약 4 배 빠르거나 ~ O (10,000x) 빠릅니다.

    꾸준한 흐름 근사를위한 Guo, X., Li, W. & Ioiro, F. Convolutional Neural Networks. https://autodeskresearch.com/publications/convolutional-neural-networks-steady-flow-approximation 에서 검색 함

  3. 약 20 년 전에 주제를 조사한 다른 사람들 :

    Muller, S., Milano, M. & Koumoutsakos P. 흐름 모델링 및 최적화에 기계 학습 알고리즘 적용. 난기류 연구 센터 연례 연구 보고서 1999 : https://web.stanford.edu/group/ctr/ResBriefs99/petros.pdf

업데이트 (2017) :
이것은 독점적으로 그라디언트 기반의 딥 러닝에서 비 그라디언트 방법의 사용을 특징으로합니다. 활동의 직접적인 의미는 딥 러닝에 있지만 GA는 그래디언트 디센트 기반 방법과 일치하거나 그보다 우수한 수준에서 매우 어렵고 매우 깊고 매우 복잡한 문제를 해결하는 데 동등한 것으로 사용될 수 있음을 시사합니다.

이 질문의 범위 내에서 더 큰 규모의 머신 러닝 기반 공격은 시간과 공간에서 그라디언트 도메인 방법의 수렴을 실질적으로 가속화하는 "템플릿"을 허용 할 수 있습니다. 기사는 때때로 경사 하강 방향으로 진행하는 것이 용액에서 멀어진다고 말합니다. 국소 최적 또는 병적 궤적 (대부분의 고 부가가치 실제 문제는 이것 중 일부를 가지고 있음)에 문제가 있지만, 그래디언트는 전 세계적으로 유익하지 않을 것으로 예상되지만 그래도 정량적으로 확인하고 경험적으로 확인하는 것이 좋습니다. 이 글에서는 운동량이나 이완이 완화 될 때 "학습 감소"없이 "경계를 뛰어 넘을 수있는"기능을 제공합니다.

업데이트 (2019) :
구글은 이제 AI 퍼즐의 "더 나은 해결 방법을 찾는 방법"에 기여한 것으로 보입니다. link AI가 솔버를 만들도록하는 부분입니다.

** 업데이트 (2020) : ** 그리고 지금 그들은 잘하고 있습니다 ...
https://arxiv.org/pdf/1911.08655.pdf

그런 다음 실제 이산화를 결정하기 위해 NN을 해체 할 수 있다고 주장 할 수 있습니다. 나는 특히 그림 4를 좋아한다.


5
Scicomp.SE에 오신 것을 환영합니다! 귀하의 질문은이 사이트의 평소보다 약간 철학적이지만 2 센트를주는 것을 거부 할 수 없었습니다. 그럼에도 불구하고, 거기에는 가치있는 "어려운"질문이 있다고 생각합니다. 매우 고차 유한 차분 법 은 언제 가치가 있으며, 실제로 어떻게 도출되고 구현됩니까? 이 측면에 초점을 맞추기 위해 질문을 다시 작성하거나 (이 경우 더 이상 관련없는 답변을 기꺼이 삭제하겠습니다) 새 질문으로 질문하십시오 (노란색 상자에있는 "자신의 질문"사용) 페이지 하단).
Christian Clason

8
핵심 오해는 시퀀스가 ​​너무 짧다는 사실에서 비롯된 것으로 생각합니다. 처음에는 한 단계도 빠졌습니다. 지배 방정식을 결정하는 방법. 만약 시뮬레이션 결과가 물리적 현상과 일치하지 않는다면 (그리고 당신의 수치 적 방법이 정확합니다-이 부분은 순수한 수학이고, 부두가 없으며, 옳고 그름입니다), 여기로 되돌아 가야합니다. 부적절한 모델링 가정을 보완 할 수있는 수학적 기법은 없습니다.
Christian Clason

4
"정답"의 의미에 따라 다릅니다. 첫 번째 원칙에서 시작하거나 기존 원칙을 수정하여 모델을 만들고 원하는 정확도로 해결 한 다음 출력을 실험적 관찰과 비교합니다. 그들이 동의한다면, 논문을 쓰십시오. 그렇지 않은 경우 돌아가서 모델을 수정하십시오. 헹구고 반복하십시오. 그것은 (모든) 과학이 작동하는 방식입니다 (숫자 솔루션은 완전히 부수적입니다).
Christian Clason

3
그것이 바로 내가 말하는 것입니다-모델의 셔플 (또는 무엇이든)을 포함시키지 않으면 측정을 재현 할 수 없다면 그것이 바로 당신이하는 일입니다. 당신이 나열한 다섯 가지 원칙이 처음에 어떻게 생각되었다고 생각하십니까? 현대 과학이 너무 복잡 해져서 더 이상 한 사람이 측정을 수행하지 않고, 예측 모델을 찾고, 수학적 특성을 연구하고, 솔루션에 대한 수치 방법을 도출하고, 합리적인 효율성으로 운영하게하는 것은 아닙니다.
Christian Clason

1
@EngrStudent는 두 번째 질문에 대한 직접적인 대답은 아니지만 복잡한 흐름에서는 굉장히 부정확하지만 DNS보다 훨씬 저렴한 RANS 모델을 개선하기 위해 노력하고 있습니다. 우리는 실험 데이터를 사용하여 이러한 모델을 개선하기 위해 역 문제와 신경망의 조합을 사용합니다. arxiv.org/abs/1608.03990을 살펴보고 참조하십시오. 나는 지배 방정식을 완전히 무시하고 비슷한 수준의 정확도를 유지하는 것이 가능하지 않다고 생각합니다 (적어도 현재).
maverick

답변:


20

CFD가 "다채로운 유체 역학"을 의미하는 것은 오래 지속되는 농담입니다. 그럼에도 불구하고 광범위한 응용 분야에서 사용되며 유용합니다. 나는 당신의 불만이 서로 연결된 두 단계 사이를 충분히 구별하지 못하고 물리적 프로세스의 수학적 모델을 만들고 수치 적으로 해결하는 것에서 기인한다고 생각합니다. 이것에 대해 조금 언급하겠습니다.

  1. 물리적 현실에 대한 수학적 모델 (또는 실제로는)이 올바른 것은 아닙니다 . 기껏해야 매우 명확하게 구분 된 (그러나 희망적으로 큰) 환경에서 측정 결과를 예측하는 데 유용 합니다. 여기에는 특정 구성이 주어지면 그러한 예측을 얻을 수 있어야한다는 사실이 포함됩니다. 이것이 우리가 양자 장 이론에서 뉴턴 역학에 이르기까지 모델의 전체 계층 구조를 갖는 이유입니다. 특히 Navier-Stokes 방정식은 유체 흐름을 나타내지 않으며 특정 조건에서 특정 유체의 거동에 대한 특정 측면을 예측합니다.

  2. 더 복잡한 수학적 모델 (예 : Navier-Stokes 등)의 경우 정확한 해를 구할 수 없으며 따라서 수치 근사치 만 얻을 수 있습니다. 비교하고자하는 측정 값은 절대 정확하지 않기 때문에 이것은 나쁘지 않습니다. 모델을 선택할 때와 마찬가지로 정확도와 다루기 쉬움 사이에는 절충이 필요합니다. 필요한 것보다 정확한 솔루션을 얻는 데 시간이나 돈을 소비하는 것은 의미가 없습니다. 이 시점에서, 전체 수학 분야의 주제 인 수치 분석 (이 경우)의 부분 미분 방정식의 해를 수치 적으로 근사화하는 방법에 대한 문제는 전적으로 문제가됩니다. 이 분야는 증명에 관심이 있습니다특정 수치 방법에 대한 오차 추정치 (다시 명시 적으로 지정된 조건 하에서). "insert-name은 (는) 구성표를 찾고 작동합니다"라는 말은 상당히 불공평합니다. "insert-name은 (는) 구성표를 찾아서 작동 함을 증명 합니다." 또한 이러한 체계는 얇은 공기에서 빠져 나오지 않습니다. 이는 잘 알려진 수학적 원리에서 파생됩니다.

    (예를 들어, 유한 차분 방식은 주어진 차수의 Taylor 근사법을 사용하여 도출 할 수 있습니다. 일부 차종에서는 매우 높은 차분 방식을 구하여 구현할 수 있지만 수익을 줄이는 법칙이 있습니다. : 이것은 부분적으로 만 자동화 될 수 있으므로 많은 노력이 필요하며, 점점 더 제한적인 조건이 충족되어 실제로 더 높은 정확도를 얻을 수 있어야하며, 어떤 시점에서는 다음과 같은 다른 체계를 사용하는 것이 좋습니다. 스펙트럼 방법.)

여기서 공통된 주제는 모델과 수치 체계에 적용 할 수있는 범위가 있으며 주어진 목적에 맞는 조합을 선택하는 것이 중요합니다. 이것이 바로 계산 과학자가 도메인 과학 (어떤 모델이 어떤 상황에서 유효한지 알기 위해)과 수학 (어떤 방법이 어떤 모델에 적용 가능한지, 어느 정확성에 대해 알아야 하는지를)을 알아야하는 이유입니다! 이 "지시 된 대로만 사용"레이블을 무시하면 CFD 교수가 언급 한 일종의 "계산적 헛소리"(해리 프랑크푸르트의 기술적 의미)가 생성됩니다.

실제 모델 (예 : 풍동)이있을 때 계산 모델을 사용하는 이유 : 한 가지 이유는 실행 소프트웨어가 모델을 만들어 풍동에 넣는 것보다 훨씬 저렴할 수 있기 때문입니다. 또한 자동차 나 비행기를 설계 할 때 수백 또는 수천 개의 시뮬레이션을 실행하여 사물을 좁히고 최종 후보자 만 바람에 모델을 넣습니다. 터널.


최신 정보:

수치 시뮬레이션 대신 머신 러닝을 사용하는 것은 "근사한 모델을 갖는 것보다 모델이없는 것이 더 좋다"고 말하는 것과 같습니다. 그러나 머신 러닝을 사용하여 측정 된 데이터와의 일치에 기초하여 알려지지 않은 "지오메트리 또는 어플리케이션 파라미터"를 선택할 수 있습니다. 그러나 여기서 불확실성 정량화 또는 (바이 예) 역 문제와 같은 모형 기반 방법은 일반적으로 훨씬 더 나은 성능을 발휘합니다 (엄밀한 수학적 원리를 기반으로 함). 숫자 선택 기계 학습을 사용하는 방법의 단계 크기 또는 방법의 순서와 같은 매개 변수도 원칙적으로 가능하지만 (수학적) 모델을 기반으로 이러한 매개 변수를 선택하는 방법을 정확하게 알려주는 수학 이론이 있기 때문에 이점을 보지 못합니다.

업데이트 2 :

당신이 연결하는 논문은 컴퓨터 과학이 아니라 컴퓨터 과학에 관한 것입니다 . 그들의 목표는 물리적 프로세스에 대한 정확한 시뮬레이션 (수학적 모델의 수치 해법)이 아니라 육안으로 보이는 것입니다. ( "다채로운 유체 역학"의 극단적 인 경우 ...)-이것은 매우 다른 문제입니다. 특히, Navier-Stokes 방정식에 대한 해당 솔루션과 비교할 때 훈련 된 네트워크의 출력에 대한 오차 한계 는 없습니다 . 이는 모든 수치 방법의 필수 요소입니다.


(그리고 첫 번째 질문은 잘못된 전제에서 시작합니다. 모든 접근 방식에서 문제는 모델을 결정하고, 모델은 이산화를 결정하고, 이산화는 솔버를 결정합니다.)


솔루션의 공간에 대한 투영이 있지만 반드시 "the"솔루션에 대한 것은 아닙니다. 나는 지금 녹슬었다. 아이디어는 경험적으로 훈련 된 시스템을 사용하여 투영이 원래 범위에서 물리적 솔루션에 더 가깝게 발생하는 수용 가능한 솔루션의 소포 영역을 제한하는 것입니다.
EngrStudent

2
지도와 영토를 다시 혼동하고 있습니다. (잘 구성된) 수학적 모델에는 고유 한 솔루션이 있습니다 (주어진 데이터에 대해). 이 솔루션은 (적절한) 수치 방법을 사용하여 임의의 정확도 (노력 증가)를 계산할 수 있습니다. 반면에,이 없다 "실제 솔루션"만 측정이있다. 이것들이 측정 및 숫자의 정확도 내에서 시뮬레이션에 동의하지 않으면 잘못된 모델을 풀고 있었고 문제는 계산 과학이 아니라 기본 물리학입니다.
Christian Clason

4
또한, 논평 : 과학의 기초 부분 (특히 수학)은 고정되고 명확한 의미를 가진 매우 정확한 기술 언어입니다. 해석의 작은 차이가 큰 영향을 줄 수 있습니다. 일반적으로 허용되는 용어를 고수하지 않고 "허용되는 솔루션의 소포 영역"과 같은 용어를 대신 사용하면 무슨 의미인지 알기가 매우 어렵습니다. (모델 교정, 역 문제 또는 데이터 동화와 같은 것에 대해서만 이야기하고있을 것입니다.)
Christian Clason

실험의 또 다른 어려움은 사용중인 장비에 필연적으로 편향되어 있다는 것입니다. 한 시설에서 일련의 실험이 반드시 결정적인 것은 아니며, 다른 풍동이 때때로 다른 결과를 낼 것으로 기대할 수 있습니다. International Towing Tank Conference는 전 세계 50 개 이상의 견인 탱크에 대한 광범위한 테스트를 통해이 문제를 해결했습니다. "시설 Biase 식별을위한 ITTC Worldwide 시리즈-기술 절차"를 참조하십시오. nmri.go.jp/turbulence/group/…
Lysistrata

저자의 좋은 경험 법칙 :in every approach, the problem determines the model, the model determines the discretization, the discretization determines the solver.
Sascha Gottfried

7

혼란을 일으키는 몇 가지 다른 아이디어를 섞고 있다고 생각합니다. 예, 주어진 문제를 구별 할 수있는 다양한 방법이 있습니다. 수업에서 이러한 것들을 배울 때 적절한 방법을 선택하는 것은 "부두"처럼 보일 수 있지만, 연구자들이이를 선택할 때, 그들은 문헌에 발표 된 것처럼 현장의 결합 된 경험을 그립니다. 따라서 학생들이 할 수있는 것보다 더 많은 정보를 바탕으로 선택합니다.

질문 1 : 문제를 해결 중이고 한 체계에서 다른 체계로 전환하면 런타임이 변경되거나 수렴 기준이 변경되거나 점근 적 동작이 변경 될 수 있지만 가장 중요한 점은 최종 수렴 된 솔루션이 변경되지 않아야한다는 것입니다 . 그렇다면 메쉬를 다듬어야하거나 수치 체계에 문제가있는 것입니다. 아마도 일부 최적화 알고리즘을 사용하여 수치 체계를 만들고 특정 문제 클래스에 대한 성능을 향상시킬 수 있지만, 수차 파생 체계는 관련 용어 수 또는 사용 된 메쉬 유형에 대해 수학적으로 입증 가능한 최적의 수렴 / 점근 동작으로 만들어집니다.

위의 문단은 물리학의 수학적 공식 / 근사치 인 난기류 모델과 같은 것들을 설명하지 않으므로 다른 해결책을 가질 것으로 예상됩니다. 이것들은 다시 문헌에서 고도로 연구되었으며, 프로그램이 물리적 현상을보고 유사한 물리적 시스템의 반응을 올바르게 예측하는 수학적 모델을 생성 할 수 있다고 생각하지 않습니다.

질문 2 : 예, 컴퓨터 코드를 사용하여 전체 메쉬를 한 번에 사용하는 구성표를 파생시킬 수 있습니다. 심지어 일부 메쉬의 경우 이러한 코드가 존재하며 몇 시간 만에 스키마를 제공 할 수 있다고 안전하다고 생각합니다 (한 번 코드를 찾으면). 문제는 당신이 나이키 스트를 이길 수 없다는 것입니다. 시스템 응답의 최대 주파수에 따라 걸리는 시간 단계의 양과 솔루션의 공간 주파수에 따라 메시 셀 / 요소의 수에 대한 제한이 있습니다.

더 복잡한 체계를 사용하는 것과 관련된 계산 작업이 종종 복잡성과 비선형 적이라는 사실을 설명하지도 않습니다. 대부분의 학생들이 시간 통합을 위해 RK4 방법을 배우는 이유는 그보다 높은 순서로 방법을 시작할 때 방법의 순서를 얻는 것보다 더 빨리 파생물에 대한 평가를 더 많이 받기 때문입니다. 공간 영역에서 높은 차수의 방법은 행렬 채우기를 크게 증가 시키므로 메시 포인트가 더 적지 만 희소 행렬을 반전시키는 작업은 크게 증가하여 이득을 부분적으로 상쇄합니다.

질문 3에서 무엇을 말하는지 잘 모르겠습니다. 문제에 대한 해결책을 더 나은 해결책으로 바꾸는 것에 대해 이야기하고 있습니까? 그렇다면 멀티 그리드에서 약간의 독서를 권장합니다. 괜찮은 숫자 체계를 놀라운 체계로 바꾸는 것에 대해 묻는다면, 나머지 답변은 적어도 그것에 손을 댈 것입니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.