Использование машинного обучения в вычислительной гидродинамике

9

Предыстория:
для курса я построил только одно рабочее числовое решение для 2d Навье-Стокса. Это было решение для потока полости, управляемого крышкой. Курс, однако, обсуждал ряд схем для пространственной дискретизации и дискретизации времени. Я также взял больше курсовых работ по манипулированию символами, примененных к NS.

Некоторые из числовых подходов для обработки преобразования аналитического / символического уравнения из PDE в конечную разность включают в себя:

  • Эйлер FTFS, FTCS, BTCS
  • рыхлый
  • Середина чехарды
  • Лакс-Вендрофф
  • Маккормак
  • сетка смещения (пространственная диффузия позволяет распространять информацию)
  • ТВД

Мне в то время казалось, что «insert-name находит схему и это работает». Многие из них были до "обильного кремния". Все они являются приблизительными. В пределе они. в теории приводят к PDE.

Хотя прямое численное моделирование ( DNS ) является забавным, а усредненное по Рейнольдсу Навье-Стоксом ( RANS ) также забавным, они являются двумя «конечными точками» континуума между вычисляемой проходимостью и полностью представляют явления. Есть несколько семейств подходов, которые живут внутри них.

На лекции профессора CFD говорили, что большинство решателей CFD делают красивые картинки, но по большей части эти картинки не представляют реальность и что это может быть очень сложно и требует много работы, чтобы найти решение, которое действительно представляет реальность.

Последовательность развития (насколько я понимаю, не исчерпывающая) такова:

  1. начать с управляющих уравнений -> PDE
  2. определить вашу пространственную и временную дискретизацию -> правила сетки и FD
  3. применяются к области, включая начальные условия и граничные условия
  4. решить (множество вариантов инверсии матрицы)
  5. выполнять грубую проверку реальности, соответствовать известным решениям и т. д.

  6. построить несколько более простых физических моделей, полученных на основе аналитических результатов

  7. проверить их, проанализировать и оценить
  8. итерация (возврат к шагу 6, 3 или 2)

Мысли:
я недавно работал с моделями CART, косыми деревьями, случайными лесами и деревьями с градиентным усилением. Они следуют более математически выведенным правилам, а математика определяет форму дерева. Они работают, чтобы делать дискретные формы хорошо.

Хотя эти числовые подходы, созданные человеком, работают несколько, существует обширное «вуду», необходимое для связи их результатов с физическими явлениями, которые они предназначены для моделирования. Часто моделирование существенно не заменяет реальных испытаний и проверок. Легко использовать неправильный параметр или не учитывать изменения в геометрии или параметрах приложения, с которыми сталкиваются в реальном мире.

Вопросов:

  • Был ли какой-либо подход, позволяющий природе проблемы определять
    подходящую схему дискретизации, пространственную и временную разностную схему, начальные условия или решение?
  • Можно ли использовать решение высокой четкости в сочетании с методами машинного обучения для создания разностной схемы, которая имеет гораздо большие размеры шагов, но сохраняет сходимость, точность и тому подобное?
  • Все эти схемы легко доступны для "извлечения человеком" - в них есть несколько элементов. Есть ли разностная схема с тысячами элементов, которая делает лучше? Как это происходит?

Примечание: я остановлюсь на эмпирически начатом и эмпирически выведенном (в отличие от аналитически) отдельном вопросе.

ОБНОВИТЬ:

  1. Использование глубокого обучения для ускорения решеточных течений Больцмана. Дали ~ 9x ускорение для своего конкретного случая

    Хенни О. (в печати). Lat-Net: моделирование сжатых решеток Больцмана с использованием глубоких нейронных сетей. Получено с: https://arxiv.org/pdf/1705.09036.pdf

    Репо с кодом (я думаю):
    https://github.com/loliverhennigh/Phy-Net

  2. Приблизительно на 2 порядка быстрее, чем у графического процессора, на 4 порядка или на ~ 10 (в 10 000 раз) быстрее, чем у процессора и того же оборудования.

    Го, X., Ли, В. и Иойро, Ф. Сверточные нейронные сети для приближения стационарного потока. Получено с: https://autodeskresearch.com/publications/convolutional-neural-networks-steady-flow-approximation

  3. Другие, кто изучал эту тему около 20 лет назад:

    Мюллер С., Милано М. и Кумутсакос П. Применение алгоритмов машинного обучения для моделирования и оптимизации потоков. Ежегодные исследовательские брифинги Центра исследований турбулентности, 1999 г. Получено по адресу : https://web.stanford.edu/group/ctr/ResBriefs99/petros.pdf.

Обновление (2017):
Это характеризует использование неградиентных методов в глубоком обучении, арене, которая основана исключительно на градиенте. Хотя прямое следствие деятельности заключается в глубоком обучении, это также предполагает, что ГА может использоваться как эквивалент в решении очень сложной, очень глубокой и очень сложной проблемы на уровне, совместимом или превосходящем методы, основанные на градиентном спуске.

В рамках этого вопроса можно предположить, что крупномасштабная атака на основе машинного обучения может позволить использовать «шаблоны» во времени и пространстве, которые существенно ускоряют конвергенцию методов в градиентной области. В статье говорится, что иногда движение в направлении градиентного спуска отходит от решения. В то время как в любой проблеме с локальными оптимальными или патологическими траекториями (большинство наиболее значимых проблем реального мира имеют некоторые из них), ожидается, что градиент не является глобально информативным, все же было бы хорошо иметь количественную оценку и проверку эмпирически, как это было в этой статье и способность «прыгнуть за границу», не требуя «сокращения обучения», как вы получаете в импульсе или недостаточной релаксации.

Обновление (2019):
Похоже, что в Google появился вклад «Как найти лучший решатель» в головоломку ИИ. ссылка Это часть того, как заставить ИИ делать решатель.

** Обновление (2020): ** И теперь они делают это, и делают это хорошо ...
https://arxiv.org/pdf/1911.08655.pdf

Можно утверждать, что они могут затем деконструировать свой NN, чтобы определить фактическую дискретизацию. Мне особенно нравится рисунок 4.

EngrStudent
источник
5
Добро пожаловать в Scicomp.SE! Ваш вопрос немного более философский, чем обычно, для этого сайта, но я не удержался и дал свои два цента. Тем не менее, я думаю, что здесь стоит стоящий «сложный» вопрос: когда стоят методы конечных разностей очень высокого порядка, и как они получены и реализованы на практике? Я рекомендую либо переписать ваш вопрос, чтобы он был сфокусирован на этом аспекте (в этом случае я с радостью удалю уже не релевантный ответ), либо задать его как новый вопрос (используйте «задать свой вопрос» в желтом поле на внизу страницы).
Кристиан Клэйсон
8
Я думаю, что основное недопонимание проистекает из того факта, что ваша последовательность слишком коротка - в начале (по крайней мере!) Не хватает одного шага: как выбрать управляющие уравнения. Если результаты моделирования не согласуются с физическими явлениями (и ваши численные методы верны - эта часть - чистая математика, вуду нет, она либо правильная, либо неправильная), тогда вы должны вернуться к этому. Никакая математическая хитрость не может компенсировать несоответствующие предположения моделирования.
Кристиан Клэйсон
4
Это просто неправда (в зависимости от того, что именно вы подразумеваете под «ответом»). Вы создаете модель (исходя из первых принципов или модифицируя существующую), решаете ее с желаемой точностью и сравниваете результаты с экспериментальными наблюдениями. Если они согласны, хорошо, напишите бумагу; если нет, вернитесь и уточните свою модель. Промыть, повторить. Именно так (любая) наука работает (численное решение совершенно случайно).
Кристиан Клэйсон
3
Это именно то, о чем я говорю - если вы обнаружите, что не можете воспроизвести измерения, если не включите в свою модель сохранение вафлей (или чего-либо еще), то это то, что вы делаете. Как вы думаете, пять принципов, которые вы перечислили, были разработаны в первую очередь? Просто современная наука стала настолько сложной, что уже не один человек проводит измерения, пытается найти прогнозные модели, изучает их математические свойства, выводит численные методы их решения и заставляет их работать с разумной эффективностью.
Кристиан Клэйсон
1
@EngrStudent не является прямым ответом на ваш второй вопрос, но мы работаем над улучшением моделей RANS (вы можете использовать более грубую сетку и большой временной шаг), которые ужасно неточны в сложных потоках, но намного дешевле, чем DNS. Мы используем комбинацию обратной задачи и нейронной сети для улучшения этих моделей с использованием экспериментальных данных. Взгляните на arxiv.org/abs/1608.03990 и ссылки там. Я не думаю, что можно полностью игнорировать управляющее уравнение и поддерживать подобный уровень точности (по крайней мере, в настоящее время).
индивидуалист

Ответы:

20

Это давняя шутка, что CFD обозначает «красочную динамику жидкости». Тем не менее, он используется - и полезен - в широком спектре приложений. Я считаю, что ваше недовольство связано с недостаточно четким различием между двумя взаимосвязанными, но разными шагами: созданием математической модели физического процесса и ее численным решением. Позвольте мне прокомментировать это немного:

  1. Никакая математическая (или действительно любая) модель физической реальности никогда не бывает правильной ; в лучшем случае это полезно для прогнозирования результатов измерений в очень четко разграниченных (но, надеюсь, больших) обстоятельствах. Это включает в себя тот факт, что должно быть возможно получить такое предсказание, учитывая конкретную конфигурацию; Вот почему у нас есть целая иерархия моделей от квантовой теории поля до ньютоновской механики. В частности, уравнения Навье-Стокса не описывают течение жидкости, они дают прогноз конкретных аспектов поведения определенных жидкостей в определенных условиях.

  2. Для более сложных математических моделей (таких как уравнения Навье-Стокса) вы никогда не сможете получить точное решение (и, следовательно, прогноз), а только числовое приближение. Это не так уж плохо, как кажется, поскольку измерения, с которыми вы хотите сравнить их, сами по себе никогда не бывают точными. Как и при выборе моделей, существует компромисс между точностью и удобством использования - нет смысла тратить время или деньги на получение более точного решения, чем необходимо. На этом этапе становится чисто вопросом о том, как численно аппроксимировать решение (в данном случае) уравнения в частных производных, которое является предметом целой математической области: численного анализа. Это поле связано с доказательствомоценки ошибок для определенных численных методов (опять же, при определенных явно определенных условиях). Ваше утверждение «insert-name находит схему, и она срабатывает», крайне несправедливо - это должно быть «insert-name находит схему и доказывает, что она работает». Кроме того, эти схемы не взяты из воздуха - они основаны на хорошо понятных математических принципах.

    (Например, конечно-разностные схемы могут быть получены с использованием аппроксимаций Тейлора заданного порядка. Конечно, и, возможно, некоторые люди получают - разностные схемы очень высокого порядка и реализуют их, но существует закон убывающей доходности. это может быть автоматизировано только частично, и, следовательно, это требует больших усилий, и некоторые все более и более ограничивающие условия должны быть выполнены, чтобы фактически получить соответствующую более высокую точность из них. Кроме того, в некоторый момент лучше использовать другую схему, такую ​​как спектральные методы.)

Общей темой здесь является то, что как модели, так и числовые схемы имеют широкий спектр применения, и важно выбрать правильную комбинацию для данной цели. Именно поэтому ученому в области вычислительной техники необходимо знать и предметную науку (чтобы знать, какая модель применима в какой ситуации) и математику (чтобы знать, какой метод применим к какой модели и с какой точностью)! Игнорирование этих ярлыков «использовать только по назначению» приводит к тому, что ваши профессора CFD ссылаются на «вычислительную ерунду» (в техническом смысле «Гарри Франкфурт»).

Относительно того, зачем использовать вычислительную модель, когда у вас есть физическая модель (например, аэродинамическая труба): Одна из причин заключается в том, что работающее программное обеспечение может быть на порядок дешевле, чем создание модели и помещение ее в аэродинамическую трубу. Кроме того, обычно это не «или-или»: например, при проектировании автомобиля или самолета, вы должны выполнить сотни или тысячи симуляций, чтобы сузить круг вещей, а затем только для окончательного кандидата (-ов) поставить модель на ветер туннель.


Обновить:

Использование машинного обучения вместо численного моделирования - это все равно, что сказать, что «отсутствие модели лучше, чем примерная модель», с чем, я сомневаюсь, согласится любой, кто занимается гидродинамикой (или любой другой областью). При этом, безусловно, возможно (и фактически сделано) использовать машинное обучение для выбора неизвестных «геометрии или параметров приложения» на основе согласования с данными измерений; однако и здесь основанные на моделях методы, такие как количественная оценка неопределенности или (байесовские) обратные задачи, обычно работают намного лучше (и основаны на строгих математических принципах). Выбор числовой такие параметры, как размер шага или порядок метода, использующего машинное обучение, также возможны в принципе, но я не вижу преимущества, поскольку есть математическая теория, которая точно говорит вам, как выбирать эти параметры на основе вашей (математической) модели.

Обновление 2:

В статье, на которую вы ссылаетесь, речь идет о компьютерной графике , а не вычислительной науке : их цель не в том, чтобы иметь точное моделирование (то есть численное решение математической модели) физического процесса, а в том, что выглядит невооруженным глазом. (крайний случай «красочной динамики жидкости» ...) - это совсем другое дело. В частности, нет никакой ошибки, связанной с выходом обученной сети, по сравнению с соответствующим решением уравнений Навье-Стокса, которое является неотъемлемой частью любого численного метода.


(И ваш первый вопрос начинается с ложной предпосылки: при каждом подходе проблема определяет модель, модель определяет дискретизацию, дискретизация определяет решатель.)

Кристиан Клэйсон
источник
Существует проекция в пространство решений, но не обязательно на «решение». Я сейчас ржавый. Идея состоит в том, чтобы использовать эмпирически обученную систему, чтобы ограничить область пакета приемлемых решений, в которую происходит проекция, от ее первоначальных границ до приближения к физическому решению.
EngrStudent
2
Вы снова путаете карту и территорию - (корректная) математическая модель имеет уникальное решение (для любых данных). Это решение вы можете вычислить с произвольной точностью (с увеличением усилий), используя (подходящий) численный метод. С другой стороны, нет «физического решения», есть только измерения. Если они не согласуются с моделированием в точности измерений и числовых значений, вы решили неправильную модель , и ваша проблема не в вычислительной науке, а в базовой физике.
Кристиан Клэйсон
4
Кроме того, комментарий: фундаментальной частью науки (и, в частности, математики) является очень точный технический язык с фиксированным и однозначным значением - это единственный способ, которым каждый может быть уверен, что на самом деле будет говорить об одном и том же, когда небольшие различия в интерпретации могут иметь огромное влияние. Не придерживаясь общепринятой терминологии и используя вместо этого такие термины, как «область пакета приемлемых решений», очень трудно понять, что вы имеете в виду. (Я могу только догадываться, что вы можете говорить о чем-то вроде калибровки модели, обратных задач или ассимиляции данных.)
Кристиан Клэйсон,
Другая трудность в экспериментах заключается в том, что они неизбежно смещаются на используемое оборудование. Одна серия экспериментов на одном объекте не обязательно является окончательной, то есть можно ожидать, что разные аэродинамические трубы будут давать иногда существенно разные результаты. Международная конференция по буксировочным танкам рассмотрела эту проблему, проведя обширную серию испытаний на> 50 буксирных танках по всему миру. См .: «Всемирная серия ITTC для выявления отклонений в объекте - технические процедуры». nmri.go.jp/turbulence/group/…
Lysistrata
Хорошее эмпирическое правило от автора:in every approach, the problem determines the model, the model determines the discretization, the discretization determines the solver.
Саша Готфрид
7

Я думаю, что вы смешиваете пару разных идей, которые вызывают путаницу. Да, существует множество способов дискретизации данной проблемы. Выбор подходящего способа может выглядеть как «вуду», когда вы изучаете эти вещи в классе, но когда исследователи выбирают их, они делают это, опираясь на объединенный опыт этой области, как опубликовано в литературе. Поэтому они делают гораздо более осознанный выбор, чем студент.

Вопрос 1: Если вы решаете проблему и переключаетесь с одной схемы на другую, ваше время выполнения изменится, критерии конвергенции могут измениться или ваше асимптотическое поведение, но очень важный момент заключается в том, что ваше окончательное конвергентное решение НЕ должно меняться , Если это так, вам нужно либо уточнить свои сетки, либо что-то не так с вашей числовой схемой. Возможно, вы могли бы использовать какой-то алгоритм оптимизации для создания своих числовых схем и повышения производительности для определенного класса задач, но во многих случаях схемы, полученные вручную, создаются с математически доказуемым оптимальным сходимостью / асимптотическим поведением для числа используемых терминов или используемого типа сетки.

Теперь вышеприведенный абзац не учитывает такие вещи, как разные модели турбулентности, которые представляют собой разные математические формулировки / приближения физики, поэтому ожидается, что они будут иметь разные решения. Они снова высоко изучены в литературе, и я не думаю, что программы в такой степени, чтобы они могли смотреть на физические явления и создавать математическую модель, которая правильно предсказывает реакцию подобных физических систем.

Вопрос 2: Да, вы можете получить схему, которая использует всю сетку за раз, используя для этого некоторый компьютерный код. Я даже чувствую себя уверенно, говоря, что для некоторых сеток такие коды существуют и могут дать вам схему за пару часов (как только вы найдете код, который есть). Проблема в том, что вы никогда не победите Найквиста. Существует ограничение на количество шагов, которые вы делаете в зависимости от максимальной частоты отклика вашей системы, и ограничение на количество ячеек / элементов сетки, которые вы можете иметь, в зависимости от пространственных частот решения.

Это даже не учитывает тот факт, что часто вычислительная работа, связанная с использованием более сложной схемы, часто бывает нелинейной по сложности. Причина, по которой большинство студентов изучают методы RK4 для интеграции времени, заключается в том, что когда вы начинаете переходить к методам с более высоким порядком, вы получаете больше оценок своей производной быстрее, чем вы получаете порядки своего метода. В пространственной сфере методы более высокого порядка значительно увеличивают заполнение матрицы, поэтому вам нужно меньше точек сетки, но работа, которую вы выполняете, инвертируя разреженную матрицу, значительно увеличивается, по крайней мере, частично компенсируя ваши выгоды.

Я не уверен, что вы имеете в виду в третьем вопросе. Вы говорите о том, чтобы превратить близкое решение проблемы в лучшее решение? Если это так, я рекомендую немного чтения на многосетке. Если вы спрашиваете о том, как превратить приличные числовые схемы в удивительные, я думаю, что остальная часть моего ответа, по крайней мере, касается этого.

Годрик Провидец
источник