. Дубна: 9 oC
Дата 29.10.2020
Фото: depositphotos.com

Робот-хирург Da Vinci удаляет опухоли точнее, чем руки классного хирурга-человека. Когда робот-диагност сможет определять болезнь точнее, чем самый лучший врач? Как только качество машинного обучения робота-диагноста удовлетворит человека. В общем, скоро.

Руками робота Da Vinci все-таки управляет человек. А роботу-диагносту приходится учиться определять болезни самостоятельно. Происходит это примерно так. Компьютеру показывают набор снимков МРТ с уже поставленными диагнозами. Потом показывают снимок без диагноза. Компьютер должен сравнить этот новый снимок со снимками из заранее заложенного в него набора, найти или не найти сходство нового снимка с изображениями из набора и дать свой вывод: есть или нет на новом снимке болезнь из знакомого компьютеру набора.

Так происходит машинное обучение компьютера медицинской диагностике. Это если в двух словах.

Если подробнее рассказывать о машинном обучении, то обязательно надо поговорить об искусственном интеллекте и нейронной сети.

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

Самая простая искусственная нейронная сеть состоит их трех слоев процессоров – трех слоев искусственных нейронов. Один процессор – один нейрон.

perceptronn

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

Света нет – рецептор пребывает в состоянии покоя, и это состояние описывается цифрой «0». Свет есть – рецептор приходит в возбуждение и передает электрический сигнал. Это состояние описывается цифрой «1». Тогда состояние N рецепторов в каждый момент времени можно описать матрицей из N строк и N столбцов, состоящей из нулей и единиц.

Рецептору под номером 1 в матрице будет соответствовать строка под номером 1, в которой на месте под номером 1 будет стоять ноль, если в данный момент этот рецептор молчит, или единица, если в данный момент этот рецептор передает электрический сигнал. Места со второго по N-е в этой строке будут заняты нулями.

Рецептору под номером 2 в матрице будет соответствовать строка под номером 2. В ней место под номером 2 будет отражать состояние рецептора под номером 2: ноль, если в данный момент этот рецептор молчит, или единица, если в данный момент этот рецептор передает электрический сигнал. Все остальные N - 1 мест в этой строке будут заняты нулями.

Рецептору под номером N в матрице будет соответствовать строка под номером N, в которой на месте под номером N будет стоять ноль, если в данный момент этот рецептор молчит, или единица, если в данный момент этот рецептор передает электрический сигнал. Все остальные места в строке под номером N будут заняты нулями.

Все рецепторы первого слоя передают свои сигналы ассоциативным нейронам второго слоя. Каждый рецептор передает свой сигнал одновременно нескольким ассоциативным нейронам. Поэтому у каждого ассоциативного нейрона имеется целый набор (ассоциация) рецепторов.

Ассоциативный нейрон молчит, пока сигналы от рецепторов его ассоциации не превысят заданную программистами величину порога сигнала.

Математически это выглядит так. Ассоциативный нейрон суммирует сигналы от всех рецепторов своей ассоциации, затем отнимает от полученной суммы численное значение порога сигнала.

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

Если результат нулевой или отрицательный, то ассоциативный нейрон молчит. Его молчанию соответствует цифра «0».

Пример. Программист задал: ассоциативный нейрон должен включиться, когда получит сигналы от всех своих 20 рецепторов, образующих букву «К».

Если эта ассоциация из 20 рецепторов поймала свет и передала об этом сигнал своему ассоциативному нейрону, то ассоциативный нейрон передаст сигнал реагирующкму нейрону, что буква «К» есть. Если ассоциация в форме буквы «К» молчит полностью или частично, то молчит и ассоциативный нейрон. И для реагирующего нейрона буквы «К» нет.

Каждый реагирующий нейрон третьего слоя получает сигналы тоже от нескольких нейронов предыдущего – второго – слоя. То есть одному реагирующему нейрону соответствует несколько ассоциативных. И реагирует нейрон третьего слоя на сигналы от своих ассоциативных нейронов точно по такому же принципу: если превышен заранее заданный порог.

У каждого ассоциативного нейрона есть свой вес – число, обозначающее влияние его сигнала на общий результат.

Реагирующий нейрон суммирует сигналы от всех своих ассоциативных нейронов, помноженные на вес каждого их них. А затем отнимает от полученной суммы численное значение порога сигнала.

Если полученный результат положителен (порог сигнала превышен), то реагирующий нейрон выдает значение «1».

Если полученный результат отрицателен (порог сигнала не достигнут), то реагирующий нейтрон выдает «– 1».

Если полученный результат равен нулю, то реагирующий нейрон выдает «0» – сигнал не распознан.

Математическую модель трехслойной нейронной сети в 1957 году предложил американский нейрофизиолог Фрэнк Розенблатт и назвал ее перцептроном [1]. Через три года – в 1960 году – в Корнеллском университете, где преподавал психологию Розенблатт, на основе перцептрона был построен первый в мире нейрокомпьютер «Марк-1».

Перцептрон передавал сигналы от фотоэлементов в блоки электромеханических ячеек памяти.

Перцептрон учили распознавать образы методом проб и ошибок. Примерно так.

Мы хотим обучить перцептрон разделять распознаваемые им объекты на два класса. И хотим, чтобы при предъявлении объектов первого класса перцептрон выдавал значение «+1», а при предъявлении объектов второго класса «−1».

Действуем.

Случайным образом выбираем числовые значения порогов для ассоциативных нейронов.

Для каждого ассоциативного нейрона тоже случайным образом выбираем ассоциацию из нейронов-рецепторов. Далее эти ассоциации и их связи с ассоциативными нейронами остаются неизменными.

Начальные значения весов нейронов-рецепторов задаем нулевыми.

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

Показываем объект первого класса (треугольник). При этом некоторые ассоциативные нейроны возбудятся. Веса возбудившихся ассоциативных нейронов увеличиваем на 1.

Показываем объект второго класса (квадрат). Веса возбудившихся при этом показе ассоциативных нейронов уменьшаем на 1.

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

Похожим способом действуют нейронные сети в медицинской диагностике.

Вот как, к примеру, работает машинное обучение в диагностике туберкулеза и других болезней легких при анализе флюорограмм – снимков, полученных при флюорографии легких.

Берут 40 флюорограмм, размечают каждую из них на квадратики. Из размеченных квадратиков создают обучающую выборку из 30 000 квадратиков и тестирующую выборку из 10 000 квадратиков.

Затем выводят математическую функцию, которая позволяет определить, занимает ли изображение легких в конкретном квадратике снимка хотя бы 30% его площади.

nejroset rentgen

С помощью этой функции изображения на квадратиках снимков делят на два класса:

  • квадратики, где изображение легких занимает площадь 30% и более;
  • квадратики, где изображение легких занимает площадь менее 30%.

Далее все изображения превращают в цветовые гистограммы. Флюорографические снимки состоят из 65 536 оттенков серого цвета. Самый темный пиксель соответствует на гистограмме черному цвету, самый светлый – белому, остальные отображаются столбиками своего тона. Высота столбика каждого цвета на гистограмме соответствует площади области данного цвета на флюорографическом снимке.

Гистограммы в обучающей и тестовой выборках для их анализа разбивают на заданное количество кластеров с помощью специального алгоритма математической статистики – его называют методом k средних (k-means). Этот алгоритм использует в качестве характерного признака для каждого кластера отношение между минимальным и максимальным цветом для кусочка, а также отношения минимального и максимального цветов к среднему цвету всего снимка.

Результат такого машинного обучения нейронной сети чтению флюорографических снимков дает точность модели 88 процентов. Оставшиеся 12 процентов авторы модели трактуют как ложноположительные результаты. Метод представлен в курсовой работе сутдента Санкт-Петербургского госуниверситета [2].

Не так уж плохо, согласитесь!

Однако не все так уж хорошо, как выяснилось. Есть в использовании нейронных сетей некоторые проблемы, считает Андрей Крылов – доктор физико-математических наук, заведующий лабораторией математических методов обработки изображений факультета Вычислительной математики и кибернетики МГУ имени М. В. Ломоносова. «Во-первых, на мой взгляд, стремительно развивающиеся технологии искусственного интеллекта, частью которых являются искусственные нейронные сети, все же могут представлять угрозу для людей, – утверждает Андрей Крылов. – Мы не до конца понимаем, что происходит в этом черном ящике, соответственно, нам сложно это контролировать и предсказывать поведение этих программ. Эти технологии дают большие возможности, но не всегда могут быть использованы на благо. Вам дали для исследований или работы нейронную сеть, но вы даже не знаете, на чем ее обучали, есть ли там так называемые закладки — недокументированные возможности. Или, может, она обучена так, что в определенных случаях, если она работает с банковскими данными, сеть будет переводить деньги на какой-то другой счет или передаст важные данные на сторон».

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

«В науке сейчас происходит резкий слом — смена парадигмы. И если раньше такие изменения проходили так, что ученые так или иначе могли проверить, что происходит, то сейчас мы видим, что те же сверточные нейронные сети дают хорошие практические результаты, но они все еще остаются для нас черным ящиком, – уточняет Андрей Крылов. – Медицинские данные во многих случаях нельзя использовать и публиковать, даже если не указана фамилия пациента. В некоторых областях — офтальмологии, ретинопатии — есть стандартные базы данных, на которых можно что-то проверить и понять. В большинстве других случаев исследователи откуда-то берут какие-то свои данные, что-то с ними делают при помощи нейронной сети и потом объявляют, что у них точность результатов, например, 90%, и это выше, чем у профессиональных врачей. И закономерно возникает вопрос: как это проверить? Ответ: никак. Раньше при написании статьи автор указывал, какие методы он использовал, и можно было понять, за счет чего ему удалось улучшить результаты. А при описании результатов, полученных при помощи нейронных сетей, данные предоставляются крайне редко, и поэтому их происхождение и причины получения того или иного результата вызывают вопросы. Соответственно, самостоятельно проверить это исследование тоже нельзя, как и понять, за счет чего получился хороший результат. На каких данных тренировали сеть? На каких проверяли ее? Достоверность чаще всего проверить невозможно».

Тем не менее, нейронные сети используются в медицинской диагностике, но вместе с другими методами, которые позволяют всесторонне проанализировать состояние организма человека в связи с симптомами его заболевания. Но в юудущем нейронные сети вряди ли вытеснят все другие методы диагностики, прогнозирует Андрей Крылов.

«Я не думаю, что в ближайшие десять лет удастся как-то глобально продвинуться в комплексной компьютерной диагностике — по крайней мере, настолько, чтобы эти программы могли заменить даже медицинский персонал среднего уровня, – утверждает он. – Не бывает только одного заболевания: одна болезнь всегда влечет за собой и другие осложнения. Поэтому пока что в обозримом будущем едва ли у нас будут какие-то условные коробочки, которые можно подключить к человеку, и они тут же ему выдадут полную диагностику и рецепт. Но прогресс, конечно, будет каждый год: будет улучшаться диагностика в отдаленных регионах — именно за счет компьютерных технологий».

К слову, нейронные сети используются физиками Объединенного института ядерных исследований для обработки огромных объемов экспериментальных данных, получаемых в режиме онлайн, скажем, с Большого адронного коллайдера. Возможно, эти технологиии будет применяться и на строящемся в Дубне ускорительном комплексе NICA.

Добавить комментарий

Комментарии не должны оскорблять автора текста и других комментаторов. Содержание комментария должно быть конкретным, написанным в вежливой форме и относящимся исключительно к комментируемому тексту.


Защитный код
Обновить