Войти в почту

Нейронная сеть научилась называть органические молекулы

Российские ученые разработали нейронную сеть для генерации названий органических соединений в соответствии с системой наименований химических соединений ИЮПАК. Так они показали, что современным нейросетям по силам решать точные алгоритмические задачи. Статья опубликована в журнале Scientific Reports.В химии существует общепринятый язык для записи названий органических соединений — номенклатура ИЮПАК, Международного союза теоретической и прикладной химии. Например, сахароза в соотвествии с ней называется (2R,3R,4S,5S,6R)-2-[(2S,3S,4S,5R)-3,4-дигидрокси-2,5-бис(гидроксиметил)оксолан-2-ил]окси-6-(гидроксиметил)оксан-3,4,5-триол. Подобное название полностью отражает химическую структуру вещества, а ошибка даже в одном символе может оказаться критичной. На рынке есть коммерческие программные продукты для компьютерной генерации названий по ИЮПАК, однако нет программ под свободной лицензией. Ученые из Сколтеха, МГУ имени М. В. Ломоносова и компании Syntelly решили эту проблему.За основу алгоритма исследователи взяли Трансформер — одну из самых мощных современных нейросетей компании Google для перевода с одного языка на другой. Команда обучила Трансформер «переводить» молекулу из структурного представления в наименование по ИЮПАК и наоборот. Для обучения и тестирования сети авторы использовали крупнейшую открытую базу PubChem, содержащую около 100 млн. соединений. Нейросеть оказалась способна «переводить» почти с той же точностью (около 99%), что и алгоритмические решения на базе химических правил.«И человек, и нейронная сеть хорошо справятся, к примеру, с задачей различения фотографий кошек и собак, для которой невозможно эффективное алгоритмическое решение без машинного обучения. В то же время человек плохо перемножает многозначные числа, а простейший калькулятор делает это мгновенно и с абсолютной точностью — это пример чисто алгоритмической задачи, как и генерация названий по номенклатуре ИЮПАК, — говорит руководитель исследования Сергей Соснин. — Ранее господствовала парадигма, что нейросети не следует применять для решения таких “точных” задач, мы же показали, что это может быть разумной альтернативой сложным алгоритмическим решениям. В машинном переводе, например, допустимы замены слов на синонимы, но в нашей задаче ошибка даже в одной букве приводит к полностью неправильной молекуле. И тем не менее, Трансформер успешно справляется с этой задачей».Нейросеть доступна онлайн. Исследователи надеются, что их метод можно будет применять не только для перевода между химическими нотациями, но и для других технических нотаций, например, для генерации математических формул или трансляции компьютерных программ.Подписывайтесь на InScience.News в социальных сетях: ВКонтакте, Telegram, Facebook и Twitter.

Нейронная сеть научилась называть органические молекулы
© InScience