Отказ от ответственности: в этой статье предполагается, что читатель хорошо разбирается в том, как работают нейронные сети. Если вы полный новичок, я предлагаю прочитать эту статью Теодора Мюррея, чтобы получить некоторое представление об основах нейронных сетей.

Введение

Около 6–8% современного населения страдают синдромальными генетическими заболеваниями. Это составляет около 630 миллионов человек по всему миру! Синдромы, связанные с этими заболеваниями, серьезно влияют на здоровье и качество жизни пациентов. Ранняя диагностика этих заболеваний имеет решающее значение для облегчения симптомов и предотвращения развития дальнейших критических проблем со здоровьем. Однако во многих случаях пациенты обращаются к специалисту-генетику только через несколько лет после того, как болезнь показала свои симптомы. Постановка точного диагноза — важная часть любой медицинской практики, но она может быть особенно сложной при работе с генетическими заболеваниями. Для распространенных заболеваний эксперты-генетики могут быстро сформулировать сильную гипотезу о болезни и план борьбы с ней. Но в случае редких заболеваний диагностика может быть трудоемкой и дорогостоящей из-за большого количества потенциальных заболеваний и отсутствия опыта и специальных знаний. Пациенты могут не получать диагноз в течение многих лет или даже десятилетий, явление, известное как «диагностическая одиссея».

Чтобы решить эту проблему, исследователи по всему миру работают над поиском эффективных способов разрешения «диагностической одиссеи» с помощью решений на основе ИИ. В этой статье я собираюсь исследовать некоторые модели, используемые в этой предпосылке, и объяснить, как они работают. Я рассчитываю, что это будет полезно как для изучения некоторых моделей, используемых в глубоком обучении, так и для людей, заинтересованных в том, чтобы узнать, как ИИ может улучшить генетическое консультирование. Давай пристегнись!

Глубокий гештальт

Одной из популярных моделей, которая используется в этой области, является модель «DeepGestalt». «DeepGestalt» — это модель глубокого обучения, разработанная исследователями FDNA, которая может точно идентифицировать редкие генетические заболевания на основе черт лица. Разработка этой модели позволяет помочь клиницистам-генетикам в процессе «гештальт-идентификации». Проще говоря, «идентификация гештальта» относится к практикующим врачам, которые организуют клиническое восприятие в конкретные диагностические идеи в отсутствие полной информации о пациенте («гештальт» здесь означает «фенотип»). Например, предположим, что консультант по генетическим вопросам столкнулся с пациентом с редким генетическим заболеванием, называемым синдромом Ангельмана. Вместо того, чтобы полагаться только на интерпретацию ДНК (анализ генетических вариантов и т. д.), что может быть дорогостоящим и длительным, как обсуждалось выше, клиницист может сгруппировать свои наблюдения за пациентом, чтобы создать определенные гипотезы о состоянии пациента. В этом примере клиницист может прийти к диагнозу на основе комбинации лицевых дисморфизмов и клинического анамнеза.

Хотя эта процедура используется не только для диагностики генетических заболеваний, она особенно полезна при этом, поскольку многие генетические синдромы имеют лицевые фенотипы, которые очень информативны в процессе диагностики. Благодаря последним достижениям в области компьютерного зрения и машинного обучения анализ фенотипа лица является очень перспективным методом диагностики редких генетических заболеваний.

В свете этой новой области исследований ученые разработали приложение под названием Face2Gene, которое использует модель «DeepGestalt» в качестве прогностического механизма для улучшения ухода за пациентами, помогая клиницистам быстрее ставить более точные диагнозы. Face2Gene предназначен для облегчения процесса диагностики с помощью дифференциальной диагностики, а это означает, что, анализируя ориентиры на лицах пациентов, приложение может выявлять генетические заболевания на основе видимых симптомов и присваивать баллы вероятности возможным синдромам, что значительно помогает врачам в сокращении времени просеивания. через возможные синдромы.

Однако, чтобы понять, как работает DeepGestalt, нам нужно сначала изучить, что такое CNN.

Коротко о CNN

Сверточные нейронные сети, или сокращенно CNN, представляют собой специализированные архитектуры нейронных сетей, которые имеют широкий спектр приложений в компьютерном зрении и распознавании образов. С точки зрения высокого уровня их можно рассматривать как нейронные сети, которые могут сохранять пространственную информацию и эффективно создавать высокоуровневые представления входных данных, в нашем случае изображений. Но давайте углубимся в то, как на самом деле работают эти модели, изучив модель DeepGestalt.

Сверточный слой

Как вы могли догадаться из названия, сверточные нейронные сети состоят из сверточных слоев, сложенных друг к другу, чтобы создать сеть слоев. Проще говоря, сверточные слои — это способ извлечения сетью признаков из входного изображения с использованием пространственной (геометрической) информации.

Чтобы понять достоинства сверточных слоев, нам сначала нужно понять, что такое операция взаимной корреляции. Давайте представим, что у нас есть входное изображение в виде двумерной матрицы («матрица» — это математический термин, который относится к структуре данных для хранения числовых значений в формате строк и столбцов). Тогда допустим, что каждое число соответствует цвету пикселя. Обратите внимание, что таким образом мы можем представить любое двумерное изображение. Теперь, когда у нас есть наше изображение, что, если мы попытаемся извлечь из него пространственную информацию, такую ​​как брови, глаза или носы? Как люди, наша первая интуиция состоит в том, чтобы отсканировать изображение на наличие указанных функций. Что, если мы попытаемся имитировать это в компьютерах. Это именно то, что мы делаем!

Допустим, у нас есть другая матрица, называемая ядром, и мы запускаем наше ядро ​​через наше входное изображение, сдвигая его по нашей исходной матрице и выполняя поэлементное умножение, пока мы это делаем. Это то, что называется «операцией кросс-корреляции» или «скользящим точечным произведением».

Поразмышляйте над приведенными выше изображениями и убедитесь, что вы понимаете эту операцию. Если взаимная корреляция имеет смысл, давайте разберемся, для какой цели служит ядро. В контексте компьютерного зрения ядро ​​можно рассматривать как фильтр, который используется для обнаружения определенных шаблонов во входном изображении.

На заре исследований в области компьютерного зрения исследователи вручную создавали эти ядра, вручную настраивая параметры на основе геометрических рассуждений и сведений, специфичных для базы данных. Затем эти ядра использовались для извлечения признаков из входного изображения. Исследователи стремились обнаружить как низкоуровневые функции, такие как края, цветовые градиенты и т. д., так и высокоуровневые функции, такие как объекты и ориентиры, с помощью этих ядер. Здесь присутствует первое чудо CNN; ядра, созданные вручную, очень ограничены и подвержены ошибкам, потому что существует множество крайних случаев, которые просто не могут быть обработаны одними только интуитивными алгоритмами.

С помощью CNN мы можем вместо этого позволить нейронной сети обучиться этим ядрам и, по сути, разрешить ей придумывать извлеченные функции. В начале обучения ядро ​​запускается случайным образом. В ходе обучения модель сама изучает веса (значения), что дает ей гибкость в отношении того, что она хочет фильтровать на этом «слое». Как правило, ядра имеют иерархическую структуру. Ранние слои научатся обнаруживать простые функции, такие как края и линии, а более поздние слои будут искать более сложные функции, такие как формы и узоры.

Теперь, когда у нас есть наши ядра, которые ищут определенные шаблоны в нашем изображении, мы можем объединить эти ядра в «слой», который может идентифицировать несколько различных функций из одной и той же входной матрицы. Представьте это как процесс дистилляции: каждый раз, когда мы запускаем ядро ​​на входной матрице, фильтры очищают информацию, сохраняя ее в сложном формате, который может понять только сама модель — о формах, узорах, линиях и даже сложных отношениях между ними. эти — и передавая их на следующие слои. Для наших целей мы можем назвать комбинацию нескольких ядер, которые работают с одной и той же входной матрицей, «слоем свертки». Использование нескольких ядер позволяет сети параллельно изучать несколько различных функций, что повышает точность прогнозов.

Это обеспечивает гораздо лучшее обобщение (способность справляться с разбросом данных), эффективность и точность. Это одно из самых больших преимуществ использования статистических методов обучения по сравнению с символическими, созданными вручную алгоритмами. Мы, люди, довольно плохо находим закономерности в больших данных, но для компьютеров это относительно легко.

Возвращаясь к модели DeepGestalt, мы имеем 10 сверточных слоев, расположенных друг за другом. Из приведенного выше графика архитектуры модели видно, как сверточные слои используются для извлечения лицевых структур пациентов. В каждом сверточном слое есть образец карты объектов. Карты признаков указывают на выходные данные сверточного слоя, точечный продукт входной матрицы и ядро. Мы можем увидеть, что модель ищет в этой конкретной карте функций, отформатировав вывод в виде тепловой карты. Поскольку карта функций — это просто еще одна матрица, визуализация матрицы позволяет нам увидеть, какие регионы имеют большее значение, что соответствует важности, придаваемой ядром.

Объединение

Объединение слоев также является очень важным компонентом CNN. Объединение слоев служит двум целям. Во-первых, они действуют как суммирующий слой, в котором выходные данные сверточных слоев уменьшаются, при этом сохраняются доминирующие и «важные» функции. Это помогает уменьшить параметры и вычислительные затраты в сети. Во-вторых, они усиливают «инвариантность», то есть позволяют сети обнаруживать важные функции, даже если к изображению применяются некоторые переводы. Например, реальные клинические изображения обладают высокой степенью инвариантности из-за таких факторов, как размер лица, поза, выражение лица, фон, окклюзия и освещение. Таким образом, мы должны убедиться, что наша модель может учитывать эти факторы.

Существуют разные реализации объединения, но мы можем сосредоточиться на максимальном объединении, поскольку оно очень популярно и также используется в модели DeepGestalt. Максимальное объединение в основном берет максимальное значение из подматрицы, размер которой заранее определен. Например, если у нас есть максимальный объединяющий слой 2x2, как и в сверточных слоях, мы проходим через входную матрицу, добавляя максимальное значение подматриц к новой матрице. Мы могли бы думать об этом так, как если бы мы суммировали карту объектов, беря только самые важные сигнальные «пиксели» или «информацию». Я намеренно говорю о карте объектов, поскольку она обычно применяется после слоя свертки для уменьшения пространственных размеров карт объектов.

Магистральные модели и тонкая настройка

В современную эпоху глубокого обучения исследователи и инженеры часто прибегают к технике под названием «тонкая настройка». Благодаря огромным наборам данных, таким как ImageNet (состоящий из колоссальных 15 миллионов аннотированных изображений), были достигнуты невероятные успехи как в архитектуре моделей, так и в обучающих трюках для выполнения определенных задач, таких как распознавание и обнаружение объектов. Вместо того, чтобы обучать модель с нуля, инженеры и исследователи используют уже существующие модели и настраивают или адаптируют эти модели к конкретным задачам, которые они хотят выполнить. Эти ранее существовавшие модели называются «магистральными моделями» и действуют как «извлекатели признаков». Важно еще раз отметить, что CNN сами по себе — это всего лишь способ извлечь функции из входного изображения путем многократного применения фильтров к входному изображению. Нам нужен способ использовать эти функции и преобразовывать их в полезные результаты.

Для модели DeepGestalt исследователи добавили полносвязный слой, который принимает все извлеченные признаки и выводит распределение вероятностей генетических заболеваний, которые могут быть у пациента. DeepGestalt способен идентифицировать более 2500 генетических заболеваний, а это означает, что глубокий гештальт выводит распределение вероятностей более 2500 генетических заболеваний и показывает статистически значимые из них, чтобы помочь врачу в дифференциальной диагностике.

DeepGestalt использует модель распознавания лиц, обученную на наборе данных CASIA Web-Face, в качестве базовой модели. Эта базовая модель способна дать общее представление о лицах. Затем, обучая модель на собственном наборе данных Face2Gene, они настраивают модель так, чтобы фенотипические черты лица соответствовали генетическим заболеваниям.

Полученные результаты

Исследователи проверили точность модели DeepGestalt на нескольких задачах. А именно, бинарная классификация, то есть существует ли на изображении определенный синдром или нет, и мультиклассовая классификация, когда модель просят вывести распределение вероятностей нескольких генетических заболеваний. Для задачи бинарной классификации DeepGestalt показал колоссальную точность в 96%, в то время как группа из 65 дисморфологов, решивших ту же задачу, смогла достичь точности только в 75%. Для многоклассовой классификации используется метрика точности top-k. Точность Top-k означает, что для данного значения k, когда распределение вероятностей упорядочено в порядке убывания, реальное генетическое заболевание находится среди вероятностей top-k. DeepGestalt набрал 60%, 80% и 91% точности для топ-1, топ-2 и топ-10 соответственно. Это невероятное достижение и свидетельство того, насколько полезен фенотипический анализ для выявления редких генетических заболеваний! Подумайте, как далеко мы продвинулись от диагностической одиссеи, когда пациенты годами боролись за то, чтобы поставить диагноз, до возможности предложить очень многообещающие выводы врачам, работающим с пациентами.

GestaltMatcher

Мы подробно изучили DeepGestalt и то, как он работает. Теперь пришло время взглянуть на GestaltMatcher, глубокое улучшение способностей DeepGestalt. Однако важно сначала понять назначение этой модели, прежде чем углубляться в технические аспекты ее работы.

GestaltMatcher был создан, чтобы позволить клиницистам эффективно анализировать и диагностировать крайне редкие заболевания (считается, что они затрагивают 1 пациента на 50 000 человек). В то время как Deep Gestalt является надежной моделью с сильной способностью разделять определенные синдромы и подтипы, даже превосходя по производительности экспертов-людей, существует серьезное ограничение для выявления ультраредких заболеваний, у которых мало задокументированных случаев из-за отсутствия данных для подачи. в DCNN (глубокая сверточная нейронная сеть). DCNN требуют больших объемов данных для каждой метки, поскольку они представляют собой очень сложные модели со многими параметрами, которые необходимо корректировать в процессе обучения. Имея больше данных, сеть может изучать более надежные и обобщаемые функции, что повышает ее производительность на невидимых данных и помогает избежать переобучения. Однако при очень редких заболеваниях из-за небольшого количества задокументированных случаев и данных невероятно сложно стремиться к сбалансированному набору данных, который хорошо работает и при этих заболеваниях.

Более того, чтобы добавить новый синдром для классификации в DeepGestalt, разработчикам приходится каждый раз переобучать «голову классификации» или полностью связанный слой в конце, который выдает вероятности! Это невероятно неудобно и дорого.

Вот где GestaltMatcher действительно сияет. Благодаря новому подходу GestaltMatcher удается научиться классифицировать крайне редкие расстройства и поддерживать высокую точность, несмотря на низкую распространенность расстройства! Ниже вы можете увидеть иллюстрацию того, как GestaltMatcher может работать с заболеваниями, размер выборки которых на порядок меньше, чем расстройства, с которыми может работать DeepGestalt.

Технические детали

Чтобы выполнить этот новый подвиг, GestaltMatcher использует другой подход к классификации, чем DeepGestalt. Мы видели, как DeepGestalt использовал полносвязный слой для получения характеристик изображения, а затем делал прогнозы относительно вероятности наличия у пациента определенных синдромов. GestaltMatcher, с другой стороны, избавляется от полностью связанного слоя в конце и вместо этого создает пространство признаков, используя 320-мерный вектор признаков, который передается из сверточных слоев. Давайте разберем это.

Пространство функций

Мы упоминали, что GestaltMatcher создает пространство признаков, используя 320-мерный вектор признаков. Но что именно означает «функциональное пространство»? Проще говоря, пространство признаков — это математическое представление входных данных, где каждое измерение соответствует признаку входных данных. Давайте продолжим наш случай классификации изображений. Предположим, наши изображения имеют размер 300x300 пикселей. Мы можем рассматривать изображение как координатную точку, состоящую из 9000 измерений, или, другими словами, как описание точки в 9000-мерном пространстве, где каждое измерение соответствует интенсивности определенного пикселя. В этом случае каждая точка в пространстве признаков представляет изображение, а расстояние между точками в пространстве признаков представляет сходство или различие между изображениями.

Если мысли о 9000-мерном «объекте» кажутся странными, добро пожаловать в мир абстрактной математики. Однако важно отметить, что измерение здесь просто представляет собой способ «количественного определения» расстояния каждого объекта по отношению к тому, что представляет измерение, в данном случае к конкретному пикселю. Я мог бы иметь одномерную шкалу определенного пикселя и расположить свои изображения вдоль этой оси, чтобы получить «подобие» моих изображений, поскольку оно относится к этому пикселю, путем измерения расстояния между ними. Когда я применяю этот процесс ко всем пикселям, присутствующим в изображении, я получаю 9000-мерное пространство признаков, в котором я могу моделировать сходства и различия моих изображений, поскольку это относится к значениям их пикселей, таким образом, само изображение в большинстве случаев грубый смысл.

Однако в глубоком обучении и CNN в целом мы стремимся преобразовать изображения в векторы признаков с определенными свойствами, такими как формы, края и шаблоны. Это позволяет гораздо более богатое и «абстрактное» представление изображений, чем просто использование пикселей.

В GestaltMatcher, как видно на приведенном выше графике архитектуры, авторы используют 320-мерное пространство признаков, называемое CFPS (Clinical Face Phenotype Space), и преобразуют 320-мерный вектор признаков, который подается в полностью связанный слой в конце, в координатная точка в пространстве признаков, называемая FPD (дескриптор фенотипа лица).

Сравнивая расстояние между точками в пространстве, они могут количественно определить сходство. По их словам, это «формирует основу для «классификации синдромов, определения новых фенотипов и группирования пациентов»». По сути, благодаря сочетанию фенотипов в таком пространстве признаков клиницисты получают возможность анализировать сходство случая пациента с другими синдромами и пациентами.

Наличие такого функционального пространства на полностью связанном слое дает несколько преимуществ. Во-первых, клиницист получает доступ к богатому представлению синдромов и может учитывать связь случая с другими синдромами при постановке диагноза. Это особенно полезно, потому что GestaltMatcher также можно использовать для сравнения людей, а не только синдромов. Это позволяет быстро «очерчивать» и исследовать недавно обнаруженные или недостаточно изученные ультраредкие генетические нарушения. Во-вторых, с помощью этой структуры мы можем «абстрагировать кодирование набора данных от задачи классификации». Другими словами, поскольку CFPS (пространство функций) и конечная цель слабо связаны, клиницисты могут работать с CFPS, чтобы «сопоставлять пациентов и количественно определять их синдромальное сходство», а также адаптировать фильтры, применяемые к CFPS, к своим собственным потребностям с помощью минимальные вычислительные затраты.

Полученные результаты

Для оценки сети авторы использовали тестовые случаи с известными диагнозами, прогоняли их по сети, чтобы найти их НПР, и смотрели, входит ли совпадающее расстройство в «k» ближайших диагнозов в CFPS, или, другими словами, в «верхний список». k точность». В топ-10 рейтинга Gestalt Matcher достигнута точность 64%.

Затем, чтобы измерить эффективность соединения невыявленных пациентов с одним и тем же расстройством, вместо оценки k-ближайших диагнозов они оценили k лучших совпадающих людей с одним и тем же синдромом. Это указывает, насколько вероятно, что модель сопоставит двух пациентов с одним и тем же синдромом в первых «k» предсказаниях. Находясь в топ-10 рейтинга, Gestalt Matcher достиг 33% точности.

В целом GestaltMatcher имеет более низкую точность классификации часто встречающихся синдромов, чем модель DeepGestalt. Однако для редких и ультраредких заболеваний, хотя пространство поиска примерно в четыре раза больше, точность почти не теряется. Это показывает, насколько устойчива модель к добавлению новых расстройств. Это ясно показывает, что этот подход хорошо масштабируется, что является очень важным свойством при работе с ультраредкими генетическими заболеваниями. Поэтому нельзя сказать, что GestaltMatcher является скорее расширением возможностей DeepGestalt, чем заменой.

Фенотипирование следующего поколения и влияние технологии

Фенотипирование невероятно важно для улучшения диагностики генетических заболеваний. С появлением секвенирования следующего поколения (NGS), то есть ряда технологий, позволяющих секвенировать или «читать» геном человека, огромные геномные данные, присутствующие в организме человека, стали доступны многим клиницистам для точного определения генетических заболеваний. Однако анализ этих данных может быть дорогим и длительным. Данные о фенотипе намного доступнее и дешевле для анализа. Войдите в фенотипирование следующего поколения. Анализируя и интерпретируя фенотипические данные, мы можем быстрее и дешевле получить очень интересные и важные сведения о состоянии здоровья. Для клиницистов, у которых нет доступа к генетическому тестированию и анализу, например, в развивающихся странах, фенотипический анализ может дать генетическую информацию без необходимости проведения генетического теста! Для клиницистов, у которых есть доступ к генетическому тестированию, эти технологии могут помочь им выбрать более специализированные генетические тесты. Клиницисты могут сузить круг прогнозируемых заболеваний и использовать более конкретные тесты или генетические мишени, чтобы не допустить распространения нерелевантной информации, препятствующей постановке диагноза. В исследовании Приоритет анализа изображений данных экзома (PEDIA) сообщается, что причинные гены и варианты причинных генов, то есть гены, которые «вызывают» заболевание, входят в первую десятку вариантов примерно в 90% случаев, когда НГС и НГП сочетаются. Это феноменальное улучшение и большой шаг вперед в повышении эффективности диагностики. Таким образом, объединение двух технологий, NGS и NGP, обладает огромным потенциалом для развития этой области.

Рекомендации

https://github.com/vdumoulin/conv_arithmetic

https://ijponline.biomedcentral.com/articles/10.1186/1824-7288-41-S2-A16

https://www.linkedin.com/pulse/next-generation-phenotyping-genomics-pharma-jeffrey-daniels/

https://arxiv.org/pdf/1801.07637.pdf?

https://www.face2gene.com

http://d2l.ai/chapter_convolutional-neural-networks/index.html

https://www.nature.com/articles/s41588-021-01010-x.epdf?sharing_token=NBGHPx9j2-e4AQrSf0mU59RgN0jAjWel9jnR3ZoTv0NYQQcfIzBQq6LR9OzPM3X7izUEWoZixO20kCtq7VZCGFwXK 8Ae359TDSwshsUP9Z6aH-mjQFFxx6lxCMkxfvaHYUUo7zgofl6cFPezDTHxEKNaLyeniPVe39cYs9r_ffsQNxnudrVI3wVVBcjjmI9fIrAjHhAfUE00HsuwN97Vu2sf8Yzg26NBkIsmCYkxXB XCFZMyBB_TJWcPYXdajr9Kz4nZoDbIvXqGNsThLgrd8w%3D%3D&tracking_referrer=www.wired.com

https://www.youtube.com/watch?v=uapdILWYTzE&t=1s

http://introtodeeplearning.com

https://towardsdatascience.com/a-comprehensive-guide-to-convolutional-neural-networks-the-eli5-way-3bd2b1164a53