Информационные технологии выросли за последние несколько лет, что привело к различным применениям в медицинской визуализации. Медицинская визуализация состоит из анализа изображений сканов, используемых в медицинских целях, таких как отчеты о радиологии и магнитно-резонансной томографии (МРТ), компьютерной томографии (КТ) и выявления заболеваний на основе изображений. Это делается путем обучения нейронных сетей и различных методов машинного обучения. В этой статье я хотел бы рассказать о различных архитектурах нейронных сетей, различных используемых наборах инструментов, а также о методах машинного обучения для анализа медицинских изображений.

  1. Нейронные сети:

Нейрон в нейронной сети можно смоделировать следующим образом:

где xi представляет вход, предоставленный нейронам, Y - выход. Каждый вход умножается на вес wi, и нейрону присваивается смещение b. Передаточные функции используются для выбора весов и смещения. Нейронная сеть обычно состоит из различных нейронов в каждом слое, причем слоями обычно являются входные слои, скрытые слои и выходные слои.

Несколько моделей нейронных сетей можно использовать для медицинской визуализации. Одной из наиболее распространенных нейронных сетей являются нейронные сети с прямой связью. В этой модели нейронной сети нейроны слоя связаны с нейронами следующего слоя. Эти сети могут перемещаться только в одном направлении, от входных слоев к скрытым слоям и выходным слоям, поэтому сеть известна как нейронная сеть с прямой связью. Обычно они используют алгоритм контролируемого обратного распространения (BP) для выбора весов и смещения для каждого нейрона в сети. Я подробно расскажу об алгоритмах с учителем после этого раздела нейронных сетей. Многослойный персептрон (MLP) — это тип нейронной сети с прямой связью, в которой в скрытых слоях используется нелинейная передаточная функция. Они полезны для нелинейно разделимых данных.

Нейронные сети с обратной связью или рекуррентные нейронные сети (RNN) имеют сигналы, идущие в обоих направлениях, включая циклы и проходя выходы от скрытых слоев к выходным слоям и обратно к скрытым слоям. Выходы сильно меняются, пока не будет достигнута точка равновесия.

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

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

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

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

2. Машины опорных векторов (SVM): SVM преобразуют входные данные таким образом, чтобы получить самую широкую плоскость, известную как опорный вектор разделения между двумя классами. Причина, по которой этот метод стал широко использоваться, заключается в том, что он может классифицировать точки данных, которые не являются линейно разделимыми, и дает точные результаты.

3. k-ближайшие соседи (kNN). В этом методе входной вектор, представляющий собой набор различных признаков неизвестного объекта-примера, классифицируется путем отнесения объекта к наиболее похожим классам или классам. Число соседей (известных объектов, ближайших к объекту-примеру), голосующих за класс, к которому может принадлежать объект-пример, равно k. Если k=1, неизвестный объект относится к классу, к которому принадлежит единственный ближайший сосед. Этот метод включает функцию подобия, которая определяет, насколько другие объекты близки к объекту примера. Эта функция может быть евклидовым расстоянием между значениями примера входного векторного объекта и значениями других примеров.

4. Деревья решений. Основная проблема с различным машинным обучением и анализом нейронных сетей заключается в том, что иногда люди не могут расшифровать причину различных весов, используемых для этих алгоритмов. Деревья решений решают эту проблему, поскольку это алгоритм, основанный на правилах, который легко понять людям. Результатом деревьев решений является набор вопросов «да» или «нет». Примером может быть вопрос, когда алгоритм спрашивает, больше ли числовое значение определенного значения или нет, скажем, у нас есть число 5. Мы можем спросить, больше ли 5, чем 10 (нет) или 5 больше, чем 2 ( да).

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

5. Наивный алгоритм Байеса. Этот алгоритм основан на теореме Байеса, которая описывается следующим образом:

P(y|x) = [P(y) * P(x|y)]/P(x),

где P(y|x) = Вероятность y при данной вероятности x,

P(y) = вероятность y, P(x) = вероятность x,

P(x|y) = Вероятность x при данной вероятности y.

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

В дополнение к этой статье, вот несколько библиотек на разных языках кодирования, которые полезны для анализа медицинских изображений:

  1. MATLAB: MATLAB имеет встроенный набор инструментов Neural Network. Этот набор инструментов состоит из различных функций для анализа медицинских изображений, связанных с машинным обучением.
  2. Python: Python имеет библиотеку обучения scikit, которая широко используется для алгоритмов машинного обучения. Это встроенная библиотека, которая упрощает анализ медицинских изображений. Кроме того, это полезно для создания нейронных сетей для анализа изображений.
  3. R: В языке R есть различные пакеты для МРТ-сканирования. К ним относятся: dmri.tracking (который реализует алгоритм отслеживания волокон для диффузионной МРТ), adaptsmoFMRI (который включает функции R, связанные с уровнем оксигенации крови, зависящим от использования данных функциональной МРТ), mritic (для классификации тканей МРТ). Он также включает в себя различные библиотеки общей обработки изображений, такие как adimpro (2D цифровое изображение) и bayesImageS (который реализует различные алгоритмы сегментации 2D и 3D изображений).
  4. Различные другие фреймворки, которые можно использовать для анализа медицинских изображений на разных платформах: набор инструментов для взаимодействия с медицинскими изображениями (используется для визуализации и обработки медицинских изображений, также может использовать сегментацию изображений), быстрые искусственные нейронные сети (используются для создания нейронных сетей для анализа медицинских изображений). ), Encog (используется для машинного обучения и нейронных сетей) и ITK-SNAP (используется для сегментации 3D-изображений).

Заключение:

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

Использованная литература:

[1] Эриксон Б.Дж., Корфиатис П., Аккус З., Клайн Т.Л. Машинное обучение для медицинской визуализации. Рентгенография. 2017 март; 37 (2): 505–15.

[2] Анвар С.М., Маджид М., Кайюм А., Авайс М., Алновами М., Хан М.К. Анализ медицинских изображений с использованием сверточных нейронных сетей: обзор. Журнал медицинских систем. 2018 ноябрь; 42:1–3.

[3] Цзян Дж., Трандл П., Рен Дж. Анализ медицинских изображений с помощью искусственных нейронных сетей. Компьютеризированная медицинская визуализация и графика. 1 декабря 2010 г .; 34 (8): 617–31.

[4] Lee JG, Jun S, Cho YW, Lee H, Kim GB, Seo JB, Kim N. Глубокое обучение в медицинской визуализации: общий обзор. Корейский журнал радиологии. 2017 1 августа; 18 (4): 570–84.