Новая ИИ-система предсказывает свойства молекул на основе малых данных

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

Исследователи из MIT и MIT-Watson AI Lab разработали новый унифицированный фреймворк, который может одновременно предсказывать молекулярные свойства и генерировать новые молекулы гораздо эффективнее популярных подходов глубокого обучения.

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

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

Этот метод превзошёл другие подходы машинного обучения как на малых, так и на больших наборах данных и смог точно предсказывать молекулярные свойства и генерировать жизнеспособные молекулы при наличии набора данных, содержащего менее 100 образцов.

Изучение языка молекул

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

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

Система изучает продукционные правила для молекулярной грамматики с помощью обучения с подкреплением. Чтобы ускорить процесс, исследователи разделили молекулярную грамматику на две части:

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

Большие результаты на малых данных

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

Метод был особенно эффективен для предсказания физических свойств полимеров, таких как температура стеклования (glass transition temperature). Получение этой информации вручную часто крайне затратно, так как эксперименты требуют очень высоких температур и давлений.

Чтобы проверить подход, исследователи сократили один обучающий набор более чем вдвое — до всего 94 образцов. Их модель по-прежнему показала результаты, сопоставимые с методами, обученными на полном наборе данных.

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