Определение ИИ.

advertisement
Определение ИИ.
Термин интеллект (intelligence) происходит от латинского intellectus — что означает ум, рассудок, разум; мыслительные
способности человека. Соответственно искусственный интеллект (artificial intelligence) — ИИ (AI) обычно толкуется как
свойство автоматических систем брать на себя отдельные функции интеллекта человека, например, выбирать и принимать
оптимальные решения на основе ранее полученного опыта и рационального анализа внешних воздействий.
Мы, в нашем курсе, интеллектом будем называть способность мозга решать (интеллектуальные) задачи путем приобретения,
запоминания и целенаправленного преобразования знаний в процессе обучения на опыте и адаптации к разнообразным
обстоятельствам.
В этом определении под термином "знания" подразумевается не только ту информацию, которая поступает в мозг через органы
чувств. Такого типа знания чрезвычайно важны, но недостаточны для интеллектуальной деятельности. Дело в том, что объекты
окружающей нас среды обладают свойством не только воздействовать на органы чувств, но и находиться друг с другом в
определенных отношениях. Ясно, что для того, чтобы осуществлять в окружающей среде интеллектуальную деятельность (или
хотя бы просто существовать), необходимо иметь в системе знаний модель этого мира. В этой информационной модели
окружающей среды реальные объекты, их свойства и отношения между ними не только отображаются и запоминаются, но и, как
это отмечено в данном определении интеллекта, могут мысленно "целенаправленно преобразовываться". При этом существенно
то, что формирование модели внешней среды происходит "в процессе обучения на опыте и адаптации к разнообразным
обстоятельствам".
Тест Тьюринга.
Тест Тьюринга — эмпирический тест, идея которого была предложена Аланом Тьюрингом в статье «Вычислительные машины и
разум», опубликованной в 1950. Тьюринг задался целью определить, может ли машина мыслить.Стандартная интерпретация
этого теста звучит следующим образом: «Человек взаимодействует с одним компьютером и одним человеком. На основании
ответов на вопросы он должен определить, с кем он разговаривает: с человеком или компьютерной программой. Задача
компьютерной программы — ввести человека в заблуждение, заставив сделать неверный выбор».Все участники теста не видят
друг друга. Если судья не может сказать определенно, кто из собеседников является человеком, то считается, что машина прошла
тест. Чтобы протестировать именно интеллект машины, а не её возможность распознавать устную речь, беседа ведется в режиме
«только текст», например, с помощью клавиатуры и экрана (компьютера-посредника). Переписка должна производиться через
контролируемые промежутки времени, чтобы судья не мог делать заключения исходя из скорости ответов. Во времена Тьюринга
компьютеры реагировали медленнее человека. Сейчас это правило необходимо, потому что они реагируют гораздо быстрее, чем
человек.По состоянию на 2009 год ни одна из существующих компьютерных систем не приблизилась к прохождению теста.
Варианты теста Тьюринга
Имитационная игра согласно описанию Тьюринга в статье «Вычислительные машины и разум». Игрок С путем задания серии
вопросов пытается определить, кто из двух других игроков — мужчина, а кто — женщина. Игрок А, мужчина, пытается запутать
игрока С, а игрок В пытается помочь С.
Первоначальный тест на основе имитационной игры, в котором вместо игрока А играет компьютер. Компьютер теперь должен
запутать игрока С, в то время как игрок В продолжает пытаться помочь ведущему.Существуют, по крайней мере, три основных
варианта теста Тьюринга, два из которых были предложны в статье «Вычислительные машины и разум», а третий вариант, по
терминологии Саула Трейджера (Saul Traiger), является стандартной интерпретацией.
Наряду с тем, что существует определенная дискуссия, соответствует ли современная интерпретация тому, что описывал
Тьюринг, либо она является результатом неверного толкования его работ, все три версии не считаются равносильными, их
сильные и слабые стороны различаются.
Имитационная игра
Тьюринг, как мы уже знаем, описал простую игру для вечеринок, которая включает в себя минимум трех игроков. Игрок А —
мужчина, игрок В — женщина и игрок С, который играет в качестве ведущего беседу, любого пола. По правилам игры С не
видит ни А, ни В и может общаться с ними только посредством письменных сообщений. Задавая вопросы игрокам А и В, С
пытается определить, кто из них — мужчина, а кто — женщина. Задачей игрока А является запутать игрока С, чтобы он сделал
неправильный вывод. В то же время задачей игрока В является помочь игроку С вынести верное суждение.
В той версии, которую С. Г. Стеррет (S. G. Sterret) называет «Первоначальный тест на основе имитационной игры» (Original
Imitation Game Test), Тьюринг предлагает, чтобы роль игрока А исполнял компьютер. Таким образом, задачей компьютера
является притвориться женщиной, чтобы сбить с толку игрока С. Успешность выполнения подобной задачи оценивается на
основе сравнения исходов игры, когда игрок А — компьютер, и исходов, когда игрок А — мужчина. Если, по словам Тьюринга,
«ведущий беседу игрок после проведения игры [с участием компьютера] выносит неверное решение так же часто, как и после
проведения игры с участием мужчины и женщины», то можно говорить о том, что компьютер разумен.
Второй вариант предложен Тьюрингом в той же статье. Как и в «Первоначальном тесте», роль игрока А исполняет компьютер.
Различие заключается в том, что роль игрока В может исполнять как мужчина, так и женщина.
«Давайте рассмотрим конкретный компьютер. Верно ли то, что модифицируя этот компьютер с целью иметь достаточно места
для хранения данных, увеличивая скорость его работы и задавая ему подходящую программу, можно сконструировать такой
компьютер, чтобы он удовлетворительно выполнял роль игрока А в имитационной игре, в то время как роль игрока В выполняет
мужчина?», — Тьюринг, 1950, стр. 442.
В этом варианте оба игрока А и В пытаются склонить ведущего к неверному решению.
Стандартная интерпретация
Главной мыслью данной версии является то, что целью теста Тьюринга является ответ не на вопрос, может ли машина одурачить
ведущего, а на вопрос, может ли машина имитировать человека или нет. Несмотря на то, что идут споры о том, подразумевался
ли этот вариант Тьюрингом или нет, Стеррет считает, что этот вариант Тьюрингом подразумевался и, таким образом, совмещает
второй вариант с третьим. В это же время группа оппонентов, включая Трейджера, так не считает. Но это все равно привело к
тому, что можно назвать «стандартной интерпретацией». В этом варианте игрок А — компьютер, игрок В — человек любого
пола. Задачей ведущего является теперь не определить кто из них мужчина и женщина, а кто из них компьютер, а кто — человек.
Имитационная игра в сравнении со стандартным тестом Тьюринга
Существуют разногласия по поводу того, какой же вариант имел в виду Тьюринг. Стеррет настаивает на том, что из работы
Тьюринга следуют два различных варианта теста, которые, согласно Тьюрингу, неэквивалентны друг другу. Тест, в котором
используется игра для вечеринок и сравнивается доля успехов, называется Первоначальным тестом на основе имитационной
игры, в то время как тест, основанный на беседе судьи с человеком и машиной, называют Стандартным тестом Тьюринга,
отмечая, что Стеррет приравнивает его к стандартной интерпретации, а не ко второму варианту имитационной игры.
Стеррет согласен, что Стандартный тест Тьюринга (STT — Standard Turing Test) имеет недостатки, на которые указывает его
критика. Но он считает, что напротив первоначальный тест на основе имитационной игры (OIG Test — Original Imitation Game
Test) лишен многих из них в силу ключевых различий: в отличие от STT он не рассматривает поведение, похожее на
человеческое, в качестве основного критерия, хотя и учитывает человеческое поведение в качестве признака разумности
машины. Человек может не пройти тест OIG, в связи с чем есть мнение, что это является достоинством теста на наличие
интеллекта. Неспособность пройти тест означает отсутствие находчивости: в тесте OIG по определению считается, что интеллект
связан с находчивостью и не является просто «имитацией поведения человека во время разговора». В общем виде тест OIG
можно даже использовать в невербальных вариантах.
Тем не менее, другие писатели интерпретировали слова Тьюринга, как предложение считать саму имитационную игру тестом.
Причем не объясняется, как связать это положение и слова Тьюринга о том, что тест, предложенный им на основе игры для
вечеринок, базируется на критерии сравнительной частоты успехов в этой имитационной игре, а не на возможности выиграть
раунд игры.
Основные предметные области ИИ.
Подходы и направления
Тест Тьюринга
Эмпирический тест, идея которого была предложена Аланом Тьюрингом в статье «Вычислительные машины и разум» (англ.
Computing Machinery and Intelligence), опубликованной в 1950 году в философском журнале «Mind». Целью данного теста
является определение возможности искусственного мышления близкого к человеческому.
Стандартная интерпретация этого теста звучит следующим образом: «Человек взаимодействует с одним компьютером и одним
человеком. На основании ответов на вопросы он должен определить, с кем он разговаривает: с человеком или компьютерной
программой. Задача компьютерной программы — ввести человека в заблуждение, заставив сделать неверный выбор». Все
участники теста не видят друг друга.
Когнитивное моделирование
Методология когнитивного моделирования предназначена для анализа и принятия решений в плохо определенных ситуациях.
Была предложена Аксельродом [Axelrod R. The Structure of Decision: Cognitive Maps of Political Elites. — Princeton. University
Press, 1976]. Основана на моделировании субъективных представлений экспертов о ситуации и включает: методологию
структуризации ситуации: модель представления знаний эксперта в виде знакового орграфа (когнитивной карты) (F, W), где F —
множество факторов ситуации, W — множество причинно-следственных отношений между факторами ситуации; методы
анализа ситуации. В настоящее время методология когнитивного моделирования развивается в направлении совершенствования
аппарата анализа и моделирования ситуации. Здесь предложены модели прогноза развития ситуации; методы решения обратных
задач.
Логический подход
Логический подход к созданию систем искусственного интеллекта направлен на создание экспертных систем с логическими
моделями баз знаний с использованием языка предикатов.
Учебной моделью систем искусственного интеллекта в 1980-х годах был принят язык и система логического программирования
Пролог.
Базы знаний, записанные на языке Пролог, представляют наборы фактов и правил логического вывода, записанных на языке
логических предикатов с использованием лексики русского языка, хорошо понятного русским, казахам, украинцам — всем
русскоязычным людям. Известны случаи написания программ и баз знаний с использованием русскоязычных интерпретаторов
Пролога на казахском языке.
Логическая модель баз знаний позволяет записывать не только конкретные сведения и данные в форме фактов на языке Пролог,
но и обобщенные сведения с помощью правил и процедур логического вывода и в том числе логических правил определения
понятий, выражающих определённые знания как конкретные и обобщенные сведения.
В целом исследования проблем искусственного интеллекта в информатике в рамках логического подхода к проектированию баз
знаний и экспертных систем направлено на создание, развитие и эксплуатацию интеллектуальных информационных систем,
включая вопросы обучения студентов и школьников, а также подготовки пользователей и разработчиков таких
интеллектуальных информационных систем.
Агентно-ориентированный подход
Последний подход, развиваемый с начала 1990-х годов называется агентно-ориентированным подходом, или подходом,
основанным на использовании интеллектуальных (рациональных) агентов. Согласно этому подходу, интеллект — это
вычислительная часть (грубо говоря, планирование) способности достигать поставленных перед интеллектуальной машиной
целей. Сама такая машина будет интеллектуальным агентом, воспринимающим окружающий его мир с помощью датчиков и
способной воздействовать на объекты в окружающей среде с помощью исполнительных механизмов.
Этот подход акцентирует внимание на тех методах и алгоритмах, которые помогут интеллектуальному агенту выживать в
окружающей среде при выполнении его задачи. Так, здесь значительно сильнее изучаются Алгоритмы поиска и принятия
решений.
Другие подходы
Интуитивные
* Самый общий подход предполагает, что ИИ будет способен проявлять поведение, не отличающееся от человеческого,
причём, в нормальных ситуациях. Эта идея является обобщением подхода теста Тьюринга, который утверждает, что машина
станет разумной тогда, когда будет способна поддерживать разговор с обычным человеком, и тот не сможет понять, что говорит
с машиной (разговор идёт по переписке).
* Писатели-фантасты часто предлагают ещё один подход: ИИ возникнет тогда, когда машина будет способна чувствовать и
творить. Так, хозяин Эндрю Мартина из «Двухсотлетнего человека» начинает относиться к нему как к человеку, когда тот
создаёт игрушку по собственному проекту. А Дейта из Звёздного пути, будучи способным к коммуникации и научению, мечтает
обрести эмоции и интуицию.
Направления исследований
Символьное моделирование мыслительных процессов
Анализируя историю ИИ, можно выделить такое обширное направление как моделирование рассуждений. Долгие годы развитие
этой науки двигалось именно по этому пути, и теперь это одна из самых развитых областей в современном ИИ. Моделирование
рассуждений подразумевает создание символьных систем, на входе которых поставлена некая задача, а на выходе требуется её
решение. Как правило, предлагаемая задача уже формализована, то есть переведена в математическую форму, но либо не имеет
алгоритма решения, либо он слишком сложен, трудоёмок и т. п. В это направление входят: доказательство теорем, принятие
решений и теория игр, планирование и диспетчеризация, прогнозирование.
Работа с естественными языками
Немаловажным направлением является обработка естественного языка, в рамках которого проводится анализ возможностей
понимания, обработки и генерации текстов на «человеческом» языке. В частности, здесь ещё не решена проблема машинного
перевода текстов с одного языка на другой. В современном мире большую роль играет разработка методов информационного
поиска. По своей природе, оригинальный тест Тьюринга связан с этим направлением.
Накопление и использование знаний
Согласно мнению многих учёных, важным свойством интеллекта является способность к обучению. Таким образом, на первый
план выходит инженерия знаний, объединяющая задачи получения знаний из простой информации, их систематизации и
использования. Достижения в этой области затрагивают почти все остальные направления исследований ИИ. Здесь также нельзя
не отметить две важные подобласти. Первая из них — машинное обучение — касается процесса самостоятельного получения
знаний интеллектуальной системой в процессе её работы. Второе связано с созданием экспертных систем — программ,
использующих специализированные базы знаний для получения достоверных заключений по какой-либо проблеме.
К области машинного обучения относится большой класс задач на распознавание образов. Например, это распознавание
символов, рукописного текста, речи, анализ текстов. Многие задачи успешно решаются с помощью биологического
моделирования (см. след. пункт). Особо стоит упомянуть компьютерное зрение, которое связано ещё и с робототехникой.
Биологическое моделирование
«RNAFoldingAI» - проект разработки программного обеспечения молекулярного моделирования РНК, с элементами
искусственного интеллекта.
Большие и интересные достижения имеются в области моделирования биологических систем. Строго говоря, сюда можно
отнести несколько независимых направлений. Нейронные сети используются для решения нечётких и сложных проблем, таких
как распознавание геометрических фигур или кластеризация объектов. Генетический подход основан на идее, что некий
алгоритм может стать более эффективным, если позаимствует лучшие характеристики у других алгоритмов («родителей»).
Относительно новый подход, где ставится задача создания автономной программы — агента, взаимодействующего с внешней
средой, называется агентным подходом.
Робототехника
Вообще, робототехника и искусственный интеллект часто ассоциируется друг с другом. Интегрирование этих двух наук,
создание интеллектуальных роботов, можно считать ещё одним направлением ИИ.
Машинное творчество
Природа человеческого творчества ещё менее изучена, чем природа интеллекта. Тем не менее, эта область существует, и здесь
поставлены проблемы написания компьютером музыки, литературных произведений (часто — стихов или сказок),
художественное творчество. Создание реалистичных образов широко используется в кино и индустрии игр. Добавление данной
возможности к любой интеллектуальной системе позволяет весьма наглядно продемонстрировать что именно система
воспринимает и как это понимает. Добавлением шума вместо недостающей информации или фильтрация шума имеющимися в
системе знаниями производит из абстрактных знаний конкретные образы, легко воспринимаемые человеком, особенно это
полезно для интуитивных и малоценных знаний, проверка которых в формальном виде требует значительных умственных
усилий.
Другие области исследований
Наконец, существует масса приложений искусственного интеллекта, каждое из которых образует почти самостоятельное
направление. В качестве примеров можно привести программирование интеллекта в компьютерных играх, нелинейное
управление, интеллектуальные системы информационной безопасности.
Можно заметить, что многие области исследований пересекаются. Это свойственно для любой науки. Но в искусственном
интеллекте взаимосвязь между, казалось бы, различными направлениями выражена особенно сильно, и это связано с
философским спором о сильном и слабом ИИ.
Современный искусственный интеллект
ASIMO — Интеллектуальный гуманоидный робот от Honda
В настоящий момент в создании искусственного интеллекта (в первоначальном смысле этого слова, экспертные системы и
шахматные программы сюда не относятся) наблюдается интенсивное перемалывание всех предметных областей, имеющих хоть
какое-то отношение к ИИ, в базы знаний. Практически все подходы были опробованы, но к возникновению искусственного
разума ни одна исследовательская группа так и не подошла[4].
Исследования ИИ влились в общий поток технологий сингулярности (видового скачка, экспотенциального развития человека),
таких как информатика, экспертные системы, нанотехнология, молекулярная биоэлектроника, теоретическая биология, квантовая
теория(и), ноотропики, экстромофилы и т. д. см. ежедневный поток новостей Курцвейля[5], MIT[6].
Результаты разработок в области ИИ вошли в высшее и среднее образование России в форме учебников информатики, где теперь
изучаются вопросы работы и создания баз знаний, экспертных систем на базе персональных компьютеров на основе
отечественных систем логического программирования, а также изучения фундаментальных вопросов математики и информатики
на примерах работы с моделями баз знаний и экспертных систем в школах и вузах.
Применение искусственного интеллекта
Некоторые из самых впечатляющих гражданских ИИ систем:
* Deep Blue — победил чемпиона мира по шахматам. (Матч Каспаров против суперЭВМ не принёс удовлетворения ни
компьютерщикам, ни шахматистам и система не была признана Каспаровым, хотя оригинальные компактные шахматные
программы — неотъемлемый элемент шахматного творчества. Затем линия суперкомпьютеров IBM проявилась в проектах brute
force BluGene (молекулярное моделирование) и моделирование системы пирамидальных клеток в швейцарском центре Blue
Brain.[7] Данная история — пример запутанных и засекреченных отношений ИИ, бизнеса и национальных стратегических задач.)
* Mycin — одна из ранних экспертных систем, которая могла диагностировать небольшой набор заболеваний, причем часто
так же точно, как и доктора.
* 20Q — проект, основанный на идеях ИИ, по мотивам классической игры «20 вопросов». Стал очень популярен после
появления в Интернете на сайте 20q.net.[8]
* Распознавание речи. Системы такие как ViaVoice способны обслуживать потребителей.
* Роботы в ежегодном турнире RoboCup соревнуются в упрощённой форме футбола.
Банки применяют системы искусственного интеллекта (СИИ) в страховой деятельности (актуарная математика) при игре на
бирже и управлении собственностью. В августе 2001 года роботы выиграли у людей в импровизированном соревновании по
трейдингу (BBC News, 2001). Методы распознавания образов, (включая, как более сложные и специализированные, так и
нейронные сети) широко используют при оптическом и акустическом распознавании (в том числе текста и речи), медицинской
диагностике, спам-фильтрах, в системах ПВО (определение целей), а также для обеспечения ряда других задач национальной
безопасности.
Разработчики компьютерных игр вынуждены применять ИИ той или иной степени проработанности. Стандартными задачами
ИИ в играх
История развития ИИ.
Как и любая основополагающая наука "Искусственный интеллект" имеет достаточно богатую историю. Можно выделить как
теоретическую, так и экспериментальную части. Суть науки "Искусственный интеллект" лучше всего отражают слова "Дух в
машине", при этом не столь важно развитие отдельно понятий о машине и духе, как важно их сочетание. Но в то же время
понятно, что чем более развиты представления о машине, чем они более совершенны с одной стороны, и чем мы более знаем о
духе с другой стороны - тем о более скажем так мощном ИИ мы можем говорить. Но отличает науку "Искусственный интеллект"
от Вычислительной техники (Информатики) с одной стороны и от Медицины (Биологии) с другой - это именно связь одного с
другим. И только при наличии этой связи мы можем говорить о достижениях в области ИИ, а не отдельно в областях
Информатики или Биологии. Этому вопросу уделяется особенно большое значение в теоретической части, а для подтверждения
теорий как и в других науках используется эксперимент. Но исторически появление теорий и первых экспериментов всегда
разнесено во времени. Поэтому начала теории обычно относят к философии искусственного интеллекта, и только с появлением
первых экспериментов теория приобретает самостоятельное значение. Причем саму теорию "Искусственного интеллекта",
которая сейчас находится на рубеже с философией, не нужно совмещать с теорией математических, алгоритмических,
робототехнических, физиологических и прочих методов, которые имеют собственное значение в соответствующих науках.
Сейчас четкого различия между рядом связанных наук и собственно "Искусственным интеллектом" найти очень сложно, а тем
более различить теоретические и экспериментальный разделы науки. И здесь главную помощь может оказать история
становления и развития науки "Искусственный интеллект.
Философские предпосылки к возникновению науки
На саму возможность мыслить о понятии "Искусственный интеллект" огромное влияние оказало рождение механистического
материализма, которое начинается с работы Рене Декарта "Рассуждение о методе" (1637) и сразу в след за этим работы Томаса
Гоббса "Человеческая природа" (1640).
Рене Декарт предположил, что животное — некий сложный механизм, тем самым сформулировав механистическую теорию.
И тут важно понимать, чем отличается именно механистический материализм, от античного материализма, взгляды которого
запечатлены в работах Аристотеля, и последующего диалектического материализма (Гегель, Фейербах) и исторического
материализма (Карл Маркс, Фридрих Энгельс, В. И. Ленин). Дело в том, что механистический материализм направлен на
механистическое происхождение организмов, в то время как античный материализм направлен на механистическое
происхождение природы, а диалектический и исторический материализм относится к проявлениям механизма в обществе.
Поэтому понятно, что без понимания механистичности в организмах не могла идти речь о понимании искусственного интеллекта
даже в самом примитивном смысле, а наличие механистичности природы и общества выходят за рамки области об
искусственном интеллекте, и строго говоря не являются необходимыми предпосылками.
Технологические предпосылки к возникновению науки
В 1623 г. Вильгельм Шикард (нем. Wilhelm Schickard) построил первую механическую цифровую вычислительную машину, за
которой последовали машины Блеза Паскаля (1643) и Лейбница (1671). Лейбниц также был первым, кто описал современную
двоичную систему счисления, хотя до него этой системой периодически увлекались многие великие ученые. В XIX веке Чарльз
Бэббидж и Ада Лавлейс работали над программируемой механической вычислительной машиной.
Рождение науки
В 1910—1913 гг. Бертран Рассел и А. Н. Уайтхэд опубликовали работу «Принципы математики», которая произвела революцию
в формальной логике. В 1941 Конрад Цузе построил первый работающий программно-контролируемый компьютер. Уоррен
Маккалок и Уолтер Питтс в 1943 опубликовали A Logical Calculus of the Ideas Immanent in Nervous Activity, который заложил
основы нейронных сетей.
Классические работы
В 1943 году в своей статье «Логическое исчисление идей, относящихся к нервной активности» У. Мак-Каллок и У. Питтс
предложили понятие искусственной нейронной сети. В частности, ими была предложена модель искусственного нейрона. Д.
Хебб в работе «Организация поведения» 1949 года описал основные принципы обучения нейронов.
Эти идеи несколько лет спустя развил американский нейрофизиолог Фрэнк Розенблатт. Он предложил схему устройства,
моделирующего процесс человеческого восприятия, и назвал его «перцептроном».
Рациональный агент.
Рациональный агент — это агент, действующий оптимальным для достижения наилучшего ожидаемого результата образом.
Данный термин является одним из фундаментальных в экономике, теории игр, теории принятия решений и искусственном
интеллекте. Также, рациональные агенты изучаются в когнитивных науках, этике и философии, включая философию
практического смысла.
Рациональным агентом может быть любое действующие лицо принимающее решения. Как правило, это любое живое существо,
включая человека, группа людей, организация, робот или программа.
Понятие «рациональный агент» пришло в искусственный интеллект из экономики, и совершило в нём настоящую революцию,
объединив разрозненные на тот момент направления исследований. В настоящее время, в области ИИ, понятие «рациональный
агент» тесно связано с понятием «интеллектуальный агент».
Под термином интеллектуальный агент понимаются разумные сущности, наблюдающие за окружающей средой и действующие в
ней, при этом их поведение рационально в том смысле, что они способны к пониманию и их действия всегда направлены на
достижение какой-либо цели. Такой агент может быть как роботом, так и встроенной программной системой. Об
интеллектуальности агента можно говорить, если он взаимодействует с окружающей средой примерно так же, как действовал бы
человек. Робот Пылесос.
Типы рациональных агентов.
1.
2.
3.
4.
5.
Простые рефлексивные агенты – очень просты, очень надёжны, но ограниченный интеллект.
Агенты основанные на модели – предыдущие акты восприятия.
Агенты основанные на цели.
Агенты основанные на полезности.
Обучающиеся агенты.
Показатели производительности рациональных агентов.
Показатели производительности
Показатели производительности воплощают в себе критерии оценки успешного поведения агента. После погружения в среду
агент вырабатывает последовательность действий, соответствующих полученным им восприятиям. Эта последовательность
действий вынуждает среду пройти через последовательность состояний.
Если такая последовательность соответствует желаемому, то агент функционирует хорошо. Безусловно, что не может быть
одного постоянного показателя, подходящего для всех агентов. Можно было бы узнать у агента его субъективное мнение о том,
насколько он удовлетворен своей собственной производительностью, но некоторые агенты не будут способны ответить, а другие
склонны заниматься самообманом.
Поэтому необходимо упорно добиваться применения объективных показателей производительности, и, как правило,
проектировщик, конструирующий агента, предусматривает такие показатели. Рассмотрим агент-пылесос, описанный в
предыдущем разделе. Можно было бы предложить измерять показатели производительности по объему мусора, убранного за
одну восьмичасовую смену. Но, безусловно, имея дело с рациональным агентом, вы получаете то, что просите.
Рациональный агент может максимизировать такой показатель производительности, убирая мусор, затем вываливая весь его на
пол, затем снова убирая, и т.д. Поэтому более приемлемые критерии производительности должны вознаграждать агента за то, что
пол остается чистым. Например, одно очко могло бы присуждаться за каждый чистый квадрат в каждом интервале времени
(возможно, в сочетании со штрафом за потребляемую электроэнергию и создаваемый шум).
В качестве общего правила следует указать, что лучше всего разрабатывать показатели производительности в соответствии с тем,
чего действительно необходимо добиться в данной среде, а не в соответствии с тем, как, по мнению проектировщика, должен
вести себя агент.
Задача выбора показателей производительности не всегда является простой. Например, понятие «чистого пола», которое
рассматривалось выше, основано на определении усредненной чистоты пола во времени. Но необходимо также учитывать, что
одна и та же усредненная чистота может быть достигнута двумя различными агентами, один из которых постоянно, но
неторопливо выполняет свою работу, а другой время от времени энергично занимается очисткой, но делает длинные перерывы.
Может показаться, что определение того способа действий, который является в данном случае наиболее предпочтительным,
относится к тонкостям домоводства,но фактически это — глубокий философский вопрос с далеко идущими последствиями. Что
лучше — бесшабашная жизнь со взлетами и падениями или безопасное, но однообразное существование? Что лучше —
экономика, в которой каждый живет в умеренной бедности, или такая экономика, в которой одни ни в чем не нуждаются, а
другие еле сводят концы с концами? Оставляем задачу поиска ответов на эти вопросы в качестве упражнения для
любознательного читателя. Робот Пылесос.
Проблемные среды.
Определение проблемной среды
PEAS (Performance, Environment, Actuators, Sensors— производительность, среда, исполнительные механизмы, датчики).
Первый этап проектирования любого агента всегда должен состоять в определении проблемной среды с наибольшей возможной
полнотой.
Cоздание автоматизированного водителя такси.
Прежде чем читатель почувствует тревогу за безопасность будущих пассажиров. Полное решение проблемы вождения
автомобиля является чрезвычайно трудоемким, поскольку нет предела появлению все новых и новых комбинаций обстоятельств,
которые могут возникать в процессе вождения; это еще одна из причин, по которой мы выбрали данную проблему для
обсуждения. В таблице приведено итоговое описание PEAS для проблемной среды вождения такси.
Тип агента - Водитель такси
Показатели производительности - Безопасная, быстрая, комфортная езда в рамках ПДД, максимизация прибыли
Среда - Дороги, другие транспортные средства, пешеходы, клиенты
Исполнительные механизмы - Рулевое управление, акселератор, тормоз, световые сигналы, клаксон, дисплей
Датчики - Видеокамеры, ультразвуковой дальномер, спидометр, глобальная система навигации и определения положения,
одометр, акселерометр, датчики двигателя, клавиатура.
Прежде всего необходимо определить показатели производительности, которыми мы могли бы стимулировать деятельность
нашего автоматизированного водителя. К желаемым качествам относится успешное достижение нужного места назначения;
минимизация потребления топлива, износа и старения; минимизация продолжительности и/или стоимости поездки; минимизация
количества нарушений правил дорожного движения и помех другим водителям; максимизация безопасности и комфорта
пассажиров; максимизация прибыли. Безусловно, что некоторые из этих целей конфликтуют, поэтому должны рассматриваться
возможные компромиссы.
Затем рассмотрим, в чем состоит среда вождения, в которой действует такси. Любому водителю такси приходится иметь дело с
самыми различными дорогами, начиная с проселков и узких городских переулков и заканчивая автострадами с двенадцатью
полосами движения. На дороге встречаются другие транспортные средства, беспризорные животные, пешеходы, рабочие,
производящие дорожные работы, полицейские автомобили, лужи и выбоины. Водителю такси приходится также иметь дело с
потенциальными и действительными пассажирами. Кроме того, имеется еще несколько важных дополнительных факторов.
Таксисту может выпасть участь работать в Южной Калифорнии, где редко возникает такая проблема, как снег, или на Аляске,
где снега на дорогах не бывает очень редко. Может оказаться, что водителю всю жизнь придется ездить по правой стороне или от
него может потребоваться, чтобы он сумел достаточно успешно приспособиться к езде по левой стороне во время пребывания в
Британии или в Японии. Безусловно, чем более ограниченной является среда, тем проще задача проектирования.
Исполнительные механизмы, имеющиеся в автоматизированном такси, должны быть в большей или меньшей степени такими же,
как и те, которые находятся в распоряжении водителя-человека: средства управления двигателем с помощью акселератора и
средства управления вождением с помощью руля и тормозов. Кроме того, для него могут потребоваться средства вывода на
экран дисплея или синтеза речи для передачи ответных сообщений пассажирам и, возможно, определенные способы общения с
водителями других транспортных средств, иногда вежливого, а иногда и не совсем.
Для достижения своих целей в данной среде вождения таксисту необходимо будет знать, где он находится, кто еще едет по этой
дороге и с какой скоростью движется он сам. Поэтому в число его основных датчиков должны входить одна или несколько
управляемых телевизионных камер, спидометр и одометр. Для правильного управления автомобилем, особенно на поворотах, в
нем должен быть предусмотрен акселерометр; водителю потребуется также знать механическое состояние автомобиля, поэтому
для него будет нужен обычный набор датчиков для двигателя и электрической системы.
Автоматизированный водитель может также иметь приборы, недоступные для среднего водителя-человека: спутниковую
глобальную систему навигации и определения положения (Global Positioning System— GPS) для получения точной информации о
местонахождении по отношению к электронной карте, а также инфракрасные или ультразвуковые датчики для измерения
расстояний до других автомобилей и препятствий. Наконец, ему потребуется клавиатура или микрофон для пассажиров, чтобы
они могли указать место своего назначения.
Простые рефлексивные агенты.
Простейшим видом агента является простой рефлексный агент. Подобные агенты выбирают действия на основе текущего акта
восприятия, игнорируя всю остальную историю актов восприятия.
Простые рефлексные агенты характеризуются той замечательной особенностью, что они чрезвычайно просты, но зато обладают
весьма ограниченным интеллектом. Агент,работает, только если правильное решение может быть принято на основе
исключительно текущего восприятия, иначе говоря, только если среда является полностью наблюдаемой. Внесение даже
небольшой доли ненаблюдаемости может вызвать серьезное нарушение его работы.
Возникновение аналогичной проблемы можно обнаружить и в мире пылесоса. Предположим, что в простом рефлексном агентепылесосе испортился датчик местонахождения и работает только датчик мусора. Агент начинает биться о стены.
Выход из бесконечных циклов становится возможным, если агент обладает способностью рандомизировать свои действия
(вводить в них элемент случайности). Например, если агент-пылесос получает результат восприятия, то может подбросить
монету, чтобы выбрать между движениями. Легко показать, что агент достигнет другого квадрата в среднем за два этапа. Затем,
если в этом квадрате имеется мусор, то пылесос его уберет и задача очистки будет выполнена.
Поэтому рандомизированный простой рефлексный агент может превзойти по своей производительности детерминированного
простого рефлексного агента.
Стратегии неинформированного поиска.
Стратегии неинформированного поиска вырабатывают состояние приёмника без использования дополнительной информации,
могут отличить целевую информацию.
Поиск в ширину — это простая стратегия, в которой вначале развертывается корневой узел, затем — все преемники корневого
узла, после этого развертываются преемники этих преемников и т.д. Вообще говоря, при поиске в ширину, прежде чем
происходит развертывание каких-либо узлов на следующем уровне, развертываются все узлы на данной конкретной глубине в
дереве поиска.
b + b2 + b3 + . bd + (bd+1 - b) = O(bd+1) b – узлов, на глубине d
Поиск в глубину - при поиске в глубину всегда развертывается самый глубокий узел в текущей периферии дерева поиска. Ход
такого поиска показан на рисунке. Поиск непосредственно переходит на самый глубокий уровень дерева поиска, на котором узлы
не имеют преемников. По мере того как эти узлы развертываются, они удаляются из периферии, поэтому в дальнейшем поиск
«возобновляется» со следующего самого поверхностного узла, который все еще имеет
неисследованных преемников.
В наихудшем случае поиск в глубину формирует все O(bm) узлов в дереве поиска, где m —
максимальная глубина любого узла. Следует отметить, что т может оказаться гораздо
больше по сравнению с d (глубиной самого поверхностного решения) и является
бесконечным, если дерево имеет неограниченную глубину.
Поиск в глубину с ограничением глубины - проблему неограниченных деревьев можно
решить, предусматривая применение во время поиска в глубину заранее определенного
предела глубины L. Это означает, что узлы на глубине L рассматриваются таким образом,
как если бы они не имели преемников. Такой подход называется поиском с ограничением глубины.
Применение предела глубины позволяет решить проблему бесконечного пути. К сожалению, в этом подходе также вводится
дополнительный источник неполноты, если будет выбрано значение L<d, иными словами, если самая поверхностная цель
выходит
за
пределы
глубины.
(Такая
ситуация
вполне
вероятна,
если
значение
d
неизвестно.)
Двунапрвленный поиск - В основе двунаправленного поиска лежит такая идея, что
можно одновременно проводить два поиска (в прямом направлении, от начального
состояния, и в обратном направлении, от цели), останавливаясь после того, как два
процесса
поиска
встретятся
на
середине.
Дело в том, что значение bd/2 гораздо меньше, чем bd, или, как показано на этом
рисунке, площадь двух небольших кругов меньше площади одного большого круга с
центром в начале поиска, который охватывает цель поиска.
Поиск по критерию стоимости - При поиске по критерию стоимости учитывается не количество этапов, имеющихся в пути, а
только их суммарная стоимость. Поэтому процедура этого поиска может войти в бесконечный цикл, если окажется, что в ней
развернут узел, имеющий действие с нулевой стоимостью, которое снова указывает на то же состояние. Можно гарантировать
полноту поиска при условии, что стоимость каждого этапа больше или равна некоторой небольшой положительной константе ε.
Это условие является также достаточным для обеспечения оптимальности. Оно означает, что стоимость пути всегда возрастает
по мере прохождения по этому пути.
Поиск по критерию стоимости направляется с учетом стоимостей путей, а не значений глубины в дереве поиска, поэтому его
сложность не может быть легко охарактеризована в терминах b и d. Вместо этого предположим, что C — стоимость
оптимального решения, и допустим, что стоимость каждого действия составляет, по меньшей мере, ε.
Это означает, что временная и пространственная сложность этого алгоритма в наихудшем случае составляет O(b1+[c/8]), т.е. может
быть намного больше, чем b4. Это связано с тем, что процедуры поиска по критерию стоимости могут и часто выполняют
проверку больших деревьев, состоящих из мелких этапов, прежде чем перейти к исследованию путей, в которые входят крупные,
но, возможно, более полезные этапы. Безусловно, если все стоимости этапов равны, то выражение b 1+[c/8] равняется bd.
Понятие эвристики.
Эвристика - Функция узла f(n) характеризующее расстояние до цели. Эвристические методы применяют для моделирования
математических и игровых задач и для совершенствования работы компьютеров. Главное в эвристической про грамме - стратегия
поиска решений.
Жадный поиск - При жадном поиске по первому наилучшему совпадению предпринимаются попытки развертывания узла,
который рассматривается как ближайший к цели на том основании, что он со всей вероятностью должен быстро привести к
решению. Таким образом, при этом поиске оценка узлов производится с использованием только эвристической функции: f(n) =
h(n).
Поиск A* - Наиболее широко известная разновидность поиска по первому наилучшему совпадению называется поиском А*
(читается как «А звездочка»). В нем применяется оценка узлов, объединяющая в себе g(n), стоимость достижения данного узла, и
h(n), стоимость прохождения от данного узла до цели: f(n)=g(n)+h(n). Поскольку функция g(n) позволяет определить стоимость
пути от начального узла до узла n, а функция h(n) определяет оценку стоимости наименее дорогостоящего пути от узла п до цели,
то справедлива следующая формула: f(n) = оценка стоимости наименее дорогостоящего пути решения, проходящего
через узел n Таким образом, при осуществлении попытки найти наименее дорогостоящее решение, по-видимому, разумнее
всего вначале попытаться проверить узел с наименьшим значением g(n) + h(n). Как оказалось, данная стратегия является больше
чем просто разумной: если эвристическая функция h(n) удовлетворяет некоторым условиям, то поиск А* становится и полным, и
оптимальным.
Поиск в оперативном режиме - В действительности сам поиск с восхождением к вершине уже можно считать алгоритмом поиска
в оперативном режиме, поскольку предусматривает хранение в памяти только одного текущего состояния! К сожалению, в своей
простейшей форме этот алгоритм не очень полезен, так как оставляет агента в таком положении, что последний не может
покинуть локальный максимум и отправиться куда-то еще. Более того, в этом алгоритме не может использоваться перезапуск
случайным образом, поскольку агент не способен перенести самого себя в новое состояние.
Поиск с удовлетворением ограничений - Формально говоря, любая задача удовлетворения ограничений (Constraint Satisfaction
Problem— CSP) определена множеством переменных, X1, X2,…, Xn, и множеством ограничений, C1, C2,…, Cm. Каждая
переменная Xi имеет непустую область определения Di возможных значений. Каждое ограничение Ci включает некоторое
подмножество переменных и задает допустимые комбинации значений для этого подмножества. Состояние задачи определяется
путем присваивания значений некоторым или всем этим переменным, {Xi = vi, Xj = vj,...}. Присваивание, которое не нарушает
никаких ограничений, называется совместимым, или допустимым присваиванием. Полным называется такое присваивание, в
котором участвует аждая переменная, а решением задачи CSP является полное присваивание, которое довлетворяет всем
ограничениям. Кроме того, для некоторых задач CSP требуется найти решение, которое максимизирует целевую функцию.
Поиск в условиях противодействия игр - Каждый конкретный агент вынужден принимать во внимание действия других агентов и
устанавливать, как они повлияют на его собственное благополучие. Непредсказуемость действий этих прочих агентов может
потребовать в процессе решения задачи агентом учета многих возможных непредвиденных ситуаций. Наличие конкурентных
вариантов среды, в которых цели агентов конфликтуют, приводит к возникновению задач поиска в условиях противодействия,
часто называемых играми.
Например: “Альфа-бета-отсечение” – Лучшее враг хорошего. Общий случай: Если для Игрока узел m лучше чем п, то узел п
никогда не встретится в игре.
Характеристика языка Пролог.
Пролог (англ. Prolog) — язык и система логического программирования, основанные на языке предикатов математической
логики дизъюнктов Хорна, представляющей собой подмножество логики предикатов первого порядка.
Основными понятиями в языке Пролог являются факты, правила логического вывода и запросы, позволяющие описывать базы
знаний, процедуры логического вывода и принятия решений.
История
Разработка языка Prolog началась в 1970 г. Аланом Кулмероэ и Филиппом Русселом. Они хотели создать язык, который мог бы
делать логические заключения на основе заданного текста. Название Prolog является сокращением от "PROgramming in LOGic".
Этот язык был разработан в Марселе в 1972 г. Принцип резолюции Ковальского, сотрудника Эдинбургского университета,
казался подходящей моделью, на основе которой можно было разработать механизм логических выводов. С ограничением
резолюции на дизъюнкты Хорна унификация привела к эффективной системе, где неустранимый недетерминизм обрабатывался
с помощью процесса отката, который мог быть легко реализован. Алгоритм резолюции позволял создать выполняемую
последовательность, необходимую для реализации спецификаций, подобных приведенному выше отношению flight.
Первая реализация языка Prolog с использованием компилятора Вирта ALGOL-W была закончена в 1972 г., а основы
современного языка были заложены в 1973 г. Использование языка Prolog постепенно распространялось среди тех, кто занимался
логическим программированием, в основном благодаря личным контактам, а не через коммерциализацию продукта. В настоящее
время существует несколько различных, но довольно похожих между собой версий. Хотя стандарта языка Prolog не существует,
однако версия, разработанная в Эдинбургском университете, стала наиболее широко используемым вариантом. Недостаток
разработок эффективных приложений Prolog сдерживал его распространение вплоть до 1980 г.
Краткий обзор языка.
Программа на языке Prolog состоит из набора фактов, определенных отношений между объектами данных (фактами) и набором
правил (образцами отношений между объектами базы данных). Эти факты и правила вводятся в базу данных через операцию
consult. Для работы программы пользователь должен ввести запрос - набор термов, которые все должны быть истинны. Факты и
правила из базы данных используются для определения того, какие подстановки для переменных в запросе (называемые
унификацией) согласуются с информацией в базе данных.
Язык Prolog, как интерпретатор, приглашает пользователя вводить информацию. Пользователь набирает запрос или имя
функции. Выводится значение (истина - yes, или ложь - по) этого запроса, а также возможные значения переменных запроса,
присвоение которых делает запрос истинным (то есть унифицирует запрос). Если ввести символ ";", тогда отображается
следующий набор значений переменных, унифицирующий запрос, и так до тех пор, пока не исчерпается весь набор возможных
подстановок, после чего Prolog печатает no и ждет следующего запроса. Возврат каретки воспринимается как прекращение
поиска дополнительных решений.
Хотя выполнение программы на языке Prolog основывается на спецификации предикатов, оно напоминает выполнение программ
на аппликативных языках LISP или ML Разработка правил языка Prolog требует того же рекурсивного мышления, что и
разработка программ на этих аппликативных языках.
Язык Prolog имеет простые синтаксис и семантику. Поскольку он ищет отношения между некоторыми рядами объектов,
основными структурами данных являются переменная и список. Правило ведет себя подобно процедуре, за исключением того,
что концепция унификации более сложна, чем относительно простой процесс подстановки параметров в выражения.
Декларативный, процедурный подход языка Пролог.
Пролог (Prolog) — язык логического программирования, основанный на логике дизъюнктов Хорна, представляющей собой
подмножество логики предикатов первого порядка. Начало истории языка относится к 70-м годам XX века. Будучи
декларативным языком программирования, Пролог воспринимает в качестве программы некоторое описание задачи, и сам
производит поиск решения, пользуясь механизмом бэктрекинга и унификацией. Пролог относится к так называемым
декларативным языкам, требующим от автора умения составить формальное описание ситуации. Поэтому программа на Прологе
не является таковой в традиционном понимании, так как не содержит управляющих конструкций типа if … then, while … do; нет
даже оператора присваивания. В Прологе задействованы другие механизмы. Задача описывается в терминах фактов и правил, а
поиск решения Пролог берет на себя посредством встроенного механизма логического вывода.
Декларативный подход: B-> PQ
Процедурный подход: Что бы получить В нужно решить P, а затем решить Q.
Основные положения пропорциональной логики и логики 1-го порядка.
Пропозициональная логика — это формальная теория, основным объектом которой служит понятие логического высказывания.
С точки зрения выразительности, её можно охарактеризовать как классическую логику нулевого порядка. Логика высказываний
является простейшей логикой, максимально близкой к человеческой логике неформальных рассуждений и известна ещё со
времён античности. Знаки
и
(отрицание, конъюнкция, дизъюнкция и импликация) называются
пропозициональными связками. Подформулой называется часть формулы, сама являющаяся формулой. Собственной
подформулой называется подформула, не совпадающая со всей формулой.
Являясь формализованым аналогом обычной логики, логика первого порядка дает возможность строго рассуждать об истинности
и ложности утверждений и об их взаимосвязи, в частности, о логическом следовании одного утверждения из другого, или,
например, об их эквивалентности. Рассмотрим классический пример формализации утверждений естественного языка в логике
первого порядка.
Возьмем рассуждение «Каждый человек смертен. Конфуций — человек. Следовательно, Конфуций смертен». Обозначим «x есть
человек» через ЧЕЛОВЕК(x) и «x смертен» через СМЕРТЕН(x). Тогда утверждение «каждый человек смертен» может быть
представлено формулой:
x(ЧЕЛОВЕК(x) → СМЕРТЕН(x)) утверждение «Конфуций — человек» формулой
ЧЕЛОВЕК(Конфуций), и «Конфуций смертен» формулой СМЕРТЕН(Конфуций). Утверждение в целом теперь может быть
записано формулой:
( x(ЧЕЛОВЕК(x) → СМЕРТЕН(x)) ЧЕЛОВЕК(Конфуций) ) → СМЕРТЕН(Конфуций)
Экспертные системы. Модели представления знаний. Архитектура экспертной системы.
Экспертная система — компьютерная программа, способная частично заменить специалиста-эксперта в разрешении проблемной
ситуации. ЭС начали разрабатываться исследователями искусственного интеллекта в 1970-х годах, а в 1980-х получили
коммерческое подкрепление.В информатике экспертные системы рассматриваются совместно с базами знаний как модели
поведения экспертов в определенной области знаний с использованием процедур логического вывода и принятия решений, а
базы знаний — как совокупность фактов и правил логического вывода в выбранной предметной области деятельности.
Структура ЭС
представляет следующую структуру ЭС:
Интерфейс пользователя
Пользователь
Интеллектуальный редактор базы знаний
Эксперт
Инженер по знаниям
Рабочая (оперативная) память
База знаний
Решатель (механизм вывода)
Подсистема объяснений
База знаний состоит из правил анализа информации от пользователя по конкретной проблеме. ЭС анализирует ситуацию и, в
зависимости от направленности ЭС, дает рекомендации по разрешению проблемы.Как правило, база знаний ЭС содержит факты
(статические сведения о предметной области) и правила - набор инструкций, применяя которые к известным фактам можно
получать новые факты. В рамках логической модели баз данных и базы знаний записываются на языке Пролог с помощью языка
предикатов для описания фактов и правил логического вывода, выражающих правила определения понятий, для описания
обобщенных и конкретных сведений, а также конкретных и обобщенных запросов к базам данных и базам знаний. Конкретные и
обобщенные запросы к базам знаний на языке Пролог записываются с помощью языка предикатов, выражающих правила
логического вывода и определения понятий над процедурами логического вывода, имеющихся в базе знаний, выражающих
обобщенные и конкретные сведения и знания в выбранной предметной области деятельности и сфере знаний. Обычно факты в
базе знаний описывают те явления, которые являются постоянными для данной предметной области. Характеристики, значения
которых зависят от условий конкретной задачи, ЭС получает от пользователя в процессе работы, и сохраняет их в рабочей
памяти. Например, в медицинской ЭС факт «У здорового человека 2 ноги» хранится в базе знаний, а факт «У пациента одна
нога» — в рабочей памяти.
База знаний ЭС создается при помощи трех групп людей:
Эксперты той проблемной области, к которой относятся задачи, решаемые ЭС;
Инженеры по знаниям, являющиеся специалистами по разработке ИИС;
Программисты, осуществляющие реализацию ЭС.
Режимы функционирования
ЭС может функционировать в 2-х режимах.
Режим ввода знаний — в этом режиме эксперт с помощью инженера по знаниям посредством редактора базы знаний вводит
известные ему сведения о предметной области в базу знаний ЭС.
Режим консультации — пользователь ведет диалог с ЭС, сообщая ей сведения о текущей задаче и получая рекомендации ЭС.
Например, на основе сведений о физическом состоянии больного ЭС ставит диагноз в виде перечня заболеваний, наиболее
вероятных при данных симптомах.
Классификация ЭС по решаемой задаче
Интерпретация данных
Диагностирование
Мониторинг
Проектирование
Прогнозирование
Сводное Планирование
Обучение
Управление
Ремонт
Отладка
Классификация ЭС по связи с реальным временем
Статические ЭС
Квазидинамические ЭС
Динамические ЭС
Этапы разработки ЭС
Этап идентификации проблем — определяются задачи, которые подлежат решению, выявляются цели разработки, определяются
эксперты и типы пользователей.
Этап извлечения знаний — проводится содержательный анализ проблемной области, выявляются используемые понятия и их
взаимосвязи, определяются методы решения задач.
Этап структурирования знаний — выбираются ИС и определяются способы представления всех видов знаний, формализуются
основные понятия, определяются способы интерпретации знаний, моделируется работа системы, оценивается адекватность
целям системы зафиксированных понятий, методов решений, средств представления и манипулирования знаниями.
Этап формализации — осуществляется наполнение экспертом базы знаний. В связи с тем, что основой ЭС являются знания,
данный этап является наиболее важным и наиболее трудоемким этапом разработки ЭС. Процесс приобретения знаний разделяют
на извлечение знаний из эксперта, организацию знаний, обеспечивающую эффективную работу системы, и представление знаний
в виде, понятном ЭС. Процесс приобретения знаний осуществляется инженером по знаниям на основе анализа деятельности
эксперта по решению реальных задач.
Реализация ЭС — создается один или нескольких прототипов ЭС, решающие требуемые задачи.
Этап тестирования — производится оценка выбранного способа представления знаний в ЭС в целом.
Теорема Байеса, наивная Байесовская модель.
где
— априорная вероятность гипотезы A;
— вероятность гипотезы A при наступлении события B (апостериорная вероятность);
— вероятность наступления события B при истинности гипотезы A;
— вероятность наступления события B.
Теорема Байеса — одна из основных теорем элементарной теории вероятностей, которая определяет вероятность того, что
произошло какое-либо событие (гипотеза), имея на руках лишь косвенные тому подтверждения (данные), которые могут быть
неточны. Полученную по формуле вероятность можно далее уточнять, принимая во внимание данные новых наблюдений.
Физический смысл
Формула Байеса позволяет «переставить причину и следствие»: по известному факту события вычислить вероятность того, что
оно было вызвано данной причиной.
События, отражающие действие «причин», в данном случае обычно называют гипотезами, так как они — предполагаемые
события, повлекшие данное. Безусловную вероятность справедливости гипотезы называют априорной (насколько вероятна
причина вообще), а условную — с учетом факта произошедшего события — апостериорной (насколько вероятна причина
оказалась с учетом данных о событии).
Можно также уточнять вероятность гипотезы, учитывая другие имеющиеся данные (другие произошедшие события). Для учета
каждого следующего события нужно в качестве априорной вероятности гипотезы подставлять ее апостериорную вероятность с
предыдущего шага.
[править] Следствие
Важным следствием формулы Байеса является формула полной вероятности события, зависящего от нескольких несовместных
гипотез (и только от них!).
— вероятность наступления события B, зависящего от ряда гипотез Ai,
если известны степени достоверности этих гипотез (например, измерены экспериментально).
Марковская модель, фильтр Кальмана.
Скрытая марковская модель (СММ) — статистическая модель, имитирующая работу процесса, похожего на марковский процесс
с неизвестными параметрами, и задачей ставится разгадывание неизвестных параметров на основе
наблюдаемых. Полученные параметры могут быть использованы в дальнейшем анализе, например,
для распознавания образов. СММ может быть рассмотрена как простейшая Байесовская сеть
доверия.
Диаграмма переходов в скрытой марковской модели (пример)
x —скрытые состояния
y — наблюдаемые результаты
a — вероятности переходов
b — вероятность результата
Основное применение СММ получили в области распознавания речи, письма, движений и биоинформатике. Кроме того, СММ
применяются в криптоанализе, машинном переводе.
Конкретный пример
Представим двух друзей, обсуждающих каждый вечер по телефону, что они сегодня делали днём. Ваш друг может делать лишь
три вещи: гулять в парке, ходить за покупками или убираться в комнате. Его выбор основывается лишь на погоде, которая была в
момент принятия решения. Вы ничего не знаете о погоде в том регионе, где живёт ваш друг, но вы можете, основываясь на его
решениях, попытаться предугадать, какая погода была.
Погода представима в виде марковской цепи, она имеет два состояния: солнечно или дождливо, но вы не можете сами увидеть её,
поэтому она скрыта от вас. Каждый день ваш друг принимает одно из трёх возможных решений: прогулка, покупки или уборка.
Вы можете узнать о решении вашего друга, поэтому это наблюдаемое значение. В целом мы получаем СММ.
Структура скрытой марковской модели
В обычной Марковской модели состояние видимо наблюдателю, поэтому вероятности переходов — единственный параметр. В
скрытой марковской модели мы можем следить лишь за переменными, на которые оказывает влияние данное состояние. Каждое
состояние имеет вероятностное распределение среди всех возможных выходных значений. Поэтому последовательность
символов, сгенерированная СММ, даёт информацию о последовательности состояний.
Диаграмма, представленная ниже, показывает общую структуру СММ. Овалы представляют собой переменные со случайным
значением. Случайная переменная x(t) представляет собой значение скрытой переменной в момент времени t. Случайная
переменная y(t) — это значение наблюдаемой переменной в момент времени t. Стрелки на диаграмме символизируют условные
зависимости. Из диаграммы становится ясно, что значение скрытой переменной
x(t) (в момент времени t) зависит только от значения скрытой переменной x(t − 1)
(в момент t − 1). Это называется свойством Маркова. Хотя в то же время
значение наблюдаемой переменной .
Вероятность увидеть последовательность
длины L равна
здесь сумма пробегает по всем возможным последовательностям скрытых узлов
Метод подсчёта полным перебором значений P(Y) очень трудоёмкий для многих задач из реальной жизни в силу того, что
количество возможных последовательностей скрытых узлов очень велико.
Фи́льтр Ка́лмана — рекурсивный фильтр, оценивающий вектор состояния динамической системы, используя ряд неполных и
зашумленных измерений. Назван в честь Рудольфа Калмана.Фильтр Калмана предназначен для рекурсивного дооценивания
вектора состояния априорно известной динамической системы, то есть для расчёта текущего состояния системы необходимо
знать текущее измерение, а также предыдущее состояние самого фильтра. Таким образом фильтр Калмана, как и множество
других рекурсивных фильтров, реализован во временном представлении, а не в частотном.
Далее, запись вида
соответствует оценке вектора состояния
времени m.
Состояние фильтра находится в двух переменных:
в момент времени (итерации) n, по данным на момент
— оценка вектора состояния динамической системы в момент времени k;
— ковариационная матрица ошибок (мера точности оценивания вектора состояния).
Работу каждого шага фильтра Калмана можно разделить на два этапа: прогноз и корректировка. Этап прогноза вычисляет вектор
состояния, по его же значению на предыдущем шаге работы фильтра. На этапе корректировки в алгоритм поступают данные
текущих измерений, которые используются для уточнения прогнозного значения вектора состояния, и вычисления собственно
оценки вектора состояния динамической системы.
Этап прогноза
Вычисление прогнозного значения вектора состояния по априорно известной модели
Вычисление прогнозного значения ковариационной матрицы
Этап корректировки
Вычисление математической невязки прогнозного значения вектора состояния относительно измерений
Ковариационная матрица измерений
Оптимальный по Калману коэффициент усиления
Вычисление оценки вектора состояния через корректировку прогнозного вектора состояния
Обновление ковариационной матрицы ошибок.
Характеристика нейронных сетей, как инструмент ИИ.
Искусственные нейронные сети (ИНС) — математические модели, а также их программные или аппаратные реализации,
построенные по принципу организации и функционирования биологических нейронных сетей — сетей нервных клеток живого
организма. Это понятие возникло при изучении процессов, протекающих в мозге, и при попытке смоделировать эти процессы.
Первой такой попыткой были нейронные сети Маккалока и Питтса. Впоследствии, после разработки алгоритмов обучения,
получаемые модели стали использовать в практических целях: в задачах прогнозирования, для распознавания образов, в задачах
управления и др.
ИНС представляют собой систему соединённых и взаимодействующих между собой простых процессоров (искусственных
нейронов). Такие процессоры обычно довольно просты, особенно в сравнении с процессорами, используемыми в персональных
компьютерах. Каждый процессор подобной сети имеет дело только с сигналами, которые он периодически получает, и
сигналами, которые он периодически посылает другим процессорам. И тем не менее, будучи соединёнными в достаточно
большую сеть с управляемым взаимодействием, такие локально простые процессоры вместе способны выполнять довольно
сложные задачи.
Модели искусственного нейрона.
Искусственный нейрон — узел искусственной нейронной сети, являющийся упрощённой моделью естественного нейрона.
Математически, искусственный нейрон обычно представляют как некоторую нелинейную функцию от единственного аргумента
— линейной комбинации всех входных сигналов. Данную функцию называют функцией активации или функцией срабатывания,
передаточной функцией. Полученный результат посылается на единственный выход. Такие искусственные нейроны объединяют
в сети — соединяют выходы одних нейронов с входами других. Искусственные нейроны и сети являются основными элементами
идеального нейрокомпьютера.
Схема искусственного нейрона:
1.Нейроны, выходные сигналы которых поступают на вход данному.
2.Сумматор входных сигналов
3.Вычислитель передаточной функции
4.Нейроны, на входы которых подаётся выходной сигнал данного
5.wi — веса входных сигналов
Классификация нейронов
В основном, нейроны классифицируют на основе их положения в топологии сети. Разделяют:
Входные нейроны — принимают исходный вектор, кодирующий входной сигнал. Как правило, эти нейроны не выполняют
вычислительных операций, а просто передают полученный входной сигнал на выход, возможно, усилив или ослабив его;
Выходные нейроны — представляют из себя выходы сети. В выходных нейронах могут производиться какие-либо
вычислительные операции;
Промежуточные нейроны — выполняют основные вычислительные операции.
Основные типы передаточных функций:
Линейная передаточная функция
Сигнал на выходе нейрона линейно связан со взвешенной суммой сигналов на его входе.
f(x) = tx, где t - параметр функции. В искусственных нейронных сетях со слоистой структурой нейроны
с передаточными функциями такого типа, как правило, составляют входной слой. Кроме простой
линейной функции могут быть использованы её модификации. Например полулинейная функция (если
её аргумент меньше нуля, то она равна нулю, а в остальных случаях, ведет себя как линейная) или
шаговая (линейная функция с насыщением), которую можно выразить формулой:
При этом возможен сдвиг функции по обеим осям (как изображено на рисунке).
Недостатками шаговой и полулинейной активационных функций относительно линейной можно назвать
то, что они не являются дифференцируемыми на всей числовой оси, а значит не могут быть
использованы при обучении по некоторым алгоритмам.
Пороговая передаточная функция
Другое название - Функция Хевисайда. Представляет собой перепад. До тех пор пока взвешенный сигнал
на входе нейрона не достигает некоторого уровня T — сигнал на выходе равен нулю. Как только сигнал на
входе нейрона превышает указанный уровень — выходной сигнал скачкообразно изменяется на единицу.
Самый первый представитель слоистых искусственных нейронных сетей — перцептрон состоял
исключительно из нейронов такого типа. Математическая запись этой функции выглядит так:
Здесь T = − w0x0 — сдвиг функции активации относительно горизонтальной оси, соответственно под x следует понимать
взвешенную сумму сигналов на входах нейрона без учёта этого слагаемого. Ввиду того, что данная функция не является
дифференцируемой на всей оси абсцисс, её нельзя использовать в сетях, обучающихся по алгоритму обратного распространения
ошибки и другим алгоритмам, требующим дифференцируемости передаточной функции.
Сигмоидальная передаточная функция
Один из самых часто используемых, на данный момент, типов передаточных функций. Введение функций
сигмоидального типа было обусловлено ограниченностью нейронных сетей с пороговой функцией
активации нейронов — при такой функции активации любой из выходов сети равен либо нулю, либо
единице, что ограничивает использование сетей не в задачах классификации. Использование
сигмоидальных функций позволило перейти от бинарных выходов нейрона к аналоговым. Функции
передачи такого типа, как правило, присущи нейронам, находящимся во внутренних слоях нейронной
сети.
Логистическая функция
Математически эту функцию можно выразить так:
Здесь t — это параметр функции, определяющий её крутизну. Когда t стремится к бесконечности,
функция вырождается в пороговую. При t = 0 сигмоида вырождается в постоянную функцию со
значением 0,5. Область значений данной функции находится в интервале (0,1). Важным достоинством
этой функции является простота её производной:
То, что производная этой функции может быть выражена через её значение облегчает
использование этой функции при обучении сети по алгоритму обратного распространения.
Особенностью нейронов с такой передаточной характеристикой является то, что они
усиливают сильные сигналы существенно меньше, чем слабые, поскольку области сильных сигналов соответствуют пологим
участкам характеристики. Это позволяет предотвратить насыщение от больших сигналов.
Типы обучения.
1. Корректировка ошибок.
2. Обучение на основе памяти
Пункты обхода плана последовательно включаются в маршрут, причем, каждый очередной включаемый пункт должен быть
ближайшим к последнему выбранному пункту среди всех остальных, ещё не включенных в состав маршрута.
3. Обучение Хебба
Правило Хебба. Самым старым обучающим правилом является постулат обучения Хебба. Хебб опирался на следующие
нейрофизиологические наблюдения: если нейроны с обеих сторон синапса активизируются одновременно и регулярно, то сила
синаптической связи возрастает. Важной особенностью этого правила является то, что изменение синаптического веса зависит
только от активности нейронов, которые связаны данным синапсом. Это существенно упрощает цепи обучения в реализации
VLSI.
4. Конкурентное обучение
Обучение методом соревнования. В отличие от обучения Хебба, в котором множество выходных нейронов могут возбуждаться
одновременно, при соревновательном обучении выходные нейроны соревнуются между собой за активизацию. Это явление
известно как правило «победитель берет все». Подобное обучение имеет место в биологических нейронных сетях. Обучение
посредством соревнования позволяет кластеризовать входные данные: подобные примеры группируются сетью в соответствии с
корреляциями и представляются одним элементом.
При обучении модифицируются только веса «победившего» нейрона. Эффект этого правила достигается за счет такого
изменения сохраненного в сети образца (вектора весов связей победившего нейрона), при котором он становится чуть ближе ко
входному примеру. Входные векторы нормализованы и представлены точками на поверхности сферы. Векторы весов для трех
нейронов инициализированы случайными значениями. Их начальные и конечные значения после обучения отмечены Х на рис. 3а
и 3б соответственно. Каждая из трех групп примеров обнаружена одним из выходных нейронов, чей весовой вектор настроился
на центр тяжести обнаруженной группы.
5. Обучение с учителем
6. Обучение на основе самоорганизации
7. Обучение Больцмана
Обучение Больцмана. Представляет собой стохастическое правило обучения, которое следует из информационных теоретических
и термодинамических принципов. Целью обучения Больцмана является такая настройка весовых коэффициентов, при которой
состояния видимых нейронов удовлетворяют желаемому распределению вероятностей. Обучение Больцмана может
рассматриваться как специальный случай коррекции по ошибке, в котором под ошибкой понимается расхождение корреляций
состояний в двух режимах .
Задачи решаемы с помощью нейронных сетей.
Распознавание образов и классификация
В качестве образов могут выступать различные по своей природе объекты: символы текста, изображения, образцы звуков и т. д.
При обучении сети предлагаются различные образцы образов с указанием того, к какому классу они относятся. Образец, как
правило, представляется как вектор значений признаков. При этом совокупность всех признаков должна однозначно определять
класс, к которому относится образец. В случае, если признаков недостаточно, сеть может соотнести один и тот же образец с
несколькими классами, что неверно. По окончании обучения сети ей можно предъявлять неизвестные ранее образы и получать
ответ о принадлежности к определённому классу.
Топология такой сети характеризуется тем, что количество нейронов в выходном слое, как правило, равно количеству
определяемых классов. При этом устанавливается соответствие между выходом нейронной сети и классом, который он
представляет. Когда сети предъявляется некий образ, на одном из её выходов должен появиться признак того, что образ
принадлежит этому классу. В то же время на других выходах должен быть признак того, что образ данному классу не
принадлежит. Если на двух или более выходах есть признак принадлежности к классу, считается что сеть «не уверена» в своём
ответе.
Принятие решений и управление
Эта задача близка к задаче классификации. Классификации подлежат ситуации, характеристики которых поступают на вход
нейронной сети. На выходе сети при этом должен появиться признак решения, которое она приняла. При этом в качестве
входных сигналов используются различные критерии описания состояния управляемой системы.
Кластеризация
Под кластеризацией понимается разбиение множества входных сигналов на классы, при том, что ни количество, ни признаки
классов заранее не известны. После обучения такая сеть способна определять, к какому классу относится входной сигнал. Сеть
также может сигнализировать о том, что входной сигнал не относится ни к одному из выделенных классов — это является
признаком новых, отсутствующих в обучающей выборке, данных. Таким образом, подобная сеть может выявлять новые,
неизвестные ранее классы сигналов. Соответствие между классами, выделенными сетью, и классами, существующими в
предметной области, устанавливается человеком. Кластеризацию осуществляют, например, нейронные сети Кохонена.
Прогнозирование и аппроксимация
Способности нейронной сети к прогнозированию напрямую следуют из ее способности к обобщению и выделению скрытых
зависимостей между входными и выходными данными. После обучения сеть способна предсказать будущее значение некой
последовательности на основе нескольких предыдущих значений и/или каких-то существующих в настоящий момент факторов.
Следует отметить, что прогнозирование возможно только тогда, когда предыдущие изменения действительно в какой-то степени
предопределяют будущие. Например, прогнозирование котировок акций на основе котировок за прошлую неделю может
оказаться успешным (а может и не оказаться), тогда как прогнозирование результатов завтрашней лотереи на основе данных за
последние 50 лет почти наверняка не даст никаких результатов.
Сжатие данных и Ассоциативная память
Способность нейросетей к выявлению взаимосвязей между различными параметрами дает возможность выразить данные
большой размерности более компактно, если данные тесно взаимосвязаны друг с другом. Обратный процесс — восстановление
исходного набора данных из части информации — называется (авто)ассоциативной памятью. Ассоциативная память позволяет
также восстанавливать исходный сигнал/образ из зашумленных/поврежденных входных данных. Решение задачи
гетероассоциативной памяти позволяет реализовать память, адресуемую по содержимому.
Архитектура нейронных сетей.
ИНС может рассматриваться как направленный граф со взвешенными связями, в котором искусственные нейроны являются
узлами. По архитектуре связей ИНС могут быть сгруппированы в два класса: сети прямого распространения, в которых графы не
имеют петель, и рекуррентные сети, или сети с обратными связями.
В наиболее распространенном семействе сетей первого класса, называемых многослойным перцептроном, нейроны расположены
слоями и имеют однонаправленные связи между слоями. На рисунке представлены типовые сети каждого класса. Сети прямого
распространения являются статическими в том смысле, что на заданный вход они вырабатывают одну совокупность выходных
значений, не зависящих от предыдущего состояния сети. Рекуррентные сети являются динамическими, так как в силу обратных
связей в них модифицируются входы нейронов, что приводит к изменению состояния сети.
Однослойный персептрон.
Это модель, в которой входные элементы напрямую соединены с
выходными с помощью системы весов. Является простейшей сетью
прямого распространения — линейным классификатором, и частным
случаем классического перцептрона, в котором каждый S-элемент
однозначно соответствует одному A-элементу, S—A связи имеют вес +1
и все A-элементы имеют порог θ = 1. Однослойные перцептроны
фактически являются формальными нейронами, то есть пороговыми
элементами Мак-Каллока — Питтса. Они имеют множество
ограничений, в частности, они не могут идентифицировать ситуацию,
когда на их входы поданы разные сигналы («задача XOR»).
Однослойный персептрон способен распознавать простейшие образы.
Отдельный нейрон вычисляет взвешенную сумму элементов входного
сигнала, вычитает значение смещения и пропускает результат через
жесткую пороговую функцию, выход которой равен +1 или -1. В
зависимости от значения выходного сигнала принимается решение: +1 входной сигнал принадлежит классу A, -1 - входной сигнал принадлежит
классу B. На рисунке 3.1 показана схема нейронов, используемых в
однослойных персептронах, график передаточной функции и схема
решающих областей, созданных в многомерном пространстве входных
сигналов. Решающие области определяют, какие входные образы будут отнесены к классу A, какие - к классу B. Персептрон,
состоящий из одного нейрона, формирует две решающие области, разделенные гиперплоскостью.
На рисунке показан случай, когда размерность входного сигнала равна 2. При этом разделяющая поверхность представляет собой
прямую линию на плоскости. Входные сигналы над разделяющей линией относятся к классу A, под линией - к классу B.
Уравнение, задающее разделяющую прям ую, зависит от значений синаптических весов и смещения.
Многослойный персептрон.
Межнейронные синаптические связи сети устроены таким образом, что каждый нейрон на данном уровне иерархии принимает и
обрабатывает сигналы от каждого нейрона более низкого уровня. Таким образом, в данной сети
имеется выделенное направление распостранения нейроимпульсов - от входного слоя через
один (или несколько) скрытых слоев к выходному слою нейронов. Нейросеть такой топологии
мы будем называть обобщенным многослойным персептроном или, если это не будет вызывать
недоразумений, просто персептроном.
Персептрон представляет собой сеть, состоящую из нескольких последовательно соединенных
слоев формальных нейронов МакКаллока и Питтса. На низшем уровне иерархии находится
входной слой, состоящий из сенсорных элементов, задачей которого является только прием и
распространение по сети входной информации. Далее имеются один или, реже, несколько
скрытых слоев. Каждый нейрон на скрытом слое имеет несколько входов, соединенных с
выходами нейронов предыдущего слоя или непосредственно со входными сенсорами X1..Xn, и
один выход. Нейрон характеризуется уникальным вектором весовых коэффициентов w. Веса
всех нейронов слоя формируют матрицу, которую мы будем обозначать V или W. Функция нейрона состоит в вычислении
взвешенной суммы его входов с дальнейшим нелинейным преобразованием ее в выходной сигнал:
Выходы нейронов последнего, выходного, слоя описывают результат классификации Y=Y(X).
Особенности раб оты персептрона состоят в следующем. Каждый нейрон суммирует
поступающие к нему сигналы от нейронов предыдущего уровня иерархии с весами,
определяемыми состояниями синапсов, и формирует ответный сигнал (переходит в
возбужденное состояние), если полученная сумма выше порогового значения. Персептрон переводит входной образ,
определяющий степени возбуждения нейронов самого нижнего уровня иерахии, в выходной образ, определяемый нейронами
самого верхнего уровня. Число последних, обычно, сравнительно невелико. Состояние возбуждения нейрона на верхнем уровне
говорит о принадлежности входного образа к той или иной категории.
Сети на основе радиальных базисных функций.
Сеть радиальных базисных функций (RBF-сеть) - нейронная сеть прямого распространения
сигнала, которая содержит промежуточный (скрытый) слой радиально симметричных
нейронов. Такой нейрон преобразовывает расстояние от данного входного вектора до
соответствующего ему "центра" по некоторому нелинейному закону (обычно функция
Гаусса). Нейроны выходного слоя RBF-сети имеют линейные активационные функции.
Радиально-базисная сеть характеризуется тремя особенностями:
Единственный скрытый слой
Только нейроны скрытого слоя имеют нелинейную активационную функцию
Синаптические веса связей входного и скрытого слоев равны единице.
Исключение признаков с помощью нейронных сетей. Фильтр Хебба.
Cинонимы: Правило обучения
Если два нейрона по обе стороны синапса (соединения) активизируются одновременно (то есть синхронно), то прочность этого
соединения возрастает.
Если два нейрона по обе стороны синапса активизируются асинхронно, то такой синапс ослабляется или вообще отмирает.
Вес связи пары нейронов увеличивается пропорционально произведению значений их состояний.
wij  xi (n) yj (n)
Если аксон клетки A достаточно близок к клетке B, чтобы возбуждать ее, и если он повторно или настойчиво принимает участие
в ее срабатывании, то в одной из этих клеток или в обеих происходит некоторый процесс метаболического изменения, так что
эффективность клетки A как одной из клеток, вызывающих срабатывание клетки B, увеличивается.
Если нейрон получает сигнал от другого нейрона, и оба из них активны (имеют одинаковый знак), то вес между этими нейронами
усиливается.
Нейродинамика, аттракторы. Сеть Хопфилда.
Аттрактор — множество состояний (точнее — точек фазового пространства) динамической системы, к которым она стремится с
течением времени. Так, наиболее простыми вариантами аттрактора являются притягивающая неподвижная точка (к примеру, в
задаче о маятнике с трением о воздух) и периодическая траектория (пример — самовозбуждающиеся колебания в контуре с
положительной обратной связью), однако бывают и значительно более сложные примеры.
Существуют различные формализации понятия стремления, что приводит к различным определениям аттрактора, задающим,
соответственно, потенциально различные множества (зачастую — вложенные одно в другое). Наиболее употребительными
определениями являются максимальный аттрактор, аттрактор Милнора и неблуждающее множество.
Аттракторы классифицируют по:
Формализации понятия стремления: различают максимальный аттрактор, неблуждающее множество, аттрактор Милнора, центр
Биркгофа, статистический и минимальный аттрактор.
Регулярности самого аттрактора: аттракторы делят на регулярные (притягивающая неподвижная точка, притягивающая
периодическая траектория, многообразие) и странные (нерегулярные — зачастую фрактальные и/или в каком-либо сечении
устроенные как канторово множество; динамика на них обычно хаотична).
Локальности («притягивающее множество») и глобальности.
Нейронная сеть Хопфилда — полносвязная нейронная сеть с симметричной матрицей
связей. В процессе работы динамика таких сетей сходится (конвергирует) к одному из
положений равновесия. Эти положения равновесия являются локальными минимумами
функционала, называемого энергией сети (в простейшем случае — локальными
минимумами отрицательно определённой квадратичной формы на n-мерном кубе).
Сеть может быть использована как автоассоциативная память, как фильтр, а также для
решения некоторых задач оптимизации. В отличие от многих нейронных сетей,
функционирующих до получения ответа через определённое количество тактов, сети
Хопфилда функционируют до достижения равновесия, когда следующее состояние
сети в точности равно предыдущему: начальное состояние является входным образом, а
при равновесии получают выходной образ.
Типы точек в нейронная сети Хопфилда:
Устойчивый узел
Неустойчивый узел
Устойчивый фокус
Неустойчевый фокус
Узловая точка (“седловая точка”)
Центровая точка
Архитектура сети
Схема сети Хопфилда с тремя нейронами
Нейронная сеть Хопфилда состоит из N искусственных нейронов. Каждый нейрон системы может принимать одно из двух
состояний (что аналогично выходу нейрона с пороговой функцией активации):
Благодаря своей биполярной природе нейроны сети Хопфилда иногда называют спинами.
Взаимодействие спинов сети описывается выражением:
где wij элемент матрицы взаимодействий W, которая состоит из весовых коэффициентов связей между нейронами. В эту матрицу
в процессе обучения записывается М «образов» — N-мерных бинарных векторов: Sm = (sm1,sm2,...,smN)
В сети Хопфилда матрица связей является симметричной wij = wji, а диагональные элементы матрицы полагаются равными
нулю (wii = 0), что исключает эффект воздействия нейрона на самого себя и является необходимым для сети Хопфилда, но не
достаточным условием, устойчивости в процессе работы сети. Достаточным является асинхронный режим работы сети.
Подобные свойства определяют тесную связь с реальными физическими веществами называемыми спиновыми стеклами.
Download