Нейронные сети — будущие помощники врачей
24 марта 2021
Нейронные сети — будущие помощники врачей
- 4013
- 0
- 2
-
Автор
-
Редакторы
Статья на конкурс «Био/Мол/Текст»: Каждый день врачи получают множество рентгеновских снимков, результатов электрокардиограмм, эндоскопий и много других изображений и материалов, которые надо проанализировать, чтобы поставить диагноз. Это невероятно масштабная работа. Из-за количества материала, который нужно обработать, многие пациенты узнают свой диагноз с задержкой. Есть вполне обоснованная надежда, что в ближайшем будущем эти работы смогут выполнять нейронные сети, многому они уже научились.
Конкурс «Био/Мол/Текст»-2020/2021
Эта работа опубликована в номинации «Школьная» конкурса «Био/Мол/Текст»-2020/2021.
Генеральный партнер конкурса — ежегодная биотехнологическая конференция BiotechClub, организованная международной инновационной биотехнологической компанией BIOCAD.
Партнеры номинации — медико-биологическая школа «Вита» и «Новая школа».
Спонсор конкурса — компания SkyGen: передовой дистрибьютор продукции для life science на российском рынке.
Спонсор конкурса — компания «Диаэм»: крупнейший поставщик оборудования, реагентов и расходных материалов для биологических исследований и производств.
«Книжный» спонсор конкурса — «Альпина нон-фикшн»
Как видно из названия, нейронные сети этимологически связаны с нейронами — структурно-функциональными единицами нервной системы. Именно эти клетки мозга получают информацию, обрабатывают ее и делают выводы. Искусственные нейронные сети (далее — нейронные сети) — это математические модели, приближенные к сетям нейронов головного мозга. Обычно они представлены в виде программы или устройства, которые способны обучаться. Способность нейронных сетей к обучению позволяет им решать множество задач, а также делает их одним из способов воплощения искусственного интеллекта (ИИ). Как происходит обучение, как работают нейронные сети и как их применяют в медицине — об этом пойдет речь в статье.
Как мы сами развиваем нейронные сети
Наверняка все пользователи интернета сталкивались с CAPTCHA при доступе к сайтам: искали все светофоры, поезда, мосты (рис. 1). Но задумывались ли вы, что, проходя проверку, вы учите нейронные сети узнавать такие объекты, а это, в свою очередь, улучшает работу беспилотных автомобилей? Расшифровывая тексты из перечеркнутых письменных символов, мы учим искусственный интеллект распознавать почерки. Для обучения нейронных сетей, которые определяют объекты, часто нужна большая база данных с уже названными объектами. После обучения они могут с небольшим процентом ошибок различать кошек и собак, отсутствие светофора и его наличие, ребенка и взрослого.
Устройство нейронных сетей
Работа и устройство искусственных нейронных сетей действительно очень похоже на устройство живых нейронных сетей. Сначала искусственные нейронные сети также получают входные данные: конкретно — их получают нейроны внешних слоев. Эти нейроны можно сравнить с рецепторными нейронами рефлекторной дуги, теми нейронами, которые получают информацию о внешнем мире или о состоянии организма. Сперва информация в искусственных нейронных сетях переводится в численный формат, который понимает компьютер, например, картинка переводится в пиксельное изображение, а пиксели, как известно, задаются численно. Затем нейроны внешнего слоя передают информацию в скрытый слой; там она обрабатывается. Скрытый слой нейронов можно сравнить со вставочными нейронами рефлекторной дуги. Как правило, их количество велико и между ними много связей; именно вставочные нейроны обрабатывают информацию. После обработки скрытым слоем нейронная сеть предоставляет выходную информацию — этим занимается выходной слой. Если продолжать аналогию искусственной нейронной сети с рефлекторной дугой, то выходной слой можно сравнить с двигательным нейроном. Только искусственная нейронная сеть не дает команду к сокращению или расслаблению мышцы и т.д. Искусственная сеть дает итоговую информацию, хотя иногда информация может быть и командой к действию, например, когда нейронная сеть управляет беспилотным автомобилем.
Чтобы обработать информацию в скрытом слое, с ней надо что-то делать при передаче от одного нейрона к другому. В искусственных нейронных сетях изменение входной информации осуществляется с помощью весов — обычно веса представляют собой коэффициент, на который умножается полученная нейроном информация. Чем больше вес, тем более значима информация от этого нейрона, и наоборот. Помимо этого, информация на выходе будет зависеть от того, через какие нейроны она пройдет. Это, в свою очередь, зависит от входной информации и структуры нейронной сети — какие нейроны с какими связаны. Важно понимать, что после работы нейронной сети нельзя узнать, по каким связям прошла информация; нельзя точно сказать, как и почему она так обработалась, поэтому скрытый слой нейронов называют черным ящиком. Также стоит отметить, что тут описана многослойная нейронная сеть, а в однослойных нейронных сетях нет скрытого слоя — в них нейроны входного слоя сразу передают сигнал на выходной слой, он преобразует сигнал и сразу же дает ответ (рис. 2). От настройки связей между нейронами, количества связей и величины базы данных зависит то, насколько точно будет работать нейронная сеть.
Нейронные сети не просто так названы «нейронными»; они действительно имеют сходство с клетками мозга, но вместо электрических и химических сигналов они передают друг другу числа. Вот несколько примеров их сходства:
- Между нейронами скрытого слоя нейронных сетей есть связи, и если информация прошла через один нейрон, то она пройдет и через связанные с ним, как и в случае распространения сигнала в мозге.
- У искусственных нейронов существует аналог порога возбуждения нейронов мозга: нужен определенный вес у какого-то условия, чтобы информация пошла дальше.
Как нейронные сети применяют в медицине
Если обобщить работу нейронных сетей, то получается, что входная информация сначала переводится в численный формат, который понимает компьютер или иная машина, после чего с ней что-то происходит, и нейронная сеть выдает новую информацию, вывод о поступившей. Выводы могут быть очень разными, в зависимости от нейронных сетей. Соответственно они могут применяться очень широко, но можно выделить несколько крупных задач, в которых нейросети особенно эффективны — те задачи, для решения которых их чаще всего применяют. Это — определение объекта, предсказание для малоизученных данных и обобщение данных с поиском закономерностей. О предсказаниях, которые делают нейронные сети о структурах белка, можно почитать в статье «Биомолекулы» «AlphaFold: нейросеть для предсказания структуры белков от британских ученых» [1].
Часто в медицине можно применять нейронные сети для определения объекта. Представьте, что вместо: «Выберите все изображения, где есть дорожные знаки» CAPTCHA спросит: «Выберите все изображения, где есть раковая опухоль». Понятно, что обычные люди не справятся, но если это будут медики или ученые нужной специализации? Собственно, по очень похожему на CAPTCHA принципу сейчас стали создавать нейронные сети, которые могут находить патологии. Понятно, что пока это возможно только с изображениями, потому что другие виды медицинских данных сложнее переводить в форматы, которые понимает компьютер, но тем не менее, это уже огромные массивы информации. По данным Национального института онкологии, ежедневно в одних только Соединенных Штатах диагностируется около 5000 новых случаев рака, а опухоли обнаруживают часто на изображениях. Очень большое значение для лечения рака имеет ранняя диагностика и мониторинг состояния. А у какого числа людей диагностируют переломы и пневмонии? Нейронные сети могут справляться с этими задачами, и их постепенно начинают использовать для таких решений. На рисунке 3 видно, как нейронная сеть взяла два куска среза снимка легкого с разными клетками, после чего перевела пиксели в цифры [2]. Затем это все оказалось обработано в связях нейронной сети, в черном ящике, после чего нейросеть выдала ответ: в одном куске распространение раковых пятен — 273, в другом — 45, после чего дала точное название вида рака.
Эффективность нейронных сетей в медицине
Безусловно, мнение врачей пока более авторитетно по сравнению с «мнением» нейросетей, но как второе мнение и как инструмент, упрощающий работу врача, они эффективны. Это хорошо видно на примере нейронной сети, которая распознает почечно-клеточный рак и почечные кисты. Веса и связи были настроены учеными; нейросеть обучалась на цифровых данных ультразвукового исследования порядка 100 реальных случаев рака, которые уже достоверно определили. После этого нейронной сети дали в обработку 52 случая (17 злокачественных, 30 кист и 5 других) из данных УЗИ в больнице Мемфиса . Обученная нейросеть без ошибок определила 47 случаев, которых не было в данных, используемых для обучения. В этом исследовании было довольно мало информации для обучения, но тем не менее эффективность работы сети была велика. Самые большие трудности, почему нейронные сети пока нельзя повсеместно использовать — это то, что они еще не до конца проверены. Для их проверки требуется очень много данных, а не так-то просто создавать базы данных с медицинскими изображениями, чтобы научить нейронные сети опознавать болезни, — это не фотографии котиков и собачек. Пока в таких серьезных вопросах, как рак, нейронные сети могут быть только вторым мнением [3]. Но сейчас прикладывается много усилий, чтобы создавать базы данных, на которых нейросети могут лучше обучаться и на которых можно их использовать. Не так давно ученые создали нейросеть, которую обучили на 4000 гистологических снимках, и теперь она может определять тип рака легких с точностью 97% — даже опережая в этом живых специалистов. На рисунке 4 видно, что вывод специалистов очень близко совпадает с выводом нейросети: точки — это области, отмеченные нейросетью, а сплошные области выделили специалисты.
Вывод относительно рака: нейронные сети могут выделять те образцы, с которыми должен ознакомиться специалист, и выступать в качестве второго мнения. Аналогичным образом применяют нейронные сети для мониторинга серьезных хронических заболеваний, например, диабета [2].
Другие примеры диагностики с помощью нейронных сетей
Нейросети можно применять для самых разных диагностик, не только рака, хотя принцип их работы сохраняется.
Взять хотя бы болезни сердца: для определения диагноза классическим методом является ЭКГ с последующей расшифровкой медиком. К сожалению, не всегда по полученной записи ЭКГ можно определить заболевание. В особенности это относится к аритмии — довольно опасному заболеванию, при котором нарушается частота сердечных сокращений и их регулярность. Чтобы зафиксировать такое состояние, люди иногда сутками ходят с электродами для записи ЭКГ — и все равно в некоторых случаях аритмия остается невыявленной, что опасно и печально. Сейчас учеными Стэнфорда во главе с Эндрю Энджи создана нейронная сеть, которая может даже точнее и быстрее врачей диагностировать аритмию. Когда такое нововведение внедрят в медицинскую практику, это сильно ускорит диагностику аритмии и упростит работу врачей. Эта нейронная сеть обучалась на 30 000 тридцатисекундных записях ЭКГ, а потом еще на 300 более длинных. Кроме этого, создаются нейронные сети для диагностики заболеваний позвоночника. Для обучения одной из таких нейронных сетей использовалось 250 наборов записей о состоянии пациентов. В результате точность тестирования оказалась равна 83%, что очень неплохо для такого небольшого набора исходных данных [4].
Нейросети против резистентных бактерий
Как можно использовать нейросети, которые определяют объект в медицине, мы рассмотрели. Но в медицине также применяют нейросети, которые обобщают информацию и находят закономерности среди огромных объемов данных. Люди могут не видеть закономерность в горах данных — а они есть, и нейросеть их найдет. Такие нейросети применяют для решения очень важных и актуальных проблем. Известно, что многие антибиотики начинают работать все хуже. Это происходит из-за того, что бактерии становятся устойчивы к антибиотикам. Когда бактерий становится очень много, они быстро размножаются и мутируют. После приема антибиотиков, особенно не по правилам, без соблюдения рекомендаций и назначений врача, есть ненулевая вероятность, что какая-нибудь бактерия, обладающая некоторой мутацией, выживет и даст начало огромному количеству бактерий, которые тоже буду выживать после приема антибиотика. Выжившая сильная бактерия даст начало целой колонии резистентных бактерий, которым не страшен антибиотик. Находить новые антибиотики — единственный способ бороться с проблемой. На данный момент ничего лучше еще не придумали. С каждым разом новые виды антибиотиков становится искать все сложнее и сложнее; низко висящих плодов становится все меньше, приходится рассматривать все больше веществ. Как это часто бывает, в случае, где нужно проанализировать гигантские объемы информации, биологам помогают методы программирования.
Нейросети смогли найти новый антибиотик галицин, а также группы других веществ — потенциальных антибиотиков. Как всегда, нейросеть обучали по базе данных с уже известными антибиотиками и другими веществами. После этого через нее прогнали огромное количество разнообразных веществ, о способности к убийству бактерий которых ничего не было известно. И нейросеть выдала кандидатов, одним из которых оказался галицин — лекарство, которое изначально пробовали использовать для лечения диабета, но испытания показали его неэффективность. Зато испытания на бактериях доказали, что это новый антибиотик широкого спектра действия [5]. На рисунке 5 кратко описана суть процесса. Вначале сеть получила миллион молекул, после чего они прошли обработку в черном ящике; затем сеть выдала модель возможного антибиотика, после чего его проверили на бактериях. Подробнее о поиске новых антибиотиков с помощью машинного обучения читайте в статье «Поиск новых антибиотиков с помощью машинного обучения» [6].
Перспективы и реальность
Сейчас уже создано много эффективных и перспективных проектов с внедрением нейронных сетей в медицину — гораздо больше, чем описано здесь. Пока внедрение происходит медленно; требуется больше данных, чтобы приобрести уверенность в эффективности нейросетей и в том, что нейронные сети не будут делать роковых ошибок. Кроме того, внедрение нейросетей потребует изменения алгоритма работы медучреждений. Дополнительной проблемой является то, что по сути мы не можем узнать точно, как именно нейронная сеть пришла к выводу, поскольку скрытый слой, хоть его и настраивают люди, представляет из себя черный ящик, тогда как врач всегда может рассказать, почему он поставил такой диагноз. Нейронным сетям будет сложно доверять — мало ли что они там решили?
Тем не менее, возможности нейронных сетей очень велики, и если все сложится удачно, они станут превосходными помощниками врачей, смогут выполнять за них многие задачи, выступать в роли второго мнения в сложных случаях. В перспективе нейросети сделают диагностику гораздо более быстрой и эффективной, а мониторинг заболеваний будет возможен в домашних условиях. Они смогут сделать жизнь проще и врачам, и пациентам.
Литература
- AlphaFold: нейросеть для предсказания структуры белков от британских ученых;
- Jason W. Wei, Laura J. Tafe, Yevgeniy A. Linnik, Louis J. Vaickus, Naofumi Tomita, Saeed Hassanpour. (2019). Pathologist-level classification of histologic patterns on resected lung adenocarcinoma slides with deep neural networks. Sci Rep. 9;
- Philip S. Maclin, Jack Dempsey, Jay Brooks, John Rand. (1991). Using neural networks to diagnose cancer. J Med Syst. 15, 11-19;
- Пеников А.А., Козина А.В., Белов Ю.С. (2019). Искусственные нейронные сети в диагностике многокритериальных заболеваний. Материалы Всероссийской научно-технической конференции «Наукоемкие технологии в приборо- и машиностроении и развитие инновационной деятельности в вузе». С. 149–151;
- Jonathan M. Stokes, Kevin Yang, Kyle Swanson, Wengong Jin, Andres Cubillos-Ruiz, et. al.. (2020). A Deep Learning Approach to Antibiotic Discovery. Cell. 180, 688-702.e13;
- Поиск новых антибиотиков с помощью машинного обучения.