Изменения

Перейти к: навигация, поиск

Машинное обучение в медицине

49 байт добавлено, 15:24, 6 января 2021
Нет описания правки
Машинное обучение в медицине начали применять еще в 2000-ых, и сейчас машинное обучение, а в частности, нейронные сети пытаются решать огромное количество задач по диагностике заболеваний и дизайну лекарств. Эти задачи относят к обучению с учителем или с частичным привлечением учителя. Кроме того, машинное обучение стали применять в персонализированной медицине и генерации данных различных исследований для анонимизации данных пациентов. В этих задачах сейчас все больше применяют обучение с подкреплением и обучение без учителя, в частности, [[Generative Adversarial Nets (GAN) |Генеративные состязатлеьные состязательные сети]].
==Диагностика заболеваний по результатам рентгенологических и УЗИ исследований==
Одна из главных задач машинного обучения при поиске новых лекарств {{---}} сужение круга их поиска. Чаще всего фармацевтические компании имеют на руках библиотеки с огромным количеством веществ, которые они потенциально могут синтезировать и опробовать в качестве лекарства. Но обычно размеры этих библиотек составляют тысячи молекул, поэтому синтезировать и проверить каждую из них не представляется возможным. В этом случае прибегают к предсказанию некоторых свойств этих молекул, которые точно определяют, может ли молекула быть использована как лекарство. Для предсказания свойств молекул обычно используют молекулярный граф {{---}} графическое представление молекулы (ее атомов и связей).
Первые нейронные сети для предсказания молекулярных свойств использовали Моргановские фингерпринты (англ. Morgan fingerpints), которые для каждого атома в молекуле выделяли всех его соседей на каком-то определенном расстоянии (которое является гиперпараметром) и смотрели на наличие такой подструктуры в молекуле. Получался аналог некоторого оne-hot кодирования. Впоследствии этот метод был несколько усовершенствован, и стали смотреть не на наличие подструктуры, а на то, сколько раз она встречается в молекуле. Прорыв в этой области случился с появлением сети NeuralFingerprints <ref>[https://arxiv.org/abs/1509.09292 Duvenaud et al., Convolutional Networks on Graphs for Learning Molecular Fingerprints, 2015]</ref>, которая является примером одной из первых попыток применения [[графовые нейронные сети|графовых нейронных сетей ]] в этой области.
NeuralFingerprints принимает один гиперпараметр - максимальное расстояние, которое нужно учитывать при просмотре соседей каждого атома. После этого для каждого расстояния для каждого атома суммируются атомные представления его соседей на текущем расстоянии. Таким образом, получается векторное представление текущего атома фиксированной длины, которая равна количеству свойств у одного атома. Каждый элемент такого представления умножается на обучаемый параметр, уникальный для номера свойства и текущего рассматриваемого расстояния. После этого применяется функция активации к полученному ранее вектору, умноженному на вес, отвечающий за текущее расстояние. Полученные результаты для каждого из атомов на каждом из расстояний суммируются и получается результирующий вектор свойств для молекулы. Таким образом, в этой сети обучаемые параметры {{---}} веса для каждого из свойств атомов на каждом расстоянии (<tex>H^i_j</tex>, где <tex>i</tex> {{---}} индекс номера свойства (в модели их всего 5), <tex>j</tex> {{---}} индекс для текущего расстояния) и веса для каждого из расстояний (<tex>W_j</tex>, где <tex>j</tex> {{---}} индекс для текущего расстояния). Псевдокод представлен ниже.
Анонимный участник

Навигация