Кондитер украшает торт: он не лепит всё сразу, а выдавливает узор шаг за шагом, поворачивая насадку под нужным углом. Примерно так же работает новая модель искусственного интеллекта под названием Atomic Design Transformer (ADT). Она строит трёхмерные молекулы атом за атомом, каждый раз выбирая, какой элемент добавить и куда именно его прикрепить — относительно уже стоящих «соседей».
Хитрость в том, что ADT не привязана к глобальной системе координат. Для каждого нового атома она использует локальную систему отсчёта одного из ранее размещённых атомов — так достигается независимость от поворотов и переносов всей молекулы (свойство, которое физики называют SE(3)-инвариантностью). Сама сеть устроена как обычный причинный трансформер — архитектура, лежащая в основе многих языковых моделей, только здесь она предсказывает не следующее слово, а следующий атом.
Испытания на наборе данных GEOM-Drugs показали, что одна и та же обученная модель может работать с разными химическими «каркасами» — от простого бензольного кольца до шестичленных гетероциклов (пиридин, пиримидин, пиразин) и даже фурана с тиофеном. XVR менялся от 11% для пиразина до почти 30% для бензола — скромные, но честные цифры для задачи генерации лекарственно-подобных молекул. При этом качество отдельных связей и углов оставалось высоким даже для более крупных молекул (до 50 атомов). Генерация быстрая, а разнообразие структур — приличное, что делает ADT хорошим «генератором идей» для поиска новых лекарств.
Молекулы в наборе GEOM-Drugs — это реальные соединения из баз данных, многие из которых уже используются в фармацевтике. ADT учится на их форме и может предлагать новые, ещё не синтезированные варианты.
Похожий подход описан в рассказе Станислава Лема «Молох»: там компьютер собирал молекулы по заданным свойствам, пока не создал идеальный яд.