Оглавление 1. Введение .............................................................................................................................................. 3 2. История развития ИИ ......................................................................................................................... 4 3. Особенности знаний ........................................................................................................................... 5 4. Модели представления знаний .......................................................................................................... 6 5. Способы описания знаний ................................................................................................................. 7 6. Реализация моделей представления знаний. Логические модели .................................................. 8 7. Реализация моделей представления знаний. Сетевые модели ....................................................... 9 8. Статусы и логическая структура модели предметной области (МПОб) ..................................... 10 9. Понятия экстенсионала и интенсионала ......................................................................................... 11 10. Использование таксономических структур в сетевых моделях ................................................. 12 11. Продукционная модель .................................................................................................................. 13 12. Классификация ядер продукции .................................................................................................... 14 13. Управление системой продукции .................................................................................................. 15 14. Сценарии .......................................................................................................................................... 16 15. Ленема .............................................................................................................................................. 17 16. Нейронные сети. Основные положения........................................................................................ 19 17. Обучение .......................................................................................................................................... 21 18. Алгоритм обучения с учителем ..................................................................................................... 22 19. Нейронные сети. Алгоритм обратного распространения ........................................................... 23 20. Нейронные сети обучения без учителя. ........................................................................................ 26 21. Задачки ............................................................................................................................................. 29 Системы искусственного интеллекта 1. Введение 2. История развития ИИ 3. Особенности знаний 4. Модели представления знаний 5. Способы описания знаний Логические модели Сетевые модели Продукционные модели Фреймовые модели 6. Реализация моделей представления знаний. Логические модели 7. Реализация моделей представления знаний. Сетевые модели 8. Статусы и логическая структура модели предметной области (МПОБ) 9. Понятия экстенсионала и интенсионала 10. Использование таксономических структур в сетевых моделях 11. Продукционная модель 12. Классификация ядер продукции 13. Управление системой продукции 14. Сценарии 15. Ленима 16. Нейронные сети. Основные положения 17. Обучение 18. Алгоритмы обучения с учителем 19. Нейронные сети. Алгоритм обратного распространения 20. Нейронные сети. Обучение без учителя 1. Введение Интеллект – способность мозга решать задачи путем приобретения, запоминания и целенаправленного преобразования знаний в процессе обучения на опыте и адаптации к различным обстоятельствам. Интеллектуальная задача – связанная с отысканием алгоритма решения класса задач определенного типа. Деятельность мозга, обладающего интеллектом, направленную на решение интеллектуальных задач, будем называть мышлением. Любая материальная система, с которой можно достаточно долго обсуждать проблемы науки, литературы и искусства обладает интеллектом. Допустим, в разных комнатах находятся люди или машины. Если в процессе обсуждения, люди не понимают, что перед ними машина, то машину можно считать обладающей интеллектом. 2. История развития ИИ 1 направление – моделирование биологического прототипа: в 1950-е годы был создан перцептрон (PERCEPTRON) – самоорганизующийся автомат, реализующий сетчатку глаза. 2 – разработка методов, приемов, специализированных устройств и программ для ЭВМ, обеспечивающих решение сложных математических и логических задач, позволяющих автоматизировать отдельные интеллектуальные действия человека: General Purpose Solver (Универсальный решатель задач) Большая задача -> несколько подзадач -> их решение -> решение всех задач Система не давала конкретной привязки к определенной области задач, однако вскоре выяснилось, что это применимо только для общих математических задач. Экспертные системы (Dendral) Для хим анализа в 3 этапа 1. С помощью базы знаний составляется список исходных условий 2. Список заполняется пользователем 3. Система генерирует, проверяет, ранжирует и упорядочивает возможные решения, выдает их пользователям Система MYCIN - диагностика инфекционных заболеваний крови. Вероятностные оценки решений 1…10. Система MYCIN могла объяснить ход решения. В дальнейшем система была расширена, что позволяло диагностировать не только заболевания крови. Системы AM (automated mathematician) и Eurisco – спроектированы стенфордским университетом. Разработчики Eurisco попытались преодолеть недостатки AM и позволили генерировать новые правила случайным образом (но исходные данные переопределялись не всегда корректно) 3. Особенности знаний 1. Внутренняя интерпретируемость 2. Структурированность 3. Связность 4. Семантическая метрика 5. Активность Внутренняя интерпретируемость - наличие у данных уникальных имен, дающих возможность оперировать с данными как с информационными единицами. По этим уникальным именам ИС находит эти информационные единицы, а так же отвечает на запросы, где упомянуто это имя. Структурированность – д.б. обеспечена рекурсивная вложенность одних информационных единиц в другие. Каждая информационная единица может быть включена в состав любой другой и из каждой информационной единицы можно выделить некоторые ее составляющие. Связанность - в информационной базе между информационными единицами должна быть предусмотрена возможность установления связей, характеризующих отношения между этими единицами. Семантика отношений может иметь декларативный или процедурный характер. Будем изучать следующие типы отношений: 1)Относительная структуризация -> иерархия информационных единиц 2)функциональные отношения -> процедурная информация(вычисление единицы информации через другие) 3)Каузальные отношения -> причинно-следственные связи 4)Семантические отношения -> все остальные связи Модель представления знаний – семантическая сеть. Это граф, в вершинах которого находятся информационные единицы. Бывает 2 видов: иерархического типа и все остальные. Семантическая метрика – на множестве информационных единиц могут быть заданы отношения, характеризующие ситуационную близость информационных единиц, т.е. силу ассоциативной связи между ними. Это позволяет выделить в информационной базе некоторые типовые ситуации. Т.е. можно находить знания, близкие уже найденным. Активность – Для ИС неприемлема ситуация, когда данные пассивны, а команды активны. Как и у человека, в ИС актуализация тех или иных действий (команд) должны способствовать знания, имеющиеся в системе. Таким образом выполнение программ в ИС должно инициироваться текущим состоянием информационной базы. Т.е. появление в базе новых фактов или установление новых связей может стать источником активности системы. Если система обладает этими 5 особенностями, то это не БД а БЗ. 4. Модели представления знаний Декларативная – нет описаний выполняемых действий. Вывод решений основан на процедурах поиска в пространстве состояний. Проблема представления предметной области решается независимо от того как эти знания потом будут использоваться. Модель делится на две части: Статическое описание модели знаний Механизм вывода Не содержит в явном виде описание выполненных процедур. Модель представляет произведение множества утверждений. Процедуральная – Знания содержатся в процедурах, которые определяют, как выполнять специфические действия (как поступить в специфических ситуациях). Можно не описывать все возможные состояния среды для реализации выводов. Достаточно хранить некоторые начальные состояния и процедуры, генерирующие необходимые описания ситуаций и действий. Процедуры могут активизировать друг друга. Их выполнение может прерываться, а затем возобновляться. Особенность процедур в ИС – высокая эффективность механизмов вывода, которая обусловлена наличием в этих процедурах знаний о приемнике. Высокая выразительная сила – можно смоделировать что угодно. Полезны в случаях: 1) неполнота знаний – если в системе отдельные факты не представлены или невыводимы, правила вывода позволяют гипотетически признавать их верными при условии, что в системе нет или невыводимы доказательства обратного. 2) Фактов достаточно, но нет времени проверять. Позволяет осуществить вывод в условиях ограниченности ресурсов, когда процессы не могут быть завершены, но должны быть остановлены для получения результатов. 5. Способы описания знаний 1. Логические модели. В основе – формальная система, задаваемая четверкой вида M=<T,P,A,B> T – множество базовых элементов различной природы, причем для этого множества существует некоторый способ определения принадлежности или непринадлежности произвольного элемента к этому множеству. Процедура такой проверки может быть любой, но за конечное число шагов она должна давать положительный или отрицательный ответ на вопрос, является ли Х элементом множества Т. Р – множество синтаксических правил. С их помощью из элементов Т образуются синтаксические правильные совокупности. Должна существовать процедура, с помощью которой за конечное число шагов можно получить ответ на вопрос является ли Х синтаксически правильной. А – аксион – подмножество, выделяемое в множестве синтаксически правильных совокупностей. Есть процедура П(А), которая за конечное количество шагов даст ответ для любой синтаксически правильной конструкции о принадлежности/непринадлежности к множеству А. Но если П(Т) должна определять «да» или «нет» из использования всех элементов, то П(*) работает со множеством Р. В – множество правил вывода. Применяя их к элементам А, можно получить новые синтаксически правильные совокупности, к которым снова можно применить правила вывода. Так формируется множество выводимых в данной формальной системе совокупностей. Если имеется процедура П(В), с помощью которой можно определить для любой синтаксически правильной совокупности, является ли она выводимой, то соответствующая формальная система называется разрешимой. 2. Сетевые модели В зависимости от типов связи между ИС различают: Классифицирующие сети (отношения структуризации) Функциональные сети (функциональные отн.) Сценарии (казуальные отн.) Если в сетевой модели допускаются связи различного рода - это семантическая сеть. H=<J,C1,C2….Cn,r> J – множество ИС C1,C2….Cn – типы связей r – связи между ИС (отображение) 3. Продукционные модели Используются элементы логических и сетевых моделей. В результате применения правил вывода к фрагментам сетевого описания происходит трансформация сети: смены её фрагментов наращивания сетей и исключения из неё ненужных фрагментов. Т.о. в продукционных моделях процедурная информация явно выделяется и описывается иными средствами чем другая информация => вместо логического вывода тут стоит говорить о выводах на знаниях. Продукция – правила вывода 4. Фреймовая модель Фреймы – минимальные структуры информации, необходимые для представления класса объектов, явления или процессов Протофрейм(имя фрейма: имя слота1 (значение слота1) …………………… имя слотаN (значение слотаN)) Значение слота может быть ссылкой на другой слот или фрейм. В качестве знаний может выступать набор слотов более низкого уровня Конкретизация фрейма – заполнение слотов (значение и имя). Если все имена и все значения фрейма заполнены, то это конкретный фрейм. Связи м/у фреймами задаются значениями спецслота с именем 6. Реализация моделей представления знаний. Логические модели Реализация логических моделей основана на исчислении предикатов. Предикат – переменная высказывания, истинность и логичность которого зависит от значений его переменных. Логика предикатов – расширение логики высказываний. Формула является выводимой, если она может быть получена из конечной совокупности исходных формул путем конечного числа шагов применений правил вывода. Термы, предикаты и кванторы. Терм – всякая константа или переменная. Предикат – логическая функция, заданная на термах. Квантор – 2 специальных символа ∀, ∃ - общности и существования. Областью действия квантера является формула к которой он применяется. Вхождение переменной в формулу может быть связанным и свободным. P(x,y)→∀x P(x) y – свободная переменная (не находится в области действия квантора). х – свободное лишь первое вхождение, остальные два – связано. Недостаток – ограниченная выразительность. Способы преодоления: 1) Расширение и модификация логики предикатов применение семантических ограничений в зависимости от особенностей предметной области. использование логики предикатов 2-ого порядка использование модальной логики (необходимость и возможность) использование вероятностной логики (P(1) или P(0) высказывания) использование многозначных и нечетких логик, в которых оценка истинности высказывания может принимать дискретные или непрерывные значения из интервала между истиной и ложью. 2) Разработка глобальных механизмов представления. Достоинства: синтаксис и интерпретация хорошо определены. 7. Реализация моделей представления знаний. Сетевые модели P-объект - объект, существующий в реальном мире. В БЗ ему соответствует некоторое описание, полнота которого определяется той информацией, которую имеет о Р-объекте интеллектуальная система. Такое представление – М-объект. Существует ли Р-объект, для которого не существует М-объекта? Запросто! Может быть и наоборот. Способ интерпретации взаимосвязанных Р-объектов называется денотативной семантикой. Способ интерпретации взаимосвязанных М-объектов называется коннотативной семантикой. Р-объект по отношению к соответствующему в базе знаний М-объекту называется денотатом или референтом этого М-объекта, а М-объект по отношению к исходному Р-объекту – десигнат. Терминальный объект – М-объект, который не может быть разложен на более простые объекты. Остальные М-объекты – производные. Перечень терминальных объектов, которые могут образовывать классы или типы, задается при проектировании интеллектуальной системы. Семантика терминальных объектов определяется набором допустимых процедур, оперирующих с ними. СМ-фрейм задается в виде ассоциативного списка атрибутов (имя_атрибута1 значение 1 ………………… имя_атрибутаN значение N) Необходимо обеспечить уникальную идентификацию отдельных фреймов. Необходимо задать коннотативный смысл фреймов. Он задан, если перечень имен атрибутов постоянен и не совпадает с перечнем имен атрибутов фрейма другого вида. Т.о. целесообразно сопоставлять смысл фрейма с описанием его типа. 8. Статусы и логическая структура модели предметной области (МПОб) Простейший статус – статус истинности. Предполагается, что все фреймы, которые в данный момент имеются в базе абсолютно истинны, а те которых сейчас там нет – абсолютно ложные. Такая модель – замкнутая. В замкнутых моделях отсутствует необходимость в операциях отрицания, так как она реализуется исключительно соответственно утверждениям из базы знаний. Недостаток замкнутых моделей – наличие только одного статуса истинности. Открытая модель: фреймам, отсутствующим в базе знаний присваивается статус «неопределен», а ложные факты хранятся явно. Кроме того, могут использоваться фреймы с набором градации истинности > 3. В МПОб должны присутствовать специальные процедуры ассимиляции. Эти процедуры соотносят синтаксически правильные фреймы с текущим состоянием дедуктивного замыкания модели. Фреймы, по отношению к которым выполнимы процедуры ассимиляции считаются осмысленными. Распространена практика частично-осмысленного фрейма – тактика, при которой система на время допускает неосмысленные фреймы «в надежде», что впоследствии процедуры ассимиляции смогут выполниться успешно. В некоторых случаях, происходит пробное включение фрейма в модель, после чего дальнейшая работа продолжается, в надежде на то, что ничего плохого не произойдет; если не возникнет противоречий, то фрейм сохраняется. Иначе происходит откат и исследуется другой вариант ассимиляции. В противном случае данный фрейм считается неосмысленным. Вывод – в сетевой модели есть последовательное применение правил вывода из заданной системы правил. Он позволяет получать утверждения, ранее в базе незафиксированных (виртуальное утверждение). Вывод позволяет дать ответ на вопрос о существовании некоторого виртуального утверждения в данном состоянии базы, либо определить значение атрибута некоторого утверждения. Мы не храним в модели кучу всего, что можно вывести. Модель, пополненная всеми виртуальными утверждениями является дедуктивным замыканием модели. Модель знаний, дедуктивное замыкание которой не содержит утверждений, отрицающих друг друга, характеризуется модельной непротиворечивостью. При замыкании модели необходимо избегать появления противоречий. Вводим специальный статус – Д статус, соответственно утверждение с этим статусом – Дистинные. Д статус определяется той измерительной процедурой, которая порождает модельное утверждение или теми ограничениями исходного описания, которые зафиксированы при вводе этого утверждения в базу. Можно считать, что утверждение с Д-статусом – это утверждение об эмпирических фактах, а утверждение с абсолютно истинным статусом – утверждением некоторой теории. 2 сист. теории: теоретическая и эмпирическая. Истинный статус помимо абсолютного может иметь частный или относительный характер, отражать различные точки зрения на системы утверждений, составляющих конкретную МПОБ. В этом проявляется основное свойство систем представления знаний – многоаспектное моделирование действительности. Замкнутая, коньюктивная, абсолютно истинная МПОБ является наивной «примитивной» одновариантной копией фрагмента реального мира и в общем случае полезно поддерживающая множественный истинный статус утверждений, так называемый механизм множественных точек зрения. 9. Понятия экстенсионала и интенсионала Средствами Баз Знаний удобно реализуется механизм обобщения или абстракции. Первый шаг на пути к этому – фиксация типа фрейма. 𝑆𝑐ℎ(𝑃𝑖 ) = (𝑃𝑖 … < 𝑎𝑗 : 𝐷𝑂𝑀(𝑃𝑖 , 𝑎𝑗 ) > ⋯ ), 𝑗 = 1. . 𝑁𝑖 𝑃𝑖 ∈ {𝑃1 … 𝑃𝑇 } T – количество типов фреймов в МПОб aj – имя j-го атрибута фрейма Pi DOM(Pi, aj) – множество допустимых значений атрибута aj фрейма Pi Ni – число атрибутов фрейма Pi Конкретизация схемы фрейма – факт. Экстенсионал фрейма – множество всех фактов данного типа, зафиксированных в БЗ МПОб. В процессе функционирования экстенсионалы могут меняться. Множество экстенсионалов образует супер экстенсионал, смысл которого в том, что для каждого состояния МПОб выполняется следующее утверждение: EXT(Pi) ∈ NEXT(Pi) // правый – супер экстенсионал Интенсионал фрейма – функция INT(Pi), которая вырабатывает множество фактов, являющихся конкретизацией прототипа фрейма {Fj}∈ NEXT Таким образом, используя интенсионал, мы виртуализируем утверждения. Дедуктивное замыкание модели происходит тогда, когда все факты представлены супер экстенсионалами. Виртуальное утверждение – то, которое выводимо в данной предметной области. Для фреймов, имеющих интенсиональное описание бессмысленно вводить в БЗ МПОБ конкретизирующие факты. Они либо не несут новой информации, либо противоречат модели. Зачем вводить экстенсионал? Лишь для немногих типов фреймов удается написать чистый интенсионал и иногда полезней оказывается его аппроксимация. Иногда интенсионал избыточен. 10. Использование таксономических структур в сетевых моделях Таксономическая структура – иерархия абстрактных понятий в виде дерева. При этом корень – наиболее общее понятие, всё что выше – более частные понятия. При этом любое абстрактное понятие таксономии за исключением наиболее общего наследует все свойства непосредственно своего понятия – предка и добавляет к нему свое уточнение. Отношения наследника SUP() и предка SUB()– транзитивны. Достоинства и недостатки ТС: (+): Организация фреймов в виде ТС существенно облегчает доступ к экстенсионалам соответствующих понятий, а также дедукцию при ответах на запросы системы. Пример: ДИРИЖАБЛЬ - ?? Это ВОЗДУШНЫЙ ТРАНСПОРТ (по дереву снизу вверх найдено решение) (+): Наличие ТС может служить основой для рассуждений по аналогии – выполнение индуктивных умозаключений. Чем дальше понятия находятся по иерархии ТС, тем меньше между ними общего. (+): Удобство предположения о формально не заданных свойствах некоторых объектов. (+): Когда пользователь взаимодействует с системой, ТС может помочь, давая подсказки и уточнения. (-): Не существует единых принципов построения классифицирующих структур (-): Вопрос о выделении подклассов решается для каждого уровня отдельно. Любые другие аспекты работы с МПОБ классификацией поддерживаться не будут. Чтобы это обойти, применяют мульти-иерархические таксономии, где отдельное абстрактное понятие может наследоваться не от одного, а от нескольких родственных понятий. Таким образом, возрастает сложность работы, т.к. приходится иметь дело с графом классификаций, а не деревом. 11. Продукционная модель Продукционная модель, или модель, основанная на правилах, позволяет представить знания в виде предложений типа: Если (условие), то (действие). Под условием понимается некоторое предложение-образец, по которому осуществляется поиск в базе знаний, а под действием — действия, выполняемые при успешном исходе поиска (они могут быть промежуточными, выступающими далее как условия, и терминальными или целевыми, завершающими работу системы). При использовании продукционной модели база знании состоит из набора правил. Программа, управляющая перебором правил, называется машиной вывода. Чаще всего вывод бывает прямой (от данных к поиску цели) или обратный (от цели для ее подтверждения — к данным). Данные — это исходные факты, на основании которых запускается машина вывода — программа, перебирающая правила из базы. В общем виде продукция может быть представлена выражением следующего вида: (i) ; Q ; P ; A => B ; N , где (i) - имя продукции. В качестве имени может выступать порядковый номер или выражение из символов, отражающее суть данной продукции. Q – элемент, характеризующий сферу применения. Он позволяет разделить знания на области, что экономит время поиска нужных знаний. А => В - основной элемент продукции, называемый ядром. (если «А» то «В») Р - условие применения ядра продукции. Обычно Р представляется логическим выражениям. Если выражение Р – истина (1), то ядро продукции активизируется. N - описание постусловия продукции. Активизируется только в том случае, если ядро продукции реализовалось. Здесь описываются действия и процедуры, которые необходимо выполнить после реализации «В». Выполнение N может происходить не сразу после выполнения ядра продукции. Если в памяти системы хранится некоторый набор продукций, то они образуют систему продукций. В системе продукций должны быть заданы специальные процедуры управления продукциями, с помощью которых происходит актуализация продукций и выполнение той или иной продукции из числа актуализированных. Продукционная модель – комбинация декларативного и процедурального описания. Декларативное – сетевая модель. Процедуральное – продукция. 12. Классификация ядер продукции I – детерминированные ядра продукции (если А, то обязательно В) II - недетерминированные ядра продукции (если А, то возможно В) I.1 – однозначные (безальтернативные) I.2 – многозначные (альтернативные) II.1 – с вероятностной оценкой реализации ядра (если А, то с вероятностью р реализуется В) II.2 – с лингвистической оценкой реализации ядра (если А, то с большой долей уверенности В) II.3 – прогнозирующие ядра (если А, то с вероятностью р можно ожидать В) I.2 делится: 1) С вероятностной оценкой веса - если А, то с вероятностью р=0.5 реализуется В1 , с вероятностью р=0.3 реализуется В2 , с вероятностью р=0.2 реализуется В3. Сумма всех рi должна быть равна 1. 2) С лингвистической оценкой веса – если А, то с большей долей уверенности В1 , с меньшей В2 3) Экспертная оценка веса – если А, то чаще В1 , реже В2 13. Управление системой продукции При выполнении условий применимости ядер продукций для группы продукций возникает проблема выбора той продукции, которая в данной ситуации будет активизирована. Решение этой проблемы возлагается на систему управления системой продукции. Продукции, для которых в данный момент времени выполняется условие применимости, называется фронтом готовых продукций. Возможны два пути решения этой задачи: 1 - централизованное управление – решения об актуализации принимаются специальной системой управления. 2- децентрализованное управление – предполагает учет складывающейся на этот момент ситуации. Стратегии для выполнения системы продукции: 1.Принцип «стопки книг» Наиболее часто используемая продукция является наиболее полезной. Желательно кроме частоты добавить параметр, что продукция не просто использовалась, а имела положительную оценку. Принцип особо выгоден, когда частота исполнений продукции подсчитывается с учетом некоторой ситуации, в которой ранее использовалась продукция и это исполнение имело положительную оценку. LFU-принцип. При такой обратной связи метод стопки книг может превратиться обучающую процедуру, адаптирующуюся к тем задачам, которые возникают во внешней среде. Управление по этому принципу наиболее целесообразно применять, если продукция относительно независит друг от друга. 2.Принцип «наиболее длинного условия» Из фронта готовых продукций выбирается та продукция, у которой стало истинным наиболее длинное условие выполнимости ядра. Принцип опирается на соображения здравого смысла, а именно: частные правила, относящиеся к узкому классу ситуаций важнее общих правил (к широкому классу правил), т.е. частные правила содержат больше информации, чем вторые. Целесообразнее применять в тех случаях, когда знание и сами продукции хорошо структурированы с привязкой к типовой ситуации 3.Принцип метапродукций Основан на идее ввода в систему специальных метапродукций, задачей которых является определение порядка выполнения продукций во фронте продукций. 4.Принцип «классной доски» При реализации это в ИС выделяется рабочая область памяти (динамическая), на которой выделяются специальные поля для определения условий применимости ядер продукций для различных сфер применимости продукций, а так же специальные поля для записи результатов срабатывания продукции и для записи постусловий (3-е поле). 5.Принцип приоритетного выбора Связан с введением статических или динамических приоритетов на продукции. Статические приоритеты, как правило, формируются априорно на основании сведений о важности продукционных правил в данной проблемной области. Динамические приоритеты вырабатываются в процессе функционирования системы продукций и могут представлять, например, время нахождения продукции во фронте готовых продукций. 6. Управление по именам. Эта стратегия основана на задании для имен продукций, входящих в некоторую систему, некоторой формальной грамматики или другой процедуры, обеспечивающей сужение фронта готовых продукций. Пример. Система из 4х продукций: а) 𝐴 => 𝐵 б) 𝐵&𝐷 => 𝐴 в) 𝐴 ∪ 𝐵 => 𝐷 г) 𝐷 => 𝐶 Система недетерминирована. Введем формальную грамматику(порядок выполнения): (а)=>(б) (в)=>(б) (а)=>(г) После (б) ничего, после (а) => (б), (г). Фронт готовых продукций сузится. 14. Сценарии Особую роль в системах представления знаний играют стереотипные знания, описывающие известные стандартные ситуации реального мира; такие знания позволяют восстановить информацию, пропущенную в описании ситуации, предсказывать появление новых фактов, которых можно ожидать в данной ситуации, устанавливать смысл происхождения ситуации с точки зрения более общего ситуативного контекста. Для описания стереотипного знания используются различные модели. Среди них наиболее распространенными являются сценарии. Сценарием называется формализованное описание стандартной последовательности взаимосвязанных фактов, определяющих типичную ситуацию предметной области. Это могут быть последовательности действий или процедур, описывающие способы достижения целей действующих лиц сценария. Наиболее распространены сценарии в виде 1) дерева 2) классифицирующий сценарий и 3) каузальный сценарий. 1) Дерево: в сценарии описывается как некоторая цель может быть декомпозирована в систему подцелей (применяется при планировании решений) 2) При обобщении знаний и представляет собой сети между вершинами которых имеются отношения. 3) сценарий используемый для представления проблемно зависимых каузальных знаний и событиях, действиях и процедурах. Рассмотрим их подробнее КСЦ (кауз сценарий) задает в обобщенном и структурном виде типичную последовательность действий или процедур в заданной предметной области и описывается в виде фрейма. Имена слотов и значения слотов. Значение слота описывается в нотации Бэкуса-Науэра. Сценарий считается завершенным, если реализовано ключевое событие и достигнута цель деятеля. 15. Ленема Согласно сегодняшним представлениям, к моделям представления знаний относятся: 1). логические модели; 2). сетевые модели; 3). продукционные модели; 4). фреймовые модели; 5). ленемы. При выполнении любой работы на характер представления знаний влияют 2 точки зрения: разработчика и пользователя. В основу модели представления знаний через Ленемы положена двухуровневая система, состоящая из языка спецификации знаний (L-языка) и базовой формальной систем(БФС), которая представляет собой самостоятельный язык представления знаний. Семантика языка полностью описывается в терминах БФС. Как и всякий язык представления знаний он выражает средства для формирования МПОб и подъязык для спецификации конкретных фактов. Спецификацией языка является Ленема – конструкция, задающая схему описания понятий. Спецификация МПОб и конкретики факторов в форме выражений L-языка существует только на внешнем пользовательском уровне, а хранение и обработка информации осуществляется на уровне БФС. БФС состоит из 3х компонентов: Библиотека понятий, Функционально-Семантическая сеть (ФС-сеть), продукционная система на ФС-сети. Библиотека содержит для описание классов (сортов, объектов, отношений и функций). Описание полей включает 2 уровня: декларативный и интерпретационный. На 1 вводятся обозначение понятий, на 2 – интерпретация. ФС-сеть объединяет возможности функциональной и семантической сети. В ней три типа вершин: объекты, функции и отношения. Графически «объект» - маленькая вершина, «ф-я» большая вершина, «отношение» - большая дуга. Отражает связь функций и отношений с их аргументами. Каждая объектная вершина, как и библиотека имеет 2 уровня представлений – декларативный и интерпретационный. 1 – классы и имя, 2 – мн-во возможных значений. Модель представления знаний, основанная на базе ленем, предназначена для ситуаций, когда необходимо выполнить противоречивые требования, заданные при разработке языка представления знаний: 1) требования максимальной простоты и однородности языка; 2) требования удобства. Ленема очень напоминает фрейм, но сходство между ними чисто внешнее. Ленемы представляют собой смешенный тип модели, являющийся как бы «развитием» других моделей. Ленема предназначена для структурного комплексного описания понятий предметной области. По изобразительным возможностям ленемы более совершенны, чем такие традиционные модели представления знаний, как сематическая сеть, фрейм, система продукций. Однако, для некоторых понятий модель представления знаний на основе ленем может быть неудобной и даже неприемлемой. Например, это такие понятия, в описании которых очень большую роль играет внутренняя динамика. Модель, созданная на базе ленем, позволяет объединить на пользовательском уровне три существующие в настоящее время парадигмы представления знаний: 1. логическую; 2. структурную (сематические сети и фреймы); 3. процедурную. Для некоторых ситуаций это очень удобно, так как при реализации сложных моделей, включающих знания различных типов, возникает необходимость совмещения в одном языке представления знаний различных концепций. Ленема включает следующие компоненты (поля): имя, иерархический контекст, определитель, отрицательный определитель, интерпретацию, оболочку, функциональную схему оболочки, модель. Поле "имя" указывает некоторый класс и переменную, принадлежащую данному классу, например, имя: животное х Поле "иерархический контекст" определяет родо-видовые отличия данного класса, например: иер_контекст: млекопитающее, имеет-шерсть, четвероногое, домашнее. Поле "определитель" и "отрицательный определитель" содержат отличительные особенности, которыми обладает или (не обладает в случае отрицательного определителя) представитель данного класса. Например, n_опред: о6ладает_развитым_о6онянием; быстро_обучается; о_опред: летает; нападает_на_человека. Поле "интерпретация" содержит описание домена, представляющего множество объектов данного класса, например, интерпрет.: овчарка, дворняга, шпиц, такса, бульдог Поле "оболочка" представляет множество слотов и служит для описания характеристик объектам процедур, связанных с его функционированием. 16. Нейронные сети. Основные положения Сети бывают: Программного исполнения (программная эмуляция) и Аппаратного исполнения (плата) Рассматриваем только программного исполнения. Общие черты: в основе – искусственный нейрон 𝑋 – входы 𝑤1 . . 𝑤𝑛 – синапсы, характеризующиеся весом. S – состояние нейрона Y – выход (функция состояния) Вес синапса – аналог электропроводимости реального синапса. F – активационная функция, может быть разной. Наиболее распространены: 1) Функция единичного скачка 2) Линейный порог (гистерезис) 3) Гиперболический тангенс 4) Сигмоидальная 𝐹(𝑥) = 1 1 + 𝑒 −𝛼𝑥 α = 0 – горизонтальная линия 0,5 α → ∞ стремится к единичному скачку с Т=0 Гиперболический тангенс – легко дифференцируется на всей оси абсцисс. Гипербол.тангенс и гистерезис усиливают слабые сигналы лучше, чем сильные. Нейронным сетям присущ принцип параллельной обработки сигналов. Один нейрон не решает задачи. Но их можно объединить в слой, а несколько слоев – в большую сеть. Однослойный перцептрон из 3-х нейронов: 𝑛 𝑦𝑗 = 𝑓 [∑ 𝑥𝑖 𝑤𝑖𝑗 ] ; 𝑗 = 1, 3 𝑖=1 Y = F (X * W) – в матричном виде. Число слоев ограничено ресурсами. Синтез новой конфигурации: представить в виде Черного ящика, так получим кол-во входов и выходов. Достаточно ли будет одного слоя? Можно ли обойтись одним слоем на входе и одним слоем на выходе? 17. Обучение Обучение нейронной сети – процесс нахождения оптимальных значений весовых коэффициентов, калибровка связей. Два метода обучения: с учителем и без него. 1) Есть некий набор тестовых значений Х и эталонных значений У. Сравниваем реальный Y с эталонным, производим корректировку сигналов с учетом разницы (Y – Yэт.) 2) Весовые коэффициенты меняются на основе входных сигналов и значений синапсов на текущей итерации. Алгоритмы обучения: детерминистические и стохастические. 1) Жесткая последовательность действий. 2) Обучение на основе действия, подчиняющегося некоему случайному процессу. Классификация нейронных сетей: Бинарные (напр. единичный скачок) Аналоговые (напр. сигмоид, гистерезис – значения в некотором диапазоне) или Синхронные – в каждый момент времени свое состояние меняет лишь один нейрон. Асинхронные – состояния меняется сразу у группы нейронов. или однослойные двуслойные многослойные Состояние нейрона можно не только считать как сумму, можно возвести Х в квадрат. Добавляем к 𝑊 (1) 𝑊 (2) Если убрать F(S), получим 𝑊 𝛴 = 𝑊 (1) ∗ 𝑊 (2) ∗ … , а 𝑌 = 𝑋 ∗ 𝑊 𝛴 F(S) дает нелинейность исполнения. 𝑆 = ∑𝑛𝑖=1 𝑥𝑖2 𝑤𝑖 –дополнительная нелинейность. Параметр Т в функции единичного скачка может принимать произвольные значения, определяемые в процессе обучения. Порог единичного синапса можно подобрать, как и веса: Например, 𝑆 = ∑𝑛𝑖=1 𝑥𝑖 𝑤𝑖 − 𝑇 Или можно ввести фиктивный нейрон с 𝑥0 = 1 𝑤0 = −Т, тогда 𝑆 = ∑𝑛𝑖=0 𝑥𝑖 𝑤𝑖 Большинство нейронных сетей решают задачу классификации. 𝑥1 𝑤1 + 𝑥2 𝑤2 = Т – прямая делит пространство объектов (решений) на части. Но это не всегда возможно. Например, решить задачу XOR одним нейроном невозможно (проблема исключающего или). Необходимо минимум 2 слоя. 18. Алгоритм обучения с учителем Функция, которая не может быть решена однослойной сетью, называется линейно неразделимой. Алгоритм обучения сети из одного слоя. Есть тестовый набор 𝑋̅ и 𝑌̅. Изначальные веса 𝑤𝑖𝑗 задаются случайным образом. Обучение представляет собой подгонку весов. Этап 1. Инициализация элементов весовой матрицы небольшими случайными значениями Этап 2. Подать на входы один из входных векторов, которые сеть должна научиться различать, и вычислить ее выход 𝑆𝑗 = 𝑥𝑖 𝑤𝑖𝑗 , 𝑦𝑖 = 𝐹(𝑆𝑗 ) Этап 3. Если выход получили правильный, переходим к пункту 4. Иначе – вычисляем разницу м/у идеальным и полученным значением выхода 𝛿 = 𝑌𝐼 − 𝑌 Необходимо скорректировать веса: 𝑤𝑖𝑗 (𝑡 + 1) = 𝑤𝑖𝑗 (𝑡) + 𝜈𝛿𝑥𝑖 t – текущая итерация обучения, 𝜈 – коэффициент скорости обучения (0…1), j – номер условия, i – номер входа. 𝑌𝐼 > 𝑌 𝛿 > 0 => 𝑤𝑖𝑗 − увеличивается => ошибка уменьшается 𝑌𝐼 < 𝑌 𝛿 < 0 => 𝑤𝑖𝑗 − уменьшается => ошибка увеличивается Этап 4. Цикл с этапом 2, пока сеть не перестает ошибаться. Правило: На втором шаге на разных итерациях поочередно в случайном порядке предъявляются все возможные входные вектора. 19. Нейронные сети. Алгоритм обратного распространения Полносвязные НС – в которых каждый нейрон произвольного слоя связан со всеми функциональными нейронами предыдущего слоя или, в случае первого слоя, со всеми входами сети. Динамическая подстройка весовых коэффициентов синапсов: выбираются, как правило, наиболее слабые связи и изменяются на малую величину, а сохраняются только те изменения, которые повлекли уменьшение ошибки на выходе сети. Разработка наборов выходных сигналов, соответствующих входным для каждого слоя нейронной сети. Распространение сигналов ошибки от выходов нейронной сети к её входам в направлении, обратном прямому распространению сигналов в обычных режимах работы. 𝐸(𝑤) = 1 2 ∑𝑗,𝑝(𝑦𝑗𝑝 (𝑁) − 𝑑𝑗𝑝 )2 - целевая функция, которую требуется минимизировать. 𝑦𝑗𝑝 (𝑁) - реальное выходное состояние нейрона j слоя N (выходного) на её вход образа p 𝑑𝑗𝑝 - идеальное выходное состояние этого нейрона. Суммирование происходит и по выходным нейронам и по образам. Поиск минимума производится методом обратного спуска. Подстройка весовых коэффициентов осуществляется в следующем виде: 𝜕𝐸 ∆𝑤𝑖𝑗 (𝑁 ) = 𝜂 𝜕𝑤 ; 𝑤𝑖𝑗 – весовой коэффициент связи, соединяющей i-й нейрон слоя n-1 с j-ым 𝑖𝑗 нейроном слоя n. 𝜂 - коэффициент скорости обучения (0…1) 𝜕𝑤𝑖𝑗 = 𝜕𝐸 𝜕𝑦𝑗 𝜕𝑦 𝜕𝑆 × 𝜕𝑆 𝑗 × 𝜕𝑤𝑗 ; 𝑦𝑗 – выход нейрона j, 𝑆𝑗 - взвешенная сумма входных сигналов 𝑗 𝑖𝑗 нейрона j (аргумент активационной функции) Для гиперболического тангенса: 𝑑𝑦 (𝑛−1) 2 𝜕𝑆𝑗 = 1 − 𝑆 ; 𝜕𝑤 = 𝑦𝑖 - выход нейрона предыдущего слоя 𝑑𝑆 𝑖𝑗 𝜕𝐸 𝜕𝑦𝑗 = ∑𝑘 𝜕𝐸 𝜕𝑦𝑘 ∗ 𝑑𝑦𝑘 𝑑𝑆𝑘 ∗ 𝜕𝑆𝑘 𝜕𝑦𝑗 = ∑𝑘 𝜕𝐸 𝜕𝑦𝑘 ∗ 𝑑𝑦𝑘 𝑑𝑆𝑘 (𝑛+1) ∗ 𝑤𝑗𝑘 - суммирование по k выполняется среди n+1 слоя 𝑑𝑦 𝜕𝐸 Вводится новая переменная: 𝛿𝑗 = 𝜕𝑦 ∗ 𝑑𝑆 𝑗 Получим рекурсивную формулу для расчёта 𝑗 величин 𝛿𝑗 (𝑛) слоя из величин 𝛿𝑗 Выходной слой 𝛿𝑙 (𝑁) = (𝑛+1) (𝑁) (𝑦𝑙 𝑗 ( ) 𝑑𝑦 более старшего слоя. 𝛿𝑗 (𝑛) = [∑𝑘 𝛿𝑘 (𝑛+1) ∗ 𝑤𝑗𝑘𝑛+1 ] ∗ 𝑑𝑆𝑗 𝑗 𝑑𝑦𝑗 − 𝑑𝑙 ) 𝑑𝑆 можно записать как ∆𝑤𝑖𝑗 = 𝑗 (𝑛) −𝜂𝛿𝑗 ∗ (𝑛−1) 𝑦𝑖 (𝑛) (𝑛−1) ∆𝑤𝑖𝑗 (𝑛) (𝑡) = −𝜂(𝜇 ∗ ∆𝑤𝑖𝑗 (𝑛) (𝑡 − 1) + (1 − 𝜇)𝛿𝑗 ∗ 𝑦𝑖 ), где μ − коэфциент инерционности, t-номер текущей итерации. Алгоритм обратного распространения: 1.Подать образ на вход, рассчитать выход. M-число нейронов в слое n-1 (с учетом нейрона с постоянным выходным состоянием +1). - q-ая компонента вектора входного образа. 2.Рассчитать ẟ выходного слоя. Рассчитать изменения весов ∆𝑤 (𝑁) слоя N 3.Рассчитать 𝛿𝑙 (𝑛) и ∆𝑤 (𝑛) для всех оставшихся слоев n=N-1,…,1 4.Скорректировать все веса нейронной сети 𝑤𝑖𝑗 (𝑛) (𝑡) = (𝑤𝑖𝑗 (𝑛) (𝑡 − 1) + ∆𝑤𝑖𝑗 (𝑛) (𝑡)). 5.Если ошибка сети большая, то к шагу 1, иначе – конец. На шаге 1 использовать разные образы. Проблема алгоритма обратного распространения: Ошибочно подавать последовательно образы, лучше делать это случайно. Это позволит не забыть одни образы по мере запоминания других. Для повышения эффективности: Более 2х внутренних слоев не нужно. Сd - емкость(количество образов для распознавания). Узкие места алгоритма: 1.Большие + и – значения весов сместят рабочую точку сигмоидов многих нейронов в область насыщения. Малые величины производных от функции ẟ приведут к остановке обучения. 2.Недостаток градиентного метода – не дает гарантии, что будет найден глобальный, а не локальный минимум целевой функции. Можно кратковременно увеличивать коэффициент обучения и следить за найденными минимумами. Если они одни и те же, то это глобальный минимум. Программирование НС: 1) матричная алгебра 2)ООП Классическая иерархия: BP означает что речь идет о сетях с обратным распространением. FF – прямопоточная нейронная сеть Layer – слой нейронов NetBP – целиком сеть В основе иерархи положен вес синапсов 20. Нейронные сети обучения без учителя. Процесс обучения – подстраивание весов синапсов. Подстройка может производиться только на основании информации, доступной нейрону, т.е. его состояния и текущих весов. 1.Алгоритм Хебба: При обучении по сигнальному методу усиливаются связи между возбужденными нейронами. При дифференциальном – сильнее всего обучаются синапсы, соединяющие те нейроны, входы которых наиболее динамично изменились в сторону увеличения. Полный алгоритм обучения с применением вышеприведенных формул будет выглядеть так: 1. На стадии инициализации всем весовым коэффициентам присваиваются небольшие случайные значения. 2. На входы сети подается входной образ, и сигналы возбуждения распространяются по всем слоям согласно принципам классических прямопоточных (feedforward) сетей[1], то есть для каждого нейрона рассчитывается взвешенная сумма его входов, к которой затем применяется активационная (передаточная) функция нейрона, в результате чего получается его выходное значение yi(n), i=0...Mi-1, где Mi – число нейронов в слое i; n=0...N-1, а N – число слоев в сети. 3. На основании полученных выходных значений нейронов по формуле (1.20) или (1.21) метода Хебба производится изменение весовых коэффициентов. 4. Цикл с шага 2, пока выходные значения сети не застабилизируются с заданной точностью. Применение этого нового способа определения завершения обучения, отличного от использовавшегося для сети обратного распространения, обусловлено тем, что подстраиваемые значения синапсов фактически не ограничены. На втором шаге цикла попеременно предъявляются все образы из входного набора. Следует отметить, что вид откликов на каждый класс входных образов не известен заранее и будет представлять собой произвольное сочетание состояний нейронов выходного слоя, обусловленное случайным распределением весов на стадии инициализации. Вместе с тем, сеть способна обобщать схожие образы, относя их к одному классу. Тестирование обученной сети позволяет определить топологию классов в выходном слое. Для приведения откликов обученной сети к удобному представлению можно дополнить сеть одним слоем, который, например, по алгоритму обучения однослойного перцептрона необходимо заставить отображать выходные реакции сети в требуемые образы. 2. Другой алгоритм обучения без учителя – алгоритм Кохонена – предусматривает подстройку синапсов на основании их значений от предыдущей итерации. (3) Из вышеприведенной формулы видно, что обучение сводится к минимизации разницы между входными сигналами нейрона, поступающими с выходов нейронов предыдущего слоя yi(n-1), и весовыми коэффициентами его синапсов. Полный алгоритм обучения имеет примерно такую же структуру, как в методах Хебба, но на шаге 3 из всего слоя выбирается нейрон, значения синапсов которого максимально походят на входной образ, и подстройка весов по формуле (3) проводится только для него. Эта, так называемая, аккредитация может сопровождаться затормаживанием всех остальных нейронов слоя и введением выбранного нейрона в насыщение. Выбор такого нейрона может осуществляться, например, расчетом скалярного произведения вектора весовых коэффициентов с вектором входных значений. Максимальное произведение дает выигравший нейрон. Другой вариант – расчет расстояния между этими векторами в p-мерном пространстве, где p – размер векторов. , (4) где j – индекс нейрона в слое n, i – индекс суммирования по нейронам слоя (n-1), wij – вес синапса, соединяющего нейроны; выходы нейронов слоя (n-1) являются входными значениями для слоя n. Корень в формуле (4) брать не обязательно, так как важна лишь относительная оценка различных Dj. В данном случае, "побеждает" нейрон с наименьшим расстоянием. Иногда слишком часто получающие аккредитацию нейроны принудительно исключаются из рассмотрения, чтобы "уравнять права" всех нейронов слоя. Простейший вариант такого алгоритма заключается в торможении только что выигравшего нейрона. При использовании обучения по алгоритму Кохонена существует практика нормализации входных образов, а так же – на стадии инициализации – и нормализации начальных значений весовых коэффициентов. , (5) где xi – i-ая компонента вектора входного образа или вектора весовых коэффициентов, а n – его размерность. Это позволяет сократить длительность процесса обучения. Инициализация весовых коэффициентов случайными значениями может привести к тому, что различные классы, которым соответствуют плотно распределенные входные образы, сольются или, наоборот, раздробятся на дополнительные подклассы в случае близких образов одного и того же класса. Для избежания такой ситуации используется метод выпуклой комбинации[3]. Суть его сводится к тому, что входные нормализованные образы подвергаются преобразованию: , (6) где xi – i-ая компонента входного образа, n – общее число его компонент, a (t) – коэффициент, изменяющийся в процессе обучения от нуля до единицы, в результате чего вначале на входы сети подаются практически одинаковые образы, а с течением времени они все больше сходятся к исходным. Весовые коэффициенты устанавливаются на шаге инициализации равными величине , (7) где n – размерность вектора весов для нейронов инициализируемого слоя. На основе рассмотренного выше метода строятся нейронные сети особого типа – так называемые самоорганизующиеся структуры – self-organizing feature maps (этот устоявшийся перевод с английского, на мой взгляд, не очень удачен, так как, речь идет не об изменении структуры сети, а только о подстройке синапсов). Для них после выбора из слоя n нейрона j с минимальным расстоянием Dj (4) обучается по формуле (3) не только этот нейрон, но и его соседи, расположенные в окрестности R. Величина R на первых итерациях очень большая, так что обучаются все нейроны, но с течением времени она уменьшается до нуля. Таким образом, чем ближе конец обучения, тем точнее определяется группа нейронов, отвечающих каждому классу образов. Обучение без учителя гораздо более чувствительно к выбору оптимальных параметров, нежели обучение с учителем: 1. Качество обучения сильно зависит от начальных величин синапсов. 2. Обучение критично к выбору радиуса обучения и скорости его изменения. 3. Важен характер изменения собственно коэффициента обучения. В связи с этим, пользователю скорее всего придётся предварительную работу по выбору оптимальных параметров по обучению сети. 21. Задачки Сложение и вычитание логическое Пример решения задачи XOR - исключающего ИЛИ Суть задачи заключаются в следующем. Дана логическая функция XOR – исключающее ИЛИ. Это функция от двух аргументов, каждый из которых может быть нулем или единицей. Она принимает значение , когда один из аргументов равен единице, но не оба, иначе . Проблему можно проиллюстрировать с помощью однослойной однонейронной системы с двумя входами, показанной на рисунке ниже. Обозначим один вход через , а другой через , тогда все их возможные комбинации будут состоять из четырех точек на плоскости. Таблица ниже показывает требуемую связь между входами и выходом, где входные комбинации, которые должны давать нулевой выход, помечены и , единичный выход – и . Значение Требуемый выход 0 0 0 1 0 1 0 1 1 1 1 0 Точки Значение Один нейрон с двумя входами может сформировать решающую поверхность в виде произвольной прямой. Для того, чтобы сеть реализовала функцию XOR, заданную таблицей выше, нужно расположить прямую так, чтобы точки были с одной стороны прямой, а точки – с другой. Попытавшись нарисовать такую прямую на рисунке ниже, убеждаемся, что это невозможно. Это означает, что какие бы значения ни приписывались весам и порогу, однослойная нейронная сеть неспособна воспроизвести соотношение между входом и выходом, требуемое для представления функции XOR. Однако функция XOR легко формируется уже двухслойной сетью, причем многими способами. Рассмотрим один из таких способов. Модернизуем сеть на рисунке, добавив еще один скрытый слой нейронов: Отметим, что данная сеть дана как есть, т.е. можно считать, что она уже обучена. Цифры над стрелками показывают значения синаптических весов. В качестве функции активации применим функцию единичного скачка с порогом , имеющую следующий график: Тогда результат работы такой нейронной сети можно представить в виде следующей таблицы: Значение Требуемый Точки Значение выход 0 0 0 0 0 0 1 0 1 1 0 1 0 1 1 0 1 1 1 1 0 0 0 0 Каждый из двух нейрон первого слоя формирует решающую поверхность в виде произвольной прямой (делит плоскость на две полуплоскости), а нейрон выходного слоя объединяет эти два решения, образуя решающую поверхность в виде полосы, образованной параллельными прямыми нейронов первого слоя : Нейронная сеть, используемая в этой статье для решения задачи XOR, примитивна и не использует всех возможностей многослойных сетей. Очевидно, что многослойные нейронные сети обладают большей представляющей мощностью, чем однослойные, только в случае присутствия нелинейности. А в данной сети применена пороговая линейная функция активации. Такую сеть нельзя будет обучить, например, применив алгоритм обратного распространения ошибки.