← Все публикации

Четыре способа описать мир: от математики до машинного обучения pt.II

Я писал пост и пить чай и чай я уже выпил, поэтому можно продолжить. В первой части рассмотрели два "докомпьютерных" подхода. Компьютеры принесли два новых метода:

3️⃣ Машинное обучение — когда данные есть, а законов нет.

Оно, кстати так-то возникло довольно давно, просто компьютеры долго были слабоваты. Здесь уже не претендуем на _понимание _фундаментальных законов. У нас есть данные (и побольше бы!) и мы хотим найти в них закономерности.

Нейронные сети, случайные леса, метод опорных векторов — всё это способы сказать: "Я не знаю правил игры, но могу предсказать результат на основе увиденных примеров".

Проблема в том, что физики и математики старой (да и новой) закалки начинают нервно подёргивать глазом от такого пренебрежения интерпретируемостью. "А почему нейронка выдала именно такой ответ? А на что именно влияет вот этот весовой коэффициент в слое №42?" — на эти вопросы часто нет внятного ответа. Как интерпретировать матрицу весов 1000×1000? В подавляющем большинстве случаев никак, просто верь. А матрицы сейчас очень большие, поэтому просто очень верь

Поэтому это всё методы с высокой точностью предсказаний (при правильном применении), но с практически нулевой интерпретируемостью. В каком-то смысле как тёмная магия — работает, но никто не знает почему. Бу ✨

4️⃣ Наконец, для способа понимания мира есть золотая середина в форме физического моделирования

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

Как сказал бы Эминем, это как иметь и пирог, и возможность его съесть. Мы получаем и предсказательную силу (ура!), и физическую интерпретируемость (дважды ура!). Можем объяснить, почему система ведёт себя именно так, а не иначе. Ну, если мы всё правильно сделали.

Представьте, что вы моделируете потоки воздуха вокруг самолёта. Вы знаете уравнения (Навье-Стокса), знаете начальные условия, но аналитически это не решить. Зато можно разбить пространство на миллионы маленьких кубиков и численно решать уравнения для каждого из них. Круто, да? ✨ Ещё и компьютер напрягли, не всё же им кошек от собак отличать.

В результате можно не только предсказать подъёмную силу, но и объяснить, откуда она берётся, какие участки крыла дают наибольший вклад и как изменится картина, если поменять форму.

На самом деле есть ещё пятый вариант, так сказать БЛЕНД, когда мы комбинируем какие-то подходы, численные методы для сложных частей систем, где важно понимать что на что влияет, машинное обучение там где формализация слишком трудна, и аналитические решения там где они есть. И ничо, работает!

Как говорится, главное понимать что ты делаешь, а не как это называется. Методы приходят и уходят, а способность правильно определить задачу и выбрать инструмент — остаётся. Как человек со степенью по физическому моделированию считаю что этот способ наиболее прикольный, потому что сочетает и интуитивное понимание физика и прагматичностью инженера. Но тут, можно в принципе удариться в романтизм и сказать, что это как и в любом искусстве, должно быть место персональному стилю. 👩‍🎨

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

Этот же пост в Telegram ↗