Привет, Хабр! Продолжаем нашу серию статей о суррогатном моделировании, на этот раз расскажем, как мы применили нейросети при создании сложных технических систем – приспособили GRU в качестве суррогатной модели. Реальный кейс для клиента в рамках реального проекта.
Поставим нейросети обучение на службу проектировщику. Полетели!
Продолжаем серию постов об одном очень полезном методе из мира машинного обучения, цель которого – существенно ускорить инженерное проектирование. Мы с вами уже научились обучать легкие модели на замену мощным и детальным инженерным пакетам для симуляции сложных систем. Теперь научимся делать так, чтобы наши суррогатные модели точно отражали изучаемое явление в нужных пределах, при этом требовали бы как можно меньше данных и очень быстро обучались.
Тема супер интересная, поэтому мы сделали перевод отличной статьи авторства Шуая Гуо, и на ее основе делимся своим опытом и кодом на MATLAB, чтобы вы могли все попробовать сами.
Что вам важнее в DL-проекте, удобство или производительность? Посмотрим на проблему глазами инженера-разработчика сложных систем с элементами искусственного интеллекта. Как типичный инструментарий в этой сфере справляется с обучением и выполнением?
В этой статье мы запустим пару нейросетей в MATLAB и сравним быстродействие ResNet с opensource-фреймворками. Так что, если хотите обсудить, в чем (кроме удобства) коммерческий фреймворк может выиграть у опенсорса, добро пожаловать!
Представьте, что кто-то создал для нас очень детальную имитационную модель сложнейшей системы (спасибо!). Теперь нам её эксплуатировать, мы же проектировщики, так что поищем оптимальную конфигурацию (миллион комбинаций параметров), прогнав для каждой из них по миллиону экспериментов (погода, реакция всяких агентов и просто для накопления статистики...). И тут нас настигает понимание того, что задача будет решаться несколько недель. Потратить время на упрощение модели вручную, или задействовать машинное обучение?
Продолжаем ускорять инженерное проектирование при помощи суррогатных моделей. Суррогатное моделирование – это обучение статистической модели, которая послужит дешевым, но точным заменителем тяжелой имитационной модели при выполнении самых разных задач проектирования. Мы дополнили исходную статью своим кодом, который вы легко запустите и сами оцените мощь этого подхода.
При поиске параллельных корпусов для своих нужд, — это может быть обучение модели машинного перевода или изучение иностранного языка, можно столкнуться с тем, что их не так уж и много, особенно, если речь идет не об английском, а каком-то редком языке. В этой статье мы попробуем создать свой корпус для популярной языковой пары русский-немецкий на основе романа Ремарка "Три товарища". Любителям параллельного чтения книг и разработчикам систем машинного перевода посвящается.
Задача
Такая задача называется выравниванием текстов и может быть до какой-то степени решена следующими способами:
Использовать эвристики. Можно считать количество предложений в текстах, количество слов в них и на основе этого производить сопоставление. Такой способ не дает хорошего качества, но может тоже быть полезным.
Использовать sentence embeddings. Наверняка вы слышали про модели типа word2vec или sent2vec или видели такой пример их использования — "король" + "женщина" — "мужчина" = "королева". Если коротко, то суть в том, чтобы перевести слова (предложения, тексты) в векторное пространство с сохранением семантического расстояния между ними. Такой подход открывает перед нами замечательные возможности по оценке близости текстов и их кусочков по смыслу.