дб. Четвертое издание джозеф Джарратано Университет Хьюстон клиэрЛэйк Гари Райли People5oft, Издательский дом "Вильямс" Москва СанктПетербург Киев 2007 ббк 32. 973. 26 018 75 Д
Скачать 3.73 Mb.
|
учетом порядка операторов Неявная интеграция С помощью правильного алгоритма Подразумевается наличие правильных данных Обработка числовых данных, файлов и текста Как правило, последовательное С использованием машины логического вывода Явное разделение Отличается высокой степенью приспособляемости То, насколько решение приближается копти- мальному, зависит от задачи Проект с минимально заданной структурой или вообще без структурыэтому направлению относится классический алгоритм П)3, применяемый для машинного обучения, а также более новые алгоритмы Си С. При указанном подходе программа обучается путем формирования обобщений на основе представленно- Экспертные системы обычно используются стой целью, чтобы легче было справиться с неопределенностью. Неопределенность может обнаруживаться во входных данных экспертной системы и даже в самой базе знаний. На первый взгляд это может показаться удивительным для тех специалистов, которые привыкли работать в рамках обычного программирования. Но большая часть человеческих знаний является эвристической. Это означает, что знания могут оказаться правильными не во всех ситуациях, поэтому вместо использования имеющихся знаний приходится применять какой- то другой подход. Кроме того, входные данные могут оказаться неправильными, неполными, несогласованными, а также содержать ошибки разных типов. Алгоритмические решения не позволяют справляться с подобными ситуациями, поскольку алгоритм обязан гарантировать решение задачи с помощью конечной последовательности шагов. В зависимости от входных данных и состояния базы знаний экспертная система может предложить правильный ответ, приемлемый ответ, неприемлемый ответили вообще не дать ответа. Безусловно, на первый взгляд такая ситуация может показаться шокирующей, но это лучше, чем отсутствие возможности получить ответ при некоторых обстоятельствах. Кроме того, следует учитывать еще одно важное соображение — хорошая экспертная система способна действовать не хуже по сравнению с самым лучшим решателем задач соответствующего класса (экспертом- человеком) и даже более успешно. Если бы был известен эффективный алгоритмический метод, действующий лучше, чем любая экспертная система, то достаточно было бы просто воспользоваться этим методом. Но важнее всего иметь возможность применить самый лучший, причем, вероятно, единственный инструмент для выполнения работы. Искусственные нейронные системы 103 Искусственные нейронные системы В х годах в число широко применяемых принципов программирования вошло новое направление разработок, получившее название искусственных нейронных систем (Artificial Neural System — ANS). Это направление основано на открытии одного из способов обработки информации мозгом. Указанный подход иногда упоминают под названием коннекционизма (от английского слова connection — соединение, поскольку в нем процесс решения задач моделируется путем обучения моделей нейронов, соединенных в сеть. В настоящее время искусственные нейронные системы применяются во многих приложениях, начиная с распознавания лиц, медицинской диагностики, ведения игр, распознавания речи и заканчивая управлением двигателями автомобилей. Исследователи, придерживающиеся коннекционистского направления, полагают, что размышления о вычислениях, проводимые в терминах модельного представления мозга, а не модельного представления компьютера, ведут к лучшему пониманию характера интеллектуального поведения. Таким образом, в основе коннекционизма лежит такая идея, что в области искусственного интеллекта можно добиться существенного прогресса, подходя к решению задач сточки зрения организации вычислений в том стиле, который применяется в мозгу, а нес помощью манипулирования символами на основе правил. Нейронные сети представляют собой способ обработки информации, базирующийся на том принципе, по которому осуществляется обработка информации в таких биологических нервных го образца, подобно тому, как человек мог бы обучиться наращивать последовательность 2,4,6,"?". Одним из направлений, в котором был успешно применен данный подход, является доступ к базе данных. При этом пользователь может не указывать конкретные значения для одного или нескольких полей, по которым должен быть выполнен поиск, поскольку для него достаточно выбрать лишь один или несколько подходящих примеров полей с искомыми характеристиками. После этого программа доступа к базе данных выявляет логическим путем характеристики данных и выполняет поиск соответствующих записей в базе данных. В качестве наглядных примеров использования распознавания образов при поиске могут служить Oracle и другие системы управления реляционными базами данных, в которых применяется язык SQL (Structured Query Language — язык структурированных запросов), ключевые слова которого взяты из английского языка. Некоторые инструментальные средства экспертных систем предоставляют возможность использовать обучение по индукции, в процессе которого они принимают для анализа примеры и практические задания, а затем автоматически вырабатывают правила (подробнее об этом — в приложении Ж Глава 1. Введение в экспертные системы системах, как мозг. Фундаментальным понятием нейронных сетей является структура системы обработки информации. В системе нейронной сети, состоящей из большого количества обрабатывающих элементов (или нейронов, соединенных многочисленными связями, для решения задач используется такой же способ обучения на примерах, каким руководствуются люди. Конфигурация нейронной сети настраивается на реализацию конкретного приложения, такого как классификация данных или распознавание образов, с помощью процесса усвоения знаний, называемого обучением. При этом, как ив биологических системах, обучение предусматривает внесение изменений в характеристики синаптических соединений, существующих между нейронами. Предусмотрено много способов классификации типов искусственных нейронных систем, но самый полезный отличительный классификационный признак состоит в том, должно ли быть предусмотрено для такой системы обучающее множество входных и выходных данных, или нет. Если обучающее множество предусмотрено, то искусственная нейронная система называется основанной на контролируемой модели. А если система должна обучаться классификации входных данных, не зная каких-либо выходных данных, то она именуется неконтролируемой. Хорошим примером контролируемой искусственной нейронной системы является система, применяемая при распознавании лиц. В отличие от этого, если точно неизвестно, какими должны быть выходные данные, то искусственная нейронная система служит в качестве хорошего классификатора для группирования входных данных, как при распознавании больных и здоровых людей в случае обнаружения вспышек заболевания. Нейронные сети могут классифицироваться по способу соединения нейронов отличаться от других тем, что в них применяются определенные типы вычислений, выполняемых нейронами; обеспечивать различные способы передачи шаблонов активности посети а также характеризоваться определенным способом обучения и скоростью обучения. Нейронные сети применялись для решения практических задач всех типов. Основным преимуществом нейронных сетей является то, что они позволяют решать задачи, слишком сложные для обычных технологий, те. такие задачи, которые не имеют алгоритмического решения или для которых алгоритмическое решение является слишком сложным, чтобы его можно было определить аналитически. Вообще говоря, нейронные сети хорошо подходят для решения задач, которые успешно решают и люди, ноне могут объяснить, как они это делают. В число таких задач входят распознавание образов и прогнозирование (в последнем случае требуется также обнаруживать тенденции изменения данных. В настоящее время искусственный интеллект широко используется при анализе скрытых закономерностей в данных для обнаружения в исторических данных таких шаблонов, которыми компания могла бы руководствоваться в будущем. Например, анализ скрытых закономерностей в данных может применяться 105 1.13. Искусственные нейронные системы в компании для определения того, когда следует накапливать на складе определенные товары с учетом сезонных вариаций спроса. Кроме того, нейронные сети используются в качестве интерфейсной части таких экспертных систем, для которых требуются большие объемы входных данных от датчиков, а также необходим отклик в реальном времени. В разделе группы новостей comp. ai. neural — nets предоставляются без ограничений для загрузки свыше пятидесяти искусственных нейронных систем другие информационные ресурсы упоминаются в приложении Ж. Задача коммивояжера Искусственные нейронные системы позволили добиться замечательных успехов в обеспечении отклика в реальном времени при решении сложных задач распознавания образов. В 1980-х годах нейронная сеть, эксплуатируемая на обычном микрокомпьютере, позволила получить очень качественное решение задачи коммивояжера за 0,1 секунды, те. намного быстрее по сравнению с оптимальным решением, для получения которого потребовался целый час процессорного времени на мэйнфрейме. Задача коммивояжера является очень важной, поскольку представляет собой классическую задачу, с которой приходится сталкиваться при оптимальной маршрутизации пакетов в системе передачи данных. Задача поиска оптимальных маршрутов является важным средством минимизации времени прохождения пакетов, поскольку от этого зависят эффективность и быстродействие, достигаемые как при маршрутизации пакетов через Интернет, таки при доставке посылок по почте многочисленным адресатам. В своей основной постановке задача коммивояжера сводится к вычислению самого короткого маршрута через города, указанные в некотором списке. В табл. 1.13 показаны возможные маршруты для городов, количество которых составляет от одного до четырех. Обратите внимание на то, что количество маршрутов пропорционально факториалу количества городов за вычетом единицы, (Х — 1)!. Количество маршрутов для 10 городов равно 9! = 362880, а для 30 городов количество возможных маршрутов составляет примерно 29! = 8.8зо. Задача коммивояжера представляет собой классический пример комбинаторного взрыва, поскольку количество возможных маршрутов увеличивается настолько быстро, что для какого-либо количества городов, которое может встретиться в реальном случае, невозможно найти практически применимые решения. В частности, если решение задачи для 30 городов потребует одного часа процессорного времени, то для 31 города потребуется 30 часов, а для 32 городов — 330 часов. Но фактически указанные размерности задачи очень малы по сравнению с применяемыми в действительности тысячами телекоммуникационных коммутаторов и сотнями городов, которые рассматриваются в задачах маршрутизации пакетов данных и реальных предметов транспортировки Глава 1. Введение в экспертные системы Таблица Маршруты, обнаруженные в процессе решения задачи коммивояжера Количество городов Маршруты 1 — 2 — 1 1 — 2 — 3 — 1 1 — 3 — 2 — 1 1 — 2 — 3 — 4 — 1 1 — 2 — 4 — 3 — 1 1 — 3 — 2 — 4 — 1 1 — 3 — 4 — 2 — 1 1 — 4 — 2 — 3 — 1 1 — 4 — 3 — 2 — 1 Элементы искусственной нейронной системы Искусственная нейронная система может рассматриваться как аналоговый компьютер, в котором используются простые обрабатывающие элементы, соединенные друг с другом главным образом параллельно. Обрабатывающие элементы выполняют очень простые логические или арифметические операции над своими входными данными. Основой функционирования искусственной нейронной системы является то, что с каждым элементом такой системы связаны весовые коэффициенты. Эти весовые коэффициенты представляют информацию, хранимую в системе. Нейронная сеть позволяет найти решение для случая с 10 городами почти за такое же короткое время, как и для случая с 30 городами, тогда как для обычной программы требуется намного больше времени. В случае с 10 городами с помощью нейронной сети был найден один из двух оптимальных маршрутов, а в случае с 30 городами один из лучших 100000 000 маршрутов. Это достижение становится еще более впечатляющим, если учесть, что найденный маршрут относится к числу самых лучших из оптимальных решений. Безусловно, нейронные сети могут не всегда давать оптимальный ответ, но способны предложить наилучший вариант в режиме реального времени. А во многих случаях ответ, правильный на полученный за 0,1 секунды, лучше, чем ответ, правильный на 100'Ъ, который получен через 30 часов. В качестве других способов решения этой задачи использовались генетические алгоритмы, как показано в приложении Ж, и алгоритм Ant [23]. Еще один успешно опробованный подход основан на реальных результатах изучения ДНК [87]. 107 1.13. Искусственные нейронные системы Рис. Обрабатывающий элемент нейрона Выходной сигнал нейрона часто формируется с помощью сигмоидальной функции от входного. Реакция, которая может быть описана с помощью сигмоидальной функции, является типичной для реальных нейронов эта реакция заключается в том, что выходной сигнал стремится к одному из пределов при получении очень малых и очень больших входных сигналов. Функция, которая связывает выход нейрона сего входами, называется функцией активизации. В качестве нее обычно используется сигмоидальная функция (1+ е ) . Кроме того, с каждым нейроном связано пороговое значение, 0, которое вычитается из общего входного сигнала, I. На рис. 1.11 показана искусственная нейронная система, способная вычислять значение исключительного ИЛИ (exclusive-OR — XOR) от ее входов с использованием способа, называемого обратным распространением. Сеть, вычисляющая значение исключительного ИЛИ, выдает истинный выход, только если не на всех ее входах имеются истинные значения или не на всех входах имеются ложные значения. Количество узлов вскрытом слое изменяется в зависимости от приложения и проекта. Нейронные сети не требуют программирования в обычном смысле этого слова. Для обучения нейронных сетей применяются многие другие алгоритмы обучения нейронных сетей, такие как встречное распространение и обратное распростра- Типичный искусственный нейрон показан на рис. Нейрон может иметь несколько входов, но только один выход. Человеческий мозг содержит приблизительно нейронов, а каждый нейрон может иметь тысячи соединений с другими. Входные сигналы нейрона умножаются на весовые коэффициенты и складываются для получения суммарного входа нейрона, I. Весовые коэффициенты могут быть представлены в виде матрицы и обозначены подстрочными индексами 108 Глава 1. Введение в экспертные системы Рис. 1.11. Сеть с обратным распространением Характеристики искусственной нейронной системы По своей архитектуре искусственная нейронная система во многом отличается от обычной вычислительной системы. В обычном компьютере предусмотрена возможность связывать с ячейками памяти дискретную информацию. Например, компьютер позволяет хранить номера карточек социального обеспечения, представленные с помощью кода ASCII, в группах смежных ячеек памяти. А исследование содержимого каждой группы смежных ячеек памяти позволяет непосредственно реконструировать значение одного из номеров карточек социального обеспечения. Такое восстановление данных является возможным, поскольку имеется взаимно- нение. Программист "программирует" сеть, задавая входные данные и соответствующие выходные данные. Сеть обучается, автоматически корректируя весовые коэффициенты в сети, соединяющей нейроны. Весовые коэффициенты и пороговые значения нейронов определяют характер распространения данных через сеть и тем самым задают правильный отклик на обучающие данные. Обучение сети в целях получения правильных ответов может потребовать многих часов или дней, в зависимости оттого, какое количество образов должно быть изучено входе обучения сети, а также от необходимых аппаратных и программных средств. Но после завершения такого обучения сеть выдает ответы очень быстро. Если программное моделирование сети не обеспечивает достаточно быстрого получения ответов, тов целях получения отклика в реальном времени искусственная нейронная система может быть изготовлена на основе микросхем. Асами микросхемы могут быть сконструированы сразу после обучения сети и определения весовых коэффициентов. Искусственные нейронные системы 109 однозначная связь между каждым символом номера карточки социального обеспечения и ячейкой памяти, содержащей код ASCII этого символа. С другой стороны, модели искусственных нейронных систем разрабатывались на основе современных теорий функционирования мозга, согласно которым информация представлена в мозгу с помощью весовых коэффициентов. Но непосредственной корреляции между конкретным значением весового коэффициента и конкретным элементом хранимой информации не существует. Такое распределенное представление информации аналогично применяемому в голограмме, поскольку линии голограммы действуют как дифракционная решетка, с помощью которой восстанавливается хранимое изображение при прохождении через нее лазерного луча, носами по себе не поддаются непосредственной интерпретации. Нейронная сеть представляет собой приемлемое средство решения задачи, если имеется много эмпирических данных, нонет алгоритма, который обеспечил бы получение достаточно точного решения с достаточно высоким быстродействием. Средства представления данных искусственной нейронной системы обладают несколькими описанными ниже преимуществами по сравнению с памятью обычных компьютеров. ° Память нейронной сети является отказоустойчивой. При удалении отдельных частей нейронной сети происходит лишь снижение качества хранимых данных, ноне полное исчезновение данных. Это происходит потому, что информация хранится в распределенной форме. ° Качество хранимого изображения снижается постепенно, |