174
правки
Изменения
→Генерация молекулярных структур
===Генерация молекулярных структур===
[[Файл:Ranc scheme.png|thumb|Рисунок 10. Пример генеративной состязательной сети для лекарственных молекул. Сеть RANC (Reinforced Adversarial Neural Computer) <ref>[https://pubs.acs.org/doi/10.1021/acs.jcim.7b00690 Evgeny Putin et al., Reinforced Adversarial Neural Computer for de Novo Molecular Design, 2018]</ref>.]]
Еще одна задача, которая есть сейчас в мире машинного обучения {{---}} генерировать новые молекулы, которые могут потенциально быть лекарствами. В отличие от подхода с анализом уже существующих библиотек лекарств, такая модель исключает возможность "пропустить" хорошо походящее вещество из-за того, что оно не было включено в библиотеку для анализа. Для этого используют [[Generative Adversarial Nets (GAN)|генеративные состязательные сети]] (рис. 10). Основное преимущество такого подхода заключается в томТаким образом, что при работе с библиотеками уже синтезированных лекарств есть вероятность "пропустить" важное соединение просто потому, что в этой библиотеке его не было. Поэтому этом случае используется абсолютно другой подход {{---}} предлагается наоборот генерировать различные молекулы, а уже потом проверять, действительно ли их можно использовать как лекарство и насколько сложно их синтезировать. Часто эти свойства (схожесть к лекарственным средствам и синтезируемость) вносят в метрику качества генератора, поскольку часто модели генерируют молекулы, которые невохможно синтезировать даже с точки зрения валентности<ref>[https://ru.wikipedia.org/wiki/%D0%92%D0%B0%D0%BB%D0%B5%D0%BD%D1%82%D0%BD%D0%BE%D1%81%D1%82%D1%8C Википедия: Валентность]</ref> атомов.
SMILES {{---}} способ однозначного задания молекулы при помощи строки. Таким образом, задача генератора {{---}} сгенерировать такую строку SMILES для молекулы, чтобы дискриминатор не отличил ее от настоящей. Архитектура дискриминатора чаще всего остается очень похожей на архитектуру обычной сети, предсказывающей молекулярные свойства. Таким образом, в качестве дискриминатора часто используются графовые или сверточные нейронные сети. Для генератора же часто используют механизм памяти, чтобы сеть помнила, какие части уже были сгенерированы и отталкивалась от них.