Всё для Учёбы — студенческий файлообменник
1 монета
doc

Студенческий документ № 027784 из ИССО

Вопросы

1. Понятие искусственного интеллекта (ИИ). История развития систем ИИ

2. Тенденции развития интеллектуальных информационных систем.

3. Понятие Интеллектуального анализа данных (Data Mining).

4. Концепции хранения и анализа данных. Склады данных (Data Warehouse).

5. Концепции хранения и анализа данных. Оперативная аналитическая обработка (On-Line Analytical Processing, OLAP).

6. Типы закономерностей, которые позволяют выявлять методы Data Mining.

7. Решение задач методом разбиения на подзадачи. Представление задачи в виде графа.

8. Метод построения дерева решений

9. Метод полного перебора

10. Вероятностные методы осуществления выбора решений.

11. Многокритериальное принятие решений.

12. Нечеткая логика (fuzzy logic). Понятие, решаемые задачи.

13. Нечеткие системы и правила нечеткого вывода

14. Нечеткие множества и операции с ними

15. Мягкие вычисления (soft computing). Понятие, состав.

16. Экспертные системы. Определение экспертной деятельности.

17. Экспертные системы. Понятие, решаемые задачи.

18. Экспертные системы. Типичные состав и структура экспертных систем.

19. Экспертные системы. База знаний, механизм вывода, механизмы приобретения и объяснения знаний

20. Экспертные системы. Примеры практических экспертных систем.

21. Экспертные системы. Формализация этапов экспертной деятельности.

22. Экспертные системы. Инженерия знаний.

23. Экспертные системы. Организация базы знаний. Продукционная модель для представления знаний.

24. Экспертные системы. Семантические сети для представления знаний.

25. Экспертные системы. Жизненный цикл экспертной системы

26. Нейронные сети. Понятие НС.

27. Нейронные сети как тип моделей ИИ. Примеры применения НС.

28. Нейронные сети. Структура и функции нейрона.

29. Нейронные сети. Модель искусственного нейрона.

30. Нейронные сети. Элементная база нейрокомпьютеров- аналоговая, цифровая, гибридная. Стандартные процессоры обработки сигналов.

31. Нейронные сети. Преимущества и недостатки различных типов элементной базы аппаратных нейрокомпьютеров.

32. Нейронные сети. Нейро-эмуляторы, их преимущества и недостатки.

33. Нейронные сети. Секторы рынка нейросетевых программных продуктов: нейро-пакеты и готовые решения на основе нейросетей.

34. Нейронные сети. Инструменты разработки нейроприложений.

35. Нейронные сети. Классификация базовых нейроархитектур по типу связей и типу обучения

36. Нейронные сети. Методы обучения НС. Машинное обучение на примерах.

37. Нейронные сети. Обучение с учителем. Эффекты обобщения и переобучения

38. Нейронные сети. Персептроны. Архитектура, возможности и решаемые задачи.

39. Нейронные сети. Однонаправленные многослойные НС.

40. Нейронные сети. Рекуррентные НС. Рекуррентные сети на базе персептрона.

41. Нейронные сети. Радиальные НС

42. Нейронные сети. Сети Хопфилда. Архитектура, возможности и решаемые задачи.

43. Нейронные сети. Радиальные НС

44. Нейронные сети. Сети с самоорганизацией на основе конкуренции. Самоорганизующиеся карты Кохонена.

45. Нейронные сети. Применение нейронных сетей в задачах машинного распознавания образов.

46. Генетический алгоритм. Понятие, решаемые задачи.

47. Генетический алгоритм. Понятие о генетической информации. Ген. Хромосома.

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

49. Генетический алгоритм. Методы скрещивания, применяемые в генетических алгоритмах и их эффективность.

50. Генетический алгоритм. Способы реализации отбора и их эффективность.

51. Генетический алгоритм. Метод штрафных функций.

19. Экспертные системы. База знаний, механизм вывода, механизмы приобретения и объяснения знаний.

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

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

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

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

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

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

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

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

Управляющий компонент.

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

1. Сопоставление- образец правила сопоставляется с имеющимися фактами;

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

3. Срабатывание- если образец правила при сопоставлении совпал с какими- либо фактами из рабочего множества, то правило срабатывает.

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

Диалог с ЭС. Объяснение.

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

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

ПОЧЕМУ?

(" Почему система задала такой вопрос?"). Система интерпретирует вопрос "Почему?" в "понятных" ей терминах дерева вывода

20. Экспертные системы. Примеры практических экспертных систем.

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

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

ЭС DENDRAL разработана в Стэнфордском университете в середине 60-х годов для определения топологических структур органических молекул. Система выводит молекулярную структуру химических веществ по данным масс-спектрометрии и ядерного магнитного резонанса.

ЭС PROSPECTOR разработана в Стэнфордском университете в 1974--1983 годах для оценки геологами потенциальной рудоносности района. Система содержит более 1000 правил и реализована на INTERLISP. Программа сравнивает наблюдения геологов с моделями разного рода залежей руд. Программа вовлекает геолога в диалог для извлечения дополнительной информации. В 1984 году она точно предсказала существование молибденового месторождения, оцененного в многомиллионную сумму.

Среди современных коммерческих систем хочется выделить экспертную систему - оболочку G2 американской фирмы Gensym (USA) [80]как непревзойденную экспертную коммерческую систему для работы с динамическими объектами. Работа в реальном времени с малыми временами ответа часто необходима при анализе ситуаций в корпоративных информационных сетях, на атомных реакторах, в космических полетах и множестве других задач. В этих задачах необходимо принимать решения в течение миллисекунд с момента возникновения критической ситуации. ЭС G2, предназначенная для решения таких задач, отличается от большинства динамических ЭС такими характерными свойствами, как:

* работа в реальном времени с распараллеливанием процессов рассуждений;

* структурированный естественно-языковый интерфейс с управлением по меню и автоматической проверкой синтаксиса;

* обратный и прямой вывод, использование метазнаний, сканирование и фокусирование;

* интеграция подсистемы моделирования с динамическими моделями для различных классов объектов;

* структурирование БЗ, наследование свойств, понимание связей между объектами;

* библиотеки знаний являются ASCII-файлами и легко переносятся на любые платформы и типы ЭВМ;

* развитый редактор для сопровождения БЗ без программирования, средства трассировки и отладки БЗ;

* управление доступом с помощью механизмов авторизации пользователя и обеспечения желаемого взгляда на приложение;

* гибкий интерфейс оператора, включающий графики, диаграммы, кнопки, пиктограммы и т.п.;

* интеграция с другими приложениями (по TCP/IP) и базами данных, возможность удаленной и многопользовательской работы.

В качестве примера быстродействующей системы для отслеживания состояния корпоративной информационной сети (КИС) можно привести основанную на знаниях систему мониторинга OMEGAMON фирмы Candle (IBM с 2004 г.) . OMEGAMON - типичный представитель современных экспертных мультиагентных динамических систем, работающих в реальном времени. OMEGAMON позволяет за считанные минуты ввести и отладить правила мониторинга внештатных ситуаций для объектов КИС.

21. Экспертные системы. Формализация этапов экспертной деятельности.

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

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

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

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

Под приобретением (acquisition) знаний понимается способ автоматизированного наполнения базы знаний посредством диалога эксперта и специальной программы.

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

Термины "обнаружение знаний" (knowledge discovery), а также Data Mining связывают с созданием компьютерных систем, реализующие методы автоматического получения знаний.

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

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

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

На данном этапе оценивается и проверяется работа программы прототипа с целью приведения ее в соответствие с реальными запросами пользователей. Прототип проверяется по следующих основным позициям:

· удобство и адекватность интерфейсов ввода-вывода (характер вопросов в диалоге, связность выводимого текста результата и др.);

· эффективность стратегии управления (порядок перебора, использование нечеткого вывода и т.д.);

· корректность базы знаний (полнота и непротиворечивость правил).

Задача стадии тестирования - выявление ошибок и выработка рекомендаций по доводке прототипа экспертной системы до промышленного образца.

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

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

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

Среди программных инструментальных средств выделяют следующие большие группы:

· символьные языки программирования (LISP, INTERLISP, SMALLTALK);

· языки инженерии знаний, то есть языки программирования, позволяющие реализовать один из способов представления знаний (OPS5, LOOPS, KES, Prolog);

· оболочки экспертных систем (или пустые экспертные системы), то есть системы, не содержащие знаний ни о какой предметной области (EMYCIN, ЭКО, ЭКСПЕРТ, EXSYS RuleBook, Expert System Creator и др.)

22. Экспертные системы. Инженерия знаний.

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

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

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

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

Пример действия системы, базирующейся на инженерии знаний:

* Рассмотрение задачи

* Запрос к базам данных по задаче

* Внесение и структурирование полученной информации (IPK модель)

* Создание базы данных по структурированной информации

* Тестирование полученной информации

* Внесение корректировок и эволюция системы.

Будучи скорее искусством, нежели чисто инженерной задачей, ИЗ не имеет большого практического применения. Подразделом инженерии знаний является метаинженерия знаний, пригодная для разработки искусственного интеллекта.

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

23. Экспертные системы. Организация базы знаний. Продукционная модель для представления знаний.

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

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

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

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

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

Знания о языке общения зависят от требуемого уровня понимания и определяются интерфейсом экспертной системы.

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

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

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

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

Метазнания (знания метауровня) не содержат ссылок к знаниям объектного уровня и не зависят от проблемной области. Основная цель организации метазнаний (многоуровневая организация знаний) заключается в следующем: разработка стратегий доказательств в ЭС; управление выводом результатов поиска решений; увеличение выразительной мощности языков представления знаний.

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

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

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

P1 ^ P2 ^ P3 . . . ^ Pn - B,

где Pi (i=1,2, ..., n) - условия применимости, образующие конъюнкцию;

В - заключение или действие, которое имеет место при истинности конъюнкции.

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

ЕСЛИ ВНУТРЕННЕЕ ТЕСТИРОВАНИЕ ПРОШЛО

И ИМЕЕТ МЕСТО МНОГОКРАТНАЯ ПЕРЕЗАГРУЗКА ОПЕРАЦИОННОЙ СИСТЕМЫ

ТО ЗАЛИПАНИЕ КЛАВИШ ИЛИ СБОЙ ОЗУ.

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

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

База знаний продукционной экспертной системы состоит из множества правил продукций (базы правил)

П={P1, P2, ..., Pm}

и конечного набора фактов (базы фактов)

A=(a1, a2, ..., an).

Если правило имеет вид Pi=ai1 ai2 ... ais -> am, то это значит, что новый факт am имеет место (т.е. правило Pi применимо) при условии истинности всех фактов ai1...ais, определяющих правило Pi.

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

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

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

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

24. Экспертные системы. Семантические сети для представления знаний.

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

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

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

Возьмем, например, следующую фразу: "Программист сел за компьютер и отладил программу". Здесь выделяется три объекта: программист (a1), компьютер (a2) и программа (a3). Эти объекты связаны отношениями: сел за (r1), отладил (r2), загружена в (r3). К отношениям, явно выраженным в тексте, отнесено и отношение "загружена в" ("программа загружена в компьютер").

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

К основным достоинствам семантических моделей можно отнести: представление средств для выражения ограничений; описание связей между объектами; определение операций над объектами.

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

Характерной особенностью некоторых семантических моделей является интегрированное описание процедурной семантики и статической семантики - допустимые операции над объектами определяются совместно с определением структур данных.

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

25. Экспертные системы. Жизненный цикл экспертной системы

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

Этапы разработки

Этап 1: выбор подходящей проблемы

Он включает:

* определение проблемной области и задачи;

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

* определение предварительного подхода к решению проблемы;

* анализ расходов и прибыли от разработки;

* подготовку подробного плана разработки.

Этап 2: разработка прототипной системы

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

Уточняется задача, планируется ход разработки прототипа экспертной системы, определяются:

* необходимые ресурсы (время, люди, ЭВМ и т.д.);

* источники знаний (книги, дополнительные эксперты, методики);

* имеющиеся аналогичные экспертные системы;

* цели (распространение опыта, автоматизация рутинных действий и др.);

* классы решаемых задач и т.д.

Извлечение знаний - получение инженером по знаниям наиболее полного представления о предметной области и способах принятия решения в ней.

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

Формализация.

Строится формализованное представление концепций предметной области на основе выбранного языка представления знаний (ЯПЗ). Традиционно на этом этапе используются:

* логические методы (исчисления предикатов I порядка и др.);

* продукционные модели (с прямым и обратным выводом);

* семантические сети;

* фреймы; * объектно-ориентированные языки, основанные на иерархии классов, объектов и др.

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

Реализация

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

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

Тестирование

Тестирование - выявление ошибок в подходе и реализации прототипа и выработка рекомендаций по доводке системы до промышленного варианта

Оценивается и проверяется работа программ прототипа с целью приведения в соответствие с реальными запросами пользователей. Прототип проверяется на:

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

* эффективность стратегии управления (порядок перебора, использование нечеткого вывода и др.);

* качество проверочных примеров;

* корректность базы знаний (полнота и непротиворечивость правил).

Этап 3: развитие прототипа до промышленной ЭС

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

Этап 4: оценка системы

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

* критерии пользователей (понятность и "прозрачность" работы системы, удобство интерфейсов и др.);

* критерии приглашенных экспертов (оценка советов-решений, предлагаемых системой, сравнение ее с собственными решениями, оценка подсистемы объяснений и др.);

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

Этап 5: стыковка системы

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

Этап 6: поддержка системы

26. Нейронные сети. Понятие нейронной сети

Нейронные сети - исключительно мощный метод моделирования, позволяющий воспроизводить чрезвычайно сложные зависимости.

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

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

Рисунок 1. - Упрощенная модель нейронной сети

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

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

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

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

27. Нейронные сети как тип моделей ИИ. Применение НС

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

Нейронные сети в искусственном интеллекте - это упрощенные модели биологических нейронных сетей.

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

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

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

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

Рисунок 2. - Модель нейрона

В этой модели нейрона можно выделить три основных элемента:

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

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

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

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

Класс задач, которые можно решить с помощью нейронной сети, определяется тем, как сеть работает и тем, как она обучается. При работе нейронная сеть принимает значения входных переменных и выдает значения выходных переменных. Таким образом, сеть можно применять в ситуации, когда у Вас имеется определенная известная информация, и Вы хотите из нее получить некоторую пока не известную информацию (Patterson, 1996; Fausett, 1994). Вот некоторые примеры таких задач:

• Прогнозирование на фондовом рынке. Зная цены акций за последнюю неделю и сегодняшнее значение индекса FTSE, спрогнозировать завтрашнюю цену акций.

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

• Управление. Нужно определить что должен делать робот (повернуться направо или налево, двигаться вперед и т.д.), чтобы достичь цели; известно изображение, которое передает установленная на роботе видеокамера.

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

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

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

28. Нейронные сети. Структура и функции нейрона.

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

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

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

Можно привести следующую сильно упрощенную модель биологической нейронной сети:

Рисунок 1. - Упрощенная модель нейронной сети

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

Нейронные сети в искусственном интеллекте - это упрощенные модели биологических нейронных сетей.

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

29. Нейронные сети. Модель искусственного нейрона.

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

Рисунок 2. - Модель нейрона

В этой модели нейрона можно выделить три основных элемента:

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

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

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

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

Классификация

• по типу входной информации: Аналоговые нейронные сети (используют информацию в форме действительных чисел); Двоичные нейронные сети (оперируют с информацией, представленной в двоичном виде).

• по характеру обучения: С учителем (выходное пространство решений нейронной сети известно); Без учителя (нейронная сеть формирует выходное пространство решений только на основе входных воздействий). Такие сети называют самоорганизующимися; С критиком (система назначения штрафов и поощрений).

• по характеру настройки синапсов: Сети с фиксированными связями (весовые коэффициенты нейронной сети выбираются сразу, исходя из условий задачи, при этом: dW/dt = 0 , где W - весовые коэффициенты сети); сети с динамическими связями (для них в процессе обучения происходит настройка синаптических связей, то есть dW/dt ? 0, где W - весовые коэффициенты сети).

• по характеру связей: Сети прямого распространения (Feedforward). Все связи направлены строго от входных нейронов к выходным; Рекуррентные сети. Сигнал с выходных нейронов или нейронов скрытого слоя частично передается обратно на входы нейронов входного слоя. Как любая система, имеющая обратную связь, рекуррентная сеть стремится к устойчивому состоянию. Как известно, наиболее устойчивое состояние обеспечивается минимизацией энергии системы. Рекуррентная сеть "фильтрует" входные данные, возвращаясь к устойчивому состоянию и, таким образом, позволяет решать задачи компрессии данных и построения ассоциативной памяти;

• Двунаправленные сети. В таких сетях между слоями существуют связи как в направлении от входного слоя к выходному, так и в обратном;

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

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

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

30 Нейронные сети. Элементная база нейрокомпьютеров- аналоговая, цифровая, гибридная. Стандартные процессоры обработки сигналов.

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

Современная электроника опирается, в основном, на цифровую обработку сигналов, устойчивую к помехам и технологическим отклонениям в параметрах базовых злементов. Цифровая схемотехника предоставляет нейро-конструкторам наиболее богатый инструментарий. Поэтому неудивительно, что наибольшее распространение получили именно цифровые нейрокомпьютеры. Это по существу - специализированные матричные ускорители, использующие матричный, послойный характер обработки сигналов в нейросетях. Широко используются стандартные процессоры обработки сигналов (DSP - Digital Signal Processors), оптимизированные под такие операции.

Примером современного DSP-процессора, приспособленного для ускорения нейро-вычислений является продукт Texas Instruments TMS320C80 производительностью 2 млрд. операций в секунду. Этот кристалл включает пять процессоров и реализует сразу две технологии - DSP и RISC (4 32-разрядных сигнальных процессора с фиксированной точкой и управляющий процессор с плавающей арифметикой).

Однако, сама природа нейросетевой обработки информации - аналоговая, и дополнительного выигрыша в скорости вычислений (по некоторым оценкам ~103-104) и плотности вычислительных элементов можно добиться, используя специализированную аналоговую элементную базу (Mead, 1989). Наиболее перспективны, по-видимому аналоговые микросхемы с локальными связями между элементами (т.н. клеточные нейросети, CNN - Cellular Neural Networks), например силиконовая ретина фирмы Synaptics. С другой стороны, разработка аналоговых чипов с использованием нетрадиционных схемотехнических решений требует дополнительных и немалых затрат. В настоящее время эти работы на Западе развернуты широким фронтом, например, в рамках проекта SCX-1 (Silicon Cortex - кремниевая кора). Этот проект отличает принципиальная ориентация на массовых производителей аппаратуры, обеспечиваемая совместимостью разрабатываемых нейроплат со стандартами шины VME. Вот как оценивает перспективы этих разработок один из пионеров российского нейрокомпьютинга Феликс Владимирович Широков:

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

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

31 Нейронные сети. Преимущества и недостатки различных типов элементной базы аппаратных нейрокомпьютеров.

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

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

32 Нейронные сети. Нейро-эмуляторы, их преимущества и недостатки.

Преимущества таких "виртуальных" нейрокомпьютеров для относительно небольших задач очевидны:

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

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

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

Таблица 1. Секторы рынка нейросетевых программных продуктов

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

33 Нейронные сети. Секторы рынка нейросетевых программных продуктов: нейро-пакеты и готовые решения на основе нейросетей.

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

Примером здесь может служить Prediction Company, основанная в 1991 году физиками Дойном Фармером и Норманом Паккардом - специалистами в области динамического хаоса. Первый до этого руководил группой исследования сложных систем в ядерной лаборатории Лос Аламоса, а второй работал в Институте Перспективных Исследований в Принстоне (где когда-то трудился Эйнштейн). Продукция компании пользуется большим успехом среди Швейцарских банков, скупающих прогнозы "на корню" для игры на фондовых и валютных рынках.

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

34 Нейронные сети. Инструменты разработки нейроприложений.

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

Примерами подобных систем, способных генерировать исходные тексты программ являются NeuralWorks Professional II Plus (стоимостью от $3000) фирмы NeuralWare и отечественный Neural Bench (нейро-верстак). Последний интересен, кроме прочего, тем, что может генерировать коды на многих языках, включая Java. Такие Java-апплеты могут использоваться для организация различного рода сервисов в глобальных и локальных сетях. Удобным инструментом разработки сложных нейросистем является MATLAB с прилагающимся к нему нейросетевым инструментарием, органично вписавшимся в матричную идеологию этой системы. MATLAB предоставляет удобную среду для синтеза нейросетевых методик с прочими методами обработки данных (wavelet-анализ, статистика, финансовый анализ и т.д.). Разработанные в системе MATLAB приложения могут быть затем перетранслированы в C++.

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

35 Нейронные сети. Классификация базовых нейроархитектур по типу связей и типу обучения

Классификация по типу связей и типу обучения (Encoding-Decoding)

Сравнение архитектур связей нейросетей

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

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

36. Нейронные сети. Методы обучения НС. Машинное обучение

Алгоритмы обучения

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

1. Обучение с учителем - для каждого прецедента задаётся пара "ситуация, требуемое решение":

• Метод коррекции ошибки

• Метод обратного распространения ошибки

2. Обучение без учителя - для каждого прецедента задаётся только "ситуация", требуется сгруппировать объекты в кластеры, используя данные о попарном сходстве объектов, и/или понизить размерность данных:

• Альфа-система подкрепления

• Гамма-система подкрепления

• Метод ближайших соседей

3. Обучение с подкреплением - для каждого прецедента имеется пара "ситуация, принятое решение":

• Генетический алгоритм.

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

• Обучение с частичным привлечением учителя (semi-supervised learning) - для части прецедентов задается пара "ситуация, требуемое решение", а для части - только "ситуация"

• Трансдуктивное обучение (transduction) - обучение с частичным привлечением учителя, когда прогноз предполагается делать только для прецедентов из тестовой выборки

• Многозадачное обучение (multi-task learning) - одновременное обучение группе взаимосвязанных задач, для каждой из которых задаются свои пары "ситуация, требуемое решение"

• Многовариантное обучение (multiple-instance learning) - обучение, когда прецеденты могут быть объединены в группы, в каждой из которых для всех прецедентов имеется "ситуация", но только для одного из них (причем, неизвестно какого) имеется пара "ситуация, требуемое решение"

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

• Машинное обучение имеет широкий спектр приложений:

• Распознавание речи

• Распознавание жестов

• Распознавание рукописного ввода

• Распознавание образов

• Техническая диагностика

• Медицинская диагностика

• Прогнозирование временных рядов

• Биоинформатика

• Обнаружение мошенничества

• Обнаружение спама

• Категоризация документов

• Биржевой технический анализ

• Финансовый надзор

• Кредитный скоринг

• Предсказание ухода клиентов

• Хемоинформатика

• Обучение ранжированию в информационном поиске

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

37. Нейронные сети. Обучение с учителем. Эффекты обобщения и переобучения

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

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

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

Это определение процесса обучения нейронной сети предполагает следующую последовательность событий:

• В нейронную сеть поступают стимулы из внешней среды.

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

• После изменения внутренней структуры нейронная сеть отвечает на возбуждения уже иным образом.

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

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

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

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

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

38. Нейронные сети. Персептроны: архитектура, возможности и решаемые задачи.

Перцептро?н, или персептрон (англ. perceptron от лат. perceptio - восприятие; нем. perzeptron) - математическая и компьютерная модель восприятия информации мозгом (кибернетическая модель мозга), предложенная Фрэнком Розенблаттом в 1957 году и реализованная в виде электронной машины "Марк-1" в 1960 году. Перцептрон стал одной из первых моделей нейросетей, а "Марк-1" - первым в мире нейрокомпьютером. Несмотря на свою простоту, перцептрон способен обучаться и решать довольно сложные задачи. Основная математическая задача, с которой он справляется, - это линейное разделение любых нелинейных множеств, так называемое обеспечение линейной сепарабельности.

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

• с одним скрытым слоем;

• с пороговой передаточной функцией;

• с прямым распространением сигнала

Персептрон - это сеть из элементов трех видов, распределенных по трем слоям. Их принято обозначать буквами S, A и R:

Рис.1 Простой персептрон с шестью рецепторами.

S-слой: рецепторы

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

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

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

A-слой: нейроны

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

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

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

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

Сигналы от нейронов поступают на последний R-слой.

R-слой: классификаторы

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

Кстати, классификатор тоже является нейроном и работает также: он суммирует входные сигналы от нейронов в А-слое и если сумма достигает определенного порога, классификатор срабатывает.

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

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

• множества входных узлов, которые образуют входной слой;

• одного или нескольких скрытых слоев вычислительных нейронов;

• одного выходного слоя нейронов.

Многослойный персептрон представляет собой обобщение однослойного персептрона Розенблатта. Примером многослойного персептрона является следующая модель нейронной сети:

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

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

• Прогнозирование поведения рынка

• Распознавание речи

• Анализ изображений

39. Нейронные сети. Однонаправленные многослойные нейронные сети

Многослойные однонаправленные сети

Такие сети называются также сетями прямого распространения, или многослойными персептронами.

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

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

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

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

Мутация

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

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

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

Одноточечная мутация

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

Плотность мутации

Стратегия мутации с использованием понятия "плотности" заключается в мутировании каждого гена потомка с заданной вероятностью. Таким образом, кроме вероятности применения мутации к самому потомку используется еще вероятность применения мутации к каждому его гену, величину которой выбирают с таким расчетом, чтобы в среднем мутировало от 1 до 10 процентов ген.

Инцест

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

49 Генетический алгоритм. Методы скрещивания, применяемые в генетических алгоритмах и их эффективность.

РЕКОМБИHАЦИЯ - скрещивание

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

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

Классический (одноточечный) кроссинговер.

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

Двуточечный кроссинговер.

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

линейное представление: хххххххххххх

------------>

циклическое представление:+>хххххххххххх-+

+--------------+

Проще (и понятнее) будет сказать что многоточечный кроссинговер

эквивалентен последовательному применению одноточечного кроссинговера несколько раз. Тоесть, имея n точек скрещивания: x_i, i=1..n, и хромосомы c1_0, c2_0, строим c1_i и c2_i путём скрещивания c1_(i-1) с c2_(i-1) в точке x_i. Повторять для i от 1 до n. c1_n, c2_n и будет результатом скрещивания c1_0, c2_0 в точках x_i, i=1..n.

Унифицированный (однородный) кроссинговер.

Унифицированный кроссинговер принципиально отличается от одноточечного кроссинговера. Каждый ген в потомстве создается посредством копирования соответствующего гена от одного или другого родителя, выбранного согласно случайно сгенерированной маске кроссинговера. Если в маске кроссинговера стоит 1, то ген копируется от первого родителя, если в маске стоит 0, то ген копируется от второго родителя. Процесс повторяется с обмененными родителями для создания второго потомства. Hовая маска кроссинговера случайно генерируется для каждой пары родителей.

50 Генетический алгоритм. Способы реализации отбора и их эффективность.

По сути это функция оценки полученных генов на их жизнеспособность и качество.

Фитнес-функция

Тут нужно обратить внимание что фитнес-функция это пожалуй наиболее важная (или одна из) деталь ГА. Здесь нужно выделить 3 главных момента:

1. Функция оценки должны быть адекватна задаче. Это означает, что для успешного поиска необходимо, чтобы распределение значений фитнес-функции совпадало с распределением реального качества решений (не всегда "качество" решения эквивалентно его оценке по фитнесс-функции). Проще говоря, фитнесс функция всегда должна стремиться удовлетворить условие, что для всех решений X выполняется F(X1)

2. Фитнес-функция должна иметь рельеф. Мало того, рельеф должен быть разнообразным. Это означает, что ГА имеет мало шансов на успех, если на поверхности фитнес-функции есть огромные "плоские" участки - это приводит к тому, что многие (или, что хуже, все) решения в популяции при различии в генотипе не будут отличаться фенотипом, тоесть, не смотря на то что решения различаются, они имеют одинаковую оценку, а значит алгоритм не имеет возможности выбрать лучшее решение, выбрать направление дальнейшего развития. Эта проблема еще упоминается как "проблема поля для гольфа", где всё пространство абсолютно одинаково, за исключением лишь одной точки, которая и является оптимальным решением - в этом случае алгоритм просто остановится или будет блуждать абсолютно случайно.

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

51 Генетический алгоритм. Метод штрафных функций.

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

Показать полностью…
746 Кб, 17 апреля 2012 в 20:24 - Россия, Москва, ИССО, 2012 г., doc
Рекомендуемые документы в приложении