<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
		<id>http://neerc.ifmo.ru/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=188.170.82.221&amp;*</id>
		<title>Викиконспекты - Вклад участника [ru]</title>
		<link rel="self" type="application/atom+xml" href="http://neerc.ifmo.ru/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=188.170.82.221&amp;*"/>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%A1%D0%BB%D1%83%D0%B6%D0%B5%D0%B1%D0%BD%D0%B0%D1%8F:%D0%92%D0%BA%D0%BB%D0%B0%D0%B4/188.170.82.221"/>
		<updated>2026-06-11T20:34:36Z</updated>
		<subtitle>Вклад участника</subtitle>
		<generator>MediaWiki 1.30.0</generator>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%9C%D0%B0%D1%88%D0%B8%D0%BD%D0%BD%D0%BE%D0%B5_%D0%BE%D0%B1%D1%83%D1%87%D0%B5%D0%BD%D0%B8%D0%B5_%D0%B2_%D0%BC%D0%B5%D0%B4%D0%B8%D1%86%D0%B8%D0%BD%D0%B5&amp;diff=77045</id>
		<title>Машинное обучение в медицине</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%9C%D0%B0%D1%88%D0%B8%D0%BD%D0%BD%D0%BE%D0%B5_%D0%BE%D0%B1%D1%83%D1%87%D0%B5%D0%BD%D0%B8%D0%B5_%D0%B2_%D0%BC%D0%B5%D0%B4%D0%B8%D1%86%D0%B8%D0%BD%D0%B5&amp;diff=77045"/>
				<updated>2021-01-09T15:51:08Z</updated>
		
		<summary type="html">&lt;p&gt;188.170.82.221: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Машинное обучение в медицине используют очень активно, находя все больше областей для его применения. Сейчас в медицине используют почти [[Общие понятия#Классификация задач машинного обучения|все виды машинного обучения]]: обучение с учителем, без учителя, с частичным привлечением учителя, с подкреплением. Наиболее активно машинное обучение в медицине используют для решения проблем по диагностике заболеваний и дизайну лекарств. Эти задачи относят к обучению с учителем или с частичным привлечением учителя. Кроме того, машинное обучение стали применять в персонализированной медицине и генерации данных различных исследований для анонимизации данных пациентов. В этих задачах сейчас все больше применяют обучение с подкреплением и обучение без учителя, в частности, [[Generative Adversarial Nets (GAN)|генеративные состязательные сети]]. Машинное обучение в медицине начали изучать еще в 2000-ых и оно продолжает активно развиваться и в наши дни.&lt;br /&gt;
&lt;br /&gt;
==Диагностика заболеваний по результатам рентгенологических и УЗИ исследований==&lt;br /&gt;
&lt;br /&gt;
===Диагностика по изображению===&lt;br /&gt;
[[Файл:Brain tumor mri cnn.jpg|thumb|left|200px|Рисунок 1. Классификация результатов МРТ по наличию опухоли&amp;lt;ref&amp;gt;[https://biomedpharmajournal.org/vol11no3/brain-tumor-classification-using-convolutional-neural-networks/ Seetha J, Raja S. S. Brain Tumor Classification Using Convolutional Neural Networks. Biomed Pharmacol J 2018;11(3).]&amp;lt;/ref&amp;gt;.]]&lt;br /&gt;
[[Файл:Covid cnn recognition.png|thumb|400px|Рисунок 2. Пример вероятностной классификации КТ грудной клетки&amp;lt;ref&amp;gt;[https://arxiv.org/ftp/arxiv/papers/2004/2004.04931.pdf CoroNet: A deep neural network for detection and diagnosis of COVID-19 from chest x-ray images, 2020]&amp;lt;/ref&amp;gt;.]]&lt;br /&gt;
В диагностике заболеваний есть большое количество задач, которые можно решить при помощи машинного обучения, а в частности, при помощи анализа результатов различных исследований, таких как рентген, УЗИ или МРТ. В основном задача любой модели сводится к предсказанию, болен ли человек сейчас (классификация (рис. 1), иногда {{---}} вероятностная классификация (рис. 2)).&lt;br /&gt;
&lt;br /&gt;
Для решения таких задач чаще всего используют [[глубокое обучение]]. Такие модели на вход получают картинку с рентгенологическим или ультразвуковым исследованием пациента и по ним предсказывают наличие болезни. Обычно внутри таких моделей-классификаторов лежат [[сверточные нейронные сети]], а иногда к ним добавляются [[механизм внимания]]. За основу берутся state-of-the-art модели в области сверточных нейронных сетей, такие как GoogleLeNet&amp;lt;ref&amp;gt;[https://static.googleusercontent.com/media/research.google.com/ru//pubs/archive/43022.pdf Szegedy et al., Going Deeper with Convolutions, 2015. GoogLeNet.]&amp;lt;/ref&amp;gt;, при этом точность предсказаний превышает 90%. Такие модели учатся на размеченных тренировочных наборах данных, поэтому их можно отнести к обучению с учителем. Большое распространение такие классификаторы получили в предсказании злокачественности новообразований, классификации заболеваний легких, подборе дозы контраста при проведении МРТ.&lt;br /&gt;
&lt;br /&gt;
===Применения===&lt;br /&gt;
[[Файл:Spine x ray cnn.png|thumb|Рисунок 3. Пример локализации шейного отдела позвоночника на рентгене&amp;lt;ref&amp;gt;[https://lhncbc.nlm.nih.gov/system/files/pub9781.pdf Zhiyun Xue et al., Gender Detection from Spine X-ray Images Using Deep Learning, 2018]&amp;lt;/ref&amp;gt;.]]&lt;br /&gt;
Многие модели учатся не только определять, есть ли опухоль на данном образце, но и локализировать ее (рис. 3). Таким образом, необходимо решить задачу сегментации изображения, то есть выделения каких-то ее наиболее важных частей. Технически задача не сильно отличается от предыдущей и решается все теми же сверточными нейронными сетями.&lt;br /&gt;
&lt;br /&gt;
Поскольку точность предсказаний у описанных выше моделей достаточно высока, их стали применять на практике. Сейчас ведутся исследования по внедрению таких моделей в УЗИ-аппараты для того, чтобы быстрее и точнее определять местоположение и злокачественность опухоли. Кроме того, такие модели стали применять в направленной лучевой терапии, когда злокачественная опухоль облучается различными видами частиц. Известно, что эти частицы уничтожают не только раковые, но и здоровые клетки. Именно поэтому активно внедряются модели, которые могут подсказать аппарату точное направление облучения. Также сверточные сети стали использовать для определения дозы контрастного вещества при МРТ&amp;lt;ref&amp;gt;[https://www.sciencedirect.com/science/article/pii/S0939388918301181 Lundervold et al., An overview of deep learning in medical imaging focusing on MRI, 2019]&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Генерация результатов исследований===&lt;br /&gt;
[[Файл:3d mri models comparison.png|450px|thumb|Рисунок 4. Сравнение различных моделей для генерации 3D изображений МРТ исследований&amp;lt;ref&amp;gt;[https://arxiv.org/pdf/1908.02498.pdf Generation of 3D Brain MRI Using Auto-Encoding Generative Adversarial Networks]&amp;lt;/ref&amp;gt;.]]&lt;br /&gt;
&lt;br /&gt;
Для обучения сверточных нейронных сетей необходимо большое количество данных, которые очень часто достаточно тяжело или даже невозможно получить из-за запрета на использование данных исследований даже в анонимном формате без согласия пациента. Поэтому сейчас для получения достаточно больших датасетов стали применять [[Generative Adversarial Nets (GAN)|генеративные состязательные сети]]. &lt;br /&gt;
&lt;br /&gt;
Задачу таких GAN можно разделить на две: генерация результатов исследований здоровых пациентов и пациентов с патологиями. В случае второй задачи важно, чтобы сгенерированные изображения правильно определялись именно по типу патологии.&lt;br /&gt;
&lt;br /&gt;
Основная проблема, с которой сталкиваются такие модели {{---}} необходимость очень точно определять границы объекта на сгенерированном изображении, а также не допускать размытости. Эти две проблемы долгое время не получалось решить без большого количества реальных данных, вследствие чего не было возможным применение сгенерированных изображений на практике. &lt;br /&gt;
&lt;br /&gt;
Сильно улучшить поведение моделей удалось путем использования [[Generative Adversarial Nets (GAN)#Ошибка Вассерштейна|метрики Васерштейна]]&amp;lt;sup&amp;gt;[на 09.01.21 не создан]&amp;lt;/sup&amp;gt;. Интуитивно, если каждая мера измеряет распределение «грунта» по метрическому пространству, то расстояние Васерштейна измеряет минимальную стоимость преобразования одного распределения грунта в другое, при этом предполагается, что стоимость прямо пропорциональна количеству грунта и расстоянию, на которое его надо перетащить. Использование такой метрики в GAN помогло сильно улучшить поведение моделей при генерации данных МРТ исследований. На рисунке 4 в четвертой строке показаны изображения, сгенерированные при помощи сети, использующей метрику Васерштейна.&lt;br /&gt;
&lt;br /&gt;
==Персонализированная медицина==&lt;br /&gt;
Персонализированная медицина (англ. personalized medicine) {{---}} новая организационная модель построения медицинской помощи пациентам, которая основывается на подборе индивидуальных лечебных, диагностических и превентивных средств, оптимально подходящих по биохимическим, физиологическим и генетическим особенностям организма.&lt;br /&gt;
&lt;br /&gt;
Основная цель нового направления в медицине заключается в персонализации и оптимизации профилактических мероприятий и лечения пациентов для исключения негативных последствий и осложнений, проявляющихся из-за индивидуальных особенностей.&lt;br /&gt;
Основные отрасли медицины, где применяются новые принципы — онкология, фармация и фармакогеномика. Последняя занимается изучением реакций организма на медицинские препараты в зависимости от индивидуальных наследственных факторов.&lt;br /&gt;
&lt;br /&gt;
===Экспрессия генов и анализ транскриптомных данных===&lt;br /&gt;
[[Файл:Gene expression based cnn.jpg|400px|thumb|Рисунок 5. Примеры архитектур сверточных сетей, предсказывающих вероятность рака по экспрессии генов&amp;lt;ref&amp;gt;[https://bmcmedgenomics.biomedcentral.com/articles/10.1186/s12920-020-0677-2 Convolutional neural network models for cancer type prediction based on gene expression]&amp;lt;/ref&amp;gt;.]]&lt;br /&gt;
Многие модели ориентируются на данные экспрессии генов&amp;lt;ref&amp;gt;[https://ru.wikipedia.org/wiki/%D0%AD%D0%BA%D1%81%D0%BF%D1%80%D0%B5%D1%81%D1%81%D0%B8%D1%8F_%D0%B3%D0%B5%D0%BD%D0%BE%D0%B2 Википедия: Экспрессия генов]&amp;lt;/ref&amp;gt; (в широком смысле {{---}} процесс получения белка из последовательности ДНК). Известно, что от количества некоторых белков напрямую зависит возможность клеток становиться раковыми, а также порождать другие заболевания. Совокупность изменений в большом количестве различных белков может приводить к заболеванию. Именно поэтому модели персонализированной медицины основываются на данных экспрессии. Часто в качестве основы используют сверточные нейронные сети (рис. 5), располагая гены, отвечающие за похожие по своей функции белки, рядом друг с другом.&lt;br /&gt;
&lt;br /&gt;
Прямой анализ экспрессии генов {{---}} трудная и дорогостоящая задача, поэтому часто обращаются к транскриптомным данным. Транскриптом {{---}} совокупность всех молекул РНК&amp;lt;ref&amp;gt;[https://ru.wikipedia.org/wiki/%D0%A0%D0%B8%D0%B1%D0%BE%D0%BD%D1%83%D0%BA%D0%BB%D0%B5%D0%B8%D0%BD%D0%BE%D0%B2%D0%B0%D1%8F_%D0%BA%D0%B8%D1%81%D0%BB%D0%BE%D1%82%D0%B0 Википедия: РНК]&amp;lt;/ref&amp;gt;, которые присутствовали в клетке после завершения процесса трансрипции (получение РНК с матрицы ДНК). Транскриптом включает в себя матричную РНК (мРНК) {{---}} РНК, с которой впоследствии транслируются белки, и некодирующую РНК, которая, в свою очередь, не используется для получения белков. Транскриптомные данные чаще всего получают с помощью РНК-секвенирования (англ. RNA-seq) или ДНК-микрочипов (англ. DNA-microarray). С помощью специальных процедур из взятой у пациента пробы выделяют мРНК, которая затем наносится на ДНК-микрочип, где цепочки мРНК зацепляются, образуя двухцепочечные молекулы. Число цепочек, зацепившихся за определенный участок ДНК-микрочипа, определяет интенсивность свечения этого участка при сканировании. Так косвенно определяют экспрессию каждого из генов. Следующая проблема, с которой сталкиваются исследователи {{---}} слишком большое количество генов (например, у человека их около 28000). Вследствие этого очень тяжело обучать модели, поэтому приходится прибегать к [[Уменьшение размерности|уменьшению размерности]].&lt;br /&gt;
&lt;br /&gt;
===Уменьшение размерности при работе с данными экспрессии генов===&lt;br /&gt;
[[Файл:Melif scheme.png|400px|thumb|Рисунок 6. Описание алгоритма MeLiF&amp;lt;ref&amp;gt;[http://fppo.ifmo.ru/?page1=16&amp;amp;page2=86&amp;amp;number_file=E63E46A38DD44C84B7B9446996EB225F Сметанников Иван Борисович, Метод и алгоритмы выбора признаков в предсказательном моделировании фенотипических характеристик на основе транскриптомных данных]&amp;lt;/ref&amp;gt;.]]&lt;br /&gt;
Для уменьшения размерности в случае биологических данных применяются методы, основным критерием которых становится их скорость. Поскольку количество генов очень велико, чаще всего нет возможности опробовать [[Уменьшение размерности#Встроенные методы | встроенные]] и [[Уменьшение размерности#Оберточные методы | оберточные]] методы. Чаще всего, используют [[Уменьшение размерности#Фильтры | фильтры]]. &lt;br /&gt;
&lt;br /&gt;
Одним из примеров моделей, основанных на фильтрах является модель MeLiF&amp;lt;ref&amp;gt;[https://www.researchgate.net/publication/317201206_MeLiF_Filter_Ensemble_Learning_Algorithm_for_Gene_Selection| Smetannikov et al., MeLiF: Filter Ensemble Learning Algorithm for Gene Selection]&amp;lt;/ref&amp;gt; (рис. 6), которая берет несколько фильтров &amp;lt;tex&amp;gt;M_i&amp;lt;/tex&amp;gt; с соответствующими функциями измерения релевантности признака &amp;lt;tex&amp;gt;\mu_i&amp;lt;/tex&amp;gt;, после чего строит новую меру значимости как &amp;lt;tex&amp;gt;\mu=\sum_{i=1}^{|M|} \alpha_{i} \mu_{i}&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;\left\{\alpha_{i}\right\}_{i=1}^{|M|}&amp;lt;/tex&amp;gt; {{---}} набор вещественных коэффициентов. После получения новой меры значимости происходит оценка модели на &amp;lt;tex&amp;gt;t&amp;lt;/tex&amp;gt; лучших выбранных признаках. В случае удовлетворительного результата алгоритм завершается, возвращая текущий набор признаков, иначе {{---}} возвращается снова к получению новой меры на &amp;lt;tex&amp;gt;t+1&amp;lt;/tex&amp;gt; признаках.&lt;br /&gt;
&lt;br /&gt;
===Медицинская карта===&lt;br /&gt;
Другая задача {{---}} предсказать, заболеет ли человек в будущем. Для этого часто используется электронная медицинская карта пациента, и на вход сети подаются данные о пациенте, результаты исследований, его генеалогическое древо и другая медицинская информация. Основываясь на полученных данных, модель должна предсказать вероятность того, что человек может заболеть каждой болезнью из приведенного набора. Если вероятность хотя бы по одному из маркеров превышает некоторое значение {{---}} такая модель рекомендует пациенту обратиться к специалисту и относит его в группу высокого риска по этому параметру. В свою очередь специалист может подтвердить или же опровергнуть опасения модели, отдавая ей результат {{---}} права модель или нет. Таким образом, эта проблема относится к классу задач [[Обучение с подкреплением|обучения с подкреплением]]. С точки зрения архитектуры моделей {{---}} в таких задачах часто используют [[метод опорных векторов (SVM)]] или [[глубокое обучение]].&lt;br /&gt;
&lt;br /&gt;
==Поиск лекарств==&lt;br /&gt;
Поиск лекарств (англ. drug discovery, drug design) {{---}} процесс поиска новых лекарственных средств, часто основанный на знаниях о биологической мишени (целевом белке, с которым должно взаимодействовать лекарственное вещество).&lt;br /&gt;
При поиске новых лекарственных средств часто прибегают к помощи машинного обучения в таких задачах, как предсказание молекулярных свойств потенциальной молекулы лекарства, формы какого-либо белка, активности взаимодействия между веществами.&lt;br /&gt;
===Предсказание молекулярных свойств===&lt;br /&gt;
[[Файл:MoleculeGNN.PNG|400px|thumb|Рисунок 7. Молекулярный граф]]&lt;br /&gt;
[[Файл:Morgan fingerprint.jpg|400px|thumb|Рисунок 8. Пример Morgan Fingerprint для молекулы&amp;lt;ref&amp;gt;[https://www.sciencedirect.com/science/article/abs/pii/S1046202314002631  Adrià Cereto-Massagué et al., Molecular fingerprint similarity search in virtual screening, 2015]&amp;lt;/ref&amp;gt;.]]&lt;br /&gt;
Одна из главных задач машинного обучения при поиске новых лекарств {{---}} сужение круга их поиска. Чаще всего фармацевтические компании имеют на руках библиотеки с огромным количеством веществ, которые они потенциально могут синтезировать и опробовать в качестве лекарства. Но обычно размеры этих библиотек составляют тысячи молекул, поэтому синтезировать и проверить каждую из них не представляется возможным. В этом случае прибегают к предсказанию некоторых свойств этих молекул, которые точно определяют, может ли молекула быть использована как лекарство. Для предсказания свойств молекул обычно используют молекулярный граф {{---}} графическое представление молекулы (ее атомов и связей). Пример молекулярного графа можно увидеть на рисунке 7.&lt;br /&gt;
&lt;br /&gt;
Первые нейронные сети для предсказания молекулярных свойств использовали Моргановские фингерпринты (англ. Morgan fingerpints), которые для каждого атома в молекуле выделяли всех его соседей на каком-то определенном расстоянии (которое является [[Настройка гиперпараметров#Гиперпараметры|гиперпараметром]]) и смотрели на наличие такой подструктуры в молекуле (рис. 8). Получался аналог некоторого оne-hot кодирования. Впоследствии этот метод был несколько усовершенствован, и стали смотреть не на наличие подструктуры, а на то, сколько раз она встречается в молекуле. Прорыв в этой области случился с появлением сети NeuralFingerprints &amp;lt;ref&amp;gt;[https://arxiv.org/abs/1509.09292 Duvenaud et al., Convolutional Networks on Graphs for Learning Molecular Fingerprints, 2015]&amp;lt;/ref&amp;gt;, которая является примером одной из первых попыток применения [[графовые нейронные сети|графовых нейронных сетей]] в этой области. &lt;br /&gt;
&lt;br /&gt;
NeuralFingerprints принимает один гиперпараметр {{---}} максимальное расстояние, которое нужно учитывать при просмотре соседей каждого атома. После этого для каждого расстояния для каждого атома суммируются атомные представления его соседей на текущем расстоянии. Таким образом, получается векторное представление текущего атома фиксированной длины, которая равна количеству свойств у одного атома. Каждый элемент такого представления  умножается на обучаемый параметр, уникальный для номера свойства и текущего рассматриваемого расстояния. После этого применяется функция активации к полученному ранее вектору, умноженному на вес, отвечающий за текущее расстояние. Полученные результаты для каждого из атомов на каждом из расстояний суммируются и получается результирующий вектор свойств для молекулы. Таким образом, в этой сети обучаемые параметры {{---}} веса для каждого из свойств атомов на каждом расстоянии (&amp;lt;tex&amp;gt;H^i_j&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;i&amp;lt;/tex&amp;gt; {{---}} индекс номера свойства (в модели их всего 5), &amp;lt;tex&amp;gt;j&amp;lt;/tex&amp;gt; {{---}} индекс для текущего расстояния) и веса для каждого из расстояний (&amp;lt;tex&amp;gt;W_j&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;j&amp;lt;/tex&amp;gt; {{---}} индекс для текущего расстояния). Псевдокод представлен ниже.&lt;br /&gt;
 '''function''' neuralFingerptint(molecule, R, H, W): &amp;lt;span style=&amp;quot;color:Green&amp;quot;&amp;gt;# R - максимальное расстояние, H - матрица весов размера len(molecule)&amp;lt;tex&amp;gt;\cdot&amp;lt;/tex&amp;gt;R, W - вектор весов размера R&amp;lt;/span&amp;gt;&lt;br /&gt;
    f = array[len(molecule), 0]&lt;br /&gt;
    '''for''' a in molecule: &lt;br /&gt;
        r[a] = g(a) &amp;lt;span style=&amp;quot;color:Green&amp;quot;&amp;gt;# записываем свойства для каждого атома&amp;lt;/span&amp;gt;&lt;br /&gt;
    '''for''' L = 1 to R:&lt;br /&gt;
        '''for''' a in molecule: &lt;br /&gt;
            neighbors = '''neighbors'''(a) &amp;lt;span style=&amp;quot;color:Green&amp;quot;&amp;gt;# смотрим соседей на расстоянии L от текущего атома a&amp;lt;/span&amp;gt;&lt;br /&gt;
        v = r[a] + '''sum'''(r[i] for i in neighbors) &amp;lt;span style=&amp;quot;color:Green&amp;quot;&amp;gt;# суммируем вектора соседей и вектор текущего атома&amp;lt;/span&amp;gt;&lt;br /&gt;
        r[a] = '''σ'''(v &amp;lt;tex&amp;gt;\cdot&amp;lt;/tex&amp;gt; H[a][L]) &amp;lt;span style=&amp;quot;color:Green&amp;quot;&amp;gt;# изменяем представление текущего атома&amp;lt;/span&amp;gt;&lt;br /&gt;
        i = '''softmax'''(r[a] &amp;lt;tex&amp;gt;\cdot&amp;lt;/tex&amp;gt; W[L]) &amp;lt;span style=&amp;quot;color:Green&amp;quot;&amp;gt;# получаем вектор для текущего атома и расстояния&amp;lt;/span&amp;gt;&lt;br /&gt;
        f = f + i  &amp;lt;span style=&amp;quot;color:Green&amp;quot;&amp;gt;# добавляем его к ответу&amp;lt;/span&amp;gt;&lt;br /&gt;
    '''return''' f&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Эта сеть была одной из первых в этой области, и сейчас используется как базовый метод в множестве статей. В основу новых методов и сейчас чаще всего ложатся [[графовые нейронные сети]]. Подходы графовых нейронных сетей адаптируют под молекулярный граф путем поиска элементов на расстоянии не более, чем N (где N является гиперпараметром), или последовательным рассмотрением каждой вершины и усреднением полученных значений.&lt;br /&gt;
&lt;br /&gt;
===Предсказание формы белка===&lt;br /&gt;
[[Файл:AlphaFold 2 block design.png|400px|thumb|Рисунок 9. Архитектура AlphaFold2, модели для предсказания пространственной структуры белка&amp;lt;ref&amp;gt;[https://en.wikipedia.org/wiki/AlphaFold Wikipedia: AlphaFold]&amp;lt;/ref&amp;gt;.]]&lt;br /&gt;
Секвенирование {{---}} процесс получения нуклеотидной последовательности из молекулы ДНК. &amp;lt;ref&amp;gt;[https://en.wikipedia.org/wiki/Sequencing Википедия: Секвенирование]&amp;lt;/ref&amp;gt;&lt;br /&gt;
Из нуклеотидной последовательности можно получить аминокислотную последовательность, которая, в свою очередь, кодирует любой белок в организме.&lt;br /&gt;
&lt;br /&gt;
Предсказание формы белка {{---}} другая очень важная задача машинного обучения в фармацевтике. С возникновением технологий секвенирования ДНК у сообщества появилась возможность быстро и достаточно качественно прочитывать белковые последовательности, но получать пространственную структуру полученных белков экспериментально все еще очень трудоемко и дорого. Тем не менее, знать пространственную структура белка очень важно, поскольку от нее сильно зависят типы соединений, которые могут связаться (прореагировать) с этим белком. Например, при подборе потенциальной вакцины, необходимо точно знать форму антитела, чтобы понимать, сможет ли это соединение захватить мишень (вирус, бактерию, белок).&lt;br /&gt;
&lt;br /&gt;
Предсказание формы белков основано на нейронных сетях, которые как вход используют очень длинную аминокислотную последовательность (размер алфавита ограничен {{---}} всего различных аминокислот 20), а на выходе должны предсказать значения торсионных углов&amp;lt;ref&amp;gt;[https://kodomo.fbb.msu.ru/~youthofchemist/projects/Term_1/Protein/phipsi.html Торсионные углы]&amp;lt;/ref&amp;gt; между аминокислотами. В декабре 2020 года DeepMind (исследовательское подразделение Google) заявили&amp;lt;ref&amp;gt;[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 Фундаментальная «проблема белка» решена]&amp;lt;/ref&amp;gt;, что решили проблему пространственной структуры белка. Краткое графическое представление архитектуры AlphaFold2 можно увидеть на рисунке 9. Авторы модели утверждают, что значение метрики глобального расстояния (англ. global distance test) превысило 90%. Метрика глобального расстояния {{---}} это метрика, которая вычисляется для каждой аминокислоты как процент атомов углерода из главной цепи белка, которые в сгенерированном белке расположены не более чем на расстоянии какого-то определенного количества ангстрем от соответствующего атома углерода в исходном белке. Обычно это значение берется равным 1, 2, 4 или 8 ангстрем (10&amp;lt;sup&amp;gt;-10&amp;lt;/sup&amp;gt;м).&lt;br /&gt;
&lt;br /&gt;
===Генерация молекулярных структур===&lt;br /&gt;
[[Файл:Ranc scheme.png|thumb|Рисунок 10. Пример генеративной состязательной сети для лекарственных молекул. Сеть RANC (Reinforced Adversarial Neural Computer) &amp;lt;ref&amp;gt;[https://pubs.acs.org/doi/10.1021/acs.jcim.7b00690 Evgeny Putin et al., Reinforced Adversarial Neural Computer for de Novo Molecular Design, 2018]&amp;lt;/ref&amp;gt;.]]&lt;br /&gt;
Еще одна задача, которая есть сейчас в мире машинного обучения {{---}} генерировать новые молекулы, которые могут потенциально быть лекарствами. Для этого используют [[Generative Adversarial Nets (GAN)|генеративные состязательные сети]]. Пример генеративной состязательной сети, решающей задачу генерации молекул можно увидеть на рисунке 10. Основное преимущество такого подхода заключается в том, что при работе с библиотеками уже синтезированных лекарств есть вероятность &amp;quot;пропустить&amp;quot; важное соединение просто потому, что в этой библиотеке его не было. Поэтому используется абсолютно другой подход {{---}} предлагается наоборот генерировать различные молекулы, а уже потом проверять, действительно ли их можно использовать как лекарство и насколько сложно их синтезировать. Часто эти свойства вносят в метрику качества генератора. &lt;br /&gt;
&lt;br /&gt;
SMILES {{---}} способ однозначного задания молекулы при помощи строки. Таким образом, задача генератора {{---}} сгенерировать такую строку SMILES для молекулы, чтобы дискриминатор не отличил ее от настоящей. Архитектура дискриминатора чаще всего остается очень похожей на архитектуру обычной сети, предсказывающей молекулярные свойства. Таким образом, в качестве дискриминатора часто используются графовые или сверточные нейронные сети. Для генератора же часто используют механизм памяти, чтобы сеть помнила, какие части уже были сгенерированы и отталкивалась от них.&lt;br /&gt;
&lt;br /&gt;
==См. также==&lt;br /&gt;
* [[Нейронные сети, перцептрон]]&lt;br /&gt;
* [[Глубокое обучение]]&lt;br /&gt;
* [[Графовые нейронные сети]]&lt;br /&gt;
* [[Компьютерное зрение]]&lt;br /&gt;
* [[Обучение с подкреплением]]&lt;br /&gt;
&lt;br /&gt;
==Примечания==&lt;br /&gt;
* [https://en.wikipedia.org/wiki/Protein_structure_prediction#:~:text=Protein%20structure%20prediction%20is%20the,inverse%20problem%20of%20protein%20design. Protein structure prediction]&lt;br /&gt;
* [https://ru.wikipedia.org/wiki/%D0%9F%D0%B5%D1%80%D1%81%D0%BE%D0%BD%D0%B0%D0%BB%D0%B8%D0%B7%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%BD%D0%B0%D1%8F_%D0%BC%D0%B5%D0%B4%D0%B8%D1%86%D0%B8%D0%BD%D0%B0 Википедия: Персонализированная медицина]&lt;br /&gt;
* [https://emerj.com/ai-sector-overviews/machine-learning-in-pharma-medicine/ 7 Applications of Machine Learning in Pharma and Medicine]&lt;br /&gt;
* [https://www.nature.com/articles/s41563-019-0360-1 Ascent of machine learning in medicine]&lt;br /&gt;
* [http://jtelemed.ru/article/glubokoe-mashinnoe-obuchenie-iskusstvennyj-intellekt-v-ultrazvukovoj-diagnostike Глубокое машинное обучение (искусственный интеллект) в ультразвуковой диагностике]&lt;br /&gt;
* [https://ru.wikipedia.org/wiki/%D0%9C%D0%B5%D1%82%D1%80%D0%B8%D0%BA%D0%B0_%D0%92%D0%B0%D1%81%D0%B5%D1%80%D1%88%D1%82%D0%B5%D0%B9%D0%BD%D0%B0 Википедия: Метрика Васерштейна]&lt;br /&gt;
&lt;br /&gt;
==Источники информации==&lt;br /&gt;
&lt;br /&gt;
[[Категория: Машинное обучение]]&lt;br /&gt;
[[Категория: Глубокое обучение]]&lt;br /&gt;
[[Категория: Практические применения машинного обучения]]&lt;/div&gt;</summary>
		<author><name>188.170.82.221</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%9C%D0%B0%D1%88%D0%B8%D0%BD%D0%BD%D0%BE%D0%B5_%D0%BE%D0%B1%D1%83%D1%87%D0%B5%D0%BD%D0%B8%D0%B5_%D0%B2_%D0%BC%D0%B5%D0%B4%D0%B8%D1%86%D0%B8%D0%BD%D0%B5&amp;diff=76959</id>
		<title>Машинное обучение в медицине</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%9C%D0%B0%D1%88%D0%B8%D0%BD%D0%BD%D0%BE%D0%B5_%D0%BE%D0%B1%D1%83%D1%87%D0%B5%D0%BD%D0%B8%D0%B5_%D0%B2_%D0%BC%D0%B5%D0%B4%D0%B8%D1%86%D0%B8%D0%BD%D0%B5&amp;diff=76959"/>
				<updated>2021-01-09T13:57:18Z</updated>
		
		<summary type="html">&lt;p&gt;188.170.82.221: /* Диагностика заболеваний по результатам рентгенологических и УЗИ исследований */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Машинное обучение в медицине используют очень активно, находя все больше областей для его применения. Сейчас в медицине использут почти [[Общие понятия|все виды машинного обучения]]: обучение с учителем, без учителя, с частичным привлечением учителя, с подкреплением. Наиболее активно машинное обучение в медицине используют для решения проблем по диагностике заболеваний и дизайну лекарств. Эти задачи относят к обучению с учителем или [[Обучение с частичным привлечением учителя|с частичным привлечением учителя]]. Кроме того, машинное обучение стали применять в персонализированной медицине и генерации данных различных исследований для анонимизации данных пациентов. В этих задачах сейчас все больше применяют [[Обучение с подкреплением|обучение с подкреплением]] и обучение без учителя, в частности, [[Generative Adversarial Nets (GAN)|генеративные состязательные сети]]. Машинное обучение в медицине начали изучать еще в 2000-ых и оно продолжает активно развиваться и в наши дни.&lt;br /&gt;
&lt;br /&gt;
==Диагностика заболеваний по результатам рентгенологических и УЗИ исследований==&lt;br /&gt;
[[Файл:Covid cnn recognition.png|thumb|Рисунок 1. Пример вероятностной классификации КТ грудной клетки. &amp;lt;ref&amp;gt;[https://arxiv.org/ftp/arxiv/papers/2004/2004.04931.pdf CoroNet: A deep neural network for detection and diagnosis of COVID-19 from chest x-ray images, 2020]&amp;lt;/ref&amp;gt;]]&lt;br /&gt;
[[Файл:Spine x ray cnn.png|thumb|Рисунок 2. Пример локализации шейного отдела позвоночника на рентгене.&amp;lt;ref&amp;gt;[https://lhncbc.nlm.nih.gov/system/files/pub9781.pdf Zhiyun Xue et al., Gender Detection from Spine X-ray Images Using Deep Learning, 2018]&amp;lt;/ref&amp;gt;]]&lt;br /&gt;
===Диагностика по изображению===&lt;br /&gt;
[[Файл:Brain tumor mri cnn.jpg|thumb|left|200px|Рисунок 3. Пример классификации результатов МРТ на изображения с опухолью и без опухоли. &amp;lt;ref&amp;gt;[https://biomedpharmajournal.org/vol11no3/brain-tumor-classification-using-convolutional-neural-networks/ Seetha J, Raja S. S. Brain Tumor Classification Using Convolutional Neural Networks. Biomed Pharmacol J 2018;11(3).]&amp;lt;/ref&amp;gt;]]&lt;br /&gt;
В диагностике заболеваний есть большое количество задач, которые можно решить при помощи машинного обучения, а в частности, при помощи анализа результатов различных исследований, таких как рентген, УЗИ или МРТ. В основном задача любой модели сводится к предсказанию, болен ли человек сейчас (иногда обычная мультиклассовая классификация, иногда {{---}} вероятностная классификация).&lt;br /&gt;
&lt;br /&gt;
Для решения таких задач чаще всего используют [[глубокое обучение]]. Такие модели на вход получают картинку с рентгенологическим или ультразвуковым исследованием пациента и по ним предсказывают наличие болезни. Обычно внутри таких моделей-классификаторов лежат [[сверточные нейронные сети]], а иногда к ним добавляются [[механизм внимания]]. За основу берутся state-of-the-art модели в области сверточных нейронных сетей, такие как GoogleLeNet&amp;lt;ref&amp;gt;[https://static.googleusercontent.com/media/research.google.com/ru//pubs/archive/43022.pdf Szegedy et al., Going Deeper with Convolutions, 2015. GoogLeNet.]&amp;lt;/ref&amp;gt;, при этом точность предсказаний превышает 90%. Такие модели учатся на размеченных тренировочных наборах данных, поэтому их можно отнести к обучению с учителем. Большое распространение такие классификаторы получили в предсказании злокачественности новообразований, классификации заболеваний легких, подборе дозы контраста при проведении МРТ.&lt;br /&gt;
&lt;br /&gt;
Кроме того, есть и другое применение. Многие модели учатся не только определять, есть ли опухоль на данном образце, но и локализировать ее положение. Таким образом, необходимо решить задачу сегментации изображения, то есть выделения каких-то ее наиболее важных частей. Технически задача не сильно отличается от предыдущей и решается все теми же сверточными нейронными сетями.&lt;br /&gt;
&lt;br /&gt;
===Применения===&lt;br /&gt;
Поскольку точность предсказаний у описанных выше моделей достаточно высока, их стали применять на практике. Сейчас ведутся исследования по внедрению таких моделей в УЗИ-аппараты для того, чтобы быстрее и точнее определять местоположение и злокачественность опухоли. Кроме того, такие модели стали применять в направленной лучевой терапии, когда злокачественная опухоль облучается различными видами частиц. Известно, что эти частицы уничтожают не только раковые, но и здоровые клетки. Именно поэтому активно внедряются модели, которые могут подсказать аппарату точное направление облучения. Также сверточные сети стали использовать для определения дозы контрастного вещества при МРТ&amp;lt;ref&amp;gt;[https://www.sciencedirect.com/science/article/pii/S0939388918301181 Lundervold et al., An overview of deep learning in medical imaging focusing on MRI, 2019]&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Генерация результатов исследований===&lt;br /&gt;
[[Файл:3d mri models comparison.png|450px|thumb|Рисунок 4. Сравнение различных моделей для генерации 3D изображений МРТ исследований&amp;lt;ref&amp;gt;[https://arxiv.org/pdf/1908.02498.pdf Generation of 3D Brain MRI Using Auto-Encoding Generative Adversarial Networks]&amp;lt;/ref&amp;gt;.]]&lt;br /&gt;
&lt;br /&gt;
Для обучения сверточных нейронных сетей необходимо большое количество данных, которые очень часто достаточно тяжело или даже невозможно получить из-за запрета на использование данных исследований даже в анонимном формате без согласия пациента. Поэтому сейчас для получения достаточно больших датасетов стали применять [[Generative Adversarial Nets (GAN)|генеративные состязательные сети]]. &lt;br /&gt;
&lt;br /&gt;
Задачу таких GAN можно разделить на две: генерация результатов исследований здоровых пациентов и пациентов с патологиями. В случае второй задачи важно, чтобы сгенерированные изображения правильно определялись именно по типу патологии.&lt;br /&gt;
&lt;br /&gt;
Основная проблема, с которой сталкиваются такие модели {{---}} необходимость очень точно определять границы объекта на сгенерированном изображении, а также не допускать размытости. Эти две проблемы долгое время не получалось решить без большого количества реальных данных, вследствие чего не было возможным применение сгенерированных изображений на практике. &lt;br /&gt;
&lt;br /&gt;
Сильно улучшить поведение моделей удалось путем использования метрики Васерштейна&amp;lt;ref&amp;gt;[https://ru.wikipedia.org/wiki/%D0%9C%D0%B5%D1%82%D1%80%D0%B8%D0%BA%D0%B0_%D0%92%D0%B0%D1%81%D0%B5%D1%80%D1%88%D1%82%D0%B5%D0%B9%D0%BD%D0%B0 Википедия:Метрика Васерштейна]&amp;lt;/ref&amp;gt;. Интуитивно, если каждая мера измеряет распределение «грунта» по метрическому пространству, то расстояние Васерштейна измеряет минимальную стоимость преобразования одного распределения грунта в другое, при этом предполагается, что стоимость прямо пропорциональна количеству грунта и расстоянию, на которое его надо перетащить. Использование такой метрики в GAN помогло сильно улучшить поведение моделей при генерации данных МРТ исследований.&lt;br /&gt;
&lt;br /&gt;
==Персонализированная медицина==&lt;br /&gt;
Персонализированная медицина (англ. personalized medicine) {{---}} новая организационная модель построения медицинской помощи пациентам, которая основывается на подборе индивидуальных лечебных, диагностических и превентивных средств, оптимально подходящих по биохимическим, физиологическим и генетическим особенностям организма.&lt;br /&gt;
&lt;br /&gt;
Основная цель нового направления в медицине заключается в персонализации и оптимизации профилактических мероприятий и лечения пациентов для исключения негативных последствий и осложнений, проявляющихся из-за индивидуальных особенностей.&lt;br /&gt;
Основные отрасли медицины, где применяются новые принципы — онкология, фармация и фармакогеномика. Последняя занимается изучением реакций организма на медицинские препараты в зависимости от индивидуальных наследственных факторов.&lt;br /&gt;
&lt;br /&gt;
===Экспрессия генов и анализ транскриптомных данных===&lt;br /&gt;
[[Файл:Gene expression based cnn.jpg|400px|thumb|Рисунок 5. Примеры архитектур сверточных сетей, предсказывающих вероятность рака по экспрессии генов. &amp;lt;ref&amp;gt;[https://bmcmedgenomics.biomedcentral.com/articles/10.1186/s12920-020-0677-2 Convolutional neural network models for cancer type prediction based on gene expression]&amp;lt;/ref&amp;gt;]]&lt;br /&gt;
Многие модели ориентируются на данные экспрессии генов&amp;lt;ref&amp;gt;[https://ru.wikipedia.org/wiki/%D0%AD%D0%BA%D1%81%D0%BF%D1%80%D0%B5%D1%81%D1%81%D0%B8%D1%8F_%D0%B3%D0%B5%D0%BD%D0%BE%D0%B2 Википедия: Экспрессия генов]&amp;lt;/ref&amp;gt; (в широком смысле {{---}} процесс получения белка из последовательности ДНК). Известно, что от количества некоторых белков напрямую зависит возможность клеток становиться раковыми, а также порождать другие заболевания. Совокупность изменений в большом количестве различных белков может приводить к заболеванию. Именно поэтому модели персонализированной медицины основываются на данных экспрессии. Часто в качестве основы используют сверточные нейронные сети, располагая гены, отвечающие за похожие по своей функции белки, рядом друг с другом.&lt;br /&gt;
&lt;br /&gt;
Прямой анализ экспрессии генов {{---}} трудная и дорогостоящая задача, поэтому часто обращаются к транскриптомным данным. Транскриптом {{---}} совокупность всех молекул РНК, которые присутствовали в клетке после завершения процесса трансрипции (получение РНК с матрицы ДНК). Транскриптом включает в себя матричную РНК (РНК, с которой впоследствии транслируются белки) и некодирующую РНК, которая, в свою очередь, не используется для получения белков. Транскриптомные данные чаще всего получают с помощью РНК-секвенирования (англ. RNA-seq) или ДНК-микрочипов (англ. DNA-microarray). С помощью специальных процедур из взятой у пациента пробы выделяют матричную РНК (мРНК), которая затем наносится на ДНК-микрочип, где цепочки мРНК зацепляются, образуя двухцепочечные молекулы. Число цепочек мРНК, зацепившихся за определенный участок ДНК-микрочипа, определяет интенсивность свечения этого участка при сканировании. Так косвенно определяют экспрессию каждого из генов. Следующая проблема, с которой сталкиваются исследователи {{---}} слишком большое количество генов (например, у человека их около 28000). Вследствие этого очень тяжело обучать модели, поэтому приходится прибегать к [[Уменьшение размерности|уменьшению размерности]].&lt;br /&gt;
&lt;br /&gt;
===Уменьшение размерности при работе с данными экспрессии генов===&lt;br /&gt;
[[Файл:Melif scheme.png|400px|thumb|Рисунок 6. Описание алгоритма MeLiF.&amp;lt;ref&amp;gt;[http://fppo.ifmo.ru/?page1=16&amp;amp;page2=86&amp;amp;number_file=E63E46A38DD44C84B7B9446996EB225F Сметанников Иван Борисович, Метод и алгоритмы выбора признаков в предсказательном моделировании фенотипических характеристик на основе транскриптомных данных]&amp;lt;/ref&amp;gt;]]&lt;br /&gt;
Для уменьшения размерности в случае биологических данных применяются методы, основным критерием которых становится их скорость. Поскольку количество генов очень велико, чаще всего нет возможности опробовать [[Уменьшение размерности|встраиваемые и оберточные методы]]. Чаще всего, используют фильтры. &lt;br /&gt;
&lt;br /&gt;
Одним из примеров моделей, основанных на фильтрах является модель MeLiF&amp;lt;ref&amp;gt;[https://www.researchgate.net/publication/317201206_MeLiF_Filter_Ensemble_Learning_Algorithm_for_Gene_Selection| Smetannikov et al., MeLiF: Filter Ensemble Learning Algorithm for Gene Selection]&amp;lt;/ref&amp;gt;, которая берет несколько фильтров &amp;lt;tex&amp;gt;M_i&amp;lt;/tex&amp;gt; с соответствующими функциями измерения релевантности признака &amp;lt;tex&amp;gt;\mu_i&amp;lt;/tex&amp;gt;, после чего строит новую меру значимости как &amp;lt;tex&amp;gt;\mu=\sum_{i=1}^{|M|} \alpha_{i} \mu_{i}&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;\left\{\alpha_{i}\right\}_{i=1}^{|M|}&amp;lt;/tex&amp;gt; {{---}} набор вещественных коэффициентов. После получения новой меры значимости происходит оценка модели на &amp;lt;tex&amp;gt;t&amp;lt;/tex&amp;gt; лучших выбранных признаках. В случае удовлетворительного результата алгоритм завершается, возвращая текущий набор признаков, иначе {{---}} возвращается снова к получению новой меры на &amp;lt;tex&amp;gt;t+1&amp;lt;/tex&amp;gt; признаках.&lt;br /&gt;
&lt;br /&gt;
===Медицинская карта===&lt;br /&gt;
Другая задача {{---}} предсказать, заболеет ли человек в будущем. Для этого часто используется электронная медицинская карта пациента, и на вход сети подаются данные о пациенте, результаты исследований, его генеалогическое древо и другая медицинская информация. Основываясь на полученных данных, модель должна предсказать вероятность того, что человек может заболеть каждой болезнью из приведенного набора. Если вероятность хотя бы по одному из маркеров превышает некоторое значение {{---}} такая модель рекомендует пациенту обратиться к специалисту и относит его в группу высокого риска по этому параметру. В свою очередь специалист может подтвердить или же опровергнуть опасения модели, отдавая ей результат {{---}} права модель или нет. Таким образом, эта проблема относится к классу задач [[Обучение с подкреплением|обучения с подкреплением]]. С точки зрения архитектуры моделей {{---}} в таких задачах часто используют [[метод опорных векторов (SVM)]] или [[глубокое обучение]].&lt;br /&gt;
&lt;br /&gt;
==Поиск лекарств==&lt;br /&gt;
Поиск лекарств (англ. drug discovery, drug design) {{---}} процесс поиска новых лекарственных средств, часто основанный на знаниях о биологической мишени (целевом белке, с которым должно взаимодействовать лекарственное вещество).&lt;br /&gt;
При поиске новых лекарственных средств часто прибегают к помощи машинного обучения в таких задачах, как предсказание молекулярных свойств потенциальной молекулы лекарства, формы какого-либо белка, активности взаимодействия между веществами.&lt;br /&gt;
===Предсказание молекулярных свойств===&lt;br /&gt;
[[Файл:MoleculeGNN.PNG|400px|thumb|Рисунок 7. Молекулярный граф]]&lt;br /&gt;
[[Файл:Morgan fingerprint.jpg|400px|thumb|Рисунок 8. Пример Morgan Fingerprint для молекулы&amp;lt;ref&amp;gt;[https://www.sciencedirect.com/science/article/abs/pii/S1046202314002631  Adrià Cereto-Massagué et al., Molecular fingerprint similarity search in virtual screening, 2015]&amp;lt;/ref&amp;gt;.]]&lt;br /&gt;
Одна из главных задач машинного обучения при поиске новых лекарств {{---}} сужение круга их поиска. Чаще всего фармацевтические компании имеют на руках библиотеки с огромным количеством веществ, которые они потенциально могут синтезировать и опробовать в качестве лекарства. Но обычно размеры этих библиотек составляют тысячи молекул, поэтому синтезировать и проверить каждую из них не представляется возможным. В этом случае прибегают к предсказанию некоторых свойств этих молекул, которые точно определяют, может ли молекула быть использована как лекарство. Для предсказания свойств молекул обычно используют молекулярный граф {{---}} графическое представление молекулы (ее атомов и связей).&lt;br /&gt;
&lt;br /&gt;
Первые нейронные сети для предсказания молекулярных свойств использовали Моргановские фингерпринты (англ. Morgan fingerpints), которые для каждого атома в молекуле выделяли всех его соседей на каком-то определенном расстоянии (которое является [[Настройка гиперпараметров|гиперпараметром]]) и смотрели на наличие такой подструктуры в молекуле. Получался аналог некоторого оne-hot кодирования. Впоследствии этот метод был несколько усовершенствован, и стали смотреть не на наличие подструктуры, а на то, сколько раз она встречается в молекуле. Прорыв в этой области случился с появлением сети NeuralFingerprints &amp;lt;ref&amp;gt;[https://arxiv.org/abs/1509.09292 Duvenaud et al., Convolutional Networks on Graphs for Learning Molecular Fingerprints, 2015]&amp;lt;/ref&amp;gt;, которая является примером одной из первых попыток применения [[графовые нейронные сети|графовых нейронных сетей]] в этой области. &lt;br /&gt;
&lt;br /&gt;
NeuralFingerprints принимает один [[Настройка гиперпараметров|гиперпараметр]] {{---}} максимальное расстояние, которое нужно учитывать при просмотре соседей каждого атома. После этого для каждого расстояния для каждого атома суммируются атомные представления его соседей на текущем расстоянии. Таким образом, получается векторное представление текущего атома фиксированной длины, которая равна количеству свойств у одного атома. Каждый элемент такого представления  умножается на обучаемый параметр, уникальный для номера свойства и текущего рассматриваемого расстояния. После этого применяется функция активации к полученному ранее вектору, умноженному на вес, отвечающий за текущее расстояние. Полученные результаты для каждого из атомов на каждом из расстояний суммируются и получается результирующий вектор свойств для молекулы. Таким образом, в этой сети обучаемые параметры {{---}} веса для каждого из свойств атомов на каждом расстоянии (&amp;lt;tex&amp;gt;H^i_j&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;i&amp;lt;/tex&amp;gt; {{---}} индекс номера свойства (в модели их всего 5), &amp;lt;tex&amp;gt;j&amp;lt;/tex&amp;gt; {{---}} индекс для текущего расстояния) и веса для каждого из расстояний (&amp;lt;tex&amp;gt;W_j&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;j&amp;lt;/tex&amp;gt; {{---}} индекс для текущего расстояния). Псевдокод представлен ниже.&lt;br /&gt;
 '''function''' neuralFingerptint(molecule, R, H, W): &amp;lt;span style=&amp;quot;color:Green&amp;quot;&amp;gt;# R - максимальное расстояние, H - матрица весов размера len(molecule)&amp;lt;tex&amp;gt;\cdot&amp;lt;/tex&amp;gt;R, W - вектор весов размера R&amp;lt;/span&amp;gt;&lt;br /&gt;
    f = array[len(molecule), 0]&lt;br /&gt;
    '''for''' a in molecule: &lt;br /&gt;
        r[a] = g(a) &amp;lt;span style=&amp;quot;color:Green&amp;quot;&amp;gt;# записываем свойства для каждого атома&amp;lt;/span&amp;gt;&lt;br /&gt;
    '''for''' L = 1 to R:&lt;br /&gt;
        '''for''' a in molecule: &lt;br /&gt;
            neighbors = '''neighbors'''(a) &amp;lt;span style=&amp;quot;color:Green&amp;quot;&amp;gt;# смотрим соседей на расстоянии L от текущего атома a&amp;lt;/span&amp;gt;&lt;br /&gt;
        v = r[a] + '''sum'''(r[i] for i in neighbors) &amp;lt;span style=&amp;quot;color:Green&amp;quot;&amp;gt;# суммируем вектора соседей и вектор текущего атома&amp;lt;/span&amp;gt;&lt;br /&gt;
        r[a] = '''σ'''(v &amp;lt;tex&amp;gt;\cdot&amp;lt;/tex&amp;gt;H[a][L]) &amp;lt;span style=&amp;quot;color:Green&amp;quot;&amp;gt;# изменяем представление текущего атома&amp;lt;/span&amp;gt;&lt;br /&gt;
        i = '''softmax'''(r[a]&amp;lt;tex&amp;gt;\cdot&amp;lt;/tex&amp;gt;W[L]) &amp;lt;span style=&amp;quot;color:Green&amp;quot;&amp;gt;# получаем вектор для текущего атома и расстояния&amp;lt;/span&amp;gt;&lt;br /&gt;
        f = f + i  &amp;lt;span style=&amp;quot;color:Green&amp;quot;&amp;gt;# добавляем его к ответу&amp;lt;/span&amp;gt;&lt;br /&gt;
    '''return''' f&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Эта сеть была одной из первых в этой области, и сейчас используется как базовый метод в множестве статей. В основу новых методов и сейчас чаще всего ложатся [[графовые нейронные сети]]. Подходы графовых нейронных сетей адаптируют под молекулярный граф путем поиска элементов на расстоянии не более, чем N (где N является [[Настройка гиперпараметров|гиперпараметром]]), или последовательным рассмотрением каждой вершины и усреднением полученных значений.&lt;br /&gt;
&lt;br /&gt;
===Предсказание формы белка===&lt;br /&gt;
[[Файл:AlphaFold 2 block design.png|400px|thumb|Рисунок 9. Архитектура AlphaFold2, модели для предсказания пространственной структуры белка&amp;lt;ref&amp;gt;[https://en.wikipedia.org/wiki/AlphaFold Wikipedia: AlphaFold]&amp;lt;/ref&amp;gt;.]]&lt;br /&gt;
Секвенирование {{---}} процесс получения нуклеотидной последовательности из молекулы ДНК. &amp;lt;ref&amp;gt;[https://en.wikipedia.org/wiki/Sequencing Википедия: Секвенирование]&amp;lt;/ref&amp;gt;&lt;br /&gt;
Из нуклеотидной последовательности можно получить аминокислотную последовательность, которая в свою очередь кодирует любой белок в организме.&lt;br /&gt;
&lt;br /&gt;
Предсказание формы белка {{---}} другая очень важная задача машинного обучения в фармацевтике. С возникновением технологий секвенирования ДНК у сообщества появилась возможность быстро и достаточно качественно прочитывать белковые последовательности, но получать пространственную структуру полученных белков экспериментально все еще очень трудоемко и дорого. Пространственная же структура белка важна для генерации мишеней, поэтому задача предсказания структуры является очень важной. Например, при подборе потенциальной вакцины, необходимо точно знать форму антитела, чтобы понимать, сможет ли это соединение захватить свою мишень, не дав ей закрепиться в организме пациента.&lt;br /&gt;
&lt;br /&gt;
Предсказание формы белков основано на нейронных сетях, которые как вход используют очень длинную аминокислотную последовательность (размер алфавита ограничен {{---}} всего различных аминокислот 20), а на выходе должны предсказать значения торсионных углов&amp;lt;ref&amp;gt;[https://kodomo.fbb.msu.ru/~youthofchemist/projects/Term_1/Protein/phipsi.html Торсионные углы]&amp;lt;/ref&amp;gt; между аминокислотами. В декабре 2020 года DeepMind (исследовательское подразделение Google) заявили&amp;lt;ref&amp;gt;[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 Фундаментальная «проблема белка» решена]&amp;lt;/ref&amp;gt;, что решили проблему пространственной структуры белка. Авторы модели утверждают, что значение метрики глобального расстояния (англ. global distance test) превысило 90%. Метрика глобального расстояния {{---}} это метрика, которая вычисляется для каждой аминокислоты как процент атомов углерода из главной цепи белка, которые в сгенерированном белке расположены не более чем на расстоянии какого-то определенного количества ангстрем от соответствующего атома углерода в исходном белке. Обычно это значение берется равным 1, 2, 4 или 8 ангстрем (10&amp;lt;sup&amp;gt;-10&amp;lt;/sup&amp;gt;м).&lt;br /&gt;
&lt;br /&gt;
===Генерация молекулярных структур===&lt;br /&gt;
[[Файл:Ranc scheme.png|thumb|Рисунок 10. Пример генеративной состязательной сети для лекарственных молекул. Сеть RANC (Reinforced Adversarial Neural Computer) &amp;lt;ref&amp;gt;[https://pubs.acs.org/doi/10.1021/acs.jcim.7b00690 Evgeny Putin et al., Reinforced Adversarial Neural Computer for de Novo Molecular Design, 2018]&amp;lt;/ref&amp;gt;.]]&lt;br /&gt;
Еще одна задача, которая есть сейчас в мире машинного обучения {{---}} генерировать новые молекулы, которые могут потенциально быть лекарствами. Для этого используют [[Generative Adversarial Nets (GAN)|генеративные состязательные сети]]. Основное преимущество такого подхода заключается в том, что при работе с библиотеками уже синтезированных лекарств есть вероятность &amp;quot;пропустить&amp;quot; важное соединение просто потому, что в этой библиотеке его не было. Поэтому используется абсолютно другой подход {{---}} предлагается наоборот генерировать различные молекулы, а уже потом проверять, действительно ли их можно использовать как лекарство и насколько сложно их синтезировать. Часто эти свойства вносят в метрику качества генератора. &lt;br /&gt;
&lt;br /&gt;
SMILES {{---}} способ однозначного задания молекулы при помощи строки. Таким образом, задача генератора {{---}} сгенерировать такую строку SMILES для молекулы, чтобы дискриминатор не отличил ее от настоящей. Архитектура дискриминатора чаще всего остается очень похожей на архитектуру обычной сети, предсказывающей молекулярные свойства. Таким образом, в качестве дискриминатора часто используются графовые или сверточные нейронные сети. Для генератора же часто используют механизм памяти, чтобы сеть помнила, какие части уже были сгенерированы и отталкивалась от них.&lt;br /&gt;
&lt;br /&gt;
==См. также==&lt;br /&gt;
* [[Нейронные сети, перцептрон]]&lt;br /&gt;
* [[Глубокое обучение]]&lt;br /&gt;
* [[Графовые нейронные сети]]&lt;br /&gt;
* [[Компьютерное зрение]]&lt;br /&gt;
* [[Обучение с подкреплением]]&lt;br /&gt;
&lt;br /&gt;
==Примечания==&lt;br /&gt;
* [https://en.wikipedia.org/wiki/Protein_structure_prediction#:~:text=Protein%20structure%20prediction%20is%20the,inverse%20problem%20of%20protein%20design. Protein structure prediction]&lt;br /&gt;
* [https://ru.wikipedia.org/wiki/%D0%9F%D0%B5%D1%80%D1%81%D0%BE%D0%BD%D0%B0%D0%BB%D0%B8%D0%B7%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%BD%D0%B0%D1%8F_%D0%BC%D0%B5%D0%B4%D0%B8%D1%86%D0%B8%D0%BD%D0%B0 Википедия: Персонализированная медицина]&lt;br /&gt;
* [https://emerj.com/ai-sector-overviews/machine-learning-in-pharma-medicine/ 7 Applications of Machine Learning in Pharma and Medicine]&lt;br /&gt;
* [https://www.nature.com/articles/s41563-019-0360-1 Ascent of machine learning in medicine]&lt;br /&gt;
* [http://jtelemed.ru/article/glubokoe-mashinnoe-obuchenie-iskusstvennyj-intellekt-v-ultrazvukovoj-diagnostike Глубокое машинное обучение (искусственный интеллект) в ультразвуковой диагностике]&lt;br /&gt;
&lt;br /&gt;
==Источники информации==&lt;br /&gt;
&lt;br /&gt;
[[Категория: Машинное обучение]]&lt;br /&gt;
[[Категория: Глубокое обучение]]&lt;br /&gt;
[[Категория: Практические применения машинного обучения]]&lt;/div&gt;</summary>
		<author><name>188.170.82.221</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%9C%D0%B0%D1%88%D0%B8%D0%BD%D0%BD%D0%BE%D0%B5_%D0%BE%D0%B1%D1%83%D1%87%D0%B5%D0%BD%D0%B8%D0%B5_%D0%B2_%D0%BC%D0%B5%D0%B4%D0%B8%D1%86%D0%B8%D0%BD%D0%B5&amp;diff=76955</id>
		<title>Машинное обучение в медицине</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%9C%D0%B0%D1%88%D0%B8%D0%BD%D0%BD%D0%BE%D0%B5_%D0%BE%D0%B1%D1%83%D1%87%D0%B5%D0%BD%D0%B8%D0%B5_%D0%B2_%D0%BC%D0%B5%D0%B4%D0%B8%D1%86%D0%B8%D0%BD%D0%B5&amp;diff=76955"/>
				<updated>2021-01-09T13:52:31Z</updated>
		
		<summary type="html">&lt;p&gt;188.170.82.221: /* Уменьшение размерности при работе с данными экспрессии генов */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Машинное обучение в медицине используют очень активно, находя все больше областей для его применения. Сейчас в медицине использут почти [[Общие понятия|все виды машинного обучения]]: обучение с учителем, без учителя, с частичным привлечением учителя, с подкреплением. Наиболее активно машинное обучение в медицине используют для решения проблем по диагностике заболеваний и дизайну лекарств. Эти задачи относят к обучению с учителем или [[Обучение с частичным привлечением учителя|с частичным привлечением учителя]]. Кроме того, машинное обучение стали применять в персонализированной медицине и генерации данных различных исследований для анонимизации данных пациентов. В этих задачах сейчас все больше применяют [[Обучение с подкреплением|обучение с подкреплением]] и обучение без учителя, в частности, [[Generative Adversarial Nets (GAN)|генеративные состязательные сети]]. Машинное обучение в медицине начали изучать еще в 2000-ых и оно продолжает активно развиваться и в наши дни.&lt;br /&gt;
&lt;br /&gt;
==Диагностика заболеваний по результатам рентгенологических и УЗИ исследований==&lt;br /&gt;
[[Файл:Covid cnn recognition.png|thumb|Рисунок 1. Пример вероятностной классификации КТ грудной клетки. &amp;lt;ref&amp;gt;[https://arxiv.org/ftp/arxiv/papers/2004/2004.04931.pdf CoroNet: A deep neural network for detection and diagnosis of COVID-19 from chest x-ray images, 2020]&amp;lt;/ref&amp;gt;]]&lt;br /&gt;
[[Файл:Spine x ray cnn.png|thumb|Рисунок 2. Пример локализации шейного отдела позвоночника на рентгене. Источник: &amp;lt;ref&amp;gt;[https://lhncbc.nlm.nih.gov/system/files/pub9781.pdf Zhiyun Xue et al., Gender Detection from Spine X-ray Images Using Deep Learning, 2018]&amp;lt;/ref&amp;gt;]]&lt;br /&gt;
===Диагностика по изображению===&lt;br /&gt;
[[Файл:Brain tumor mri cnn.jpg|thumb|left|200px|Рисунок 3. Пример классификации результатов МРТ на изображения с опухолью и без опухоли. &amp;lt;ref&amp;gt;[https://biomedpharmajournal.org/vol11no3/brain-tumor-classification-using-convolutional-neural-networks/ Seetha J, Raja S. S. Brain Tumor Classification Using Convolutional Neural Networks. Biomed Pharmacol J 2018;11(3).]&amp;lt;/ref&amp;gt;]]&lt;br /&gt;
В диагностике заболеваний есть большое количество задач, которые можно решить при помощи машинного обучения, а в частности, при помощи анализа результатов различных исследований, таких как рентген, УЗИ или МРТ. В основном задача любой модели сводится к предсказанию, болен ли человек сейчас (иногда обычная мультиклассовая классификация, иногда {{---}} вероятностная классификация).&lt;br /&gt;
&lt;br /&gt;
Для решения таких задач чаще всего используют [[глубокое обучение]]. Такие модели на вход получают картинку с рентгенологическим или ультразвуковым исследованием пациента и по ним предсказывают наличие болезни. Обычно внутри таких моделей-классификаторов лежат [[сверточные нейронные сети]], а иногда к ним добавляются [[механизм внимания]]. За основу берутся state-of-the-art модели в области сверточных нейронных сетей, такие как GoogleLeNet&amp;lt;ref&amp;gt;[https://static.googleusercontent.com/media/research.google.com/ru//pubs/archive/43022.pdf Szegedy et al., Going Deeper with Convolutions, 2015. GoogLeNet.]&amp;lt;/ref&amp;gt;, при этом точность предсказаний превышает 90%. Такие модели учатся на размеченных тренировочных наборах данных, поэтому их можно отнести к обучению с учителем. Большое распространение такие классификаторы получили в предсказании злокачественности новообразований, классификации заболеваний легких, подборе дозы контраста при проведении МРТ.&lt;br /&gt;
&lt;br /&gt;
Кроме того, есть и другое применение. Многие модели учатся не только определять, есть ли опухоль на данном образце, но и локализировать ее положение. Таким образом, необходимо решить задачу сегментации изображения, то есть выделения каких-то ее наиболее важных частей. Технически задача не сильно отличается от предыдущей и решается все теми же сверточными нейронными сетями.&lt;br /&gt;
&lt;br /&gt;
===Применения===&lt;br /&gt;
Поскольку точность предсказаний у описанных выше моделей достаточно высока, их стали применять на практике. Сейчас ведутся исследования по внедрению таких моделей в УЗИ-аппараты для того, чтобы быстрее и точнее определять местоположение и злокачественность опухоли. Кроме того, такие модели стали применять в направленной лучевой терапии, когда злокачественная опухоль облучается различными видами частиц. Известно, что эти частицы уничтожают не только раковые, но и здоровые клетки. Именно поэтому активно внедряются модели, которые могут подсказать аппарату точное направление облучения. Также сверточные сети стали использовать для определения дозы контрастного вещества при МРТ&amp;lt;ref&amp;gt;[https://www.sciencedirect.com/science/article/pii/S0939388918301181 Lundervold et al., An overview of deep learning in medical imaging focusing on MRI, 2019]&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Генерация результатов исследований===&lt;br /&gt;
[[Файл:3d mri models comparison.png|450px|thumb|Рисунок 4. Сравнение различных моделей для генерации 3D изображений МРТ исследований&amp;lt;ref&amp;gt;[https://arxiv.org/pdf/1908.02498.pdf Generation of 3D Brain MRI Using Auto-Encoding Generative Adversarial Networks]&amp;lt;/ref&amp;gt;.]]&lt;br /&gt;
&lt;br /&gt;
Для обучения сверточных нейронных сетей необходимо большое количество данных, которые очень часто достаточно тяжело или даже невозможно получить из-за запрета на использование данных исследований даже в анонимном формате без согласия пациента. Поэтому сейчас для получения достаточно больших датасетов стали применять [[Generative Adversarial Nets (GAN)|генеративные состязательные сети]]. &lt;br /&gt;
&lt;br /&gt;
Задачу таких GAN можно разделить на две: генерация результатов исследований здоровых пациентов и пациентов с патологиями. В случае второй задачи важно, чтобы сгенерированные изображения правильно определялись именно по типу патологии.&lt;br /&gt;
&lt;br /&gt;
Основная проблема, с которой сталкиваются такие модели {{---}} необходимость очень точно определять границы объекта на сгенерированном изображении, а также не допускать размытости. Эти две проблемы долгое время не получалось решить без большого количества реальных данных, вследствие чего не было возможным применение сгенерированных изображений на практике. &lt;br /&gt;
&lt;br /&gt;
Сильно улучшить поведение моделей удалось путем использования метрики Васерштейна&amp;lt;ref&amp;gt;[https://ru.wikipedia.org/wiki/%D0%9C%D0%B5%D1%82%D1%80%D0%B8%D0%BA%D0%B0_%D0%92%D0%B0%D1%81%D0%B5%D1%80%D1%88%D1%82%D0%B5%D0%B9%D0%BD%D0%B0 Википедия:Метрика Васерштейна]&amp;lt;/ref&amp;gt;. Интуитивно, если каждая мера измеряет распределение «грунта» по метрическому пространству, то расстояние Васерштейна измеряет минимальную стоимость преобразования одного распределения грунта в другое, при этом предполагается, что стоимость прямо пропорциональна количеству грунта и расстоянию, на которое его надо перетащить. Использование такой метрики в GAN помогло сильно улучшить поведение моделей при генерации данных МРТ исследований.&lt;br /&gt;
&lt;br /&gt;
==Персонализированная медицина==&lt;br /&gt;
Персонализированная медицина (англ. personalized medicine) {{---}} новая организационная модель построения медицинской помощи пациентам, которая основывается на подборе индивидуальных лечебных, диагностических и превентивных средств, оптимально подходящих по биохимическим, физиологическим и генетическим особенностям организма.&lt;br /&gt;
&lt;br /&gt;
Основная цель нового направления в медицине заключается в персонализации и оптимизации профилактических мероприятий и лечения пациентов для исключения негативных последствий и осложнений, проявляющихся из-за индивидуальных особенностей.&lt;br /&gt;
Основные отрасли медицины, где применяются новые принципы — онкология, фармация и фармакогеномика. Последняя занимается изучением реакций организма на медицинские препараты в зависимости от индивидуальных наследственных факторов.&lt;br /&gt;
&lt;br /&gt;
===Экспрессия генов и анализ транскриптомных данных===&lt;br /&gt;
[[Файл:Gene expression based cnn.jpg|400px|thumb|Рисунок 5. Примеры архитектур сверточных сетей, предсказывающих вероятность рака по экспрессии генов. &amp;lt;ref&amp;gt;[https://bmcmedgenomics.biomedcentral.com/articles/10.1186/s12920-020-0677-2 Convolutional neural network models for cancer type prediction based on gene expression]&amp;lt;/ref&amp;gt;]]&lt;br /&gt;
Многие модели ориентируются на данные экспрессии генов&amp;lt;ref&amp;gt;[https://ru.wikipedia.org/wiki/%D0%AD%D0%BA%D1%81%D0%BF%D1%80%D0%B5%D1%81%D1%81%D0%B8%D1%8F_%D0%B3%D0%B5%D0%BD%D0%BE%D0%B2 Википедия: Экспрессия генов]&amp;lt;/ref&amp;gt; (в широком смысле {{---}} процесс получения белка из последовательности ДНК). Известно, что от количества некоторых белков напрямую зависит возможность клеток становиться раковыми, а также порождать другие заболевания. Совокупность изменений в большом количестве различных белков может приводить к заболеванию. Именно поэтому модели персонализированной медицины основываются на данных экспрессии. Часто в качестве основы используют сверточные нейронные сети, располагая гены, отвечающие за похожие по своей функции белки, рядом друг с другом.&lt;br /&gt;
&lt;br /&gt;
Прямой анализ экспрессии генов {{---}} трудная и дорогостоящая задача, поэтому часто обращаются к транскриптомным данным. Транскриптом {{---}} совокупность всех молекул РНК, которые присутствовали в клетке после завершения процесса трансрипции (получение РНК с матрицы ДНК). Транскриптом включает в себя матричную РНК (РНК, с которой впоследствии транслируются белки) и некодирующую РНК, которая, в свою очередь, не используется для получения белков. Транскриптомные данные чаще всего получают с помощью РНК-секвенирования (англ. RNA-seq) или ДНК-микрочипов (англ. DNA-microarray). С помощью специальных процедур из взятой у пациента пробы выделяют матричную РНК (мРНК), которая затем наносится на ДНК-микрочип, где цепочки мРНК зацепляются, образуя двухцепочечные молекулы. Число цепочек мРНК, зацепившихся за определенный участок ДНК-микрочипа, определяет интенсивность свечения этого участка при сканировании. Так косвенно определяют экспрессию каждого из генов. Следующая проблема, с которой сталкиваются исследователи {{---}} слишком большое количество генов (например, у человека их около 28000). Вследствие этого очень тяжело обучать модели, поэтому приходится прибегать к [[Уменьшение размерности|уменьшению размерности]].&lt;br /&gt;
&lt;br /&gt;
===Уменьшение размерности при работе с данными экспрессии генов===&lt;br /&gt;
[[Файл:Melif scheme.png|400px|thumb|Рисунок 6. Описание алгоритма MeLiF.&amp;lt;ref&amp;gt;[http://fppo.ifmo.ru/?page1=16&amp;amp;page2=86&amp;amp;number_file=E63E46A38DD44C84B7B9446996EB225F Сметанников Иван Борисович, Метод и алгоритмы выбора признаков в предсказательном моделировании фенотипических характеристик на основе транскриптомных данных]&amp;lt;/ref&amp;gt;]]&lt;br /&gt;
Для уменьшения размерности в случае биологических данных применяются методы, основным критерием которых становится их скорость. Поскольку количество генов очень велико, чаще всего нет возможности опробовать [[Уменьшение размерности|встраиваемые и оберточные методы]]. Чаще всего, используют фильтры. &lt;br /&gt;
&lt;br /&gt;
Одним из примеров моделей, основанных на фильтрах является модель MeLiF&amp;lt;ref&amp;gt;[https://www.researchgate.net/publication/317201206_MeLiF_Filter_Ensemble_Learning_Algorithm_for_Gene_Selection| Smetannikov et al., MeLiF: Filter Ensemble Learning Algorithm for Gene Selection]&amp;lt;/ref&amp;gt;, которая берет несколько фильтров &amp;lt;tex&amp;gt;M_i&amp;lt;/tex&amp;gt; с соответствующими функциями измерения релевантности признака &amp;lt;tex&amp;gt;\mu_i&amp;lt;/tex&amp;gt;, после чего строит новую меру значимости как &amp;lt;tex&amp;gt;\mu=\sum_{i=1}^{|M|} \alpha_{i} \mu_{i}&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;\left\{\alpha_{i}\right\}_{i=1}^{|M|}&amp;lt;/tex&amp;gt; {{---}} набор вещественных коэффициентов. После получения новой меры значимости происходит оценка модели на &amp;lt;tex&amp;gt;t&amp;lt;/tex&amp;gt; лучших выбранных признаках. В случае удовлетворительного результата алгоритм завершается, возвращая текущий набор признаков, иначе {{---}} возвращается снова к получению новой меры на &amp;lt;tex&amp;gt;t+1&amp;lt;/tex&amp;gt; признаках.&lt;br /&gt;
&lt;br /&gt;
===Медицинская карта===&lt;br /&gt;
Другая задача {{---}} предсказать, заболеет ли человек в будущем. Для этого часто используется электронная медицинская карта пациента, и на вход сети подаются данные о пациенте, результаты исследований, его генеалогическое древо и другая медицинская информация. Основываясь на полученных данных, модель должна предсказать вероятность того, что человек может заболеть каждой болезнью из приведенного набора. Если вероятность хотя бы по одному из маркеров превышает некоторое значение {{---}} такая модель рекомендует пациенту обратиться к специалисту и относит его в группу высокого риска по этому параметру. В свою очередь специалист может подтвердить или же опровергнуть опасения модели, отдавая ей результат {{---}} права модель или нет. Таким образом, эта проблема относится к классу задач [[Обучение с подкреплением|обучения с подкреплением]]. С точки зрения архитектуры моделей {{---}} в таких задачах часто используют [[метод опорных векторов (SVM)]] или [[глубокое обучение]].&lt;br /&gt;
&lt;br /&gt;
==Поиск лекарств==&lt;br /&gt;
Поиск лекарств (англ. drug discovery, drug design) {{---}} процесс поиска новых лекарственных средств, часто основанный на знаниях о биологической мишени (целевом белке, с которым должно взаимодействовать лекарственное вещество).&lt;br /&gt;
При поиске новых лекарственных средств часто прибегают к помощи машинного обучения в таких задачах, как предсказание молекулярных свойств потенциальной молекулы лекарства, формы какого-либо белка, активности взаимодействия между веществами.&lt;br /&gt;
===Предсказание молекулярных свойств===&lt;br /&gt;
[[Файл:MoleculeGNN.PNG|400px|thumb|Рисунок 7. Молекулярный граф]]&lt;br /&gt;
[[Файл:Morgan fingerprint.jpg|400px|thumb|Рисунок 8. Пример Morgan Fingerprint для молекулы&amp;lt;ref&amp;gt;[https://www.sciencedirect.com/science/article/abs/pii/S1046202314002631  Adrià Cereto-Massagué et al., Molecular fingerprint similarity search in virtual screening, 2015]&amp;lt;/ref&amp;gt;.]]&lt;br /&gt;
Одна из главных задач машинного обучения при поиске новых лекарств {{---}} сужение круга их поиска. Чаще всего фармацевтические компании имеют на руках библиотеки с огромным количеством веществ, которые они потенциально могут синтезировать и опробовать в качестве лекарства. Но обычно размеры этих библиотек составляют тысячи молекул, поэтому синтезировать и проверить каждую из них не представляется возможным. В этом случае прибегают к предсказанию некоторых свойств этих молекул, которые точно определяют, может ли молекула быть использована как лекарство. Для предсказания свойств молекул обычно используют молекулярный граф {{---}} графическое представление молекулы (ее атомов и связей).&lt;br /&gt;
&lt;br /&gt;
Первые нейронные сети для предсказания молекулярных свойств использовали Моргановские фингерпринты (англ. Morgan fingerpints), которые для каждого атома в молекуле выделяли всех его соседей на каком-то определенном расстоянии (которое является [[Настройка гиперпараметров|гиперпараметром]]) и смотрели на наличие такой подструктуры в молекуле. Получался аналог некоторого оne-hot кодирования. Впоследствии этот метод был несколько усовершенствован, и стали смотреть не на наличие подструктуры, а на то, сколько раз она встречается в молекуле. Прорыв в этой области случился с появлением сети NeuralFingerprints &amp;lt;ref&amp;gt;[https://arxiv.org/abs/1509.09292 Duvenaud et al., Convolutional Networks on Graphs for Learning Molecular Fingerprints, 2015]&amp;lt;/ref&amp;gt;, которая является примером одной из первых попыток применения [[графовые нейронные сети|графовых нейронных сетей]] в этой области. &lt;br /&gt;
&lt;br /&gt;
NeuralFingerprints принимает один [[Настройка гиперпараметров|гиперпараметр]] {{---}} максимальное расстояние, которое нужно учитывать при просмотре соседей каждого атома. После этого для каждого расстояния для каждого атома суммируются атомные представления его соседей на текущем расстоянии. Таким образом, получается векторное представление текущего атома фиксированной длины, которая равна количеству свойств у одного атома. Каждый элемент такого представления  умножается на обучаемый параметр, уникальный для номера свойства и текущего рассматриваемого расстояния. После этого применяется функция активации к полученному ранее вектору, умноженному на вес, отвечающий за текущее расстояние. Полученные результаты для каждого из атомов на каждом из расстояний суммируются и получается результирующий вектор свойств для молекулы. Таким образом, в этой сети обучаемые параметры {{---}} веса для каждого из свойств атомов на каждом расстоянии (&amp;lt;tex&amp;gt;H^i_j&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;i&amp;lt;/tex&amp;gt; {{---}} индекс номера свойства (в модели их всего 5), &amp;lt;tex&amp;gt;j&amp;lt;/tex&amp;gt; {{---}} индекс для текущего расстояния) и веса для каждого из расстояний (&amp;lt;tex&amp;gt;W_j&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;j&amp;lt;/tex&amp;gt; {{---}} индекс для текущего расстояния). Псевдокод представлен ниже.&lt;br /&gt;
 '''function''' neuralFingerptint(molecule, R, H, W): &amp;lt;span style=&amp;quot;color:Green&amp;quot;&amp;gt;# R - максимальное расстояние, H - матрица весов размера len(molecule)&amp;lt;tex&amp;gt;\cdot&amp;lt;/tex&amp;gt;R, W - вектор весов размера R&amp;lt;/span&amp;gt;&lt;br /&gt;
    f = array[len(molecule), 0]&lt;br /&gt;
    '''for''' a in molecule: &lt;br /&gt;
        r[a] = g(a) &amp;lt;span style=&amp;quot;color:Green&amp;quot;&amp;gt;# записываем свойства для каждого атома&amp;lt;/span&amp;gt;&lt;br /&gt;
    '''for''' L = 1 to R:&lt;br /&gt;
        '''for''' a in molecule: &lt;br /&gt;
            neighbors = '''neighbors'''(a) &amp;lt;span style=&amp;quot;color:Green&amp;quot;&amp;gt;# смотрим соседей на расстоянии L от текущего атома a&amp;lt;/span&amp;gt;&lt;br /&gt;
        v = r[a] + '''sum'''(r[i] for i in neighbors) &amp;lt;span style=&amp;quot;color:Green&amp;quot;&amp;gt;# суммируем вектора соседей и вектор текущего атома&amp;lt;/span&amp;gt;&lt;br /&gt;
        r[a] = '''σ'''(v &amp;lt;tex&amp;gt;\cdot&amp;lt;/tex&amp;gt;H[a][L]) &amp;lt;span style=&amp;quot;color:Green&amp;quot;&amp;gt;# изменяем представление текущего атома&amp;lt;/span&amp;gt;&lt;br /&gt;
        i = '''softmax'''(r[a]&amp;lt;tex&amp;gt;\cdot&amp;lt;/tex&amp;gt;W[L]) &amp;lt;span style=&amp;quot;color:Green&amp;quot;&amp;gt;# получаем вектор для текущего атома и расстояния&amp;lt;/span&amp;gt;&lt;br /&gt;
        f = f + i  &amp;lt;span style=&amp;quot;color:Green&amp;quot;&amp;gt;# добавляем его к ответу&amp;lt;/span&amp;gt;&lt;br /&gt;
    '''return''' f&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Эта сеть была одной из первых в этой области, и сейчас используется как базовый метод в множестве статей. В основу новых методов и сейчас чаще всего ложатся [[графовые нейронные сети]]. Подходы графовых нейронных сетей адаптируют под молекулярный граф путем поиска элементов на расстоянии не более, чем N (где N является [[Настройка гиперпараметров|гиперпараметром]]), или последовательным рассмотрением каждой вершины и усреднением полученных значений.&lt;br /&gt;
&lt;br /&gt;
===Предсказание формы белка===&lt;br /&gt;
[[Файл:AlphaFold 2 block design.png|400px|thumb|Рисунок 9. Архитектура AlphaFold2, модели для предсказания пространственной структуры белка&amp;lt;ref&amp;gt;[https://en.wikipedia.org/wiki/AlphaFold Wikipedia: AlphaFold]&amp;lt;/ref&amp;gt;.]]&lt;br /&gt;
Секвенирование {{---}} процесс получения нуклеотидной последовательности из молекулы ДНК. &amp;lt;ref&amp;gt;[https://en.wikipedia.org/wiki/Sequencing Википедия: Секвенирование]&amp;lt;/ref&amp;gt;&lt;br /&gt;
Из нуклеотидной последовательности можно получить аминокислотную последовательность, которая в свою очередь кодирует любой белок в организме.&lt;br /&gt;
&lt;br /&gt;
Предсказание формы белка {{---}} другая очень важная задача машинного обучения в фармацевтике. С возникновением технологий секвенирования ДНК у сообщества появилась возможность быстро и достаточно качественно прочитывать белковые последовательности, но получать пространственную структуру полученных белков экспериментально все еще очень трудоемко и дорого. Пространственная же структура белка важна для генерации мишеней, поэтому задача предсказания структуры является очень важной. Например, при подборе потенциальной вакцины, необходимо точно знать форму антитела, чтобы понимать, сможет ли это соединение захватить свою мишень, не дав ей закрепиться в организме пациента.&lt;br /&gt;
&lt;br /&gt;
Предсказание формы белков основано на нейронных сетях, которые как вход используют очень длинную аминокислотную последовательность (размер алфавита ограничен {{---}} всего различных аминокислот 20), а на выходе должны предсказать значения торсионных углов&amp;lt;ref&amp;gt;[https://kodomo.fbb.msu.ru/~youthofchemist/projects/Term_1/Protein/phipsi.html Торсионные углы]&amp;lt;/ref&amp;gt; между аминокислотами. В декабре 2020 года DeepMind (исследовательское подразделение Google) заявили&amp;lt;ref&amp;gt;[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 Фундаментальная «проблема белка» решена]&amp;lt;/ref&amp;gt;, что решили проблему пространственной структуры белка. Авторы модели утверждают, что значение метрики глобального расстояния (англ. global distance test) превысило 90%. Метрика глобального расстояния {{---}} это метрика, которая вычисляется для каждой аминокислоты как процент атомов углерода из главной цепи белка, которые в сгенерированном белке расположены не более чем на расстоянии какого-то определенного количества ангстрем от соответствующего атома углерода в исходном белке. Обычно это значение берется равным 1, 2, 4 или 8 ангстрем (10&amp;lt;sup&amp;gt;-10&amp;lt;/sup&amp;gt;м).&lt;br /&gt;
&lt;br /&gt;
===Генерация молекулярных структур===&lt;br /&gt;
[[Файл:Ranc scheme.png|thumb|Рисунок 10. Пример генеративной состязательной сети для лекарственных молекул. Сеть RANC (Reinforced Adversarial Neural Computer) &amp;lt;ref&amp;gt;[https://pubs.acs.org/doi/10.1021/acs.jcim.7b00690 Evgeny Putin et al., Reinforced Adversarial Neural Computer for de Novo Molecular Design, 2018]&amp;lt;/ref&amp;gt;.]]&lt;br /&gt;
Еще одна задача, которая есть сейчас в мире машинного обучения {{---}} генерировать новые молекулы, которые могут потенциально быть лекарствами. Для этого используют [[Generative Adversarial Nets (GAN)|генеративные состязательные сети]]. Основное преимущество такого подхода заключается в том, что при работе с библиотеками уже синтезированных лекарств есть вероятность &amp;quot;пропустить&amp;quot; важное соединение просто потому, что в этой библиотеке его не было. Поэтому используется абсолютно другой подход {{---}} предлагается наоборот генерировать различные молекулы, а уже потом проверять, действительно ли их можно использовать как лекарство и насколько сложно их синтезировать. Часто эти свойства вносят в метрику качества генератора. &lt;br /&gt;
&lt;br /&gt;
SMILES {{---}} способ однозначного задания молекулы при помощи строки. Таким образом, задача генератора {{---}} сгенерировать такую строку SMILES для молекулы, чтобы дискриминатор не отличил ее от настоящей. Архитектура дискриминатора чаще всего остается очень похожей на архитектуру обычной сети, предсказывающей молекулярные свойства. Таким образом, в качестве дискриминатора часто используются графовые или сверточные нейронные сети. Для генератора же часто используют механизм памяти, чтобы сеть помнила, какие части уже были сгенерированы и отталкивалась от них.&lt;br /&gt;
&lt;br /&gt;
==См. также==&lt;br /&gt;
* [[Нейронные сети, перцептрон]]&lt;br /&gt;
* [[Глубокое обучение]]&lt;br /&gt;
* [[Графовые нейронные сети]]&lt;br /&gt;
* [[Компьютерное зрение]]&lt;br /&gt;
* [[Обучение с подкреплением]]&lt;br /&gt;
&lt;br /&gt;
==Примечания==&lt;br /&gt;
* [https://en.wikipedia.org/wiki/Protein_structure_prediction#:~:text=Protein%20structure%20prediction%20is%20the,inverse%20problem%20of%20protein%20design. Protein structure prediction]&lt;br /&gt;
* [https://ru.wikipedia.org/wiki/%D0%9F%D0%B5%D1%80%D1%81%D0%BE%D0%BD%D0%B0%D0%BB%D0%B8%D0%B7%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%BD%D0%B0%D1%8F_%D0%BC%D0%B5%D0%B4%D0%B8%D1%86%D0%B8%D0%BD%D0%B0 Википедия: Персонализированная медицина]&lt;br /&gt;
* [https://emerj.com/ai-sector-overviews/machine-learning-in-pharma-medicine/ 7 Applications of Machine Learning in Pharma and Medicine]&lt;br /&gt;
* [https://www.nature.com/articles/s41563-019-0360-1 Ascent of machine learning in medicine]&lt;br /&gt;
* [http://jtelemed.ru/article/glubokoe-mashinnoe-obuchenie-iskusstvennyj-intellekt-v-ultrazvukovoj-diagnostike Глубокое машинное обучение (искусственный интеллект) в ультразвуковой диагностике]&lt;br /&gt;
&lt;br /&gt;
==Источники информации==&lt;br /&gt;
&lt;br /&gt;
[[Категория: Машинное обучение]]&lt;br /&gt;
[[Категория: Глубокое обучение]]&lt;br /&gt;
[[Категория: Практические применения машинного обучения]]&lt;/div&gt;</summary>
		<author><name>188.170.82.221</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%9C%D0%B0%D1%88%D0%B8%D0%BD%D0%BD%D0%BE%D0%B5_%D0%BE%D0%B1%D1%83%D1%87%D0%B5%D0%BD%D0%B8%D0%B5_%D0%B2_%D0%BC%D0%B5%D0%B4%D0%B8%D1%86%D0%B8%D0%BD%D0%B5&amp;diff=76940</id>
		<title>Машинное обучение в медицине</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%9C%D0%B0%D1%88%D0%B8%D0%BD%D0%BD%D0%BE%D0%B5_%D0%BE%D0%B1%D1%83%D1%87%D0%B5%D0%BD%D0%B8%D0%B5_%D0%B2_%D0%BC%D0%B5%D0%B4%D0%B8%D1%86%D0%B8%D0%BD%D0%B5&amp;diff=76940"/>
				<updated>2021-01-09T13:16:14Z</updated>
		
		<summary type="html">&lt;p&gt;188.170.82.221: /* Генерация результатов исследований */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Машинное обучение в медицине используют очень активно, находя все больше областей для его применения. Сейчас в медицине использут почти [[Общие понятия|все виды машинного обучения]]: обучение с учителем, без учителя, с частичным привлечением учителя, с подкреплением. Наиболее активно машинное обучение в медицине используют для решения проблем по диагностике заболеваний и дизайну лекарств. Эти задачи относят к обучению с учителем или [[Обучение с частичным привлечением учителя|с частичным привлечением учителя]]. Кроме того, машинное обучение стали применять в персонализированной медицине и генерации данных различных исследований для анонимизации данных пациентов. В этих задачах сейчас все больше применяют [[Обучение с подкреплением|обучение с подкреплением]] и обучение без учителя, в частности, [[Generative Adversarial Nets (GAN)|генеративные состязательные сети]]. Машинное обучение в медицине начали изучать еще в 2000-ых и оно продолжает активно развиваться и в наши дни.&lt;br /&gt;
&lt;br /&gt;
==Диагностика заболеваний по результатам рентгенологических и УЗИ исследований==&lt;br /&gt;
[[Файл:Covid cnn recognition.png|thumb|Пример вероятностной классификации КТ грудной клетки. &amp;lt;ref&amp;gt;[https://arxiv.org/ftp/arxiv/papers/2004/2004.04931.pdf CoroNet: A deep neural network for detection and diagnosis of COVID-19 from chest x-ray images, 2020]&amp;lt;/ref&amp;gt;]]&lt;br /&gt;
[[Файл:Spine x ray cnn.png|thumb|Пример локализации шейного отдела позвоночника на рентгене. Источник: &amp;lt;ref&amp;gt;[https://lhncbc.nlm.nih.gov/system/files/pub9781.pdf Zhiyun Xue et al., Gender Detection from Spine X-ray Images Using Deep Learning, 2018]&amp;lt;/ref&amp;gt;]]&lt;br /&gt;
===Диагностика по изображению===&lt;br /&gt;
[[Файл:Brain tumor mri cnn.jpg|thumb|left|200px|Пример классификации результатов МРТ на изображения с опухолью и без опухоли. &amp;lt;ref&amp;gt;[https://biomedpharmajournal.org/vol11no3/brain-tumor-classification-using-convolutional-neural-networks/ Seetha J, Raja S. S. Brain Tumor Classification Using Convolutional Neural Networks. Biomed Pharmacol J 2018;11(3).]&amp;lt;/ref&amp;gt;]]&lt;br /&gt;
В диагностике заболеваний есть большое количество задач, которые можно решить при помощи машинного обучения, а в частности, при помощи анализа результатов различных исследований, таких как рентген, УЗИ или МРТ. В основном задача любой модели сводится к предсказанию, болен ли человек сейчас (иногда обычная мультиклассовая классификация, иногда {{---}} вероятностная классификация).&lt;br /&gt;
&lt;br /&gt;
Для решения таких задач чаще всего используют [[глубокое обучение]]. Такие модели на вход получают картинку с рентгенологическим или ультразвуковым исследованием пациента и по ним предсказывают наличие болезни. Обычно внутри таких моделей-классификаторов лежат [[сверточные нейронные сети]], а иногда к ним добавляются [[механизм внимания]]. За основу берутся state-of-the-art модели в области сверточных нейронных сетей, такие как GoogleLeNet&amp;lt;ref&amp;gt;[https://static.googleusercontent.com/media/research.google.com/ru//pubs/archive/43022.pdf Szegedy et al., Going Deeper with Convolutions, 2015. GoogLeNet.]&amp;lt;/ref&amp;gt;, при этом точность предсказаний превышает 90%. Такие модели учатся на размеченных тренировочных наборах данных, поэтому их можно отнести к обучению с учителем. Большое распространение такие классификаторы получили в предсказании злокачественности новообразований, классификации заболеваний легких, подборе дозы контраста при проведении МРТ.&lt;br /&gt;
&lt;br /&gt;
Кроме того, есть и другое применение. Многие модели учатся не только определять, есть ли опухоль на данном образце, но и локализировать ее положение. Таким образом, необходимо решить задачу сегментации изображения, то есть выделения каких-то ее наиболее важных частей. Технически задача не сильно отличается от предыдущей и решается все теми же сверточными нейронными сетями.&lt;br /&gt;
&lt;br /&gt;
===Применения===&lt;br /&gt;
Поскольку точность предсказаний у описанных выше моделей достаточно высока, их стали применять на практике. Сейчас ведутся исследования по внедрению таких моделей в УЗИ-аппараты для того, чтобы быстрее и точнее определять местоположение и злокачественность опухоли. Кроме того, такие модели стали применять в направленной лучевой терапии, когда злокачественная опухоль облучается различными видами частиц. Известно, что эти частицы уничтожают не только раковые, но и здоровые клетки. Именно поэтому активно внедряются модели, которые могут подсказать аппарату точное направление облучения. Также сверточные сети стали использовать для определения дозы контрастного вещества при МРТ&amp;lt;ref&amp;gt;[https://www.sciencedirect.com/science/article/pii/S0939388918301181 Lundervold et al., An overview of deep learning in medical imaging focusing on MRI, 2019]&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Генерация результатов исследований===&lt;br /&gt;
[[Файл:3d mri models comparison.png|450px|thumb|Сравнение различных моделей для генерации 3D изображений МРТ исследований. Источник: https://arxiv.org/pdf/1908.02498.pdf]]&lt;br /&gt;
&lt;br /&gt;
Для обучения сверточных нейронных сетей необходимо большое количество данных, которые очень часто достаточно тяжело или даже невозможно получить из-за запрета на использование данных исследований даже в анонимном формате без согласия пациента. Поэтому сейчас для получения достаточно больших датасетов стали применять [[Generative Adversarial Nets (GAN)|генеративные состязательные сети]]. &lt;br /&gt;
&lt;br /&gt;
Задачу таких GAN можно разделить на две: генерация результатов исследований здоровых пациентов и пациентов с патологиями. В случае второй задачи важно, чтобы сгенерированные изображения правильно определялись именно по типу патологии.&lt;br /&gt;
&lt;br /&gt;
Основная проблема, с которой сталкиваются такие модели {{---}} необходимость очень точно определять границы объекта на сгенерированном изображении, а также не допускать размытости. Эти две проблемы долгое время не получалось решить без большого количества реальных данных, вследствие чего не было возможным применение сгенерированных изображений на практике. &lt;br /&gt;
&lt;br /&gt;
Сильно улучшить поведение моделей удалось путем использования метрики Васерштейна&amp;lt;ref&amp;gt;[https://ru.wikipedia.org/wiki/%D0%9C%D0%B5%D1%82%D1%80%D0%B8%D0%BA%D0%B0_%D0%92%D0%B0%D1%81%D0%B5%D1%80%D1%88%D1%82%D0%B5%D0%B9%D0%BD%D0%B0 Википедия:Метрика Васерштейна]&amp;lt;/ref&amp;gt;. Интуитивно, если каждая мера измеряет распределение «грунта» по метрическому пространству, то расстояние Васерштейна измеряет минимальную стоимость преобразования одного распределения грунта в другое, при этом предполагается, что стоимость прямо пропорциональна количеству грунта и расстоянию, на которое его надо перетащить. Использование такой метрики в GAN помогло сильно улучшить поведение моделей при генерации данных МРТ исследований.&lt;br /&gt;
&lt;br /&gt;
==Персонализированная медицина==&lt;br /&gt;
Персонализированная медицина (англ. personalized medicine) {{---}} новая организационная модель построения медицинской помощи пациентам, которая основывается на подборе индивидуальных лечебных, диагностических и превентивных средств, оптимально подходящих по биохимическим, физиологическим и генетическим особенностям организма.&lt;br /&gt;
&lt;br /&gt;
Основная цель нового направления в медицине заключается в персонализации и оптимизации профилактических мероприятий и лечения пациентов для исключения негативных последствий и осложнений, проявляющихся из-за индивидуальных особенностей.&lt;br /&gt;
Основные отрасли медицины, где применяются новые принципы — онкология, фармация и фармакогеномика. Последняя занимается изучением реакций организма на медицинские препараты в зависимости от индивидуальных наследственных факторов.&lt;br /&gt;
&lt;br /&gt;
===Экспрессия генов и анализ транскриптомных данных===&lt;br /&gt;
[[Файл:Gene expression based cnn.jpg|400px|thumb|Примеры архитектур сверточных сетей, предсказывающих вероятность рака по экспрессии генов. &amp;lt;ref&amp;gt;[https://bmcmedgenomics.biomedcentral.com/articles/10.1186/s12920-020-0677-2 Convolutional neural network models for cancer type prediction based on gene expression]&amp;lt;/ref&amp;gt;]]&lt;br /&gt;
Многие модели ориентируются на данные экспрессии генов&amp;lt;ref&amp;gt;[https://ru.wikipedia.org/wiki/%D0%AD%D0%BA%D1%81%D0%BF%D1%80%D0%B5%D1%81%D1%81%D0%B8%D1%8F_%D0%B3%D0%B5%D0%BD%D0%BE%D0%B2 Википедия: Экспрессия генов]&amp;lt;/ref&amp;gt; (в широком смысле {{---}} процесс получения белка из последовательности ДНК). Известно, что от количества некоторых белков напрямую зависит возможность клеток становиться раковыми, а также порождать другие заболевания. Совокупность изменений в большом количестве различных белков может приводить к заболеванию. Именно поэтому модели персонализированной медицины основываются на данных экспрессии. Часто в качестве основы используют сверточные нейронные сети, располагая гены, отвечающие за похожие по своей функции белки, рядом друг с другом.&lt;br /&gt;
&lt;br /&gt;
Прямой анализ экспрессии генов {{---}} трудная и дорогостоящая задача, поэтому часто обращаются к транскриптомным данным. Транскриптом {{---}} совокупность всех молекул РНК, которые присутствовали в клетке после завершения процесса трансрипции (получение РНК с матрицы ДНК). Транскриптом включает в себя матричную РНК (РНК, с которой впоследствии транслируются белки) и некодирующую РНК, которая, в свою очередь, не используется для получения белков. Транскриптомные данные чаще всего получают с помощью РНК-секвенирования (англ. RNA-seq) или ДНК-микрочипов (англ. DNA-microarray). С помощью специальных процедур из взятой у пациента пробы выделяют матричную РНК (мРНК), которая затем наносится на ДНК-микрочип, где цепочки мРНК зацепляются, образуя двухцепочечные молекулы. Число цепочек мРНК, зацепившихся за определенный участок ДНК-микрочипа, определяет интенсивность свечения этого участка при сканировании. Так косвенно определяют экспрессию каждого из генов. Следующая проблема, с которой сталкиваются исследователи {{---}} слишком большое количество генов (например, у человека их около 28000). Вследствие этого очень тяжело обучать модели, поэтому приходится прибегать к [[Уменьшение размерности|уменьшению размерности]].&lt;br /&gt;
&lt;br /&gt;
===Уменьшение размерности при работе с данными экспрессии генов===&lt;br /&gt;
[[Файл:Melif scheme.png|400px|thumb|Описание алгоритма MeLiF.&amp;lt;ref&amp;gt;[http://fppo.ifmo.ru/?page1=16&amp;amp;page2=86&amp;amp;number_file=E63E46A38DD44C84B7B9446996EB225F Сметанников Иван Борисович, Метод и алгоритмы выбора признаков в предсказательном моделировании фенотипических характеристик на основе транскриптомных данных]&amp;lt;/ref&amp;gt;]]&lt;br /&gt;
Для уменьшения размерности в случае биологических данных применяются методы, основным критерием которых становится их скорость. Поскольку количество генов очень велико, чаще всего нет возможности опробовать встраиваемые и оберточные методы. Чаще всего, используют фильтры. &lt;br /&gt;
&lt;br /&gt;
Одним из примеров моделей, основанных на фильтрах является модель MeLiF&amp;lt;ref&amp;gt;[https://www.researchgate.net/publication/317201206_MeLiF_Filter_Ensemble_Learning_Algorithm_for_Gene_Selection| Smetannikov et al., MeLiF: Filter Ensemble Learning Algorithm for Gene Selection]&amp;lt;/ref&amp;gt;, которая берет несколько фильтров &amp;lt;tex&amp;gt;M_i&amp;lt;/tex&amp;gt; с соответствующими функциями измерения релевантности признака &amp;lt;tex&amp;gt;\mu_i&amp;lt;/tex&amp;gt;, после чего строит новую меру значимости как &amp;lt;tex&amp;gt;\mu=\sum_{i=1}^{|M|} \alpha_{i} \mu_{i}&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;\left\{\alpha_{i}\right\}_{i=1}^{|M|}&amp;lt;/tex&amp;gt; {{---}} набор вещественных коэффициентов. После получения новой меры значимости происходит оценка модели на &amp;lt;tex&amp;gt;t&amp;lt;/tex&amp;gt; лучших выбранных признаках. В случае удовлетворительного результата алгоритм завершается, возвращая текущий набор признаков, иначе {{---}} возвращается снова к получению новой меры на &amp;lt;tex&amp;gt;t+1&amp;lt;/tex&amp;gt; признаках.&lt;br /&gt;
&lt;br /&gt;
===Медицинская карта===&lt;br /&gt;
Другая задача {{---}} предсказать, заболеет ли человек в будущем. Для этого часто используется электронная медицинская карта пациента, и на вход сети подаются данные о пациенте, результаты исследований, его генеалогическое древо и другая медицинская информация. Основываясь на полученных данных, модель должна предсказать вероятность того, что человек может заболеть каждой болезнью из приведенного набора. Если вероятность хотя бы по одному из маркеров превышает некоторое значение {{---}} такая модель рекомендует пациенту обратиться к специалисту и относит его в группу высокого риска по этому параметру. В свою очередь специалист может подтвердить или же опровергнуть опасения модели, отдавая ей результат {{---}} права модель или нет. Таким образом, эта проблема относится к классу задач [[Обучение с подкреплением|обучения с подкреплением]]. С точки зрения архитектуры моделей {{---}} в таких задачах часто используют [[метод опорных векторов (SVM)]] или [[глубокое обучение]].&lt;br /&gt;
&lt;br /&gt;
==Поиск лекарств==&lt;br /&gt;
Поиск лекарств (англ. drug discovery, drug design) {{---}} процесс поиска новых лекарственных средств, часто основанный на знаниях о биологической мишени (целевом белке, с которым должно взаимодействовать лекарственное вещество).&lt;br /&gt;
При поиске новых лекарственных средств часто прибегают к помощи машинного обучения в таких задачах, как предсказание молекулярных свойств потенциальной молекулы лекарства, формы какого-либо белка, активности взаимодействия между веществами.&lt;br /&gt;
===Предсказание молекулярных свойств===&lt;br /&gt;
[[Файл:MoleculeGNN.PNG|400px|thumb|Молекулярный граф]]&lt;br /&gt;
[[Файл:Morgan fingerprint.jpg|400px|thumb|Пример Morgan Fingerprint для молекулы. Источник: https://www.sciencedirect.com/science/article/abs/pii/S1046202314002631]]&lt;br /&gt;
Одна из главных задач машинного обучения при поиске новых лекарств {{---}} сужение круга их поиска. Чаще всего фармацевтические компании имеют на руках библиотеки с огромным количеством веществ, которые они потенциально могут синтезировать и опробовать в качестве лекарства. Но обычно размеры этих библиотек составляют тысячи молекул, поэтому синтезировать и проверить каждую из них не представляется возможным. В этом случае прибегают к предсказанию некоторых свойств этих молекул, которые точно определяют, может ли молекула быть использована как лекарство. Для предсказания свойств молекул обычно используют молекулярный граф {{---}} графическое представление молекулы (ее атомов и связей).&lt;br /&gt;
&lt;br /&gt;
Первые нейронные сети для предсказания молекулярных свойств использовали Моргановские фингерпринты (англ. Morgan fingerpints), которые для каждого атома в молекуле выделяли всех его соседей на каком-то определенном расстоянии (которое является гиперпараметром) и смотрели на наличие такой подструктуры в молекуле. Получался аналог некоторого оne-hot кодирования. Впоследствии этот метод был несколько усовершенствован, и стали смотреть не на наличие подструктуры, а на то, сколько раз она встречается в молекуле. Прорыв в этой области случился с появлением сети NeuralFingerprints &amp;lt;ref&amp;gt;[https://arxiv.org/abs/1509.09292 Duvenaud et al., Convolutional Networks on Graphs for Learning Molecular Fingerprints, 2015]&amp;lt;/ref&amp;gt;, которая является примером одной из первых попыток применения [[графовые нейронные сети|графовых нейронных сетей]] в этой области. &lt;br /&gt;
&lt;br /&gt;
NeuralFingerprints принимает один гиперпараметр {{---}} максимальное расстояние, которое нужно учитывать при просмотре соседей каждого атома. После этого для каждого расстояния для каждого атома суммируются атомные представления его соседей на текущем расстоянии. Таким образом, получается векторное представление текущего атома фиксированной длины, которая равна количеству свойств у одного атома. Каждый элемент такого представления  умножается на обучаемый параметр, уникальный для номера свойства и текущего рассматриваемого расстояния. После этого применяется функция активации к полученному ранее вектору, умноженному на вес, отвечающий за текущее расстояние. Полученные результаты для каждого из атомов на каждом из расстояний суммируются и получается результирующий вектор свойств для молекулы. Таким образом, в этой сети обучаемые параметры {{---}} веса для каждого из свойств атомов на каждом расстоянии (&amp;lt;tex&amp;gt;H^i_j&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;i&amp;lt;/tex&amp;gt; {{---}} индекс номера свойства (в модели их всего 5), &amp;lt;tex&amp;gt;j&amp;lt;/tex&amp;gt; {{---}} индекс для текущего расстояния) и веса для каждого из расстояний (&amp;lt;tex&amp;gt;W_j&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;j&amp;lt;/tex&amp;gt; {{---}} индекс для текущего расстояния). Псевдокод представлен ниже.&lt;br /&gt;
 '''function''' neuralFingerptint(molecule, R, H, W): &amp;lt;span style=&amp;quot;color:Green&amp;quot;&amp;gt;# R - максимальное расстояние, H - матрица весов размера len(molecule)&amp;lt;tex&amp;gt;\cdot&amp;lt;/tex&amp;gt;R, W - вектор весов размера R&amp;lt;/span&amp;gt;&lt;br /&gt;
    f = array[len(molecule), 0]&lt;br /&gt;
    '''for''' a in molecule: &lt;br /&gt;
        r[a] = g(a) &amp;lt;span style=&amp;quot;color:Green&amp;quot;&amp;gt;# записываем свойства для каждого атома&amp;lt;/span&amp;gt;&lt;br /&gt;
    '''for''' L = 1 to R:&lt;br /&gt;
        '''for''' a in molecule: &lt;br /&gt;
            neighbors = '''neighbors'''(a) &amp;lt;span style=&amp;quot;color:Green&amp;quot;&amp;gt;# смотрим соседей на расстоянии L от текущего атома a&amp;lt;/span&amp;gt;&lt;br /&gt;
        v = r[a] + '''sum'''(r[i] for i in neighbors) &amp;lt;span style=&amp;quot;color:Green&amp;quot;&amp;gt;# суммируем вектора соседей и вектор текущего атома&amp;lt;/span&amp;gt;&lt;br /&gt;
        r[a] = '''σ'''(v &amp;lt;tex&amp;gt;\cdot&amp;lt;/tex&amp;gt;H[a][L]) &amp;lt;span style=&amp;quot;color:Green&amp;quot;&amp;gt;# изменяем представление текущего атома&amp;lt;/span&amp;gt;&lt;br /&gt;
        i = '''softmax'''(r[a]&amp;lt;tex&amp;gt;\cdot&amp;lt;/tex&amp;gt;W[L]) &amp;lt;span style=&amp;quot;color:Green&amp;quot;&amp;gt;# получаем вектор для текущего атома и расстояния&amp;lt;/span&amp;gt;&lt;br /&gt;
        f = f + i  &amp;lt;span style=&amp;quot;color:Green&amp;quot;&amp;gt;# добавляем его к ответу&amp;lt;/span&amp;gt;&lt;br /&gt;
    '''return''' f&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Эта сеть была одной из первых в этой области, и сейчас используется как базовый метод в множестве статей. В основу новых методов и сейчас чаще всего ложатся [[графовые нейронные сети]]. Подходы графовых нейронных сетей адаптируют под молекулярный граф путем поиска элементов на расстоянии не более, чем N (где N является гиперпараметром), или последовательным рассмотрением каждой вершины и усреднением полученных значений.&lt;br /&gt;
&lt;br /&gt;
===Предсказание формы белка===&lt;br /&gt;
[[Файл:AlphaFold 2 block design.png|400px|thumb|Архитектура AlphaFold2, модели для предсказания пространственной структуры белка. Источник: https://en.wikipedia.org/wiki/AlphaFold]]&lt;br /&gt;
Секвенирование {{---}} процесс получения нуклеотидной последовательности из молекулы ДНК. &amp;lt;ref&amp;gt;[https://en.wikipedia.org/wiki/Sequencing Википедия: Секвенирование]&amp;lt;/ref&amp;gt;&lt;br /&gt;
Из нуклеотидной последовательности можно получить аминокислотную последовательность, которая в свою очередь кодирует любой белок в организме.&lt;br /&gt;
&lt;br /&gt;
Предсказание формы белка {{---}} другая очень важная задача машинного обучения в фармацевтике. С возникновением технологий секвенирования ДНК у сообщества появилась возможность быстро и достаточно качественно прочитывать белковые последовательности, но получать пространственную структуру полученных белков экспериментально все еще очень трудоемко и дорого. Пространственная же структура белка важна для генерации мишеней, поэтому задача предсказания структуры является очень важной. Например, при подборе потенциальной вакцины, необходимо точно знать форму антитела, чтобы понимать, сможет ли это соединение захватить свою мишень, не дав ей закрепиться в организме пациента.&lt;br /&gt;
&lt;br /&gt;
Предсказание формы белков основано на нейронных сетях, которые как вход используют очень длинную аминокислотную последовательность (размер алфавита ограничен {{---}} всего различных аминокислот 20), а на выходе должны предсказать значения торсионных углов&amp;lt;ref&amp;gt;[https://kodomo.fbb.msu.ru/~youthofchemist/projects/Term_1/Protein/phipsi.html Торсионные углы]&amp;lt;/ref&amp;gt; между аминокислотами. В декабре 2020 года DeepMind (исследовательское подразделение Google) заявили&amp;lt;ref&amp;gt;[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 Фундаментальная «проблема белка» решена]&amp;lt;/ref&amp;gt;, что решили проблему пространственной структуры белка. Авторы модели утверждают, что значение метрики глобального расстояния (англ. global distance test) превысило 90%. Метрика глобального расстояния {{---}} это метрика, которая вычисляется для каждой аминокислоты как процент атомов углерода из главной цепи белка, которые в сгенерированном белке расположены не более чем на расстоянии какого-то определенного количества ангстрем от соответствующего атома углерода в исходном белке. Обычно это значение берется равным 1, 2, 4 или 8 ангстрем (10&amp;lt;sup&amp;gt;-10&amp;lt;/sup&amp;gt;м).&lt;br /&gt;
&lt;br /&gt;
===Генерация молекулярных структур===&lt;br /&gt;
[[Файл:Ranc scheme.png|thumb|Пример генеративной состязательной сети для лекарственных молекул. Сеть RANC (Reinforced Adversarial Neural Computer). Источник: https://pubs.acs.org/doi/10.1021/acs.jcim.7b00690]]&lt;br /&gt;
Еще одна задача, которая есть сейчас в мире машинного обучения {{---}} генерировать новые молекулы, которые могут потенциально быть лекарствами. Для этого используют [[Generative Adversarial Nets (GAN)|генеративные состязательные сети]]. Основное преимущество такого подхода заключается в том, что при работе с библиотеками уже синтезированных лекарств есть вероятность &amp;quot;пропустить&amp;quot; важное соединение просто потому, что в этой библиотеке его не было. Поэтому используется абсолютно другой подход {{---}} предлагается наоборот генерировать различные молекулы, а уже потом проверять, действительно ли их можно использовать как лекарство и насколько сложно их синтезировать. Часто эти свойства вносят в метрику качества генератора. &lt;br /&gt;
&lt;br /&gt;
SMILES {{---}} способ однозначного задания молекулы при помощи строки. Таким образом, задача генератора {{---}} сгенерировать такую строку SMILES для молекулы, чтобы дискриминатор не отличил ее от настоящей. Архитектура дискриминатора чаще всего остается очень похожей на архитектуру обычной сети, предсказывающей молекулярные свойства. Таким образом, в качестве дискриминатора часто используются графовые или сверточные нейронные сети. Для генератора же часто используют механизм памяти, чтобы сеть помнила, какие части уже были сгенерированы и отталкивалась от них.&lt;br /&gt;
&lt;br /&gt;
==См. также==&lt;br /&gt;
* [[Нейронные сети, перцептрон]]&lt;br /&gt;
* [[Глубокое обучение]]&lt;br /&gt;
* [[Графовые нейронные сети]]&lt;br /&gt;
* [[Компьютерное зрение]]&lt;br /&gt;
* [[Обучение с подкреплением]]&lt;br /&gt;
&lt;br /&gt;
==Примечания==&lt;br /&gt;
* [https://en.wikipedia.org/wiki/Protein_structure_prediction#:~:text=Protein%20structure%20prediction%20is%20the,inverse%20problem%20of%20protein%20design. Protein structure prediction]&lt;br /&gt;
* [https://ru.wikipedia.org/wiki/%D0%9F%D0%B5%D1%80%D1%81%D0%BE%D0%BD%D0%B0%D0%BB%D0%B8%D0%B7%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%BD%D0%B0%D1%8F_%D0%BC%D0%B5%D0%B4%D0%B8%D1%86%D0%B8%D0%BD%D0%B0 Википедия: Персонализированная медицина]&lt;br /&gt;
* [https://emerj.com/ai-sector-overviews/machine-learning-in-pharma-medicine/ 7 Applications of Machine Learning in Pharma and Medicine]&lt;br /&gt;
* [https://www.nature.com/articles/s41563-019-0360-1 Ascent of machine learning in medicine]&lt;br /&gt;
* [http://jtelemed.ru/article/glubokoe-mashinnoe-obuchenie-iskusstvennyj-intellekt-v-ultrazvukovoj-diagnostike Глубокое машинное обучение (искусственный интеллект) в ультразвуковой диагностике]&lt;br /&gt;
&lt;br /&gt;
==Источники информации==&lt;br /&gt;
&lt;br /&gt;
[[Категория: Машинное обучение]]&lt;br /&gt;
[[Категория: Глубокое обучение]]&lt;br /&gt;
[[Категория: Практические применения машинного обучения]]&lt;/div&gt;</summary>
		<author><name>188.170.82.221</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%9C%D0%B0%D1%88%D0%B8%D0%BD%D0%BD%D0%BE%D0%B5_%D0%BE%D0%B1%D1%83%D1%87%D0%B5%D0%BD%D0%B8%D0%B5_%D0%B2_%D0%BC%D0%B5%D0%B4%D0%B8%D1%86%D0%B8%D0%BD%D0%B5&amp;diff=76931</id>
		<title>Машинное обучение в медицине</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%9C%D0%B0%D1%88%D0%B8%D0%BD%D0%BD%D0%BE%D0%B5_%D0%BE%D0%B1%D1%83%D1%87%D0%B5%D0%BD%D0%B8%D0%B5_%D0%B2_%D0%BC%D0%B5%D0%B4%D0%B8%D1%86%D0%B8%D0%BD%D0%B5&amp;diff=76931"/>
				<updated>2021-01-09T13:00:50Z</updated>
		
		<summary type="html">&lt;p&gt;188.170.82.221: /* Предсказание молекулярных свойств */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Машинное обучение в медицине используют очень активно, находя все больше областей для его применения. Сейчас в медицине использут почти [[Общие понятия|все виды машинного обучения]]: обучение с учителем, без учителя, с частичным привлечением учителя, с подкреплением. Наиболее активно машинное обучение в медицине используют для решения проблем по диагностике заболеваний и дизайну лекарств. Эти задачи относят к обучению с учителем или [[Обучение с частичным привлечением учителя|с частичным привлечением учителя]]. Кроме того, машинное обучение стали применять в персонализированной медицине и генерации данных различных исследований для анонимизации данных пациентов. В этих задачах сейчас все больше применяют [[Обучение с подкреплением|обучение с подкреплением]] и обучение без учителя, в частности, [[Generative Adversarial Nets (GAN)|генеративные состязательные сети]]. Машинное обучение в медицине начали изучать еще в 2000-ых и оно продолжает активно развиваться и в наши дни.&lt;br /&gt;
&lt;br /&gt;
==Диагностика заболеваний по результатам рентгенологических и УЗИ исследований==&lt;br /&gt;
[[Файл:Covid cnn recognition.png|thumb|Пример вероятностной классификации КТ грудной клетки. Источник:https://arxiv.org/ftp/arxiv/papers/2004/2004.04931.pdf]]&lt;br /&gt;
[[Файл:Spine x ray cnn.png|thumb|Пример локализации шейного отдела позвоночника на рентгене. Источник: https://lhncbc.nlm.nih.gov/system/files/pub9781.pdf]]&lt;br /&gt;
===Диагностика по изображению===&lt;br /&gt;
[[Файл:Brain tumor mri cnn.jpg|thumb|left|200px|Пример классификации результатов МРТ на изображения с опухолью и без опухоли. Источник: https://biomedpharmajournal.org/vol11no3/brain-tumor-classification-using-convolutional-neural-networks/]]&lt;br /&gt;
В диагностике заболеваний есть большое количество задач, которые можно решить при помощи машинного обучения, а в частности, при помощи анализа результатов различных исследований, таких как рентген, УЗИ или МРТ. В основном задача любой модели сводится к предсказанию, болен ли человек сейчас (иногда обычная мультиклассовая классификация, иногда {{---}} вероятностная классификация).&lt;br /&gt;
&lt;br /&gt;
Для решения таких задач чаще всего используют [[глубокое обучение]]. Такие модели на вход получают картинку с рентгенологическим или ультразвуковым исследованием пациента и по ним предсказывают наличие болезни. Обычно внутри таких моделей-классификаторов лежат [[сверточные нейронные сети]], а иногда к ним добавляются [[механизм внимания]]. За основу берутся state-of-the-art модели в области сверточных нейронных сетей, такие как GoogleLeNet&amp;lt;ref&amp;gt;[https://static.googleusercontent.com/media/research.google.com/ru//pubs/archive/43022.pdf Szegedy et al., Going Deeper with Convolutions, 2015. GoogLeNet.]&amp;lt;/ref&amp;gt;, при этом точность предсказаний превышает 90%. Такие модели учатся на размеченных тренировочных наборах данных, поэтому их можно отнести к обучению с учителем. Большое распространение такие классификаторы получили в предсказании злокачественности новообразований, классификации заболеваний легких, подборе дозы контраста при проведении МРТ.&lt;br /&gt;
&lt;br /&gt;
Кроме того, есть и другое применение. Многие модели учатся не только определять, есть ли опухоль на данном образце, но и локализировать ее положение. Таким образом, необходимо решить задачу сегментации изображения, то есть выделения каких-то ее наиболее важных частей. Технически задача не сильно отличается от предыдущей и решается все теми же сверточными нейронными сетями.&lt;br /&gt;
&lt;br /&gt;
===Применения===&lt;br /&gt;
Поскольку точность предсказаний у описанных выше моделей достаточно высока, их стали применять на практике. Сейчас ведутся исследования по внедрению таких моделей в УЗИ-аппараты для того, чтобы быстрее и точнее определять местоположение и злокачественность опухоли. Кроме того, такие модели стали применять в направленной лучевой терапии, когда злокачественная опухоль облучается различными видами частиц. Известно, что эти частицы уничтожают не только раковые, но и здоровые клетки. Именно поэтому активно внедряются модели, которые могут подсказать аппарату точное направление облучения. Также сверточные сети стали использовать для определения дозы контрастного вещества при МРТ&amp;lt;ref&amp;gt;[https://www.sciencedirect.com/science/article/pii/S0939388918301181 Lundervold et al., An overview of deep learning in medical imaging focusing on MRI, 2019]&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Генерация результатов исследований===&lt;br /&gt;
[[Файл:3d mri models comparison.png|450px|thumb|Сравнение различных моделей для генерации 3D изображений МРТ исследований. Источник: https://arxiv.org/pdf/1908.02498.pdf]]&lt;br /&gt;
&lt;br /&gt;
Для обучения сверточных нейронных сетей необходимо большое количество данных, которые очень часто достаточно тяжело или даже невозможно получить из-за запрета на использование данных исследований даже в анонимном формате без согласия пациента. Поэтому сейчас для получения достаточно больших датасетов стали применять [[Generative Adversarial Nets (GAN)|генеративные состязательные сети]]. &lt;br /&gt;
&lt;br /&gt;
Задачу таких GAN можно разделить на две: генерация результатов исследований здоровых пациентов и пациентов с патологиями. В случае второй задачи важно, чтобы сгенерированные изображения правильно определялись именно по типу патологии.&lt;br /&gt;
&lt;br /&gt;
Основная проблема, с которой сталкиваются такие модели {{---}} необходимость очень точно определять границы объекта на сгенерированном изображении, а также не допускать размытости. Эти две проблемы долгое время не получалось решить без большого количества реальных данных, вследствие чего не было возможным применение сгенерированных изображений на практике. &lt;br /&gt;
&lt;br /&gt;
Сильно улучшить поведение моделей удалось путем использования метрики Васерштейна&amp;lt;ref&amp;gt;[https://ru.wikipedia.org/wiki/%D0%9C%D0%B5%D1%82%D1%80%D0%B8%D0%BA%D0%B0_%D0%92%D0%B0%D1%81%D0%B5%D1%80%D1%88%D1%82%D0%B5%D0%B9%D0%BD%D0%B0 Википедия:Метрика Васерштейна]&amp;lt;/ref&amp;gt;, которая, если провести аналогию с землей, измеряет минимальную стоимость преобразования одного распределения земли в другое, при этом предполагается, что стоимость прямо пропорциональна количеству земли и расстоянию, на которое ее надо перетащить. Использование такой метрики в GAN помогло сильно улучшить поведение моделей при генерации данных МРТ исследований.&lt;br /&gt;
&lt;br /&gt;
==Персонализированная медицина==&lt;br /&gt;
Персонализированная медицина (англ. personalized medicine) {{---}} новая организационная модель построения медицинской помощи пациентам, которая основывается на подборе индивидуальных лечебных, диагностических и превентивных средств, оптимально подходящих по биохимическим, физиологическим и генетическим особенностям организма.&lt;br /&gt;
&lt;br /&gt;
Основная цель нового направления в медицине заключается в персонализации и оптимизации профилактических мероприятий и лечения пациентов для исключения негативных последствий и осложнений, проявляющихся из-за индивидуальных особенностей.&lt;br /&gt;
Основные отрасли медицины, где применяются новые принципы — онкология, фармация и фармакогеномика. Последняя занимается изучением реакций организма на медицинские препараты в зависимости от индивидуальных наследственных факторов.&lt;br /&gt;
&lt;br /&gt;
===Экспрессия генов и анализ транскриптомных данных===&lt;br /&gt;
[[Файл:Gene expression based cnn.jpg|400px|thumb|Примеры архитектур сверточных сетей, предсказывающих вероятность рака по экспрессии генов. Источник: https://bmcmedgenomics.biomedcentral.com/articles/10.1186/s12920-020-0677-2]]&lt;br /&gt;
Многие модели ориентируются на данные экспрессии генов&amp;lt;ref&amp;gt;[https://ru.wikipedia.org/wiki/%D0%AD%D0%BA%D1%81%D0%BF%D1%80%D0%B5%D1%81%D1%81%D0%B8%D1%8F_%D0%B3%D0%B5%D0%BD%D0%BE%D0%B2 Википедия: Экспрессия генов]&amp;lt;/ref&amp;gt; (в широком смысле {{---}} процесс получения белка из последовательности ДНК). Известно, что от количества некоторых белков напрямую зависит возможность клеток становиться раковыми, а также порождать другие заболевания. Совокупность изменений в большом количестве различных белков может приводить к заболеванию. Именно поэтому модели персонализированной медицины основываются на данных экспрессии. Часто в качестве основы используют сверточные нейронные сети, располагая гены, отвечающие за похожие по своей функции белки, рядом друг с другом.&lt;br /&gt;
&lt;br /&gt;
Прямой анализ экспрессии генов {{---}} трудная и дорогостоящая задача, поэтому часто обращаются к транскриптомным данным. Транскриптом {{---}} совокупность всех молекул РНК, которые присутствовали в клетке после завершения процесса трансрипции (получение РНК с матрицы ДНК). Транскриптом включает в себя матричную РНК (РНК, с которой впоследствии транслируются белки) и некодирующую РНК, которая, в свою очередь, не используется для получения белков. Транскриптомные данные чаще всего получают с помощью РНК-секвенирования (англ. RNA-seq) или ДНК-микрочипов (англ. DNA-microarray). С помощью специальных процедур из взятой у пациента пробы выделяют матричную РНК (мРНК), которая затем наносится на ДНК-микрочип, где цепочки мРНК зацепляются, образуя двухцепочечные молекулы. Число цепочек мРНК, зацепившихся за определенный участок ДНК-микрочипа, определяет интенсивность свечения этого участка при сканировании. Так косвенно определяют экспрессию каждого из генов. Следующая проблема, с которой сталкиваются исследователи {{---}} слишком большое количество генов (например, у человека их около 28000). Вследствие этого очень тяжело обучать модели, поэтому приходится прибегать к [[Уменьшение размерности|уменьшению размерности]].&lt;br /&gt;
&lt;br /&gt;
===Уменьшение размерности при работе с данными экспрессии генов===&lt;br /&gt;
[[Файл:Melif scheme.png|400px|thumb|Описание алгоритма MeLiF. Источник: http://fppo.ifmo.ru/?page1=16&amp;amp;page2=86&amp;amp;number_file=E63E46A38DD44C84B7B9446996EB225F]]&lt;br /&gt;
Для уменьшения размерности в случае биологических данных применяются методы, основным критерием которых становится их скорость. Поскольку количество генов очень велико, чаще всего нет возможности опробовать встраиваемые и оберточные методы. Чаще всего, используют фильтры. &lt;br /&gt;
&lt;br /&gt;
Одним из примеров моделей, основанных на фильтрах является модель MeLiF&amp;lt;ref&amp;gt;[https://www.researchgate.net/publication/317201206_MeLiF_Filter_Ensemble_Learning_Algorithm_for_Gene_Selection| Smetannikov et al., MeLiF: Filter Ensemble Learning Algorithm for Gene Selection]&amp;lt;/ref&amp;gt;, которая берет несколько фильтров &amp;lt;tex&amp;gt;M_i&amp;lt;/tex&amp;gt; с соответствующими функциями измерения релевантности признака &amp;lt;tex&amp;gt;\mu_i&amp;lt;/tex&amp;gt;, после чего строит новую меру значимости как &amp;lt;tex&amp;gt;\mu=\sum_{i=1}^{|M|} \alpha_{i} \mu_{i}&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;\left\{\alpha_{i}\right\}_{i=1}^{|M|}&amp;lt;/tex&amp;gt; {{---}} набор вещественных коэффициентов. После получения новой меры значимости происходит оценка модели на &amp;lt;tex&amp;gt;t&amp;lt;/tex&amp;gt; лучших выбранных признаках. В случае удовлетворительного результата алгоритм завершается, возвращая текущий набор признаков, иначе {{---}} возвращается снова к получению новой меры на &amp;lt;tex&amp;gt;t+1&amp;lt;/tex&amp;gt; признаках.&lt;br /&gt;
&lt;br /&gt;
===Медицинская карта===&lt;br /&gt;
Другая задача {{---}} предсказать, заболеет ли человек в будущем. Для этого часто используется электронная медицинская карта пациента, и на вход сети подаются данные о пациенте, результаты исследований, его генеалогическое древо и другая медицинская информация. Основываясь на полученных данных, модель должна предсказать вероятность того, что человек может заболеть каждой болезнью из приведенного набора. Если вероятность хотя бы по одному из маркеров превышает некоторое значение {{---}} такая модель рекомендует пациенту обратиться к специалисту и относит его в группу высокого риска по этому параметру. В свою очередь специалист может подтвердить или же опровергнуть опасения модели, отдавая ей результат {{---}} права модель или нет. Таким образом, эта проблема относится к классу задач [[Обучение с подкреплением|обучения с подкреплением]]. С точки зрения архитектуры моделей {{---}} в таких задачах часто используют [[метод опорных векторов (SVM)]] или [[глубокое обучение]].&lt;br /&gt;
&lt;br /&gt;
==Поиск лекарств==&lt;br /&gt;
Поиск лекарств (англ. drug discovery, drug design) {{---}} процесс поиска новых лекарственных средств, часто основанный на знаниях о биологической мишени (целевом белке, с которым должно взаимодействовать лекарственное вещество).&lt;br /&gt;
При поиске новых лекарственных средств часто прибегают к помощи машинного обучения в таких задачах, как предсказание молекулярных свойств потенциальной молекулы лекарства, формы какого-либо белка, активности взаимодействия между веществами.&lt;br /&gt;
===Предсказание молекулярных свойств===&lt;br /&gt;
[[Файл:MoleculeGNN.PNG|400px|thumb|Молекулярный граф]]&lt;br /&gt;
[[Файл:Morgan fingerprint.jpg|400px|thumb|Пример Morgan Fingerprint для молекулы. Источник: https://www.sciencedirect.com/science/article/abs/pii/S1046202314002631]]&lt;br /&gt;
Одна из главных задач машинного обучения при поиске новых лекарств {{---}} сужение круга их поиска. Чаще всего фармацевтические компании имеют на руках библиотеки с огромным количеством веществ, которые они потенциально могут синтезировать и опробовать в качестве лекарства. Но обычно размеры этих библиотек составляют тысячи молекул, поэтому синтезировать и проверить каждую из них не представляется возможным. В этом случае прибегают к предсказанию некоторых свойств этих молекул, которые точно определяют, может ли молекула быть использована как лекарство. Для предсказания свойств молекул обычно используют молекулярный граф {{---}} графическое представление молекулы (ее атомов и связей).&lt;br /&gt;
&lt;br /&gt;
Первые нейронные сети для предсказания молекулярных свойств использовали Моргановские фингерпринты (англ. Morgan fingerpints), которые для каждого атома в молекуле выделяли всех его соседей на каком-то определенном расстоянии (которое является гиперпараметром) и смотрели на наличие такой подструктуры в молекуле. Получался аналог некоторого оne-hot кодирования. Впоследствии этот метод был несколько усовершенствован, и стали смотреть не на наличие подструктуры, а на то, сколько раз она встречается в молекуле. Прорыв в этой области случился с появлением сети NeuralFingerprints &amp;lt;ref&amp;gt;[https://arxiv.org/abs/1509.09292 Duvenaud et al., Convolutional Networks on Graphs for Learning Molecular Fingerprints, 2015]&amp;lt;/ref&amp;gt;, которая является примером одной из первых попыток применения [[графовые нейронные сети|графовых нейронных сетей]] в этой области. &lt;br /&gt;
&lt;br /&gt;
NeuralFingerprints принимает один гиперпараметр {{---}} максимальное расстояние, которое нужно учитывать при просмотре соседей каждого атома. После этого для каждого расстояния для каждого атома суммируются атомные представления его соседей на текущем расстоянии. Таким образом, получается векторное представление текущего атома фиксированной длины, которая равна количеству свойств у одного атома. Каждый элемент такого представления  умножается на обучаемый параметр, уникальный для номера свойства и текущего рассматриваемого расстояния. После этого применяется функция активации к полученному ранее вектору, умноженному на вес, отвечающий за текущее расстояние. Полученные результаты для каждого из атомов на каждом из расстояний суммируются и получается результирующий вектор свойств для молекулы. Таким образом, в этой сети обучаемые параметры {{---}} веса для каждого из свойств атомов на каждом расстоянии (&amp;lt;tex&amp;gt;H^i_j&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;i&amp;lt;/tex&amp;gt; {{---}} индекс номера свойства (в модели их всего 5), &amp;lt;tex&amp;gt;j&amp;lt;/tex&amp;gt; {{---}} индекс для текущего расстояния) и веса для каждого из расстояний (&amp;lt;tex&amp;gt;W_j&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;j&amp;lt;/tex&amp;gt; {{---}} индекс для текущего расстояния). Псевдокод представлен ниже.&lt;br /&gt;
 '''function''' neuralFingerptint(molecule, R, H, W): &amp;lt;span style=&amp;quot;color:Green&amp;quot;&amp;gt;# R - максимальное расстояние, H - матрица весов размера len(molecule)&amp;lt;tex&amp;gt;\cdot&amp;lt;/tex&amp;gt;R, W - вектор весов размера R&amp;lt;/span&amp;gt;&lt;br /&gt;
    f = array[len(molecule), 0]&lt;br /&gt;
    '''for''' a in molecule: &lt;br /&gt;
        r[a] = g(a) &amp;lt;span style=&amp;quot;color:Green&amp;quot;&amp;gt;# записываем свойства для каждого атома&amp;lt;/span&amp;gt;&lt;br /&gt;
    '''for''' L = 1 to R:&lt;br /&gt;
        '''for''' a in molecule: &lt;br /&gt;
            neighbors = '''neighbors'''(a) &amp;lt;span style=&amp;quot;color:Green&amp;quot;&amp;gt;# смотрим соседей на расстоянии L от текущего атома a&amp;lt;/span&amp;gt;&lt;br /&gt;
        v = r[a] + '''sum'''(r[i] for i in neighbors) &amp;lt;span style=&amp;quot;color:Green&amp;quot;&amp;gt;# суммируем вектора соседей и вектор текущего атома&amp;lt;/span&amp;gt;&lt;br /&gt;
        r[a] = '''σ'''(v &amp;lt;tex&amp;gt;\cdot&amp;lt;/tex&amp;gt;H[a][L]) &amp;lt;span style=&amp;quot;color:Green&amp;quot;&amp;gt;# изменяем представление текущего атома&amp;lt;/span&amp;gt;&lt;br /&gt;
        i = '''softmax'''(r[a]&amp;lt;tex&amp;gt;\cdot&amp;lt;/tex&amp;gt;W[L]) &amp;lt;span style=&amp;quot;color:Green&amp;quot;&amp;gt;# получаем вектор для текущего атома и расстояния&amp;lt;/span&amp;gt;&lt;br /&gt;
        f = f + i  &amp;lt;span style=&amp;quot;color:Green&amp;quot;&amp;gt;# добавляем его к ответу&amp;lt;/span&amp;gt;&lt;br /&gt;
    '''return''' f&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Эта сеть была одной из первых в этой области, и сейчас используется как базовый метод в множестве статей. В основу новых методов и сейчас чаще всего ложатся [[графовые нейронные сети]]. Подходы графовых нейронных сетей адаптируют под молекулярный граф путем поиска элементов на расстоянии не более, чем N (где N является гиперпараметром), или последовательным рассмотрением каждой вершины и усреднением полученных значений.&lt;br /&gt;
&lt;br /&gt;
===Предсказание формы белка===&lt;br /&gt;
[[Файл:AlphaFold 2 block design.png|400px|thumb|Архитектура AlphaFold2, модели для предсказания пространственной структуры белка. Источник: https://en.wikipedia.org/wiki/AlphaFold]]&lt;br /&gt;
Секвенирование {{---}} процесс получения нуклеотидной последовательности из молекулы ДНК. &amp;lt;ref&amp;gt;[https://en.wikipedia.org/wiki/Sequencing Википедия: Секвенирование]&amp;lt;/ref&amp;gt;&lt;br /&gt;
Из нуклеотидной последовательности можно получить аминокислотную последовательность, которая в свою очередь кодирует любой белок в организме.&lt;br /&gt;
&lt;br /&gt;
Предсказание формы белка {{---}} другая очень важная задача машинного обучения в фармацевтике. С возникновением технологий секвенирования ДНК у сообщества появилась возможность быстро и достаточно качественно прочитывать белковые последовательности, но получать пространственную структуру полученных белков экспериментально все еще очень трудоемко и дорого. Пространственная же структура белка важна для генерации мишеней, поэтому задача предсказания структуры является очень важной. Например, при подборе потенциальной вакцины, необходимо точно знать форму антитела, чтобы понимать, сможет ли это соединение захватить свою мишень, не дав ей закрепиться в организме пациента.&lt;br /&gt;
&lt;br /&gt;
Предсказание формы белков основано на нейронных сетях, которые как вход используют очень длинную аминокислотную последовательность (размер алфавита ограничен {{---}} всего различных аминокислот 20), а на выходе должны предсказать значения торсионных углов&amp;lt;ref&amp;gt;[https://kodomo.fbb.msu.ru/~youthofchemist/projects/Term_1/Protein/phipsi.html Торсионные углы]&amp;lt;/ref&amp;gt; между аминокислотами. В декабре 2020 года DeepMind (исследовательское подразделение Google) заявили, что решили проблему пространственной структуры белка.&amp;lt;ref&amp;gt;[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 Фундаментальная «проблема белка» решена]&amp;lt;/ref&amp;gt; Авторы модели утверждают, что значение метрики глобального расстояния (англ. global distance test) превысило 90%. Метрика глобального расстояния {{---}} это метрика, которая вычисляется для каждой аминокислоты как процент атомов углерода из главной цепи белка, которые в сгенерированном белке расположены не более чем на расстоянии какого-то определенного количества ангстрем от соответствующего атома углерода в исходном белке. Обычно это значение берется равным 1, 2, 4 или 8 ангстрем (10&amp;lt;sup&amp;gt;-10&amp;lt;/sup&amp;gt;м).&lt;br /&gt;
&lt;br /&gt;
===Генерация молекулярных структур===&lt;br /&gt;
[[Файл:Ranc scheme.png|thumb|Пример генеративной состязательной сети для лекарственных молекул. Сеть RANC (Reinforced Adversarial Neural Computer). Источник: https://pubs.acs.org/doi/10.1021/acs.jcim.7b00690]]&lt;br /&gt;
Еще одна задача, которая есть сейчас в мире машинного обучения {{---}} генерировать новые молекулы, которые могут потенциально быть лекарствами. Для этого используют [[Generative Adversarial Nets (GAN)|генеративные состязательные сети]]. Основное преимущество такого подхода заключается в том, что при работе с библиотеками уже синтезированных лекарств есть вероятность &amp;quot;пропустить&amp;quot; важное соединение просто потому, что в этой библиотеке его не было. Поэтому используется абсолютно другой подход {{---}} предлагается наоборот генерировать различные молекулы, а уже потом проверять, действительно ли их можно использовать как лекарство и насколько сложно их синтезировать. Часто эти свойства вносят в метрику качества генератора. &lt;br /&gt;
&lt;br /&gt;
SMILES {{---}} способ однозначного задания молекулы при помощи строки. Таким образом, задача генератора {{---}} сгенерировать такую строку SMILES для молекулы, чтобы дискриминатор не отличил ее от настоящей. Архитектура дискриминатора чаще всего остается очень похожей на архитектуру обычной сети, предсказывающей молекулярные свойства. Таким образом, в качестве дискриминатора часто используются графовые или сверточные нейронные сети. Для генератора же часто используют механизм памяти, чтобы сеть помнила, какие части уже были сгенерированы и отталкивалась от них.&lt;br /&gt;
&lt;br /&gt;
==См. также==&lt;br /&gt;
* [[Нейронные сети, перцептрон]]&lt;br /&gt;
* [[Глубокое обучение]]&lt;br /&gt;
* [[Графовые нейронные сети]]&lt;br /&gt;
* [[Компьютерное зрение]]&lt;br /&gt;
* [[Обучение с подкреплением]]&lt;br /&gt;
&lt;br /&gt;
==Примечания==&lt;br /&gt;
* [https://en.wikipedia.org/wiki/Protein_structure_prediction#:~:text=Protein%20structure%20prediction%20is%20the,inverse%20problem%20of%20protein%20design. Protein structure prediction]&lt;br /&gt;
* [https://ru.wikipedia.org/wiki/%D0%9F%D0%B5%D1%80%D1%81%D0%BE%D0%BD%D0%B0%D0%BB%D0%B8%D0%B7%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%BD%D0%B0%D1%8F_%D0%BC%D0%B5%D0%B4%D0%B8%D1%86%D0%B8%D0%BD%D0%B0 Википедия: Персонализированная медицина]&lt;br /&gt;
* [https://arxiv.org/ftp/arxiv/papers/2004/2004.04931.pdf CoroNet: A deep neural network for detection and diagnosis of COVID-19 from chest x-ray images]&lt;br /&gt;
* [https://emerj.com/ai-sector-overviews/machine-learning-in-pharma-medicine/ 7 Applications of Machine Learning in Pharma and Medicine]&lt;br /&gt;
* [https://www.nature.com/articles/s41563-019-0360-1 Ascent of machine learning in medicine]&lt;br /&gt;
* [http://jtelemed.ru/article/glubokoe-mashinnoe-obuchenie-iskusstvennyj-intellekt-v-ultrazvukovoj-diagnostike Глубокое машинное обучение (искусственный интеллект) в ультразвуковой диагностике]&lt;br /&gt;
* [https://bmcmedgenomics.biomedcentral.com/articles/10.1186/s12920-020-0677-2 Convolutional neural network models for cancer type prediction based on gene expression]&lt;br /&gt;
* [https://docplayer.ru/85522413-Smetannikov-ivan-borisovich.html Сметанников Иван Борисович, Метод и алгоритмы выбора признаков в предсказательном моделировании фенотипических характеристик на основе транскриптомных данных]&lt;br /&gt;
&lt;br /&gt;
==Источники информации==&lt;br /&gt;
&lt;br /&gt;
[[Категория: Машинное обучение]]&lt;br /&gt;
[[Категория: Глубокое обучение]]&lt;br /&gt;
[[Категория: Практические применения машинного обучения]]&lt;/div&gt;</summary>
		<author><name>188.170.82.221</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%9C%D0%B0%D1%88%D0%B8%D0%BD%D0%BD%D0%BE%D0%B5_%D0%BE%D0%B1%D1%83%D1%87%D0%B5%D0%BD%D0%B8%D0%B5_%D0%B2_%D0%BC%D0%B5%D0%B4%D0%B8%D1%86%D0%B8%D0%BD%D0%B5&amp;diff=76928</id>
		<title>Машинное обучение в медицине</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%9C%D0%B0%D1%88%D0%B8%D0%BD%D0%BD%D0%BE%D0%B5_%D0%BE%D0%B1%D1%83%D1%87%D0%B5%D0%BD%D0%B8%D0%B5_%D0%B2_%D0%BC%D0%B5%D0%B4%D0%B8%D1%86%D0%B8%D0%BD%D0%B5&amp;diff=76928"/>
				<updated>2021-01-09T12:53:11Z</updated>
		
		<summary type="html">&lt;p&gt;188.170.82.221: /* Предсказание формы белка */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Машинное обучение в медицине используют очень активно, находя все больше областей для его применения. Сейчас в медицине использут почти [[Общие понятия|все виды машинного обучения]]: обучение с учителем, без учителя, с частичным привлечением учителя, с подкреплением. Наиболее активно машинное обучение в медицине используют для решения проблем по диагностике заболеваний и дизайну лекарств. Эти задачи относят к обучению с учителем или [[Обучение с частичным привлечением учителя|с частичным привлечением учителя]]. Кроме того, машинное обучение стали применять в персонализированной медицине и генерации данных различных исследований для анонимизации данных пациентов. В этих задачах сейчас все больше применяют [[Обучение с подкреплением|обучение с подкреплением]] и обучение без учителя, в частности, [[Generative Adversarial Nets (GAN)|генеративные состязательные сети]]. Машинное обучение в медицине начали изучать еще в 2000-ых и оно продолжает активно развиваться и в наши дни.&lt;br /&gt;
&lt;br /&gt;
==Диагностика заболеваний по результатам рентгенологических и УЗИ исследований==&lt;br /&gt;
[[Файл:Covid cnn recognition.png|thumb|Пример вероятностной классификации КТ грудной клетки. Источник:https://arxiv.org/ftp/arxiv/papers/2004/2004.04931.pdf]]&lt;br /&gt;
[[Файл:Spine x ray cnn.png|thumb|Пример локализации шейного отдела позвоночника на рентгене. Источник: https://lhncbc.nlm.nih.gov/system/files/pub9781.pdf]]&lt;br /&gt;
===Диагностика по изображению===&lt;br /&gt;
[[Файл:Brain tumor mri cnn.jpg|thumb|left|200px|Пример классификации результатов МРТ на изображения с опухолью и без опухоли. Источник: https://biomedpharmajournal.org/vol11no3/brain-tumor-classification-using-convolutional-neural-networks/]]&lt;br /&gt;
В диагностике заболеваний есть большое количество задач, которые можно решить при помощи машинного обучения, а в частности, при помощи анализа результатов различных исследований, таких как рентген, УЗИ или МРТ. В основном задача любой модели сводится к предсказанию, болен ли человек сейчас (иногда обычная мультиклассовая классификация, иногда {{---}} вероятностная классификация).&lt;br /&gt;
&lt;br /&gt;
Для решения таких задач чаще всего используют [[глубокое обучение]]. Такие модели на вход получают картинку с рентгенологическим или ультразвуковым исследованием пациента и по ним предсказывают наличие болезни. Обычно внутри таких моделей-классификаторов лежат [[сверточные нейронные сети]], а иногда к ним добавляются [[механизм внимания]]. За основу берутся state-of-the-art модели в области сверточных нейронных сетей, такие как GoogleLeNet&amp;lt;ref&amp;gt;[https://static.googleusercontent.com/media/research.google.com/ru//pubs/archive/43022.pdf Szegedy et al., Going Deeper with Convolutions, 2015. GoogLeNet.]&amp;lt;/ref&amp;gt;, при этом точность предсказаний превышает 90%. Такие модели учатся на размеченных тренировочных наборах данных, поэтому их можно отнести к обучению с учителем. Большое распространение такие классификаторы получили в предсказании злокачественности новообразований, классификации заболеваний легких, подборе дозы контраста при проведении МРТ.&lt;br /&gt;
&lt;br /&gt;
Кроме того, есть и другое применение. Многие модели учатся не только определять, есть ли опухоль на данном образце, но и локализировать ее положение. Таким образом, необходимо решить задачу сегментации изображения, то есть выделения каких-то ее наиболее важных частей. Технически задача не сильно отличается от предыдущей и решается все теми же сверточными нейронными сетями.&lt;br /&gt;
&lt;br /&gt;
===Применения===&lt;br /&gt;
Поскольку точность предсказаний у описанных выше моделей достаточно высока, их стали применять на практике. Сейчас ведутся исследования по внедрению таких моделей в УЗИ-аппараты для того, чтобы быстрее и точнее определять местоположение и злокачественность опухоли. Кроме того, такие модели стали применять в направленной лучевой терапии, когда злокачественная опухоль облучается различными видами частиц. Известно, что эти частицы уничтожают не только раковые, но и здоровые клетки. Именно поэтому активно внедряются модели, которые могут подсказать аппарату точное направление облучения. Также сверточные сети стали использовать для определения дозы контрастного вещества при МРТ&amp;lt;ref&amp;gt;[https://www.sciencedirect.com/science/article/pii/S0939388918301181 Lundervold et al., An overview of deep learning in medical imaging focusing on MRI, 2019]&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Генерация результатов исследований===&lt;br /&gt;
[[Файл:3d mri models comparison.png|450px|thumb|Сравнение различных моделей для генерации 3D изображений МРТ исследований. Источник: https://arxiv.org/pdf/1908.02498.pdf]]&lt;br /&gt;
&lt;br /&gt;
Для обучения сверточных нейронных сетей необходимо большое количество данных, которые очень часто достаточно тяжело или даже невозможно получить из-за запрета на использование данных исследований даже в анонимном формате без согласия пациента. Поэтому сейчас для получения достаточно больших датасетов стали применять [[Generative Adversarial Nets (GAN)|генеративные состязательные сети]]. &lt;br /&gt;
&lt;br /&gt;
Задачу таких GAN можно разделить на две: генерация результатов исследований здоровых пациентов и пациентов с патологиями. В случае второй задачи важно, чтобы сгенерированные изображения правильно определялись именно по типу патологии.&lt;br /&gt;
&lt;br /&gt;
Основная проблема, с которой сталкиваются такие модели {{---}} необходимость очень точно определять границы объекта на сгенерированном изображении, а также не допускать размытости. Эти две проблемы долгое время не получалось решить без большого количества реальных данных, вследствие чего не было возможным применение сгенерированных изображений на практике. &lt;br /&gt;
&lt;br /&gt;
Сильно улучшить поведение моделей удалось путем использования метрики Васерштейна&amp;lt;ref&amp;gt;[https://ru.wikipedia.org/wiki/%D0%9C%D0%B5%D1%82%D1%80%D0%B8%D0%BA%D0%B0_%D0%92%D0%B0%D1%81%D0%B5%D1%80%D1%88%D1%82%D0%B5%D0%B9%D0%BD%D0%B0 Википедия:Метрика Васерштейна]&amp;lt;/ref&amp;gt;, которая, если провести аналогию с землей, измеряет минимальную стоимость преобразования одного распределения земли в другое, при этом предполагается, что стоимость прямо пропорциональна количеству земли и расстоянию, на которое ее надо перетащить. Использование такой метрики в GAN помогло сильно улучшить поведение моделей при генерации данных МРТ исследований.&lt;br /&gt;
&lt;br /&gt;
==Персонализированная медицина==&lt;br /&gt;
Персонализированная медицина (англ. personalized medicine) {{---}} новая организационная модель построения медицинской помощи пациентам, которая основывается на подборе индивидуальных лечебных, диагностических и превентивных средств, оптимально подходящих по биохимическим, физиологическим и генетическим особенностям организма.&lt;br /&gt;
&lt;br /&gt;
Основная цель нового направления в медицине заключается в персонализации и оптимизации профилактических мероприятий и лечения пациентов для исключения негативных последствий и осложнений, проявляющихся из-за индивидуальных особенностей.&lt;br /&gt;
Основные отрасли медицины, где применяются новые принципы — онкология, фармация и фармакогеномика. Последняя занимается изучением реакций организма на медицинские препараты в зависимости от индивидуальных наследственных факторов.&lt;br /&gt;
&lt;br /&gt;
===Экспрессия генов и анализ транскриптомных данных===&lt;br /&gt;
[[Файл:Gene expression based cnn.jpg|400px|thumb|Примеры архитектур сверточных сетей, предсказывающих вероятность рака по экспрессии генов. Источник: https://bmcmedgenomics.biomedcentral.com/articles/10.1186/s12920-020-0677-2]]&lt;br /&gt;
Многие модели ориентируются на данные экспрессии генов&amp;lt;ref&amp;gt;[https://ru.wikipedia.org/wiki/%D0%AD%D0%BA%D1%81%D0%BF%D1%80%D0%B5%D1%81%D1%81%D0%B8%D1%8F_%D0%B3%D0%B5%D0%BD%D0%BE%D0%B2 Википедия: Экспрессия генов]&amp;lt;/ref&amp;gt; (в широком смысле {{---}} процесс получения белка из последовательности ДНК). Известно, что от количества некоторых белков напрямую зависит возможность клеток становиться раковыми, а также порождать другие заболевания. Совокупность изменений в большом количестве различных белков может приводить к заболеванию. Именно поэтому модели персонализированной медицины основываются на данных экспрессии. Часто в качестве основы используют сверточные нейронные сети, располагая гены, отвечающие за похожие по своей функции белки, рядом друг с другом.&lt;br /&gt;
&lt;br /&gt;
Прямой анализ экспрессии генов {{---}} трудная и дорогостоящая задача, поэтому часто обращаются к транскриптомным данным. Транскриптом {{---}} совокупность всех молекул РНК, которые присутствовали в клетке после завершения процесса трансрипции (получение РНК с матрицы ДНК). Транскриптом включает в себя матричную РНК (РНК, с которой впоследствии транслируются белки) и некодирующую РНК, которая, в свою очередь, не используется для получения белков. Транскриптомные данные чаще всего получают с помощью РНК-секвенирования (англ. RNA-seq) или ДНК-микрочипов (англ. DNA-microarray). С помощью специальных процедур из взятой у пациента пробы выделяют матричную РНК (мРНК), которая затем наносится на ДНК-микрочип, где цепочки мРНК зацепляются, образуя двухцепочечные молекулы. Число цепочек мРНК, зацепившихся за определенный участок ДНК-микрочипа, определяет интенсивность свечения этого участка при сканировании. Так косвенно определяют экспрессию каждого из генов. Следующая проблема, с которой сталкиваются исследователи {{---}} слишком большое количество генов (например, у человека их около 28000). Вследствие этого очень тяжело обучать модели, поэтому приходится прибегать к [[Уменьшение размерности|уменьшению размерности]].&lt;br /&gt;
&lt;br /&gt;
===Уменьшение размерности при работе с данными экспрессии генов===&lt;br /&gt;
[[Файл:Melif scheme.png|400px|thumb|Описание алгоритма MeLiF. Источник: http://fppo.ifmo.ru/?page1=16&amp;amp;page2=86&amp;amp;number_file=E63E46A38DD44C84B7B9446996EB225F]]&lt;br /&gt;
Для уменьшения размерности в случае биологических данных применяются методы, основным критерием которых становится их скорость. Поскольку количество генов очень велико, чаще всего нет возможности опробовать встраиваемые и оберточные методы. Чаще всего, используют фильтры. &lt;br /&gt;
&lt;br /&gt;
Одним из примеров моделей, основанных на фильтрах является модель MeLiF&amp;lt;ref&amp;gt;[https://www.researchgate.net/publication/317201206_MeLiF_Filter_Ensemble_Learning_Algorithm_for_Gene_Selection| Smetannikov et al., MeLiF: Filter Ensemble Learning Algorithm for Gene Selection]&amp;lt;/ref&amp;gt;, которая берет несколько фильтров &amp;lt;tex&amp;gt;M_i&amp;lt;/tex&amp;gt; с соответствующими функциями измерения релевантности признака &amp;lt;tex&amp;gt;\mu_i&amp;lt;/tex&amp;gt;, после чего строит новую меру значимости как &amp;lt;tex&amp;gt;\mu=\sum_{i=1}^{|M|} \alpha_{i} \mu_{i}&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;\left\{\alpha_{i}\right\}_{i=1}^{|M|}&amp;lt;/tex&amp;gt; {{---}} набор вещественных коэффициентов. После получения новой меры значимости происходит оценка модели на &amp;lt;tex&amp;gt;t&amp;lt;/tex&amp;gt; лучших выбранных признаках. В случае удовлетворительного результата алгоритм завершается, возвращая текущий набор признаков, иначе {{---}} возвращается снова к получению новой меры на &amp;lt;tex&amp;gt;t+1&amp;lt;/tex&amp;gt; признаках.&lt;br /&gt;
&lt;br /&gt;
===Медицинская карта===&lt;br /&gt;
Другая задача {{---}} предсказать, заболеет ли человек в будущем. Для этого часто используется электронная медицинская карта пациента, и на вход сети подаются данные о пациенте, результаты исследований, его генеалогическое древо и другая медицинская информация. Основываясь на полученных данных, модель должна предсказать вероятность того, что человек может заболеть каждой болезнью из приведенного набора. Если вероятность хотя бы по одному из маркеров превышает некоторое значение {{---}} такая модель рекомендует пациенту обратиться к специалисту и относит его в группу высокого риска по этому параметру. В свою очередь специалист может подтвердить или же опровергнуть опасения модели, отдавая ей результат {{---}} права модель или нет. Таким образом, эта проблема относится к классу задач [[Обучение с подкреплением|обучения с подкреплением]]. С точки зрения архитектуры моделей {{---}} в таких задачах часто используют [[метод опорных векторов (SVM)]] или [[глубокое обучение]].&lt;br /&gt;
&lt;br /&gt;
==Поиск лекарств==&lt;br /&gt;
Поиск лекарств (англ. drug discovery, drug design) {{---}} процесс поиска новых лекарственных средств, часто основанный на знаниях о биологической мишени.&lt;br /&gt;
При поиске новых лекарственных средств часто прибегают к помощи машинного обучения в таких задачах, как предсказание молекулярных свойств потенциальной молекулы лекарства, формы какого-либо белка, активности взаимодействия между двумя молекулами и т.д. &lt;br /&gt;
&lt;br /&gt;
===Предсказание молекулярных свойств===&lt;br /&gt;
[[Файл:MoleculeGNN.PNG|400px|thumb|Молекулярный граф]]&lt;br /&gt;
[[Файл:Morgan fingerprint.jpg|400px|thumb|Пример Morgan Fingerprint для молекулы. Источник: https://www.sciencedirect.com/science/article/abs/pii/S1046202314002631]]&lt;br /&gt;
Одна из главных задач машинного обучения при поиске новых лекарств {{---}} сужение круга их поиска. Чаще всего фармацевтические компании имеют на руках библиотеки с огромным количеством веществ, которые они потенциально могут синтезировать и опробовать в качестве лекарства. Но обычно размеры этих библиотек составляют тысячи молекул, поэтому синтезировать и проверить каждую из них не представляется возможным. В этом случае прибегают к предсказанию некоторых свойств этих молекул, которые точно определяют, может ли молекула быть использована как лекарство. Для предсказания свойств молекул обычно используют молекулярный граф {{---}} графическое представление молекулы (ее атомов и связей).&lt;br /&gt;
&lt;br /&gt;
Первые нейронные сети для предсказания молекулярных свойств использовали Моргановские фингерпринты (англ. Morgan fingerpints), которые для каждого атома в молекуле выделяли всех его соседей на каком-то определенном расстоянии (которое является гиперпараметром) и смотрели на наличие такой подструктуры в молекуле. Получался аналог некоторого оne-hot кодирования. Впоследствии этот метод был несколько усовершенствован, и стали смотреть не на наличие подструктуры, а на то, сколько раз она встречается в молекуле. Прорыв в этой области случился с появлением сети NeuralFingerprints &amp;lt;ref&amp;gt;[https://arxiv.org/abs/1509.09292 Duvenaud et al., Convolutional Networks on Graphs for Learning Molecular Fingerprints, 2015]&amp;lt;/ref&amp;gt;, которая является примером одной из первых попыток применения [[графовые нейронные сети|графовых нейронных сетей]] в этой области. &lt;br /&gt;
&lt;br /&gt;
NeuralFingerprints принимает один гиперпараметр {{---}} максимальное расстояние, которое нужно учитывать при просмотре соседей каждого атома. После этого для каждого расстояния для каждого атома суммируются атомные представления его соседей на текущем расстоянии. Таким образом, получается векторное представление текущего атома фиксированной длины, которая равна количеству свойств у одного атома. Каждый элемент такого представления  умножается на обучаемый параметр, уникальный для номера свойства и текущего рассматриваемого расстояния. После этого применяется функция активации к полученному ранее вектору, умноженному на вес, отвечающий за текущее расстояние. Полученные результаты для каждого из атомов на каждом из расстояний суммируются и получается результирующий вектор свойств для молекулы. Таким образом, в этой сети обучаемые параметры {{---}} веса для каждого из свойств атомов на каждом расстоянии (&amp;lt;tex&amp;gt;H^i_j&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;i&amp;lt;/tex&amp;gt; {{---}} индекс номера свойства (в модели их всего 5), &amp;lt;tex&amp;gt;j&amp;lt;/tex&amp;gt; {{---}} индекс для текущего расстояния) и веса для каждого из расстояний (&amp;lt;tex&amp;gt;W_j&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;j&amp;lt;/tex&amp;gt; {{---}} индекс для текущего расстояния). Псевдокод представлен ниже.&lt;br /&gt;
 '''function''' neuralFingerptint(molecule, R, H, W): &amp;lt;span style=&amp;quot;color:Green&amp;quot;&amp;gt;# R - максимальное расстояние, H - матрица весов размера len(molecule)&amp;lt;tex&amp;gt;\cdot&amp;lt;/tex&amp;gt;R, W - вектор весов размера R&amp;lt;/span&amp;gt;&lt;br /&gt;
    f = array[len(molecule), 0]&lt;br /&gt;
    '''for''' a in molecule: &lt;br /&gt;
        r[a] = g(a) &amp;lt;span style=&amp;quot;color:Green&amp;quot;&amp;gt;# записываем свойства для каждого атома&amp;lt;/span&amp;gt;&lt;br /&gt;
    '''for''' L = 1 to R:&lt;br /&gt;
        '''for''' a in molecule: &lt;br /&gt;
            neighbors = '''neighbors'''(a) &amp;lt;span style=&amp;quot;color:Green&amp;quot;&amp;gt;# смотрим соседей на расстоянии L от текущего атома a&amp;lt;/span&amp;gt;&lt;br /&gt;
        v = r[a] + '''sum'''(r[i] for i in neighbors) &amp;lt;span style=&amp;quot;color:Green&amp;quot;&amp;gt;# суммируем вектора соседей и вектор текущего атома&amp;lt;/span&amp;gt;&lt;br /&gt;
        r[a] = '''σ'''(v &amp;lt;tex&amp;gt;\cdot&amp;lt;/tex&amp;gt;H[a][L]) &amp;lt;span style=&amp;quot;color:Green&amp;quot;&amp;gt;# изменяем представление текущего атома&amp;lt;/span&amp;gt;&lt;br /&gt;
        i = '''softmax'''(r[a]&amp;lt;tex&amp;gt;\cdot&amp;lt;/tex&amp;gt;W[L]) &amp;lt;span style=&amp;quot;color:Green&amp;quot;&amp;gt;# получаем вектор для текущего атома и расстояния&amp;lt;/span&amp;gt;&lt;br /&gt;
        f = f + i  &amp;lt;span style=&amp;quot;color:Green&amp;quot;&amp;gt;# добавляем его к ответу&amp;lt;/span&amp;gt;&lt;br /&gt;
    '''return''' f&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Эта сеть была одной из первых в этой области, и сейчас используется как базовый метод в огромном количестве статей. В основу новых методов сейчас все еще чаще всего ложатся [[графовые нейронные сети]]. Подходы графовых нейронных сетей адаптируют под молекулярный граф путем поиска элементов на расстоянии не более, чем N (где N является гиперпараметром), или последовательным рассмотрением каждой вершины и усреднением полученных значений.&lt;br /&gt;
&lt;br /&gt;
===Предсказание формы белка===&lt;br /&gt;
[[Файл:AlphaFold 2 block design.png|400px|thumb|Архитектура AlphaFold2, модели для предсказания пространственной структуры белка. Источник: https://en.wikipedia.org/wiki/AlphaFold]]&lt;br /&gt;
Секвенирование {{---}} процесс получения нуклеотидной последовательности из молекулы ДНК. &amp;lt;ref&amp;gt;[https://en.wikipedia.org/wiki/Sequencing Википедия: Секвенирование]&amp;lt;/ref&amp;gt;&lt;br /&gt;
Из нуклеотидной последовательности можно получить аминокислотную последовательность, которая в свою очередь кодирует любой белок в организме.&lt;br /&gt;
&lt;br /&gt;
Предсказание формы белка {{---}} другая очень важная задача машинного обучения в фармацевтике. С возникновением технологий секвенирования ДНК у сообщества появилась возможность быстро и достаточно качественно прочитывать белковые последовательности, но получать пространственную структуру полученных белков экспериментально все еще очень трудоемко и дорого. Пространственная же структура белка важна для генерации мишеней, поэтому задача предсказания структуры является очень важной. Например, при подборе потенциальной вакцины, необходимо точно знать форму антитела, чтобы понимать, сможет ли это соединение захватить свою мишень, не дав ей закрепиться в организме пациента.&lt;br /&gt;
&lt;br /&gt;
Предсказание формы белков основано на нейронных сетях, которые как вход используют очень длинную аминокислотную последовательность (размер алфавита ограничен {{---}} всего различных аминокислот 20), а на выходе должны предсказать значения торсионных углов&amp;lt;ref&amp;gt;[https://kodomo.fbb.msu.ru/~youthofchemist/projects/Term_1/Protein/phipsi.html Торсионные углы]&amp;lt;/ref&amp;gt; между аминокислотами. В декабре 2020 года DeepMind (исследовательское подразделение Google) заявили, что решили проблему пространственной структуры белка.&amp;lt;ref&amp;gt;[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 Фундаментальная «проблема белка» решена]&amp;lt;/ref&amp;gt; Авторы модели утверждают, что значение метрики глобального расстояния (англ. global distance test) превысило 90%. Метрика глобального расстояния {{---}} это метрика, которая вычисляется для каждой аминокислоты как процент атомов углерода из главной цепи белка, которые в сгенерированном белке расположены не более чем на расстоянии какого-то определенного количества ангстрем от соответствующего атома углерода в исходном белке. Обычно это значение берется равным 1, 2, 4 или 8 ангстрем (10&amp;lt;sup&amp;gt;-10&amp;lt;/sup&amp;gt;м).&lt;br /&gt;
&lt;br /&gt;
===Генерация молекулярных структур===&lt;br /&gt;
[[Файл:Ranc scheme.png|thumb|Пример генеративной состязательной сети для лекарственных молекул. Сеть RANC (Reinforced Adversarial Neural Computer). Источник: https://pubs.acs.org/doi/10.1021/acs.jcim.7b00690]]&lt;br /&gt;
Еще одна задача, которая есть сейчас в мире машинного обучения {{---}} генерировать новые молекулы, которые могут потенциально быть лекарствами. Для этого используют [[Generative Adversarial Nets (GAN)|генеративные состязательные сети]]. Основное преимущество такого подхода заключается в том, что при работе с библиотеками уже синтезированных лекарств есть вероятность &amp;quot;пропустить&amp;quot; важное соединение просто потому, что в этой библиотеке его не было. Поэтому используется абсолютно другой подход {{---}} предлагается наоборот генерировать различные молекулы, а уже потом проверять, действительно ли их можно использовать как лекарство и насколько сложно их синтезировать. Часто эти свойства вносят в метрику качества генератора. &lt;br /&gt;
&lt;br /&gt;
SMILES {{---}} способ однозначного задания молекулы при помощи строки. Таким образом, задача генератора {{---}} сгенерировать такую строку SMILES для молекулы, чтобы дискриминатор не отличил ее от настоящей. Архитектура дискриминатора чаще всего остается очень похожей на архитектуру обычной сети, предсказывающей молекулярные свойства. Таким образом, в качестве дискриминатора часто используются графовые или сверточные нейронные сети. Для генератора же часто используют механизм памяти, чтобы сеть помнила, какие части уже были сгенерированы и отталкивалась от них.&lt;br /&gt;
&lt;br /&gt;
==См. также==&lt;br /&gt;
* [[Нейронные сети, перцептрон]]&lt;br /&gt;
* [[Глубокое обучение]]&lt;br /&gt;
* [[Графовые нейронные сети]]&lt;br /&gt;
* [[Компьютерное зрение]]&lt;br /&gt;
* [[Обучение с подкреплением]]&lt;br /&gt;
&lt;br /&gt;
==Примечания==&lt;br /&gt;
* [https://en.wikipedia.org/wiki/Protein_structure_prediction#:~:text=Protein%20structure%20prediction%20is%20the,inverse%20problem%20of%20protein%20design. Protein structure prediction]&lt;br /&gt;
* [https://ru.wikipedia.org/wiki/%D0%9F%D0%B5%D1%80%D1%81%D0%BE%D0%BD%D0%B0%D0%BB%D0%B8%D0%B7%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%BD%D0%B0%D1%8F_%D0%BC%D0%B5%D0%B4%D0%B8%D1%86%D0%B8%D0%BD%D0%B0 Википедия: Персонализированная медицина]&lt;br /&gt;
* [https://arxiv.org/ftp/arxiv/papers/2004/2004.04931.pdf CoroNet: A deep neural network for detection and diagnosis of COVID-19 from chest x-ray images]&lt;br /&gt;
* [https://emerj.com/ai-sector-overviews/machine-learning-in-pharma-medicine/ 7 Applications of Machine Learning in Pharma and Medicine]&lt;br /&gt;
* [https://www.nature.com/articles/s41563-019-0360-1 Ascent of machine learning in medicine]&lt;br /&gt;
* [http://jtelemed.ru/article/glubokoe-mashinnoe-obuchenie-iskusstvennyj-intellekt-v-ultrazvukovoj-diagnostike Глубокое машинное обучение (искусственный интеллект) в ультразвуковой диагностике]&lt;br /&gt;
* [https://bmcmedgenomics.biomedcentral.com/articles/10.1186/s12920-020-0677-2 Convolutional neural network models for cancer type prediction based on gene expression]&lt;br /&gt;
* [https://docplayer.ru/85522413-Smetannikov-ivan-borisovich.html Сметанников Иван Борисович, Метод и алгоритмы выбора признаков в предсказательном моделировании фенотипических характеристик на основе транскриптомных данных]&lt;br /&gt;
&lt;br /&gt;
==Источники информации==&lt;br /&gt;
&lt;br /&gt;
[[Категория: Машинное обучение]]&lt;br /&gt;
[[Категория: Глубокое обучение]]&lt;br /&gt;
[[Категория: Практические применения машинного обучения]]&lt;/div&gt;</summary>
		<author><name>188.170.82.221</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%93%D0%B5%D0%BD%D0%B5%D1%80%D0%B0%D1%86%D0%B8%D1%8F_%D0%BE%D0%B1%D1%8A%D0%B5%D0%BA%D1%82%D0%BE%D0%B2&amp;diff=76831</id>
		<title>Генерация объектов</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%93%D0%B5%D0%BD%D0%B5%D1%80%D0%B0%D1%86%D0%B8%D1%8F_%D0%BE%D0%B1%D1%8A%D0%B5%D0%BA%D1%82%D0%BE%D0%B2&amp;diff=76831"/>
				<updated>2021-01-08T15:33:52Z</updated>
		
		<summary type="html">&lt;p&gt;188.170.82.221: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{В разработке}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Задача генерации объектов''' (англ. ''object generation problem'') {{---}} задача, связанная с машинным обучением, заключающаяся в создании новых правдоподобных объектов на основании заданной выборки.&lt;br /&gt;
Полученные объекты могут быть использованы как для прикладных целей (в таком случае, это чаще всего изображения), так и для генерации объектов для тренировочной выборки, когда размечать настоящие данные — долго и дорого, или их нужно анонимизировать. В зависимости от того, для какой из этих целей используется генерация объектов, постановка задачи и методы её решения несколько отличаются.&lt;br /&gt;
&lt;br /&gt;
== Генерация объектов для прикладных целей ==&lt;br /&gt;
&lt;br /&gt;
=== Применение ===&lt;br /&gt;
&lt;br /&gt;
==== Изображения ====&lt;br /&gt;
&lt;br /&gt;
===== В искусстве и рекламе =====&lt;br /&gt;
При генерации объектов основная задача обычно состоит в том, чтобы научиться создавать изображения, которые человек не может отличить от изображений, полученных иных путём. Такие изображения могут использоваться, среди прочего, для более дешёвого создания модельных снимков, обложек или пейзажей. Одним из ярких примеров такого использования является создание фотографий вымышленных людей для рекламы в расчёте на то, что люди будут больше ассоциировать себя с образом, не представляющим кого-либо конкретного, но сочетающим в себе те черты, которые есть у них самих. А модель [[Generative Adversarial Nets (GAN) | GAN]] под названием Speech2Face может реконструировать изображение лица человека после прослушивания его голоса.&lt;br /&gt;
&lt;br /&gt;
===== В науке =====&lt;br /&gt;
&lt;br /&gt;
Генерация объектов может улучшать астрономические изображения и использоваться при моделировании дорогостоящих для изучения физических процессов. Так, в 2019 году при помощи [[Generative Adversarial Nets (GAN) | состязательных сетей]] были успешно смоделированы распределения темной материи в определенном направлении в пространстве и составлены предсказания гравитационного линзирования.&lt;br /&gt;
&lt;br /&gt;
GAN также может использоваться для обнаружения глаукомных изображений, помогая ранней диагностике, которая необходима для предотвращения частичной или полной потери зрения.&amp;lt;ref&amp;gt;[https://www.sciencedirect.com/science/article/abs/pii/S1568494620301058?via%3Dihub Статья про обнаружение глаукомных изображений]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Музыка и звуки ====&lt;br /&gt;
&lt;br /&gt;
В Google активно используется модель [https://en.wikipedia.org/wiki/WaveNet WaveNet] которая способна генерировать речь, похожую на голос любого человека, и другие звуки, включая музыку (например, композиции на пианино) &amp;lt;ref&amp;gt;[https://habr.com/ru/company/Voximplant/blog/309648/ Google WaveNet]&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!---&lt;br /&gt;
&lt;br /&gt;
Генерировать можно документы и тексты. Например, существу&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Анимация и игры ====&lt;br /&gt;
&lt;br /&gt;
Еще генерация объектов может использоваться при воссоздании текстур старых игр в лучшем расширении (пример игры, для которой был использован такой метод – [https://ru.wikipedia.org/wiki/Resident_Evil Resident Evil] ).&lt;br /&gt;
[[File:propal_chelovek.jpg|thumb|Пример сгенерированного изображения]]&lt;br /&gt;
&lt;br /&gt;
=== Используемые модели ===&lt;br /&gt;
&lt;br /&gt;
Для достижения данной цели обычно используются [[Порождающие модели | порождающие модели]]. В таком варианте в качестве задачи ставится восстановление совместного распределения &amp;lt;tex&amp;gt;p(x,y)&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;y&amp;lt;/tex&amp;gt; — это один бит, отвечающий за отдельный признак (то есть тот класс, к которому должна принадлежать созданный объект; например, фотография человека), а &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt; — это весь объект (фотография).&lt;br /&gt;
Чаще всего порождаемый объект &amp;lt;tex&amp;gt;X&amp;lt;/tex&amp;gt; представляет собой набор элементов &amp;lt;tex&amp;gt;X = \{x_i\}&amp;lt;/tex&amp;gt;, что позволяет порождать объект по частям. Для изображения, например, такими частями будут являться пиксели. Таким образом, при порождении следующих частей объекта мы можем опираться на уже созданные, и тогда перед нами встаёт задача максимизация функции правдоподобия: для набора данных &amp;lt;tex&amp;gt;X = \{x_i\}&amp;lt;/tex&amp;gt; максимизировать &amp;lt;tex&amp;gt;\displaystyle \prod_i p_{\operatorname{model}}(x_i,\theta)&amp;lt;/tex&amp;gt; по параметрам модели θ, т.е. найти &amp;lt;math&amp;gt;\theta^* = \underset{\theta}{\operatorname{argmax}} \displaystyle \prod_i p_{\operatorname{model}}(x_i,\theta)&amp;lt;/math&amp;gt;. Эта задача относится к классу задач обучения без учителя или с частичным привлечением учителя. При её решении либо работают с явными распределениями, сводя распределение &amp;lt;tex&amp;gt;p(x,y)&amp;lt;/tex&amp;gt; к произведению распределений определённой структуры, либо используют неявные модели, которые не восстанавливают всю функцию плотности, а только моделируют ту часть этой функции, которая нужна непосредственно. Стоит отметить, что простые порождающие модели, такие как наивный байесовский классификатор, не показывают достаточное качество результата, чтобы на их основе можно было сгенерировать полноценные мультимедиа объекты. Из класса порождающих моделей при генерации именно изображений особенно хорошо показали себя модели [[Generative Adversarial Nets (GAN) | состязательных сетей]], [[PixelRNN и PixelCNN | PixelRNN и PixelCNN]], а также DRAW (рисуют изображение с помощью сочетания [[Рекуррентные нейронные сети | рекуррентных НС]] и [[Механизм внимания | механизма внимания]]). Также стоит отметить модель [https://en.wikipedia.org/wiki/WaveNet WaveNet], используемую для создания звуковых записей. Эта модель создана в 2016 году, а к 2018 году, после нескольких оптимизаций вычислительной сложности, она нашла применение в Google при создании образцов речи на различных языках.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!---&lt;br /&gt;
== Оверсэмплинг ==&lt;br /&gt;
&lt;br /&gt;
Основная причина применения расширения выборки за счёт создания объектов – ''дисбаланс'' классов в уже имеющейся выборке. Этот дисбаланс может быть двух типов:&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
    &amp;lt;li&amp;gt; Недостаточное представление класса в одной или нескольких ''входных переменных''. Это явление широко распространено в реальных данных и возникает естественным образом, например, при социологических исследованиях. Так, при случайном нестратифицированном опросе программистов-женщин будет опрошено в несколько раз меньше, чем мужчин, так как мужчины больше представлены в данной профессии, что может оказаться важным при установлении связи с такой переменной, как стаж работы.&lt;br /&gt;
    &amp;lt;/li&amp;gt;&lt;br /&gt;
    &amp;lt;li&amp;gt; Недостаточное представление класса в ''выходной переменной''. Это явление так же широко также распространено в реальных данных. Особенно часто этот эффект проявляется в медицине, где процент заболевших обычно много меньше процента здоровых обследуемых. Адекватность оценки предсказания в таких случаях помогает сохранять использование точности, полноты и F-меры.&lt;br /&gt;
    &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Дисбаланс данных является проблемой потому, что, хотя некоторые аналитические методы (''линейная и логистическая регрессия'') устойчивы к дисбалансу данных, многие другие (например, ''нейронные сети'') уязвимы к нему и снижают качество предсказания. В связи с этим возникает задача балансировки данных, которая может быть решена двумя способами: '''оверсэмплинг''' (генерация новых объектов выборки ''миноритарного'' или менее представленного класса) и '''андерсэмплинг''' (удаление из выборки объектов ''мажоритарного'' или более представленного класса). В рамках данной статьи будет рассмотрен только оверсэмплинг, так как именно он связан с генерацией объектов.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Используемые методы ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Случайный оверсэмплинг''' – создание копий нескольких объектов миноритарного класса. Этот метод включает несколько вариаций, так как могут различаться количество копий &amp;lt;tex&amp;gt;(2, 5, 10)&amp;lt;/tex&amp;gt; и более для каждого объекта и доля объектов миноритарного класса, для которой создаются копии. Этот метод – один из самых ранних, для него доказана '''выбросоустойчивость''' (''robustness''). Однако его эффективность часто недостаточна.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''SMOTE''' (''Synthetic Minority Oversampling Technique'') – генерация искусственных примеров, не совпадающих с имеющимися в выборке. Этот алгоритм во многом основан на [[Метрический классификатор и метод ближайших соседей | методе ближайшего соседа]]. Для создания новой записи находят разность &amp;lt;tex&amp;gt;d=X_b–X_a&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;X_a,X_b&amp;lt;/tex&amp;gt; – векторы признаков «соседних» примеров &amp;lt;tex&amp;gt;a&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;b&amp;lt;/tex&amp;gt; из миноритарного класса (их находят так же, как в методе ''kNN''). В данном случае необходимо и достаточно для примера &amp;lt;tex&amp;gt;b&amp;lt;/tex&amp;gt; получить набор из &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt; соседей, из которого в дальнейшем будет выбрана запись &amp;lt;tex&amp;gt;b&amp;lt;/tex&amp;gt;. Далее из &amp;lt;tex&amp;gt;d&amp;lt;/tex&amp;gt; путем умножения каждого его элемента на случайное число в интервале &amp;lt;tex&amp;gt;(0, 1)&amp;lt;/tex&amp;gt; получают &amp;lt;tex&amp;gt;d&amp;lt;/tex&amp;gt;. Вектор признаков нового примера вычисляется путем сложения &amp;lt;tex&amp;gt;X_a&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;d&amp;lt;/tex&amp;gt;. Алгоритм SMOTE позволяет задавать количество записей, которое необходимо искусственно сгенерировать. Степень сходства примеров &amp;lt;tex&amp;gt;a&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;b&amp;lt;/tex&amp;gt; можно регулировать путем изменения значения &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt; (числа ближайших соседей). Пример работы алгоритма продемонстрирован на рис. 1. &amp;lt;br /&amp;gt;&lt;br /&gt;
[[File:SMOTE_GEN.gif|none|frame|Рис. 1. Пример работы алгоритма SMOTE]]&lt;br /&gt;
&lt;br /&gt;
Данный подход имеет недостаток в том, что «вслепую» увеличивает плотность примерами в области слабо представленного класса. Пример такого увеличения изображён на рис. 2.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:SMOTE_GEN_DISS.gif|none|frame|Рис. 2. Пример неудачного срабатывания SMOTE]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''ASMO''' (''Adaptive Synthetic Minority Oversampling'') – алгоритм адаптивного искусственного увеличения числа примеров миноритарного класса, модифицирующий SMOTE. В случае, если миноритарные примеры равномерно распределены среди мажоритарных и имеют низкую плотность, алгоритм SMOTE только сильнее перемешает классы. В качестве решения данной проблемы был предложен алгоритм ASMO. Он применяется, если для каждого &amp;lt;tex&amp;gt;i&amp;lt;/tex&amp;gt;-ого примера миноритарного класса из &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt; ближайших соседей &amp;lt;tex&amp;gt;g (g≤k)&amp;lt;/tex&amp;gt; принадлежит к мажоритарному. В этом случае на основании примеров миноритарного класса выделяется несколько кластеров и для примеров каждого кластера применяют SMOTE.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''ADASYN''' (''Adaptive synthetic sampling'') – семейство методов, являющихся попыткой «адаптации» SMOTE, то есть создания объектов, с которыми на выборке будет показан лучший результат классификации. Такие методы могут: создавать больше данных на миноритарных классах, на которых обучение сложнее; изменять пространство объектов в сторону точек, у которых соседи неоднородны; просто добавлять случайное изменение к генерируемым точкам для создания естественного шума.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==См. также==&lt;br /&gt;
*[[Generative Adversarial Nets (GAN)]]&lt;br /&gt;
*[[Генерация изображения по тексту]]&lt;br /&gt;
*[[Порождающие модели]]&lt;br /&gt;
&lt;br /&gt;
== Примечания ==&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;br /&gt;
== Источники ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
    &amp;lt;li&amp;gt;[https://en.wikipedia.org/wiki/Generative_adversarial_network Генеративно-состязательная сеть]&amp;lt;/li&amp;gt;&lt;br /&gt;
    &amp;lt;li&amp;gt;[https://en.wikipedia.org/wiki/WaveNet WaveNet]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;!---&lt;br /&gt;
    &amp;lt;li&amp;gt;[https://en.wikipedia.org/wiki/Oversampling_and_undersampling_in_data_analysis Оверсемплинг]&amp;lt;/li&amp;gt;&lt;br /&gt;
    &amp;lt;li&amp;gt;[https://www.kaggle.com/residentmario/oversampling-with-smote-and-adasyn Оверсемплинг с SMOTE]&amp;lt;/li&amp;gt;&lt;br /&gt;
    &amp;lt;li&amp;gt;[https://medium.com/coinmonks/smote-and-adasyn-handling-imbalanced-data-set-34f5223e167  Методы работы с небалансными данными в SMOTE и ADASYN]&amp;lt;/li&amp;gt;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
    &amp;lt;li&amp;gt;[https://towardsdatascience.com/dealing-with-imbalanced-classes-in-machine-learning-d43d6fa19d2 Методы работы с небалансными классами]&amp;lt;/li&amp;gt;&lt;br /&gt;
    &amp;lt;li&amp;gt;[https://basegroup.ru/community/articles/imbalance-datasets Несбалансированные датасеты]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Категория: Машинное обучение]]&lt;br /&gt;
[[Категория: Порождающие модели]]&lt;br /&gt;
[[Категория: Генерация объектов]]&lt;/div&gt;</summary>
		<author><name>188.170.82.221</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%9C%D0%B0%D1%88%D0%B8%D0%BD%D0%BD%D0%BE%D0%B5_%D0%BE%D0%B1%D1%83%D1%87%D0%B5%D0%BD%D0%B8%D0%B5_%D0%B2_%D0%BC%D0%B5%D0%B4%D0%B8%D1%86%D0%B8%D0%BD%D0%B5&amp;diff=76830</id>
		<title>Машинное обучение в медицине</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%9C%D0%B0%D1%88%D0%B8%D0%BD%D0%BD%D0%BE%D0%B5_%D0%BE%D0%B1%D1%83%D1%87%D0%B5%D0%BD%D0%B8%D0%B5_%D0%B2_%D0%BC%D0%B5%D0%B4%D0%B8%D1%86%D0%B8%D0%BD%D0%B5&amp;diff=76830"/>
				<updated>2021-01-08T15:26:23Z</updated>
		
		<summary type="html">&lt;p&gt;188.170.82.221: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;К задачам машинного обучения в медицине относят проблемы по диагностике заболеваний и дизайну лекарств. Эти задачи относят к обучению с учителем или [[Обучение с частичным привлечением учителя|с частичным привлечением учителя]]. Кроме того, машинное обучение стали применять в персонализированной медицине и генерации данных различных исследований для анонимизации данных пациентов. В этих задачах сейчас все больше применяют [[Обучение с подкреплением|обучение с подкреплением]] и обучение без учителя, в частности, [[Generative Adversarial Nets (GAN)|генеративные состязательные сети]]. Машинное обучение в медицине начали изучать еще 2000-ых и оно продолжает активно развиваться и в наши дни.&lt;br /&gt;
&lt;br /&gt;
==Диагностика заболеваний по результатам рентгенологических и УЗИ исследований==&lt;br /&gt;
===Диагностика по изображению===&lt;br /&gt;
{|align=&amp;quot;center&amp;quot;&lt;br /&gt;
 |-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
 |[[Файл:Covid cnn recognition.png|thumb|750px|Пример вероятностной классификации КТ грудной клетки. Источник:https://arxiv.org/ftp/arxiv/papers/2004/2004.04931.pdf]]&lt;br /&gt;
 |[[Файл:Spine x ray cnn.png|400px|thumb|Пример локализации шейного отдела позвоночника на рентгене. Источник: https://lhncbc.nlm.nih.gov/system/files/pub9781.pdf]]&lt;br /&gt;
 |}&lt;br /&gt;
[[Файл:Brain tumor mri cnn.jpg|200px|thumb|Пример классификации результатов МРТ на изображения с опухолью и без. Источник: https://biomedpharmajournal.org/vol11no3/brain-tumor-classification-using-convolutional-neural-networks/]]&lt;br /&gt;
В диагностике заболеваний есть большое количество задач, которые можно решить при помощи машинного обучения, а в частности, при помощи анализа результатов различных исследований, таких как рентген, УЗИ или МРТ. В основном задача любой модели сводится к предсказанию, болен ли человек сейчас (иногда обычная мультиклассовая классификация, иногда {{---}} вероятностная классификация).&lt;br /&gt;
&lt;br /&gt;
Для решения таких задач чаще всего используют [[глубокое обучение]]. Такие модели на вход получают картинку с рентгенологическим или ультразвуковым исследованием пациента и по ним предсказывают наличие болезни. Обычно внутри таких моделей-классификаторов лежат [[сверточные нейронные сети]], а иногда к ним добавляются [[механизм внимания]]. За основу берутся state-of-the-art модели в области сверточных нейронных сетей, такие как GoogleLeNet&amp;lt;ref&amp;gt;[https://static.googleusercontent.com/media/research.google.com/ru//pubs/archive/43022.pdf Szegedy et al., Going Deeper with Convolutions, 2015. GoogLeNet.]&amp;lt;/ref&amp;gt;, при этом точность предсказаний превышает 90%. Такие модели учатся на размеченных тренировочных наборах данных, поэтому их можно отнести к обучению с учителем. Большое распространение такие классификаторы получили в предсказании злокачественности новообразований, классификации заболеваний легких, подборе дозы контраста при проведении МРТ.&lt;br /&gt;
&lt;br /&gt;
Кроме того, есть и другое применение. Многие модели учатся не только определять, есть ли опухоль на данном образце, но и локализировать ее положение. Таким образом, необходимо решить задачу сегментации изображения, то есть выделения каких-то ее наиболее важных частей. Технически задача не сильно отличается от предыдущей и решается все теми же сверточными нейронными сетями.&lt;br /&gt;
&lt;br /&gt;
===Применения===&lt;br /&gt;
Поскольку точность предсказаний у описанных выше моделей достаточно высока, их стали применять на практике. Сейчас ведутся исследования по внедрению таких моделей в УЗИ-аппараты для того, чтобы быстрее и точнее определять местоположение и злокачественность опухоли. Кроме того, такие модели стали применять в направленной лучевой терапии, когда злокачественная опухоль облучается различными видами частиц. Известно, что эти частицы уничтожают не только раковые, но и здоровые клетки. Именно поэтому активно внедряются модели, которые могут подсказать аппарату точное направление облучения. Также сверточные сети стали использовать для определения дозы контрастного вещества при МРТ&amp;lt;ref&amp;gt;[https://www.sciencedirect.com/science/article/pii/S0939388918301181 Lundervold et al., An overview of deep learning in medical imaging focusing on MRI, 2019]&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Генерация результатов исследований===&lt;br /&gt;
[[Файл:3d mri models comparison.png|450px|thumb|Сравнение различных моделей для генерации 3D изображений МРТ исследований. Источник: https://arxiv.org/pdf/1908.02498.pdf]]&lt;br /&gt;
&lt;br /&gt;
Для обучения сверточных нейронных сетей необходимо большое количество данных, которые очень часто достаточно тяжело или даже невозможно получить из-за запрета на использование данных исследований даже в анонимном формате без согласия пациента. Поэтому сейчас для получения достаточно больших датасетов стали применять [[Generative Adversarial Nets (GAN)|генеративные состязательные сети]]. &lt;br /&gt;
&lt;br /&gt;
Задачу таких GAN можно оделить на две: генерация изображений здоровых пациентов и изображений с патологиями. В случае второй задачи важно, чтобы сгенерированные изображения правильно определялись именно по типу патологии.&lt;br /&gt;
&lt;br /&gt;
Основная проблема, с которой сталкиваются такие модели {{---}} необходимость очень точно определять границы объекта на сгенерированном изображении, а также не допускать размытости. Эти две проблемы долгое время не получалось решить без большого количества реальных данных, вследствие чего не было возможным применение сгенерированных изображений на практике. &lt;br /&gt;
&lt;br /&gt;
Сильно улучшить поведение моделей удалось путем использования метрики Васерштейна&amp;lt;ref&amp;gt;[https://ru.wikipedia.org/wiki/%D0%9C%D0%B5%D1%82%D1%80%D0%B8%D0%BA%D0%B0_%D0%92%D0%B0%D1%81%D0%B5%D1%80%D1%88%D1%82%D0%B5%D0%B9%D0%BD%D0%B0 Википедия:Метрика Васерштейна]&amp;lt;/ref&amp;gt;, которая, если провести аналогию с землей, измеряет минимальную стоимость преобразования одного распределения земли в другое, при этом предполагается, что стоимость прямо пропорциональна количеству земли и расстоянию, на которое ее надо перетащить. Использование такой метрики в GAN помогло сильно улучшить поведение моделей при генерации данных МРТ исследований.&lt;br /&gt;
&lt;br /&gt;
==Персонализированная медицина==&lt;br /&gt;
Персонализированная медицина {{---}} новая организационная модель построения медицинской помощи пациентам, которая основывается на подборе индивидуальных лечебных, диагностических и превентивных средств, оптимально подходящих по биохимическим, физиологическим и генетическим особенностям организма.&lt;br /&gt;
&lt;br /&gt;
Основная цель нового направления в медицине заключается в персонализации и оптимизации профилактических мероприятий и лечения пациентов для исключения негативных последствий и осложнений, проявляющихся из-за индивидуальных особенностей.&lt;br /&gt;
Основные отрасли медицины, где применяются новые принципы — онкология, фармация и фармакогеномика. Последняя занимается изучением реакций организма на медицинские препараты в зависимости от индивидуальных наследственных факторов.&lt;br /&gt;
&lt;br /&gt;
===Экспрессия генов и анализ транскриптомных данных===&lt;br /&gt;
[[Файл:Gene expression based cnn.jpg|400px|thumb|Примеры архитектур сверточных сетей, предсказывающих вероятность рака по экспрессии генов. Источник: https://bmcmedgenomics.biomedcentral.com/articles/10.1186/s12920-020-0677-2]]&lt;br /&gt;
Многие модели ориентируются на данные экспрессии генов&amp;lt;ref&amp;gt;[https://ru.wikipedia.org/wiki/%D0%AD%D0%BA%D1%81%D0%BF%D1%80%D0%B5%D1%81%D1%81%D0%B8%D1%8F_%D0%B3%D0%B5%D0%BD%D0%BE%D0%B2 Википедия: Экспрессия генов]&amp;lt;/ref&amp;gt; (в широком смысле {{---}} процесс получения белка из последовательности ДНК). Известно, что от количества некоторых белков напрямую зависит возможность клеток становиться раковыми, а также порождать другие заболевания. Совокупность изменений в большом количестве различных белков может приводить к заболеванию. Именно поэтому модели персонализированной медицины основываются на данных экспрессии. Часто в качестве основы используют сверточные нейронные сети, располагая гены, отвечающие за похожие по своей функции белки, рядом друг с другом.&lt;br /&gt;
&lt;br /&gt;
Прямой анализ экспрессии генов {{---}} трудная и дорогостоящая задача, поэтому часто обращаются к транскриптомным данным. Транскриптом {{---}} совокупность всех молекул РНК, которые присутствовали в клетке после завершения процесса трансрипции (получение РНК с матрицы ДНК). Транскриптомные данные чаще всего получают с помощью РНК-секвенирования (RNA-seq) или ДНК-микрочипов (DNA-microarray). С помощью специальных процедур из взятой у пациента пробы выделяют мРНК, которая затем наносится на ДНК-микрочип, где цепочки мРНК зацепляются, образуя двухцепочечные молекулы. Число цепочек мРНК, зацепившихся за определенный участок ДНК-микрочипа, определяет интенсивность свечения этого участка при сканировании. Так косвенно определяют экспрессию каждого из генов. Следующая проблема, с которой сталкиваются исследователи {{---}} слишком большое количество генов (например, у человека их около 28000). Вследствие этого очень тяжело обучать модели, поэтому приходится прибегать к [[Уменьшение размерности|уменьшению размерности]].&lt;br /&gt;
&lt;br /&gt;
===Уменьшение размерности при работе с данными экспрессии генов===&lt;br /&gt;
[[Файл:Melif scheme.png|400px|thumb|Описание алгоритма MeLiF]]&lt;br /&gt;
Для уменьшения размерности в случае биологических данных применяются методы, основным критерием которых становится их скорость. Поскольку количество генов очень велико, чаще всего нет возможности опробовать встраиваемые и оберточные методы. Чаще всего, используют фильтры. &lt;br /&gt;
&lt;br /&gt;
Одним из примеров моделей, основанных на фильтрах является модель MeLiF&amp;lt;ref&amp;gt;[https://www.researchgate.net/publication/317201206_MeLiF_Filter_Ensemble_Learning_Algorithm_for_Gene_Selection| Smetannikov et al., MeLiF: Filter Ensemble Learning Algorithm for Gene Selection]&amp;lt;/ref&amp;gt;, которая берет несколько фильтров &amp;lt;tex&amp;gt;M_i&amp;lt;/tex&amp;gt; с соответствующими функциями измерения релевантности признака &amp;lt;tex&amp;gt;\mu_i&amp;lt;/tex&amp;gt;, после чего строит новую меру значимости как &amp;lt;tex&amp;gt;\mu=\sum_{i=1}^{|M|} \alpha_{i} \mu_{i}&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;\left\{\alpha_{i}\right\}_{i=1}^{|M|}&amp;lt;/tex&amp;gt; {{---}} набор вещественных коэффициентов. После получения новой меры значимости происходит оценка модели на &amp;lt;tex&amp;gt;t&amp;lt;/tex&amp;gt; лучших выбранных признаках. В случае удовлетворительного результата алгоритм завершается, возвращая текущий набор признаков, иначе {{---}} возвращается снова к получению новой меры на &amp;lt;tex&amp;gt;t+1&amp;lt;/tex&amp;gt; признаках.&lt;br /&gt;
&lt;br /&gt;
===Медицинская карта===&lt;br /&gt;
Другая задача {{---}} предсказать, заболеет ли человек в будущем. Для этого часто используется электронная медицинская карта пациента, и на вход сети подаются данные о пациенте, результаты исследований, его генеалогическое древо и другая медицинская информация. Основываясь на полученных данных, модель должна предсказать вероятность того, что человек может заболеть каждым болезнью из приведенного набора. Если вероятность хотя бы по одному из маркеров превышает некоторое значение {{---}} такая модель рекомендует пациенту обратиться к специалисту и относит его в группу высокого риска по этому параметру. В свою очередь специалист может подтвердить или же опровергнуть опасения модели, отдавая ей результат {{---}} права модель или нет. Таким образом, эта проблема относится к классу задач обучения с подкреплением В таких задачах часто используют [[метод опорных векторов (SVM)]] или [[глубокое обучение]].&lt;br /&gt;
&lt;br /&gt;
==Поиск лекарств==&lt;br /&gt;
Поиск лекарств (англ. drug discovery, drug design) {{---}} процесс поиска новых лекарственных средств, часто основанный на знаниях о биологической мишени.&lt;br /&gt;
При поиске новых лекарственных средств часто прибегают к помощи машинного обучения в таких задачах, как предсказание молекулярных свойств потенциальной молекулы лекарства, формы какого-либо белка, активности взаимодействия между двумя молекулами и т.д. &lt;br /&gt;
&lt;br /&gt;
===Предсказание молекулярных свойств===&lt;br /&gt;
[[Файл:MoleculeGNN.PNG|400px|thumb|Молекулярный граф]]&lt;br /&gt;
[[Файл:Morgan fingerprint.jpg|400px|thumb|Пример Morgan Fingerprint для молекулы. Источник: https://www.sciencedirect.com/science/article/abs/pii/S1046202314002631]]&lt;br /&gt;
Одна из главных задач машинного обучения при поиске новых лекарств {{---}} сужение круга их поиска. Чаще всего фармацевтические компании имеют на руках библиотеки с огромным количеством веществ, которые они потенциально могут синтезировать и опробовать в качестве лекарства. Но обычно размеры этих библиотек составляют тысячи молекул, поэтому синтезировать и проверить каждую из них не представляется возможным. В этом случае прибегают к предсказанию некоторых свойств этих молекул, которые точно определяют, может ли молекула быть использована как лекарство. Для предсказания свойств молекул обычно используют молекулярный граф {{---}} графическое представление молекулы (ее атомов и связей).&lt;br /&gt;
&lt;br /&gt;
Первые нейронные сети для предсказания молекулярных свойств использовали Моргановские фингерпринты (англ. Morgan fingerpints), которые для каждого атома в молекуле выделяли всех его соседей на каком-то определенном расстоянии (которое является гиперпараметром) и смотрели на наличие такой подструктуры в молекуле. Получался аналог некоторого оne-hot кодирования. Впоследствии этот метод был несколько усовершенствован, и стали смотреть не на наличие подструктуры, а на то, сколько раз она встречается в молекуле. Прорыв в этой области случился с появлением сети NeuralFingerprints &amp;lt;ref&amp;gt;[https://arxiv.org/abs/1509.09292 Duvenaud et al., Convolutional Networks on Graphs for Learning Molecular Fingerprints, 2015]&amp;lt;/ref&amp;gt;, которая является примером одной из первых попыток применения [[графовые нейронные сети|графовых нейронных сетей]] в этой области. &lt;br /&gt;
&lt;br /&gt;
NeuralFingerprints принимает один гиперпараметр {{---}} максимальное расстояние, которое нужно учитывать при просмотре соседей каждого атома. После этого для каждого расстояния для каждого атома суммируются атомные представления его соседей на текущем расстоянии. Таким образом, получается векторное представление текущего атома фиксированной длины, которая равна количеству свойств у одного атома. Каждый элемент такого представления  умножается на обучаемый параметр, уникальный для номера свойства и текущего рассматриваемого расстояния. После этого применяется функция активации к полученному ранее вектору, умноженному на вес, отвечающий за текущее расстояние. Полученные результаты для каждого из атомов на каждом из расстояний суммируются и получается результирующий вектор свойств для молекулы. Таким образом, в этой сети обучаемые параметры {{---}} веса для каждого из свойств атомов на каждом расстоянии (&amp;lt;tex&amp;gt;H^i_j&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;i&amp;lt;/tex&amp;gt; {{---}} индекс номера свойства (в модели их всего 5), &amp;lt;tex&amp;gt;j&amp;lt;/tex&amp;gt; {{---}} индекс для текущего расстояния) и веса для каждого из расстояний (&amp;lt;tex&amp;gt;W_j&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;j&amp;lt;/tex&amp;gt; {{---}} индекс для текущего расстояния). Псевдокод представлен ниже.&lt;br /&gt;
 '''function''' neuralFingerptint(molecule, R, H, W): &amp;lt;span style=&amp;quot;color:Green&amp;quot;&amp;gt;# R - максимальное расстояние, H - матрица весов размера len(molecule)&amp;lt;tex&amp;gt;\cdot&amp;lt;/tex&amp;gt;R, W - вектор весов размера R&amp;lt;/span&amp;gt;&lt;br /&gt;
    f = array[len(molecule), 0]&lt;br /&gt;
    '''for''' a in molecule: &lt;br /&gt;
        r[a] = g(a) &amp;lt;span style=&amp;quot;color:Green&amp;quot;&amp;gt;# записываем свойства для каждого атома&amp;lt;/span&amp;gt;&lt;br /&gt;
    '''for''' L = 1 to R:&lt;br /&gt;
        '''for''' a in molecule: &lt;br /&gt;
            neighbors = '''neighbors'''(a) &amp;lt;span style=&amp;quot;color:Green&amp;quot;&amp;gt;# смотрим соседей на расстоянии L от текущего атома a&amp;lt;/span&amp;gt;&lt;br /&gt;
        v = r[a] + '''sum'''(r[i] for i in neighbors) &amp;lt;span style=&amp;quot;color:Green&amp;quot;&amp;gt;# суммируем вектора соседей и вектор текущего атома&amp;lt;/span&amp;gt;&lt;br /&gt;
        r[a] = '''σ'''(v &amp;lt;tex&amp;gt;\cdot&amp;lt;/tex&amp;gt;H[a][L]) &amp;lt;span style=&amp;quot;color:Green&amp;quot;&amp;gt;# изменяем представление текущего атома&amp;lt;/span&amp;gt;&lt;br /&gt;
        i = '''softmax'''(r[a]&amp;lt;tex&amp;gt;\cdot&amp;lt;/tex&amp;gt;W[L]) &amp;lt;span style=&amp;quot;color:Green&amp;quot;&amp;gt;# получаем вектор для текущего атома и расстояния&amp;lt;/span&amp;gt;&lt;br /&gt;
        f = f + i  &amp;lt;span style=&amp;quot;color:Green&amp;quot;&amp;gt;# добавляем его к ответу&amp;lt;/span&amp;gt;&lt;br /&gt;
    '''return''' f&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Эта сеть была одной из первых в этой области, и сейчас используется как базовый метод в огромном количестве статей. В основу новых методов сейчас все еще чаще всего ложатся [[графовые нейронные сети]]. Подходы графовых нейронных сетей адаптируют под молекулярный граф путем поиска элементов на расстоянии не более, чем N (где N является гиперпараметром), или последовательным рассмотрением каждой вершины и усреднением полученных значений.&lt;br /&gt;
&lt;br /&gt;
===Предсказание формы белка===&lt;br /&gt;
[[Файл:AlphaFold 2 block design.png|400px|thumb|Архитектура AlphaFold2, модели для предсказания пространственной структуры белка. Источник: https://en.wikipedia.org/wiki/AlphaFold]]&lt;br /&gt;
Секвенирование {{---}} процесс получения нуклеотидной последовательности из молекулы ДНК. &amp;lt;ref&amp;gt;[https://en.wikipedia.org/wiki/Sequencing Википедия: Секвенирование]&amp;lt;/ref&amp;gt;&lt;br /&gt;
Из нуклеотидной последовательности можно получить аминокислотную последовательность, которая в свою очередь кодирует любой белок в организме.&lt;br /&gt;
&lt;br /&gt;
Предсказание формы белка {{---}} другая очень важная задача машинного обучения в фармацевтике. С возникновением технологий секвенирования ДНК у сообщества появилась возможность быстро и достаточно качественно прочитывать белковые последовательности, но получать пространственную структуру полученных белков экспериментально все еще очень трудоемко и дорого. Пространственная же структура белка важна для генерации мишеней, поэтому задача предсказания структуры является очень важной. Например, при подборе потенциальной вакцины, необходимо точно знать форму антитела, чтобы понимать сможет ли это соединение захватить свою мишень, не дав ей закрепиться в организме пациента.&lt;br /&gt;
&lt;br /&gt;
Предсказание формы белков основано на нейронных сетях, которые как вход используют очень длинную аминокислотную последовательность (размер алфавита ограничен {{---}} всего различных аминокислот 20), а на выходе должны предсказать значения торсионных углов&amp;lt;ref&amp;gt;[https://kodomo.fbb.msu.ru/~youthofchemist/projects/Term_1/Protein/phipsi.html Торсионные углы]&amp;lt;/ref&amp;gt; между аминокислотами. В декабре 2020 года DeepMind (исследовательское подразделение Google) заявили, что решили проблему пространственной структуры белка.&amp;lt;ref&amp;gt;[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 Фундаментальная «проблема белка» решена]&amp;lt;/ref&amp;gt; Авторы модели утверждают, что значение метрики глобального расстояния (англ. global distance test) превысило 90%. Метрика глобального расстояния {{---}} это метрика, которая вычисляется для каждой аминокислоты как процент атомов углерода из главной цепи белка, которые в сгенерированном белке расположены не более чем на расстоянии какого-то определенного количества ангстрем от соответствующего атома углерода в исходном белке. Обычно это значение берется равным 1, 2, 4 или 8 ангстрем (10&amp;lt;sup&amp;gt;-10&amp;lt;/sup&amp;gt;м).&lt;br /&gt;
&lt;br /&gt;
===Генерация молекулярных структур===&lt;br /&gt;
[[Файл:Ranc scheme.png|400px|thumb|Пример генеративной состязательной сети для лекарственных молекул. Сеть RANC (Reinforced Adversarial Neural Computer). Источник: https://pubs.acs.org/doi/10.1021/acs.jcim.7b00690]]&lt;br /&gt;
Еще одна задача, которая есть сейчас в мире машинного обучения {{---}} генерировать новые молекулы, которые могут потенциально быть лекарствами. Для этого используют [[Generative Adversarial Nets (GAN)|генеративные состязательные сети]]. Основное преимущество такого подхода заключается в том, что при работе с библиотеками уже синтезированных лекарств есть вероятность &amp;quot;пропустить&amp;quot; важное соединение просто потому, что в этой библиотеке его не было. Поэтому используется абсолютно другой подход {{---}} предлагается наоборот генерировать различные молекулы, а уже потом проверять, действительно ли их можно использовать как лекарство и насколько сложно их синтезировать. Часто эти свойства вносят в метрику качества генератора. &lt;br /&gt;
&lt;br /&gt;
SMILES {{---}} способ однозначного задания молекулы при помощи строки. Таким образом, задача генератора {{---}} сгенерировать такую строку SMILES для молекулы, чтобы дискриминатор не отличил ее от настоящей. Архитектура дискриминатора чаще всего остается очень похожей на архитектуру обычной сети, предсказывающей молекулярные свойства. Таким образом, в качестве дискриминатора часто используются графовые или сверточные нейронные сети. Для генератора же часто используют механизм памяти, чтобы сеть помнила, какие части уже были сгенерированы и отталкивалась от них.&lt;br /&gt;
&lt;br /&gt;
==См. также==&lt;br /&gt;
* [[Нейронные сети, перцептрон]]&lt;br /&gt;
* [[Глубокое обучение]]&lt;br /&gt;
* [[Графовые нейронные сети]]&lt;br /&gt;
* [[Компьютерное зрение]]&lt;br /&gt;
* [[Обучение с подкреплением]]&lt;br /&gt;
&lt;br /&gt;
==Примечания==&lt;br /&gt;
* [https://en.wikipedia.org/wiki/Protein_structure_prediction#:~:text=Protein%20structure%20prediction%20is%20the,inverse%20problem%20of%20protein%20design. Protein structure prediction]&lt;br /&gt;
* [https://ru.wikipedia.org/wiki/%D0%9F%D0%B5%D1%80%D1%81%D0%BE%D0%BD%D0%B0%D0%BB%D0%B8%D0%B7%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%BD%D0%B0%D1%8F_%D0%BC%D0%B5%D0%B4%D0%B8%D1%86%D0%B8%D0%BD%D0%B0 Википедия: Персонализированная медицина]&lt;br /&gt;
* [https://arxiv.org/ftp/arxiv/papers/2004/2004.04931.pdf CoroNet: A deep neural network for detection and diagnosis of COVID-19 from chest x-ray images]&lt;br /&gt;
* [https://emerj.com/ai-sector-overviews/machine-learning-in-pharma-medicine/ 7 Applications of Machine Learning in Pharma and Medicine]&lt;br /&gt;
* [https://www.nature.com/articles/s41563-019-0360-1 Ascent of machine learning in medicine]&lt;br /&gt;
* [http://jtelemed.ru/article/glubokoe-mashinnoe-obuchenie-iskusstvennyj-intellekt-v-ultrazvukovoj-diagnostike Глубокое машинное обучение (искусственный интеллект) в ультразвуковой диагностике]&lt;br /&gt;
* [https://bmcmedgenomics.biomedcentral.com/articles/10.1186/s12920-020-0677-2 Convolutional neural network models for cancer type prediction based on gene expression]&lt;br /&gt;
* [https://docplayer.ru/85522413-Smetannikov-ivan-borisovich.html Сметанников Иван Борисович, Метод и алгоритмы выбора признаков в предсказательном моделировании фенотипических характеристик на основе транскриптомных данных]&lt;br /&gt;
&lt;br /&gt;
==Источники информации==&lt;br /&gt;
&lt;br /&gt;
[[Категория: Машинное обучение]]&lt;br /&gt;
[[Категория: Глубокое обучение]]&lt;br /&gt;
[[Категория: Практические применения машинного обучения]]&lt;/div&gt;</summary>
		<author><name>188.170.82.221</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%9C%D0%B0%D1%88%D0%B8%D0%BD%D0%BD%D0%BE%D0%B5_%D0%BE%D0%B1%D1%83%D1%87%D0%B5%D0%BD%D0%B8%D0%B5_%D0%B2_%D0%BC%D0%B5%D0%B4%D0%B8%D1%86%D0%B8%D0%BD%D0%B5&amp;diff=76829</id>
		<title>Машинное обучение в медицине</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%9C%D0%B0%D1%88%D0%B8%D0%BD%D0%BD%D0%BE%D0%B5_%D0%BE%D0%B1%D1%83%D1%87%D0%B5%D0%BD%D0%B8%D0%B5_%D0%B2_%D0%BC%D0%B5%D0%B4%D0%B8%D1%86%D0%B8%D0%BD%D0%B5&amp;diff=76829"/>
				<updated>2021-01-08T15:00:41Z</updated>
		
		<summary type="html">&lt;p&gt;188.170.82.221: /* Предсказание молекулярных свойств */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Машинное обучение в медицине начали применять еще в 2000-ых, и сейчас машинное обучение, а в частности, [[Нейронные сети, перцептрон|нейронные сети]] пытаются решать огромное количество задач по диагностике заболеваний и дизайну лекарств. Эти задачи относят к обучению с учителем или [[Обучение с частичным привлечением учителя|с частичным привлечением учителя]]. Кроме того, машинное обучение стали применять в персонализированной медицине и генерации данных различных исследований для анонимизации данных пациентов. В этих задачах сейчас все больше применяют [[Обучение с подкреплением|обучение с подкреплением]] и обучение без учителя, в частности, [[Generative Adversarial Nets (GAN)|генеративные состязательные сети]].&lt;br /&gt;
&lt;br /&gt;
==Диагностика заболеваний по результатам рентгенологических и УЗИ исследований==&lt;br /&gt;
===Диагностика по изображению===&lt;br /&gt;
{|align=&amp;quot;center&amp;quot;&lt;br /&gt;
 |-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
 |[[Файл:Covid cnn recognition.png|thumb|750px|Пример вероятностной классификации КТ грудной клетки. Источник:https://arxiv.org/ftp/arxiv/papers/2004/2004.04931.pdf]]&lt;br /&gt;
 |[[Файл:Spine x ray cnn.png|400px|thumb|Пример локализации шейного отдела позвоночника на рентгене. Источник: https://lhncbc.nlm.nih.gov/system/files/pub9781.pdf]]&lt;br /&gt;
 |}&lt;br /&gt;
[[Файл:Brain tumor mri cnn.jpg|200px|thumb|Пример классификации результатов МРТ на изображения с опухолью и без. Источник: https://biomedpharmajournal.org/vol11no3/brain-tumor-classification-using-convolutional-neural-networks/]]&lt;br /&gt;
В диагностике заболеваний есть большое количество задач, которые можно решить при помощи машинного обучения, а в частности, при помощи анализа результатов различных исследований, таких как рентген, УЗИ или МРТ. В основном задача любой модели сводится к предсказанию, болен ли человек сейчас (иногда обычная мультиклассовая классификация, иногда {{---}} вероятностная классификация).&lt;br /&gt;
&lt;br /&gt;
Для решения таких задач чаще всего используют [[глубокое обучение]]. Такие модели на вход получают картинку с рентгенологическим или ультразвуковым исследованием пациента и по ним предсказывают наличие болезни. Обычно внутри таких моделей-классификаторов лежат [[сверточные нейронные сети]], а иногда к ним добавляются [[механизм внимания]]. За основу берутся state-of-the-art модели в области сверточных нейронных сетей, такие как GoogleLeNet&amp;lt;ref&amp;gt;[https://static.googleusercontent.com/media/research.google.com/ru//pubs/archive/43022.pdf Szegedy et al., Going Deeper with Convolutions, 2015. GoogLeNet.]&amp;lt;/ref&amp;gt;, при этом точность предсказаний превышает 90%. Такие модели учатся на размеченных тренировочных наборах данных, поэтому их можно отнести к обучению с учителем. Большое распространение такие классификаторы получили в предсказании злокачественности новообразований, классификации заболеваний легких, подборе дозы контраста при проведении МРТ.&lt;br /&gt;
&lt;br /&gt;
Кроме того, есть и другое применение. Многие модели учатся не только определять, есть ли опухоль на данном образце, но и локализировать ее положение. Таким образом, необходимо решить задачу сегментации изображения, то есть выделения каких-то ее наиболее важных частей. Технически задача не сильно отличается от предыдущей и решается все теми же сверточными нейронными сетями.&lt;br /&gt;
&lt;br /&gt;
===Применения===&lt;br /&gt;
Поскольку точность предсказаний у описанных выше моделей достаточно высока, их стали применять на практике. Сейчас ведутся исследования по внедрению таких моделей в УЗИ-аппараты для того, чтобы быстрее и точнее определять местоположение и злокачественность опухоли. Кроме того, такие модели стали применять в направленной лучевой терапии, когда злокачественная опухоль облучается различными видами частиц. Известно, что эти частицы уничтожают не только раковые, но и здоровые клетки. Именно поэтому активно внедряются модели, которые могут подсказать аппарату точное направление облучения. Также сверточные сети стали использовать для определения дозы контрастного вещества при МРТ&amp;lt;ref&amp;gt;[https://www.sciencedirect.com/science/article/pii/S0939388918301181 Lundervold et al., An overview of deep learning in medical imaging focusing on MRI, 2019]&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Генерация результатов исследований===&lt;br /&gt;
[[Файл:3d mri models comparison.png|450px|thumb|Сравнение различных моделей для генерации 3D изображений МРТ исследований. Источник: https://arxiv.org/pdf/1908.02498.pdf]]&lt;br /&gt;
&lt;br /&gt;
Для обучения сверточных нейронных сетей необходимо большое количество данных, которые очень часто достаточно тяжело или даже невозможно получить из-за запрета на использование данных исследований даже в анонимном формате без согласия пациента. Поэтому сейчас для получения достаточно больших датасетов стали применять [[Generative Adversarial Nets (GAN)|генеративные состязательные сети]]. &lt;br /&gt;
&lt;br /&gt;
Задачу таких GAN можно оделить на две: генерация изображений здоровых пациентов и изображений с патологиями. В случае второй задачи важно, чтобы сгенерированные изображения правильно определялись именно по типу патологии.&lt;br /&gt;
&lt;br /&gt;
Основная проблема, с которой сталкиваются такие модели {{---}} необходимость очень точно определять границы объекта на сгенерированном изображении, а также не допускать размытости. Эти две проблемы долгое время не получалось решить без большого количества реальных данных, вследствие чего не было возможным применение сгенерированных изображений на практике. &lt;br /&gt;
&lt;br /&gt;
Сильно улучшить поведение моделей удалось путем использования метрики Васерштейна&amp;lt;ref&amp;gt;[https://ru.wikipedia.org/wiki/%D0%9C%D0%B5%D1%82%D1%80%D0%B8%D0%BA%D0%B0_%D0%92%D0%B0%D1%81%D0%B5%D1%80%D1%88%D1%82%D0%B5%D0%B9%D0%BD%D0%B0 Википедия:Метрика Васерштейна]&amp;lt;/ref&amp;gt;, которая, если провести аналогию с землей, измеряет минимальную стоимость преобразования одного распределения земли в другое, при этом предполагается, что стоимость прямо пропорциональна количеству земли и расстоянию, на которое ее надо перетащить. Использование такой метрики в GAN помогло сильно улучшить поведение моделей при генерации данных МРТ исследований.&lt;br /&gt;
&lt;br /&gt;
==Персонализированная медицина==&lt;br /&gt;
Персонализированная медицина {{---}} новая организационная модель построения медицинской помощи пациентам, которая основывается на подборе индивидуальных лечебных, диагностических и превентивных средств, оптимально подходящих по биохимическим, физиологическим и генетическим особенностям организма.&lt;br /&gt;
&lt;br /&gt;
Основная цель нового направления в медицине заключается в персонализации и оптимизации профилактических мероприятий и лечения пациентов для исключения негативных последствий и осложнений, проявляющихся из-за индивидуальных особенностей.&lt;br /&gt;
Основные отрасли медицины, где применяются новые принципы — онкология, фармация и фармакогеномика. Последняя занимается изучением реакций организма на медицинские препараты в зависимости от индивидуальных наследственных факторов.&lt;br /&gt;
&lt;br /&gt;
===Экспрессия генов и анализ транскриптомных данных===&lt;br /&gt;
[[Файл:Gene expression based cnn.jpg|400px|thumb|Примеры архитектур сверточных сетей, предсказывающих вероятность рака по экспрессии генов. Источник: https://bmcmedgenomics.biomedcentral.com/articles/10.1186/s12920-020-0677-2]]&lt;br /&gt;
Многие модели ориентируются на данные экспрессии генов&amp;lt;ref&amp;gt;[https://ru.wikipedia.org/wiki/%D0%AD%D0%BA%D1%81%D0%BF%D1%80%D0%B5%D1%81%D1%81%D0%B8%D1%8F_%D0%B3%D0%B5%D0%BD%D0%BE%D0%B2 Википедия: Экспрессия генов]&amp;lt;/ref&amp;gt; (в широком смысле {{---}} процесс получения белка из последовательности ДНК). Известно, что от количества некоторых белков напрямую зависит возможность клеток становиться раковыми, а также порождать другие заболевания. Совокупность изменений в большом количестве различных белков может приводить к заболеванию. Именно поэтому модели персонализированной медицины основываются на данных экспрессии. Часто в качестве основы используют сверточные нейронные сети, располагая гены, отвечающие за похожие по своей функции белки, рядом друг с другом.&lt;br /&gt;
&lt;br /&gt;
Прямой анализ экспрессии генов {{---}} трудная и дорогостоящая задача, поэтому часто обращаются к транскриптомным данным. Транскриптом {{---}} совокупность всех молекул РНК, которые присутствовали в клетке после завершения процесса трансрипции (получение РНК с матрицы ДНК). Транскриптомные данные чаще всего получают с помощью РНК-секвенирования (RNA-seq) или ДНК-микрочипов (DNA-microarray). С помощью специальных процедур из взятой у пациента пробы выделяют мРНК, которая затем наносится на ДНК-микрочип, где цепочки мРНК зацепляются, образуя двухцепочечные молекулы. Число цепочек мРНК, зацепившихся за определенный участок ДНК-микрочипа, определяет интенсивность свечения этого участка при сканировании. Так косвенно определяют экспрессию каждого из генов. Следующая проблема, с которой сталкиваются исследователи {{---}} слишком большое количество генов (например, у человека их около 28000). Вследствие этого очень тяжело обучать модели, поэтому приходится прибегать к [[Уменьшение размерности|уменьшению размерности]].&lt;br /&gt;
&lt;br /&gt;
===Уменьшение размерности при работе с данными экспрессии генов===&lt;br /&gt;
[[Файл:Melif scheme.png|400px|thumb|Описание алгоритма MeLiF]]&lt;br /&gt;
Для уменьшения размерности в случае биологических данных применяются методы, основным критерием которых становится их скорость. Поскольку количество генов очень велико, чаще всего нет возможности опробовать встраиваемые и оберточные методы. Чаще всего, используют фильтры. &lt;br /&gt;
&lt;br /&gt;
Одним из примеров моделей, основанных на фильтрах является модель MeLiF&amp;lt;ref&amp;gt;[https://www.researchgate.net/publication/317201206_MeLiF_Filter_Ensemble_Learning_Algorithm_for_Gene_Selection| Smetannikov et al., MeLiF: Filter Ensemble Learning Algorithm for Gene Selection]&amp;lt;/ref&amp;gt;, которая берет несколько фильтров &amp;lt;tex&amp;gt;M_i&amp;lt;/tex&amp;gt; с соответствующими функциями измерения релевантности признака &amp;lt;tex&amp;gt;\mu_i&amp;lt;/tex&amp;gt;, после чего строит новую меру значимости как &amp;lt;tex&amp;gt;\mu=\sum_{i=1}^{|M|} \alpha_{i} \mu_{i}&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;\left\{\alpha_{i}\right\}_{i=1}^{|M|}&amp;lt;/tex&amp;gt; {{---}} набор вещественных коэффициентов. После получения новой меры значимости происходит оценка модели на &amp;lt;tex&amp;gt;t&amp;lt;/tex&amp;gt; лучших выбранных признаках. В случае удовлетворительного результата алгоритм завершается, возвращая текущий набор признаков, иначе {{---}} возвращается снова к получению новой меры на &amp;lt;tex&amp;gt;t+1&amp;lt;/tex&amp;gt; признаках.&lt;br /&gt;
&lt;br /&gt;
===Медицинская карта===&lt;br /&gt;
Другая задача {{---}} предсказать, заболеет ли человек в будущем. Для этого часто используется электронная медицинская карта пациента, и на вход сети подаются данные о пациенте, результаты исследований, его генеалогическое древо и другая медицинская информация. Основываясь на полученных данных, модель должна предсказать вероятность того, что человек может заболеть каждым болезнью из приведенного набора. Если вероятность хотя бы по одному из маркеров превышает некоторое значение {{---}} такая модель рекомендует пациенту обратиться к специалисту и относит его в группу высокого риска по этому параметру. В свою очередь специалист может подтвердить или же опровергнуть опасения модели, отдавая ей результат {{---}} права модель или нет. Таким образом, эта проблема относится к классу задач обучения с подкреплением В таких задачах часто используют [[метод опорных векторов (SVM)]] или [[глубокое обучение]].&lt;br /&gt;
&lt;br /&gt;
==Поиск лекарств==&lt;br /&gt;
Поиск лекарств (англ. drug discovery, drug design) {{---}} процесс поиска новых лекарственных средств, часто основанный на знаниях о биологической мишени.&lt;br /&gt;
При поиске новых лекарственных средств часто прибегают к помощи машинного обучения в таких задачах, как предсказание молекулярных свойств потенциальной молекулы лекарства, формы какого-либо белка, активности взаимодействия между двумя молекулами и т.д. &lt;br /&gt;
&lt;br /&gt;
===Предсказание молекулярных свойств===&lt;br /&gt;
[[Файл:MoleculeGNN.PNG|400px|thumb|Молекулярный граф]]&lt;br /&gt;
[[Файл:Morgan fingerprint.jpg|400px|thumb|Пример Morgan Fingerprint для молекулы. Источник: https://www.sciencedirect.com/science/article/abs/pii/S1046202314002631]]&lt;br /&gt;
Одна из главных задач машинного обучения при поиске новых лекарств {{---}} сужение круга их поиска. Чаще всего фармацевтические компании имеют на руках библиотеки с огромным количеством веществ, которые они потенциально могут синтезировать и опробовать в качестве лекарства. Но обычно размеры этих библиотек составляют тысячи молекул, поэтому синтезировать и проверить каждую из них не представляется возможным. В этом случае прибегают к предсказанию некоторых свойств этих молекул, которые точно определяют, может ли молекула быть использована как лекарство. Для предсказания свойств молекул обычно используют молекулярный граф {{---}} графическое представление молекулы (ее атомов и связей).&lt;br /&gt;
&lt;br /&gt;
Первые нейронные сети для предсказания молекулярных свойств использовали Моргановские фингерпринты (англ. Morgan fingerpints), которые для каждого атома в молекуле выделяли всех его соседей на каком-то определенном расстоянии (которое является гиперпараметром) и смотрели на наличие такой подструктуры в молекуле. Получался аналог некоторого оne-hot кодирования. Впоследствии этот метод был несколько усовершенствован, и стали смотреть не на наличие подструктуры, а на то, сколько раз она встречается в молекуле. Прорыв в этой области случился с появлением сети NeuralFingerprints &amp;lt;ref&amp;gt;[https://arxiv.org/abs/1509.09292 Duvenaud et al., Convolutional Networks on Graphs for Learning Molecular Fingerprints, 2015]&amp;lt;/ref&amp;gt;, которая является примером одной из первых попыток применения [[графовые нейронные сети|графовых нейронных сетей]] в этой области. &lt;br /&gt;
&lt;br /&gt;
NeuralFingerprints принимает один гиперпараметр {{---}} максимальное расстояние, которое нужно учитывать при просмотре соседей каждого атома. После этого для каждого расстояния для каждого атома суммируются атомные представления его соседей на текущем расстоянии. Таким образом, получается векторное представление текущего атома фиксированной длины, которая равна количеству свойств у одного атома. Каждый элемент такого представления  умножается на обучаемый параметр, уникальный для номера свойства и текущего рассматриваемого расстояния. После этого применяется функция активации к полученному ранее вектору, умноженному на вес, отвечающий за текущее расстояние. Полученные результаты для каждого из атомов на каждом из расстояний суммируются и получается результирующий вектор свойств для молекулы. Таким образом, в этой сети обучаемые параметры {{---}} веса для каждого из свойств атомов на каждом расстоянии (&amp;lt;tex&amp;gt;H^i_j&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;i&amp;lt;/tex&amp;gt; {{---}} индекс номера свойства (в модели их всего 5), &amp;lt;tex&amp;gt;j&amp;lt;/tex&amp;gt; {{---}} индекс для текущего расстояния) и веса для каждого из расстояний (&amp;lt;tex&amp;gt;W_j&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;j&amp;lt;/tex&amp;gt; {{---}} индекс для текущего расстояния). Псевдокод представлен ниже.&lt;br /&gt;
 '''function''' neuralFingerptint(molecule, R, H, W): &amp;lt;span style=&amp;quot;color:Green&amp;quot;&amp;gt;# R - максимальное расстояние, H - матрица весов размера len(molecule)&amp;lt;tex&amp;gt;\cdot&amp;lt;/tex&amp;gt;R, W - вектор весов размера R&amp;lt;/span&amp;gt;&lt;br /&gt;
    f = array[len(molecule), 0]&lt;br /&gt;
    '''for''' a in molecule: &lt;br /&gt;
        r[a] = g(a) &amp;lt;span style=&amp;quot;color:Green&amp;quot;&amp;gt;# записываем свойства для каждого атома&amp;lt;/span&amp;gt;&lt;br /&gt;
    '''for''' L = 1 to R:&lt;br /&gt;
        '''for''' a in molecule: &lt;br /&gt;
            neighbors = '''neighbors'''(a) &amp;lt;span style=&amp;quot;color:Green&amp;quot;&amp;gt;# смотрим соседей на расстоянии L от текущего атома a&amp;lt;/span&amp;gt;&lt;br /&gt;
        v = r[a] + '''sum'''(r[i] for i in neighbors) &amp;lt;span style=&amp;quot;color:Green&amp;quot;&amp;gt;# суммируем вектора соседей и вектор текущего атома&amp;lt;/span&amp;gt;&lt;br /&gt;
        r[a] = '''σ'''(v &amp;lt;tex&amp;gt;\cdot&amp;lt;/tex&amp;gt;H[a][L]) &amp;lt;span style=&amp;quot;color:Green&amp;quot;&amp;gt;# изменяем представление текущего атома&amp;lt;/span&amp;gt;&lt;br /&gt;
        i = '''softmax'''(r[a]&amp;lt;tex&amp;gt;\cdot&amp;lt;/tex&amp;gt;W[L]) &amp;lt;span style=&amp;quot;color:Green&amp;quot;&amp;gt;# получаем вектор для текущего атома и расстояния&amp;lt;/span&amp;gt;&lt;br /&gt;
        f = f + i  &amp;lt;span style=&amp;quot;color:Green&amp;quot;&amp;gt;# добавляем его к ответу&amp;lt;/span&amp;gt;&lt;br /&gt;
    '''return''' f&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Эта сеть была одной из первых в этой области, и сейчас используется как базовый метод в огромном количестве статей. В основу новых методов сейчас все еще чаще всего ложатся [[графовые нейронные сети]]. Подходы графовых нейронных сетей адаптируют под молекулярный граф путем поиска элементов на расстоянии не более, чем N (где N является гиперпараметром), или последовательным рассмотрением каждой вершины и усреднением полученных значений.&lt;br /&gt;
&lt;br /&gt;
===Предсказание формы белка===&lt;br /&gt;
[[Файл:AlphaFold 2 block design.png|400px|thumb|Архитектура AlphaFold2, модели для предсказания пространственной структуры белка. Источник: https://en.wikipedia.org/wiki/AlphaFold]]&lt;br /&gt;
Секвенирование {{---}} процесс получения нуклеотидной последовательности из молекулы ДНК. &amp;lt;ref&amp;gt;[https://en.wikipedia.org/wiki/Sequencing Википедия: Секвенирование]&amp;lt;/ref&amp;gt;&lt;br /&gt;
Из нуклеотидной последовательности можно получить аминокислотную последовательность, которая в свою очередь кодирует любой белок в организме.&lt;br /&gt;
&lt;br /&gt;
Предсказание формы белка {{---}} другая очень важная задача машинного обучения в фармацевтике. С возникновением технологий секвенирования ДНК у сообщества появилась возможность быстро и достаточно качественно прочитывать белковые последовательности, но получать пространственную структуру полученных белков экспериментально все еще очень трудоемко и дорого. Пространственная же структура белка важна для генерации мишеней, поэтому задача предсказания структуры является очень важной. Например, при подборе потенциальной вакцины, необходимо точно знать форму антитела, чтобы понимать сможет ли это соединение захватить свою мишень, не дав ей закрепиться в организме пациента.&lt;br /&gt;
&lt;br /&gt;
Предсказание формы белков основано на нейронных сетях, которые как вход используют очень длинную аминокислотную последовательность (размер алфавита ограничен {{---}} всего различных аминокислот 20), а на выходе должны предсказать значения торсионных углов&amp;lt;ref&amp;gt;[https://kodomo.fbb.msu.ru/~youthofchemist/projects/Term_1/Protein/phipsi.html Торсионные углы]&amp;lt;/ref&amp;gt; между аминокислотами. В декабре 2020 года DeepMind (исследовательское подразделение Google) заявили, что решили проблему пространственной структуры белка.&amp;lt;ref&amp;gt;[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 Фундаментальная «проблема белка» решена]&amp;lt;/ref&amp;gt; Авторы модели утверждают, что значение метрики глобального расстояния (англ. global distance test) превысило 90%. Метрика глобального расстояния {{---}} это метрика, которая вычисляется для каждой аминокислоты как процент атомов углерода из главной цепи белка, которые в сгенерированном белке расположены не более чем на расстоянии какого-то определенного количества ангстрем от соответствующего атома углерода в исходном белке. Обычно это значение берется равным 1, 2, 4 или 8 ангстрем (10&amp;lt;sup&amp;gt;-10&amp;lt;/sup&amp;gt;м).&lt;br /&gt;
&lt;br /&gt;
===Генерация молекулярных структур===&lt;br /&gt;
[[Файл:Ranc scheme.png|400px|thumb|Пример генеративной состязательной сети для лекарственных молекул. Сеть RANC (Reinforced Adversarial Neural Computer). Источник: https://pubs.acs.org/doi/10.1021/acs.jcim.7b00690]]&lt;br /&gt;
Еще одна задача, которая есть сейчас в мире машинного обучения {{---}} генерировать новые молекулы, которые могут потенциально быть лекарствами. Для этого используют [[Generative Adversarial Nets (GAN)|генеративные состязательные сети]]. Основное преимущество такого подхода заключается в том, что при работе с библиотеками уже синтезированных лекарств есть вероятность &amp;quot;пропустить&amp;quot; важное соединение просто потому, что в этой библиотеке его не было. Поэтому используется абсолютно другой подход {{---}} предлагается наоборот генерировать различные молекулы, а уже потом проверять, действительно ли их можно использовать как лекарство и насколько сложно их синтезировать. Часто эти свойства вносят в метрику качества генератора. &lt;br /&gt;
&lt;br /&gt;
SMILES {{---}} способ однозначного задания молекулы при помощи строки. Таким образом, задача генератора {{---}} сгенерировать такую строку SMILES для молекулы, чтобы дискриминатор не отличил ее от настоящей. Архитектура дискриминатора чаще всего остается очень похожей на архитектуру обычной сети, предсказывающей молекулярные свойства. Таким образом, в качестве дискриминатора часто используются графовые или сверточные нейронные сети. Для генератора же часто используют механизм памяти, чтобы сеть помнила, какие части уже были сгенерированы и отталкивалась от них.&lt;br /&gt;
&lt;br /&gt;
==См. также==&lt;br /&gt;
* [[Нейронные сети, перцептрон]]&lt;br /&gt;
* [[Глубокое обучение]]&lt;br /&gt;
* [[Графовые нейронные сети]]&lt;br /&gt;
* [[Компьютерное зрение]]&lt;br /&gt;
* [[Обучение с подкреплением]]&lt;br /&gt;
&lt;br /&gt;
==Примечания==&lt;br /&gt;
* [https://en.wikipedia.org/wiki/Protein_structure_prediction#:~:text=Protein%20structure%20prediction%20is%20the,inverse%20problem%20of%20protein%20design. Protein structure prediction]&lt;br /&gt;
* [https://ru.wikipedia.org/wiki/%D0%9F%D0%B5%D1%80%D1%81%D0%BE%D0%BD%D0%B0%D0%BB%D0%B8%D0%B7%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%BD%D0%B0%D1%8F_%D0%BC%D0%B5%D0%B4%D0%B8%D1%86%D0%B8%D0%BD%D0%B0 Википедия: Персонализированная медицина]&lt;br /&gt;
* [https://arxiv.org/ftp/arxiv/papers/2004/2004.04931.pdf CoroNet: A deep neural network for detection and diagnosis of COVID-19 from chest x-ray images]&lt;br /&gt;
* [https://emerj.com/ai-sector-overviews/machine-learning-in-pharma-medicine/ 7 Applications of Machine Learning in Pharma and Medicine]&lt;br /&gt;
* [https://www.nature.com/articles/s41563-019-0360-1 Ascent of machine learning in medicine]&lt;br /&gt;
* [http://jtelemed.ru/article/glubokoe-mashinnoe-obuchenie-iskusstvennyj-intellekt-v-ultrazvukovoj-diagnostike Глубокое машинное обучение (искусственный интеллект) в ультразвуковой диагностике]&lt;br /&gt;
* [https://bmcmedgenomics.biomedcentral.com/articles/10.1186/s12920-020-0677-2 Convolutional neural network models for cancer type prediction based on gene expression]&lt;br /&gt;
* [https://docplayer.ru/85522413-Smetannikov-ivan-borisovich.html Сметанников Иван Борисович, Метод и алгоритмы выбора признаков в предсказательном моделировании фенотипических характеристик на основе транскриптомных данных]&lt;br /&gt;
&lt;br /&gt;
==Источники информации==&lt;br /&gt;
&lt;br /&gt;
[[Категория: Машинное обучение]]&lt;br /&gt;
[[Категория: Глубокое обучение]]&lt;br /&gt;
[[Категория: Практические применения машинного обучения]]&lt;/div&gt;</summary>
		<author><name>188.170.82.221</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%9C%D0%B0%D1%88%D0%B8%D0%BD%D0%BD%D0%BE%D0%B5_%D0%BE%D0%B1%D1%83%D1%87%D0%B5%D0%BD%D0%B8%D0%B5_%D0%B2_%D0%BC%D0%B5%D0%B4%D0%B8%D1%86%D0%B8%D0%BD%D0%B5&amp;diff=76828</id>
		<title>Машинное обучение в медицине</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%9C%D0%B0%D1%88%D0%B8%D0%BD%D0%BD%D0%BE%D0%B5_%D0%BE%D0%B1%D1%83%D1%87%D0%B5%D0%BD%D0%B8%D0%B5_%D0%B2_%D0%BC%D0%B5%D0%B4%D0%B8%D1%86%D0%B8%D0%BD%D0%B5&amp;diff=76828"/>
				<updated>2021-01-08T14:54:44Z</updated>
		
		<summary type="html">&lt;p&gt;188.170.82.221: /* Генерация молекулярных структур */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Машинное обучение в медицине начали применять еще в 2000-ых, и сейчас машинное обучение, а в частности, [[Нейронные сети, перцептрон|нейронные сети]] пытаются решать огромное количество задач по диагностике заболеваний и дизайну лекарств. Эти задачи относят к обучению с учителем или [[Обучение с частичным привлечением учителя|с частичным привлечением учителя]]. Кроме того, машинное обучение стали применять в персонализированной медицине и генерации данных различных исследований для анонимизации данных пациентов. В этих задачах сейчас все больше применяют [[Обучение с подкреплением|обучение с подкреплением]] и обучение без учителя, в частности, [[Generative Adversarial Nets (GAN)|генеративные состязательные сети]].&lt;br /&gt;
&lt;br /&gt;
==Диагностика заболеваний по результатам рентгенологических и УЗИ исследований==&lt;br /&gt;
===Диагностика по изображению===&lt;br /&gt;
{|align=&amp;quot;center&amp;quot;&lt;br /&gt;
 |-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
 |[[Файл:Covid cnn recognition.png|thumb|750px|Пример вероятностной классификации КТ грудной клетки. Источник:https://arxiv.org/ftp/arxiv/papers/2004/2004.04931.pdf]]&lt;br /&gt;
 |[[Файл:Spine x ray cnn.png|400px|thumb|Пример локализации шейного отдела позвоночника на рентгене. Источник: https://lhncbc.nlm.nih.gov/system/files/pub9781.pdf]]&lt;br /&gt;
 |}&lt;br /&gt;
[[Файл:Brain tumor mri cnn.jpg|200px|thumb|Пример классификации результатов МРТ на изображения с опухолью и без. Источник: https://biomedpharmajournal.org/vol11no3/brain-tumor-classification-using-convolutional-neural-networks/]]&lt;br /&gt;
В диагностике заболеваний есть большое количество задач, которые можно решить при помощи машинного обучения, а в частности, при помощи анализа результатов различных исследований, таких как рентген, УЗИ или МРТ. В основном задача любой модели сводится к предсказанию, болен ли человек сейчас (иногда обычная мультиклассовая классификация, иногда {{---}} вероятностная классификация).&lt;br /&gt;
&lt;br /&gt;
Для решения таких задач чаще всего используют [[глубокое обучение]]. Такие модели на вход получают картинку с рентгенологическим или ультразвуковым исследованием пациента и по ним предсказывают наличие болезни. Обычно внутри таких моделей-классификаторов лежат [[сверточные нейронные сети]], а иногда к ним добавляются [[механизм внимания]]. За основу берутся state-of-the-art модели в области сверточных нейронных сетей, такие как GoogleLeNet&amp;lt;ref&amp;gt;[https://static.googleusercontent.com/media/research.google.com/ru//pubs/archive/43022.pdf Szegedy et al., Going Deeper with Convolutions, 2015. GoogLeNet.]&amp;lt;/ref&amp;gt;, при этом точность предсказаний превышает 90%. Такие модели учатся на размеченных тренировочных наборах данных, поэтому их можно отнести к обучению с учителем. Большое распространение такие классификаторы получили в предсказании злокачественности новообразований, классификации заболеваний легких, подборе дозы контраста при проведении МРТ.&lt;br /&gt;
&lt;br /&gt;
Кроме того, есть и другое применение. Многие модели учатся не только определять, есть ли опухоль на данном образце, но и локализировать ее положение. Таким образом, необходимо решить задачу сегментации изображения, то есть выделения каких-то ее наиболее важных частей. Технически задача не сильно отличается от предыдущей и решается все теми же сверточными нейронными сетями.&lt;br /&gt;
&lt;br /&gt;
===Применения===&lt;br /&gt;
Поскольку точность предсказаний у описанных выше моделей достаточно высока, их стали применять на практике. Сейчас ведутся исследования по внедрению таких моделей в УЗИ-аппараты для того, чтобы быстрее и точнее определять местоположение и злокачественность опухоли. Кроме того, такие модели стали применять в направленной лучевой терапии, когда злокачественная опухоль облучается различными видами частиц. Известно, что эти частицы уничтожают не только раковые, но и здоровые клетки. Именно поэтому активно внедряются модели, которые могут подсказать аппарату точное направление облучения. Также сверточные сети стали использовать для определения дозы контрастного вещества при МРТ&amp;lt;ref&amp;gt;[https://www.sciencedirect.com/science/article/pii/S0939388918301181 Lundervold et al., An overview of deep learning in medical imaging focusing on MRI, 2019]&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Генерация результатов исследований===&lt;br /&gt;
[[Файл:3d mri models comparison.png|450px|thumb|Сравнение различных моделей для генерации 3D изображений МРТ исследований. Источник: https://arxiv.org/pdf/1908.02498.pdf]]&lt;br /&gt;
&lt;br /&gt;
Для обучения сверточных нейронных сетей необходимо большое количество данных, которые очень часто достаточно тяжело или даже невозможно получить из-за запрета на использование данных исследований даже в анонимном формате без согласия пациента. Поэтому сейчас для получения достаточно больших датасетов стали применять [[Generative Adversarial Nets (GAN)|генеративные состязательные сети]]. &lt;br /&gt;
&lt;br /&gt;
Задачу таких GAN можно оделить на две: генерация изображений здоровых пациентов и изображений с патологиями. В случае второй задачи важно, чтобы сгенерированные изображения правильно определялись именно по типу патологии.&lt;br /&gt;
&lt;br /&gt;
Основная проблема, с которой сталкиваются такие модели {{---}} необходимость очень точно определять границы объекта на сгенерированном изображении, а также не допускать размытости. Эти две проблемы долгое время не получалось решить без большого количества реальных данных, вследствие чего не было возможным применение сгенерированных изображений на практике. &lt;br /&gt;
&lt;br /&gt;
Сильно улучшить поведение моделей удалось путем использования метрики Васерштейна&amp;lt;ref&amp;gt;[https://ru.wikipedia.org/wiki/%D0%9C%D0%B5%D1%82%D1%80%D0%B8%D0%BA%D0%B0_%D0%92%D0%B0%D1%81%D0%B5%D1%80%D1%88%D1%82%D0%B5%D0%B9%D0%BD%D0%B0 Википедия:Метрика Васерштейна]&amp;lt;/ref&amp;gt;, которая, если провести аналогию с землей, измеряет минимальную стоимость преобразования одного распределения земли в другое, при этом предполагается, что стоимость прямо пропорциональна количеству земли и расстоянию, на которое ее надо перетащить. Использование такой метрики в GAN помогло сильно улучшить поведение моделей при генерации данных МРТ исследований.&lt;br /&gt;
&lt;br /&gt;
==Персонализированная медицина==&lt;br /&gt;
Персонализированная медицина {{---}} новая организационная модель построения медицинской помощи пациентам, которая основывается на подборе индивидуальных лечебных, диагностических и превентивных средств, оптимально подходящих по биохимическим, физиологическим и генетическим особенностям организма.&lt;br /&gt;
&lt;br /&gt;
Основная цель нового направления в медицине заключается в персонализации и оптимизации профилактических мероприятий и лечения пациентов для исключения негативных последствий и осложнений, проявляющихся из-за индивидуальных особенностей.&lt;br /&gt;
Основные отрасли медицины, где применяются новые принципы — онкология, фармация и фармакогеномика. Последняя занимается изучением реакций организма на медицинские препараты в зависимости от индивидуальных наследственных факторов.&lt;br /&gt;
&lt;br /&gt;
===Экспрессия генов и анализ транскриптомных данных===&lt;br /&gt;
[[Файл:Gene expression based cnn.jpg|400px|thumb|Примеры архитектур сверточных сетей, предсказывающих вероятность рака по экспрессии генов. Источник: https://bmcmedgenomics.biomedcentral.com/articles/10.1186/s12920-020-0677-2]]&lt;br /&gt;
Многие модели ориентируются на данные экспрессии генов&amp;lt;ref&amp;gt;[https://ru.wikipedia.org/wiki/%D0%AD%D0%BA%D1%81%D0%BF%D1%80%D0%B5%D1%81%D1%81%D0%B8%D1%8F_%D0%B3%D0%B5%D0%BD%D0%BE%D0%B2 Википедия: Экспрессия генов]&amp;lt;/ref&amp;gt; (в широком смысле {{---}} процесс получения белка из последовательности ДНК). Известно, что от количества некоторых белков напрямую зависит возможность клеток становиться раковыми, а также порождать другие заболевания. Совокупность изменений в большом количестве различных белков может приводить к заболеванию. Именно поэтому модели персонализированной медицины основываются на данных экспрессии. Часто в качестве основы используют сверточные нейронные сети, располагая гены, отвечающие за похожие по своей функции белки, рядом друг с другом.&lt;br /&gt;
&lt;br /&gt;
Прямой анализ экспрессии генов {{---}} трудная и дорогостоящая задача, поэтому часто обращаются к транскриптомным данным. Транскриптом {{---}} совокупность всех молекул РНК, которые присутствовали в клетке после завершения процесса трансрипции (получение РНК с матрицы ДНК). Транскриптомные данные чаще всего получают с помощью РНК-секвенирования (RNA-seq) или ДНК-микрочипов (DNA-microarray). С помощью специальных процедур из взятой у пациента пробы выделяют мРНК, которая затем наносится на ДНК-микрочип, где цепочки мРНК зацепляются, образуя двухцепочечные молекулы. Число цепочек мРНК, зацепившихся за определенный участок ДНК-микрочипа, определяет интенсивность свечения этого участка при сканировании. Так косвенно определяют экспрессию каждого из генов. Следующая проблема, с которой сталкиваются исследователи {{---}} слишком большое количество генов (например, у человека их около 28000). Вследствие этого очень тяжело обучать модели, поэтому приходится прибегать к [[Уменьшение размерности|уменьшению размерности]].&lt;br /&gt;
&lt;br /&gt;
===Уменьшение размерности при работе с данными экспрессии генов===&lt;br /&gt;
[[Файл:Melif scheme.png|400px|thumb|Описание алгоритма MeLiF]]&lt;br /&gt;
Для уменьшения размерности в случае биологических данных применяются методы, основным критерием которых становится их скорость. Поскольку количество генов очень велико, чаще всего нет возможности опробовать встраиваемые и оберточные методы. Чаще всего, используют фильтры. &lt;br /&gt;
&lt;br /&gt;
Одним из примеров моделей, основанных на фильтрах является модель MeLiF&amp;lt;ref&amp;gt;[https://www.researchgate.net/publication/317201206_MeLiF_Filter_Ensemble_Learning_Algorithm_for_Gene_Selection| Smetannikov et al., MeLiF: Filter Ensemble Learning Algorithm for Gene Selection]&amp;lt;/ref&amp;gt;, которая берет несколько фильтров &amp;lt;tex&amp;gt;M_i&amp;lt;/tex&amp;gt; с соответствующими функциями измерения релевантности признака &amp;lt;tex&amp;gt;\mu_i&amp;lt;/tex&amp;gt;, после чего строит новую меру значимости как &amp;lt;tex&amp;gt;\mu=\sum_{i=1}^{|M|} \alpha_{i} \mu_{i}&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;\left\{\alpha_{i}\right\}_{i=1}^{|M|}&amp;lt;/tex&amp;gt; {{---}} набор вещественных коэффициентов. После получения новой меры значимости происходит оценка модели на &amp;lt;tex&amp;gt;t&amp;lt;/tex&amp;gt; лучших выбранных признаках. В случае удовлетворительного результата алгоритм завершается, возвращая текущий набор признаков, иначе {{---}} возвращается снова к получению новой меры на &amp;lt;tex&amp;gt;t+1&amp;lt;/tex&amp;gt; признаках.&lt;br /&gt;
&lt;br /&gt;
===Медицинская карта===&lt;br /&gt;
Другая задача {{---}} предсказать, заболеет ли человек в будущем. Для этого часто используется электронная медицинская карта пациента, и на вход сети подаются данные о пациенте, результаты исследований, его генеалогическое древо и другая медицинская информация. Основываясь на полученных данных, модель должна предсказать вероятность того, что человек может заболеть каждым болезнью из приведенного набора. Если вероятность хотя бы по одному из маркеров превышает некоторое значение {{---}} такая модель рекомендует пациенту обратиться к специалисту и относит его в группу высокого риска по этому параметру. В свою очередь специалист может подтвердить или же опровергнуть опасения модели, отдавая ей результат {{---}} права модель или нет. Таким образом, эта проблема относится к классу задач обучения с подкреплением В таких задачах часто используют [[метод опорных векторов (SVM)]] или [[глубокое обучение]].&lt;br /&gt;
&lt;br /&gt;
==Поиск лекарств==&lt;br /&gt;
Поиск лекарств (англ. drug discovery, drug design) {{---}} процесс поиска новых лекарственных средств, часто основанный на знаниях о биологической мишени.&lt;br /&gt;
При поиске новых лекарственных средств часто прибегают к помощи машинного обучения в таких задачах, как предсказание молекулярных свойств потенциальной молекулы лекарства, формы какого-либо белка, активности взаимодействия между двумя молекулами и т.д. &lt;br /&gt;
&lt;br /&gt;
===Предсказание молекулярных свойств===&lt;br /&gt;
[[Файл:MoleculeGNN.PNG|400px|thumb|Молекулярный граф]]&lt;br /&gt;
[[Файл:Morgan fingerprint.jpg|400px|thumb|Пример Morgan Fingerprint для молекулы. Источник: https://www.sciencedirect.com/science/article/abs/pii/S1046202314002631]]&lt;br /&gt;
Одна из главных задач машинного обучения при поиске новых лекарств {{---}} сужение круга их поиска. Чаще всего фармацевтические компании имеют на руках библиотеки с огромным количеством веществ, которые они потенциально могут синтезировать и опробовать в качестве лекарства. Но обычно размеры этих библиотек составляют тысячи молекул, поэтому синтезировать и проверить каждую из них не представляется возможным. В этом случае прибегают к предсказанию некоторых свойств этих молекул, которые точно определяют, может ли молекула быть использована как лекарство. Для предсказания свойств молекул обычно используют молекулярный граф {{---}} графическое представление молекулы (ее атомов и связей).&lt;br /&gt;
&lt;br /&gt;
Первые нейронные сети для предсказания молекулярных свойств использовали Моргановские фингерпринты (англ. Morgan fingerpints), которые для каждого атома в молекуле выделяли всех его соседей на каком-то определенном расстоянии (которое является гиперпараметром) и смотрели на наличие такой подструктуры в молекуле. Получался аналог некоторого оne-hot кодирования. Впоследствии этот метод был несколько усовершенствован, и стали смотреть не на наличие подструктуры, а на то, сколько раз она встречается в молекуле. Прорыв в этой области случился с появлением сети NeuralFingerprints &amp;lt;ref&amp;gt;[https://arxiv.org/abs/1509.09292 Duvenaud et al., Convolutional Networks on Graphs for Learning Molecular Fingerprints, 2015]&amp;lt;/ref&amp;gt;, которая является примером одной из первых попыток применения [[графовые нейронные сети|графовых нейронных сетей]] в этой области. &lt;br /&gt;
&lt;br /&gt;
NeuralFingerprints принимает один гиперпараметр {{---}} максимальное расстояние, которое нужно учитывать при просмотре соседей каждого атома. После этого для каждого расстояния для каждого атома суммируются атомные представления его соседей на текущем расстоянии. Таким образом, получается векторное представление текущего атома фиксированной длины, которая равна количеству свойств у одного атома. Каждый элемент такого представления  умножается на обучаемый параметр, уникальный для номера свойства и текущего рассматриваемого расстояния. После этого применяется функция активации к полученному ранее вектору, умноженному на вес, отвечающий за текущее расстояние. Полученные результаты для каждого из атомов на каждом из расстояний суммируются и получается результирующий вектор свойств для молекулы. Таким образом, в этой сети обучаемые параметры {{---}} веса для каждого из свойств атомов на каждом расстоянии (&amp;lt;tex&amp;gt;H^i_j&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;i&amp;lt;/tex&amp;gt; {{---}} индекс номера свойства (в модели их всего 5), &amp;lt;tex&amp;gt;j&amp;lt;/tex&amp;gt; {{---}} индекс для текущего расстояния) и веса для каждого из расстояний (&amp;lt;tex&amp;gt;W_j&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;j&amp;lt;/tex&amp;gt; {{---}} индекс для текущего расстояния). Псевдокод представлен ниже.&lt;br /&gt;
 '''function''' neuralFingerptint(molecule, R, H, W): &amp;lt;span style=&amp;quot;color:Green&amp;quot;&amp;gt;# R - максимальное расстояние, H - матрица весов размера len(molecule)&amp;lt;tex&amp;gt;\cdot&amp;lt;/tex&amp;gt;R, W - вектор весов размера R&amp;lt;/span&amp;gt;&lt;br /&gt;
    f = array[len(molecule), 0]&lt;br /&gt;
    '''for''' a in molecule: &lt;br /&gt;
        r[a] = g(a) &amp;lt;span style=&amp;quot;color:Green&amp;quot;&amp;gt;# записываем свойства для каждого атома&amp;lt;/span&amp;gt;&lt;br /&gt;
    '''for''' L = 1 to R:&lt;br /&gt;
        '''for''' a in molecule: &lt;br /&gt;
            neighbors = '''neighbors'''(a) &amp;lt;span style=&amp;quot;color:Green&amp;quot;&amp;gt;# смотрим соседей на расстоянии L от текущего атома a&amp;lt;/span&amp;gt;&lt;br /&gt;
        v = r[a] + '''sum'''(r[i] for i in neighbors) &amp;lt;span style=&amp;quot;color:Green&amp;quot;&amp;gt;# суммируем вектора соседей и вектор текущего атома&amp;lt;/span&amp;gt;&lt;br /&gt;
        r[a] = '''σ'''(v &amp;lt;tex&amp;gt;\cdot&amp;lt;/tex&amp;gt;H[a][L]) &amp;lt;span style=&amp;quot;color:Green&amp;quot;&amp;gt;# изменяем представление текущего атома&amp;lt;/span&amp;gt;&lt;br /&gt;
        i = '''softmax'''(r[a]&amp;lt;tex&amp;gt;\cdot&amp;lt;/tex&amp;gt;W[L]) &amp;lt;span style=&amp;quot;color:Green&amp;quot;&amp;gt;# получаем вектор для текущего атома и расстояния&amp;lt;/span&amp;gt;&lt;br /&gt;
        f = f + i  &amp;lt;span style=&amp;quot;color:Green&amp;quot;&amp;gt;# добавляем его к ответу&amp;lt;/span&amp;gt;&lt;br /&gt;
    '''return''' f&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Эта сеть была одной из первых в этой области, и сейчас используется как базовый метод в огромном количестве статей. В основу новых методов сейчас все еще чаще всего ложатся [[графовые нейронные сети]]. Подходы графовых нейронных сетей адаптируют под молекулярный граф путем поиска элементов на расстоянии не более, чем N (где N является гиперпараметром), или последовательным рассмотрением каждой вершины и усреднением полученых значений.&lt;br /&gt;
&lt;br /&gt;
===Предсказание формы белка===&lt;br /&gt;
[[Файл:AlphaFold 2 block design.png|400px|thumb|Архитектура AlphaFold2, модели для предсказания пространственной структуры белка. Источник: https://en.wikipedia.org/wiki/AlphaFold]]&lt;br /&gt;
Секвенирование {{---}} процесс получения нуклеотидной последовательности из молекулы ДНК. &amp;lt;ref&amp;gt;[https://en.wikipedia.org/wiki/Sequencing Википедия: Секвенирование]&amp;lt;/ref&amp;gt;&lt;br /&gt;
Из нуклеотидной последовательности можно получить аминокислотную последовательность, которая в свою очередь кодирует любой белок в организме.&lt;br /&gt;
&lt;br /&gt;
Предсказание формы белка {{---}} другая очень важная задача машинного обучения в фармацевтике. С возникновением технологий секвенирования ДНК у сообщества появилась возможность быстро и достаточно качественно прочитывать белковые последовательности, но получать пространственную структуру полученных белков экспериментально все еще очень трудоемко и дорого. Пространственная же структура белка важна для генерации мишеней, поэтому задача предсказания структуры является очень важной. Например, при подборе потенциальной вакцины, необходимо точно знать форму антитела, чтобы понимать сможет ли это соединение захватить свою мишень, не дав ей закрепиться в организме пациента.&lt;br /&gt;
&lt;br /&gt;
Предсказание формы белков основано на нейронных сетях, которые как вход используют очень длинную аминокислотную последовательность (размер алфавита ограничен {{---}} всего различных аминокислот 20), а на выходе должны предсказать значения торсионных углов&amp;lt;ref&amp;gt;[https://kodomo.fbb.msu.ru/~youthofchemist/projects/Term_1/Protein/phipsi.html Торсионные углы]&amp;lt;/ref&amp;gt; между аминокислотами. В декабре 2020 года DeepMind (исследовательское подразделение Google) заявили, что решили проблему пространственной структуры белка.&amp;lt;ref&amp;gt;[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 Фундаментальная «проблема белка» решена]&amp;lt;/ref&amp;gt; Авторы модели утверждают, что значение метрики глобального расстояния (англ. global distance test) превысило 90%. Метрика глобального расстояния {{---}} это метрика, которая вычисляется для каждой аминокислоты как процент атомов углерода из главной цепи белка, которые в сгенерированном белке расположены не более чем на расстоянии какого-то определенного количества ангстрем от соответствующего атома углерода в исходном белке. Обычно это значение берется равным 1, 2, 4 или 8 ангстрем (10&amp;lt;sup&amp;gt;-10&amp;lt;/sup&amp;gt;м).&lt;br /&gt;
&lt;br /&gt;
===Генерация молекулярных структур===&lt;br /&gt;
[[Файл:Ranc scheme.png|400px|thumb|Пример генеративной состязательной сети для лекарственных молекул. Сеть RANC (Reinforced Adversarial Neural Computer). Источник: https://pubs.acs.org/doi/10.1021/acs.jcim.7b00690]]&lt;br /&gt;
Еще одна задача, которая есть сейчас в мире машинного обучения {{---}} генерировать новые молекулы, которые могут потенциально быть лекарствами. Для этого используют [[Generative Adversarial Nets (GAN)|генеративные состязательные сети]]. Основное преимущество такого подхода заключается в том, что при работе с библиотеками уже синтезированных лекарств есть вероятность &amp;quot;пропустить&amp;quot; важное соединение просто потому, что в этой библиотеке его не было. Поэтому используется абсолютно другой подход {{---}} предлагается наоборот генерировать различные молекулы, а уже потом проверять, действительно ли их можно использовать как лекарство и насколько сложно их синтезировать. Часто эти свойства вносят в метрику качества генератора. &lt;br /&gt;
&lt;br /&gt;
SMILES {{---}} способ однозначного задания молекулы при помощи строки. Таким образом, задача генератора {{---}} сгенерировать такую строку SMILES для молекулы, чтобы дискриминатор не отличил ее от настоящей. Архитектура дискриминатора чаще всего остается очень похожей на архитектуру обычной сети, предсказывающей молекулярные свойства. Таким образом, в качестве дискриминатора часто используются графовые или сверточные нейронные сети. Для генератора же часто используют механизм памяти, чтобы сеть помнила, какие части уже были сгенерированы и отталкивалась от них.&lt;br /&gt;
&lt;br /&gt;
==См. также==&lt;br /&gt;
* [[Нейронные сети, перцептрон]]&lt;br /&gt;
* [[Глубокое обучение]]&lt;br /&gt;
* [[Графовые нейронные сети]]&lt;br /&gt;
* [[Компьютерное зрение]]&lt;br /&gt;
* [[Обучение с подкреплением]]&lt;br /&gt;
&lt;br /&gt;
==Примечания==&lt;br /&gt;
* [https://en.wikipedia.org/wiki/Protein_structure_prediction#:~:text=Protein%20structure%20prediction%20is%20the,inverse%20problem%20of%20protein%20design. Protein structure prediction]&lt;br /&gt;
* [https://ru.wikipedia.org/wiki/%D0%9F%D0%B5%D1%80%D1%81%D0%BE%D0%BD%D0%B0%D0%BB%D0%B8%D0%B7%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%BD%D0%B0%D1%8F_%D0%BC%D0%B5%D0%B4%D0%B8%D1%86%D0%B8%D0%BD%D0%B0 Википедия: Персонализированная медицина]&lt;br /&gt;
* [https://arxiv.org/ftp/arxiv/papers/2004/2004.04931.pdf CoroNet: A deep neural network for detection and diagnosis of COVID-19 from chest x-ray images]&lt;br /&gt;
* [https://emerj.com/ai-sector-overviews/machine-learning-in-pharma-medicine/ 7 Applications of Machine Learning in Pharma and Medicine]&lt;br /&gt;
* [https://www.nature.com/articles/s41563-019-0360-1 Ascent of machine learning in medicine]&lt;br /&gt;
* [http://jtelemed.ru/article/glubokoe-mashinnoe-obuchenie-iskusstvennyj-intellekt-v-ultrazvukovoj-diagnostike Глубокое машинное обучение (искусственный интеллект) в ультразвуковой диагностике]&lt;br /&gt;
* [https://bmcmedgenomics.biomedcentral.com/articles/10.1186/s12920-020-0677-2 Convolutional neural network models for cancer type prediction based on gene expression]&lt;br /&gt;
* [https://docplayer.ru/85522413-Smetannikov-ivan-borisovich.html Сметанников Иван Борисович, Метод и алгоритмы выбора признаков в предсказательном моделировании фенотипических характеристик на основе транскриптомных данных]&lt;br /&gt;
&lt;br /&gt;
==Источники информации==&lt;br /&gt;
&lt;br /&gt;
[[Категория: Машинное обучение]]&lt;br /&gt;
[[Категория: Глубокое обучение]]&lt;br /&gt;
[[Категория: Практические применения машинного обучения]]&lt;/div&gt;</summary>
		<author><name>188.170.82.221</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%9C%D0%B0%D1%88%D0%B8%D0%BD%D0%BD%D0%BE%D0%B5_%D0%BE%D0%B1%D1%83%D1%87%D0%B5%D0%BD%D0%B8%D0%B5_%D0%B2_%D0%BC%D0%B5%D0%B4%D0%B8%D1%86%D0%B8%D0%BD%D0%B5&amp;diff=76827</id>
		<title>Машинное обучение в медицине</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%9C%D0%B0%D1%88%D0%B8%D0%BD%D0%BD%D0%BE%D0%B5_%D0%BE%D0%B1%D1%83%D1%87%D0%B5%D0%BD%D0%B8%D0%B5_%D0%B2_%D0%BC%D0%B5%D0%B4%D0%B8%D1%86%D0%B8%D0%BD%D0%B5&amp;diff=76827"/>
				<updated>2021-01-08T14:40:48Z</updated>
		
		<summary type="html">&lt;p&gt;188.170.82.221: /* Экспрессия генов и анализ транскриптомных данных */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Машинное обучение в медицине начали применять еще в 2000-ых, и сейчас машинное обучение, а в частности, [[Нейронные сети, перцептрон|нейронные сети]] пытаются решать огромное количество задач по диагностике заболеваний и дизайну лекарств. Эти задачи относят к обучению с учителем или [[Обучение с частичным привлечением учителя|с частичным привлечением учителя]]. Кроме того, машинное обучение стали применять в персонализированной медицине и генерации данных различных исследований для анонимизации данных пациентов. В этих задачах сейчас все больше применяют [[Обучение с подкреплением|обучение с подкреплением]] и обучение без учителя, в частности, [[Generative Adversarial Nets (GAN)|генеративные состязательные сети]].&lt;br /&gt;
&lt;br /&gt;
==Диагностика заболеваний по результатам рентгенологических и УЗИ исследований==&lt;br /&gt;
===Диагностика по изображению===&lt;br /&gt;
{|align=&amp;quot;center&amp;quot;&lt;br /&gt;
 |-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
 |[[Файл:Covid cnn recognition.png|thumb|750px|Пример вероятностной классификации КТ грудной клетки. Источник:https://arxiv.org/ftp/arxiv/papers/2004/2004.04931.pdf]]&lt;br /&gt;
 |[[Файл:Spine x ray cnn.png|400px|thumb|Пример локализации шейного отдела позвоночника на рентгене. Источник: https://lhncbc.nlm.nih.gov/system/files/pub9781.pdf]]&lt;br /&gt;
 |}&lt;br /&gt;
[[Файл:Brain tumor mri cnn.jpg|200px|thumb|Пример классификации результатов МРТ на изображения с опухолью и без. Источник: https://biomedpharmajournal.org/vol11no3/brain-tumor-classification-using-convolutional-neural-networks/]]&lt;br /&gt;
В диагностике заболеваний есть большое количество задач, которые можно решить при помощи машинного обучения, а в частности, при помощи анализа результатов различных исследований, таких как рентген, УЗИ или МРТ. В основном задача любой модели сводится к предсказанию, болен ли человек сейчас (иногда обычная мультиклассовая классификация, иногда {{---}} вероятностная классификация).&lt;br /&gt;
&lt;br /&gt;
Для решения таких задач чаще всего используют [[глубокое обучение]]. Такие модели на вход получают картинку с рентгенологическим или ультразвуковым исследованием пациента и по ним предсказывают наличие болезни. Обычно внутри таких моделей-классификаторов лежат [[сверточные нейронные сети]], а иногда к ним добавляются [[механизм внимания]]. За основу берутся state-of-the-art модели в области сверточных нейронных сетей, такие как GoogleLeNet&amp;lt;ref&amp;gt;[https://static.googleusercontent.com/media/research.google.com/ru//pubs/archive/43022.pdf Szegedy et al., Going Deeper with Convolutions, 2015. GoogLeNet.]&amp;lt;/ref&amp;gt;, при этом точность предсказаний превышает 90%. Такие модели учатся на размеченных тренировочных наборах данных, поэтому их можно отнести к обучению с учителем. Большое распространение такие классификаторы получили в предсказании злокачественности новообразований, классификации заболеваний легких, подборе дозы контраста при проведении МРТ.&lt;br /&gt;
&lt;br /&gt;
Кроме того, есть и другое применение. Многие модели учатся не только определять, есть ли опухоль на данном образце, но и локализировать ее положение. Таким образом, необходимо решить задачу сегментации изображения, то есть выделения каких-то ее наиболее важных частей. Технически задача не сильно отличается от предыдущей и решается все теми же сверточными нейронными сетями.&lt;br /&gt;
&lt;br /&gt;
===Применения===&lt;br /&gt;
Поскольку точность предсказаний у описанных выше моделей достаточно высока, их стали применять на практике. Сейчас ведутся исследования по внедрению таких моделей в УЗИ-аппараты для того, чтобы быстрее и точнее определять местоположение и злокачественность опухоли. Кроме того, такие модели стали применять в направленной лучевой терапии, когда злокачественная опухоль облучается различными видами частиц. Известно, что эти частицы уничтожают не только раковые, но и здоровые клетки. Именно поэтому активно внедряются модели, которые могут подсказать аппарату точное направление облучения. Также сверточные сети стали использовать для определения дозы контрастного вещества при МРТ&amp;lt;ref&amp;gt;[https://www.sciencedirect.com/science/article/pii/S0939388918301181 Lundervold et al., An overview of deep learning in medical imaging focusing on MRI, 2019]&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Генерация результатов исследований===&lt;br /&gt;
[[Файл:3d mri models comparison.png|450px|thumb|Сравнение различных моделей для генерации 3D изображений МРТ исследований. Источник: https://arxiv.org/pdf/1908.02498.pdf]]&lt;br /&gt;
&lt;br /&gt;
Для обучения сверточных нейронных сетей необходимо большое количество данных, которые очень часто достаточно тяжело или даже невозможно получить из-за запрета на использование данных исследований даже в анонимном формате без согласия пациента. Поэтому сейчас для получения достаточно больших датасетов стали применять [[Generative Adversarial Nets (GAN)|генеративные состязательные сети]]. &lt;br /&gt;
&lt;br /&gt;
Задачу таких GAN можно оделить на две: генерация изображений здоровых пациентов и изображений с патологиями. В случае второй задачи важно, чтобы сгенерированные изображения правильно определялись именно по типу патологии.&lt;br /&gt;
&lt;br /&gt;
Основная проблема, с которой сталкиваются такие модели {{---}} необходимость очень точно определять границы объекта на сгенерированном изображении, а также не допускать размытости. Эти две проблемы долгое время не получалось решить без большого количества реальных данных, вследствие чего не было возможным применение сгенерированных изображений на практике. &lt;br /&gt;
&lt;br /&gt;
Сильно улучшить поведение моделей удалось путем использования метрики Васерштейна&amp;lt;ref&amp;gt;[https://ru.wikipedia.org/wiki/%D0%9C%D0%B5%D1%82%D1%80%D0%B8%D0%BA%D0%B0_%D0%92%D0%B0%D1%81%D0%B5%D1%80%D1%88%D1%82%D0%B5%D0%B9%D0%BD%D0%B0 Википедия:Метрика Васерштейна]&amp;lt;/ref&amp;gt;, которая, если провести аналогию с землей, измеряет минимальную стоимость преобразования одного распределения земли в другое, при этом предполагается, что стоимость прямо пропорциональна количеству земли и расстоянию, на которое ее надо перетащить. Использование такой метрики в GAN помогло сильно улучшить поведение моделей при генерации данных МРТ исследований.&lt;br /&gt;
&lt;br /&gt;
==Персонализированная медицина==&lt;br /&gt;
Персонализированная медицина {{---}} новая организационная модель построения медицинской помощи пациентам, которая основывается на подборе индивидуальных лечебных, диагностических и превентивных средств, оптимально подходящих по биохимическим, физиологическим и генетическим особенностям организма.&lt;br /&gt;
&lt;br /&gt;
Основная цель нового направления в медицине заключается в персонализации и оптимизации профилактических мероприятий и лечения пациентов для исключения негативных последствий и осложнений, проявляющихся из-за индивидуальных особенностей.&lt;br /&gt;
Основные отрасли медицины, где применяются новые принципы — онкология, фармация и фармакогеномика. Последняя занимается изучением реакций организма на медицинские препараты в зависимости от индивидуальных наследственных факторов.&lt;br /&gt;
&lt;br /&gt;
===Экспрессия генов и анализ транскриптомных данных===&lt;br /&gt;
[[Файл:Gene expression based cnn.jpg|400px|thumb|Примеры архитектур сверточных сетей, предсказывающих вероятность рака по экспрессии генов. Источник: https://bmcmedgenomics.biomedcentral.com/articles/10.1186/s12920-020-0677-2]]&lt;br /&gt;
Многие модели ориентируются на данные экспрессии генов&amp;lt;ref&amp;gt;[https://ru.wikipedia.org/wiki/%D0%AD%D0%BA%D1%81%D0%BF%D1%80%D0%B5%D1%81%D1%81%D0%B8%D1%8F_%D0%B3%D0%B5%D0%BD%D0%BE%D0%B2 Википедия: Экспрессия генов]&amp;lt;/ref&amp;gt; (в широком смысле {{---}} процесс получения белка из последовательности ДНК). Известно, что от количества некоторых белков напрямую зависит возможность клеток становиться раковыми, а также порождать другие заболевания. Совокупность изменений в большом количестве различных белков может приводить к заболеванию. Именно поэтому модели персонализированной медицины основываются на данных экспрессии. Часто в качестве основы используют сверточные нейронные сети, располагая гены, отвечающие за похожие по своей функции белки, рядом друг с другом.&lt;br /&gt;
&lt;br /&gt;
Прямой анализ экспрессии генов {{---}} трудная и дорогостоящая задача, поэтому часто обращаются к транскриптомным данным. Транскриптом {{---}} совокупность всех молекул РНК, которые присутствовали в клетке после завершения процесса трансрипции (получение РНК с матрицы ДНК). Транскриптомные данные чаще всего получают с помощью РНК-секвенирования (RNA-seq) или ДНК-микрочипов (DNA-microarray). С помощью специальных процедур из взятой у пациента пробы выделяют мРНК, которая затем наносится на ДНК-микрочип, где цепочки мРНК зацепляются, образуя двухцепочечные молекулы. Число цепочек мРНК, зацепившихся за определенный участок ДНК-микрочипа, определяет интенсивность свечения этого участка при сканировании. Так косвенно определяют экспрессию каждого из генов. Следующая проблема, с которой сталкиваются исследователи {{---}} слишком большое количество генов (например, у человека их около 28000). Вследствие этого очень тяжело обучать модели, поэтому приходится прибегать к [[Уменьшение размерности|уменьшению размерности]].&lt;br /&gt;
&lt;br /&gt;
===Уменьшение размерности при работе с данными экспрессии генов===&lt;br /&gt;
[[Файл:Melif scheme.png|400px|thumb|Описание алгоритма MeLiF]]&lt;br /&gt;
Для уменьшения размерности в случае биологических данных применяются методы, основным критерием которых становится их скорость. Поскольку количество генов очень велико, чаще всего нет возможности опробовать встраиваемые и оберточные методы. Чаще всего, используют фильтры. &lt;br /&gt;
&lt;br /&gt;
Одним из примеров моделей, основанных на фильтрах является модель MeLiF&amp;lt;ref&amp;gt;[https://www.researchgate.net/publication/317201206_MeLiF_Filter_Ensemble_Learning_Algorithm_for_Gene_Selection| Smetannikov et al., MeLiF: Filter Ensemble Learning Algorithm for Gene Selection]&amp;lt;/ref&amp;gt;, которая берет несколько фильтров &amp;lt;tex&amp;gt;M_i&amp;lt;/tex&amp;gt; с соответствующими функциями измерения релевантности признака &amp;lt;tex&amp;gt;\mu_i&amp;lt;/tex&amp;gt;, после чего строит новую меру значимости как &amp;lt;tex&amp;gt;\mu=\sum_{i=1}^{|M|} \alpha_{i} \mu_{i}&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;\left\{\alpha_{i}\right\}_{i=1}^{|M|}&amp;lt;/tex&amp;gt; {{---}} набор вещественных коэффициентов. После получения новой меры значимости происходит оценка модели на &amp;lt;tex&amp;gt;t&amp;lt;/tex&amp;gt; лучших выбранных признаках. В случае удовлетворительного результата алгоритм завершается, возвращая текущий набор признаков, иначе {{---}} возвращается снова к получению новой меры на &amp;lt;tex&amp;gt;t+1&amp;lt;/tex&amp;gt; признаках.&lt;br /&gt;
&lt;br /&gt;
===Медицинская карта===&lt;br /&gt;
Другая задача {{---}} предсказать, заболеет ли человек в будущем. Для этого часто используется электронная медицинская карта пациента, и на вход сети подаются данные о пациенте, результаты исследований, его генеалогическое древо и другая медицинская информация. Основываясь на полученных данных, модель должна предсказать вероятность того, что человек может заболеть каждым болезнью из приведенного набора. Если вероятность хотя бы по одному из маркеров превышает некоторое значение {{---}} такая модель рекомендует пациенту обратиться к специалисту и относит его в группу высокого риска по этому параметру. В свою очередь специалист может подтвердить или же опровергнуть опасения модели, отдавая ей результат {{---}} права модель или нет. Таким образом, эта проблема относится к классу задач обучения с подкреплением В таких задачах часто используют [[метод опорных векторов (SVM)]] или [[глубокое обучение]].&lt;br /&gt;
&lt;br /&gt;
==Поиск лекарств==&lt;br /&gt;
Поиск лекарств (англ. drug discovery, drug design) {{---}} процесс поиска новых лекарственных средств, часто основанный на знаниях о биологической мишени.&lt;br /&gt;
При поиске новых лекарственных средств часто прибегают к помощи машинного обучения в таких задачах, как предсказание молекулярных свойств потенциальной молекулы лекарства, формы какого-либо белка, активности взаимодействия между двумя молекулами и т.д. &lt;br /&gt;
&lt;br /&gt;
===Предсказание молекулярных свойств===&lt;br /&gt;
[[Файл:MoleculeGNN.PNG|400px|thumb|Молекулярный граф]]&lt;br /&gt;
[[Файл:Morgan fingerprint.jpg|400px|thumb|Пример Morgan Fingerprint для молекулы. Источник: https://www.sciencedirect.com/science/article/abs/pii/S1046202314002631]]&lt;br /&gt;
Одна из главных задач машинного обучения при поиске новых лекарств {{---}} сужение круга их поиска. Чаще всего фармацевтические компании имеют на руках библиотеки с огромным количеством веществ, которые они потенциально могут синтезировать и опробовать в качестве лекарства. Но обычно размеры этих библиотек составляют тысячи молекул, поэтому синтезировать и проверить каждую из них не представляется возможным. В этом случае прибегают к предсказанию некоторых свойств этих молекул, которые точно определяют, может ли молекула быть использована как лекарство. Для предсказания свойств молекул обычно используют молекулярный граф {{---}} графическое представление молекулы (ее атомов и связей).&lt;br /&gt;
&lt;br /&gt;
Первые нейронные сети для предсказания молекулярных свойств использовали Моргановские фингерпринты (англ. Morgan fingerpints), которые для каждого атома в молекуле выделяли всех его соседей на каком-то определенном расстоянии (которое является гиперпараметром) и смотрели на наличие такой подструктуры в молекуле. Получался аналог некоторого оne-hot кодирования. Впоследствии этот метод был несколько усовершенствован, и стали смотреть не на наличие подструктуры, а на то, сколько раз она встречается в молекуле. Прорыв в этой области случился с появлением сети NeuralFingerprints &amp;lt;ref&amp;gt;[https://arxiv.org/abs/1509.09292 Duvenaud et al., Convolutional Networks on Graphs for Learning Molecular Fingerprints, 2015]&amp;lt;/ref&amp;gt;, которая является примером одной из первых попыток применения [[графовые нейронные сети|графовых нейронных сетей]] в этой области. &lt;br /&gt;
&lt;br /&gt;
NeuralFingerprints принимает один гиперпараметр {{---}} максимальное расстояние, которое нужно учитывать при просмотре соседей каждого атома. После этого для каждого расстояния для каждого атома суммируются атомные представления его соседей на текущем расстоянии. Таким образом, получается векторное представление текущего атома фиксированной длины, которая равна количеству свойств у одного атома. Каждый элемент такого представления  умножается на обучаемый параметр, уникальный для номера свойства и текущего рассматриваемого расстояния. После этого применяется функция активации к полученному ранее вектору, умноженному на вес, отвечающий за текущее расстояние. Полученные результаты для каждого из атомов на каждом из расстояний суммируются и получается результирующий вектор свойств для молекулы. Таким образом, в этой сети обучаемые параметры {{---}} веса для каждого из свойств атомов на каждом расстоянии (&amp;lt;tex&amp;gt;H^i_j&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;i&amp;lt;/tex&amp;gt; {{---}} индекс номера свойства (в модели их всего 5), &amp;lt;tex&amp;gt;j&amp;lt;/tex&amp;gt; {{---}} индекс для текущего расстояния) и веса для каждого из расстояний (&amp;lt;tex&amp;gt;W_j&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;j&amp;lt;/tex&amp;gt; {{---}} индекс для текущего расстояния). Псевдокод представлен ниже.&lt;br /&gt;
 '''function''' neuralFingerptint(molecule, R, H, W): &amp;lt;span style=&amp;quot;color:Green&amp;quot;&amp;gt;# R - максимальное расстояние, H - матрица весов размера len(molecule)&amp;lt;tex&amp;gt;\cdot&amp;lt;/tex&amp;gt;R, W - вектор весов размера R&amp;lt;/span&amp;gt;&lt;br /&gt;
    f = array[len(molecule), 0]&lt;br /&gt;
    '''for''' a in molecule: &lt;br /&gt;
        r[a] = g(a) &amp;lt;span style=&amp;quot;color:Green&amp;quot;&amp;gt;# записываем свойства для каждого атома&amp;lt;/span&amp;gt;&lt;br /&gt;
    '''for''' L = 1 to R:&lt;br /&gt;
        '''for''' a in molecule: &lt;br /&gt;
            neighbors = '''neighbors'''(a) &amp;lt;span style=&amp;quot;color:Green&amp;quot;&amp;gt;# смотрим соседей на расстоянии L от текущего атома a&amp;lt;/span&amp;gt;&lt;br /&gt;
        v = r[a] + '''sum'''(r[i] for i in neighbors) &amp;lt;span style=&amp;quot;color:Green&amp;quot;&amp;gt;# суммируем вектора соседей и вектор текущего атома&amp;lt;/span&amp;gt;&lt;br /&gt;
        r[a] = '''σ'''(v &amp;lt;tex&amp;gt;\cdot&amp;lt;/tex&amp;gt;H[a][L]) &amp;lt;span style=&amp;quot;color:Green&amp;quot;&amp;gt;# изменяем представление текущего атома&amp;lt;/span&amp;gt;&lt;br /&gt;
        i = '''softmax'''(r[a]&amp;lt;tex&amp;gt;\cdot&amp;lt;/tex&amp;gt;W[L]) &amp;lt;span style=&amp;quot;color:Green&amp;quot;&amp;gt;# получаем вектор для текущего атома и расстояния&amp;lt;/span&amp;gt;&lt;br /&gt;
        f = f + i  &amp;lt;span style=&amp;quot;color:Green&amp;quot;&amp;gt;# добавляем его к ответу&amp;lt;/span&amp;gt;&lt;br /&gt;
    '''return''' f&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Эта сеть была одной из первых в этой области, и сейчас используется как базовый метод в огромном количестве статей. В основу новых методов сейчас все еще чаще всего ложатся [[графовые нейронные сети]]. Подходы графовых нейронных сетей адаптируют под молекулярный граф путем поиска элементов на расстоянии не более, чем N (где N является гиперпараметром), или последовательным рассмотрением каждой вершины и усреднением полученых значений.&lt;br /&gt;
&lt;br /&gt;
===Предсказание формы белка===&lt;br /&gt;
[[Файл:AlphaFold 2 block design.png|400px|thumb|Архитектура AlphaFold2, модели для предсказания пространственной структуры белка. Источник: https://en.wikipedia.org/wiki/AlphaFold]]&lt;br /&gt;
Секвенирование {{---}} процесс получения нуклеотидной последовательности из молекулы ДНК. &amp;lt;ref&amp;gt;[https://en.wikipedia.org/wiki/Sequencing Википедия: Секвенирование]&amp;lt;/ref&amp;gt;&lt;br /&gt;
Из нуклеотидной последовательности можно получить аминокислотную последовательность, которая в свою очередь кодирует любой белок в организме.&lt;br /&gt;
&lt;br /&gt;
Предсказание формы белка {{---}} другая очень важная задача машинного обучения в фармацевтике. С возникновением технологий секвенирования ДНК у сообщества появилась возможность быстро и достаточно качественно прочитывать белковые последовательности, но получать пространственную структуру полученных белков экспериментально все еще очень трудоемко и дорого. Пространственная же структура белка важна для генерации мишеней, поэтому задача предсказания структуры является очень важной. Например, при подборе потенциальной вакцины, необходимо точно знать форму антитела, чтобы понимать сможет ли это соединение захватить свою мишень, не дав ей закрепиться в организме пациента.&lt;br /&gt;
&lt;br /&gt;
Предсказание формы белков основано на нейронных сетях, которые как вход используют очень длинную аминокислотную последовательность (размер алфавита ограничен {{---}} всего различных аминокислот 20), а на выходе должны предсказать значения торсионных углов&amp;lt;ref&amp;gt;[https://kodomo.fbb.msu.ru/~youthofchemist/projects/Term_1/Protein/phipsi.html Торсионные углы]&amp;lt;/ref&amp;gt; между аминокислотами. В декабре 2020 года DeepMind (исследовательское подразделение Google) заявили, что решили проблему пространственной структуры белка.&amp;lt;ref&amp;gt;[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 Фундаментальная «проблема белка» решена]&amp;lt;/ref&amp;gt; Авторы модели утверждают, что значение метрики глобального расстояния (англ. global distance test) превысило 90%. Метрика глобального расстояния {{---}} это метрика, которая вычисляется для каждой аминокислоты как процент атомов углерода из главной цепи белка, которые в сгенерированном белке расположены не более чем на расстоянии какого-то определенного количества ангстрем от соответствующего атома углерода в исходном белке. Обычно это значение берется равным 1, 2, 4 или 8 ангстрем (10&amp;lt;sup&amp;gt;-10&amp;lt;/sup&amp;gt;м).&lt;br /&gt;
&lt;br /&gt;
===Генерация молекулярных структур===&lt;br /&gt;
[[Файл:Ranc scheme.png|400px|thumb|Пример генеративной состязательной сети для лекарственных молекул. Сеть RANC (Reinforced Adversarial Neural Computer). Источник: https://pubs.acs.org/doi/10.1021/acs.jcim.7b00690]]&lt;br /&gt;
Еще одна задача, которая есть сейчас в мире машинного обучения {{---}} генерировать новые молкулы, которые могут потенциально быть лекарствами. Для этого используют [[Generative Adversarial Nets (GAN)|генеративные состязательные сети]]. Основное преимущество такого подхода заключается в том, что при работе с библиотеками уже синтезированных лекарств есть вероятность &amp;quot;пропустить&amp;quot; важное соединение просто потому, что в этой библиотеке его не было. Поэтому используется абсолютно другой подход {{---}} предлагается наоборот генерировать различные молекулы, а уже потом проверять, действительно ли их можно использовать как лекарство и насколько сложно их синтезировать. Часто эти свойства вносят в метрику качества генератора. &lt;br /&gt;
&lt;br /&gt;
SMILES {{---}} способ однозначного задания молекулы при помощи строки. Таким образом, задача генератора {{---}} сгенерировать такую строку SMILES для молекулы, чтобы дискриминатор не отличил ее от настоящей. Архитектура дискриминатора чаще всего остается очень похожей на архитектуру обычной сети, предсказывающей молекулярные свойства. Таким обрзом, в качестве дискриминатора часто используются графовые или сверточные нейронные сети. Для генератора же часто используют механизм памяти, чтобы сеть помнила, какие части уже были сгенерированны и отталкивалась от них.&lt;br /&gt;
&lt;br /&gt;
==См. также==&lt;br /&gt;
* [[Нейронные сети, перцептрон]]&lt;br /&gt;
* [[Глубокое обучение]]&lt;br /&gt;
* [[Графовые нейронные сети]]&lt;br /&gt;
* [[Компьютерное зрение]]&lt;br /&gt;
* [[Обучение с подкреплением]]&lt;br /&gt;
&lt;br /&gt;
==Примечания==&lt;br /&gt;
* [https://en.wikipedia.org/wiki/Protein_structure_prediction#:~:text=Protein%20structure%20prediction%20is%20the,inverse%20problem%20of%20protein%20design. Protein structure prediction]&lt;br /&gt;
* [https://ru.wikipedia.org/wiki/%D0%9F%D0%B5%D1%80%D1%81%D0%BE%D0%BD%D0%B0%D0%BB%D0%B8%D0%B7%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%BD%D0%B0%D1%8F_%D0%BC%D0%B5%D0%B4%D0%B8%D1%86%D0%B8%D0%BD%D0%B0 Википедия: Персонализированная медицина]&lt;br /&gt;
* [https://arxiv.org/ftp/arxiv/papers/2004/2004.04931.pdf CoroNet: A deep neural network for detection and diagnosis of COVID-19 from chest x-ray images]&lt;br /&gt;
* [https://emerj.com/ai-sector-overviews/machine-learning-in-pharma-medicine/ 7 Applications of Machine Learning in Pharma and Medicine]&lt;br /&gt;
* [https://www.nature.com/articles/s41563-019-0360-1 Ascent of machine learning in medicine]&lt;br /&gt;
* [http://jtelemed.ru/article/glubokoe-mashinnoe-obuchenie-iskusstvennyj-intellekt-v-ultrazvukovoj-diagnostike Глубокое машинное обучение (искусственный интеллект) в ультразвуковой диагностике]&lt;br /&gt;
* [https://bmcmedgenomics.biomedcentral.com/articles/10.1186/s12920-020-0677-2 Convolutional neural network models for cancer type prediction based on gene expression]&lt;br /&gt;
* [https://docplayer.ru/85522413-Smetannikov-ivan-borisovich.html Сметанников Иван Борисович, Метод и алгоритмы выбора признаков в предсказательном моделировании фенотипических характеристик на основе транскриптомных данных]&lt;br /&gt;
&lt;br /&gt;
==Источники информации==&lt;br /&gt;
&lt;br /&gt;
[[Категория: Машинное обучение]]&lt;br /&gt;
[[Категория: Глубокое обучение]]&lt;br /&gt;
[[Категория: Практические применения машинного обучения]]&lt;/div&gt;</summary>
		<author><name>188.170.82.221</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%9C%D0%B0%D1%88%D0%B8%D0%BD%D0%BD%D0%BE%D0%B5_%D0%BE%D0%B1%D1%83%D1%87%D0%B5%D0%BD%D0%B8%D0%B5_%D0%B2_%D0%BC%D0%B5%D0%B4%D0%B8%D1%86%D0%B8%D0%BD%D0%B5&amp;diff=76826</id>
		<title>Машинное обучение в медицине</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%9C%D0%B0%D1%88%D0%B8%D0%BD%D0%BD%D0%BE%D0%B5_%D0%BE%D0%B1%D1%83%D1%87%D0%B5%D0%BD%D0%B8%D0%B5_%D0%B2_%D0%BC%D0%B5%D0%B4%D0%B8%D1%86%D0%B8%D0%BD%D0%B5&amp;diff=76826"/>
				<updated>2021-01-08T14:14:53Z</updated>
		
		<summary type="html">&lt;p&gt;188.170.82.221: /* Генерация результатов исследований */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Машинное обучение в медицине начали применять еще в 2000-ых, и сейчас машинное обучение, а в частности, [[Нейронные сети, перцептрон|нейронные сети]] пытаются решать огромное количество задач по диагностике заболеваний и дизайну лекарств. Эти задачи относят к обучению с учителем или [[Обучение с частичным привлечением учителя|с частичным привлечением учителя]]. Кроме того, машинное обучение стали применять в персонализированной медицине и генерации данных различных исследований для анонимизации данных пациентов. В этих задачах сейчас все больше применяют [[Обучение с подкреплением|обучение с подкреплением]] и обучение без учителя, в частности, [[Generative Adversarial Nets (GAN)|генеративные состязательные сети]].&lt;br /&gt;
&lt;br /&gt;
==Диагностика заболеваний по результатам рентгенологических и УЗИ исследований==&lt;br /&gt;
===Диагностика по изображению===&lt;br /&gt;
{|align=&amp;quot;center&amp;quot;&lt;br /&gt;
 |-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
 |[[Файл:Covid cnn recognition.png|thumb|750px|Пример вероятностной классификации КТ грудной клетки. Источник:https://arxiv.org/ftp/arxiv/papers/2004/2004.04931.pdf]]&lt;br /&gt;
 |[[Файл:Spine x ray cnn.png|400px|thumb|Пример локализации шейного отдела позвоночника на рентгене. Источник: https://lhncbc.nlm.nih.gov/system/files/pub9781.pdf]]&lt;br /&gt;
 |}&lt;br /&gt;
[[Файл:Brain tumor mri cnn.jpg|200px|thumb|Пример классификации результатов МРТ на изображения с опухолью и без. Источник: https://biomedpharmajournal.org/vol11no3/brain-tumor-classification-using-convolutional-neural-networks/]]&lt;br /&gt;
В диагностике заболеваний есть большое количество задач, которые можно решить при помощи машинного обучения, а в частности, при помощи анализа результатов различных исследований, таких как рентген, УЗИ или МРТ. В основном задача любой модели сводится к предсказанию, болен ли человек сейчас (иногда обычная мультиклассовая классификация, иногда {{---}} вероятностная классификация).&lt;br /&gt;
&lt;br /&gt;
Для решения таких задач чаще всего используют [[глубокое обучение]]. Такие модели на вход получают картинку с рентгенологическим или ультразвуковым исследованием пациента и по ним предсказывают наличие болезни. Обычно внутри таких моделей-классификаторов лежат [[сверточные нейронные сети]], а иногда к ним добавляются [[механизм внимания]]. За основу берутся state-of-the-art модели в области сверточных нейронных сетей, такие как GoogleLeNet&amp;lt;ref&amp;gt;[https://static.googleusercontent.com/media/research.google.com/ru//pubs/archive/43022.pdf Szegedy et al., Going Deeper with Convolutions, 2015. GoogLeNet.]&amp;lt;/ref&amp;gt;, при этом точность предсказаний превышает 90%. Такие модели учатся на размеченных тренировочных наборах данных, поэтому их можно отнести к обучению с учителем. Большое распространение такие классификаторы получили в предсказании злокачественности новообразований, классификации заболеваний легких, подборе дозы контраста при проведении МРТ.&lt;br /&gt;
&lt;br /&gt;
Кроме того, есть и другое применение. Многие модели учатся не только определять, есть ли опухоль на данном образце, но и локализировать ее положение. Таким образом, необходимо решить задачу сегментации изображения, то есть выделения каких-то ее наиболее важных частей. Технически задача не сильно отличается от предыдущей и решается все теми же сверточными нейронными сетями.&lt;br /&gt;
&lt;br /&gt;
===Применения===&lt;br /&gt;
Поскольку точность предсказаний у описанных выше моделей достаточно высока, их стали применять на практике. Сейчас ведутся исследования по внедрению таких моделей в УЗИ-аппараты для того, чтобы быстрее и точнее определять местоположение и злокачественность опухоли. Кроме того, такие модели стали применять в направленной лучевой терапии, когда злокачественная опухоль облучается различными видами частиц. Известно, что эти частицы уничтожают не только раковые, но и здоровые клетки. Именно поэтому активно внедряются модели, которые могут подсказать аппарату точное направление облучения. Также сверточные сети стали использовать для определения дозы контрастного вещества при МРТ&amp;lt;ref&amp;gt;[https://www.sciencedirect.com/science/article/pii/S0939388918301181 Lundervold et al., An overview of deep learning in medical imaging focusing on MRI, 2019]&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Генерация результатов исследований===&lt;br /&gt;
[[Файл:3d mri models comparison.png|450px|thumb|Сравнение различных моделей для генерации 3D изображений МРТ исследований. Источник: https://arxiv.org/pdf/1908.02498.pdf]]&lt;br /&gt;
&lt;br /&gt;
Для обучения сверточных нейронных сетей необходимо большое количество данных, которые очень часто достаточно тяжело или даже невозможно получить из-за запрета на использование данных исследований даже в анонимном формате без согласия пациента. Поэтому сейчас для получения достаточно больших датасетов стали применять [[Generative Adversarial Nets (GAN)|генеративные состязательные сети]]. &lt;br /&gt;
&lt;br /&gt;
Задачу таких GAN можно оделить на две: генерация изображений здоровых пациентов и изображений с патологиями. В случае второй задачи важно, чтобы сгенерированные изображения правильно определялись именно по типу патологии.&lt;br /&gt;
&lt;br /&gt;
Основная проблема, с которой сталкиваются такие модели {{---}} необходимость очень точно определять границы объекта на сгенерированном изображении, а также не допускать размытости. Эти две проблемы долгое время не получалось решить без большого количества реальных данных, вследствие чего не было возможным применение сгенерированных изображений на практике. &lt;br /&gt;
&lt;br /&gt;
Сильно улучшить поведение моделей удалось путем использования метрики Васерштейна&amp;lt;ref&amp;gt;[https://ru.wikipedia.org/wiki/%D0%9C%D0%B5%D1%82%D1%80%D0%B8%D0%BA%D0%B0_%D0%92%D0%B0%D1%81%D0%B5%D1%80%D1%88%D1%82%D0%B5%D0%B9%D0%BD%D0%B0 Википедия:Метрика Васерштейна]&amp;lt;/ref&amp;gt;, которая, если провести аналогию с землей, измеряет минимальную стоимость преобразования одного распределения земли в другое, при этом предполагается, что стоимость прямо пропорциональна количеству земли и расстоянию, на которое ее надо перетащить. Использование такой метрики в GAN помогло сильно улучшить поведение моделей при генерации данных МРТ исследований.&lt;br /&gt;
&lt;br /&gt;
==Персонализированная медицина==&lt;br /&gt;
Персонализированная медицина {{---}} новая организационная модель построения медицинской помощи пациентам, которая основывается на подборе индивидуальных лечебных, диагностических и превентивных средств, оптимально подходящих по биохимическим, физиологическим и генетическим особенностям организма.&lt;br /&gt;
&lt;br /&gt;
Основная цель нового направления в медицине заключается в персонализации и оптимизации профилактических мероприятий и лечения пациентов для исключения негативных последствий и осложнений, проявляющихся из-за индивидуальных особенностей.&lt;br /&gt;
Основные отрасли медицины, где применяются новые принципы — онкология, фармация и фармакогеномика. Последняя занимается изучением реакций организма на медицинские препараты в зависимости от индивидуальных наследственных факторов.&lt;br /&gt;
&lt;br /&gt;
===Экспрессия генов и анализ транскриптомных данных===&lt;br /&gt;
[[Файл:Gene expression based cnn.jpg|400px|thumb|Примеры архитектур сверточных сетей, предсказывающих вероятность рака по экспрессии генов. Источник: https://bmcmedgenomics.biomedcentral.com/articles/10.1186/s12920-020-0677-2]]&lt;br /&gt;
Многие модели ориентируются на данные экспрессии генов&amp;lt;ref&amp;gt;[https://ru.wikipedia.org/wiki/%D0%AD%D0%BA%D1%81%D0%BF%D1%80%D0%B5%D1%81%D1%81%D0%B8%D1%8F_%D0%B3%D0%B5%D0%BD%D0%BE%D0%B2 Википедия: Экспрессия генов]&amp;lt;/ref&amp;gt; (в широком смысле {{---}} процесс получения белка из последовательности ДНК). Известно, что от количества некоторых белков напрямую зависит возможность клеток становиться раковыми, а также порождать другие заболевания. Совокупность изменений в большом количестве различных белков может приводить к заболеванию. Именно поэтому модели персонализированной медицины основываются на данных экспрессии. Часто в качестве основы используют сверточные нейронные сети, располагая гены, отвечающие за похожие по своей функции белки, рядом друг с другом.&lt;br /&gt;
&lt;br /&gt;
Транскриптом {{---}} совокупность всех молекул РНК, которые присутствовали в клетке после завершения процесса трансрипции (получение РНК с матрицы ДНК).&lt;br /&gt;
&lt;br /&gt;
Прямой анализ экспрессии генов {{---}} трудная и дорогостоящая задача, поэтому часто обращаются к транскриптомным данным. Транскриптомные данные чаще всего получают с помощью РНК-секвенирования (RNA-seq) или ДНК-микрочипов (DNA-microarray). С помощью специальных процедур из взятой у пациента пробы выделяют мРНК, которая затем наносится на ДНК-микрочип, где цепочки мРНК зацепляются, образуя двухцепочечные молекулы. Число цепочек мРНК, зацепившихся за определенный участок ДНК-микрочипа, определяет интенсивность свечения этого участка при сканировании. Так косвенно определяют экспрессию каждого из генов. Следующая проблема, с которой сталкиваются исследователи {{---}} слишком большое количество генов (например, у человека их около 28000). Вследствие этого очень тяжело обучать модели, поэтому приходится прибегать к [[Уменьшение размерности|уменьшению размерности]].&lt;br /&gt;
&lt;br /&gt;
===Уменьшение размерности при работе с данными экспрессии генов===&lt;br /&gt;
[[Файл:Melif scheme.png|400px|thumb|Описание алгоритма MeLiF]]&lt;br /&gt;
Для уменьшения размерности в случае биологических данных применяются методы, основным критерием которых становится их скорость. Поскольку количество генов очень велико, чаще всего нет возможности опробовать встраиваемые и оберточные методы. Чаще всего, используют фильтры. &lt;br /&gt;
&lt;br /&gt;
Одним из примеров моделей, основанных на фильтрах является модель MeLiF&amp;lt;ref&amp;gt;[https://www.researchgate.net/publication/317201206_MeLiF_Filter_Ensemble_Learning_Algorithm_for_Gene_Selection| Smetannikov et al., MeLiF: Filter Ensemble Learning Algorithm for Gene Selection]&amp;lt;/ref&amp;gt;, которая берет несколько фильтров &amp;lt;tex&amp;gt;M_i&amp;lt;/tex&amp;gt; с соответствующими функциями измерения релевантности признака &amp;lt;tex&amp;gt;\mu_i&amp;lt;/tex&amp;gt;, после чего строит новую меру значимости как &amp;lt;tex&amp;gt;\mu=\sum_{i=1}^{|M|} \alpha_{i} \mu_{i}&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;\left\{\alpha_{i}\right\}_{i=1}^{|M|}&amp;lt;/tex&amp;gt; {{---}} набор вещественных коэффициентов. После получения новой меры значимости происходит оценка модели на &amp;lt;tex&amp;gt;t&amp;lt;/tex&amp;gt; лучших выбранных признаках. В случае удовлетворительного результата алгоритм завершается, возвращая текущий набор признаков, иначе {{---}} возвращается снова к получению новой меры на &amp;lt;tex&amp;gt;t+1&amp;lt;/tex&amp;gt; признаках.&lt;br /&gt;
&lt;br /&gt;
===Медицинская карта===&lt;br /&gt;
Другая задача {{---}} предсказать, заболеет ли человек в будущем. Для этого часто используется электронная медицинская карта пациента, и на вход сети подаются данные о пациенте, результаты исследований, его генеалогическое древо и другая медицинская информация. Основываясь на полученных данных, модель должна предсказать вероятность того, что человек может заболеть каждым болезнью из приведенного набора. Если вероятность хотя бы по одному из маркеров превышает некоторое значение {{---}} такая модель рекомендует пациенту обратиться к специалисту и относит его в группу высокого риска по этому параметру. В свою очередь специалист может подтвердить или же опровергнуть опасения модели, отдавая ей результат {{---}} права модель или нет. Таким образом, эта проблема относится к классу задач обучения с подкреплением В таких задачах часто используют [[метод опорных векторов (SVM)]] или [[глубокое обучение]].&lt;br /&gt;
&lt;br /&gt;
==Поиск лекарств==&lt;br /&gt;
Поиск лекарств (англ. drug discovery, drug design) {{---}} процесс поиска новых лекарственных средств, часто основанный на знаниях о биологической мишени.&lt;br /&gt;
При поиске новых лекарственных средств часто прибегают к помощи машинного обучения в таких задачах, как предсказание молекулярных свойств потенциальной молекулы лекарства, формы какого-либо белка, активности взаимодействия между двумя молекулами и т.д. &lt;br /&gt;
&lt;br /&gt;
===Предсказание молекулярных свойств===&lt;br /&gt;
[[Файл:MoleculeGNN.PNG|400px|thumb|Молекулярный граф]]&lt;br /&gt;
[[Файл:Morgan fingerprint.jpg|400px|thumb|Пример Morgan Fingerprint для молекулы. Источник: https://www.sciencedirect.com/science/article/abs/pii/S1046202314002631]]&lt;br /&gt;
Одна из главных задач машинного обучения при поиске новых лекарств {{---}} сужение круга их поиска. Чаще всего фармацевтические компании имеют на руках библиотеки с огромным количеством веществ, которые они потенциально могут синтезировать и опробовать в качестве лекарства. Но обычно размеры этих библиотек составляют тысячи молекул, поэтому синтезировать и проверить каждую из них не представляется возможным. В этом случае прибегают к предсказанию некоторых свойств этих молекул, которые точно определяют, может ли молекула быть использована как лекарство. Для предсказания свойств молекул обычно используют молекулярный граф {{---}} графическое представление молекулы (ее атомов и связей).&lt;br /&gt;
&lt;br /&gt;
Первые нейронные сети для предсказания молекулярных свойств использовали Моргановские фингерпринты (англ. Morgan fingerpints), которые для каждого атома в молекуле выделяли всех его соседей на каком-то определенном расстоянии (которое является гиперпараметром) и смотрели на наличие такой подструктуры в молекуле. Получался аналог некоторого оne-hot кодирования. Впоследствии этот метод был несколько усовершенствован, и стали смотреть не на наличие подструктуры, а на то, сколько раз она встречается в молекуле. Прорыв в этой области случился с появлением сети NeuralFingerprints &amp;lt;ref&amp;gt;[https://arxiv.org/abs/1509.09292 Duvenaud et al., Convolutional Networks on Graphs for Learning Molecular Fingerprints, 2015]&amp;lt;/ref&amp;gt;, которая является примером одной из первых попыток применения [[графовые нейронные сети|графовых нейронных сетей]] в этой области. &lt;br /&gt;
&lt;br /&gt;
NeuralFingerprints принимает один гиперпараметр {{---}} максимальное расстояние, которое нужно учитывать при просмотре соседей каждого атома. После этого для каждого расстояния для каждого атома суммируются атомные представления его соседей на текущем расстоянии. Таким образом, получается векторное представление текущего атома фиксированной длины, которая равна количеству свойств у одного атома. Каждый элемент такого представления  умножается на обучаемый параметр, уникальный для номера свойства и текущего рассматриваемого расстояния. После этого применяется функция активации к полученному ранее вектору, умноженному на вес, отвечающий за текущее расстояние. Полученные результаты для каждого из атомов на каждом из расстояний суммируются и получается результирующий вектор свойств для молекулы. Таким образом, в этой сети обучаемые параметры {{---}} веса для каждого из свойств атомов на каждом расстоянии (&amp;lt;tex&amp;gt;H^i_j&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;i&amp;lt;/tex&amp;gt; {{---}} индекс номера свойства (в модели их всего 5), &amp;lt;tex&amp;gt;j&amp;lt;/tex&amp;gt; {{---}} индекс для текущего расстояния) и веса для каждого из расстояний (&amp;lt;tex&amp;gt;W_j&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;j&amp;lt;/tex&amp;gt; {{---}} индекс для текущего расстояния). Псевдокод представлен ниже.&lt;br /&gt;
 '''function''' neuralFingerptint(molecule, R, H, W): &amp;lt;span style=&amp;quot;color:Green&amp;quot;&amp;gt;# R - максимальное расстояние, H - матрица весов размера len(molecule)&amp;lt;tex&amp;gt;\cdot&amp;lt;/tex&amp;gt;R, W - вектор весов размера R&amp;lt;/span&amp;gt;&lt;br /&gt;
    f = array[len(molecule), 0]&lt;br /&gt;
    '''for''' a in molecule: &lt;br /&gt;
        r[a] = g(a) &amp;lt;span style=&amp;quot;color:Green&amp;quot;&amp;gt;# записываем свойства для каждого атома&amp;lt;/span&amp;gt;&lt;br /&gt;
    '''for''' L = 1 to R:&lt;br /&gt;
        '''for''' a in molecule: &lt;br /&gt;
            neighbors = '''neighbors'''(a) &amp;lt;span style=&amp;quot;color:Green&amp;quot;&amp;gt;# смотрим соседей на расстоянии L от текущего атома a&amp;lt;/span&amp;gt;&lt;br /&gt;
        v = r[a] + '''sum'''(r[i] for i in neighbors) &amp;lt;span style=&amp;quot;color:Green&amp;quot;&amp;gt;# суммируем вектора соседей и вектор текущего атома&amp;lt;/span&amp;gt;&lt;br /&gt;
        r[a] = '''σ'''(v &amp;lt;tex&amp;gt;\cdot&amp;lt;/tex&amp;gt;H[a][L]) &amp;lt;span style=&amp;quot;color:Green&amp;quot;&amp;gt;# изменяем представление текущего атома&amp;lt;/span&amp;gt;&lt;br /&gt;
        i = '''softmax'''(r[a]&amp;lt;tex&amp;gt;\cdot&amp;lt;/tex&amp;gt;W[L]) &amp;lt;span style=&amp;quot;color:Green&amp;quot;&amp;gt;# получаем вектор для текущего атома и расстояния&amp;lt;/span&amp;gt;&lt;br /&gt;
        f = f + i  &amp;lt;span style=&amp;quot;color:Green&amp;quot;&amp;gt;# добавляем его к ответу&amp;lt;/span&amp;gt;&lt;br /&gt;
    '''return''' f&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Эта сеть была одной из первых в этой области, и сейчас используется как базовый метод в огромном количестве статей. В основу новых методов сейчас все еще чаще всего ложатся [[графовые нейронные сети]]. Подходы графовых нейронных сетей адаптируют под молекулярный граф путем поиска элементов на расстоянии не более, чем N (где N является гиперпараметром), или последовательным рассмотрением каждой вершины и усреднением полученых значений.&lt;br /&gt;
&lt;br /&gt;
===Предсказание формы белка===&lt;br /&gt;
[[Файл:AlphaFold 2 block design.png|400px|thumb|Архитектура AlphaFold2, модели для предсказания пространственной структуры белка. Источник: https://en.wikipedia.org/wiki/AlphaFold]]&lt;br /&gt;
Секвенирование {{---}} процесс получения нуклеотидной последовательности из молекулы ДНК. &amp;lt;ref&amp;gt;[https://en.wikipedia.org/wiki/Sequencing Википедия: Секвенирование]&amp;lt;/ref&amp;gt;&lt;br /&gt;
Из нуклеотидной последовательности можно получить аминокислотную последовательность, которая в свою очередь кодирует любой белок в организме.&lt;br /&gt;
&lt;br /&gt;
Предсказание формы белка {{---}} другая очень важная задача машинного обучения в фармацевтике. С возникновением технологий секвенирования ДНК у сообщества появилась возможность быстро и достаточно качественно прочитывать белковые последовательности, но получать пространственную структуру полученных белков экспериментально все еще очень трудоемко и дорого. Пространственная же структура белка важна для генерации мишеней, поэтому задача предсказания структуры является очень важной. Например, при подборе потенциальной вакцины, необходимо точно знать форму антитела, чтобы понимать сможет ли это соединение захватить свою мишень, не дав ей закрепиться в организме пациента.&lt;br /&gt;
&lt;br /&gt;
Предсказание формы белков основано на нейронных сетях, которые как вход используют очень длинную аминокислотную последовательность (размер алфавита ограничен {{---}} всего различных аминокислот 20), а на выходе должны предсказать значения торсионных углов&amp;lt;ref&amp;gt;[https://kodomo.fbb.msu.ru/~youthofchemist/projects/Term_1/Protein/phipsi.html Торсионные углы]&amp;lt;/ref&amp;gt; между аминокислотами. В декабре 2020 года DeepMind (исследовательское подразделение Google) заявили, что решили проблему пространственной структуры белка.&amp;lt;ref&amp;gt;[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 Фундаментальная «проблема белка» решена]&amp;lt;/ref&amp;gt; Авторы модели утверждают, что значение метрики глобального расстояния (англ. global distance test) превысило 90%. Метрика глобального расстояния {{---}} это метрика, которая вычисляется для каждой аминокислоты как процент атомов углерода из главной цепи белка, которые в сгенерированном белке расположены не более чем на расстоянии какого-то определенного количества ангстрем от соответствующего атома углерода в исходном белке. Обычно это значение берется равным 1, 2, 4 или 8 ангстрем (10&amp;lt;sup&amp;gt;-10&amp;lt;/sup&amp;gt;м).&lt;br /&gt;
&lt;br /&gt;
===Генерация молекулярных структур===&lt;br /&gt;
[[Файл:Ranc scheme.png|400px|thumb|Пример генеративной состязательной сети для лекарственных молекул. Сеть RANC (Reinforced Adversarial Neural Computer). Источник: https://pubs.acs.org/doi/10.1021/acs.jcim.7b00690]]&lt;br /&gt;
Еще одна задача, которая есть сейчас в мире машинного обучения {{---}} генерировать новые молкулы, которые могут потенциально быть лекарствами. Для этого используют [[Generative Adversarial Nets (GAN)|генеративные состязательные сети]]. Основное преимущество такого подхода заключается в том, что при работе с библиотеками уже синтезированных лекарств есть вероятность &amp;quot;пропустить&amp;quot; важное соединение просто потому, что в этой библиотеке его не было. Поэтому используется абсолютно другой подход {{---}} предлагается наоборот генерировать различные молекулы, а уже потом проверять, действительно ли их можно использовать как лекарство и насколько сложно их синтезировать. Часто эти свойства вносят в метрику качества генератора. &lt;br /&gt;
&lt;br /&gt;
SMILES {{---}} способ однозначного задания молекулы при помощи строки. Таким образом, задача генератора {{---}} сгенерировать такую строку SMILES для молекулы, чтобы дискриминатор не отличил ее от настоящей. Архитектура дискриминатора чаще всего остается очень похожей на архитектуру обычной сети, предсказывающей молекулярные свойства. Таким обрзом, в качестве дискриминатора часто используются графовые или сверточные нейронные сети. Для генератора же часто используют механизм памяти, чтобы сеть помнила, какие части уже были сгенерированны и отталкивалась от них.&lt;br /&gt;
&lt;br /&gt;
==См. также==&lt;br /&gt;
* [[Нейронные сети, перцептрон]]&lt;br /&gt;
* [[Глубокое обучение]]&lt;br /&gt;
* [[Графовые нейронные сети]]&lt;br /&gt;
* [[Компьютерное зрение]]&lt;br /&gt;
* [[Обучение с подкреплением]]&lt;br /&gt;
&lt;br /&gt;
==Примечания==&lt;br /&gt;
* [https://en.wikipedia.org/wiki/Protein_structure_prediction#:~:text=Protein%20structure%20prediction%20is%20the,inverse%20problem%20of%20protein%20design. Protein structure prediction]&lt;br /&gt;
* [https://ru.wikipedia.org/wiki/%D0%9F%D0%B5%D1%80%D1%81%D0%BE%D0%BD%D0%B0%D0%BB%D0%B8%D0%B7%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%BD%D0%B0%D1%8F_%D0%BC%D0%B5%D0%B4%D0%B8%D1%86%D0%B8%D0%BD%D0%B0 Википедия: Персонализированная медицина]&lt;br /&gt;
* [https://arxiv.org/ftp/arxiv/papers/2004/2004.04931.pdf CoroNet: A deep neural network for detection and diagnosis of COVID-19 from chest x-ray images]&lt;br /&gt;
* [https://emerj.com/ai-sector-overviews/machine-learning-in-pharma-medicine/ 7 Applications of Machine Learning in Pharma and Medicine]&lt;br /&gt;
* [https://www.nature.com/articles/s41563-019-0360-1 Ascent of machine learning in medicine]&lt;br /&gt;
* [http://jtelemed.ru/article/glubokoe-mashinnoe-obuchenie-iskusstvennyj-intellekt-v-ultrazvukovoj-diagnostike Глубокое машинное обучение (искусственный интеллект) в ультразвуковой диагностике]&lt;br /&gt;
* [https://bmcmedgenomics.biomedcentral.com/articles/10.1186/s12920-020-0677-2 Convolutional neural network models for cancer type prediction based on gene expression]&lt;br /&gt;
* [https://docplayer.ru/85522413-Smetannikov-ivan-borisovich.html Сметанников Иван Борисович, Метод и алгоритмы выбора признаков в предсказательном моделировании фенотипических характеристик на основе транскриптомных данных]&lt;br /&gt;
&lt;br /&gt;
==Источники информации==&lt;br /&gt;
&lt;br /&gt;
[[Категория: Машинное обучение]]&lt;br /&gt;
[[Категория: Глубокое обучение]]&lt;br /&gt;
[[Категория: Практические применения машинного обучения]]&lt;/div&gt;</summary>
		<author><name>188.170.82.221</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%9C%D0%B0%D1%88%D0%B8%D0%BD%D0%BD%D0%BE%D0%B5_%D0%BE%D0%B1%D1%83%D1%87%D0%B5%D0%BD%D0%B8%D0%B5_%D0%B2_%D0%BC%D0%B5%D0%B4%D0%B8%D1%86%D0%B8%D0%BD%D0%B5&amp;diff=76825</id>
		<title>Машинное обучение в медицине</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%9C%D0%B0%D1%88%D0%B8%D0%BD%D0%BD%D0%BE%D0%B5_%D0%BE%D0%B1%D1%83%D1%87%D0%B5%D0%BD%D0%B8%D0%B5_%D0%B2_%D0%BC%D0%B5%D0%B4%D0%B8%D1%86%D0%B8%D0%BD%D0%B5&amp;diff=76825"/>
				<updated>2021-01-08T14:14:07Z</updated>
		
		<summary type="html">&lt;p&gt;188.170.82.221: /* Генерация результатов исследований */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Машинное обучение в медицине начали применять еще в 2000-ых, и сейчас машинное обучение, а в частности, [[Нейронные сети, перцептрон|нейронные сети]] пытаются решать огромное количество задач по диагностике заболеваний и дизайну лекарств. Эти задачи относят к обучению с учителем или [[Обучение с частичным привлечением учителя|с частичным привлечением учителя]]. Кроме того, машинное обучение стали применять в персонализированной медицине и генерации данных различных исследований для анонимизации данных пациентов. В этих задачах сейчас все больше применяют [[Обучение с подкреплением|обучение с подкреплением]] и обучение без учителя, в частности, [[Generative Adversarial Nets (GAN)|генеративные состязательные сети]].&lt;br /&gt;
&lt;br /&gt;
==Диагностика заболеваний по результатам рентгенологических и УЗИ исследований==&lt;br /&gt;
===Диагностика по изображению===&lt;br /&gt;
{|align=&amp;quot;center&amp;quot;&lt;br /&gt;
 |-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
 |[[Файл:Covid cnn recognition.png|thumb|750px|Пример вероятностной классификации КТ грудной клетки. Источник:https://arxiv.org/ftp/arxiv/papers/2004/2004.04931.pdf]]&lt;br /&gt;
 |[[Файл:Spine x ray cnn.png|400px|thumb|Пример локализации шейного отдела позвоночника на рентгене. Источник: https://lhncbc.nlm.nih.gov/system/files/pub9781.pdf]]&lt;br /&gt;
 |}&lt;br /&gt;
[[Файл:Brain tumor mri cnn.jpg|200px|thumb|Пример классификации результатов МРТ на изображения с опухолью и без. Источник: https://biomedpharmajournal.org/vol11no3/brain-tumor-classification-using-convolutional-neural-networks/]]&lt;br /&gt;
В диагностике заболеваний есть большое количество задач, которые можно решить при помощи машинного обучения, а в частности, при помощи анализа результатов различных исследований, таких как рентген, УЗИ или МРТ. В основном задача любой модели сводится к предсказанию, болен ли человек сейчас (иногда обычная мультиклассовая классификация, иногда {{---}} вероятностная классификация).&lt;br /&gt;
&lt;br /&gt;
Для решения таких задач чаще всего используют [[глубокое обучение]]. Такие модели на вход получают картинку с рентгенологическим или ультразвуковым исследованием пациента и по ним предсказывают наличие болезни. Обычно внутри таких моделей-классификаторов лежат [[сверточные нейронные сети]], а иногда к ним добавляются [[механизм внимания]]. За основу берутся state-of-the-art модели в области сверточных нейронных сетей, такие как GoogleLeNet&amp;lt;ref&amp;gt;[https://static.googleusercontent.com/media/research.google.com/ru//pubs/archive/43022.pdf Szegedy et al., Going Deeper with Convolutions, 2015. GoogLeNet.]&amp;lt;/ref&amp;gt;, при этом точность предсказаний превышает 90%. Такие модели учатся на размеченных тренировочных наборах данных, поэтому их можно отнести к обучению с учителем. Большое распространение такие классификаторы получили в предсказании злокачественности новообразований, классификации заболеваний легких, подборе дозы контраста при проведении МРТ.&lt;br /&gt;
&lt;br /&gt;
Кроме того, есть и другое применение. Многие модели учатся не только определять, есть ли опухоль на данном образце, но и локализировать ее положение. Таким образом, необходимо решить задачу сегментации изображения, то есть выделения каких-то ее наиболее важных частей. Технически задача не сильно отличается от предыдущей и решается все теми же сверточными нейронными сетями.&lt;br /&gt;
&lt;br /&gt;
===Применения===&lt;br /&gt;
Поскольку точность предсказаний у описанных выше моделей достаточно высока, их стали применять на практике. Сейчас ведутся исследования по внедрению таких моделей в УЗИ-аппараты для того, чтобы быстрее и точнее определять местоположение и злокачественность опухоли. Кроме того, такие модели стали применять в направленной лучевой терапии, когда злокачественная опухоль облучается различными видами частиц. Известно, что эти частицы уничтожают не только раковые, но и здоровые клетки. Именно поэтому активно внедряются модели, которые могут подсказать аппарату точное направление облучения. Также сверточные сети стали использовать для определения дозы контрастного вещества при МРТ&amp;lt;ref&amp;gt;[https://www.sciencedirect.com/science/article/pii/S0939388918301181 Lundervold et al., An overview of deep learning in medical imaging focusing on MRI, 2019]&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Генерация результатов исследований===&lt;br /&gt;
[[Файл:3d mri models comparison.png|450px|thumb|Сравнение различных моделей для генерации 3D изображений МРТ исследований. Источник: https://arxiv.org/pdf/1908.02498.pdf]]&lt;br /&gt;
&lt;br /&gt;
Для обучения сверточных нейронных сетей необходимо большое количество данных, которые очень часто достаточно тяжело или даже невозможно получить из-за запрета на использование данных исследований даже в анонимном формате без согласия пациента. Поэтому сейчас для получения достаточно больших датасетов стали применять [[Generative Adversarial Nets (GAN)|генеративные состязательные сети]]. &lt;br /&gt;
&lt;br /&gt;
Задачу таких GAN можно оделить на две: генерация изображений здоровых пациентов и изображений с патологиями. В случае второй задачи важно, чтобы сгенерированные изображения правильно определялись именно по типу патологии.&lt;br /&gt;
&lt;br /&gt;
Основная проблема, с которой сталкиваются такие модели {{---}} необходимость очень точно определеять границы объекта на сгенерированном изображении, а также не допускать размытости. Эти две проблемы долгое время не получалось решить без большого количества реальных данных, вследствие чего не было возможным применение сгенерированных изображений на практике. &lt;br /&gt;
&lt;br /&gt;
Сильно улучшить поведение моделей удалось путем использования метрики Васерштейна&amp;lt;ref&amp;gt;[https://ru.wikipedia.org/wiki/%D0%9C%D0%B5%D1%82%D1%80%D0%B8%D0%BA%D0%B0_%D0%92%D0%B0%D1%81%D0%B5%D1%80%D1%88%D1%82%D0%B5%D0%B9%D0%BD%D0%B0 Википедия:Метрика Васерштейна]&amp;lt;/ref&amp;gt;, которая, если провести аналогию с землей, измеряет минимальную стоимость преобразования одного распределения земли в другое, при этом предполагается, что стоимость прямо пропорциональна количеству земли и расстоянию, на которое ее надо перетащить. Использование такой метрики в GAN помогло сильно улучшить поведение моделей при генерации данных МРТ исследований.&lt;br /&gt;
&lt;br /&gt;
==Персонализированная медицина==&lt;br /&gt;
Персонализированная медицина {{---}} новая организационная модель построения медицинской помощи пациентам, которая основывается на подборе индивидуальных лечебных, диагностических и превентивных средств, оптимально подходящих по биохимическим, физиологическим и генетическим особенностям организма.&lt;br /&gt;
&lt;br /&gt;
Основная цель нового направления в медицине заключается в персонализации и оптимизации профилактических мероприятий и лечения пациентов для исключения негативных последствий и осложнений, проявляющихся из-за индивидуальных особенностей.&lt;br /&gt;
Основные отрасли медицины, где применяются новые принципы — онкология, фармация и фармакогеномика. Последняя занимается изучением реакций организма на медицинские препараты в зависимости от индивидуальных наследственных факторов.&lt;br /&gt;
&lt;br /&gt;
===Экспрессия генов и анализ транскриптомных данных===&lt;br /&gt;
[[Файл:Gene expression based cnn.jpg|400px|thumb|Примеры архитектур сверточных сетей, предсказывающих вероятность рака по экспрессии генов. Источник: https://bmcmedgenomics.biomedcentral.com/articles/10.1186/s12920-020-0677-2]]&lt;br /&gt;
Многие модели ориентируются на данные экспрессии генов&amp;lt;ref&amp;gt;[https://ru.wikipedia.org/wiki/%D0%AD%D0%BA%D1%81%D0%BF%D1%80%D0%B5%D1%81%D1%81%D0%B8%D1%8F_%D0%B3%D0%B5%D0%BD%D0%BE%D0%B2 Википедия: Экспрессия генов]&amp;lt;/ref&amp;gt; (в широком смысле {{---}} процесс получения белка из последовательности ДНК). Известно, что от количества некоторых белков напрямую зависит возможность клеток становиться раковыми, а также порождать другие заболевания. Совокупность изменений в большом количестве различных белков может приводить к заболеванию. Именно поэтому модели персонализированной медицины основываются на данных экспрессии. Часто в качестве основы используют сверточные нейронные сети, располагая гены, отвечающие за похожие по своей функции белки, рядом друг с другом.&lt;br /&gt;
&lt;br /&gt;
Транскриптом {{---}} совокупность всех молекул РНК, которые присутствовали в клетке после завершения процесса трансрипции (получение РНК с матрицы ДНК).&lt;br /&gt;
&lt;br /&gt;
Прямой анализ экспрессии генов {{---}} трудная и дорогостоящая задача, поэтому часто обращаются к транскриптомным данным. Транскриптомные данные чаще всего получают с помощью РНК-секвенирования (RNA-seq) или ДНК-микрочипов (DNA-microarray). С помощью специальных процедур из взятой у пациента пробы выделяют мРНК, которая затем наносится на ДНК-микрочип, где цепочки мРНК зацепляются, образуя двухцепочечные молекулы. Число цепочек мРНК, зацепившихся за определенный участок ДНК-микрочипа, определяет интенсивность свечения этого участка при сканировании. Так косвенно определяют экспрессию каждого из генов. Следующая проблема, с которой сталкиваются исследователи {{---}} слишком большое количество генов (например, у человека их около 28000). Вследствие этого очень тяжело обучать модели, поэтому приходится прибегать к [[Уменьшение размерности|уменьшению размерности]].&lt;br /&gt;
&lt;br /&gt;
===Уменьшение размерности при работе с данными экспрессии генов===&lt;br /&gt;
[[Файл:Melif scheme.png|400px|thumb|Описание алгоритма MeLiF]]&lt;br /&gt;
Для уменьшения размерности в случае биологических данных применяются методы, основным критерием которых становится их скорость. Поскольку количество генов очень велико, чаще всего нет возможности опробовать встраиваемые и оберточные методы. Чаще всего, используют фильтры. &lt;br /&gt;
&lt;br /&gt;
Одним из примеров моделей, основанных на фильтрах является модель MeLiF&amp;lt;ref&amp;gt;[https://www.researchgate.net/publication/317201206_MeLiF_Filter_Ensemble_Learning_Algorithm_for_Gene_Selection| Smetannikov et al., MeLiF: Filter Ensemble Learning Algorithm for Gene Selection]&amp;lt;/ref&amp;gt;, которая берет несколько фильтров &amp;lt;tex&amp;gt;M_i&amp;lt;/tex&amp;gt; с соответствующими функциями измерения релевантности признака &amp;lt;tex&amp;gt;\mu_i&amp;lt;/tex&amp;gt;, после чего строит новую меру значимости как &amp;lt;tex&amp;gt;\mu=\sum_{i=1}^{|M|} \alpha_{i} \mu_{i}&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;\left\{\alpha_{i}\right\}_{i=1}^{|M|}&amp;lt;/tex&amp;gt; {{---}} набор вещественных коэффициентов. После получения новой меры значимости происходит оценка модели на &amp;lt;tex&amp;gt;t&amp;lt;/tex&amp;gt; лучших выбранных признаках. В случае удовлетворительного результата алгоритм завершается, возвращая текущий набор признаков, иначе {{---}} возвращается снова к получению новой меры на &amp;lt;tex&amp;gt;t+1&amp;lt;/tex&amp;gt; признаках.&lt;br /&gt;
&lt;br /&gt;
===Медицинская карта===&lt;br /&gt;
Другая задача {{---}} предсказать, заболеет ли человек в будущем. Для этого часто используется электронная медицинская карта пациента, и на вход сети подаются данные о пациенте, результаты исследований, его генеалогическое древо и другая медицинская информация. Основываясь на полученных данных, модель должна предсказать вероятность того, что человек может заболеть каждым болезнью из приведенного набора. Если вероятность хотя бы по одному из маркеров превышает некоторое значение {{---}} такая модель рекомендует пациенту обратиться к специалисту и относит его в группу высокого риска по этому параметру. В свою очередь специалист может подтвердить или же опровергнуть опасения модели, отдавая ей результат {{---}} права модель или нет. Таким образом, эта проблема относится к классу задач обучения с подкреплением В таких задачах часто используют [[метод опорных векторов (SVM)]] или [[глубокое обучение]].&lt;br /&gt;
&lt;br /&gt;
==Поиск лекарств==&lt;br /&gt;
Поиск лекарств (англ. drug discovery, drug design) {{---}} процесс поиска новых лекарственных средств, часто основанный на знаниях о биологической мишени.&lt;br /&gt;
При поиске новых лекарственных средств часто прибегают к помощи машинного обучения в таких задачах, как предсказание молекулярных свойств потенциальной молекулы лекарства, формы какого-либо белка, активности взаимодействия между двумя молекулами и т.д. &lt;br /&gt;
&lt;br /&gt;
===Предсказание молекулярных свойств===&lt;br /&gt;
[[Файл:MoleculeGNN.PNG|400px|thumb|Молекулярный граф]]&lt;br /&gt;
[[Файл:Morgan fingerprint.jpg|400px|thumb|Пример Morgan Fingerprint для молекулы. Источник: https://www.sciencedirect.com/science/article/abs/pii/S1046202314002631]]&lt;br /&gt;
Одна из главных задач машинного обучения при поиске новых лекарств {{---}} сужение круга их поиска. Чаще всего фармацевтические компании имеют на руках библиотеки с огромным количеством веществ, которые они потенциально могут синтезировать и опробовать в качестве лекарства. Но обычно размеры этих библиотек составляют тысячи молекул, поэтому синтезировать и проверить каждую из них не представляется возможным. В этом случае прибегают к предсказанию некоторых свойств этих молекул, которые точно определяют, может ли молекула быть использована как лекарство. Для предсказания свойств молекул обычно используют молекулярный граф {{---}} графическое представление молекулы (ее атомов и связей).&lt;br /&gt;
&lt;br /&gt;
Первые нейронные сети для предсказания молекулярных свойств использовали Моргановские фингерпринты (англ. Morgan fingerpints), которые для каждого атома в молекуле выделяли всех его соседей на каком-то определенном расстоянии (которое является гиперпараметром) и смотрели на наличие такой подструктуры в молекуле. Получался аналог некоторого оne-hot кодирования. Впоследствии этот метод был несколько усовершенствован, и стали смотреть не на наличие подструктуры, а на то, сколько раз она встречается в молекуле. Прорыв в этой области случился с появлением сети NeuralFingerprints &amp;lt;ref&amp;gt;[https://arxiv.org/abs/1509.09292 Duvenaud et al., Convolutional Networks on Graphs for Learning Molecular Fingerprints, 2015]&amp;lt;/ref&amp;gt;, которая является примером одной из первых попыток применения [[графовые нейронные сети|графовых нейронных сетей]] в этой области. &lt;br /&gt;
&lt;br /&gt;
NeuralFingerprints принимает один гиперпараметр {{---}} максимальное расстояние, которое нужно учитывать при просмотре соседей каждого атома. После этого для каждого расстояния для каждого атома суммируются атомные представления его соседей на текущем расстоянии. Таким образом, получается векторное представление текущего атома фиксированной длины, которая равна количеству свойств у одного атома. Каждый элемент такого представления  умножается на обучаемый параметр, уникальный для номера свойства и текущего рассматриваемого расстояния. После этого применяется функция активации к полученному ранее вектору, умноженному на вес, отвечающий за текущее расстояние. Полученные результаты для каждого из атомов на каждом из расстояний суммируются и получается результирующий вектор свойств для молекулы. Таким образом, в этой сети обучаемые параметры {{---}} веса для каждого из свойств атомов на каждом расстоянии (&amp;lt;tex&amp;gt;H^i_j&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;i&amp;lt;/tex&amp;gt; {{---}} индекс номера свойства (в модели их всего 5), &amp;lt;tex&amp;gt;j&amp;lt;/tex&amp;gt; {{---}} индекс для текущего расстояния) и веса для каждого из расстояний (&amp;lt;tex&amp;gt;W_j&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;j&amp;lt;/tex&amp;gt; {{---}} индекс для текущего расстояния). Псевдокод представлен ниже.&lt;br /&gt;
 '''function''' neuralFingerptint(molecule, R, H, W): &amp;lt;span style=&amp;quot;color:Green&amp;quot;&amp;gt;# R - максимальное расстояние, H - матрица весов размера len(molecule)&amp;lt;tex&amp;gt;\cdot&amp;lt;/tex&amp;gt;R, W - вектор весов размера R&amp;lt;/span&amp;gt;&lt;br /&gt;
    f = array[len(molecule), 0]&lt;br /&gt;
    '''for''' a in molecule: &lt;br /&gt;
        r[a] = g(a) &amp;lt;span style=&amp;quot;color:Green&amp;quot;&amp;gt;# записываем свойства для каждого атома&amp;lt;/span&amp;gt;&lt;br /&gt;
    '''for''' L = 1 to R:&lt;br /&gt;
        '''for''' a in molecule: &lt;br /&gt;
            neighbors = '''neighbors'''(a) &amp;lt;span style=&amp;quot;color:Green&amp;quot;&amp;gt;# смотрим соседей на расстоянии L от текущего атома a&amp;lt;/span&amp;gt;&lt;br /&gt;
        v = r[a] + '''sum'''(r[i] for i in neighbors) &amp;lt;span style=&amp;quot;color:Green&amp;quot;&amp;gt;# суммируем вектора соседей и вектор текущего атома&amp;lt;/span&amp;gt;&lt;br /&gt;
        r[a] = '''σ'''(v &amp;lt;tex&amp;gt;\cdot&amp;lt;/tex&amp;gt;H[a][L]) &amp;lt;span style=&amp;quot;color:Green&amp;quot;&amp;gt;# изменяем представление текущего атома&amp;lt;/span&amp;gt;&lt;br /&gt;
        i = '''softmax'''(r[a]&amp;lt;tex&amp;gt;\cdot&amp;lt;/tex&amp;gt;W[L]) &amp;lt;span style=&amp;quot;color:Green&amp;quot;&amp;gt;# получаем вектор для текущего атома и расстояния&amp;lt;/span&amp;gt;&lt;br /&gt;
        f = f + i  &amp;lt;span style=&amp;quot;color:Green&amp;quot;&amp;gt;# добавляем его к ответу&amp;lt;/span&amp;gt;&lt;br /&gt;
    '''return''' f&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Эта сеть была одной из первых в этой области, и сейчас используется как базовый метод в огромном количестве статей. В основу новых методов сейчас все еще чаще всего ложатся [[графовые нейронные сети]]. Подходы графовых нейронных сетей адаптируют под молекулярный граф путем поиска элементов на расстоянии не более, чем N (где N является гиперпараметром), или последовательным рассмотрением каждой вершины и усреднением полученых значений.&lt;br /&gt;
&lt;br /&gt;
===Предсказание формы белка===&lt;br /&gt;
[[Файл:AlphaFold 2 block design.png|400px|thumb|Архитектура AlphaFold2, модели для предсказания пространственной структуры белка. Источник: https://en.wikipedia.org/wiki/AlphaFold]]&lt;br /&gt;
Секвенирование {{---}} процесс получения нуклеотидной последовательности из молекулы ДНК. &amp;lt;ref&amp;gt;[https://en.wikipedia.org/wiki/Sequencing Википедия: Секвенирование]&amp;lt;/ref&amp;gt;&lt;br /&gt;
Из нуклеотидной последовательности можно получить аминокислотную последовательность, которая в свою очередь кодирует любой белок в организме.&lt;br /&gt;
&lt;br /&gt;
Предсказание формы белка {{---}} другая очень важная задача машинного обучения в фармацевтике. С возникновением технологий секвенирования ДНК у сообщества появилась возможность быстро и достаточно качественно прочитывать белковые последовательности, но получать пространственную структуру полученных белков экспериментально все еще очень трудоемко и дорого. Пространственная же структура белка важна для генерации мишеней, поэтому задача предсказания структуры является очень важной. Например, при подборе потенциальной вакцины, необходимо точно знать форму антитела, чтобы понимать сможет ли это соединение захватить свою мишень, не дав ей закрепиться в организме пациента.&lt;br /&gt;
&lt;br /&gt;
Предсказание формы белков основано на нейронных сетях, которые как вход используют очень длинную аминокислотную последовательность (размер алфавита ограничен {{---}} всего различных аминокислот 20), а на выходе должны предсказать значения торсионных углов&amp;lt;ref&amp;gt;[https://kodomo.fbb.msu.ru/~youthofchemist/projects/Term_1/Protein/phipsi.html Торсионные углы]&amp;lt;/ref&amp;gt; между аминокислотами. В декабре 2020 года DeepMind (исследовательское подразделение Google) заявили, что решили проблему пространственной структуры белка.&amp;lt;ref&amp;gt;[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 Фундаментальная «проблема белка» решена]&amp;lt;/ref&amp;gt; Авторы модели утверждают, что значение метрики глобального расстояния (англ. global distance test) превысило 90%. Метрика глобального расстояния {{---}} это метрика, которая вычисляется для каждой аминокислоты как процент атомов углерода из главной цепи белка, которые в сгенерированном белке расположены не более чем на расстоянии какого-то определенного количества ангстрем от соответствующего атома углерода в исходном белке. Обычно это значение берется равным 1, 2, 4 или 8 ангстрем (10&amp;lt;sup&amp;gt;-10&amp;lt;/sup&amp;gt;м).&lt;br /&gt;
&lt;br /&gt;
===Генерация молекулярных структур===&lt;br /&gt;
[[Файл:Ranc scheme.png|400px|thumb|Пример генеративной состязательной сети для лекарственных молекул. Сеть RANC (Reinforced Adversarial Neural Computer). Источник: https://pubs.acs.org/doi/10.1021/acs.jcim.7b00690]]&lt;br /&gt;
Еще одна задача, которая есть сейчас в мире машинного обучения {{---}} генерировать новые молкулы, которые могут потенциально быть лекарствами. Для этого используют [[Generative Adversarial Nets (GAN)|генеративные состязательные сети]]. Основное преимущество такого подхода заключается в том, что при работе с библиотеками уже синтезированных лекарств есть вероятность &amp;quot;пропустить&amp;quot; важное соединение просто потому, что в этой библиотеке его не было. Поэтому используется абсолютно другой подход {{---}} предлагается наоборот генерировать различные молекулы, а уже потом проверять, действительно ли их можно использовать как лекарство и насколько сложно их синтезировать. Часто эти свойства вносят в метрику качества генератора. &lt;br /&gt;
&lt;br /&gt;
SMILES {{---}} способ однозначного задания молекулы при помощи строки. Таким образом, задача генератора {{---}} сгенерировать такую строку SMILES для молекулы, чтобы дискриминатор не отличил ее от настоящей. Архитектура дискриминатора чаще всего остается очень похожей на архитектуру обычной сети, предсказывающей молекулярные свойства. Таким обрзом, в качестве дискриминатора часто используются графовые или сверточные нейронные сети. Для генератора же часто используют механизм памяти, чтобы сеть помнила, какие части уже были сгенерированны и отталкивалась от них.&lt;br /&gt;
&lt;br /&gt;
==См. также==&lt;br /&gt;
* [[Нейронные сети, перцептрон]]&lt;br /&gt;
* [[Глубокое обучение]]&lt;br /&gt;
* [[Графовые нейронные сети]]&lt;br /&gt;
* [[Компьютерное зрение]]&lt;br /&gt;
* [[Обучение с подкреплением]]&lt;br /&gt;
&lt;br /&gt;
==Примечания==&lt;br /&gt;
* [https://en.wikipedia.org/wiki/Protein_structure_prediction#:~:text=Protein%20structure%20prediction%20is%20the,inverse%20problem%20of%20protein%20design. Protein structure prediction]&lt;br /&gt;
* [https://ru.wikipedia.org/wiki/%D0%9F%D0%B5%D1%80%D1%81%D0%BE%D0%BD%D0%B0%D0%BB%D0%B8%D0%B7%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%BD%D0%B0%D1%8F_%D0%BC%D0%B5%D0%B4%D0%B8%D1%86%D0%B8%D0%BD%D0%B0 Википедия: Персонализированная медицина]&lt;br /&gt;
* [https://arxiv.org/ftp/arxiv/papers/2004/2004.04931.pdf CoroNet: A deep neural network for detection and diagnosis of COVID-19 from chest x-ray images]&lt;br /&gt;
* [https://emerj.com/ai-sector-overviews/machine-learning-in-pharma-medicine/ 7 Applications of Machine Learning in Pharma and Medicine]&lt;br /&gt;
* [https://www.nature.com/articles/s41563-019-0360-1 Ascent of machine learning in medicine]&lt;br /&gt;
* [http://jtelemed.ru/article/glubokoe-mashinnoe-obuchenie-iskusstvennyj-intellekt-v-ultrazvukovoj-diagnostike Глубокое машинное обучение (искусственный интеллект) в ультразвуковой диагностике]&lt;br /&gt;
* [https://bmcmedgenomics.biomedcentral.com/articles/10.1186/s12920-020-0677-2 Convolutional neural network models for cancer type prediction based on gene expression]&lt;br /&gt;
* [https://docplayer.ru/85522413-Smetannikov-ivan-borisovich.html Сметанников Иван Борисович, Метод и алгоритмы выбора признаков в предсказательном моделировании фенотипических характеристик на основе транскриптомных данных]&lt;br /&gt;
&lt;br /&gt;
==Источники информации==&lt;br /&gt;
&lt;br /&gt;
[[Категория: Машинное обучение]]&lt;br /&gt;
[[Категория: Глубокое обучение]]&lt;br /&gt;
[[Категория: Практические применения машинного обучения]]&lt;/div&gt;</summary>
		<author><name>188.170.82.221</name></author>	</entry>

	</feed>