Изменения

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

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

2314 байт добавлено, 19:30, 4 сентября 2022
м
rollbackEdits.php mass rollback
В диагностике заболеваний есть большое количество задач, которые можно решить при помощи машинного обучения, а в частности, при помощи анализа результатов различных исследований, таких как рентген, УЗИ или МРТ. В основном задача любой модели сводится к предсказанию, болен ли человек сейчас. В зависимости от целей исследования используют разные типы [[Общие понятия#Типы задач|классификации]]: обычную (рис. 1), мультиклассовую или вероятностную (рис. 2).
Для решения таких задач чаще всего используют [[глубокое обучение]]. Такие модели Модели на вход получают картинку подается картинка с рентгенологическим или ультразвуковым исследованием пациента , и по ним предсказывают наличие болезни. Обычно внутри таких моделей-классификаторов лежат [[сверточные нейронные сети]], а иногда к ним добавляется [[механизм внимания]]. За основу берутся state-of-the-art модели в области сверточных нейронных сетей, такие как GoogLeNet<ref>[https://static.googleusercontent.com/media/research.google.com/ru//pubs/archive/43022.pdf Szegedy et al., Going Deeper with Convolutions, 2015. GoogLeNet.]</ref>, при этом точность предсказаний превышает 90%. Такие модели учатся на размеченных тренировочных наборах данных, поэтому их можно отнести к обучению с учителем. Большое распространение такие классификаторы получили в предсказании злокачественности новообразований, классификации заболеваний легких, подборе дозы контраста при проведении МРТ.
===Применения===
Основная проблема, с которой сталкиваются такие модели {{---}} необходимость очень точно определять границы объекта на сгенерированном изображении, а также не допускать размытости. Эти две проблемы долгое время не получалось решить без большого количества реальных данных, вследствие чего не было возможным применение сгенерированных изображений на практике.
Сильно улучшить поведение моделей удалось путем использования [[Generative Adversarial Nets (GAN)#Ошибка Вассерштейна|метрики Вассерштейна]]<sup>[на 09.01.21 не создан]</sup>. Интуитивно, если каждая мера измеряет распределение «грунта» по метрическому пространству, то расстояние Вассерштейна измеряет минимальную стоимость преобразования одного распределения грунта в другое, при этом предполагается, что стоимость прямо пропорциональна количеству грунта и расстоянию, на которое его надо перетащить. Использование такой метрики в GAN помогло сильно улучшить поведение моделей при генерации данных МРТ исследований. На рисунке 4 Одной из моделей, в четвертой строке показаны изображения, сгенерированные при помощи сети, использующей которых стали применять метрику Вассерштейнадля генерации изображений исследований, стала 3D-alpha-WGAN (рис. 4).
==Персонализированная медицина==
При поиске новых лекарственных средств часто прибегают к помощи машинного обучения в таких задачах, как предсказание молекулярных свойств потенциальной молекулы лекарства, формы какого-либо белка, активности взаимодействия между веществами.
===Предсказание молекулярных свойств===
[[Файл:MoleculeGNN.PNG|400px|thumb|Рисунок 7. Молекулярный графПример молекулярного графа]]
[[Файл:Morgan fingerprint.jpg|400px|thumb|Рисунок 8. Пример Morgan Fingerprint для молекулы<ref>[https://www.sciencedirect.com/science/article/abs/pii/S1046202314002631 Adrià Cereto-Massagué et al., Molecular fingerprint similarity search in virtual screening, 2015]</ref>.]]
Одна из главных задач машинного обучения при поиске новых лекарств {{---}} сужение круга их поиска. Чаще всего фармацевтические компании имеют на руках библиотеки с огромным количеством веществ, которые они потенциально могут синтезировать и опробовать в качестве лекарства. Но обычно размеры этих библиотек составляют тысячи молекул, поэтому синтезировать и проверить каждую из них не представляется возможным. В этом случае прибегают к предсказанию некоторых свойств этих молекул, которые точно определяют, может ли молекула быть использована как лекарство. Для предсказания свойств молекул обычно используют молекулярный граф (рис. 7) {{---}} графическое представление молекулы (ее атомов и связей). Пример молекулярного графа можно увидеть на рисунке 7.
Первые нейронные сети для предсказания молекулярных свойств использовали Моргановские фингерпринты (англ. Morgan fingerpints), которые для каждого атома в молекуле выделяли всех его соседей на каком-то определенном расстоянии (которое является [[Настройка гиперпараметров#Гиперпараметры|гиперпараметром]]) и смотрели на наличие такой подструктуры в молекуле (рис. 8). Получался аналог [[Векторное представление слов#One-hot encoding|оne-hot кодирования]]. Впоследствии этот метод был несколько усовершенствован, и стали смотреть не на наличие подструктуры, а на то, сколько раз она встречается в молекуле. Прорыв в этой области случился с появлением сети NeuralFingerprints <ref>[https://arxiv.org/abs/1509.09292 Duvenaud et al., Convolutional Networks on Graphs for Learning Molecular Fingerprints, 2015]</ref>, которая является примером одной из первых попыток применения [[графовые нейронные сети|графовых нейронных сетей]] в предсказании свойств молекул.
Предсказание формы белка {{---}} другая очень важная задача машинного обучения в фармацевтике. С возникновением технологий секвенирования ДНК у сообщества появилась возможность быстро и достаточно качественно прочитывать белковые последовательности, но получать пространственную структуру полученных белков экспериментально все еще очень трудоемко и дорого. Тем не менее, знать пространственную структура белка очень важно, поскольку от нее сильно зависят типы соединений, которые могут связаться (прореагировать) с этим белком. Например, при подборе потенциальной вакцины, необходимо точно знать форму антитела, чтобы понимать, сможет ли это соединение захватить мишень (вирус, бактерию, белок).
Предсказание формы белков основано на нейронных сетях, которые как вход используют очень длинную аминокислотную последовательность (размер алфавита ограничен {{---}} всего различных аминокислот 20), а на выходе должны предсказать значения торсионных углов<ref>[https://kodomo.fbb.msu.ru/~youthofchemist/projects/Term_1/Protein/phipsi.html Торсионные углы]</ref> между аминокислотами. В декабре 2020 года DeepMind (исследовательское подразделение Google) заявили, что решили проблему пространственной структуры белка<ref>[https://meduza.io/feature/2020/12/13/fundamentalnaya-problema-belka-reshena-uchenye-bilis-nad-ney-polveka-no-vse-sdelali-programmisty-google-i-eto-mozhet-byt-ochen-vazhno-dlya-meditsiny Фундаментальная «проблема белка» решена]</ref>. Краткое графическое представление архитектуры AlphaFold2 можно увидеть на рисунке 9. Авторы модели утверждают, что значение метрики глобального расстояния (англ. global distance test) в их сети AlphaFold2 (рис. 9) превысило 90%. Метрика глобального расстояния {{---}} это метрика, которая вычисляется для каждой аминокислоты как процент атомов углерода из главной цепи белка, которые в сгенерированном белке расположены не более чем на расстоянии какого-то определенного количества ангстрем от соответствующего атома углерода в исходном белке. Обычно это значение берется равным 1, 2, 4 или 8 ангстрем (10<sup>-10</sup>м).
===Генерация молекулярных структур===
[[Файл:SMILES.png|thumb|Рисунок 10. Пример строки SMILES для молекулы<ref>[https://ru.wikipedia.org/wiki/SMILES Википедия: SMILES]</ref>.]][[Файл:Ranc scheme.png|thumb|Рисунок 1011. Пример генеративной состязательной сети для лекарственных молекул. Сеть 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). Основное преимущество такого В отличие от подхода заключается в том, что при работе с библиотеками анализом уже синтезированных существующих библиотек лекарств есть вероятность , такай метод исключает возможность "пропустить" важное соединение просто потомухорошо походящее вещество из-за того, что в этой библиотеке его оно не было. Поэтому используется абсолютно другой подход {{---}} предлагается наоборот генерировать различные молекулы, а уже потом проверять, действительно ли их можно использовать как лекарство и насколько сложно их синтезировать. Часто эти свойства вносят включено в метрику качества генераторабиблиотеку для анализа.
Для кодирования молекулярной структуры существует специальная нотация SMILES (Simplified Molecular Input Line Entry System, с англ. — «система упрощённого представления молекул в строке ввода») {{---}} способ система правил для однозначного задания описания состава и структуры молекулы при помощи химического вещества с использованием строки символов (рис. 10). Таким образом, задача моделей состоит в генерации строки, правильной с точки зрения SMILES. Стоит отметить, что есть возможность сгенерировать правильные SMILES-строки с точки зрения синтаксиса, но не правильные по валентности<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> (например, атом углерода не может иметь валентность больше, чем 4, но можно сгенерировать SMILES, где валентность углерода {{---}} 5.)  Для генерации молекулярных структур используют [[Generative Adversarial Nets (GAN)|генеративные состязательные сети]] (рис. 11). Общую идею подхода можно описать так {{---}} предлагается генерировать различные молекулярные структуры в формате SMILES-строки(это делает генератор), а уже потом проверять, действительно ли их можно использовать как лекарство и насколько сложно их синтезировать (это делает дискриминатор {{---}} пытается отличить сгенерированный SMILES от настоящего).  Дискриминатор обычно проверяет схожесть с лекарственными средствами (по набору физических свойств, таких как растворимость<ref>[https://ru.wikipedia.org/wiki/%D0%A0%D0%B0%D1%81%D1%82%D0%B2%D0%BE%D1%80%D0%B8%D0%BC%D0%BE%D1%81%D1%82 Википедия: Растворимость]</ref>, гидрофильность<ref>[https://ru.wikipedia.org/wiki/%D0%93%D0%B8%D0%B4%D1%80%D0%BE%D1%84%D0%B8%D0%BB%D1%8C%D0%BD%D0%BE%D1%81%D1%82%D1%8C Википедия: Гидрофильность]</ref>, липофильность<ref>[https://ru.wikipedia.org/wiki/%D0%9B%D0%B8%D0%BF%D0%BE%D1%84%D0%B8%D0%BB%D1%8C%D0%BD%D0%BE%D1%81%D1%82%D1%8C Википедия: Липофильность]</ref>) и синтезируемость молекулы с данной SMILES-строкой (по валентностям атомов, кратности связей, заряду молекулы). Таким образом, задача генератора {{---}} сгенерировать такую строку SMILES для молекулы, чтобы дискриминатор не отличил ее от настоящей. Архитектура дискриминатора чаще всего остается очень похожей на архитектуру обычной сети, предсказывающей молекулярные свойства. Таким образом, в В качестве дискриминатора часто используются графовые или сверточные нейронные сети. Для генератора же часто обычно используют [[Долгая краткосрочная память|механизм долгой краткосрочной памяти, чтобы сеть помнила, какие части уже были сгенерированы и отталкивалась от них]].
==См. также==
1632
правки

Навигация