Справочник от Автор24
Поделись лекцией за скидку на Автор24

Интеллектуальные системы

  • ⌛ 2016 год
  • 👀 519 просмотров
  • 📌 484 загрузки
  • 🏢️ Самарский университет им. С.П.Королева
Выбери формат для чтения
Загружаем конспект в формате pdf
Это займет всего пару минут! А пока ты можешь прочитать работу в формате Word 👇
Конспект лекции по дисциплине «Интеллектуальные системы» pdf
МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ АВТОНОМНОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ОБРАЗОВАНИЯ «САМАРСКИЙ НАЦИОНАЛЬНЫЙ ИССЛЕДОВАТЕЛЬСКИЙ УНИВЕРСИТЕТ имени академика С.П. КОРОЛЕВА » Солдатова О. П. Интеллектуальные системы Курс лекций Самара 2016 1 1 ОСНОВНЫЕ НАПРАВЛЕНИЯ ИСКУССТВЕННОГО ИНТЕЛЛЕКТА... 5 1.1 История развития искусственного интеллекта ........................................ 5 1.2 Современное состояние искусственного интеллекта. .............................. 5 1.3 Классификация систем искусственного интеллекта. .............................. 9 1.3.1 Системы с интеллектуальным интерфейсом ............................................................................................ 19 1.3.2 Экспертные системы .................................................................................................................................. 20 1.3.3 Самообучающиеся системы ....................................................................................................................... 21 1.3.4 Адаптивные системы .................................................................................................................................. 22 1.4 Характеристики знаний............................................................................... 22 1.5 Модели представления знаний. .................................................................. 24 2 ВВЕДЕНИЕ В НЕЙРОННЫЕ СЕТИ ............................................................... 27 2.1 Основные свойства нейронных сетей ....................................................... 27 2.2 Биологические основы нейронных сетей ................................................. 29 2.3 Модель МакКаллока - Питса...................................................................... 31 1.4 Персептрон ..................................................................................................... 33 2.5 Сигмоидальный нейрон ............................................................................... 34 2.6 Нейрон типа WTA ......................................................................................... 38 2.7 Звезды Гроссберга ......................................................................................... 39 2.8 Нейрон Хебба ................................................................................................. 41 2.9 Функции активации нейронов ................................................................... 43 3 МНОГОСЛОЙНЫЕ СЕТИ ПРЯМОГО РАСПРОСТРАНЕНИЯ СИГНАЛА................................................................................................................. 45 3.1 Однослойный персептрон ........................................................................... 45 3.2 Многослойный персептрон ......................................................................... 46 3.3 Структура двухслойной сигмоидальной нейронной сети ..................... 48 3.4 Градиентные методы обучения многослойного персептрона .............. 50 3.4.1 Основные положения градиентных алгоритмов обучения сети ........................................................... 50 3.4.2 Подбор коэффициента обучения .............................................................................................................. 51 3.4.3 Алгоритм обратного распространения ошибки ..................................................................................... 52 3.4.4 Алгоритм наискорейшего спуска............................................................................................................... 55 3.4.5 Алгоритм Левенберга-Марквардта .......................................................................................................... 57 3.5 Эвристические алгоритмы обучения многослойного персептрона .... 59 3.5.1 Алгоритм RPROP........................................................................................................................................ 59 2.5.2 Алгоритм Quickprop............................................................................................................................ 59 3.6 Алгоритмы глобальной оптимизации ...................................................... 60 3.6.1 Алгоритм имитации отжига .................................................................................................................... 60 3.7 Проектирование архитектуры многослойного персептрона ............... 61 3.8 Подбор оптимальной архитектуры ........................................................... 63 4 СЕТИ НА ОСНОВЕ РАДИАЛЬНО-БАЗИСНЫХ ФУНКЦИЙ .................. 67 4.1 Математическое обоснование радиально-базисных сетей ................... 67 4.2 Структура радиально-базисной сети ........................................................ 70 4.3 Основные алгоритмы обучения радиальных сетей ............................... 72 4.3.1. Алгоритм самоорганизации для уточнения параметров радиальных функций .................................. 72 4.3.2. Применение метода обратного распространения ошибки для радиально-базисных сетей.............. 74 2 4.3.3 Гибридный алгоритм обучения радиальных сетей .................................................................................. 76 4.4 Структура гипер радиально-базисной сети ............................................. 77 4.5 Основные алгоритмы обучения гипер радиально-базисных сетей .... 79 4.5.1 Применение метода обратного распространения ошибки для гипер радиально-базисных сетей .... 79 4.6 Методы подбора числа базисных функций .............................................. 81 4.7 Метод ортогонализации Грэма-Шмидта .................................................. 83 4.8 Сравнение радиально-базисной сети и многослойного персептрона . 85 5 СЕТИ С САМООРГАНИЗАЦИЕЙ НА ОСНОВЕ КОНКУРЕНЦИИ ....... 87 5.1 Сеть Кохонена ................................................................................................ 87 5.2 Меры расстояния между векторами и нормализация векторов ......... 89 5.3 Проблема мертвых нейронов ...................................................................... 90 5.4 Алгоритмы обучения без учителя .............................................................. 92 5.4.1 Алгоритм WTA ............................................................................................................................................ 92 5.4.2 Алгоритм Кохонена .................................................................................................................................... 93 5.4.3 Алгоритм нейронного газа ......................................................................................................................... 93 6 ГИБРИДНЫЕ СЕТИ ........................................................................................... 96 6.1 Сетьвстречного распространения ............................................................. 96 6.1.1 Структура сети ......................................................................................................................................... 96 6.1.2. Нормальное функционированиесети встречного распространения .................................................... 97 6.1.3 Структура полной сети встречного распространения ......................................................................... 97 6.1.4 Анализ методов обучения сети встречного распространения .............................................................. 99 6.2 Гибридная сеть Кохонена .......................................................................... 102 6.2.1 Структура сети ....................................................................................................................................... 102 6.2.1 Обучение сети ........................................................................................................................................... 102 7 РЕКУРРЕНТНЫЕ СЕТИ ................................................................................. 104 7.1 Общие положения ....................................................................................... 104 7.2 Сеть Хопфилда............................................................................................. 105 7.3 Сеть Хемминга ............................................................................................ 108 7.4 Рекуррентная сеть Эльмана....................................................................... 111 7.5 Алгоритм обучения рекуррентной сети Эльмана................................. 113 8 СПЕЦИАЛИЗИРОВАННЫЕ СЕТИ .............................................................. 116 8.1 Сеть Вольтерри ............................................................................................ 116 8.2 Сеть каскадной корреляции Фальмана ................................................. 119 9 НЕЧЁТКИЕ МНОЖЕСТВА И НЕЧЁТКИЙ ВЫВОД................................ 123 9.1 Основные понятия и определения теории нечётких множеств ......... 123 9.2 Операции на нечётких множествах ......................................................... 126 9.3 Треугольные нормы .................................................................................... 128 9.4 Нечёткий вывод ........................................................................................... 128 9.5 Система нечёткого вывода Мамдани-Заде ............................................ 130 9.6 Фуззификатор .............................................................................................. 131 9.7 Дефуззификатор........................................................................................... 132 9.8 Модель вывода Такаги-Сугено-Канга .................................................... 133 9.9 Модель вывода Цукамото .......................................................................... 134 9.10 Модель вывода Ларсена........................................................................... 135 3 10 НЕЙРОННЫЕ ПРОДУКЦИОННЫЕ НЕЧЁТКИЕ СЕТИ ...................... 136 10.1 Нечеткая нейронная сеть Ванга-Менделя ........................................... 136 10.2 Адаптивный алгоритм обучения нечёткой сети Ванга- Менделя... 138 10.3 Нечёткая сетьTSK ..................................................................................... 140 10.4 Гибридный алгоритм обучения нечеткой сети TSK .......................... 143 10.5 Алгоритм обратного распространения ошибки для сети TSK ........ 146 10.6 Модификация структуры с несколькими выходами ......................... 147 10.7 Использование комбинированных правил вывода............................ 150 10.8 Сети, основанные на модели нечёткого вывода Цукамото .............. 151 11 ГИБРИДНЫЕ НЕЧЁТКИЕ НЕЙРОННЫЕ СЕТИ ................................... 155 11.1 Обучение нечётких нейронных сетей .................................................... 155 11.2 Гибридный нечёткий многослойный персептрон .............................. 155 11.3 Алгоритм нечёткой самоорганизации C-means .................................. 157 11.4 Алгоритм разностного группирования ................................................. 158 11.5 Нейронные нечёткие сети на основе нечётких нейронов .................. 160 11.6 Гибридный нейронечёткий классификатор ........................................ 163 11.7 Алгортм обучения гибридного нейронечёткого классификатора ... 166 11.8 Гибридные нейронные нечёткие сети для извлечения нечётких правил из данных .................................................................................................. 167 4 1 Основные направления искусственного интеллекта 1.1 История развития искусственного интеллекта Термин искусственный интеллект (ИИ) является русским переводом английского термина artifical intelligence. Создателем ИИ многие ученые считают Алана Тьюринга, автора знаменитой машины Тьюринга, которая стала одним из математических определений алгоритма [1]. В 1950 году в английском журнале “ Mind” в статье “Computing Machinery and Intelligence” (в русском переводе статья называлась «Может ли машина мыслить?») Алан Тьюринг предложил критерий, позволяющий определить, обладает ли машина мыслительными способностями. Этот тест заключается в следующем: человек и машина при помощи записок ведут диалог, а судья (человек), находясь в другом месте, должен определить по запискам, кому они принадлежат, человеку или машине. Если ему это не удается, то это будет означать, что машина успешно прошла тест. Тьюринг посчитал, что к 2000 году машины будут способны ввести в заблуждение 30% собеседников при условии длительности беседы не более 5 минут. В СМИ появилось сообщение, что 7 июня 2014 года произошло эпохальное событие: тест для определения искусственного интеллекта, придуманный британским математиком Аланом Тьюрингом 64 года назад, был пройден. Чатбот, созданный под руководством российского программиста Владимира Веселова, живущего и работающего в США, сумел преодолеть 30% барьер, установленный Тьюрингом более полувека назад. Сам Владимир рассказал про себя, команду и свой чатбот следующее: «Чатбот «Евгений Густман» был создан командой энтузаистов в 2001 году. В состав команды входили: Евгений Демченко, Сергей Уласень, Михаил Гершкович, Джон Деннинг, Андрей Адащик, Игорь Быковских, Селена Семушкина. Графический образ создан Лореном Алкир (Laurent Alquier). Основная часть команды находится в Санкт Петербурге. После этого программа и база знаний дорабатывались, исправлялись недостатки. В 2012-м году Густман победил в соревнованиях, посвященных 100-летию со дня рождения Алана Тьюринга. В 2012 результат был 29.2 %, в 2014 — 33.3%. Программа «Евгений Густман» состоит из базы знаний, которая имеет около трех тысяч шаблонов распознавания фраз пользователя. Это довольно немного, по сравнению с другими чатботами. Мы использовали также различные методы управления диалогом, которые позволяют имитировать именно человека, а не поисковую машину. Евгений старается направить беседу в нужное ему русло, стараясь создавать такие ситуации, когда его фраза выглядят человекоподобно. При короткой продолжительности беседы — 5 минут — такой подход часто срабатывает». Владимир Веселов закончил Военный Инженерно-Космический Институт им. А.Ф. Можайского, служил на Байконуре, закончил адъюнктуру ВИКА им. А.Ф. Можайского, работал программистом, научным сотрудником. В данный момент является разрабочиком программного обеспечения в компании Amazon Web Services. 5 ТТ проходил следующим образом: команда ученых-организаторов теста под руководством профессора Кевина Варвика и его ассистента Хумы Шан собрала судей (30 человек, поделенных на 4 смены) и «скрытых людей», которые должны были вести диалог. В тесте участвовало также пять чатботов, которые общались на английском языке. Каждый судья имел перед собой экран монитора, разделенный на две части. Судья должен был вести диалог одновременно с двумя «сущностями». При этом было неизвестно, кто из них компьютер, а кто — человек. Ровно, как в классическом тесте. Через пять минут окна отключались. Судья заполнял анкету и потом приступал к оценке следующей пары. Основная задача — определить, с кем шел диалог: с машиной или же с человеком. Программа, созданная Владимиром Веселовым и его коллегами, смогла ввести в заблуждение ровно треть всех судей, присутствовавших на мероприятии. После четырёх смен оценки, оргкомитет подсчитал бюллетени. Профессор Варвик сказал, что тест Тьюринга окончательно пройден: «Мы специально пригласили судей и независимых наблюдателей — уважаемых ученых, чтобы все было сделано правильно и никаких сомнений не оставалось. Именно так: тест Тьюринга, пройден». Чатбот убедил 33 процента судей, в том, что он является 13-летним мальчиком из Одессы. В целом, можно сказать, что для оценки искусственного интеллекта теперь надо придумывать другие тесты. Прежде всего, это означает, что проникновение информационных систем в межчеловеческое общение ускоряется. Через пять лет уже невозможно будет сказать, общаетесь вы с живым оператором контактного центра или с машиной. Разницу будет можно почувствовать лишь через 5 минут общения. Второе — срочно необходимо решать вопрос с проведением ТТ на русском языке. Не существует единого и общепринятого определения ИИ. Это не удивительно, так как нет универсального определения человеческого интеллекта. ИИ – это область информатики, предметом которой является разработка компьютерных систем, обладающих возможностями, традиционно связываемыми со способностями естественного интеллекта. К области ИИ принято относить ряд алгоритмов и программных систем, которые могут решать некоторые задачи так, как это делает человек. Первый шаг в исследованиях по ИИ был сделан в направлении изучения естественного интеллекта. При изучении этого вопроса был сделан ряд открытий в различных областях знаний. Так, в 1962 году Фрэнком Розенблаттом были предложены модели мозга, имитирующие биофизические процессы, которые протекают в головном мозге и которые были названы персептронами. Персептроны представляют собой различного вида сети из искусственных нейронов, в основе которых лежат модели, разработанные еще в 1943 году Уорреном Маккалоком и Уолтером Питтсом. Первоначально, изучение персептронов было связано с задачей распознавания образов, однако, в настоящее время нейронные сети широко 6 используются для решения задач аппроксимации, классификации и распознавания образов, прогнозирования, идентификации и оценивания, ассоциативного управления [5]. Нейронные сети представляют собой низкоуровневые модели мозговой деятельности человека. Другое направление моделирования естественного интеллекта связано с созданием высокоуровневых моделей деятельности мозга человека, которые позволяют моделировать процессы рассуждений и принятия решений. В целом можно сказать, что изучение разумного поведения человека привело к появлению эвристических методов, моделирующих деятельность человека в проблемной ситуации и к разработке программноаппаратных средств, реализующих эти методы, то есть к разработке систем искусственного интеллекта, называемых решателями задач. Другим результатом этих исследований можно считать создание экспертных систем, то есть систем искусственного интеллекта, основанных на знаниях человека-эксперта. Также к специфическим особенностям деятельности человека обычно относят способности к распознаванию сложных зрительных и слуховых образов, пониманию естественных языков, способности к обучению, рассуждениям и логическим выводам. Все эти особенности стали реализовываться в системах искусственного интеллекта. В Советском союзе ИИ получил официальное признание в 1974 году, когда при президиуме АН СССР был создан научный совет по проблеме «Искусственный интеллект», хотя работы в этом направлении велись с 60-х годов Вениамином Ноевичем Пушкиным, Дмитрием Александровичем Поспеловым, Сергеем Юрьевичем Масловым, Валентином Фёдоровичем Турчиным. Первые положительные результаты были получены в области теории управления, так как в этой области имелся ряд задач, для решения которых традиционные методы не были пригодны из-за невозможности формализации цели управления объектом и невозможности установления точных количественных зависимостей между параметрами, оказывающими влияние на процесс управления [1]. В результате проведенных работ появились логико-лингвистические модели, в которых решающее значение имеют тексты на естественном языке. В таких моделях для принятия решения при управлении объектами используется семантическая информация для описания модели объекта, модели среды и блока принятия решения. Моделирование рассуждений человека, осуществление логического вывода с помощью вычислительной машины стало возможным, благодаря использованию методов поиска решений в исчислении предикатов [3]. Эти методы стали основой общей теории дедуктивных систем. При этом все «творческие задачи» решаются интеллектуальным перебором в четко очерченном множестве – в фиксированной формальной теории, которая является ветвью математической логики и в которой реализуется процесс нахождения решений. 7 В настоящее время выделяют следующие направления развития исследований в области искусственного интеллекта [2]: 1. Разработка систем, основанных на знаниях. Целью этого направления является имитация способностей человека в области анализа неструктурированных и слабоструктурированных задач. В данной области исследований осуществляется разработка моделей представления, извлечения и структурирования знаний, а также изучаются проблемы создания баз знаний (БЗ). К данному классу систем также относятся экспертные системы (ЭС). 2. Разработка естественно-языковых интерфейсов и машинный перевод. Данные системы строятся как интеллектуальные системы, так как основаны на БЗ в определенной предметной области и сложных моделях, обеспечивающих трансляцию «исходный язык – язык смысла – язык перевода». Эти модели основаны на последовательном анализе и синтезе естественно-языковых сообщений и ассоциативном поиске аналогичных фрагментов текста и их переводов в специальных базах данных (БД). 3. Генерация и распознавание речи. Решаются задачи обработки, анализа и синтеза фонемных текстов. 4. Обработка визуальной информации. Решаются задачи обработки, анализа и синтеза изображений. В задаче анализа исходные изображения преобразуются в данные другого типа, например, текстовые описания. При синтезе изображений в качестве входной информации используются алгоритмы построения изображений, а выходными данными являются графические объекты. 5. Обучение и самообучение. Данная область ИИ включает модели, методы и алгоритмы, реализующие автоматическое накопление и генерацию знаний с использованием процедур анализа и обобщения знаний. К данному направлению относятся системы добычи данных (Data-mining) и системы поиска закономерностей в компьютерных базах данных (Knowledge Discovery). 6. Распознавание образов. Распознавание образов осуществляется на применении специальных математических моделей, обеспечивающих отнесение объектов к классам, которые описываются совокупностями определенных значений признаков. 7. Игры и машинное творчество. К данной области относятся системы сочинения компьютерной музыки, стихов, изобретения новых объектов, а также интеллектуальные компьютерные игры. 8. Программное обеспечение систем ИИ. К данной области относятся инструментальные средства для разработки интеллектуальных систем, включая специальные языки программирования, ориентирование на обработку символьной информации (LISP, SMALLTALK, РЕФАЛ), языки логического программирования (PROLOG), языки представления знаний (OPS 5, KRL, FRL), интегрирование программные среды (KE, ARTS, GURU, G2), а также оболочки экспертных систем (BUILD, EMYGIN, EXSYS Professional, ЭКСПЕРТ). 8 9. Новые архитектуры компьютеров. Это направление связано с созданием компьютеров не фон-неймановской архитектуры, ориентированных на обработку символьной информации. Известны удачные промышленные решения параллельных и векторных компьютеров, однако в настоящее время они имеют очень высокую стоимость и недостаточную совместимость с существующими вычислительными средствами. 10.Интеллектуальные роботы. В настоящее время данная область ИИ развивается очень бурно. Достигнуты значительные успехи в создании бытовых роботов, роботов, используемых в космических исследованиях, медицинских роботов. 1.2 Современное состояние искусственного интеллекта. В настоящее время в области ИИ активно работают военные ведомства и ведущие западные фирмы, такие как AT&T, Intel, General Electric, Sharp, Hitachi, Siemens. Военное научное агентство DARPA - крупнейший в мире финансист исследований по ИИ, особенно по робототехнике [1]. Создание современного оружия немыслимо без использования методов ИИ, особенно таких, как нейронные технологии, нечеткие экспертные системы и интеллектуальные решатели задач. Эти методы позволяют с помощью относительно малых ресурсов получать достаточно точные результаты. В этой связи состояние разработок в некоторых областях ИИ закрыто для широкого доступа. С другой стороны, в настоящее время бурно развивается рынок бытовых роботов и интеллектуальных домашних устройств, которые приносят немалую прибыль фирмам-разработчикам. Так, например, компания NEC представила модель робота Personal Robot R100, которая может передвигаться, произносить 300 фраз, понимать сотни команд и различать 10 лиц. Робот может приносить мелкие вещи, вынимать почту из ящика, включать и выключать телевизор, записывать видеосообщения и передавать их по назначению. Робот Okonomiyaki. Этот робот мастерски готовит окономияки – жареную лепешку из смеси разнообразных ингредиентов. Предназначенный для работы независимо и рядом с людьми, этот 135-сантиметровый, 220килограммовый промышленный робот имеет 15 суставов – по 7 в каждой руке и один в туловище. Если его запрограммировать, он способен не только делать лепешки. На выставке, где был представлен этот робот, он смог собрать одноразовый фотоаппарат, состоящий из двенадцати деталей. Роботы-футболисты. Каждый год проходит международный чемпионат по футболу среди роботов – RoboCup. В этом чемпионате между собой соревнуются команды разработчиков со всего мира. Эти роботы маленькие, неповоротливые, неуклюжие. Но из года в год они становятся все более совершенными. Робот-модель. Создан первый робот-модель. Выглядит этот робот как двадцатилетняя японка ростом 155 сантиметров. Она умеет имитировать 9 походку и позы профессиональных манекенщиц. Это достигается за счет 30 моторов, отвечающих за движения тела и еще 8, отвечающих за мимику. Альберт Эйнштейн. Робот должен быть не только красивым, но и умным. Видимо, именно так думал американец Дэвид Хенсон, когда создавал робота с лицом Альберта Эйнштейна. Этот робот умеет воспроизводить мимику великого ученого. Он может смеяться, хмуриться, подмигивать, в зависимости от реакции окружающих. Он умеет распознавать более десятка мимических движений и отвечать на них взаимностью. Самый маленький робот-гуманоид. На Тайване создали робота, который занесен в Книгу Рекордов Гиннеса как самый маленький в мире робот-гуманоид. При росте 15.3 сантиметра и весе 250 граммов он умеет ходить, танцевать и отжиматься. Он даже знает несколько движений из боевого искусства тай-чи. Робот-няня. На выставке COMPUTEX TAIPEI 2009 был представлен робот TGR-W1, созданный для того, чтобы быть ближайшим помощником человека – няней, учителем, экскурсоводом, сиделкой. Он специально настроен на коммуникацию с людьми через звук, жесты и изображения. TGR-W1 также имеет встроенную инфракрасную и ультразвуковую систему, позволяющую ему обнаруживать и избегать препятствия, как в помещении, так и на улице. Колибри. Американская компания AeroVironmen создала по заказу военных робота, маскирующегося под птицу колибри. Он даже умеет летать за счет взмахов своих крыльев. Правда, максимальная длительность полетов этого робота-птицы равна всего лишь двадцати секундам. Ведутся активные работы в области разработки и производства роботов, предназначенных для спасения людей в завалах, высадки на других планетах и астероидах и даже для проведения хирургических операций в полевых условиях. Похожие работы проводятся в российском научном центре сердечно-сосудистой хирургии имени Бакулева РАМН. Используемый там робот имеет несколько манипуляторов, способных держать различные инструменты. Он может работать в самых неудобных и недоступных для человека положениях. Врач за монитором следит за зоной операции и управляет манипуляторами, подавая через компьютер голосовые команды [1]. В частности, есть сведения о том, что один из робототехнических комплексов испытывается на радиозаводе в Ижевске. Машина с индексом МРК-002-БГ-57, как свидетельствуют некоторые публикации, обладает гусеничным ходом, может работать порядка 10 часов в автономном режиме или же управляться дистанционно с расстояния до 5 км. Данный российский боевой робот оснащен широким спектром электронной аппаратуры дальномером, тепловизором, вычислителем. Машина неплохо вооружена: на ней стоит пулемет Калашникова, гранатомет, а также автоматическое оружие типа "Корд". Устройство, разработанное в Ижевске, весит порядка 900 кг, развивает скорость до 45 км/ч и работает на бензиновом моторе. Автономность робота - одно из ключевых отличий от зарубежных аналогов, в 10 частности американских, которые, как отмечают некоторые эксперты, могут в полной мере эффективно функционировать только в режиме управления человеком. Также, имеются сведения о том, что еще один российский боевой робот будет создаваться на базе машины "Тигр". Соответствующий комплект будет оснащен мощным противотанковым оружием типа "Корнет". Однако публичной информации о данной разработке пока очень немного. В ближайшее время в армию РФ должны поступить небольшие роботыразведчики, выпускаемые компанией "Созвездие". Предназначены они главным образом для работы под землей. Эти машины способны, к примеру, определять то, сколько находится на поверхности грунта боевой техники противника, ее возможный тип, а также количество солдат, находящихся на той же площади. Машина от "Созвездия" может выполнять часть программ в автономном режиме. Компания "Сервосила" также выпускает небольшие роботы, которые могут быть задействованы в разведке. Так, например, машина "Инженер" интересна тем, что может залезать по лестницам, захватывать небольшие объекты. Обладает "Инженер" системой высокоточного визуального распознавания окружающих объектов, а также модулем навигации. Суперкомпьютер IBM Watson выиграл в 2011 году у сильнейших игроков во втором матче интеллектуальной викторины Jeopardy (российский аналог - "Своя игра"), став победителем трехдневного турнира. Успех Watson в турнире Jeopardy стал подтверждением прогресса в области автоматической обработки запросов, сформулированных на естественном языке. Согласно опубликованному отчету 2011 IBM Tech Trends Report о тенденциях развития технологий, разработчики во всем мире считают, что уникальные аналитические возможности технологии IBM Watson преобразят индустрии, которые управляют огромными массивами данных. Участники опроса указали образование и здравоохранение в качестве отраслей, которые могут максимально выиграть от применения инноваций Watson – наряду со сферой финансовых услуг, науками о жизни (биологией, биохимией, иммунологией, генетикой, физиологией, экологией и т.п.) и государственным сектором. Компания IBM представила летом 2014 года дополнение к когнитивным возможностям суперкомпьютера Watson, которое позволяет исследователям ускорить темпы научных исследований путем нахождения ранее неизведанных связей при анализе больших данных. Авторы мобильных и настольных приложений теперь могут использовать в своих разработках еще пять сервисов когнитивной системы IBM Watson. Они предназначены для преобразования речи в текст и обратно, распознавания образов, концептуального поиска и сравнительного анализа вариантов с помощью принципа Парето. Сервис преобразования речи в текст даст мобильным приложениям возможность реагировать на голосовые команды — примерно так же, как это делает система Siri на устройствах Apple. В IBM утверждают, что скорость 11 распознавания речи очень высока. Синтезатор речи говорит тем же голосом, каким говорил суперкомпьютер Watson, участвуя в телевизионной игре Jeopardy в 2011 году. Поддерживаются английский и испанский языки. Сервис распознавания образов анализирует изображение или видео и генерирует список ключевых слов, описывающих его. Он может различить на изображении предметы, определить характер происходящего и место действия. Наконец, сервис анализа помогает выбрать из нескольких вариантов с известными параметрами вариант, оптимальный с точки зрения заданных критериев. Его можно использовать, например, для выбора лучшего варианта лечения пациента или наиболее подходящего автомобиля при заданной цене. Вопросы создания кибернетических устройств, способных выполнять присущие человеку действия, все больше привлекают разработчиков. Современный подход опирается на теории адаптивных систем и эволюционного развития. В соответствии с данным подходом предполагается, что устройства управления должны самостоятельно мутировать и развиваться, менять свою форму, размеры и так далее. Так, например, DARPA финансирует проект создания системы сборки конструкций из кубиков Лего. Система состоит из манипулятора, видеокамеры и компьютера. В качестве исходных данных в систему заложены только элементарные правила стыковки кубиков и цель – конечное сооружение, после чего система начинает пробовать различные комбинации, экспериментально определяя прочность и стабильность собираемых конструкций. Пока такая система способна за один день собрать двухметровый игрушечный мост и кран, способный поднять груз 0,5 кг. Самое главное, что эти конструкции отвечают всем инженерным требованиям по надежности, о которых система и не подозревает. Следующая задача – автоматизировать сборку системой себе подобных роботов. Получило дальнейшее развитие такое традиционное направление ИИ как экспертные системы (ЭС). В современных ЭС, основной акцент делается на принятие оперативных решений в реальном масштабе времени. Это объясняется потребностями современного бизнеса. Коммерческие ЭС контролируют крупные промышленные процессы, управляют большими сетями, распределенными СУБД, подсказывая оператору, как поступить в сложной обстановке, а в критических ситуациях берут управление на себя. Экспертная система MIXER оказывает помощь программистам в написании микропрограмм для разработанной Texas Instruments СБИС TI990. По заданному описанию микропрограммы система получает оптимизированные микропрограммы для TI990. MIXER содержит знания по микропрограммированию для TI990, взятые из руководства и из анализа микропрограммы управляющего ПЗУ TI990. Сюда относятся знания о том, как преобразовывать введенные описания в наборы промежуточных операций, как выделить соответствующие регистры под переменные и как преобразовать промежуточные операции в наборы микроопераций. MIXER 12 использует эти знания, чтобы определить, какие микрооперации являются лучшими для реализации микропрограммы. Система представляет знания в виде правил и данных, обладает унификацией, управляемой механизмом вывода, и динамическим возвратом. MIXER реализована на языке Пролог. Она была разработана в Токийском университете и доведена до уровня демонстрационного прототипа. История развития инструментальных средств (ИС) для создания ЭС реального времени началась в 1985 г., когда фирма Lisp Machine Inc. выпустила систему Picon для символьных ЭВМ Symbolics. Успех этого ИС привел к тому, что группа ведущих разработчиков Picon в 1986 г. образовала частную фирму Gensym, которая, значительно развив идеи, заложенные в Picon, в 1988 г. вышла на рынок с ИС под названием G2, версия 1.0. Основное предназначение программных продуктов фирмы Gensym (США) помочь предприятиям сохранять и использовать знания и опыт их наиболее талантливых и квалифицированных сотрудников в интеллектуальных системах реального времени, повышающих качество продукции, надежность и безопасность производства и снижающих производственные издержки. О том, как фирме Gensym удается справиться с этой задачей, говорит хотя бы то, что сегодня ей принадлежат 50% мирового рынка экспертных систем, используемых в системах управления. В настоящее время существует множество оболочек для разработки ЭС. Малая Экспертная Система 2.0 - Программа является простой экспертной системой, использующей байесовскую систему логического вывода. Она предназначена для проведения консультации с пользователем в какой-либо прикладной области (на которую настроена загруженная база знаний) с целью определения вероятностей возможных исходов и использует для этого оценку правдоподобности некоторых предпосылок, получаемую от пользователя. Важным достоинством данной программы является возможность создания и применения собственной базы знаний. ACQUIRE - система обнаружения знаний и оболочка экспертной системы. Это - законченная среда для разработки и поддержки интеллектуальных прикладных программ. Система содержит в себя методологию пошагового представления знаний, что позволяет специалистам в проблемной области непосредственно участвовать в процессе приобретения, структурирования и кодирования знания. Особенностью оболочки является структурированный подход к приобретению знаний; модель приобретения знаний основана на распознавании образов; знания представлены как объекты, продукционные правила и системы правил в табличной форме; оболочка позволяет выполнять обработку неопределенных качественных знаний; содержит средства вывода и документацию баз знаний в среде гипертекста. ACTIVATION FRAMEWORK работает на персональных компьютерах (под управлением операционных систем DOS, Windows) и на автоматизированных рабочих станциях UNIX. Это - не традиционная 13 оболочка экспертной системы, а скорее инструмент для формирования прикладных программ обработки данных в реальном времени. Система конкурирует с оболочкой G2 фирмы GENSYM. ActiveAgentX - может применяться в системах поддержки принятия решений, содержащих правила , которые могут быть автоматически получены по корпоративным сетям при использовании WEB-браузеров Microsoft Windows. ActiveAgentX может быть также встроен внутрь Java аплетов, которые используются браузером Microsoft Internet Explorer или автономно, как прикладная программа Java, написанная на языке Microsoft Java или Visual J ++. При использовании в сети WWW ActiveAgentX предоставляет вполне развитые средства создания экспертных систем, которые используют интерактивные средства представления интеллектуальной информации на машинах клиента или в Web-браузерах. пакет создан в Haley Corporation. ART*Enterprise - самая последняя из сред разработки, основанных на правилах, ведущих начало от систем ИИ середины 1980-ых. Это - среда разработки прикладных программ широкого применения, объединяющая в себе правила, объектно-ориентированную систему, которая содержит такие особенности, которые в настоящее время не представлены ни в C++, ни в языке Smalltalk; и содержит большую совокупность классов объектов для разработки на различных платформах (от Windows до OS/2 и Unix), поддерживает доступ к базам данных (основанный SQL- и ODBC-запросах), и мультизадачный режим доступа. ART*ENTERPRISE среда поддерживает обратный поиск решения от фактов к цели; можно также реализовать поиск решения от цели к фактам. ARITY Expert Development Package - это экспертная система, которая интегрирует продукционное и фреймовое представления знаний с различного рода коэффициентами уверенности. CAM Software содержит два инструмента для создания экспертных систем: DClass и LogicTree Система DClass - использует дерево решений, предназначена для построения прикладных программ. LogicTree - система принятия решений, разработанная для использования профессионалами непрограммистами. COMDALE/C, COMDALE/X и ProcessVision. COMDALE/C экспертная система реального времени, предназначенная для наблюдения и контроля над процессами в условиях производства. . + COMDALE/C позволяет вырабатывать рекомендации, заключения об управляющих воздействиях в непрерывном процессе принятия решения. Она обрабатывает неопределенные знания и данные, и имеет открытую архитектуру. Другие особенности включают: объектно-ориентированную конфигурацию; возможности организации работы в сети; обработку прерываний; хранение и обработку данных; поддерживает работу с базой данных в реальном масштабе времени, и интерфейсы с системами передачи данных, такими как PLCs и другими устройствами ввода-вывода. + COMDALE/X консультационная экспертная система, которая работает в режиме реального 14 времени. Для принятия решения система организует диалог с пользователем. COMDALE/X совместно с системой COMDALE/C используется как инструмент разработки экспертных систем реального времени. COMDALE/X позволяет включить гипертекст в экспертную систему, что позволяет создавать hyper-справочники с удобным интерфейсом. +PROCESS Vision - пакет программ для управления процессами в реальном времени, базируется на открытой и модульной архитектуре. ProcessVision содержит графический интерфейс оператора; объектноориентированный дисплей, выполняет проверку правильности показаний датчиков и поддерживает связь с неограниченным количеством производственной контрольно-измерительной аппаратурой в одной глобальной среде. C - PRS - (Процедурно - ориентированная система рассуждений, написанная на языке C) реализует процедурное представление знаний. Это позволяет пользователю выражать и представить условные последовательности комплексных действий и гарантировать их выполнение в реальном времени в среде прикладной программы. Система C - PRS полезна в процессе контроля и управления технологическими процессами. PRS технология применялась в различных задачах и запросах в реальном времени, например, для контроля над несколькими спутниковыми системами NASA, в системах диспетчерского управления сетей электросвязи (Телесвязь Австралия), при управлении подвижными роботами (SRI, LAAS), в системе контроля над полетами и в системе обнаружения самолетов (Grumman). C PRS работает на многочисленных платформах и операционных системах, включая SPARC, DECstation, Sony News, Hewlett Packard, VxWorks, и другие. The Easy Reasoner (TM) - Поисковая система, основанная на поиске подходящих рассуждений в адаптивной ассоциативной памяти. Система отыскивает в памяти событие, подобное новому событию, используя " Запрос на пример". Поддерживает базы данных xBase, ODBC, SQL. Система автоматически фильтрует помехи для упрощения решающих деревьев; эффективно отыскивает события, подобные новому в больших базах данных; поддерживает составные индексы в базе данных; классифицирует новую информацию, используя любое решающее дерево в автоматическом или интерактивном режиме. Выполняет адаптивное, контекстно-зависимое, заданное по умолчанию рассуждение; вычисляет адаптивную оценку, используя решающие деревья; восстанавливает (отыскивает) подобные записи по контексту; различает различные формы записи английских слов; автоматически определяет объем информации в слове ECLIPSE работает на персональных компьютерах (DOS, Windows), а также имеются версии для систем V Unix и POSIX. Синтаксис языка, используемого в пакете, совместим с языком системы CLIPS, разработанной для NASA. Отличия заключаются в управлении данными путем сопоставления с образцом, использовании прямого и обратного вывода, в поддержке множества целей, объектно-ориентированном представлении знаний и интегрировании с dBase. 15 Exsys Developer - интеллектуальная система, которая может быть использована для разработки базы знаний в любой предметной области. В систему включены средства отладки и тестирования программы,редактирования для модификации знаний и данных. Основной частью экспертной системы является база знаний, которая накапливается в процессе развития системы. База знаний содержит правила типа: IF (условие) THEN (заключение) IF (условие) THEN (заключение 1) ELSE (заключение 2) Правила могут существовать с некоторой долей вероятности, которая выражается коэффициентом уверенности. Величину этого коэффициента задает эксперт при разработки базы знаний. EXSYS-программы рассчитаны на то, что экспертные системы будут создаваться экспертами проблемной среды совместно с профессионалами в области построения инженерных знаний. Exsys Developer работает в среде MS-DOS, MS Windows, Macintosh, Sun OS, Solaris, Unix и Vax. Система поддерживает обратный вывод от фактов к цели, линейное программирование, нечеткую логику, нейронные сети, и имеет SQL интерфейс FLEX - гибридная экспертная система, работающая на различных платформах. Система предлагает фреймовое, процедурное и продукционное представление знаний. FLEX чередует прямой и обратный методы поиска решений, множественное наследование свойств, присоединенные процедуры, автоматическую систему вопросов и ответов. Правила, фреймы и вопросы написаны на естественном англо-подобном языке. Язык спецификаций (KSL) позволяет разрабатывать легко читаемые и простые в поддержке базы знаний. FLEX написан на языке Пролог. FLEX использовался в многочисленных коммерческих экспертных системах, например, в финансовых системах типа Администратор начисления пенсии. G2 - это объектно ориентированная среда для разработки и сопровождения приложений реального времени, использующих базы данных. G2 Фирмы Gensym предлагает графическую среду для создания интеллектуальных прикладных программ, которые контролируют, диагностируют, и управляют динамическими событиями в сетевых и моделируемых средах. Среда G2 для создания правил, моделей, и процедур использует структурированный естественный язык. Экспертная система G2 является основой всех прикладных программ фирмы Gensym. Программы включают в себя G2, видеоадаптер, который позволяет использовать визуальную среду программирования для создания интеллектуальных прикладных программ управления. Возможности предлагаемого инструментального средства G2 следующие: Объектно-ориентированная технология: связи между объектами; отношения между объектами; иерархия объектов. Представление знаний: правила (общие и конкретные); процедуры; динамические модели. Механизм рассуждений: от данных; от цели; сканирование; метарассуждения (события, фокусирование на классах объектов или правил); одновременное выполнение правил и/или процедур. 16 Графическое определение объектов. Клонирование объектов и их групп. Графические пользовательские интерфейсы для различных категорий пользователей. Многопользовательская кооперативная разработка приложения. Распределенное приложение. G2 для создания правил, моделей, и процедур использует структурированный естественный язык. Экспертная система G2 является основой всех прикладных программ фирмы Gensym. Программы включают в себя G2, видеоадаптер, который позволяет использовать визуальную среду программирования для создания интеллектуальных прикладных программ управления. NeurOn-Line и другие программы фирмы позволяют пользователям легко создавать нейросетевые прикладные программы. G2 совмещает выполнение правил и процедур в текущий момент времени со способностями рассуждений спустя некоторое время. Руководство по G2 позволяет пользователям, легко создавать графические интерфейсы и системы диагностирования в реальном масштабе времени. Компания Telewindows Gensym's создала мощную более универсальную среду клиент/сервер, которая позволяет пользователям совместно использовать прикладные программы на G2. Gensym также предлагает мосты (программы) для связи с другими программам (на C и АДА) и системы передачи и обработки данных о движущихся объектах в реальном времени, включая реляционные базы данных, распределенные системы управления, и программируемые логические системы. GBB - поддерживает фреймовые рабочие области, содержит высокоэффективный транслятор, фреймовые базы данных и библиотеку, которые поддерживают многомерные алгоритмы поиска целей;KS языки представлений знаний; Универсальные оболочки управления и утилиты администрирования порядком выполнения операторов; интерактивные, графические дисплеи для контроля и исследования; компоненты управления и рабочие области. Эти компоненты составляют инфраструктуру, необходимую для формирования прикладных программ. GURU - оболочка экспертной системы, в который предлагается широкое разнообразие инструментальных средств обработки информации, объединенных с возможностями, основанными на знаниях, такими, вывод решения от фактов к цели, вывода решения от цели к фактам, смешанное формирование цепочки вывода, многозначные переменные и нечеткие рассуждения. HUGIN - пакет программ для конструирования моделей, основанных на системах экспертных оценок в областях, характеризующихся существенной неопределенностью. Hugin система содержит удобную для использования дедуктивную систему вывода, основанную на вероятностных оценках, которую можно применить к сложным сетям с причинноследственными вероятностными связями между объектами. 17 ILOG RULES - содержит высоко эффективный механизм логического вывода, основанный на правилах. Это - инструмент вывода от фактов к цели, написанный на языке C++ ( следовательно это объектно-ориентированный и поддерживающий передачу наследственных характеристик механизм). Система также снабжена библиотекой C++. Она выполняется фактически на любой Unix платформе, а также на персональных компьютерах, работающих в среде DOS или OS/2. Система позволяет транслировать правила в C / C ++ код, и строить объектно-ориентированную модель данных в C++. C / C ++ код может быть включен в условия правил и действия, связанные с правилами. OPERATION EXPERT - графическое программное средство для определения повреждений в Интеллектуальных сетях связи. Система создана на основе программных средств фирмы Gensym (оболочки G2). Система использует модель сети и связанные с ней прикладные программы для отображения объектов и для описания их поведения и характеристик. Систем аподдерживает архитектуру клиент-сервер, учитывает параллельную обработку данных в реальном масштабе времени. PROSPECT EXPLORER - экспертная система, использующая нейросетевые вычислительные технологии для помощи геологам в обнаружении горных аномалий. MIT - пакет программ для улучшения эффективности и снижения затрат в процессе выделения минералов. Использует различные факторы, начиная от параметров процесса выделения минерала и кончая климатическими факторами для создания нейросетевых моделей процесса. ReThink фиры Gensym - программный инструмент для графического проектирования, моделирования и оперативного управления бизнес процессами. Опирается на пакет G2. 18 1.3 Классификация систем искусственного интеллекта. Для систем искусственного интеллекта характерны следующие признаки [2]:  развитые коммуникативные способности;  умение решать сложные задачи;  способность к самообучению;  адаптивность. В соответствии с данными признаками, системы искусственного интеллекта, можно разделить на классы, представленные на рис.1.1 [2]. Системы искусственного интеллекта Системы с интеллектуальны м интерфейсом Самообучающие ся системы Адаптивные системы Классифициру ющие ЭС Индуктивные сисемы CASE технологии Естественноязыковые интерфейсы Доопределяющ ие ЭС Нейронные сети Компонентные технологии Гипертекстовы е системы Трансформиру ющие ЭС Системы, основанные на прецедентах Системы контекстной помощи Мультиагентны е системы Базы знаний Экспертные системы (ЭС) Информационн ые хранилища Системы с когнитивной графикой Рис.1.1 Классификация систем искусственного интеллекта 1.3.1 Системы с интеллектуальным интерфейсом Базы знаний (БЗ) позволяют в отличии от традиционных баз данных (БД) обеспечивать выборку необходимой информации, не хранимой явно, а выводимой из совокупности хранимых данных. Естественно-языковые интерфейсы применяются для доступа к БЗ, контекстного поиска текстовой информации, голосового ввода команд, машинного перевода с иностранных языков. Гипертекстовые системы используются для реализации поиска по ключевым словам в БД с текстовой информацией. 19 Системы контекстной помощи являются частным случаем гипертекстовых систем и естественно-языковых систем. В отличие от них пользователь сам описывает проблему, а система выполняет поиск относящихся к ситуации рекомендаций. Системы когнитивной графики ориентированы на общение с пользователем посредством графических образов, которые генерируются в соответствии с изменениями параметров моделируемых или наблюдаемых процессов. 1.3.2 Экспертные системы Область исследования ЭС называется инженерией знаний. Экспертные системы предназначены для решения неформализованных задач, то есть задач, решаемых с помощью неточных знаний, которые являются результатом обобщения многолетнего опыта работы и интуиции специалистов. Неформализованные знания обычно представляют собой эвристические приемы и правила. ЭС обладают следующими особенностями:  алгоритм решения не известен заранее, а строится самой ЭС с помощью символических рассуждений, базирующихся на эвристических приемах;  ясность полученных решений, то есть система «осознает» в терминах пользователя, как она получает решение;  способность анализа и объяснения своих действий и знаний;  способность приобретения новых знаний от пользователя-эксперта, не знающего программирования, и изменения в соответствии с ними своего поведения;  обеспечение «дружественного», как правило, естественно-языкового интерфейса с пользователем. ЭС охватывают самые разные предметные области, среди которых преобладают медицина, бизнес, производство, проектирование и системы управления. Классифицирующие ЭС решают задачи распознавания ситуаций. Основным методом формирования решений в них является дедуктивный логический вывод. Доопределяющие ЭС используются для решения задач с не полностью определенными данными и знаниями. В качестве методов обработки неопределенных знаний могут использоваться байесовский вероятностный подход, коэффициенты уверенности, нечеткая логика. Трансформирующие ЭС реализуют преобразование знаний в процессе решения задачи. В ЭС данного класса используются различные способы обработки знаний:  генерация и проверка гипотез;  логика предположений и умолчаний;  использование метазнаний для устранения неопределенности. 20 Мультиагентные системы – это динамические ЭС, основанные на интеграции разнородных источников знаний, которые обмениваются между собой полученными результатами в процессе решения задач. Системы данного класса имеют следующие возможности:  реализация альтернативных рассуждений;  распределённое решение проблем, разделяемое на параллельно решаемые подзадачи;  применение различных стратегий вывода заключений;  обработка больших массивов информации из БД;  использование математических моделей и внешних процедур для имитации развития ситуаций. 1.3.3 Самообучающиеся системы Системы данного класса основаны на методах автоматической классификации ситуаций из реальной практики, или на методах обучения на примерах. Примеры составляют так называемую обучающую выборку. Элементы обучающей выборки описываются множеством классификационных признаков. Стратегия обучения «с учителем» предполагает задание для каждого примера эталонных значений признаков, показывающих его принадлежность к определенному классу. При обучении «без учителя» система должна самостоятельно выделять классы ситуаций по степени близости значений классификационных признаков. В процессе обучения проводится автоматическое построение обобщающих правил или функций, описывающих принадлежность ситуации к классам, которыми система будет впоследствии пользоваться при определении незнакомых ситуаций. При этом из обобщающих правил автоматически формируется БЗ, которая периодически корректируется. Индуктивные системы позволяют обобщать примеры на основе принципа индукции «от частного к общему». Процедура обобщения сводится к классификации примеров по значимым признакам. Нейронные сети – обобщенное название группы математических моделей и алгоритмов, обладающих способностью обучаться на примерах, «узнавая» впоследствии черты встреченных образцов и ситуаций. Нейронные сети используются для решения задач аппроксимации и идентификации функций, классификации и распознавания образов, обработки сигналов, сжатия данных, прогнозирования и адаптивного управления. Нейронная сеть – это кибернетическая модель нервной системы, которая представляет собой совокупность большого числа нейронов, топология соединения которых зависит от типа сети. Нейроны соединяются в слои. Различают сети прямого распространения и рекурентные сети (с обратными связями). Чтобы создать нейронную сеть для решения какой-либо задачи, необходимо выбрать тип сети и определить параметры сети в процессе ее обучения. 21 В системах, основных на прецедентах, БЗ содержит описания конкретных ситуаций (прецеденты). Поиск решений осуществляется на основе аналогий по значениям соответствующих признаков. В отличие от индуктивных систем допускается нечеткий поиск с получением множества допустимых альтернатив, каждая из которых может оцениваться некоторым коэффициентом уверенности. Информационные хранилища отличаются от БЗ. Хранилище данных – это предметно-ориентированное, интегрированное, привязанное ко времени, неизменяемое собрание данных, применяемых для поддержки процессов принятия управленческих решений. Технологии извлечения знаний из хранилища данных основаны на методах статистического анализа и моделирования, ориентированных на поиск моделей и отношений, скрытых в совокупности данных. Для извлечения значимой информации используются специальные методы (OLAP – анализ, DATA Mining или Knowledge Discovery), основанные на применении методов математической статистики, нейронных сетей, индуктивных методов и других методах. 1.3.4 Адаптивные системы Адаптивные системы должны удовлетворять ряду требований:  адекватно отражать знания проблемной области в каждый момент времени;  быть пригодными для легкой и быстрой реконструкции при изменениях проблемной среды. Ядром систем данного класса является модель проблемной области, поддерживаемая в специальной БЗ – репозитории. Ядро системы управляет процессами генерации или переконфигурирования программного обеспечения. При разработке адаптивных систем используется типовое или оригинальное проектирование. Реализация оригинального проектирования основана на использовании CASE- технологий (Designer2000, SilverRun, Natural Light Strom и др.). При типовом проектировании осуществляется адаптация типовых разработок к особенностям проблемной области. При этом используются инструментальные средства компонентного (сборочного) проектирования (R/3, BAAN, Prodis и др.). При использовании CASE- технологий при изменении проблемной области каждый раз применяется генерация программного обеспечения, а при использовании сборочной технологии – конфигурирование программ или их переработка. 1.4 Характеристики знаний. Основной проблемой, решаемой во всех системах ИИ, является проблема представления знаний. Информация представляется в компьютере в процедурной и декларативной форме. В процедурной форме представлены программы, в декларативной – данные. В системах искусственного интеллекта возникла концепция новой формы представления информации – 22 знания, которая объединила в себе черты как процедурной, так и декларативной информации. Перечислим основные характеристики знаний: 1. Внутренняя интерпретируемость. Каждая информационная единица должна иметь уникальное имя, по которому система находит ее, а также отвечает на запросы, в которых это имя упомянуто. Данные в памяти лишены имен и могут идентифицироваться только программой, извлекающей их из памяти. При переходе к знаниям в память вводится информация о некоторой протоструктуре информационных единиц и словари имен данных. Каждая единица информации будет экземпляром протоструктуры. СУБД обеспечивают реализацию внутренней интерпретируемости информации, хранимой в базе данных. 2. Структурированность. Информационные единицы должны соответствовать «принципу матрешки», то есть рекурсивной вложенности одних информационных единиц в другие. Другими словами, должна существовать возможность произвольного установления между отдельными информационными единицами отношений типа «часть – целое», «род – вид» или «элемент – класс». 3. Связность. Между информационными единицами должна быть предусмотрена возможность установления связей различного типа, характеризующих отношения между информационными единицами. Семантика отношений может носить как декларативный характер, например, в отношениях «одновременно» и «причина – следствие», так и процедурный характер, например, в отношении «аргумент – функция». Все отношения можно разделить на четыре категории: отношения структуризации (задают иерархию информационных единиц), функциональные отношения (несут процедурную информацию, позволяющую вычислять одни информационные единицы через другие), каузальные отношения (задают причинноследственные связи) и семантические отношения (все остальные отношения). 4. Семантическая метрика. Между информационными единицами задают отношения релевантности, которые характеризуют ситуационную близость информационных единиц, то есть силу ассоциативной связи между информационными единицами (например, «покупка» или «регулирование движения на перекрестке»). Отношение релевантности позволяет находить знания, близкие к найденным ранее знаниям. 5. Активность. Выполнение программ в информационных системах должно инициализироваться не командами, а состоянием информационной базы, например, появлением в базе фактов или описаний событий или установление связей между информационными единицами. Перечисленные характеристики определяют разницу между данными и знаниями, при этом базы данных перерастают в базы знаний. 23 1.5 Модели представления знаний. В интеллектуальных системах используются четыре основных типа моделей знаний: 1. Логические модели. В основе моделей такого типа лежит формальная система, задаваемая четверкой вида M = . Множество T есть множество базовых элементов, например слов из некоторого словаря, или деталей из некоторого набора. Для множества T существует некоторая процедура определения принадлежности или непринадлежности произвольного элемента x к данному множеству T. Процедура такой проверки может быть любой, но она должна давать ответ на вопрос, является ли x элементом множества T за конечное число шагов. Обозначим эту процедуру P(T). Множество S есть множество синтаксических правил. С их помощью из элементов T образуют синтаксически правильные совокупности. Например, из слов словаря строятся синтаксически правильные фразы, а из деталей собираются конструкции. Существует некоторая процедура P(S), с помощью которой за конечное число шагов можно определить, является ли совокупность X синтаксически правильной. Во множестве синтаксически правильных совокупностей выделяется некоторое подмножество A. Элементы A называются аксиомами. Как и для других составляющих формальной системы, должна существовать процедура P(A) , с помощью которой для любой синтаксически правильной совокупности можно определить принадлежность ее к множеству A. Множество B есть множество правил вывода. Применяя их к элементам A, можно получать новые синтаксически правильные совокупности, к которым снова можно применять правила из B. Так формируется множество выводимых в данной формальной системе совокупностей. Если имеется процедура P(B), с помощью которой можно определить для любой синтаксически правильной совокупности, является ли она выводимой, то соответствующая формальная система называется разрешимой. Это показывает, что именно правила вывода являются наиболее сложной составляющей формальной системы. Для знаний, входящих в базу знаний, можно считать, что множество A образуют все информационные единицы, которые введены в базу знаний извне, а с помощью правил вывода из них выводятся новые производные знания. Другими словами, формальная система представляет собой генератор порождения новых знаний, образующих множество выводимых в данной системе знаний. Это свойство логических моделей позволяет хранить в базе лишь те знания, которые образуют множество A, а все остальные знания получать из них по правилам вывода. 24 Сетевые модели. Сетевые модели формально можно описать в виде H = . Здесь I есть множество информационных единиц; C1, C2,…, Cn - множество типов связей между ними. Отображение G задает связи из заданного набора типов связей между информационными единицами, входящими в I. В зависимости от типов связей, используемых в модели, различают классифицирующие сети, функциональные сети и сценарии, нейронные сети. В классифицирующих сетях используются отношения структуризации. Такие сети позволяют в базах знаний вводить иерархические отношения между информационными единицами. Функциональные сети характеризуются наличием функциональных отношений. Их часто называют вычислительными моделями, так как они позволяют описывать процедуры «вычислений» одних информационных единиц через другие. Нейронные сети можно отнести к классу функциональных сетей, однако нечёткие продукционные нейронные сети представляют собой гибридную модель, соединяющую в себе черты логической, продукционной и сетевой моделей. В сценариях используются каузальные отношения, а также отношения типа «средство – результат». Если в сетевой модели допускаются связи различного типа, то ее называют семантической сетью. 2. 3.Продукционные модели. В моделях этого типа используются некоторые элементы логических и сетевых моделей. Из логических моделей заимствована идея правил вывода, которые здесь называются продукциями, а из сетевых моделей – описание знаний в виде семантической сети. В результате применения правил вывода к фрагментам сетевого описания происходит трансформация семантической сети за счет смены ее фрагментов, наращивания сети и исключения из нее ненужных фрагментов. Таким образом, в продукционных моделях процедурная информация явно выделена и описывается иными средствами, чем декларативная информация. Вместо логического вывода, характерного для логических моделей, в продукционных моделях появляется вывод на знаниях. Продукционная модель или модель, основанная на правилах, позволяет представить знания в виде предложений типа «Если (условие), то (действие)». Под условием понимается некоторое предложение — образец, по которому осуществляется поиск в базе знаний, а под действием — действия, выполняемые при успешном исходе поиска (они могут быть промежуточными, выступающими далее как условия, и терминальными или целевыми, завершающими работу системы). При использовании продукционной модели база знаний состоит из набора правил, Программа, управляющая перебором правил, называется машиной вывода. Чаще всего вывод бывает прямой (от данных к поиску цели) или обратный (от цели для ее подтверждения – к данным). Данные — это исходные факты, на основании которых запускается машина 25 вывода. Если в памяти системы хранится некоторый набор продукций, то они образуют систему продукций. В системе продукций должны быть заданы специальные процедуры управления продукциями, с помощью которых происходит актуализация продукций и выполнение той или иной продукции из числа актуализированных. 4.Фреймовые модели. В отличие от моделей других типов во фреймовых моделях фиксируется жесткая структура информационных единиц, которая называется протофреймом. В общем виде она выглядит следующим образом: (Имя фрейма: Имя слота 1 (значение слота 1) Имя слота 2 (значение слота 2) . . . . . . . . . . . . . . Имя слота К (значение слота К)). Значением слота может быть все, что угодно: числа, математические соотношения, тексты на естественном языке, программы, правила вывода, ссылки на другие слоты данного фрейма или других фреймов. В качестве значения слота может выступать набор слотов более низкого уровня, что позволяет реализовать во фреймовых представлениях «принцип матрешки». При конкретизации фрейма ему и слотам присваиваются имена, и происходит заполнение слотов. Таким образом, из протофреймов получаются фреймы-экземпляры. Переход от исходного протофрейма к фрейму-экземпляру может быть многошаговым, за счет постепенного уточнения значений слотов. Связи между фреймами задаются значениями специального слота с именем «Связь». Некоторые специалисты по ИС не выделяют фреймовые модели в отдельный класс, так как в ней объединены все основные особенности моделей остальных типов. 26 2 Введение в нейронные сети 2.1 Основные свойства нейронных сетей Исследования по искусственным нейронным сетям связаны с тем, что способ обработки информации человеческим мозгом принципиально отличается от методов, применяемых обычными цифровыми компьютерами. Мозг представляет собой чрезвычайно сложный, нелинейный, параллельный компьютер. Он обладает способностью организовывать свои структурные компоненты, называемые нейронами, так, чтобы они могли выполнить конкретные задачи (такие как распознавание образов, обработку сигналов органов чувств, моторные функции) во много раз быстрее, чем могут позволить самые быстродействующие компьютеры. Мозг имеет совершенную структуру, позволяющую строить собственные правила на основе опыта. Опыт накапливается с течением времени. Понятие развития нейронов мозга связано с понятием пластичности мозга – способностью настройки нервной системы в соответствии с окружающей средой. Аналогично в искусственных нейронных сетях производится настройка искусственных нейронов и формируется структура нейронной сети. В общем случае нейронная сеть представляет машину, моделирующую способ обработки мозгом конкретной задачи. Эта сеть обычно реализуется с помощью электронных компонентов или моделируется программой. Таким образом, можно дать следующее определение нейронных сетей, выступающих в роли адаптивной машины [3]: нейронная сеть – это громадный распределенный параллельный процессор, состоящий из элементарных единиц обработки информации, накапливающих экспериментальные знания и представляющих их для последующей обработки. Нейронная сеть сходна с мозгом с двух точек зрения:  знания поступают в нейронную сеть из окружающей среды и используются в процессе обучения;  для накопления знаний применяются связи между нейронами, называемые синаптическими весами. Процедура настройки синаптических весов называется алгоритмом обучения.Эта процедура выстраивает в определённом порядке веса нейронов сети для обеспечения необходимой взаимосвязи между ними. Наиболее существенными свойствами нейронных сетей являются: 1. Нелинейность.Поскольку искусственные нейроны могут быть линейными и нелинейными, то нейронные сети позволяют воспроизводить сложные зависимости, как линейные, так и нелинейные. Нейронные сети реализуют нелинейность особого вида, так как она распределена по сети. Кроме того, нейронные сети справляются с "проклятием размерности", которое не позволяет моделировать нелинейные зависимости в случае большого числа переменных. 27 2. Параллельная обработка информации. Благодаря этой способности при большом количестве межнейронных связей достигается значительное ускорение процесса обработки информации. Во многих ситуациях становится возможной обработка сигналов в реальном масштабе времени. 3. Обучение на примерах. Одной из популярных парадигм обучения является обучение с учителем. Такой способ обучения предполагает изменение синаптических весов на основе набора учебных примеров. Каждый пример состоит из входного сигнала и соответствующего ему ожидаемого выходного сигнала. Нейронная сеть модифицирует синаптические веса для минимизации разности ожидаемого выходного сигнала и реального выходного сигнала, формируемого нейронной сетью. Таким образом, нейронная сеть обучается на примерах, представляющих собой таблицу соответствий вход-выход для конкретной задачи. Ранее использованные примеры могут быть использованы для обучения снова в таком же или ином порядке. 4. Адаптивность (adaptivity). Нейронные сети обладают способностью адаптировать свои синаптические веса к изменениям окружающей среды. Нейронные сети могут быть легко переучены для работы в нестационарной среде. Для того, чтобы использовать все достоинства адаптивности, основные параметры системы должны быть достаточно стабильными, чтобы не учитывать внешние помехи, и достаточно гибкими, чтобы обеспечить реакцию на существенные изменения среды. 5. Нечувствительность к ошибкам (faulttolerance). Очень большое количество межнейронных соединений приводит к тому, что сеть становится нечувствительной к ошибкам, возникающим в отдельных контактах. Функции поврежденных соединений принимают на себя другие элементы, в результате в деятельности сети не наблюдаются заметные нарушения. Только серьезные повреждения структуры нейронных сети существенно влияют на ее работоспособность. 6. Способность к обобщению полученных знаний. Сеть обладает чертами искусственного интеллекта. Натренированная на ограниченном множестве обучающих примеров, она обобщает накопленную информацию и вырабатывает ожидаемую реакцию применительно к данным, не обрабатывавшимся в процессе обучения. 7. Единообразие анализа и проектирования. Нейронные сети являются универсальным механизмом обработки информации. Одно и тоже проектное решение нейронной сети может быть использовано в разных предметных областях. Это свойство проявляется из-за нескольких причин:  нейроны являются стандартными составными частями любой нейронной сети; 28  можно использовать одни и те же алгоритмы обучения в различных нейросетевых приложениях;  на основе интеграции целых модулей могут быть построены модульные сети. 8. Аналогия с нейробиологией.Строение нейронных стетй определяется аналогией с живым мозгом, являющимся доказательством возможности существования отказоустойчивых вычислительных параллельных систем, эффективно решающих поставленные задачи. Наличие перечисленных свойств вызвало в последние годы огромный рост интереса к нейронным сетям и существенный прогресс в их исследовании. Искусственные нейронные сети используются для аппроксимации функций, сжатия данных, классификации и распознавания образов, прогнозирования, идентификации, оценивания и ассоциативного управления. 2.2 Биологические основы нейронных сетей Искусственные нейронные сети возникли на основе знаний о функционировании нервной системы живых существ. Невную систему человека можно представить в виде трёхступенчатой системы. Центром этой системы является мозг, представляемый сетью нервных клеток,то есть нейронной сетью. Он получает информацию, анализирует ее и выдает соответствующие решения. Рецепторы получают информацию от тела и окружающей среды и преобразуют её в электрический импульс, передаваемый в мозг. Эффекторы преобразовывают электрические импульсы, вырабатываемы мозгом в выходные сигналы. Нервная клетка, сокращенно называемая нейроном, является основным элементом нервной системы. У нейрона есть тело, называемое сомой, внутри которого располагается ядро. Из сомы нейрона выходят отростки двух видов: многочисленные тонкие, густо ветвящиеся дендриты и более толстый, расщепляющийся на многочисленные нервные окончания – колатералы,аксон (рис.2.1)[4]. Выходной сигнал клетки передается через аксон при помощи колатералов. Колатералы контактируют с сомой и дендритами других нейронов, образуя каналы связи выходных сигналов клетки с входами других клеток, которые называются синапсами. Синапсы могут находиться как на дендритах, так и непосредственно в теле клетки. Самым распространённым типом синапсов является химический синапс, который работает следующим образом. Передача сигналов внутри нервной системы – это очень сложный электрохимический процесс. С большим упрощением можно считать, что передача нервного импульса между двумя клетками основана на выделении особых химических субстанций, называемых нейромедиаторами, которые формируются под влиянием поступающих от синапсов раздражителей. Предсинаптический процесс формирует субстанцию, которая методом диффузии передаётся по синаптическим связям и влияет на 29 постсинаптический процесс. Синапс преобразует пресинаптический электрический сигнал в химический, а затем в постсинаптический электрический. Данные субстанции воздействуют на клеточную мембрану, вызывая изменение ее энергетического потенциала, причем величина этого изменения пропорциональна количеству нейромедиатора, попадающего на мембрану. Синапсы отличаются друг от друга размерами и возможностями концентрации нейромедиатора. Аксон другого нейрона Ядро Сома Аксон Дендриты Синапс Колатералы Рис. 2.1 Упрощенная структура биологической нервной клетки Поэтому импульсы одинаковой величины, поступающие на входы нервной клетки через различные синапсы, могут в разной степени изменять ее энергетический потенциал. Мерой изменения потенциала считается уровень поляризации мембраны, зависящий от суммарного количества нейромедиатора, выделенного на всех синапсах. В результате поступления входных импульсов на конкретные синапсы происходит изменение электрического потенциала клетки. Если отклонение от состояния электрического равновесия невелико, клетка возвращается в исходное состояние и на ее выходе сигнал не регистрируется. В этом случае считается, что уровень изменения потенциала ниже порога ее срабатывания. Если суммарное изменение потенциала превысило порог активации клетки, значение выходного сигнала начинает нарастать, приобретая характер нервного импульса, пересылаемого аксоном на другие нейроны, подключенные к данной клетке (рис.2.2). Величина этого сигнала не зависит от степени превышения порога срабатывания. Количество взаимодействующих друг с другом нервных клеток в человеческом мозге оценивается, как 1011- 1014. Каждая нервная клетка выполняет функцию суммирования весовых коэффициентов входных 30 сигналов и сравнивает полученную сумму с пороговым значением. Каждый нейрон имеет свои веса и свои пороговые значения. Громадное количество нейронов и межнейронных связей (до 1000 входов в каждый нейрон) приводит к тому, что ошибка в срабатывании отдельного нейрона остается незаметной в общей массе взаимодействующих клеток. U[mV] * 30 1 2 3 4 t[ms] -70 Рис. 2.2 Типичная форма нервного импульса Существует огромное количество форм и размеров нейронов в зависимости от того, в какой части мозга он находятся.Самыми распространёнными нейронами коры головного мозга являются пирамидальные нейроны. Следует отметить, что ни одна современная технология не позволяет построить искусственную нейронную сеть, близкую по масштабам к нейронной сети мозга. Однако изучение и копирование биологических нервных систем, позволяет надеяться на создание нового поколения электронных устройств, имеющих аналогичные характеристики. 2.3 Модель МакКаллока - Питса Нейрон является единицей обработки информации в нейронной сети. Из приведенных выше рассуждений следует, что каждый нейрон суммирует с соответствующими весами сигналы, приходящие от других нейронов, выполняет нелинейную решающую функцию и передает результат связанным с ним другим нейронам. В простейших моделях нейронов выходной сигнал принимает двоичные значения: 0 или 1. Значение 1 соответствует превышению порогового уровня, значение 0 – в противном случае. Одна из первых моделей нейрона была предложена Дж. МакКаллоком и У. Питсом в 1943 году [4]. Структурная схема этой модели представлена на рис. 2.3. Сигналы xj на входе синапсов j (j = 1,2,…,N), связанные с нейроном i, суммируются с учетом соответствующих синаптических весов wij (первый индекс относится к нейрону, а второй к синапсу), после чего результат сравнивается с пороговым значением wi0 . 31 Пороговое значение отражает увеличение или уменьшение входного сигнала, подаваемого на функцию активации, которая ограничивает амплитуду выходного сигнала. Выходной сигнал нейрона yi определяется при этом зависимостью  N  y j  f   wij x j (t ) wi 0  (2.1)  J 1  1 x1 wj0 wj1 wj2 uj yj + x2 wj xN N Рис. 2.3 Модель нейрона МакКаллока-Питса Аргументом функции выступает суммарный сигнал, формируемый сумматором искусственного нейрона. ui  N  wij x j (t ) wi 0 . (2.2) j 1 Коэффициенты wij в формуле (2.1) представляют веса синапсов. Положительные значения wij соответствует синапсам, повышающим потенциал, отрицательные значения – синапсам, понижающим потенциал, wij  0 свидетельствует об отсутствии связи между i-м и j-м нейронами. Использование порогового сигнала wi 0 обеспечивает эффект аффинного преобразования выхода линейного сумматора ui . Модель МакКаллока – Питса – это дискретная модель, в которой состояние нейрона в момент (t+1) рассчитывается по значению его входных сигналов в момент времени t. Функция f(ui) называется функцией активации. В модели МакКаллока – Питса это пороговая функция вида: 1 для u  0 f (u )  . (2.3) 0 для u  0 В общем случае эта функция активации описывается следующим выражением: 32 b, если x  0; (2.4) sgn( x)   c, если x  0, где b и c – некоторые постоянные. На практике чаще всего используют две пары постоянных b и c: первая (-1,1); вторая – (0,1). Первая пара коэффициентов определяет так называемую симметричную пороговую функцию, вторая – смещенную. 1.4 Персептрон Ф. Розенблатт в 1958 году ввел понятие персептрона как первой модели обучения с учителем [4]. Обучение персептрона требует наличие учителя и состоит в таком подборе весов wij ,чтобывыходной сигнал yi был наиболее близок к заданному значению d i . При таком способе обучения, каждой обучающей выборке, представленной вектором x поставлено в соответствии ожидаемое значение d i на выходе i-го нейрона. Наиболее популярный метод обучения персептрона, называемый правилом персептрона, состоит в подборе весовых коэффициентов по следующему алгоритму:  при первоначально выбранных (как правило, случайным образом) значениях весов wij на вход нейрона подается обучающий вектор x и рассчитывается значение выходного сигнала yi . По результатам сравнения значения yi с заданным значением d i уточняются значения весов;  если yi совпадает с ожидаемым значением d i , то весовые коэффициенты wijне изменяются;  если yi =0 , а соответствующее значение d i =1 , то значения весов уточняются по формуле wij t 1  wij t   x j , где (t+1)– это номер текущего цикла, а t – номер предыдущего цикла;  если yi =1 , а соответствующее значение d i =0 , то значения весов уточняются по формуле wij t 1  wij t   x j , где (t+1)– это номер текущего цикла, а t – номер предыдущего цикла; По завершении уточнения весов предоставляются очередной обучающий вектор x и связанное с ним значение d i , и значения весов уточняются заново. Этот процесс повторяется для всех обучающих выборок, пока не будут минимизированы различия между всеми значениями yi и соответствующими им значениями d i . Правило персептрона представляет собой частный случай (если сигналы принимают только двоичные значения 0 и 1) предложенного позже правила Видроу-Хоффа, используемого для подбора весов нейронов разного типа: wij t 1  wij t   wij , (2.5) wij  x j d i  yi . (2.6) 33 Аналогичные соотношения используются при подборе веса порогового элемента wi 0 , для которого входной сигнал всегда равен 1: wi 0  di  yi  . (2.7) Минимизация различий между фактическими реакциями нейрона y i и ожидаемыми значениями d i может быть представлена как минимизация функции погрешности, чаще всего определяемой как минимум квадратичного отклонения: p E t 1   2 yit   dit  , (2.8) где p означает количество обучающих примеров (выборок). Такая минимизация для персептрона проводится по методу безградиентной оптимизации. Эффективность метода при большом количестве обучающих выборок невелика, а количество циклов обучения и длительность быстро возрастают, причем без гарантии достижения минимума целевой функции. Устранить эти недостатки можно только в случае применения непрерывной функции активации, при которой целевая функция Eтакже становится непрерывной, что дает возможность использовать градиентные методы минимизации. 2.5 Сигмоидальный нейрон Нейрон сигмоидального типа имеет структуру, подобную модели МакКаллока–Питса, с той разницей, что функция активации является непрерывной и может быть выражена в виде сигмоидальной униполярной или биполярной функции [4]. Структура нейрона представлена на рис. 2.4. x j (j=1,2,…,N) Входные сигналы суммируются с учетом соответствующих весов wij (сигнал поступает в направлении от узла j к узлу i) в сумматоре, после чего результат сравнивается с пороговым значением wi 0 . Выходной сигнал нейрона yi определяется при этом зависимостью N  yi  f   wij x j (t )  wi 0  .  j 1    Аргументом функции выступает суммарный сигнал ui  (2.9) N  wij x j (t )  wi 0 . j 1 Функция f(ui), называемая функцией активации, относится к классу непрерывных, монотонно возрастающих и дифференцируемых функций. Нейрон сигмоидального типа использует сигмоидальную униполярную (логистическую) или сигмоидальную биполярную (гиперболический тангенс) функцию активации. 34 1 x1 wi1 x2 wi2 wj0 + ui f (ui ) yi wiN xN Рис. 2.4 Модель сигмоидального нейрона Униполярная функция, как правило, представляется формулой 1 , (2.10) f ( x)  1  e  kx тогда как биполярная функция задается в виде (2.11) или (2.12): f ( x)  tanh( kx) . (2.11) e kx  e  kx f  x   kx . (2.12) e  e  kx Графики сигмоидальных функций при k=1 представлены на рис. 2.5. Отметим, что, как правило, современные компьютеры вычисляют функцию гиперболического тангенса быстрее, чем логистическую. Другое преимущество функции гиперболического тангенса состоит в том, что она изменяется в диапазоне от –1 до +1. Часто бывает необходимо нормировать обучающий набор данных таким образом, чтобы среднее значение было равно 0 при единичном стандартном отклонении. Такая нормировка возможна только с функцией активации, которая способна принимать отрицательные значения. И наконец, нечетная функция, такая, как гиперболический тангенс, обеспечивает более быстрое обучение, чем несимметричная логистическая функция. В этих формулах параметр k подбирается пользователем. Его значение влияет на форму функции активации. При малых значениях k график функции достаточно пологий, по мере роста значения kкрутизна графика увеличивается. 35 f(x) 1 0.5 x а) f(x) 1 -1 x б) Рис. 2.5 Графики сигмоидальных функций: а – логистическая; б – гиперболический тангенс При k → ∞ сигмоидальная функция превращается в пороговую функцию, идентичную функции активации персептрона. На практике чаще всего для упрощения используется значение k =1. Важным свойством сигмоидальной функции является ее дифференцируемость. Для униполярной функции имеем df ( x)  kf ( x)(1  f ( x)) , (2.13) dx тогда как для биполярной функции df ( x)  k (1  f 2 ( x)) . (2.14) dx И в первом, и во втором случае график изменения производной относительно переменной x имеет колоколообразную форму, а его максимум соответствует значению x=0. Сигмоидальный нейрон, как правило, обучается с учителем. При обучении с учителем предполагается, что помимо входных сигналов, составляющих вектор x, известны также и ожидаемые выходные сигналы нейрона d i , составляющие вектор d. В подобной ситуации подбор весовых коэффициентов должен быть организован так, чтобы фактические выходные сигналы нейрона yi принимали бы значения, как можно более близкие к ожидаемым значениям d i . Ключевым элементом процесса обучения с учителем является знание ожидаемых значений d i выходного сигнала нейрона. 36 При обучении с учителем производится минимизация целевой функции, которая для единичного обучающего кортежа i-го нейрона определяется в виде 1 E  ( yi  di ) 2 , (2.15) 2 где  N  (2.16) yi  f (ui )  f   wij x j  .  j 0    Применение непрерывной функции активации позволяет использовать при обучении градиентные алгоритмы. Проще всего реализовать метод наискорейшего спуска, в соответствии с которым уточнение вектора весов проводится в направлении отрицательного градиента целевой функции, при этом i-я составляющая градиента имеет вид: df (u ) dE (2.17) i E  dw  ei x j du i ij i ei   yi  d i  (2.18) df (ui ) Если ввести обозначение  i  ei , то значения весовых dui коэффициентов могут быть уточнены дискретным способом в соответствии с формулой 2.19. wij t 1  wij t    i x j (2.19) В данной формуле коэффициент  – это коэффициент обучения, значение которого либо выбирают эмпирически из интервала (0,1), либо при помощи решения разностного уравнения, представленного формулой 2.20. dwij (2.20)    i x j dt В данной формуле коэффициент  выступает в роли аналогичной значению  . Формулы 2.19 и 2.20 определяют алгоритм обучения. На эффективность обучения оказывает сильное влияние подбор коэффициентов обучения. В существующих алгоритмах обучения его величина может быть задана константой или переменной, значение которой в процессе обучения изменяется адаптивным способом либо подбирается на каждом шаге по принципу направленной минимизации целевой функции от одной переменной в направлении наискорейшего уменьшения значений этой целевой функции. Необходимо подчеркнуть, что применение градиентного метода обучения гарантирует достижение только локального минимума. В случае полимодальной целевой функции, найденный локальный минимум может быть достаточно далек от глобального минимума. Для таких случаев может оказаться результативным обучение с моментом или разбросом. В этом 37 методе процесс уточнения весов определяется не только информацией о градиенте функции, но также и фактическим трендом изменений весов. Приращение весов можно задать следующим математическим выражением: wij t  1   i x j  wij t  , (2.21), в котором первый член соответствует обычному методу наискорейшего спуска, а второй член (момент), отражает последнее изменение весов и не зависит от фактического значения градиента. Значение коэффициента момента ά, как правило, выбирается из интервала (0,1). С ростом значения ά увеличивается влияние момента на подбор весов. 2.6 Нейрон типа WTA В соответствии с принципами функционирования биологических нейронов созданы различные математические модели, которыми в большей или меньшей степени реализуются свойства природной нервной клетки. Обобщенная схема, составляющая основу большинства таких моделей, восходит к представленной на рисунке 2.3 модели МакКаллока-Питса, содержащий сумматор взвешенных входных сигналов и нелинейный блок выработки выходного сигнала нейрона, функционально зависящего от выходного сигнала сумматора. Однако, существуют и другие модели нейронов существенно отличающиеся от модели МакКаллока–Питса. Рассмотрим более подробно нейроны типа WTA(winnertakesall – победитель получает все) [4]. Эти нейроны имеют входной модуль в виде стандартного сумматора, рассчитывающего сумму входных сигналов с соответствующими весами wij . Выходной сигнал i-го сумматора определяется согласно формуле: N ui   wij x j (2.22) j 0 Группа конкурирующих между собой нейронов получает одни и те же входные сигналы x j . Выходные сигналы нейронов u i сравниваются между собой, и по результатам сравнения победителем признается нейрон, значение выходного сигнала у которого оказалось наибольшим. Нейрон-победитель вырабатывает на своем выходе состояние 1, а остальные нейроны переходят в состояние 0. Для обучения нейронов типа WTA не требуется учитель. На начальном этапе случайным образом выбираются весовые коэффициенты каждого нейрона, нормализуемые относительно 1. После подачи первого входного вектора xопределяется победитель этапа. Победивший нейрон переходит в состояние 1, что позволяет провести уточнение весов его входных линий по следующему правилу: wij t  1  wij t    x j  wij t  (2.23) Проигравшие нейроны не изменяют свои весовые коэффициенты. Схема соединения нейронов типа WTA изображена на рис.2.6.   38 На функционирование нейронов типа WTA оказывает существенное влияние нормализация входных векторов и весовых коэффициентов. Выходной сигнал i-го нейрона может быть описан векторным отношением: (2.24) ui  wT x  w x cosi Поскольку w  x  1 , значение выходного сигнала определяется углом между векторами x и w. Поэтому победителем оказывается нейрон, вектор весов которого оказывается наиболее близким текущему обучаемому вектору. x1 w11 + w12 u1 y1 w1N x2 + u2 Механизм конкуренции нейронов y2 wK1 wK2 xN wKN + uK yK Рис. 2.6 Схема соединения нейронов типа WTA В результате победы нейрона уточняются его весовые коэффициенты, значения которых приближаются к значениям вектора x. Проигравшие нейроны не изменяют свои веса. Следствием такой конкуренции становится самоорганизация процесса обучения. 2.7 Звезды Гроссберга Рассмотрим конфигурации входных и выходных звезд Гроссберга [4, 5]. Нейроны типа инстар и оутстар – это взаимодополняющие элементы. Инстар адаптирует веса сигналов, поступающих на сумматор нейрона, к своим входным сигналам, а оутстар согласовывает веса выходящих из нейронов связей с узлами, в которых формируются значения выходных сигналов. Нейрон в форме входной звезды (инстар) имеет N входов x1 , x2 ,..., x N , которым соответствуют веса wi1,wi 2 ,...,wiN , и один выход yi , являющийся взвешенной суммой входов. Входная звезда обучается выдавать сигнал на выходе всякий раз, когда на входы поступает определенный вектор. Таким образом, входная звезда является детектором совокупного состояния своих N входов (рис. 2.7). ui   wij x j , yi  f ui  . В качестве функции активации j 0 часто используется линейная функция, тогда yi  ui . Процесс обучения представляется в следующей итерационной форме: 39   wij t  1  wij t    yi x j  wij t  , (2.25) где η – коэффициент обучения, значение которого, как правило, выбирается из интервала (0,1). Если принять η  1 , то wij  x j уже после первой итерации обучения. Ввод нового вектора x вызовет адаптацию весов к его компонентам и «забывание» предыдущих значений. При η  1 инстар принимает усреднённое значение обучающих векторов. Входные данные должны быть нормированы, то есть x  1 . При этом xj . xj  x12  x22  ...  x N2 Веса инстара x1 wi1 wi2 x2 + ui f(ui) yi wiN xN Рис. 2.7 Структурная схема входной звезды (инстара) Инстар обучается как с учителем, так и без учителя. Если применяется обучение с учителем, то выходные значения y i являются эталонными значениями d i . Выходная звезда Гроссберга (оутстар) выполняет противоположную функцию – функцию командного нейрона, выдавая на выходах определенный вектор, необходимый связанным с ним нейронам, при поступлении сигнала на вход. Структурная схема оутстара представлена на рис. 2.8. Нейрон этого типа имеет один вход и M выходов с весами w1i ,w2i ,...,wMi . yi i-ый нейрон-источник высылает свой выходной сигнал взаимодействующим с ним нейронам, выходные сигналы которых обозначены y j (j = 1, 2, …, M). Оутстар, как правило, является линейным нейроном. Обучение состоит в таком подборе его весов wij , чтобы выходные сигналы оутстара были равны ожидаемым значениям y j взаимодействующих с ним нейронов. 40 Веса оутстара w1i yi w2i y1 y2 wMi yM Рис. 2.8 Структурная схема выходной звезды (оутстара) Обучение оутстара согласно правилу Гроссберга проводится в соответствии с выражением w ji(t 1 )  w ji(t)  η  yi  (y j  w ji(t)) , (2.26) в котором η – это коэффициент обучения, а yi – выходной сигнал i-го нейрона, выступающего в роли источника. В режиме распознавания в момент активизации нейрона-источника оутстар будет генерировать сигналы, соответствующие ожидаемым значениям y j . 2.8 Нейрон Хебба В процессе исследования нервных клеток Д.Хебб выявил усиление связи между двумя клетками, если они одновременно становятся активными [4]. Если j -ая клетка с выходным сигналом y j связана с i -ой клеткой с выходным сигналом y i связью с весом wij , то на значение веса влияют выходные сигналы y j и y i .В соответствии с правилом Хебба вес нейрона изменяется по формуле: wij  ηyi y j , (2.27) где η – это коэффициент обучения, значения которого выбира.тся из интервала (0,1). Стркутурная схема нейрона Хебба, представленная на рисунке 2.9, соответствует стандартной форме нейрона. 41 1 x1 wi1 x2 wi2 wj0 + ui f (ui ) yi wiN xN Рис. 2.9 Структурная схема нейрона Хебба Обучение нейрона по правилу Хебба, может проводиться как с учителем, так и без учителя. При обучении с учителем вместо реального выходного сигнала y i используется эталонное значение d i . При этом правило Хебба принимает вид: wij  ηdi y j , (2.28) В результате применения правила Хебба веса могут сильно возрастать, так как в каждом цикле обучения происходит суммироваие текущего веса и приращения: wij t 1  wij t   wij t  , (2.29) Одним из способов стабилизации обучения по Хеббу является использовани коэффициента забывания  . При этом корректирующая формула имеет следующий вид: wij t  1  wij t   1   wij t  , (2.30) Значение коэффициента забывания выбирается как правило из интервала (0,1), и составляет некоторый процент от коэффициента обучения η . Рекомендуемые значения коэффициента забывания   0.1 .у Обучение по Хеббусчитается обучением ассоциативного типа. При обучении лиейного нейрона стабилизация не наступает даже при введении коэффициента забывания. Выходной сигнал нейрона рассчитывается по формуле: N yi   wij x j  wT x  x T w . j 0 (2.31) Согласно правилу Хебба: (2.32) w  ηxy , И если в выражение (2.32) подставить выражение (2.31) и выбрать для упрощения η  1, то получится формула для приращения весов: w  Cw , (2.33) 42 где C  xxT - матрица корреляции, которая по определению является симметричной и положительно полуопределённой и имеет собственные натуральные и неотрицательные значения. При этом процесс, определяемый соотношением (2.33), становится расходящимся, а значения компонентов вектора w стремятся к бесконечности. Е.Ойя модифицировал правило Хебба таким образом, что вектор весов стремится к 1, то есть w  1 . Уточнение весов происходит по формуле: w  ηyxi  ywi , (2.34) Доказательство ограниченности весов по правилу Ойя можно получить, представив выражение (2.34) в векторной форме и приняв для упрощения η  1: (2.35) w  Cw  wT Cww , Стабильность процесса достигается, когда при достаточно длительном обучении w  0 , то есть (2.36) Cw  wT Cww . Если собственное значение матрицы С обозначить через  , а вектор w подбирать каксвязанный с ней собственный вектор, то по определению собственного значения имеем Cw  w . Подставляя это выражение в (2.35) получим: 2 (2.37)   wT Cw  wT w   w . Отсюда следует, что пррименение правила Ойя приводит к ограничению модуля вектора вестов единицей. 2.9 Функции активации нейронов Вид функции активации во многом определяет функциональные возможности нейронной сети и метод обучения этой сети. Перечень наиболее известных функций активации представлен в таблице 2.1. Табл. 2.1 Примеры функций активации Название Формула Область значений Линейная f ( x)  kx (, ) Полулинейная  kx, x  0 f ( x)    0, x  0 (0, ) насыщением  1, x  1  f ( x)   x,1  x  1 1, x  1  (1,1) Логистическая f ( x)  1 1  e  kx (0,1) Линейная с 43 Гиперболический f ( x)  e kx  e  kx e kx  e  kx (1,1) Рациональная f ( x)  x k x (1,1) Синусоидальная f ( x)  sin( x) (1,1) Экспоненциальная f ( x)  e  kx (0, ) тангенс Гаусса Пороговая  || x  ci || 2   f x   exp   2 i2   0, x  0 f ( x)   1, x  0 (, ) (0,1) Модульная f ( x)  x (0, ) Знаковая (сигнатурная) 1, x  0 f (s)    1, x  0 (1,1) Квадратичная f ( x)  x 2 (0, ) 44 3 Многослойные сети прямого распространения сигнала 3.1 Однослойный персептрон Однослойный персептрон образуют нейроны, расположенные в одной плоскости (рисунок 3.1). Каждый нейрон имеет поляризатор, то есть единичный сигнал, который с весом wi 0 поступает на вход нейрона, а также множество связей с весами wij , по которым поступают входные сигналы x j . 1 y1 x1 y2 x2 yK xN wKN Рисунок 3.1 Структура однослойного персептрона Значения весов подбираются в процессе обучения сети путём приближения реальных выходных значений y i к эталонным значениям d i . Мерой близости является значение целевой функции.При использовании р обучающих векторов x, d для сети из K нейронов, целевую функцию можно определить следующим образом: 2 1 p K E     y im   d im   (3.1) 2 m1i 1 Выходные сигналы y i являются функциями весов сети wij и уточняются в процессе обучения в соответствии с критерием минимизации целевой функции (3.1). Расположенные на одном уровне нейроны функционируют независимо друг от друга, поэтому возможности однослойного персептрона определяются возможностями отдельных нейронов.Каждый нейрон N реализует функциональное отображение yi  f   wij x j  , где f  j 0  45 сигмоидальная функция, поэтому значение выходного сигнала будет зависеть N от знака выражения  wij x j . j 0 Выходной сигнал y i при фиксированных значениях весов зависит от входного вектора x , который определяет гиперплоскость, разделяющую многомерное входное пространство на два подпространства. Вследствие этого, задача классификации (приписывание выходному сигналу значения 1 или 0), может быть решена одним нейроном, если это задача линейной разделимости классов. Добавление нейронов в единственный слой сети не позволяет улучшить её функциональные возможности. Вследствие этого, однослойная сеть имеет небольшое практическое значение. Добавление ещё одного слоя нейронов, даже состоящего из единственного нейрона позволяет существенно расширить возможнойти сети. 3.2 Многослойный персептрон В настоящее время наиболее часто используемой архитектурой нейросети является многослойный персептрон (MLP), который представляет собой обобщение однослойного персептрона. Обычно сеть состоит из множества входных узлов, которые образуют входной слой; одного или нескольких скрытых слоев вычислительных нейронов и одного выходного слоя. Входной сигнал распространяется по сети в прямом направлении от слоя к слою. Многослойные персептроны успешно применяются для решения разнообразных сложных задач. При этом обучение с учителем выполняется с помощью такого популярного алгоритма, как алгоритм обратного распространения ошибки. Многослойный персептрон имеет три отличительных признака: 1. Каждый нейрон имеет нелинейную функцию активации. Данная функция должна быть гладкой (то есть всюду дифференцируемой). Самой популярной гладкой функцией активации является сигмоидальная функция. 2. Сеть содержит один или несколько слоев скрытых нейронов. Эти нейроны позволяют сети обучаться решению сложных задач, последовательно извлекая наиболее важные признаки из входного вектора. 3. Сеть обладает высокой степенью связности, реализуемой посредством синаптических соединений. Структура многослойного персептрона с двумя скрытыми слоями изображена на рис. 3.2 [4]. Показанная на рисунке сеть является полносвязной, что характерно для многослойного персептрона. Это значит, что каждый нейрон любого слоя связан со всеми нейронами предыдущего слоя. Сигнал передается по сети в прямом направлении слева направо. 46 Входной сигнал . . . Входной слой . . . Первый скрытый слой Выходн ой сигнал . . . Второй скрытый слой Выходной слой Рисунок 3.2 Структура многослойного персептрона с двумя скрытыми слоями Для многослойного персептрона выделяют два типа сигналов: 1. Функциональный сигнал – это входной сигнал сети, передаваемый в прямом направлении по всей сети. Такой сигнал достигает конца сети в виде выходного сигнала. В каждом нейроне, через который передается этот сигнал, вычисляется некоторая функция от взвешенной суммы его входов с поправкой в виде порогового элемента - единичного сигнала с весовым коэффициентом wio. 2. Сигнал ошибки – берет своё начало на выходе сети и распространяется в обратном направлении от слоя к слою. Вычисляется каждым нейроном на основе функции ошибки, представленной в той или иной форме. Выходные нейроны составляют выходной слой сети. Остальные нейроны относятся к скрытым слоям. Первый скрытый слой получает данные из входного слоя. Результирующий сигнал первого скрытого слоя, в свою очередь, поступает на следующий скрытый слой и так далее, до самого конца сети. В сетях подобного типа используются, в основном, сигмоидальные нейроны. Такую сеть легко можно интерпретировать как модель вход-выход, в которой веса и пороговые значения являются свободными параметрами модели. Такая сеть может моделировать функцию практически любой степени сложности, причем число слоев и число нейронов в каждом слое определяют сложность функции. В многослойных сетях эталонные значения выходных сигналов известны, как правило, только для нейронов выходного слоя, поэтому сеть 47 невозможно обучить, руководствуясь только величинами ошибок на выходе нейросети. Один из вариантов решения этой проблемы – разработка учебных примеров для каждого слоя нейросети, что является очень трудоемкой операцией и не всегда осуществимо. Второй вариант – динамическая подстройка весовых коэффициентов синапсов, в ходе которой выбираются, как правило, наиболее слабые связи и изменяются на малую величину в ту или иную сторону, а сохраняются только те изменения, которые повлекли уменьшение ошибки на выходе всей сети. Очевидно, что данный метод "тыка", несмотря на свою кажущуюся простоту, требует громоздких рутинных вычислений. И, наконец, третий, более приемлемый вариант – распространение сигналов ошибки от выходов нейросети к ее входам, в направлении, обратном прямому распространению сигналов в обычном режиме работы. Этот алгоритм обучения нейросети получил название процедуры обратного распространения. Разработка алгоритма обратного распространения для определения весов в многослойном перcептроне сделала эти сети наиболее популярными у исследователей и пользователей нейронных сетей. Основными достоинствами многослойного персептрона являются простота в использовании, гарантированное получение ответа после прохода данных по слоям, хорошо апробированные и широко применяемые алгоритмы обучения, способность моделирования функции любой степени сложности. С другой стороны, существует множество спорных вопросов при проектировании сетей прямого распространения. Например, сколько скрытых слоев необходимо для решения данной задачи, сколько следует выбрать нейронов в каждом слое, как сеть будет реагировать на данные, не включенные в обучающую выборку, и какой размер обучающей выборки необходим для достижения "хорошей" обобщающей способности сети. 3.3 Структура двухслойной сигмоидальной нейронной сети На рис. 3.3 представлена сеть с одним скрытым слоем. Все последующие рассуждения относятся к сетям именно такого типа. Обозначения сигналов и весов также будут соответствовать этому рисунку. Веса нейронов скрытого слоя пометим верхним индексом (1), а выходного слоя – верхним индексом (2). Выходные сигналы нейронов скрытого слоя обозначим vi (i=0, 1, 2,…, K), а выходного слоя y s (s=1, 2, …, M). Пусть функция активации нейронов задана в сигмоидальной униполярной или биполярной форме. Для упрощения описания будем использовать расширенное обозначение входного вектора сети в виде x  x0 , x1 ,..., x N T , где x0  1 соответствует единичному сигналу порогового элемента. 48 1 1 w10(1) v1 w10( 2) (1) w20 x1 v2 y1 x2 wK(10) w1K( 2) yM (1) w1N (1) wKN xN vK ( 2) wMK Рисунок 3.3 Обобщенная структура двухслойной сигмоидальной нейронной сети С вектором x связаны два выходных вектора сети: вектор фактических выходных сигналов y  y0, y1 ,..., y M T и вектор ожидаемых выходных сигналов d  d 0 , d1 ,..., d M T . Цель обучения состоит в подборе таких значений весов wij1 и wsi2 для двух слоев сети, чтобы при заданном входном векторе x получить на выходе значения сигналов y s , которые с требуемой точностью будут совпадать с ожидаемыми значениями d s для s=1, 2, …, M. Если рассматривать единичный сигнал порогового элемента как один из компонентов входного вектора x, то веса пороговых элементов можно добавить в векторы весов соответствующих нейронов обоих слоев. При таком подходе выходной сигнал i-го нейрона скрытого слоя удается описать функцией  N  (3.2) vi  f   wij(1) x j  ,  j 0    в которой индекс 0 соответствует сигналу и весам пороговых элементов, причем v0  1, x0  1 . В выходном слое s-ый нейрон вырабатывает выходной сигнал, определяемый как K  N  K  y s  f   wsi( 2) vi   f   wsi( 2) f   wij(1) x j   . (3.3)      i 0   j 0   i 0 Из формулы (3.3) следует, что на значение выходного сигнала влияют веса обоих слоев, тогда как сигналы, вырабатываемые в скрытом слое, не зависят от весов выходного слоя. 49 Для того чтобы сеть можно было применять в дальнейшем, ее прежде надо обучить на полученных ранее данных, для которых известны и значения входных параметров, и правильные ответы на них. Это обучение состоит в подборе весов межнейронных связей, обеспечивающих наибольшую близость ответов сети к известным правильным ответам. Определение числа промежуточных слоев и числа элементов в них является важным вопросом при конструировании многослойного персептрона. 3.4 Градиентные методы обучения многослойного персептрона 3.4.1 Основные положения градиентных алгоритмов обучения сети Задачу обучения нейронной сети будем рассматривать, как требование минимизировать априори определенную целевую функцию E(w). При таком подходе можно применять для обучения алгоритмы, которые в теории оптимизации считаются наиболее эффективными. К ним, без сомнения, относятся градиентные алгоритмы, чью основу составляет выявление градиента целевой функции. Они связаны с разложением целевой функции E(w) в ряд Тейлора в ближайшей окрестности точки имеющегося решения w. В случае целевой функции от многих переменных ( w  [w1 , w2 ,..., wn ]T ) такое представление связывается с окрестностью ранее определенной точки (в частности, при старте алгоритма это исходная точка w0 ) в направлении p. Подобное разложение описывается универсальной формулой вида 1 E ( w  p)  E ( w)  [ g ( w)]T p  p T H ( w) p  ..., (3.4) 2  E E E  , ,..., где g ( w)  E    wn   w1 w2 симметричная квадратная матрица T - это вектор градиента, а   2 E ...  2 E   w1w1 w1wn  H ( w)   ... ... ...   2  2  E  E  ... w w   w  w n n  n 1 является матрицей производных второго порядка, называемой гессианом [4]. В выражении (3.4) p играет роль направляющего вектора, зависящего от фактических значений вектора w. На практике чаще всего рассчитываются три первых члена ряда (3.4), а последующие члены ряда просто игнорируются. При этом зависимость (3.4) может считаться квадратичным приближением целевой функции E(w) в ближайшей окрестности найденной точки w с точностью, равной локальной погрешности отсеченной части O h 3 , где h= ||p||. Для упрощения описания значения переменных,   50 полученных в t-ом цикле, будем записывать с нижним индексом t. Точкой решения w  wt будем считать точку, в которой достигается минимум целевой функции E(w) и g ( wt )  0 , а гессиан H wt  ) является положительно определенным. В процессе поиска минимального значения целевой функции направление поиска p и шаг h подбираются таким образом, чтобы для каждой очередной точки wt 1  wt  t pt выполнялось условие E ( wt 1 )  E ( wt ) . Поиск минимума продолжается, пока норма градиента не упадет ниже априори заданного значения допустимой погрешности либо пока не будет превышено максимальное время вычислений (количество итераций). Универсальный оптимизационный алгоритм обучения нейронной сети можно представить в следующем виде (будем считать, что начальное значение оптимизируемого вектора известно и составляет wt  w0 ) [4]: 1. Проверка сходимости и оптимальности текущего решения wt . Если точка wt отвечает градиентным условиям остановки процесса – завершение вычислений. В противном случае перейти к п.2. 2. Определение вектора направления оптимизации p t для точки wt . 3. Выбор величины шага  t в направлении p t , при котором выполняется условие E ( wt  t pt )  E ( wt ) . 4. Определение нового решения wt 1  wt  t pt , а также соответствующих ему значений E ( wt ) и g ( wt ) , а если требуется – то и H ( wt ) , и возврат к п.1. 3.4.2 Подбор коэффициента обучения После правильно выбранного направления p t , в градиентных алгоритмах обучения, следует определить новую точку решения wt 1 , в которой будет выполняться условие E ( wt 1 )  E ( wt ) . Необходимо подобрать такое значение  t , чтобы новое решение wt 1  wt  t pt лежало как можно ближе к минимуму функции E(w) в направлении p t . Грамотный подбор коэффициента  t оказывает огромное влияние на сходимость алгоритма оптимизации к минимуму целевой функции. Чем сильнее величина  t отличается от значения, при котором E(w) достигает минимума в выбранном направлении p t , тем большее количество итераций потребуется для поиска оптимального решения. Слишком малое значение  t не позволяет минимизировать целевую функцию за один шаг и вызывает необходимость повторно двигаться в том же направлении. Слишком большой шаг приводит к «перепрыгиванию» через минимум функции и фактически заставляет возвращаться к нему. 51 Существуют различные способы подбора значений  t , называемого в теории нейронных сетей коэффициентом обучения. Простейший из них основан на фиксации постоянного значения  t на весь период оптимизации. Этот способ практически используется только совместно с методом наискорейшего спуска. Он имеет низкую эффективность, поскольку значение коэффициента обучения никак не зависит от вектора фактического градиента и, следовательно, от направления p на данной итерации. Величина  подбирается, как правило, раздельно для каждого слоя сети с использованием различных эмпирических зависимостей. Один из походов состоит в определении минимального значения для каждого слоя по формуле 1   min  , (3.5)  ni  где ni обозначает количество входов i-го нейрона в слое. В [4] предложена следующая адаптивная формула для корректировки значений коэффициента обучения в зависимости от итерации обучения:  (t )  0 , (3.6) t 1     где 0 - начальное значение коэффициента обучения,  - константа времени поиска, задаваемые пользователем, а t - номер итерации обучения. При достаточно больших значениях 0 и при большом числе итераций, значительно превосходящих константу  , алгоритм обучения будет вести себя как стохастический алгоритм аппроксимации, а веса будут сходиться к своим оптимальным значениям. 3.4.3 Алгоритм обратного распространения ошибки Алгоритм обратного распространения ошибки определяет стратегию подбора весов многослойной сети с применением градиентных методов оптимизации. В настоящее время считается одним из наиболее эффективных алгоритмов обучения многослойной сети. При обучении ставится задача минимизации целевой функции, формируемой, как правило, в виде квадратичной суммы разностей между фактическими и ожидаемыми значениями выходных сигналов, которая для P обучающих выборок определяется по формуле: 2 1 P M E ( w)    y st   d st  (3.7) 2 t 1 s 1 В случае единичной обучающей выборки (x,d) целевая функция имеет вид:   2 1M E ( w)    y s  d s  2 s 1 (3.8) 52 Уточнение весов может проводиться после предъявления каждой обучающей выборки (так называемый режим «онлайн»), при этом используется целевая функция вида (3.8), либо однократно после предъявления всех обучающих выборок (режим «оффлайн»), при этом используется целевая функция вида (3.7). В последующем изложении используется целевая функция вида (3.8). Для упрощения можно считать, что цель обучения состоит в таком определении значений весов нейронов каждого слоя сети, чтобы при заданном входном векторе получить на выходе значения сигналов y s , совпадающие с требуемой точностью с ожидаемыми значениями d s при s= 1, 2,…,M. Обучение сети с использованием алгоритма обратного распространения ошибки проводится в несколько этапов. На первом из них предъявляется обучающая выборка x и рассчитываются значения сигналов соответствующих нейронов сети. При заданном векторе x определяются вначале значения выходных сигналов viскрытого слоя, а затем значения ys выходного слоя. Для расчета применяются формулы (3.1) и (3.2). После получения значений выходных сигналов y s становится возможным рассчитать фактическое значение целевой функции ошибки E(w). На втором этапе минимизируется значение этой функции. Так как целевая функция непрерывна, то наиболее эффективными методами обучения оказываются градиентные алгоритмы, согласно которым уточнение вектора весов (обучение) производится по формуле: wt 1  wt   w , (3.9) где w   pw , (3.10)  - коэффициент обучения, а p(w) – направление в многомерном пространстве w. В алгоритме обратного распространения ошибки p(w) E определяется как частная производная , взятая со знаком минус. wij Обучение многослойной сети с применением градиентных методов требует определения вектора градиента относительно весов всех слоев сети, что необходимо для правильного выбора направления p(w). Эта задача имеет очевидное решение только для весов выходного слоя. Для других слоев используется алгоритм обратного распространения ошибки, который определяется следующим образом [4]: 1. Подать на вход сети вектор x и рассчитать значения выходных сигналов нейронов скрытых слоев и выходного слоя, а также df (ui1 ) df (ui2  ) df (uim  ) соответствующие производные , ,..., dui1 dui2  duim  функций активации каждого слоя (m – количество слоев). 53 2. Создать сеть обратного распространения ошибок путем изменения направления передачи сигналов, замены функций активации их производными и подачи на бывший выход сети в качестве входного сигнала разности между фактическими y s и ожидаемыми d s значениями. 3. Уточнить веса по формулам (3.9) и (3.10) на основе результатов, полученных в п.1 и п.2 для исходной сети и для сети обратного распространения ошибки. 4. Пункты 1, 2, 3 повторить для всех обучающих выборок, вплоть до выполнения условия остановки: норма градиента станет меньше заданного значения , характеризующего точность обучения. Рассмотрим основные расчетные формулы для сети с одним скрытым слоем, представленной на рисунке 3.3. Используется сигмоидальная функция активации, при этом в случае гиперболического тангенса производная функции активации равна df (u )  1  f 2 (u ) (3.11) du В случае логистической функции производная равна df (u )  f (u )  (1  f (u )) (3.12) du В формулах (3.11) и (3.12) под переменной u будем понимать выходные сигналы сумматоров нейронов скрытого или выходного слоя, представленных формулами (3.13) и (3.14). N ui(1)   wij (1) x j (3.13) j 0 K u s( 2)   wsi ( 2) vi (3.14) i 0 Уточнение весовых коэффициентов будем проводить после предъявления каждой обучающей выборки. Минимизация ведется методом градиентного спуска, что означает подстройку весовых коэффициентов следующим образом: E wij( m)    (3.15) wij Здесь wij – весовой коэффициент синаптической связи, соединяющей iый нейрон слоя m-1 с j-ым нейроном слоя m, – коэффициент обучения, 0<<1. С учетом принятых на рисунке 3.3 обозначений целевая функция для выходного слоя нейронов определяется следующим образом: 2 2   1   K 2   1 M   K 2   N 1   E    f   wsi vi  d s     f  wsi f  wij xi d s  (3.16)  j 0  2 s 1   i o 2 s 1   i 0       M 54 df (u s2  ) E (3.17)  ( ys  d s )   vi dus2  wsi2  Здесь под y s , как и раньше, подразумевается выход s –го нейрона. 2  Если ввести обозначение  s df (u s2  ) , то соотношение (3.17) ( y s  d s ) dus( 2) можно представить в виде: E   s2 vi  2 wsi Компоненты градиента относительно описываются более сложной зависимостью: M dys dvi E  ( y  d )    s s dvi dwij1 wij1 s1 (3.18) нейронов скрытого слоя (3.19) В другом виде эта зависимость может быть выражена формулой: M df (u s2  ) 2  df (ui1 ) E (3.20)   (ys  d s )   wsi xj wij1 s 1 dus2  dui1 Если ввести обозначение df (u s2  ) 2  df (ui1 ) 1 M , (3.21)  i   (ys  d s )   wsi s 1 dus2  dui1 то получим выражение, определяющее компоненты градиента относительно весов нейронов скрытого слоя в виде: E 1 x   (3.22) j i   wij1 3.4.4 Алгоритм наискорейшего спуска Если при разложении целевой функции E(w) в ряд Тейлора ограничиться ее линейным приближением, то мы получим алгоритм наискорейшего спуска. Для выполнения соотношения E ( wt 1 )  E ( wt ) достаточно подобрать g (wt )T p  0 . Условию уменьшения значения целевой функции отвечает выбор вектора направления pt   g ( wt ) . (3.23) В этом случае коррекция весовых коэффициентов производится по формуле: wij t  1  wij t   pt (3.24) В другом виде формулу коррекции весов по методу наискорейшего спуска можно представить следующим образом: E t  wij t  1  wij t     (3.25) wij t  55 Ограничение слагаемым первого порядка при разложении функции в ряд Тейлора, не позволяет использовать информацию о ее кривизне. Это обуславливает линейную сходимость метода. Указанный недостаток, а также резкое замедление минимизации в ближайшей окрестности точки оптимального решения, когда градиент принимает очень малые значения, делают алгоритм наискорейшего спуска низкоэффективным. Тем не менее, простота, невысокие требования к объему памяти и относительно невысокая вычислительная сложность, обуславливают широкое использование алгоритма. Повысить эффективность удается путем эвристической модификации выражения, определяющего направление градиента. Одна из модификаций получила название алгоритма обучения с моментом. При этом подходе уточнение весов сети производится по формуле: wij t  1  wij t     E t    ( wij t   wij t  1) wij t  (3.26) где  - это коэффициент момента, принимающий значения в интервале [0, 1]. Первое слагаемое в формуле (3.26) соответствует алгоритму наискорейшего спуска, а второе слагаемое учитывает последнее изменение весов и не зависит от фактического значения градиента. Чем больше значение коэффициента , тем большее значение оказывает показатель момента на подбор весов. При постоянном значении коэффициента обучения  t  приращение весов остается примерно одинаковым, то есть wij t   pt   wij t  , поэтому эффективное приращение весов можно писать формулой: wij t    pt  1  (3.27) При значении =0,9 это соответствует десятикратному увеличению значения коэффициента обучения и, следовательно, десятикратному ускорению процесса обучения. При малых значениях градиента показатель момента начинает доминировать, что приводит к такому приращению весов, которое соответствует увеличению значения целевой функции, позволяющему выйти из зоны локального минимума. Однако показатель момента, не должен доминировать на протяжении всего процесса обучения, поскольку это приводит к нестабильности алгоритма. На практике, увеличение целевой функции не допускается больше, чем на 4%. В противном случае, wij t   0 . При этом показатель градиента начинает доминировать над показателем момента и процесс развивается в направлении минимизации, заданном вектором градиента [2]. 56 3.4.5 Алгоритм Левенберга-Марквардта В данном алгоритме используется квадратичное приближение целевой функции E(w), представленной формулой (3.3) в окрестности полученного решения wt  [4]. Для достижения минимуму целевой функции требуется, чтобы dE ( wt   pt )  0 . При выполнении соответствующего дифференцирования dpt  можно получить условие оптимальности в виде: g ( wt )  H ( wt ) pt  0 , откуда следует pt   H ( wt ) g ( wt ) (3.28) Формула (3.28) однозначно указывает направление pt  , которое гарантирует достижение минимального для данного шага значения целевой функции. Из него следует, что для определения этого направления необходимо в каждом цикле вычислять значение градиента g и гессиана H в точке последнего решения wt  . Формула (3.28) представляет собой основу ньютоновского алгоритма оптимизации и является чисто теоретическим выражением, поскольку ее применение требует положительной определенности гессиана на каждом шаге, что практически не осуществимо. Поэтому в реальных алгоритмах вместо точно определенного гессиана H wt  используется его приближение Gwt  , которое в алгоритме Левенберга-Марквардта рассчитывается на основе содержащейся в градиенте информации с учётом некоторого регуляризационного фактора [4]. Для описания данного метода представим целевую функцию в виде: 1M 2 E w   es w , (3.29) 2 s 1 где es   y s w  d s w. При использовании обозначений e1   e1 e1 ...  w w w p  1 2  e1 w     e w    e2 e2 ... e2  , J w   w w e w    2 (3.30) w p , wt  wt  . 1 2  ...    ... ... ...     eM w  eM eM ... eM   w1 w2 w p   Вектор градиента и аппроксимированная матрица гессиана, соответствующие целевой функции (3.29) на t -ом шаге алгоритма, определяются в виде: T g ( wt )  J wt  ew , (3.31) T (3.32) Gwt   J wt  J wt   Rwt , 1 57 где Rwt  обозначены компоненты гессиана H wt  , содержащие высшие производные относительно wt  . Аппроксимация Rwt  осуществляется с помощью регуляризационного фактора vt  , в котором переменная vt  называется параметром Левенберга-Марквардта и является скалярной величиной, изменяющейся в процессе обучения. Таким образом: T G wt   J wt  J wt   v t  . (3.33) В начале процесса обучения, когда текущее решение wt  далеко от искомого решения, следует использовать значение параметра vt  намного T превышающее J wt  J wt  . В этом случае гессиан фактически заменяется регуляризационным фактором: (3.34) Gwt   vt  , а направление минимизации выбирается по методу наискорейшего спуска: g wt  pt    . (3.35) vt  По мере приближения к искомому решению величина параметра vt  понижается и первое слагаемое в формуле (3.33) начинает играть более важную роль. Таким образом, на эффективность алгоритма влияет правильный выбор величины vt  . В методике, предложенной Д.Марквардтом, значение vt  изменяется по следующей схеме: vt   1  vt  1  ; если E   E t , то принять vt   r  r   vt  1  если E   E t  и E vt  1  E t , то принять vt   vt  1;  r   vt  1  если E   E t  и E vt  1  E t , то увеличить m раз значение v  r  до достижения Evt  1r m   Et , принимая vt   vt  1r m , где E t , vt , E t  1, vt  1 обозначают значения целевой функции и параметра v на t -ом и t  1 -ом шагах алгоритма, а r  1 - обозначает коэффициент уменьшения v . Такая процедура изменения vt  применяется до момента, когда коэффициент верности отображения, рассчитываемый по формуле E t   E t  1 , (3.36) q T wt  g t   0,5wt T Gt wt  достигнет значения, близкого к единице. При этом квадратичная аппроксимация целевой функции имеет высокую степень совпадения с истинными значениями, следовательно, регуляризационный фактор в формуле (3.33) может быть приравнен нулю, а процесс определения гессиана сводится к аппроксимации первого порядка, при этом алгоритм Левенберга58 Марквардта превращается квадратичную сходимость. в алгоритм Гаусса-Ньютона, имеющему 3.5 Эвристические алгоритмы обучения многослойного персептрона 3.5.1 Алгоритм RPROP. Простой эвристический алгоритм, демонстрирующий высокую эффективность обучения, - это алгоритм М. Ридмиллера и Х. Брауна, называемый RPROP [4]. В этом алгоритме при уточнении весов учитывается только знак градиентной составляющей, а ее значение игнорируется:  E ( w(t ))  . wij (t )   ij (t ) sgn   wij    (3.37) Коэффициент обучения подбирается индивидуально для каждого веса wij с учетом изменения значения градиента: min (a ij (t  1), max ) для S ij (t ) S ij (t  1)  0   ij (t )  max (b ij (t  1), min ) для S ij (t ) S ij (t  1)  0 ,   ij (t  1) в остальных случаях где S ij (t )  (3.38) E ( w(t )) , a и b – константы: a=1.2; b=0.5. Минимальное и wij максимальное значения коэффициента обучения составляют  min  106 и  max  50 . Функция sgn( ) принимает значение, равное знаку градиента. 2.5.2 Алгоритм Quickprop Алгоритм QuickProp содержит элементы, предотвращающие зацикливание в точке неглубокого локального минимума, возникающего в результате работы нейрона на фазе насыщения сигмоидальной кривой, где из-за близости к нулю производной функции активации процесс обучения практически прекращается. Вес wij на k-ом шаге алгоритма изменяется согласно правилу:  E ( w(k ))  wij (k )   k   wij (k )   ijk wit (k  1) (3.39)  w ij   Первое слагаемое (3.39) соответствует оригинальному алгоритму наискорейшего спуска, последнее – фактору момента, а средний член предназначен для минимизации абсолютных значений весов. Коэффициент  , обычно имеющий малую величину (порядка 10-4), приводит к уменьшению весов вплоть до разрыва соответствующих взвешенных связей. Константа  k - это коэффициент обучения, который в данном алгоритме может иметь ненулевое значение  0 (как правило, 0,01< 0 <0,6) на старте 59 процесса обучения, когда wit (k  1)  0 или когда  E ( w(k ))  wij   wij (k )  0 , либо нулевое значение – в противном случае.  wij  Важную роль в алгоритме QuickProp играет фактор момента, который приспосабливается к текущим результатам процесса обучения. Этот коэффициент подбирается индивидуально для каждого веса по правилу:  max , где  ij (k )   max , где Sij (k )wij (k  1)  ij (k )  0;  ijk    ij (k ) причем: Sij (k )  E ( w(k ))  wij (k ) wij Sij (k )  ij (k )  (3.40) (3.41) (3.42) Sij (k  1)  Sij (k ) Константа  max - это максимальное значение коэффициента момента, которое принимается равным 1,75. Также известна упрощенная версия алгоритма QuickProp, в которой значения весов изменяются в соответствии с правилом:  ij (k )wij (k  1) для wij (k  1)  0  (3.43) wijk   E  ( k )  0 wij    , amax    Sij (k )  Sij (k )   ij (k )  min Sij (k ) (3.44) E ( w(k )) . (3.45) wij В нем уменьшено количество управляющих параметров и упрощена формула уточнения значений весов. где Sij (k )  3.6 Алгоритмы глобальной оптимизации 3.6.1 Алгоритм имитации отжига Все представленные ранее методы обучения нейронных сетей являются локальными. Они ведут к одному из локальных минимумов целевой функции, лежащему в окрестности точки начала обучения. Только в ситуации, когда значение глобального минимума известно, удается оценить, находится ли найденный локальный минимум в достаточной близости от искомого решения. Если локальное решение признается неудовлетворительным, следует повторить процесс обучения при других начальных значениях весов и с другими управляющими параметрами. 60 При решении реальных задач в общем случае даже приблизительная оценка глобального минимума оказывается неизвестной. По этой причине возникает необходимость применения методов глобальной оптимизации. Рассмотрим метод имитации отжига. Название данного алгоритма связано с методами имитационного моделирования в статистической физике, основанными на методе МонтеКарло. Исследование кристаллической решетки и поведения атомов при медленном остывании тела привело к появлению на свет вероятностных алгоритмов, которые оказались чрезвычайно эффективными в комбинаторной оптимизации. Классический алгоритм имитации отжига: 1. Запустить процесс из начальной точки w при заданной начальной температуре T  Tmax . 2. Пока T>0 повторить L раз следующие действия: 2.1. Выбрать новое решение w' из окрестности w . 2.2. Рассчитать значение целевой функции   E(w' )  E(w) . 2.3. Если   0 , принять w = w' , в противном случае принять, что w = w' с вероятностью exp(  / T ) путем генерации случайного числа R из интервала (0,1) с последующим его сравнением со значением exp(  / T ) ; если exp(  / T ) >R, принять новое решение w = w' ; в противном случае проигнорировать новое решение. 3. Уменьшить температуру (T← rT) с использованием коэффициента уменьшения r, выбираемого из интервала (0,1), и вернуться к п.2. 4. После снижения температуры до нулевого значения провести обучение сети любым из представленных выше детерминированных методов, вплоть до достижения минимума целевой функции. 3.7 Проектирование архитектуры многослойного персептрона Для решения какой-либо задачи с применением искусственной нейронной сети следует, прежде всего, спроектировать структуру сети, адекватную поставленной задаче. При проектировании нейронной сети необходимо решить вопрос о числе слоев и нейронов в каждом слое, а также определить необходимые связи между слоями. Подбор числа нейронов во входном слое обусловлен размерностью входного вектора x. Число нейронов выходного слоя принимается равным размерности эталонного вектора d. Серьезной проблемой остается подбор числа скрытых слоев и числа нейронов в каждом из них. Теоретическое решение этой задачи в смысле условия достаточности было предложено математиками, занимающимися аппроксимацией функций нескольких переменных. Следует отметить, что нейронная сеть выступает в роли универсального аппроксиматора обучающих данных (x,d) [3, 4]. Определение минимального числа скрытых слоев сети основано на использовании свойств аппроксимирующих функций. Возможность такого 61 обобщения следует из теорем А.Н. Колмогорова [1,2] и из теоремы об универсальной аппроксимации, которую можно рассматривать как естественное расширение теоремы Вейерштрасса. Пусть N- число входных узлов многослойного персептрона, а M- число выходных нейронов сети. Тогда теорема об универсальной аппроксимации формулируется следующим образом [4]: Пусть(.)– ограниченная, не постоянная монотонно возрастающая N непрерывная функция. Пусть I N - N- мерный единичный гиперкуб 0,1 . Пусть пространство непрерывных на I N функций обозначается символом C I N  . Тогда для любой функции f  C I N  и >0 существует такое целое число K и множество действительных констант wi , w0 и wij , где i=1,…,K, j=1,..,N, что K N  (3.46) F ( x1 , x2 ,..., x N )   wi   wij x j  w0  i 1  j 1  является реализацией аппроксимации функции f(.), то есть F ( x1 , x2 ,..., xN )  f ( x1 , x2 ,..., xN )   (3.47) для всех x1 , x2 ,..., xN , принадлежащих входному пространству. Теорема об универсальной аппроксимации непосредственно применима к многослойному персептрону. Во-первых, в модели многослойного персептрона в качестве функций активации используются ограниченные, монотонно возрастающие сигмоидальные функции, удовлетворяющие условиям, накладываемым теоремой на функцию(.). Во-вторых, выражение (3.46) описывает выходной сигнал сети следующего вида: Сеть содержит N входных узлов и один скрытый слой, состоящий из M нейронов. Входы обозначены x1 , x2 ,..., xN . Скрытый нейрон i имеет синаптические веса wi1 , wi 2 ,..., wiN и wi 0 – вес порогового элемента. Выход сети представляет собой линейную комбинацию выходных сигналов скрытых нейронов, взвешенных синаптическими весами выходных нейронов - w1 , w2 ,..., wK . Таким образом, теорема утверждает, что многослойного персептрона с одним скрытым слоем достаточно для построения равномерной аппроксимации с точностью  для любого обучающего множества, представленного набором входов x1 , x2 ,..., xN , и ожидаемых выходов d  f x1 , x2 ,..., x N  . Тем не менее, из теоремы не следует, что один скрытый слой является оптимальным в смысле времени обучения, простоты реализации и, что более важно, качества обобщения. Теорема об универсальной аппроксимации обеспечивает необходимый математический базис для доказательства применимости сетей прямого распространения с одним скрытым слоем для решения задач аппроксимации. 62 Однако она не обеспечивает способ конструирования многослойного персептрона, обладающего такими свойствами. Кроме того, теорема об универсальной аппроксимации предполагает, что аппроксимируемая непрерывная функция известна, и для ее приближения можно использовать скрытый слой неограниченного размера. На практике эти предположения обычно не верны. Проблема многослойного персептрона с одним скрытым слоем состоит в том, что нейроны могут взаимодействовать друг с другом на глобальном уровне. При наличии двух скрытых слоев, процесс аппроксимации становится более управляемым. В частности, можно утверждать следующее [4]. Локальные признаки извлекаются в первом скрытом слое, то есть некоторые нейроны первого скрытого слоя можно использовать для разделения входного пространства на отдельные области, а остальные нейроны слоя обучать локальным признакам, характеризующим эти области. Глобальные признаки извлекаются во втором скрытом слое. В частности, нейрон второго скрытого слоя «обобщает» выходные сигналы нейронов первого скрытого слоя, относящихся к конкретной области входного пространства. Таким образом, он обучается глобальным признакам этой области, а в остальных областях его выходной сигнал равен нулю. В практических реализациях сетей чаще всего используются сети с одним скрытым слоем, реже – с двумя, причем число нейронов в слое может изменяться (как правило, от N до 3N) [2]. 3.8 Подбор оптимальной архитектуры Одно из важнейших свойств нейронной сети – это способность к обобщению полученных знаний. Сеть, обученная на некотором множестве входных векторов, генерирует ожидаемые результаты при подаче на ее вход тестовых данных, относящихся к тому же множеству, но не участвовавших непосредственно в процессе обучения. В составе обучающих данных можно выделить определенное подмножество контрольных данных, используемых для определения точности обучения сети. В то же время, в составе обучающих данных не должно быть уникальных данных, свойства которых отличаются от ожидаемых значений. Способность сети распознавать данные из тестового подмножества характеризует ее возможности обобщения знаний. Имеет место компромисс между точностью и обобщающей способностью сети, который можно оптимизировать посредством выбора количества скрытых нейронов для данной сети. Количество скрытых нейронов, с одной стороны, должно быть достаточным для того чтобы решить поставленную задачу, а с другой - не должно быть слишком большим, чтобы обеспечить необходимую обобщающую способность. Не существует простого способа для определения необходимого числа скрытых элементов сети. Ряд противоречивых требований накладывается на количество весовых коэффициентов сети. 63 Во-первых, необходимо иметь достаточное число данных для обучения сети с выбранным числом весовых коэффициентов. Если бы целью обучения было только запоминание обучающих выборок, то их число могло быть равным числу весов. Однако такая сеть не будет обладать свойством обобщения, и сможет только восстанавливать данные. Число весов частично обусловлено числом входных и выходных элементов и, следовательно, методом кодировки входных и выходных данных. Во-вторых, сеть должна обучаться на избыточном множестве данных, чтобы обладать свойством обобщения. При этом веса будут адаптироваться не к отдельным выборкам, а к их статистически усредненным совокупностям. Обучение сети ведется путем минимизации целевой функции E(w), определяемой только на подмножестве обучающих данных, что обеспечивает достаточное соответствие выходных сигналов сети ожидаемым значениям из обучающей выборки. Истинная цель обучения состоит в таком подборе архитектуры и параметров сети, которые обеспечат минимальную погрешность распознавания тестового подмножества данных, не участвовавших в обучении. Критерием правильности окончательных результатов является погрешность обобщения, вычисленная по тестовой выборке. Со статистической точки зрения погрешность обобщения E зависит от уровня погрешности обучения H и от доверительного интервала и характеризуется отношением (3.55) [4]. E  H  (3.48) P где   ( , H ) – доверительный интервал, P – объем обучающей h выборки, h – мера Вапника-Червоненкиса . Мера Вапника-Червоненкиса (VC-измерение) отражает уровень сложности сети и тесно связана с количеством содержащихся в ней весов. Чем больше число различных весов, тем больше сложность сети и соответственно значение VC-измерения. Метод точного определения этой меры неизвестен, но можно определить верхнюю и нижнюю границу этой меры в виде формулы (3.49). K  (3.49) 2  N  h  2M (1  lg L) 2 где K – количество нейронов в скрытом слое, N – размерность входного вектора, M – общее количество весов сети, L – общее количество нейронов в сети. Из формулы (3.49) следует, что нижняя граница диапазона приблизительно равна числу весов, связывающих входной и выходной слои, тогда как верхняя граница превышает двукратное суммарное число всех весов сети. В качестве приближенного значения VC–измерения может быть использовано общее число весов нейронной сети. Таким образом, на погрешность обобщения оказывает влияние отношение количества обучающих выборок к количеству весов сети. 64 Небольшой объем обучающего подмножества при фиксированном количестве весов вызывает хорошую адаптацию сети к его элементам, однако не усиливает способности к обобщению, так как в процессе обучения наблюдается относительное превышение числа подбираемых параметров над количеством пар фактических и ожидаемых выходных сигналов сети. Эти параметры адаптируются с чрезмерной и неконтролируемой точностью к значениям конкретных выборок, а не к диапазонам, которые эти выборки должны представлять. Фактически задача аппроксимации подменяется в этом случае задачей приближенной интерполяции. В результате всякого рода нерегулярности обучающих данных и шумы могут восприниматься как существенные свойства процесса. На основе опытных данных существуют следующие рекомендации по выбору числа скрытых нейронов: 1. Не следует выбирать число скрытых нейронов больше, чем удвоенное число входных элементов. 2. Число обучающих данных должно быть по крайней мере в 1 раз  больше количества весов в сети, где  - граница ошибки обучения. 3. Следует выявить особенности нейросети, так как в этом случае требуется меньшее количество скрытых нейронов, чем входов. Если есть сведения, что размерность данных может быть уменьшена, то следует использовать меньшее количество скрытых нейронов. 4. При обучении на бесструктурных входах необходимо, чтобы количество скрытых нейронов было больше, чем количество входов. Если набор данных не имеет общих свойств, необходимо использовать больше скрытых нейронов. 5. Имеет место взаимоисключающая связь между обобщающими свойствами (меньше нейронов) и точностью (больше нейронов), которая специфична для каждого приложения. 6. Большая сеть требует большего времени для обучения. Существуют также практические рекомендации по модификации алгоритмов конструирования сети: 1. Если ошибка обучения мала, а ошибка тестирования велика, следовательно, сеть содержит слишком много весовых коэффициентов. 2. Если и ошибка обучения, и ошибка тестирования велики, следовательно, весовых коэффициентов слишком мало. 3. Если все весовые коэффициенты очень большие, следовательно, весовых коэффициентов слишком мало. 4. Добавление весов не панацея; если известно, что весовых коэффициентов достаточно, следует подумать о других причинах ошибок, например о недостаточном количестве обучающих данных. 5. Не следует добавлять слишком много весовых коэффициентов, чтобы не переступить пределов, установленных ранее. 65 6. И, наконец, что очень важно, начальные весовые коэффициенты должны быть случайными и небольшими по величине (например, между +1 и –1). 66 4 Сети на основе радиально-базисных функций 4.1 Математическое обоснование радиально-базисных сетей Многослойные нейронные сети, с точки зрения математики, выполняют аппроксимацию стохастической функции нескольких переменных путем преобразования множества входных переменных x R N во множество выходных переменных yR M . Вследствие характера сигмоидальной функции активации осуществляется аппроксимация глобального типа, так как преобразование значения функции в произвольной точке пространства выполняется объединенными усилиями многих нейронов. Другой способ отображения входного множества в выходное множество заключается в преобразовании путем адаптации нескольких одиночных аппроксимирующих функций к ожидаемым значениям, причем эта адаптация проводится только в локальной области многомерного пространства. При таком подходе отображение всего множества данных представляет собой сумму локальных преобразований, а скрытые нейроны составляют множество базисных функций локального типа. Особое семейство образуют радиальные сети, в которых скрытые нейроны реализуют функции, радиально изменяющиеся вокруг выбранного центра и принимающие ненулевые значения только в окрестности этого центра. Подобные функции, определяемые в виде  ( x)   ( x  c ) , называются радиальными базисными функциями. В таких сетях роль скрытого нейрона заключается в отображении радиального пространства вокруг одиночной заданной точки либо вокруг группы таких точек, образующих кластер. Суперпозиция сигналов, поступающих от всех скрытых нейронов, которая выполняется выходным нейроном, позволяет получить отображение всего многомерного пространства. Сети радиального типа представляют собой естественное дополнение сигмоидальных сетей. Сигмоидальный нейрон представляется в многомерном пространстве гиперплоскостью, которая разделяет это пространство на два класса, в которых выполняется одно из двух условий: либо  wij x j  0 , либо  wij x j  0 . Такой подход продемонстрирован на j j рис. 4.1а. В свою очередь радиальный нейрон представляет собой гиперсферу, которая осуществляет шаровое разделение пространства вокруг центральной точки (рис. 4.1б) [4]. Именно с этой точки зрения радиальный нейрон является естественным дополнением сигмоидального нейрона, поскольку в случае круговой симметрии данных позволяет заметно уменьшить количество нейронов, необходимых для разделения различных классов. 67 а) б) Рис. 4.1 Иллюстрация способов разделения пространства данных: а) сигмоидальным нейроном; б) радиальным нейроном Так как нейроны могут выполнять различные базисные функции, в радиальных сетях отсутствует необходимость использования большого количества скрытых слоев. Структура типичной радиальной сети включает входной слой, на который подаются сигналы, описываемые входным вектором x, скрытый слой с нейронами радиального типа и выходной слой, состоящий, как правило, из одного или нескольких линейных нейронов. Функция выходного нейрона сводится исключительно к взвешенному суммированию сигналов, генерируемых скрытыми нейронами. Математическую основу функционирования радиальных сетей составляет теорема Т. Ковера о разделимости образов, которая утверждает следующее [1]: Нелинейное преобразование сложной задачи классификации образов в пространство более высокой размерности повышает вероятность линейной разделимости образов. Теорема Ковера о разделимости образов базируется на двух моментах [4]: 1. Определение нелинейной скрытой функции i x  , где x– входной вектор, а i=1,2,…,K, K – размерность скрытого пространства. 2. Высокая размерность скрытого пространства по сравнению с размерностью входного. Эта размерность определяется значением, присваиваемым K (то есть количеством скрытых нейронов). Если вектор радиальных функций  ( x)  [1 ( x), 2 ( x),...,  K ( x)]T в Nмерном входном пространстве обозначить (x), то это пространство является нелинейно -разделяемым на два пространственных класса X+и X- тогда, когда существует такой вектор весов w, что wT  ( x)  0 x  X  , (4.1) T  w  ( x)  0 x  X . Граница между этими классами определяется уравнением wT  ( x)  0 . Ковер доказал, что каждое множество образов, случайным образом размещенных в многомерном пространстве, является  -разделяемым с 68 вероятностью 1 при условии большой размерности K этого пространства. На практике это означает, что применение достаточно большого количества скрытых нейронов, реализующих радиальные функции i (x) , гарантирует решение задачи классификации при построении всего лишь двухслойной сети. При этом скрытый слой должен реализовать вектор (x), а выходной слой может состоять из единственного линейного нейрона, выполняющего суммирование выходных сигналов от скрытых нейронов с весовыми коэффициентами, заданными вектором w. Простейшая нейронная сеть радиального типа функционирует по принципу многомерной интерполяции, состоящей в отображении p различных входных векторов xt (t=1,2,…,p) из входного N-мерного пространства во множество из p рациональных чисел d t (t=1,2,…,p). Для реализации этого процесса необходимо использовать p скрытых нейронов радиального типа и задать такую функцию отображения F(x), для которой выполняется условие интерполяции: F ( xt )  dt . (4.2) С практической же точки зрения использование в разложении большого числа p базисных функций недопустимо, поскольку если число обучающих выборок велико и равно числу радиальных функций, то в результате вычислительная сложность обучающего алгоритма становится чрезмерной, а сама сеть адаптируется кразного рода шумам и нерегулярностям, сопровождающим обучающие выборки. Поэтому необходимо редуцировать количество весов, что приводит к уменьшению количества базисных функций. В этом случае ищется субоптимальное решение в пространстве меньшей размерности, которое с достаточной точностью аппроксимирует точное решение. Если ограничиться K базисными функциями, то аппроксимирующее решение можно представить в виде F ( x)   wi  x  ci  , K (4.3) i 1 где KT – уменьшается до нуля. 4.3.2. Применение метода обратного распространения ошибки для радиально-базисных сетей Обособленный класс алгоритмов обучения радиальных сетей составляют градиентные алгоритмы обучения с учителем, в которых используется алгоритм обратного распространения ошибки. Их основу составляет целевая функция, которая для одного обучающегопримера имеет вид: 2  1K (4.10) E   wii ( x)  d  2 i 1  Предположим, что применяется гауссовская радиальная функциявида:  1  (4.11) i ( xt )  exp  ui t   2  N ( x t   c t ) 2 j ij (4.12), ui t    2  ij t  j 1 где i– индекс нейрона скрытого слоя, j–индекс компонента входного вектора, t – индекс обучающего примера в выборке. Обучение сети с использованием алгоритма обратного распространения ошибки проводится в два этапа. На первом этапе предъявляется обучающий 74 пример и рассчитываются значения сигналов выходных нейронов сети и значение целевой функции, заданной выражением (4.10). На втором этапе минимизируется значение этой функции. Подбор значений параметров можно осуществлять, используя градиентные методы оптимизации независимо от объекта обучения – будь то вес или центр. Независимо от выбираемого метода градиентной оптимизации, необходимо, прежде всего, получить вектор градиента целевой функции относительно всех параметров сети. В результате дифференцирования этой функции получим: E t  (4.13)  yt   d t  w0 t  E t   1   exp  ui t ( y t   d t ) (4.14) wi t   2  E t   1  ( x j t   cij t )  ( yt   d t ) wi t exp  ui t  (4.15) cij t   ij2 t   2  E t   1  ( x j t   cij t )  ( yt   d t ) wi t exp  ui t  (4.16)  ij t   ij3 t   2  Если в выходном слое содержится несколько нейронов, то формулы (4.13), (4.14), (4.15), (4.16) соответственно примут следующий вид: E t  (4.13а)  y s t   d s t  w0 s t  E t   1   exp  ui t ( y s t   d s t ) (4.14а) wis t   2  E t   1  ( x j t   cij t )  ( y s t   d t ) wis t exp  ui t  (4.15а) cij t   ij2 t   2  E t   1  ( x j t   cij t )  ( y s t   d t ) wis t exp  ui t  (4.16а) 3  ij t  2    t   ij где s – номер нейрона выходного слоя. При использовании метода наискорейшего спуска формулы для корректировки параметров радиально-базисной сети примут следующий вид: E t  , (4.17) wi (t  1)  wi (t )   wi t  E t  cij (t  1)  cij (t )   , (4.18) cij t  E t  . (4.19)  ij t  Если в выходном слое содержится несколько нейронов, то формула (4.17) примет следующий вид:  ij (t  1)   ij (t )   75 wis (t  1)  wis (t )  1 E t  wis t  (4.17а) 4.3.3 Гибридный алгоритм обучения радиальных сетей В гибридном алгоритме процесс обучения разделяется на два этапа [4]: 1) Подбор линейных параметров сети (веса выходного слоя) при использовании метода псевдоинверсии; 2) Адаптация нелинейных параметров радиальных функций (центра ci и ширины  i этих функций). Оба этапа тесно переплетаются. При фиксации конкретных значений центров и ширины радиальных функций за один шаг, с помощью метода псевдоинверсии подбираются веса выходного слоя. Если обозначить d  d1 , d 2 ,..., d t T вектор ожидаемых значений, w  w1 , w2 ,..., wK T -вектор весов сети, а G– радиальную матрицу Грина:  ( x1  c1 )  ( x1  c2 ) ...  ( x1  cK )     ( x  c )  ( x  c ) ...  ( x  c ) 2 1 2 2 2 K   G  , то задача нахождения ... ... ... ...    ( x p  c1 )  ( x p  c2 ) ...  ( x p  cK )    вектора весов сводится к решению системы уравнений, линейных относительной весов: G(w)=d (4.20) Вследствие прямоугольности матрицы G можно определить вектор весов w с использованием операции псевдоинверсии матрицы G, то есть w=G+d (4.21),  T 1 T где G  (G G) G обозначает псевдоинверсию прямоугольной матрицы G. На практике псевдоинверсия рассчитывается с применением декомпозиции SVD. Если G– действительная матрица размера pxK, то существуют ортогональные матрицы U  u1 , u2 ,..., u p и V  v1 , v2 ,..., vK    такие, что G  USV T , где S – псевдодиагональная матрица размера pxK, Kr, то создается новый кластер cM+1=xt, причем wM+1(t)=dt, LM+1(t)=1. Параметры созданных до этого кластеров не изменяются, т.е. wi(t)=wi(t-i), Li(t)=Li(t-i) для i= 1, 2, ..., М. Количество кластеров М увеличивается на 1 (М←М+1);  если ||xt-cit||<=r, то данные включаются в it-й кластер, параметры которого следует уточнить в соответствии с формулами: wit t   wit t  1  d t , (10.4) (10.5) Lit t   Lit t  1  1, c t  1Lit t  1  xt . (10.6) cit t   it Lit t  тогда как остальные кластеры не изменяются, т.е. ci t   ci t  1 , при i  it wi t   wi t  1, Li t   Li t  1 и для i  1,2,..., M . В другой версии алгоритма фиксируется положение центров сit после инициализации, и их координаты уже не изменяются. Во многих случаях такой прием улучшает результаты адаптации. 3) После уточнения параметров нечеткой системы функция, аппроксимирующая входные данные системы, определяется в виде: M  x  ci t  2   wi t exp   2    i 1  , (10.7) f x   2 M  x  ci t    Li t  exp   2    i 1   При повторении перечисленных этапов алгоритма до t=р с уточнением каждый раз значения М, пространство данных разделяется на М кластеров, при этом мощность каждого из них определяется как Li=Li(t), центр - как сi=сi (t), а значение приписанной ему накопленной функции d -как wi = wi(t). Этот алгоритм называется самоорганизующимся, поскольку разделение пространства данных на кластеры происходит самостоятельно и без участия человека, в соответствии с заданным значением порога r. При малом значении r количество кластеров возрастает, в результате чего аппроксимация данных становится более точной, однако это достигается за счет более сложной функции и увеличения объема необходимых вычислений при одновременном ухудшении обобщающих свойств сети. Если значение r слишком велико, то вычислительная сложность уменьшается, однако возрастает погрешность аппроксимации. При подборе оптимальной величины порога r должен соблюдаться компромисс между точностью отображения и вычислительной сложностью. Как правило, оптимальное значение r подбирается методом проб и ошибок с использованием вычислительных экспериментов, по существу r это максимальное значение параметра σ функции Гаусса. Таким образом, следует подобрать оптимальные значения σ и затем взять максимальное из них. Оптимальные 139 значения σможно подобрать в соответствии с формулой (3.8), то есть так же, как для радиально-базисных сетей. Следует обратить внимание, что алгоритм самоорганизации нечёткой сети позволяет одновременно определять как параметры сети, так и ее структуру (количество нейронов скрытого слоя). Его реализация подобна модели Ванга- Менделя, описываемой формулой (10.3), в которой можно выделить центры сi, соответствующие множеству векторов х, и коэффициенты wi, связанные с положением центров через последовательность заданных функций {d}. В связи с накопительным характером формирования параметров wi (формула (10.4)), в знаменателе выражения (10.7) суммирование производится с весами Li, отражающими количество уточнений параметров конкретных групп данных (размерность кластера). Нейронная сеть Ванга-Менделя может быть представлена как частный случай нечёткой продукционной сети TSK, в случае, когда полином в заключении правил вывода содержит только свободный член. В этой связи, алгоритмы обучения и методы модификации структуры для сети TSK, могут быть использованы и для сети Ванга-Менделя. 10.3 Нечёткая сетьTSK Структура нечёткой сети TSK основана на системе нечёткого вывода Такаги- Сугэно- Канга. При этом в качестве функции фуззификации для каждой переменной x j используется обобщённая функция Гаусса в виде [4]:  A x j   1 2b j (10.8)  xj  cj   1   j    Для агрегации условия i -го правила в системе вывода TSK используется операция алгебраического произведения:      N  1  i  .  A x    (10.9)  i   2 b j i  j 1   x j  c j   1    i      j   При M правилах вывода агрегирование выходного результата сети производится по формуле (10.10), которую можно представить в виде: 1 M (10.10) yx   M wi yi  x  ,  i 1  wi i 1 где yi x   pi 0  N  pij x j , агрегация импликации. Присутствующие в j 1 этом выражении веса wi интерпретируются как компоненты  Ai   x  , 140 определённые формулой (10.9). При этом формуле (10.10) можно сопоставить многослойную структуру сети, изображённую на рисунке 10.2. x x1 y1  x   A1  x1  w1   A1  x   A2  x1      AM  x1  x2  A1 x2   A2  x2      AM   x2     xN  1 x A N x y2 x  w2   A2  x  f1    yx    A2  x N      AM   x N  yM x  wM   AM  x  f2 Рисунок 10.2 Структура нечёткой нейронной сети TSK. В такой сети выделяется пять слоёв: 141  Первый слой выполняет раздельную фуззификацию каждой переменной x j  j  1,2,..., N  , определяя для каждого i -го правили   вывода значение коэффициента принадлежности в  Ai  x j соответствии с применяемой функцией фуззификации. Это параметрический слой с параметрами c ji  ,  ji  , b ji  , подлежащими адаптации в процессе обучения.  Второй слой выполняет агрегирование отдельных переменных xj, определяя результирующее значение коэффициента   принадлежности wi   Ai  x  для вектора x в соответствии с формулой (10.9). Этот слой непараметрический.  Третий слой представляет собой генератор функции TSK, рассчитывающий значения yi x   pi 0  N  pij x j . В этом слое также j 1 yi  x  на значения wi , происходит умножение сигналов сформированные в предыдущем слое. Это параметрический слой, в котором адаптации подлежат линейные веса pij для i  1,2,..., M и j  1,2,..., N , определяющие функцию следствия модели TSK.  Четвёртый слой составляют два нейрона- сумматора, один из которых рассчитывает взвешенную сумму сигналов yi  x  , а второй определяет сумму весов M  wi . Это непараметрический слой. i 1  Пятый слой состоит из одного выходного нейрона- это нормализующий слой, в котором веса подвергаются нормализации в соответствии с формулой (10.10). Выходной сигнал y  x  определяется выражением, соответствующим зависимости (10.10), f (10.11) yx   f x   1 . f2 Это также непараметрический слой. При уточнении функциональной зависимости (10.10) для сети TSK получаем: M  N N   1  i yx    A x j   pi 0   pij x j  . (10.12)    M  N      i  1 j  1 j  1       Ai  x j    i 1   j 1 Если принять, что в конкретный момент времени параметры условия зафиксированы, то функция y  x  является линейной относительно переменных x j  j  1,2,..., N  .     142 При наличии N входных переменных каждое правило формирует N  1 переменных pij линейной зависимости TSK. При M правилах вывода это даёт M N  1 линейных параметров сети. В свою очередь каждая функция принадлежности использует три параметра, подлежащих адаптации. Так как каждая переменная x j характеризуется собственной функцией принадлежности, то мы получим 3MN нелинейных параметров. В сумме это даёт M 4 N  1 линейных и нелинейных параметров, значения которых должны подбираться в процессе обучения сети. 10.4 Гибридный алгоритм обучения нечеткой сети TSK Гибридный алгоритм обучения может применяться как для сетей ВангаМенделя, так и для сетей TSK. Сеть Ванга - Менделя может при этом трактоваться как сеть TSK, у которой все параметры pij , кроме pi 0 , равны нулю. В гибридном алгоритме подлежащие адаптации параметры разделяются на две группы: линейных параметров pij третьего слоя и параметров нелинейной функции принадлежности первого слоя. Уточнение параметров проводится в два этапа [4]: На первом этапе при фиксации определенных значений параметров функции принадлежности путем решения системы линейных уравнений рассчитываются линейные параметры (в первом цикле – это значения, полученные в результате инициализации). При известных значениях функции принадлежности зависимость (10.12) можно представить в линейной форме : M N    yx    w'i pi 0   pij x j  , (10.13)   i 1 j  1   где   x  N w'i  (i ) A j (10.14)  const  N (i )     A x j  i 1  j 1 для i=1, 2, ..., М. При р обучающих выборках (х(t), d(t)) (t= 1, 2, ..., р) и замене выходного сигнала сети ожидаемым значением d(t) получим систему из р линейных уравнений вида j 1 M 143  p10     w'11 w'11 x1(1) ... w'11 x N(1) ... w'1M w'1M x1(1) ... w'1M x N(1)   ...   d (1)    p    ( 2) ... w'21 x N( 2) ... w'2 M w'2 M x1( 2) ... w'2 M x N( 2)   1N   d ( 2)   w'21 w'21 x1     ...   ...  ... ... ... p  ( p) ( p) ( p) ( p)   M 0   ( p)  ... w' p1 x N ... w' pM w' pM x1 ... w' pM x N    w' p1 w' p1 x1 ...  d     p MN  , (10.15) где wti обозначает уровень активации (вес) условия i-го правила при предъявлении t-го входного вектора x. Это выражение можно записать в сокращенной матричной форме Ap  d , (10.16) Размерность матрицы А равна p  N  1M , при этом количество строк значительно больше количества столбцов N  1M . При помощи псевдоинверсии матрицы А решение можно получить за один шаг: (10.17) p  A d , где A  псевдоинверсия матрицы А. Псевдоинверсия матрицы А заключается в проведении декомпозиции SVD с последующим сокращением её размерности. На втором этапе после фиксации значений линейных параметров pij рассчитываются фактические выходные сигналы y(t) сети для t=1,2, ..., р, для чего используется линейная зависимость  y (1)   ( 2)  y  y  Ap , (10.18)  ...   ( p)   y  и следом за ними – вектор ошибки ε=y-d. Сигналы ошибок направляются через подключенную сеть по направлению к входу сети (обратное распространение) вплоть до первого слоя, где могут быть рассчитаны компоненты градиента целевой функции относительно конкретных параметров c ji  ,  ji  , b ji  . После формирования вектора градиента параметры уточняются с использованием одного из градиентных методов обучения, например, метода наискорейшего спуска. E t  (10.19) c ji  t  1  c ji  t    c c ji  E t  (10.20)  ji  t  1   ji  t     ji    144 E t  (10.21) b ji  После уточнения нелинейных параметров вновь запускается процесс адаптации линейных параметров функции TSK (первый этап) и нелинейных параметров (второй этап). Этот цикл повторяется вплоть до стабилизации всех параметров процесса. Формулы (10.19) – (10.21) требуют расчёта градиента целевой функции принадлежности и для одной пары обучающих данных (x,d) принимают значения: M N E   wi    y ( x )  d p  p x (10.22)   i ij j   c i  c i  i 1  j 1 b j i  t  1  b ji  t    b j j E   wi    y ( x )  d p  p x    i 0 j 1 ij j   i   ji  i 1  j M N E   wi    y ( x )  d p  p x   i ij j i    b i  b j i 1  j 1 j M N wk  ki mx j   l x j  N i    A xs  1, s  j c ji  mx j 2 s   (10.23) (10.24) i   i  i  2 b j 1     2b j  x j  c j     ji    ji        i  2  i  2 b j  1   x j  c j      ji         2b   2b i   x  c i     ji   j i  j     j   j     (10.25) i j wk  ki mx j   l x j  N i   A xs     2  ji  1, s  j mx j 2 s   x  c i   2 b  1   j i  j      j     (10.26) i j wk  ki mx j   l x j  N i    A  xs  1, s  j b ji  mx j 2 s   i   i  2 b j i       x  c x  c j j j j  2    ln   i       ji   j       , (10.27) 2 i   i  2 b j    x  c j 1   j     i   j        для k=1,2,..,M, где  ki обозначает дельту Кронекера, l x j     Ai  x s  , N mx j       Ai  x s  .  i 1  s 1 M s 1 N 145 При практической реализации гибридного метода обучения нечетких сетей доминирующим фактором их адаптации считается первый этап, на котором веса pij подбираются с использованием псевдоинверсии за один шаг. Для уравновешивания его влияния второй этап (подбор нелинейных параметров градиентным методом) многократно повторяется в каждом цикле. При практической реализации алгоритма на первом этапе первый раз разность ε=y-d может быть очень маленькой, в связи с чем, второй этап гибриднного алгоритм не работает. В этом случае имеет смысл один раз искуственно увеличить ε=y-d. 10.5 Алгоритм обратного распространения ошибки для сети TSK Приведённый ниже алгоритм наискорейшего спуска и метод распространения ошибки может быть использован и для обучения сети Ванга-Менделя. Нечеткая нейронная сеть TSK имеет многослойную структуру с прямым распространением сигнала, значение выхода которой можно изменять, корректируя параметры элементов слоев, что позволяет для обучения этой сети использовать алгоритм обратного распространения ошибки [4]. Для этого потребуется обучающая выборка в виде пар (x, d), где x=[x1, …, xN]T – это входной вектор, а d – эталонный сигнал. Задача заключается в такой коррекции параметров сети, описанной выражением 10.12 чтобы мера погрешности, задаваемая выражением: 1 2 (10.28) E   y ( x)  d  , 2 была минимальной. Если применяется простейший метод наискорейшего спуска, то соответствующие формулы адаптации принимают форму: E (t ) pij (t  1)  pij (t )   p , (10.29) pij   Параметры c ji  ,  ji  , b ji  корректируются в соответствии с формулами (10.19)-(10.21). Формулы (10.19-10.21 и 10.29) требуют расчета градиента целевой функции относительно параметров функции принадлежности. Окончательный вид этих формул зависит от используемого определения функции погрешности на выходе сети, так и от формы функции принадлежности. Например, при использовании функции Гаусса   x  c 2  i  ,  A ( xi )  exp   i (10.30)    i   Соответствующие формулы градиента целевой функции для одной пары обучающих данных (x, d) принимают вид [4]: 146 E   y  d wk x j , pij 2x j  cij  E   y  d  yi ( x)  y wk , cij  ij 2 2x j  cij  E   y  d  yi ( x)  y wk ,  ij  ij 3 2 (10.31) N где wk  (i )   A (x j ) j 1 N , yi ( x)  pi 0   pij x j (10.32) j 1  N (i )     A ( x j ) i 1  j 1  Если использовать функцию Гаусса, представленную формулой (10.8), то корректировку следует проводить по формулам (10.25-10.27). Несмотря на сложную структуру приведенных формул, выражающих компоненты вектора градиента, они позволяют аналитически определить величины, необходимые для уточнения параметров нечеткой сети. Метод наискорейшего спуска имеет линейную сходимость, поскольку в нем используются только слагаемые первого порядка при разложении целевой функции в ряд Тейлора. Указанный недостаток, а также резкое замедление минимизации в ближайшей окрестности точки оптимального решения, когда градиент принимает очень малые значения, делают алгоритм наискорейшего спуска низкоэффективным. Повысить эффективность удается путем эвристической модификации выражения, определяющего направление градиента. Одна из модификаций получила название алгоритма обучения с моментом. При этом подходе уточнение параметров сети производится по формуле: M parij t  1  parij t     E t  parij t    ( parij t   parij t  1) (10.33) где  - это коэффициент момента, принимающий значения в интервале [0, 1]. 10.6 Модификация структуры с несколькими выходами Традиционно, модели нечётких нейронных сетей, в том числе и нейронные сети TSK и Ванга-Менделя конструируются с едиственным выходом, то есть осуществляют преобразование вектора входных значений в число. Такая конфигурация сетей называется MISO — MultipleInput, SingleOutput [6]. Тем не менее, не существует препятствий и для создания MIMO (MultipleInput, MultipleOutput)-конфигураций данных сетей, то есть сетей, осуществляющих преобразование входного вектора значений произвольной длины в выходной вектор также произвольной длины. 147 Очевидно, MIMO-конфигурация делает сеть более гибкой и подходящей для решения более широкого спектра задач. На рисунке 10.3 приведён пример нейронной сети TSK с двумя входами, тремя правилами и двумя выходами. Данную структуру нетрудно обобщить и на произвольное число выходов. Аналогичный подход применим и к нейронной сети Ванга-Менделя. На рисунке 10.4 приведена структура нечёткой сети Ванга-Менделя с двумя входами, тремя правилами и двумя выходами. × × × + / + / × × × × × × + Рисунок 10.3 Структура нечёткой нейронной сети TSK с несколькими выходами 148 v11 × z11 × × z12 v12 v21 + × z21 × z22 f11 / y1(x) × v22 v31 + f12 / y2(x) z31 × × × z32 f21 v32 f22 + Рисунок 10.4. Структура нейронной нечёткой сети Ванга-Менделя с двумя выходами. В отличие от стандартной четырёхслойной конфигурации сети ВангаМенделя, данная модель состоит из пяти слоёв нейронов. Первый и второй слои предложенной модели не отличаются от стандартной сети Ванга-Менделя и реализуют фуззификацию по функции Гаусса N  мерного входного вектора x , а также агрегацию условий правил вывода в соответствии с операцией T -нормы в форме произведения. Третий слой реализует операцию импликации в форме произведения, это параметрический слой, в процессе обучения подбираются параметры vis , где i - это номер правила вывода, а s - индекс выходного нейрона. Четвёртый слой осуществляет агрегирование M правил вывода (первый и второй нейрон) и генерацию нормализующего сигнала (третий нейрон). Число агрегирующих нейронов в данном слое равно числу выходов сети. В отличие от стандартной модели это непараметрический слой. 149 Пятый слой состоит из двух выходных нейронов и выполняет нормализацию, формируя выходной сигнал y s . Это непараметрический слой. Предложенная структура нейронной сети легко модифицируется на случай с числом выходов, больше чем два. Таким образом, нейронная сеть реализует функции, которые можно записать в виде: y s ( x)  M N     vis     A(i ) ( x j )  MN  i 1  j 1  (i )     A ( x j )  i 1 j 1  1 (10.34) Слой дефуззификации в приведённой выше модели нейронной сетей позволяет сформировать на выходе сети чёткое значение, что необходимо при решении задачи прогнозирования или задачи аппроксимации функций. Для решения задач классификации, идентификации или распознавания чёткое значение на выходе сети не является обязательным, а при пересекающихся классах объектов вообще не имеет смысла, так как на выходе сети требуется получить степень принадлежности предъявленного входного вектора к конкретному классу. 10.7 Использование комбинированных правил вывода При наличии входных переменных каждое правило формирует переменных линейной зависимости TSK. При правилах вывода это даёт линейных параметров сети. В свою очередь каждая функция принадлежности использует три параметра, подлежащих адаптации. Так как, каждая переменная характеризуется собственной функцией принадлежности, то мы получим нелинейных параметров. В сумме это даёт линейных и нелинейных параметров, значения которых должны подбираться в процессе обучения сети. На практике для уменьшения количества адаптируемых параметров оперируют меньшим количеством независимых функций принадлежности для отдельных переменных, руководствуясь правилами, в которых комбинируются функции принадлежности различных переменных. Если принять, что каждая переменная имеет различных функций принадлежности к классам, то максимальное количество правил, которое можно создать при их комбинировании, составит (при трёх функциях принадлежности, распространяющихся на две переменные, это правил вывода). Таким образом, суммарное количество нелинейных параметров сети при правилах вывода уменьшается с в общем случае до . Количество линейных параметров при подобной модификации остаётся без изменений. Рассматриваемые до сих пор структуры нейронных сетей содержали столько правил, сколько и классов принадлежности. Покажем, как можно уменьшить число классов принадлежности для нейронной сети Ванга- 150 Менделя с двумя входами, тремя правилами вывода и одним выходом, до двух, оставив число правил неизменным и равным трём (рисунок 10.5). Как и в случае с несколькими выходами, данная модификация применима как к сети Ванга-Менделя, так и к сети TSK. × + × / + × Рисунок 10.5 Структура нейронной сети Ванга-Менделя с числом правил, большим числа классов принадлежности 10.8 Сети, основанные на модели нечёткого вывода Цукамото Отдельный тип нейронных нечётких продукционных сетей, обучаемых при помощи градиентных алгоритмов составляют сети типа ANFIS (адаптивная сетевая нечёткая система вывода), предложенные Чангом в 1992 году. Сети ANFIS могут быть основаны как на модели вывода TSK, так и на модели вывода Цукамото. Рассмотрим нечёткую сеть типа ANFIS, реализующую алгоритм вывода Цукамото и имеющую следующую базу продукционных правил [7]: П1: если x1 есть Н1 и x2 есть Н2 и x3 есть Н3 , то y есть Б, П2: если x1 есть В1и x2 есть В2 и x3 есть Н3 , то y есть С, П3: если x1 есть В1 и x2 есть В2 и x3 есть В3 , то y есть М, где x1, x2, x3 – входные переменные, y – выходная переменная, а Н1, Н2, Н3, В1, В2, В3,Б, С, М– некоторые нечёткие множества с функциями принадлежности сигмоидного типа: 1 1 , В j t   , j  1, 2, 3. (10.35) Н j t   b j t  c j  b j t c j  1 e 1 e 151 1 Б t   , С t   1 , М t   1 . (10.36) 1 e 1  e b4 t c4  1 e Для определения выходной переменной будем использовать алгоритм Цукамото: 1. Подсчитаем значения истинности предпосылок для каждого правила: 1  H1 x1   H 2 x2   H 3 x3  (10.37)  2  В1 x1   В2 x2   Н 3 x3  ,  3  В1 x1   В2 x2   В3 x3  где логическое И (T-норма) обычно используется в форме минимума, а x1 , x2 , x3 - текущие значения входов системы; 2. Для каждого правила определим выходы как обратные функции: 1 1  1 z1  Б 1 1   c4  c5  ln , b4 1 b4 t c4  c5  z 2  С 1  2   c4  b4 t c4  1 1  2 ln , b4 2 (10.38) 1 1  3 ln . b4 3 3. Находим общий выход всей системы:  z   2 z 2   3 z3 (10.39) z0  1 1 . 1   2   3 Нейронная сеть, реализующая данный алгоритм нечёткого вывода, приведена на рисунке 10.6 и относится к сетям типа ANFIS. Данная сеть может быть описана следующим образом: 1. Слой 1. Выходы нейронов этого слоя представляют собой значения функций принадлежности при заданных значениях входов. Это параметрический слой. В процессе обучения подбираются параметры функций принадлежности для множеств Н1, Н2, Н3, В1, В2, В3. 2. Слой 2. Выходами нейронов этого слоя, реализующим операцию Tнормы, являются результаты агрегации условий (предпосылок) каждого нечёткого продукционного правила, вычисляемые по формулам (10.37). Это непараметрический слой. 3. Слой 3. Это непараметрический слой. Нейроны данного слоя, обозначенные буквой N, вычисляют следующие величины: z3  М 1  3   c4  1  3 1 2 , 2  , 3  . 1   2   3 1   2   3 1   2   3 (10.40) 152 4. Слой 4. Нейроны данного слоя вычисляют значения выходов нейронов по формулам (10.41): 1 1  1 y1  Б 1 1   c4  c5  ln , b4 1 y 2  С 1  2   c4  1 1  2 ln , b4 2 y3  М 1  3   c4  1 1  3 ln . b4 3 (10.42) x1 T  A1  x1  N  A2  x1  x2 1 1 1 y1 AM  x1  A1 x2   A2  x2   T N 2 2  2 y2  AM   x2  ∑ xN   A1  x N   M y M y  x   A2  x N   AM   x N  N T M M Ри Рисунок 10.6 Структура сети типа ANFIS. 153 Затем приводят результаты к удобному виду: 1 y1  1 B11 1 ,  2 y2   2 B21  2 ,  3 y3   3 B31  3 . Это параметрический слой. В процессе обучения подбираются параметры функций принадлежности для множеств Б, С и М. 5. Слой 5. Единственный нейрон этого слоя вычисляет выход сети: y  1 y1   2 y2   3 y3 . (10.43) Это непараметрический слой. Настройка параметров сети производится в соответствии с градиентным алгоритмом наискорейшего спуска по следующим формулам:    2  3 E t   (10.44) b4 t  1  b4 t     b4 t   2 z0 t   d t  1 , b4 t  b4 1   2   3   2  3 E t  c4 t  1  c4 t     c4 t    z0 t   d t  1  c4 t    z0 t   d t , c4 t  1   2   3 (10.45) 1 E t  (10.46) c5 t  1  c5 t     c5 t    z0 t   d t  . c5 t  1   2   3 Где d t  - ожидаемое значение выхода на t-ом шаге обучения. 154 11 Гибридные нечёткие нейронные сети 11.1 Обучение нечётких нейронных сетей Для обучения нечётких нейронных сетей используются два вида обучения – с учителем и без учителя. Алгоритмы обучения с учителем основаны на минимизации целевой функции, как правило, функции погрешности. Алгоритмы обучения без учителя, называемые алгоритмами самоорганизации, состоят в группировании (кластеризации) входных данных. Рассмотрим подробнее эти алгоритмы. При алгоритме с учителем целевая функция погрешности, оценивающая данную конфигурацию сети, задается извне – в зависимости от того, какую цель преследует обучение. Далее сеть начинает постепенно модифицировать свою конфигурацию – состояние всех своих синаптических весов – таким образом, чтобы минимизировать эту функцию. В итоге, в процессе обучения сеть все лучше справляется с возложенной на нее задачей. Погрешность сети зависит от конфигурации сети – совокупности всех ее синаптических весов. Но эта зависимость не прямая, а опосредованная, так как непосредственные значения весов скрыты от внешнего наблюдателя. Для него сеть – своего рода черный ящик, и оценивать ее работу он может, лишь основываясь на ее поведении, т.е. на том, каковы значения выходов сети при данных входах. Иными словами, в общем виде целевая функция имеет вид: E ( w)  Ex t , d t , y( x t , w). Здесь x t , d t – набор примеров (т.е. пар входоввыходов), на которых обучается нейронная сеть, а y ( x t , w) – реальные значения выходов нейросети, зависящие от конкретных значений ее синаптических весов. Алгоритм самоорганизации приписывает значения входного вектора x к соответствующей группе данных, представляемых центом ci . Базовая форма ci алгоритма позволяет точно определять положение центров соответствующих групп данных (кластеров), на которые подразделяется многомерное пространство. Можно также, полученные значения центров использовать при обучении с учителем в качестве начальных значений, что существенно ускоряет процесс обучения и гарантирует сходимость решения. В дальнейшем рассмотрим некоторые алгоритмы обучения нечётких сетей.   11.2 Гибридный нечёткий многослойный персептрон В случае линейной неразделимости классов, то есть когда классы пересекаются, а обучающие примеры приводят к неустойчивому поведению алгоритма обучения персептрона, имеет смысл использовать гибридную сеть, включающую в себя слой с нечёткой самоорганизацией и многослойный персептрон. Основная идея построения нечеткого персептрона и алгоритма его обучения заключается в уменьшении влияния векторов, лежащих в зоне перекрытияклассов, на изменение весовых коэффициентов [4]. 155 На рисунке 11.1 приведена структура нечеткого многослойного персептрона. Он состоит из двух частей: нейронов «нечеткого слоя» и собственно многослойного персептрона. Функции активации нейронов «нечеткого слоя» такой сети являются радиальными базисными функциями (в виде функции Гаусса), моделирующими функции принадлежности. Эти нейроны предназначены для определения степеней принадлежности компонентов входных векторов (которые могут быть и нечеткими). На выходах нейронов этого слоя формируются коэффициенты в требуемой для дальнейшего распознавания форме. Выходы нейронов «нечеткого слоя» употребляются в качестве входов традиционного многослойного персептрона. Если на вход сети подается x  [ x1 , x2 ,..., xn ]T , то на выходе «нечеткого слоя» формируется вектор, состоящий из степеней принадлежности x к конкретным центрам (радиально базисным функциям); T Конкретные компоненты  ( x)  [1 ( x), 2 ( x),..., n ( x)] .  i (x) рассчитываются таким образом, чтобы удовлетворять условию нормализации m   (x i 1 i (t ) )  1 для каждого вектора x t , t  1,..., p , где p – число векторов в обучающей выборке. «Нечеткий слой» Многослойный персептрон x1 y1 x2 x3 … xn … … M ys … K Рисунок 11.1 Структура нечеткого многослойного персептрона Выходы нечёткого многослойного персептрона трактуются как степени принадлежности предъявленного объекта соответствующему классу. С учётом ярко выраженной двухкомпонентной структуры гибридной сети для её обучения применяется алгоритм, состоящий из двух этапов. На первом из них проводится обучение самоорганизующегося слоя, состоящее в подборе центров. Для этого может быть использован алгоритм C-meansили другие подобные алгоритмы (например, алгоритм Густавсона-Кесселя[2]). По завершении первого этапа, начинается второй этап обучения, на котором уточняются только веса персептронной компоненты. Это обычное обучение 156 многослойного персептрона, для которого входом является множество коэффициентов принадлежности вектора x к центрам самоорганизующегося слоя. В зависимости от типа решаемой задачи выходом сети может быть код класса, к которому принадлежит входной вектор x, либо ожидаемое значение d выходного вектора. Для обучения весов скрытых слоёв и выходного слоя нечёткого многослойного персептрона могут быть использованы градиентные алгоритмы обучения или эвристические алгоритмы обучения, используемые для обучения чёткого многослойного персептрона. Для уточнения всех параметров нечёткого многослойного персептрона, включая параметры функции Гаусса нейронов слоя фуззификации можно использовать градиентный алгоритм наискорейшего спуска или его модификацию с моментами по аналогии с обучением радиально-базисных сетей. При этом алгоритм самоорганизации может быть использован для первичной инициализации центров функции Гаусса. 11.3 Алгоритм нечёткой самоорганизации C-means Алгоритм самоорганизации приписывает вектор x к соответствующей группе данных, представляемых центром ci , с использованием обучения конкурентного типа подобно сетям Кохонена. При обучении этого типа процесс самоорганизации становится возможным при предъявлении вектора х. Допустим, что в сети существует M нечётких нейронов с центрами в точках ci i  1,2,..., M  . Начальные значения этих центров могут быть выбраны случайным образом из областей допустимых значений соответствующих компонентов векторов x t  1,2,..., p  , использованных для обучения. Пусть функция фуззификации задана в форме обобщенной функции Гаусса, выраженной формулой (9.8). Подаваемый на вход сети вектор x будет принадлежать к различным группам, представляемым центрами ci , в степени uit , причем 0  uit  1, а суммарная степень принадлежности ко всем группам, очевидно, равна единице. Поэтому M u i 1 it 1 (11.1) для t  1,2,..., p . Функцию погрешности, соответствующую такому представлению, можно определить как сумму частных погрешностей принадлежности к центрам ci с учетом степени принадлежности u it Следовательно E   uit  ci  xt , M P m 2 (11.2) i 1 t 1 где m — это весовой коэффициент, который принимает значения из интервала [1, ∞), на практике часто принимают m=2. Цель обучения с самоорганизацией состоит в таком подборе центров ci , чтобы для заданного 157 множества обучающих векторов x t  обеспечить достижение минимума функции (11.2) при одновременном соблюдении условий ограничения (11.1). Таким образом возникает задача минимизации нелинейной функции (11.2) с р ограничениями типа (11.1). Решение этой задачи можно свести к минимизации функции Лагранжа, определенной в виде [4]. M P P M 2 m (11.3) LE   uit  ci  xt   t   uit  1 , i 1 t 1 t 1  i 1  где t t  1,2,..., p  - это множители Лагранжа. Доказано, что решение задачи (11.3) можно представить в виде  u  P ci  t 1 P m xt it  u  t 1 , it 1 uit  (11.4) m 1 m 1 , (11.5) d   k 1   где d it - это эвклидово расстояние между центром ci и вектором xt , d it  ci  xt . Поскольку точные значения центров ci в начале процесса не известны, алгоритм обучения должен быть итерационным: 1. Выполнить случайную инициализацию коэффициентов uit , выбирая их значения из интервала [0,1] таким образом, чтобы соблюдать условие (11.1). 2. Определить M центров c i в соответствии с (11.4). 3. Рассчитать значение функции погрешности в соответствии с (11.2). Если её значение ниже установленного порога, либо если уменьшение этой погрешности относительно предыдущей итерации пренебрежимо мало, то закончить вычисления. Иначе, перейти к п.4. 4. Рассчитать новые значения uit по формуле (11.5) и перейти к п.2. Многократное повторение итерационной процедуры ведёт к достижению минимума функции E, который необязательно будет глобальным. M   d 2 it 2 kt 11.4 Алгоритм разностного группирования Алгоритм разностного группирования данных является модификацией алгоритма пикового группирования, предложенного З.Егером и Д.Филёвым. В качестве меры плотности размещения векторов xt используются так называемые пиковые функции. В алгоритме разностного группирования в качестве потенциальных центров пиковых функций используются обучающие векторы xi . Пиковая функция задаётся в виде [4]: 158    2b  p  x  xt  D xi    exp  i . (11.6) 2 t 1 ra        2   Значение коэффициента ra определяет сферу соседства векторов. При большой плотности векторов xt вокруг точки xi , значение функции D xi  велико, следовательно, точка является «удачным» кандидатом в центры. После расчёта значений пиковой функции для всех точек xi , отбирается та, для которой значение функции D xi  оказалось максимальным. Именно эта точка становится первым отобранным центром с1 . Выбор следующего центра возможен после исключения предыдущего и всех точек, лежащих в его окрестности. Для этого пиковая функция переопределяется в виде:    2b   x c  Dnew  xi   D xi   Dc1 exp  i 12  . (11.7) rb       2   Обычно при выборе новой константы rb соблюдается условие rb  ra . Пиковая функция Dnew xi  принимает нулевое значение при xi  c1 и близка к нулю в ближайшей окрестности этой точки. После модификации пиковой функции отыскивается следующая точка xi , для которой величина Dnew xi  оказывается максимальной. Эта точка становится следующим центром с 2 . Процесс поиска очередного центра продолжается после исключения всех предыдущих центров и их окрестностей. Процесс инициализации центров завершается в момент фиксации всех центров, предусмотренных начальными условиями. Если существует множество обучающих данных в виде пар векторов xt , d t  так, как это происходит при обучении с учителем, то для нахождения центров, соответствующих множеству векторов d t , достаточно сформировать расширенную версию векторов xt в виде xt  xt , d t  . При этом определяют расширенные версии центров с i с размерностью, равной сумме размерностей векторов xt и d t . Тогда в описании центров можно выделить часть vi , соответствующую векторам xt (первые Nкомпонентов) и остаток qi , соответствующий вектору d t . Таким образом, можно получить центры, как входных переменных, так и ожидаемых выходных значений сi  vi , qi  . В случае применения нечётких правил с одним выходом векторы d t и qi сводятся к скалярным величинам. Независимо от способа реализации алгоритма обучения сеть с нечёткой самоорганизацией выполняет нечёткое группирование данных путём приписывания их к различным центрам на основании коэффициентов 159 принадлежности, значения которых изменяются от нуля до единицы. Это означает, что каждый вектор xпредставляется множеством центров, причём влияние каждого из них на значение вектора различно и зависит от величины коэффициента принадлежности. Если считать, что вектор xt представляется Mцентрами сi i  1,2,..., M  , а принадлежность вектора к каждому центру задана коэффициентом uit (формула 11.73), то реконструкция исходного вектора xt происходит согласно выражению: M xt   uit ci . (11.8) i 1 В этом состоит существенное различие нечёткой самоорганизации от классической самоорганизации Кохонена, при которой реконструкция вектора выполняется на базе одного центра, ближайшего к данному вектору, путём простого приписывания ему значения этого центра. 11.5 Нейронные нечёткие сети на основе нечётких нейронов Возможны различные варианты нечётких нейронных сетей данного типа. Функции активации нейронов являются чёткими, а нечёткими могут быть входы, выходы и (или) веса нейронов. В таких нечётких нейронах в отличие от обычной нейронной нечёткой сети [7]:  входные сигналы и веса можно комбинировать с использованием Tнормы,S- нормы или некоторого другого непрерывного оператора;  результаты комбинаций всех входов и их весов могут агрегироваться с использованием T-нормы,S- нормы или некоторой другой непрерывной функции;  функция активации f может быть любой другой (не только сигмоидальной функцией). Входы, выходы и веса гибридной нечёткой нейронной сети (обычно представляющие собой степени принадлежности к нечётким множествам) являются вещественные числа из интервала [0,1]. Основными разновидностями нечётких нейронов, реализующих нечёткие операции и используемых для создания гибридных нейронных нечётких сетей, являются:  нечёткий нейрон «И»;  нечёткий нейрон «ИЛИ»;  нечёткий нейрон «Импликация - ИЛИ»;  нечёткие нейроны для реализации композиционных правил вывода. На рисунке 11.2 приведена структура нечёткого нейрона «И». Сигналы x j и веса w j комбинируются с использованием S- нормы: rj  S w j , x j , j  1,2,..., n , (11.9) а выходное значение агрегируется с помощью операции T-нормы: y  T rj , rk   T S w1 , x1 , S w2 , x2 ,..., S wn , xn  . (11.10) 160 Если T- min, S – max, то нечёткий нейрон «И» реализует min-max– композицию: (11.11) y  minw1  x1 , w2  x2 ,..., wn  xn  . x1 w1 w2 x2 . . . y  T S w1 , x1 , S w2 , x2 ,..., S wn , xn  wn xn Рисунок 11.2 Структура нечёткого нейрона «И». На рисунке 11.3 приведена структура нечёткого нейрона «ИЛИ». Сигналы x j и веса w j комбинируются с использованием T- нормы: (11.12) r j  T w j , x j , j  1,2,..., n , а выходное значение агрегируется с помощью операции S-нормы: (11.13) y  S rj , rk   S T w1 , x1 , T w2 , x2 ,..., T wn , xn  . Если T- min, S – max, то нечёткий нейрон «ИЛИ» реализует max-min– композицию: y  maxw1  x1 , w2  x2 ,..., wn  xn . (11.14) x1 w1 w2 x2 . . . y  S T w1 , x1 , T w2 , x2 ,..., T wn , xn  wn xn Рисунок 11.3 Структура нечёткого нейрона «ИЛИ». 161 На рисунке 11.4 приведена структура нечёткого нейрона «ИмпликацияИЛИ». Сигналы x j и веса w j комбинируются с использованием операции нечёткой импликацииI: (11.15) rj  I w j , x j , x j  w j , j  1,2,..., n , а выходное значение образуется агрегированием посредством операции S-нормы: y  S rj , rk   S I w1 , x1 , I w2 , x2 ,..., I wn , xn  . x1 значений rj (11.16) w1 y  S I w1 , x1 , I w2 , x2 ,..., I wn , xn  w2 x2 . . . wn xn Рисунок 11.4 Структура нечёткого нейрона «Импликация -ИЛИ». На рисунке 11.5 приведены структуры нечёткого нейрона для реализации композиционных правил вывода. xj 1 R yi  x j * Rx j , yi  (11.17) x1 1   y  x1  x2 * Rx1  x2 , y  x2 1 Рисунок 11.5 Примеры композиционных правил вывода. структур нечётких нейронов для 162 R x1  x2 , y  - нечёткое отношение на основе Tи Sнорм или других нечётких операций. В качестве примеров построения и использования гибридных нечётких нейронных сетей на основе нейронов, реализующих нечёткие операции, можно привести следующие сети:  гибридные нейронечёткие классификаторы;  гибридные нейронные нечёткие сети для реализации деревьев классификации;  гибридные нейронные нечёткие сети для реализации композиционных правил вывода;  гибридные нейронные нечёткие сети для нечёткого логического вывода;  гибридные нейронные нечёткие сети для извлечения нечётких продукционных правил из числовых данных. 11.6 Гибридный нейронечёткий классификатор В качестве примера рассмотрим гибридный нейронечёткий классификатор [8]. Традиционный подход к классификации образов основан на предварительной кластеризации обучающих примеров и отнесении их к заданным классам. Сложность и ограничения при осуществлении этого предварительного этапа в большой степени обусловлены недостаточной эффективностью определения границ между кластерами. Эта проблема становится ещё более трудноразрешимой, когда число используемых параметров существенно возрастает. В отличие от традиционного подхода нечёткая классификация допускает непрерывность границы между двумя соседними классами с наложением областей, в каждой из которых классифицируемый объект характеризуется своей степенью принадлежности. Данный подход не только подходит для многих приложений, характеризующихся нечёткими границами между классами, но также обеспечивает достаточно простое представление потенциально сложного разделения пространства признаков [7]. Для гибридного нейронечёткого классификатора типичные нечеткие правила классификации при заданных _Pобразах в виде n-мерных четких векторов x (t )  ( x1(t ) , x2(t ) ,..., xn(t ) ), t  1,..., P , относящихся к K классам, имеют следующий вид: ЕСЛИ x1(t ) есть А1 И x2(t ) есть А2 И … И xn(t ) есть Аn , ТО x (t )  ( x1(t ) , x2(t ) ,..., xn(t ) ) принадлежит к классу Сiu , i  1,..., m, u  1,..., K . Аj – лингвистические термы, характеризующие соответствующие функции принадлежности компонентов входного вектора нечётким множествам. 163 Уровень активизации условия i-го правила обозначаемый как  i , и интерпретируемый как степень принадлежности t-го образа к классу Сiu , обычно определяется следующим образом:  i  T (  A ( x1( t ) ),  A ( x2( t ) ),...,  A ( xn( t ) )) , где Т– оператор Т-нормы, обычно в ij ij ij виде минимума, то есть  i  min  A x j t  , t  1,..., P ,    (11.18) j 1,.., n либо другой интерпретации нечёткого «И». В результате предъявления образа осуществляется параллельное сравнение его компонентов с условиями всех m правил с получением уровней активизации  i , i  1,..., m , затем уровни активизации всех правил агрегируются на основе заданной операции. В качестве такой операции часто используют оператор Т-нормыили S-нормы. Задача нечеткой классификации заключается в выполнении соответствующего нечеткого разделения признакового пространства. На рисунке 11.6 представлена структура гибридного нейронечеткого классификатора. Нейронечёткая сеть состоит из четырёх слоёв.  A11 x1   A21 x1 x1' 1 T 2  Am1 x1 1 . . .  A1n xn  x ' n S . . . T S Класс С2 p Класс Сs . . . m  A2m xn   Amn xn  С1 2 T . . . Класс S T Рисунок 11.6 Структура гибридного нейронечеткого классификатора 1. Элементы первого слоя реализуют операцию фуззификации, то есть формируют степени принадлежности входных переменных к определенным для них нечетким множествам Aij : 164  1  x ' с  2   A ji ( x' j )  exp   j ij   ,  2   ij     (11.19)  2  min{ A21 ( x1 ),  A22 ( x2 ),...,  A2 n ( xn )} ; (11.20) где сij , ij – параметры функции принадлежности колоколообразного типа. Начальные значения этих параметров установлены таким образом, чтобы функции принадлежности удовлетворяли свойствам полноты, нормальности и выпуклости. Значения сij должны быть равномерно распределены в области входных векторов x . Значения данных параметров корректируется в процессе обучения сети, основанном на градиентном методе или на основе алгоритмов самоорганизации. 2. Каждый элемент второго слоя является нечётким нейроном «И»,выходной сигнал которого, представляет «силу» срабатывания нечёткого правила относительно классифицируемого объекта. Они выполняют агрегирование степеней истинности предпосылок каждого правила базы в соответствии с интерпретацией операции Т-нормы по формуле (11.18): 1  min{ A11 ( x1 ),  A12 ( x2 ),...,  A1n ( xn )} ; …  m  min{ Am1 ( x1 ),  Am 2 ( x2 ),...,  Am n ( xn )} . 3. Элементы третьего слоя выполняют нормализацию и вычисляют следующие значения. Они выполняют агрегирование степеней истинности предпосылок правил базы в соответствии с операцией S-нормы по формулам: m i 1    w1i ; i 1     ...   1 2 m m i (11.21) 2    w2 i ; i 1     ...   1 2 m … m i s    wsi . i 1     ...   1 2 m 4. Элементы четвертого слоя вычисляют значения заключений по каждому правилус использованием функций активации сигмоидного типа. Эти выходы трактуются как степени принадлежности предъявленного объекта к соответствующему классу: 1 1  1 ; y1  C11 (1 )  a1  ln b1 1 1 1  2 ; (11.22) y2  C21 ( 2 )  a2  ln b2 2 … 165 y s  Cs1 ( s )  as  1 1s , ln bs s где ai , bi – нелинейные параметры функций принадлежности C (y) iu нечетких множеств заключений правил вида: Ciu  yi   1 1  exp (bi  yi  ai  (11.23) В данном слое также рассчитываются выходы сети по следующим формулам: y1  1 y1 (11.24) y2   2 y2 … y s   s ys 11.7 Алгортм обучения гибридного нейронечёткого классификатора Для обучения нейронечёткого классификатора можно использовать алгоритмы наискорейшего спуска и алгоритм обратного распространения ошибки. В этом случае в качестве операции T-нормы следует использовать алгебраическое произведение, иначе возникнут сложности при вычислении производной функции активации [7]. Пустьзадана обучающая выборка, состоящая из множества примеров ( x1(t ) , x2(t ) ,..., xn(t ) , d1(t ) , d 2(t ) ,..., d s(t ) ), t  1,..., P, где x1(t ) , x2( t ) ,..., xn(t ) , значения входных переменных, d1(t ) , d 2(t ) ,..., d s(t ) - эталонные значения выходных переменных в t-ом примере. Настраиваемыми параметрами для данной сети являются параметры сij , ij функции принадлежности входных переменных нечётким множествам и параметры ai , bi функций принадлежности C ( y) нечетких множеств iu заключений (i=1,2,..,m; j=1,2,…,n). Шаг1. Для каждого примера из обучающей выборки по значениям входных переменных x1(t ) , x2( t ) ,..., xn(t ) (t=1,2,…,P) нечёткая сеть рассчитывает значения выходных переменных y1(t ) , y 2(t ) ,..., y s(t ) . Шаг 2. Вычисляется функция ошибки для всех примеров обучающей выборки: 1 2 E t    y t   d t   , t  1,2,..., K . (11.25) 2 В данном случае функция ошибки может быть представлена как функция, зависящая от следующих аргументов: 2 1 E t   y t  сij , ij , ai , bi , wij   d t  , t  1,2,..., P (11.26) 2 Шаг 3. Корректируются значения сij , ij и ai , bi по каждому примеру обучающей выборки по следующим формулам:   166 сij (t  1) : сij (t )   E ( t ) (t ) , сij (t ) E ( t ) (t )  ij (t  1) :  ij (t )   ,  ij (t ) E ( t ) (t ) , ai (t  1) : ai (t )   ai (t ) E ( t ) (t ) , bi (t  1) : bi (t )   bi (t ) (11.27) E (t ) (t ) wij (t  1) : wij (t )   wij (t ) где t – номер итерации обучения,  - коэффициент обучения. Шаги 1-3 повторяются довыполнения условий завершения:  либо значение функции ошибки по каждому примеру обучающей выборки не превышает некоторого установленного порога: (11.28) E t    , t  1,2,..., P ;  либо оценка средней суммарной погрешности по всем примерам обучения не превышает некоторого установленного порога: E  1 P t  t   y d P t 1 2   . (11.29) 11.8 Гибридные нейронные нечёткие сети для извлечения нечётких правил из данных Извлечение нечётких продукционных правил из числовых данных осуществляется, как правило, в рамках конкретной задачи, например аппроксимации функций или классификации образов. Существует несколько методов извлечения правил из числовых данных. Одним из известных методов для решения задачи аппроксимации является метод, предложенный Абе С. и Лэном М.-С. Суть метода заключается в следующем [7]. Пусть неизвестная функция характеризуется одномерным выходом y и n-мерным входным вектором x. Область, на которой определена переменная y, разделена на m интервалов: y0 , y1 ,  y1 , y2 ,...,  ym1 , ym , (11.30) y i 1 где y0  M 1 , ym  M 2 - границы области. Назовём i-ый интервал , yi  выходным интервалом i. Используя заданные входные данные, для которых выходы находятся в выходном интервале i, рекурсивно определяется область входных значений, соответствующая выходному интервалу i. Прежде всего, находятся области активизации, которые определяют входную область, соответствующую выходному интервалу i, посредством вычисления минимального и максимального значений входных данных для каждого выходного интервала. 167 Если область активизации для выходного интервала i перекрывается с областью активизации для выходного интервала j, то область перекрытия определяется как область запрещения. Если входные данные для выходных интервалов iи/или j находятся внутри области запрещения, то определяется одна или две дополнительные области активизации. Если дополнительные области активизации также перекрываются, то определяется дополнительная область запрещения. Данный процесс повторяется до тех пор, пока проблема наложения областей не будет решена. Рисунок 11.7 иллюстрирует этот процесс. Область для выходногоинтервала i Итерация 2 Итерация 1 Область для выходногоинтервала j Итерация 3 . Рис.11.7 Рекурсивное определение областей активации и запрещения Нечёткие правила определеяются на основе областей активизации либо на основе областей активизации и соответствующих областей запрещения (если они есть). На рисунке 11.8 показана обобщённая структура гибридной нейронной нечёткой сети, вычисляющая степени принадлежности входных данных к соответствующим выходным интервалам с последующим приведением к чёткому значению. Так, для входного вектора x степень принадлежности к выходным интервалам от 1-го до m-ого определяется данной сетью и затем вычисляется чёткое значение y. Перекрытие с интервалом j 168 l x1 … max i … xk . . . min Дефуз зифик атор y Для интервала i m max xn Рис.11.8 Структура гибридной нейронной нечёткой сети Абе и Лэна для извлечения нечётких правил из данных при решении задачи аппроксимации функции Данная сеть состоит из 4 слоёв. При этом различные выходные интервалы реализуются разными элементами слоёв 2-4. Между элементами этих слоёв, реализующими различные выходные интервалы переменной y, отсутствует какя-либо связь. Слой 2. Элементы этого слоя реализуют нечёткие «ЕСЛИ-ТО» правила, вычисляющие степени принадлежности переменных входного вектора x. Слой 3. Элементы этого слоя вычисляют максимальные значения выходов элементов слоя 2, которые представляют собой степени принадлежности, полученные в результате ликвидации перекрытий между парой выходных интервалов. Число элементов слоя 3 для выходного интервала i определяется по числу выходных интервалов, чьи входные пространства перекрываются со входным протранством данного выходного интервалаi. Поэтому, если нет перекрытия между входными пространствами 169 выходного интервалаiи какого-либо другого выходного интервала, сеть для выходного интервала iуменьшается до двух слоёв. Слой 4. Элемент этого слоя для выходного интервала i определяет минимальное значение среди максимальных значений, определённых в предыдущем слое и соответствующих перекрытию между двумя выходными интервалами. Поэтому если выходной интервал i перекрывается только с одним выходным интервалом, то сеть для выходного интервала iуменьшается до трёх слоёв. Вычисление минимума в слое 4 позволяет ликвидировать перекрытие среди более, чем двух выходных интервалов. Таким образом, в процессе образования входных областей необходимо избавиться от перекрытия между двумя интервалами одновременно. Другой не менее эффективный по сравнению с вышерассмотренным методом извлечения нечётких правил из данных предложен Кругловым и Борисовым в [7] для решения задачи аппроксимации. Предположим, что исследуемый объект имеет n входов (иначе, векторный вход x) и один выход yи имеет «истинное» (неизвестное) описание: (11.31) y  f ( x)  e , где f(x)– функция неизвестного вида; e – случайная аддитивная помеха (отражающая действие неучитываемых системой факторов) с нулевым средним значением и произвольным (неизвестным) распределение на интервале   m ,  m . Предположим, что на объекте может быть реализован эксперимент, k  k  заключающийся в регистрации Kпар значений x , y , k  1,2,..., K , при k  этом величины (n-мерные векторы) x измеряются без ошибок; значение K при необходимости допускает модификацию. Алгоритм построения системы может быть описан следующим образом: k  k  Этап 1. Из mm  K  произвольных значений x , y составляется начальная база знаний модели, отображаемая матрицей U mn1 со строками вида x k  , y k   x1k  , x2k  ,..., xnk  , y k  , k  1,..., m. Такое представление, очевидно, соответствует набору нечётких продукционных правил вида: Пk:ЕСЛИ x1 есть Ak1 Иx2 есть Ak2 И xn есть Akn, ТО y=Bk, k=1,…,m. l  l  Этап 2. Для каждой новой экспериментальной точки x , y рассчитывается прогнозируемое значение по формуле, соответствующей методу дефуззификации среднего центра:  k  l  k   y  x x m y  l k 1 m  l  k   x x k 1   , (11.32) где   - функция колокообразной или экспоненциальной формы: 170   m    x x  exp    xil   xik   , i 1   где  - параметр функции. Этап 3.Проверяется неравенство: y l   y  d , l  k  (11.122) (11.33) где d – заданная константа, определяющая погрешность аппроксимации. При выполнении неравенства база нечётких правил пополняется путём расширения матрицы U (добавлением строки x l  , y l  ). В противном случае матрица U остаётся без изменений. Этап 4.Проверяется правило останова. В данном случае процесс извлечения правил считается завершённым, если в соответствии с этапами 2 и 3 перебраны все K экспериментальных данных (без учёта значений начальной базы). Если не все экспериментальные точки использованы, то осуществляется переход к этапу 2. В процессе реализации алгоритма матрица U , а также параметры  и d считаются априорно заданными. Очевидно, что база нечётких правил не остаётся фиксированной, а модернизируется по мере поступления экспериментальных данных. Причём непротиворечивость нового продукционного правила относительно набора правил из базы гарантируется предложенной процедурой её пополнения. 171 Список используемых источников 1. Адаменко А.Н., Кучуков А. Логическое программирование и Visual Prolog – Спб.: БХВ – Петербург, 2003. 2. Андрейчиков А.В., Андрейчикова О.Н.. Интеллектуальные информационные системы: Учебник. – М.: Финансы и статистика, 2006. – 424 с., ил. 3. Хайкин С. Нейронные сети: Полный курс: Пер. с англ. - 2-е изд. – М.: Вильямс, 2006. – 1104 с.: ил. 4. Оссовский С. Нейронные сети для обработки информации / Пер. с пол. И.Д. Рудинского. – М.: Финансы и статистика, 2002. – 344 с.: ил. 5. Уоссерман Ф. Нейрокомпьютерная техника: теория и практика / Пер. с англ. Ю.А. Зуев. – М.: Мир, 1992. 6. Рутковская Д., Пилиньский М., Рутковский Л. Нейронные сети, генетические алгоритмы и нечёткие системы: Пер. с польск. И.Д.Рудинского, - М.: Горячая линия – Телеком, 2007. – 452 с.: ил. 7. Борисов В.В., Круглов В.В., Федулов А.С. Нечёткие модели и сети. – М.: Горячая линия– Телеком, 2007. -284 с.: ил. 8. Круглов В.В. Нечёткая логика и искусственные нейронные сети/В.В. Круглов, М.И. Дли, Р.Ю. Голунов – М.: Горячая линия – Телеком, 2007. 284 с. 172
«Интеллектуальные системы» 👇
Готовые курсовые работы и рефераты
Купить от 250 ₽
Решение задач от ИИ за 2 минуты
Решить задачу
Найди решение своей задачи среди 1 000 000 ответов
Найти
Найди решение своей задачи среди 1 000 000 ответов
Крупнейшая русскоязычная библиотека студенческих решенных задач

Тебе могут подойти лекции

Смотреть все 493 лекции
Все самое важное и интересное в Telegram

Все сервисы Справочника в твоем телефоне! Просто напиши Боту, что ты ищешь и он быстро найдет нужную статью, лекцию или пособие для тебя!

Перейти в Telegram Bot