Главная страница «Первого сентября»Главная страница журнала «Информатика»Содержание №21/2009


Теоретические основы информатики

Искусственный интеллект: популярное введение для учителей и школьников

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

Алгоритм обратного распространения ошибки

Эффективный алгоритм обучения многослойных персептронов, открывший путь их широкому практическому применению, стал известен только в 1986 г. благодаря публикациям Д.Румельхарта, Г.Хилтона и Р.Вильямса. Идея этого алгоритма заключается в том, что ошибки нейронов выходного слоя используются для вычисления ошибок нейронов, расположенных в скрытых слоях. Значения ошибок как бы распространяются от выходного слоя нейронов вовнутрь сети от последующих нейронных слоев к предыдущим. Отсюда название метода: алгоритм обратного распространения ошибки (back propagation).

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

Рассмотрим идею алгоритма обратного рас­пространения ошибки, попытавшись обобщить дельта-правило на случай обучения двухслойного персептрона, имеющего N входов, I выходов и скрытый слой из J нейронов (рис. 9). Этот персептрон на самом деле имеет три слоя, однако в литературе его называют двухслойным, поскольку нейроны входного слоя имеют всего один вход, не имеют синаптических весов и не выполняют суммирования входных сигналов, а лишь передают один-единственный входной сигнал нейронам следующего слоя.

Алгоритм корректировки синаптических весов нейронов выходного слоя оставим таким же, как для однослойного персептрона (см. обобщенное дельта-правило: формулы (22)–(24), заменив xj на yj ):

Рис. 9. Двухслойный персептрон с N выходами,
I выходамии скрытым слоем из J нейронов

Синаптические веса нейронов скрытого слоя попытаемся корректировать с помощью все тех же формул (22)–(24), в которых индекс i заменим на j, а индекс j заменим на индекс n:

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

Итак, для скрытого слоя окончательно имеем

Используя эту идею, несложно расписать алгоритм обратного распространения ошибки для обучения персептрона, имеющего произвольное количество скрытых слоев. Однако в краткой газетной публикации мы воздержимся от этого, отослав заинтересовавшегося читателя, например, к книге Л.Н. Ясницкого “Введение в искусственный интеллект”. М.: Академия, 2008.

Рекомендации по проведению урока

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

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

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

Вопросы и задания с ответами и комментариями

1. Объясните, в чем состоит идея алгоритма обратного распространения ошибки. Отражает ли название алгоритма его идею?

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

2. Какую роль в методе обратного распространения ошибки выполняет коэффициент скорости обучения h?

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

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

Комментарий: Рекомендуется использовать формулы алгоритма обратного распространения ошибки (29)–(36).

4. Сколько алгоритмов обучения нейронных сетей вам известно? Назовите их и охарактеризуйте их возможности.

Ответ: Правила Хебба, дельта-правило, обобщенное дельта-правило, алгоритм обратного распространения ошибки — всего четыре алгоритма. Первым алгоритмом, который мы изучали, были правила Хебба, предназначенные для обучения однослойного персептрона с нейронами, имеющими ступенчатые активационные функции. Затем было введено понятие нейронной ошибки как разницы между требуемым выходом нейрона di и его реальным значением yi. В результате правила Хебба были обобщены в виде алгоритма дельта-правила. В итерационных формулах алгоритма дельта-правила появился коэффициент скорости обучения , позволяющий влиять на величину итерационного шага. Затем была предложена сигмоидная активационная функция и было введено понятие квадратичной ошибки обучения персептрона. В результате появилось обобщенное дельта-правило, реализующее метод наискорейшего спуска и позволяющее работать не только с бинарными, но и с непрерывными сигналами. Алгоритм обратного распространения ошибки является следующим обобщением обобщенного дельта-правила и позволяет обучать не только однослойные, но и многослойные персептроны.

Лабораторная работа № 5: “Двухслойный персептрон”

Школьникам нужно напомнить о лабораторной работе № 1, выполняя которую они подбирали параметры однонейронного персептрона, пытались моделировать логические функции “И”, “ИЛИ” и “Исключающее ИЛИ”. Для первых двух функций их опыт удался, а для третьей — нет. Причина неудачи была выяснена на уроке, содержание которого полезно напомнить. Следует начертить на доске табл. 6 и нарисовать (или попросить школьников нарисовать) графики рис. 6–7. То есть надо вспомнить геометрическую интерпретацию работы нейрона.

После этого предложите школьникам еще раз запустить и попытаться выполнить лабораторную работу № 1, но теперь уже с пониманием геометрических рисунков в правой нижней части рабочего окна: “График выхода нейрона”. Это и есть графики, которые вы только что рисовали на доске, но они рисуются компьютером, причем как в плоском (внизу справа), так и в объемном (внизу по центру) видах, и каждое изменение параметров нейрона немедленно отражается на этих построениях: меняется положение пороговой прямой — линии, отделяющей возбужденное состояние нейрона от невозбужденного. Области рисунков, соответствующие возбужденному состоянию нейрона, закрашены красным цветом, а области, соответствующие невозбужденному состоянию, — зеленым цветом.

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

Рис. 10. Рабочее окно 5-й лабораторной работы

Как и прежние, эта лабораторная работа построена в виде диалога компьютера с учеником и практически не требует вмешательства преподавателя или лаборанта. Надо только дать команду, чтобы школьники запустили 5-ю лабораторную работу и выполняли задания, появляющиеся в окне “Протокол выполнения”.

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

План выполнения лабораторной работы построен так, что школьники должны подобрать по два удачных набора параметров персептрона для каждой моделируемой функции: “И”, “ИЛИ”, “Исключающее ИЛИ”. Кроме того, при моделировании последней функции школьникам дается задание проверить, получится ли решение задачи в случае использования линейной функции активации (ответ должен быть отрицательным), функции-ступеньки (ответ положительный) и сигмоиды (ответ положительный), а также в случае применения однослойного персептрона (ответ отрицательный). Школьникам также дается задание исследовать влияние коэффициента скорости обучения на сходимость процесса обучения. Для каждой функции активации (ступеньки, сигмоиды) они должны получить кривые сходимости при разных коэффициентах h, каждую такую кривую скопировать (путем нажатия клавиши ) и подготовить отчетный документ, например, с помощью текстового редактора Microsoft Word, выявив с помощью этих кривых наилучшее для данной задачи значение коэффициента скорости обучения h.

В ходе выполнения работы школьникам полезно задать вопрос, почему один и тот же персептрон при повторных запусках дает разные результаты: процесс обучения за одно и то же количество эпох в некоторых случаях приводит к решению задачи, а в некоторых случаях — нет?

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

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

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

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

— количества нейронов на скрытом слое,

— количество эпох обучения,

— коэффициента скорости обучения,

— вида активационных функций нейронов.

ВОЗМОЖНОСТИ И СФЕРЫ ПРИМЕНЕНИЯ ПЕРСЕПТРОНОВ

Новый способ построения математических моделей

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

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

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

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

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

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

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

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

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

И, наконец, благодаря методу математического моделирования было открыто явление ядерной зимы — глобальное понижение температуры поверхности планеты, вызванное массовыми ядерными взрывами. Никто это явление в действительности не наблюдал. Оно было открыто на экране компьютера в результате вычислительных экспериментов над математическими компьютерными моделями. И это открытие радикальным образом повлияло на государственную политику великих держав. Стало ясно, что победителей в ядерной войне не будет. Бессмысленная гонка вооружений была прекращена. Глобальный мир на Земле был сохранен, и планета была спасена.

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

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

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

Диагностика в медицине

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

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

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

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

Таким образом, выходной вектор персептрона D будет состоять из множества нулей и одной или нескольких единиц (если болезней несколько). Однако диагнозы болезней лучше кодировать по пяти-, десяти- или стобалльной шкале. Тогда на этапе подготовки обучающего множества примеров с помощью баллов можно будет учитывать степень уверенности врача в правильности его диагноза или степень развитости заболевания, а на этапе эксплуатации — вероятность правильного ответа персептрона. Например, если врач подозревает, что у больного инфаркт миокарда, знает, что у больного нет порока сердца и уверен, что больной страдает ишемической болезнью сердца, то он может указать: d1 = 20%, d2 = 0%, d3 = 100%.

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

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

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

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

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

Коротко о главном

Персептрон можно обучить ставить диагнозы заболеваний, т.е. — моделировать деятельность врача-диагноста.

Рекомендации по проведению урока

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

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

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

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

На примере решения этой задачи можно проследить всю последовательность применения метода математического моделирования.

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

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

3. Тестирование модели — выполняются пробные расчеты, например, строится траектория движения тела, которая сравнивается с реальной для того, чтобы убедиться в адекватности математической модели моделируемому процессу.

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

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

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

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

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

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

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

В заключение можно спросить школьников, в каком виде персептрон хранит медицинские знания в своей памяти. Ответ все тот же — в виде сил синаптических связей.

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

Вопросы и задания с ответами и комментариями

1. Когда возник метод математического моделирования?

Ответ:Метод математического моделирования возник одновременно с математикой. Любая математическая формула — это математическая модель какого-либо объекта, процесса, явления, предназначенная для получения полезной информации об этом объекте.

2. Приведите примеры применения метода математического моделирования.

Ответ:

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

2) Наиболее ярким примером применения метода математического моделирования является открытие явления “ядерной зимы” — резкое понижение температуры поверхности планеты в случае произведения массовых ядерных взрывов. Это явление еще никто никогда не наблюдал в действительности, но его открытие повлияло на политику великих держав, способствовало прекращению гонки вооружений.

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

3. Чем методика построения математических моделей на основе нейротехнологий отличается от традиционной?

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

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

Ответ: См. материалы урока.

5. Сколько ваш персептрон должен иметь входов и выходов?

Ответ: Количество входов персептрона должно сов­падать с количеством параметров и симптомов, которые использует врач при постановке диагнозов заболеваний. Количество выходов персептрона должно совпадать с количеством диагнозов, которые может поставить моделируемый вами врач.

6. Как быть, если врач-эксперт не совсем уверен в правильности выставляемого им диагноза?

Ответ: Чтобы это учесть, надо кодировать диагнозы заболеваний не в виде нулей и единичек, а по 100-балльной шкале. Тогда с помощью баллов можно учитывать степень уверенности врача. Например, если врач подозревает, что у больного инфаркт миокарда, знает, что у больного нет порока сердца и уверен, что больной страдает ишемической болезнью сердца, то он может указать: d1 = 20%, d2 = 0%, d3 = 100%.

7. Почему искусственный нейросетевой врач может превзойти обычного врача по качеству постановки диагнозов заболеваний?

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

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

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

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

8. Откуда нейросетевой врач получает медицинские знания и в каком виде он их хранит в своей памяти?

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

Лабораторная работа № 6: “Медицинская диагностика — один диагноз”.

Лабораторная работа № 7: “Медицинская диагностика — несколько диагнозов”

Учащимся следует напомнить, что темой последнего урока было моделирование работы врача-кардиолога. Был рассмотрен вопрос о том, как научить персептрон ставить диагнозы сердечных заболеваний.

Теперь школьникам предоставляется возможность обучить персептрон ставить диагнозы простудных заболеваний. Сначала персептрон должен научиться определять, болен или не болен пациент только одним-единственным заболеванием — гриппом (лабораторная работа № 6), а затем обучить его ставить один из трех диагнозов: “Пневмония”, “ОРЗ”, “Здоров” (лабораторная работа № 7).

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

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

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

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

Сообщите школьникам, что элективным курсом “Искусственный интеллект” предусмат­ривается выполнение самостоятельных (курсовых) работ, что темы курсовых работ школьники могут выбирать сами, исходя из собственных наклонностей, интересов, возможностей.

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

Рис. 11. Рабочее окно лабораторной работы № 6

Рис. 12. Рабочее окно лабораторной работы № 7


* Решение этой задачи методом нейросетевого моделирования планируется дать в последующем изложении.

Л.. Н.. Ясницкий

TopList