Прежде чем перейти к статье, хочу вам представить, экономическую онлайн игру Brave Knights, в которой вы можете играть и зарабатывать. Регистируйтесь, играйте и зарабатывайте!
Реальные задачи, с которыми сталкиваются проектировщики, требуют колоссальных ресурсов. Есть один очень мощный прием на базе машинного обучения, который помогает сократить время разработки: аппроксимация детальной и медленной модели при помощи значительно более простого алгоритма, обученного на основе имитационных данных. То есть суррогатное моделирование.
Представьте, что кто-то создал для нас очень детальную имитационную модель сложнейшей системы (спасибо!). Теперь нам её эксплуатировать, мы же проектировщики, так что поищем оптимальную конфигурацию (миллион комбинаций параметров), прогнав для каждой из них по миллиону экспериментов (погода, реакция всяких агентов и просто для накопления статистики...). И тут нас настигает понимание того, что задача будет решаться несколько недель. Потратить время на упрощение модели вручную, или задействовать машинное обучение?
Данная статья является переводом отличного текста от автора towardsdatascience.com Шуая Гуо. Нам кажется, что в русскоязычном поле материалов на эту тему слишком мало и, как следствие, нам почти негде вести дискуссию на эту тему. Итак, давайте обсудим!
1. Зачем нам суррогатное моделирование
В машиностроении успех проектирования в значительной степени зависит от тщательного анализа характеристик изделия при различных параметрах конструкции. Такой анализ чаще всего проводится с помощью высокоточных компьютерных симуляций, например при помощи конечно-элементного анализа, однако и его точности часто не хватает.
Чтобы быстрее вывести продукт на рынок, необходимо постоянно ускорять все виды анализа, для этого раньше было достаточно моделирования с разной точностью. В последнее время в различных инженерных областях набирает популярность подход, основанный на данных и называемый суррогатным моделированием.
В этой статье мы сосредоточимся на основах этого метода, рассмотрев следующие аспекты:
Мотивация: зачем нам нужно ускорение компьютерного моделирования?
Решение: как суррогатное моделирование помогает изменить ситуацию?
Детали: как в реальности применять суррогатное моделирование?
В этой части статьи мы разберем теоретические основы, сделаем выводы и подготовимся к изучению детальных, практических примеров, намеченных в следующих частях статьи.
2. Как ускорить модель при помощи машинного обучения
Компьютерная симуляция предназначена для прогнозирования поведения физической системы путем решения математических уравнений, выражающих соответствующие физические процессы. Например, инженеры используют аэродинамическое моделирование для расчета сопротивления и подъемной силы самолета и структурно-динамическое моделирование для определения прочности крыльев.
Эти виды моделирования ценны тем, что позволяют инженерам получить богатую информацию о характеристиках продукта без воплощения самого продукта, что играет важную роль в создании виртуальных прототипов.
Чтобы обеспечить эффективный и надежный процесс проектирования, инженерам обычно необходимо выполнить:
анализ чувствительности, чтобы изучить поведение продукта при изменении параметров конструкции;
оптимизацию параметров, чтобы выбрать из множества вариантов одну оптимальную конфигурацию продукта, обеспечивающую наивысшую производительность и/или наименьшую стоимость;
анализ риска (или количественную оценку неопределенности), чтобы рассчитать риск отказа изделия с учетом неопределенности параметров конструкции.
Все вышеупомянутые виды анализа имеют одну общую черту, а именно: все они требуют большого количества прогонов модели (проведения множества симуляций), где каждый прогон принимает в качестве входных данных различные комбинации параметров конструкции.
К сожалению, всеобъемлющие компьютерные симуляции, как правило, недешевы: в промышленности одна симуляция, выполняемая на кластере, запросто может занимать несколько дней. Следовательно, анализы, требующие большого количества прогонов модели, потребуют также и непомерных временных затрат, что делает их невыполнимыми на практике.
Как же решают эту проблему?
3. Принципы суррогатного моделирования
В ходе суррогатного моделирования мы строим подменную (или суррогатную) модель методами машинного обучения для достаточно точной аппроксимации результатов моделирования. Впоследствии эта обученная статистическая модель может быть использована для замены исходной компьютерной симуляции при проведении анализа чувствительности, оптимизации или анализа рисков.
Поскольку один прогон обученной статистической модели обычно выполняется гораздо быстрее, чем прогон исходной высокоточной симуляции, оценка выходных параметров модели в пространстве сотен и тысяч комбинаций входных данных (в том числе параметров проектирования) больше не является проблемой. Одним словом, методы суррогатного моделирования делают дорогостоящие исследования доступными.
4. Обучение на основе данных
Суррогатная модель обучается с использованием подхода, основанного на данных – машинного обучения.
Данные для обучения получают путем анализа исходной модели высокий точности и ее выполнения в нескольких разумно выбранных областях пространства параметров проектирования.
В каждой выбранной точке проводится полное моделирование для расчета соответствующих ей выходных данных моделирования.
Собрав достаточно пар входов (параметров конструкции) и соответствующих им выходов в обучающий набор данных, мы можем построить статистическую модель на основе полученного набора данных.
Суррогатное моделирование – это особый случай машинного обучения с учителем, применяемый в области инженерного проектирования. Такие популярные методы машинного обучения, как полиномиальная регрессия, SVM, гауссовский анализ, нейронные сети и т. д., широко используются в качестве суррогатных моделей для ускорения процессов проектирования и анализа продукции.
Благодаря применению стандартных подходов и моделей, инженеры могут использовать давно сложившиеся практики машинного обучения для построения, оценки качества и отбора суррогатных моделей, эффективно бороться с традиционными проблемами недо/переобучения, также в этой области сравнительно легко подобрать качественных консультантов и воспользоваться обучающими материалами.
5. Рабочий процесс – цели и задачи
Шаг 1. Составить исходную выборку данных
Мы начинаем с генерации входных данных для датасета. Для этого мы вдумчиво выбираем интервалы значений параметров проектирования из общего пространства. Эти приёмы пришли к нам из практики планирования экспериментов.
На этом этапе предпочтительно равномерно распределить исходные точки по пространству параметров. Это выгодно, поскольку в начале нам нужны частные модели аппроксимированной зависимости «вход-выход» для всех значимых областей исследуемого пространства параметров.
Обычно для создания первичного датасета используется равномерно заполняющая выборка, а сэмплирование (обход этого пространства) производится в порядке, заданном схемой латинского гиперкуба.
Шаг 2. Наполнение датасета данными из высокоточной модели
После того, как мы сгенерировали входные данные обучающей выборки, нам необходимо найти соответствующие им выходные значения. Заполним датасет путем прогона модели высокой точности на этих входных данных.
Собрав пары входных и соответствующих им выходных значений мы получаем исходный набор данных для обучения (датасет).
Шаг 3. Создание суррогатной модели
На этом этапе мы строим суррогатную модель, используя собранные на предыдущем этапе обучающие данные. Для управления процессом обучения модели здесь следует использовать общепринятые в машинном обучении методы подбора и оценки модели.
В плане выбора модели, нужно опробовать как простые и классические подходы, так и высокопроизводительные методы машинного обучения (бустинги, полносвязанные сети, ансамблирование) – что угодно, что позволит получить максимально эффективную суррогатную модель.
Шаг 4. Активное обучение
В общем случае аналитик не может предугадать количество выборок, необходимых для построения точной суррогатной модели. Это определяется сложностью и требуемой точностью аппроксимируемой связи «вход-выход». В результате имеет смысл постепенно обогащать набор обучающих данных по мере обучения. Такая практика известна как активное обучение.
Для этого мы можем использовать специализированные приёмы обучения, которые помогут нам определить следующий образец с наибольшей информационной ценностью. Эти подходы предназначены для распределения новых точек-кандидатов по таким областям,
где суррогатная модель демонстрирует недостаточную точность или не определена,
где расположены особенно интересные комбинации параметров конструкции, например, в окружении предполагаемой точки глобально оптимальных значений параметров конструкции.
Шаг 5. Обогащение обучающей выборки
После определения нового образца выполняется новое моделирование для вычисления соответствующего выходного значения. Затем суррогатная модель повторно обучается на дополненном наборе обучающих данных. Этот процесс повторяется до тех пор, пока мы не будем удовлетворены точностью суррогатной модели.
6. Выводы (результаты, ожидаемый эффект)
В этой статье мы познакомились с базовыми идеями суррогатного моделирования:
Разработка сложных систем требует компьютерного моделирования для оценки выходных характеристик продукции и изучения новых направлений проектирования.
Многие подходы моделирования могут быть слишком дорогими с вычислительной точки зрения, что существенно ограничивает эффективность проектирования и анализа продукции.
Методы суррогатного моделирования помогают обойти эту проблему, поскольку строят "дешевые" статистические модели для аппроксимации результатов точного моделирования.
Суррогатное моделирование – это особое приложение машинного обучения с учителем, используемое в области инженерного проектирования.
Вместо обучения на фиксированном наборе данных, суррогатные модели используют активное обучение – подразумевается обогащение датасета новыми точками данных на пути к желаемым метрикам, что значительно повышает эффективность обучения и итоговую точность.
В следующей части статьи мы изучим промышленный пример и обсудим, как суррогатное моделирование можно использовать чтобы быстро визуализировать зависимости между проектными параметрами и ускорить анализ неопределённости выходных параметров по входным. Увидимся!
Sobester A., Forrester A., Keane A. Engineering design via surrogate modelling: a practical guide. – John Wiley & Sons, 2008.
Koziel S., Leifsson L. Surrogate-based modeling and optimization. – New York : Springer, 2013.
Jiang P., Zhou Q., Shao X. Surrogate model-based engineering design and optimization. – Berlin/Heidelberg, Germany : Springer, 2020.