Разработчики из Mail. Ru Group, Insilico Medicine и МФТИ впервые применили нейронную сеть к созданию новых лекарственных препаратов. Использование технологий генеративных нейронных состязательных сетей, обученных «придумывать» молекулярные структуры, может в разы сокращать время и стоимость поиска веществ, обладающих потенциально лечебными свойствами. Исследователи предполагают возможное применение этих технологий для поиска новых препаратов в самых разных областях от онкологии до сердечно-сосудистых заболеваний. Результаты опубликованы в рецензируемом журнале Оncotarget.

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

За основу была взята архитектура состязательных автокодировщиков, являющаяся расширением генеративных состязательных сетей. Для обучения использовались молекулы с известными лечебными свойствами и эффективной концентрацией. Информацию о такой молекуле подавали на вход сети. Сеть настраивали так, чтобы на выходе получить точно такие же данные. Она была составлена из трёх структурных элементов — кодировщика, декодера и дискриминатора, — каждый из которых выполнял свою специфическую роль, «сотрудничая» с двумя другими. Кодировщик совместно с декодером обучался сжимать и затем восстанавливать информацию об исходной молекуле, а дискриминатор помогал сделать сжатое представление более подходящим для последующего восстановления. После того как сеть обучалась на множестве известных молекул, кодировщик вместе с дискриминатором «выключались», и сеть, используя декодер, генерировала описание молекул уже сама.

Обучение нейронных сетей зависит от количества входных данных и от размеров самой сети. В среднем хорошая нейронная сетка обучается в течение недели [зависит как от сети, так и от данных и железа]. То, насколько хорошо идёт воспроизведение, влияет конфигурация слоев. Поиск наиболее оптимального решения архитектуры сети может занять несколько месяцев. Настройка нейронной сети — это целое искусство.

Все молекулы имеют представление в виде смайлзов — буквенных аннотаций химического вещества, которые позволяют восстановить его структуру. Стандартная запись, которой обучали в школе, не подходит для обработки сетью, но и смайлз не очень подходит — он имеет произвольную длину от одной буквы до 200. Для обучения нейронной сети требуется одинаковая длина описания (вектора). Решает эту задачу фингерпринт, в переводе «отпечаток пальца» молекулы. Фингерпринт содержит в себе всю информацию о молекуле. Существует множество способов построения «отпечатка», исследователи использовали самый простой бинарный из 166 цифр. Они конвертировали смайлзы в фингерпринты и на них уже обучали сеть.

На вход нейронной сети подавались «отпечатки» известных лекарственных молекул. Сеть должна была распределить веса параметров внутренних нейронов так, чтобы при заданном входе получился заданный же выход. Эта операция повторялась много раз — так происходит обучение на большом количестве данных. В результате получается «чёрный ящик», который умеет при заданном входе давать заданный выход. Затем разработчики убрали первые слои, и сеть генерировала фингерпринты при обратном прогоне уже сама. Учёные построили «отпечатки» для всех 72 млн молекул и далее сравнивали сгенерированные сетью фингерпринты с базой.

Отобранные молекулы должны потенциально обладать заданными качествами.