Опубликован: 30.05.2023 | Доступ: свободный | Студентов: 688 / 180 | Длительность: 16:08:00
Лекция 2:

Определения, структура и развитие систем ИИ

 Ключевые направления в развитии систем искусственного интеллекта. Источник: авторы

Рис. 1.16. Ключевые направления в развитии систем искусственного интеллекта. Источник: авторы

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

Символизм или символьный ИИ

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

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

С помощью символов могут быть построены логические конструкции (если Петя является сыном моей дочери, то, следовательно, Петя мой внук). Символьный искусственный интеллект также иногда именуют как "Rule based AI" - ИИ, основанный на правилах. В некоторых публикациях в качестве синонима понятия "символьный ИИ" используют сокращение GOFAI ("Good Old-Fashioned Artificial Intelligence" - "старый добрый искусственный интеллект"), по имени, которое использовал Джон Хоугеланд в своего курса "Искусственный интеллект: Основная идея".

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

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

Говорят, что символьный ИИ относится к объяснимым (или интерпретируемым) методам ИИ, поскольку позволяет рассуждать о том, каким образом получен достигнутый результат.

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

 Набор признаков и связей, определяющих понятие "яблоко" в символьном подходе. Источник: Marvin Minsky

Рис. 1.17. Набор признаков и связей, определяющих понятие "яблоко" в символьном подходе. Источник: Marvin Minsky

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

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

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

 Граф, отражающий взаимодействия в семейной системе

Рис. 1.18. Граф, отражающий взаимодействия в семейной системе

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

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

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

Эффективность такой системы зависит от объема и качества базы знаний. Если система получает запрос, по которому знания либо отсутствуют, либо ошибочны, система не сможет дать удовлетворительный ответ.

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

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

В частности, символьный подход (наряду с другими методами) был использован в решении Deep Blue, победившем чемпиона по шахматам Каспарова в 1997 году.

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

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

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

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

Дерево решений - это простейший способ извлечения знаний из данных, существуют и другие. Такой подход изучается в рамках направления интеллектуального анализа данных (Data Mining) или "добычи знаний из баз данных" (Knowledge Discovery in Databases).