Главная Реферат Библиотека Ссылки Отчет о поиске Индивидуальное задание

Нейроинформатика / А.Н.Горбань, В.Л.Дунин-Барковский, А.Н.Кирдин и др. - Новосибирск: Наука. Сибирское предприятие РАН, 1998. - 296с.

Глава 5. Медицинская нейроинформатика (фрагмент)

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

Введение

Архитектура нейронной сети

Функционирование нейрона

Функционирование нейросети

Общая схема обучения нейронной сети

Список источников

Введение

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

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

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

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

Разработка математических методов решения медико-биологических задач ведется уже не одну сотню лет. Учеными предложено огромное количество способов проверки гипотез и продукции выводов. В 60-е годы были разработаны методы анализа, получившие некоторое распространение и вызвавшие волну публикаций. Общим признаком, объединяющим их, является наличие явных алгоритмов принятия решений. “Диагностический алгоритм включает в себя совокупность правил, определяющих порядок переработки медицинской информации с целью постановки диагноза” [1]. Несмотря на то, что наиболее популярные методы до сих пор активно используются в теоретической биологии и медицине, в клинической практике они не нашли широкого применения. Это связано, во-первых, с тем, что методы, ориентированные на обработку групповых данных, слабо применимы к отдельным объектам, а во-вторых, с особенностями самой медико-биологической информации. Решения в медицинских и биологических задачах зависят от большого количества неодинаковых по значимости факторов. Поэтому, даже если удается выстроить правила вывода, связывающие условия задачи с решением, метод, как правило, хорошо работает только на той группе объектов, на которой производились исследования. Естественно, создать универсальный алгоритм невозможно, и при использовании метода для другой подобной группы объектов его почти всегда приходится полностью переконструировать практически заново.

Многолетние исследования, проводимые с самыми различными явными алгоритмами, показали, что медицинские задачи, имеющие неявный характер, решаются явными методами с точностью и удобством, совершенно недостаточными для широкого практического использования в конкретных задачах диагностики, прогнозирования и принятия решений [2].

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

1. Задачи, имеющие известный и определенный набор условий, на основании которого необходимо получить четкий, точный, недвусмысленный ответ по известному и определенному алгоритму.

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

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

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

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

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

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

Общая черта, объединяющая приведенные примеры - отсутствие единой универсальной технологии создания таких приложений. В публикуемых разработках используются самые разнообразные архитектуры и алгоритмы функционирования нейронных сетей. Это приводит к тому, что для почти для каждой задачи разрабатывается своя собственная архитектура, и часто - уникальный алгоритм или уникальная модификация уже существующего. С точки зрения практического применения такие экспертные системы почти не отличаются от традиционных программ принятия решений; предложены даже методы преобразования традиционных экспертных систем в нейросетевые [3]. Их разработка требует участия специалистов по нейроинформатике, а возможности конструирования пользователем практически отсутствуют. Это делает такие системы чрезвычайно дорогими и не очень удобными для практического применения, поэтому в публикациях авторы в основном сравнивают качество работы нейросетевых алгоритмов и традиционных систем, работающих по правилам вывода.

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

Задачи классификации - основная и очень обширная группа медико-биологических задач. Ответом в них является класс - выбор одного варианта из заранее известного набора вариантов. Классификация может быть бинарной (элементарная классификация) - в этом случае набор возможных ответов состоит из двух вариантов (классов), и n-арной, где число классов более двух.

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

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

Вверх

Архитектура нейронной сети

Основой работы самообучающихся нейропрограмм является нейронная сеть, представляющая собой совокупность нейронов - простых элементов, связанных между собой определенным образом. Нейроны и межнейронные связи задаются программно на обычном компьютере или могут иметь "материальную" основу - особую микросхему (нейрочип), которые применяются в специально созданных нейрокомпьютерах. Структура взаимосвязей между нейронами в нейрокомпьютере или нейропрограмме аналогична таковой в биологических объектах. Искусственный нейрон имеет коммуникации с другими нейронами через синапсы, передающие сигналы от других нейронов к данному (дендриты) или от данного нейрона к другим (аксон). Кроме того, нейрон может быть связан сам с собой. Несколько нейронов, связанных между собой определенным образом, образуют нейронную сеть.

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

Очевидно, что существует огромное количество способов соединения нейронов, растущее с увеличением числа нейронов в сети. Наиболее употребительной является слоистая архитектура, в которой нейроны располагаются “слоями”. В наиболее общем случае аксоны каждого нейрона одного слоя направлены к нейронам следующего слоя. Таким образом, нейроны первого слоя являются входными (принимающими информацию из внешнего мира), нейроны последнего слоя - выходными (выдающими информацию во внешний мир). Схема трехслойной сети изображена на рисунке 1.

Рисунок 1. Трехслойная сеть с 6 нейронами

Другой вид архитектуры - полносвязная, когда каждый нейрон соединен с каждым, в том числе сам с собой. Пример простейшей нейросети из 3 нейронов показан на рисунке 2. Для удобства изображения из каждого нейрона выходит не один, а несколько аксонов, направленных на другие нейроны или во внешний мир, что аналогично присоединенным к одному аксону через синапсы нескольким дендритам.

Слоистые сети являются частными случаями полносвязных.

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

Рисунок 2. Схема простейшей нейронной сети из 3 нейронов. Сеть имеет 13 синапсов, 4 из которых служат для связи с внешним миром, а остальные соединяют нейроны между собой

Вверх

Функционирование нейрона

Рассмотрим устройство и функционирование отдельного нейрона. Каждое соединение от нейрона к нейрону называется синапсом. На рисунке 3 представлен нейрон с группой синапсов, соединяющих нейрон либо с другими нейронами, либо с внешним миром. Для рассмотрения работы нейрона неважно, приходит ли сигнал к нейрону из внешнего мира или с другого нейрона, и неважно, куда отправляется сигнал с нейрона. В полносвязных сетях выходной сигнал направляется всем остальным нейронам.

Нейрон состоит из двух функциональных блоков: входного сумматора и собственно нейрона, или преобразователя.

Рисунок 3. Схема нейрона

Функционирование нейрона происходит следующим образом.

В текущий момент времени через входные синапсы (на рисунке их 3) на нейрон направляются сигналы от других нейронов и/или из внешнего мира. Каждый синапс имеет параметр, называемый весом синапса, и представляющий какое-либо число. Сигнал, проходящий через синапс, умножается на вес этого синапса. В зависимости от веса, сигнал может быть усилен (модуль веса > 1) или ослаблен (модуль веса < 1) по амплитуде. Сигналы от всех синапсов, ведущих к данному нейрону, принимает сумматор.

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

f (X) = X/(C+|X|)                  (1)

где X - сигнал, поступаемый с сумматора, C - константа, называемая характеристикой нейрона. Оптимальный диапазон характеристики для решения подавляющего большинства задач составляет от 0,1 до 0,8. График характеристической функции представлен на рисунке 4. Выбор функции такого вида обусловлен тем, что она гладкая, непрерывная на всем диапазоне переменных X, диапазон значений всегда ограничен.

Рисунок 4. График характеристической функции

Вверх

Функционирование нейросети

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

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

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

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

Вверх

Общая схема обучения нейронной сети

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

Рассмотрим общую схему обучения нейросети.

1. Из обучающей выборки берется текущий пример (изначально, первый) и его входные параметры (представляющие в совокупности вектор входных сигналов) подаются его на входные синапсы обучаемой нейросети. Обычно каждый входной параметр примера подается на один соответствующий входной синапс.

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

3. Измеряются сигналы, выданные теми нейронами, которые считаются выходными.

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

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

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

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

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

Вверх

Список источников

1 . Парин В.В., Баевский Р.М. Медицина и техника.- М.: Знание, 1968.- С.36-49.

2 . Переверзев-Орлов В.С. Советчик специалиста. Опыт разработки партнерской системы // М.: Наука, 1990.- 133 с.

3 . Korver M., Lucas P.J. Converting a rule-based expert system into a belief network // Med. Inf. Lond.- 1993.- V.18, N.3.- P.219-241.

4 . Гилев С.Е., Коченов Д.А., Миркес Е.М., Россиев Д.А. Контрастирование, оценка значимости параметров, оптимизация их значений и их интерпретация в нейронных сетях // Доклады III Всероссийского семинара “Нейроинформатика и ее приложения”.- Красноярск, 1995.- С.66-78.

5 . Коченов Д.А., Миркес Е.М., Россиев Д.А. Автоматическая подстройка входных данных для получения требуемого ответа нейросети // Проблемы информатизации региона. Труды межрегиональной конференции (Красноярск, 27-29 ноября 1995 г.). Красноярск, 1995.- С.156.

Вверх

Главная Реферат Библиотека Ссылки Отчет о поиске Индивидуальное задание