В Википедии раньше было шутливое определение искусственного интеллекта: «ИИ значит “почти изобретено”» (AI — Almost Invented). Мне оно очень нравится. Искусственный интеллект решает такие задачи, которые, кажется, вроде бы можно решить, но это кажется чем-то необычным и новым. Как только их выполняют, то критики часто говорят: «Это же не ИИ, он ничего не придумывает, это ж просто вычисления». По сути, эти вычисления стали основой нашей работы.
На чем строится разработка
Технология состоит из трех частей. Первая — это нейронная сеть, которая создаёт новые тексты, если дать ей прочесть много старых. Такие генеративные нейросети сегодня используются повсеместно. Вторая часть разработки — это способ представления всей химической реакции в виде текста. Помимо реагентов и продуктов, в нем кодируется информация о реакционном центре: какие связи разрываются или образуются в ходе реакции. Третья — это фильтр, который позволяет отбирать и выкидывать то, что уже известно или неинтересно. Система работает благодаря всем этим элементам: ИИ «кушает» тексты, а потом воспроизводит их в виде химических реакций.
История создания
У нас в магистратуре был студент, Борис Саттаров. После первого года обучения он поехал по двойной программе в Страсбург. В это время (где-то в 2016-2017 годах) только начинали развиваться нейронные сети. Появились первые работы в этом направлении: стало понятно, что там есть что-то интересное. Тогда нейронными сетями и глубоким обучением не занимались ни в Страсбурге, ни в Казани. Борис был очень деятельным и заявил, что он хочет это изучать. Наш коллега из МГУ, Игорь Баскин, который защитил докторскую диссертацию по классическим (как сейчас принято говорить shallow — “мелким”) нейронным сетям, согласился помочь Борису с дипломной работой. Нужно было не просто воспроизвести какие-то результаты, а придумать что-то новое.
На тот момент были опубликованы статьи, в которых описывался автокодировщик — нейронная сеть, которая позволяет кодировать и воспроизводить тексты. Он состоял из двух частей — из кодировщика и декодировщика. Перед кодировщиком (энкодером) стояла задача превратить текст в набор чисел. Декодировщик должен был, наоборот, ее восстановить в исходный текст. Исследователи тренировали глубокий кодировщик на SMILES — это способ представления химических соединений с помощью буквенных строк. Сама идея может показаться бессмысленной, но нужно учитывать тот факт, что декодировщику можно давать и какие-то новые наборы чисел. Тогда он будет генерировать новые тексты и, следовательно, SMILES, т. е. новые молекулы.
Дальше мысль была такая: просто так генерировать молекулы неинтересно. Надо создавать соединения, которые обладают определённым свойством. У Игоря Баскина возникла идея, что можно полученные из кодировщика наборы чисел превратить в двухмерную карту. Коллеги из лаборатории хемоинформатики Страсбургского университета, которой руководит профессор Александр Варнек, обладали огромным опытом работы с картами молекул, они развивают свой способ картирования химического пространства — Генеративные топографические карты, или GTM. Они показали, что эти карты можно использовать для визуального анализа химического пространства: узнать, где есть пустоты, какие наборы соединений имеют много похожих структур. Эти же карты можно использовать и для предсказания свойств молекул. Если две молекуле на карте оказываются рядом, значит, они довольно схожи и можно с высокой вероятностью полагать их свойства схожими.
Особенность GTM, однако, в том, что с его использованием можно генерировать наборы чисел, которые попадают в определенные зоны карты. Таким образом, в Страсбурге реализовали инструмент, который может создавать молекулы с заданной биологической активностью. Исследователи выделили интересующие участки на карте и генерировали строки чисел, которые будут ложиться в эту же область. Потом эти строчки давали декодировщику, и он превращал их в молекулы. Это была первая часть, которую придумали наши коллеги из Страсбургского университета.
Время реакций
Поскольку мы в Казани занимались химическими реакциями с 2013 года, то естественно возникла идея: почему бы не применить инструмент наших коллег из Страсбурга на них? Можно же взять реакции, положить на карту, а потом моделировать новые. Вопрос, как сделать так, чтобы представить реакции в виде текста? Проблема здесь была в том, что обычный SMILES для этого не подходил. Он был слишком длинный, одни и те же атомы фигурировали в реагентах и продуктах. Если молекула нарисует в продуктах что-то, что не имеет отношения к реагентам, то это очевидно ошибка. Но понять, что не так, автоматически нельзя. По данной причине реакционные SMILES не подходят для обучения автокодировщика.
Здесь я вспомнил идею, которая появилась у меня ещё в 2012-2013 году, когда проходил постдокторантуру в Страсбурге. Поскольку по образованию я органический химик, уже тогда по предложению директора лаборатории Александра Варнека начал заниматься информатикой реакций. Однажды у меня родилась идея, что с помощью подхода Конденсированного графа реакций, КГР, можно сделать короткий SMILES и закодировать в нем реакцию целиком. Дело в том, что КГР записывает не молекулы реагентов и продуктов, а в нем кодируется, какие связи и как надо поменять в реагенте, чтобы получить продукт. Поэтому можно точно понять, что именно за реакция имеется в виду. Я даже тогда поделился этим с одним из аспирантов в лаборатории, Кристофом Мюллером, который тоже работал по этой теме. Однако он мне задал резонный вопрос: «Слушай, а зачем это нужно вообще? Да, интересно придумано, только зачем?».
Идея была благополучна уложена в долгий ящик по причине отсутствия в ней всякой необходимости. Когда появился автокодировщик и возникла мысль, что неплохо было добавить туда реакции, я вспомнил свою идею. Мои коллеги Тимур Гимадиев и Рамиль Нугманов реализовали программу для того, чтобы писать и читать такие SMILES для КГР. Это была вторая часть марлезонского балета.
В итоге мы объединили наши идеи и смогли с помощью автокодировщика и карт создавать реакции определенного типа. Наша команда брала и представляла реакции в виде SMILES. На них тренировали кодировщик, а затем получившиеся вектора чисел добавляли на карту. На карте находили интересные для нас типы реакций и генерировали сначала строчки чисел из этой области карты, а дальше и сами реакции с помощью декодировщика. Поскольку последнюю часть работы делали наши коллеги из университета Хоккайдо, то там стали генерировать реакции Судзуки. Дело в том, что Акира Сузуки, лауреат Нобелевской премии, работал в этом университете.
Тут мы столкнулись с трудностями. Нейронная сеть часто создавала тривиальные, но иногда странные или даже невозможные с точки зрения химии реакции. Возникла необходимость придумать способ, который позволит выявлять и выкидывать а) то, что уже известно и, следовательно, неинтересно, б) те реакции, которые неизвестны, но возможны и в) реакции, которые неизвестны и, скорее всего, невозможны. Мы заставили нейронную сеть креативить, но она перестаралась. Алгоритм не знает химии и не ориентируется на то, чтобы генерировать что-то разумное. Ему главное было сделать что-то новое. Был придуман фильтр, который позволял выявлять такие старые реакции и отличать то, что ново и разумно, от того, что ново, но неразумно. В этой части кроется самая большая сложность, тут есть еще над чем поработать и подумать.
Научная работа
В статье в «Scientific Reports» мы проверили, как технология может генерировать новые реакции. Часть из них оказалась открытой, уже известной. Дело в том, что наша модель училась на относительно маленьком наборе данных — 1 млн. реакций из патентов, которые опубликовали до 2016 года. Оказалось, что некоторые новые придуманные нейросетью реакции люди уже успели открыть. И это большой успех значит, что они возможны! Получается, алгоритм может придумывать что-то примерно так, как человек. Это показывает, что он готов к своей миссии, но это ещё проба пера. Система требует дополнительных улучшений, и их довольно много.
Во-первых, какая-то часть сгенерированных SMILES не смогли разобраться обратно в химическую структуру. Это значит, что модель не очень хорошо выучила химию. Во-вторых, она все-таки периодически слишком сильно фантазирует. Мы обнаружили такую особенность: если ты просишь нейросеть создать что-то совсем новое, она периодически идёт вразнос. Алгоритм начинает генерировать не просто необычные реакции, а крайне странные молекулы. Они едва ли могут существовать вообще. Хотелось бы, чтобы нейронная сеть генерировала новые реакции для относительно обычных молекул. Сейчас у нас появился доступ к большой базе «REAXYS», в ней почти 50 млн. химических реакций. Чем больше данных будет, тем умнее, скорее всего, станет искусственный интеллект.
О крае и природе искусственного интеллекта
Нижний край искусственного интеллекта находится там, где уже что-то достигнуто, а верхний, по сути, это человеческий разум. Нейросети сейчас — это не Терминатор из фильма, который может себя осмыслить, создаться сам или понимать, что происходит. Они изобретаются для решения конкретной задачи определенным способом. Например, хотите выкопать яму в земле. Для этого вам нужен трактор. У него должен быть ковш, который будет вынимать землю. Сам трактор собирается из отдельных деталей: колес, двигателя, руля и так далее. С нейронными сетями так же.
Когда вы хотите создать нейросеть, которая решает определенную задачу, вы собираете ее из кусочков, как «Лего». До Терминатора современному ИИ пока еще далеко. В этой области вообще есть много нерешенных проблем, которые связаны с тем, что нейронная сеть не может мыслить самостоятельно. Например, сложности заключаются в том, чтобы воплотить эмоциональную сторону дела, вложить в них совесть, страх, мораль и т.д.
Если говорить о том, что может сделать искусственный интеллект в химии, то простор ещё довольно большой. Нужно сказать, что область ИИ в химии только начала развиваться, поэтому сейчас есть две крайности. Первая — это называть ИИ любое машинное обучение. Вторая проблема — наоборот, говорить, что это всё не ИИ, а машинное обучение. Обе точки зрения имеют право на жизнь, вопрос в определениях. Сейчас основной интерес в использовании искусственного интеллекта в области химии — это создание подходов, которые могут генерировать молекулы с заданными свойствами и способами их получения. Над этим мы уже давно работаем в нашей лаборатории. И сейчас у нас есть много интересных проектов, в том числе с индустриальными партнерами.
Эпилог. Смогут ли технологии обойтись без человека в производстве лекарств?
В будущем задачи химии можно будет автоматизировать — сделать химических роботов. У нас в университете я совсем недавно возглавил лабораторию Интеллектуальной химической робототехники при поддержке нацпроекта “Наука”. Мы хотим создавать роботов, которые смогут брать часть рутинной химической работы на себя. Например, будут синтезировать и изучать молекулы, искать самые интересные из них. Как суперцель мы хотим, чтобы робот мог полностью самостоятельно находить новые биологически активные молекулы. Он не сможет делать лекарства, но может сильно помочь в ускорении процессов. Ведь лекарства — это не просто биологически активные молекулы. Лекарственные средства должны быть безопасными для организма и обладать определенным набором фармакологических свойств. Наконец, молекулам необходимо пройти испытания на животных и клинические испытания. Эти процессы, конечно, нельзя автоматизировать. Поэтому в обозримом будущем лекарство нельзя будет создать без участия человека. Но вот биологически активную молекулу найти можно. Прототипы таких роботов есть уже сейчас и мы хотим подключиться к гонке.
Сначала мы планируем сделать инструмент, который предсказывает молекулу с нужными свойствами. Потом мы используем подход, который подсказывает способ синтеза этой молекулы. Программа должна дать команду химическому роботу, и он проведёт последовательность операций, которую предсказала модель. Отдельно мы должны научиться предсказывать условия синтеза: концентрацию веществ, их порядок введения и количество. Мы уже активно работаем по всем направлениям. Я думаю, что в ближайшие годы работа в области ИИ в химии будет смещаться именно в сторону автоматизации процесса создания лекарств и синтеза молекул.
Когда вы найдёте молекулу, которая обладает нужной биологической активностью, это только начальный этап разработки лекарств. Следующая задача будет уже оптимизировать, искать безопасные варианты и тестировать на побочную активность. На этой ступени все равно пока нужен человеческий опыт. Да, можно использовать дополнительные модели, которые вычислят какие-то параметры. Однако точность таких моделей ещё не достигла качества, когда можно говорить о замещении реального эксперимента теорией.
На последнем этапе надо протестировать молекулы на животных и человеке. Понятно, что никто не хочет быть подопытным кроликом и принимать недостаточно надежно испытанную молекулу. Поэтому такой эксперимент пока невозможно провести в автоматизированном режиме. Все эти этапы пока не могут быть полностью заменены технологиями. В любом случае, только на самых ранних стадиях возможно заместить часть человеческого труда.
Но развитие технологий ИИ сейчас испытывает настоящий бум и развивается очень быстро: уже 4 молекулы, созданные при участии ИИ, находятся на стадии клинических испытаний. Пока в их разработке не участвовали химические роботы, но будущее гораздо ближе, чем кажется на первый взгляд. Ведь еще 5 лет назад использование ИИ для генерации новых молекул казалось фантастикой.