Направления развития искусственного интеллекта
Направления развития искусственного интеллекта
Искусственный интеллект – это одно из направлений информатики, цель которого разработка аппаратно-программных средств, позволяющих пользователю-непрограммисту ставить и решать свои задачи, традиционно считающиеся интеллектуальными, общаясь с ЭВМ на ограниченном подмножестве естественного языка, развивается по следующим направлениям:
1. Представление знаний и разработка систем, основанных на знаниях. Это основное направление искусственного интеллекта. Оно связано с разработкой моделей представления знаний, созданием баз знаний, образующих ядро экспертных систем (ЭС). В последнее время включает в себя модели и методы извлечения и структурирования знаний и сливается с инженерией знаний.
2. Игры и творчество. Традиционно искусственный интеллект включает в себя игровые интеллектуальные задачи – шахматы, шашки и т.д. В основе лежит один из ранних подходов – лабиринтная модель плюс эвристики. Сейчас это скорее коммерческое направление, так как в научном плане эти идеи считаются тупиковыми.
3. Разработка естественноязыковых интерфейсов и машинный перевод. В 1950-х гг. одной из популярных тем исследований искусственного интеллекта являлась область машинного перевода. Первая программа в этой области – переводчик с английского языка на русский.
4. Распознавание образов. Традиционное направление искусственного интеллекта, берущее начало у самых его истоков. Каждому объекту ставится в соответствие матрица признаков, по которой происходит его распознавание. Это направление близко к машинному обучению, тесно связано с нейрокибернетикой.
5. Новые архитектуры компьютеров. Это направление занимается разработкой новых аппаратных решений и архитектур, направленных на обработку символьных и логических данных. Создаются Пролог- и Лисп-машины, компьютеры V и VI поколений. Последние разработки посвящены компьютерам баз данных и параллельным компьютерам.
6. Интеллектуальные роботы.
7. Специальное программное обеспечение. В рамках этого направления разрабатываются специальные языки для решения задач невычислительного плана. Помимо этого создаются пакеты прикладных программ, ориентированные на промышленную разработку интеллектуальных систем, или программные инструментарии искусственного интеллекта.
8. Обучение и самообучение. Активно развивающаяся область искусственного интеллекта. Включает модели, методы и алгоритмы, ориентированные на автоматическое накопление знаний на основе анализа и обобщения данных.
Данные и знания
При изучении интеллектуальных систем традиционно возникает вопрос – что же такое знания и чем они отличаются от обычных данных, обрабатываемых ЭВМ.
Данные – это отдельные факты, характеризующие объекты, процессы и явления в предметной области, а также их свойства.
Знания связаны с данными, основываются на них, но представляют результат мыслительной деятельности человека, обобщают его опыт, полученный в ходе выполнения какой-либо практической деятельности. Они получаются эмпирическим путём. Таким образом, знания – это выявленные закономерности предметной области (принципы, связи, законы), позволяющие решать задачи в этой области.
Часто используются такие определения знаний: знания – это хорошо структурированные данные, или данные о данных, или метаданные.
Для хранения знаний используются базы знаний (небольшого объёма, но исключительно дорогие информационные массивы). База знаний – основа любой интеллектуальной системы.
Знания могут быть классифицированы по следующим категориям:
· поверхностные – знания о видимых взаимосвязях между отдельными событиями и фактами в предметной области;
· глубинные – абстракции, аналогии, схемы, отображающие структуру и процессы в предметной области.
Современные экспертные системы работают в основном с поверхностными знаниями. Это связано с тем, что на данный момент нет адекватных моделей, позволяющих работать с глубинными знаниями.
Кроме того, знания можно разделить на процедурные и декларативные. Исторически первичными были процедурные знания, т.е. знания, «растворённые» в алгоритмах. Они управляли данными. Для их изменения требовалось изменять программы. Однако с развитием искусственного интеллекта приоритет данных постепенно изменялся, и всё большая часть знаний сосредоточивалась в структурах данных (таблицы, списки, абстрактные типы данных), т.е. увеличивалась роль декларативных знаний.
Сегодня знания приобрели чисто декларативную форму, т.е. знаниями считаются предложения, записанные на языках представления знаний, приближенных к естественному и понятных неспециалистам.
Существуют десятки моделей (или языков) представления знаний для различных предметных областей. Большинство из них может быть сведено к следующим классам:
· продукционные;
· семантические сети;
· фреймы;
· формальные логические модели.
Модели представления знаний
Продукционная модель, или модель, основанная на правилах, позволяет представить знания в виде предложений типа: «Если (условие), то (действие)».
Под условием понимается некоторое предложение-образец, по которому осуществляется поиск в базе знаний, а под действием – действия, выполняемые при успешном исходе поиска (они могут быть промежуточными, выступающими далее как условия, и терминальными или целевыми, завершающими работу системы).
При использовании продукционной модели база знаний состоит из набора правил. Программа, управляющая перебором правил, называется машиной вывода. Чаще всего вывод бывает прямой (от данных к поиску цели) или обратный (от цели для её подтверждения – к данным). Данные – это исходные факты, на основании которых запускается машина вывода – программа, перебирающая правила из базы.
Продукционная модель чаще всего применяется в промышленных экспертных системах. Она привлекает разработчиков своей наглядностью, высокой модульностью, лёгкостью внесения дополнений и изменений и простотой механизма логического вывода.
Имеется большое число программных средств, реализующих продукционный подход (язык OPS 5; «оболочки» или «пустые» ЭС EXSYS, ЭКСПЕРТ; инструментальные системы ПИЭС и СПЭИС и др.), а также промышленных ЭС на его основе (ФИАКР) и др.
Семантическая сеть– это ориентированный граф, вершины которого – понятия, а дуги – отношения между ними. Термин семантическая означает смысловая, а сама семантика – это наука, устанавливающая отношения между символами и объектами, которые они обозначают, т.е. наука, определяющая смысл знаков. Понятиями обычно выступают абстрактные или конкретные объекты, а отношения – это связи типа: «это» («is»), «имеет частью» («has part»), «принадлежит», «любит». Характерной особенностью семантических сетей является обязательное наличие трёх типов отношений:
1) класс – элемент класса;
2) свойство – значение;
3) пример элемента класса.
Можно ввести несколько классификаций семантических сетей. Например, по количеству типов отношений:
· однородные (с единственным типом отношений);
· неоднородные (с различными типами отношений).
По типам отношений:
· бинарные (в которых отношения связывают два объекта);
· n-арные (в которых есть специальные отношения, связывающие более двух понятий).
Наиболее часто в семантических сетях используются следующие отношения:
· связи типа «часть-целое» («класс-подкласс», «элемент-множество» и т.п.);
· функциональные связи (определяемые обычно глаголами «производит», «влияет»...);
· количественные (больше, меньше, равно...);
· пространственные (далеко от, близко от, за, под, над...);
· временные (раньше, позже, в течение...);
· атрибутивные связи (иметь свойство, иметь значение...);
· логические связи (и, или, не) и др.
Проблема поиска решения в базе знаний типа семантической сети сводится к задаче поиска фрагмента сети, соответствующего некоторой подсети, соответствующей поставленному вопросу.
Основное преимущество этой модели – соответствие современным представлениям об организации долговременной памяти человека. Недостаток модели – сложность поиска вывода на семантической сети.
Для реализации семантических сетей существуют специальные сетевые языки, например NET и др. Широко известны экспертные системы, использующие семантические сети в качестве языка представления знаний – PROSPECTOR, CASNET, TORUS.
Фреймы(англ. frame – каркас или рамка) предложены М. Минским в 1970-е гг. как структура знаний для восприятия пространственных сцен.
Эта модель, как и семантическая сеть, имеет глубокое психологическое обоснование.
Под фреймом понимается абстрактный образ или ситуация. В психологии и философии известно понятие абстрактного образа. Например, слово «комната» вызывает у слушающих образ комнаты: «жилое помещение с четырьмя стенами, полом, потолком, окнами и дверью, площадью 6 – 20 м2».
Из этого описания ничего нельзя убрать (например, убрав окна, мы получим уже чулан, а не комнату), но в нём есть «дырки», или «слоты», – это незаполненные значения некоторых атрибутов – количество окон, цвет стен, высота потолка, покрытие пола и др.
В теории фреймов такой образ называется фреймом. Фреймом называется также и формализованная модель для отображения образа.
Структуру фрейма можно представить так:
ИМЯ ФРЕЙМА:
(имя 1-го слота – тип 1-го слота – значение 1-го слота – присоединённая процедура 1),
(имя 2-го слота – тип 2-го слота – значение 2-го слота – присоединённая процедура 2),
(имя N-го слота – тип N-го слота – значение N-го слота – присоединённая процедура N).
Здесь в качестве значения слота может выступать имя другого фрейма; так образуют сети фреймов.
Различают фреймы-образцы, или прототипы, хранящиеся в базе знаний, и фреймы-экземпляры, которые создаются для отображения реальных ситуаций на основе поступающих данных.
Модель фрейма является достаточно универсальной, поскольку позволяет отобразить всё многообразие знаний о мире через:
· фреймы-структуры, для обозначения объектов и понятий (заём, залог, вексель);
· фреймы-роли (менеджер, кассир, клиент);
· фреймы-сценарии (банкротство, собрание акционеров, празднование именин);
· фреймы-ситуации (тревога, авария, рабочий режим устройства) и др.
Важнейшим свойством теории фреймов является заимствованное из теории семантических сетей наследование свойств. И во фреймах, и в семантических сетях наследование происходит по АКО-связям (A-Kind-Of = это). Слот АКО указывает на фрейм более высокого уровня иерархии, откуда неявно наследуются, т.е. переносятся значения аналогичных слотов.
Основным преимуществом фреймов как модели представления знаний является способность отражать концептуальную основу организации памяти человека, а также её гибкость и наглядность.
Специальные языки представления знаний в сетях фреймов FRL (Frame Representation Language) и другие позволяют эффективно строить промышленные ЭС. Широко известны такие фреймо-ориентированные экспертные системы, как ANALYST, МОДИС.
Формальные логические моделиявляются традиционным способом представления знаний и основанны на классическом исчислении предикатов I порядка, когда предметная область или задача описывается в виде набора аксиом. Однако исчисление предикатов I порядка в промышленных экспертных системах практически не используется. Поэтому эта логическая модель применима в основном в исследовательских «игрушечных» системах, так как предъявляет очень высокие требования и ограничения к предметной области.
Стратегии получения знаний
Существует несколько стратегий получения знаний. Наиболее распространенные:
· приобретение;
· извлечение;
· формирование.
Под приобретением знаний понимается способ автоматизированного построения базы знаний посредством диалога эксперта и специальной программы (при этом структура знаний заранее закладывается в программу).
Эта стратегия требует существенной предварительной проработки предметной области. Системы приобретения знаний действительно приобретают готовые фрагменты знаний в соответствии со структурами, заложенными разработчиками систем. Большинство этих инструментальных средств специально ориентировано на конкретные экспертные системы с жёстко обозначенной предметной областью и моделью представления знаний, т.е. не являются универсальными.
Термин извлечение знаний касается непосредственного живого контакта инженера по знаниям и источника знаний. Извлечение знаний – это процедура взаимодействия эксперта с источником знаний, в результате которой становятся явными процесс рассуждений специалистов при принятии решения и структура их представлений о предметной области.
Термин формирование знаний традиционно закрепился за чрезвычайно перспективной и активно развивающейся областью инженерии знаний, которая занимается разработкой моделей, методов и алгоритмов анализа данных для получения знаний и обучения. Эта область включает индуктивные модели формирования гипотез на основе обучающих выборок, обучение по аналогии и другие методы.
Направления развития искусственного интеллекта
Искусственный интеллект – это одно из направлений информатики, цель которого разработка аппаратно-программных средств, позволяющих пользователю-непрограммисту ставить и решать свои задачи, традиционно считающиеся интеллектуальными, общаясь с ЭВМ на ограниченном подмножестве естественного языка, развивается по следующим направлениям:
1. Представление знаний и разработка систем, основанных на знаниях. Это основное направление искусственного интеллекта. Оно связано с разработкой моделей представления знаний, созданием баз знаний, образующих ядро экспертных систем (ЭС). В последнее время включает в себя модели и методы извлечения и структурирования знаний и сливается с инженерией знаний.
2. Игры и творчество. Традиционно искусственный интеллект включает в себя игровые интеллектуальные задачи – шахматы, шашки и т.д. В основе лежит один из ранних подходов – лабиринтная модель плюс эвристики. Сейчас это скорее коммерческое направление, так как в научном плане эти идеи считаются тупиковыми.
3. Разработка естественноязыковых интерфейсов и машинный перевод. В 1950-х гг. одной из популярных тем исследований искусственного интеллекта являлась область машинного перевода. Первая программа в этой области – переводчик с английского языка на русский.
4. Распознавание образов. Традиционное направление искусственного интеллекта, берущее начало у самых его истоков. Каждому объекту ставится в соответствие матрица признаков, по которой происходит его распознавание. Это направление близко к машинному обучению, тесно связано с нейрокибернетикой.
5. Новые архитектуры компьютеров. Это направление занимается разработкой новых аппаратных решений и архитектур, направленных на обработку символьных и логических данных. Создаются Пролог- и Лисп-машины, компьютеры V и VI поколений. Последние разработки посвящены компьютерам баз данных и параллельным компьютерам.
6. Интеллектуальные роботы.
7. Специальное программное обеспечение. В рамках этого направления разрабатываются специальные языки для решения задач невычислительного плана. Помимо этого создаются пакеты прикладных программ, ориентированные на промышленную разработку интеллектуальных систем, или программные инструментарии искусственного интеллекта.
8. Обучение и самообучение. Активно развивающаяся область искусственного интеллекта. Включает модели, методы и алгоритмы, ориентированные на автоматическое накопление знаний на основе анализа и обобщения данных.
Данные и знания
При изучении интеллектуальных систем традиционно возникает вопрос – что же такое знания и чем они отличаются от обычных данных, обрабатываемых ЭВМ.
Данные – это отдельные факты, характеризующие объекты, процессы и явления в предметной области, а также их свойства.
Знания связаны с данными, основываются на них, но представляют результат мыслительной деятельности человека, обобщают его опыт, полученный в ходе выполнения какой-либо практической деятельности. Они получаются эмпирическим путём. Таким образом, знания – это выявленные закономерности предметной области (принципы, связи, законы), позволяющие решать задачи в этой области.
Часто используются такие определения знаний: знания – это хорошо структурированные данные, или данные о данных, или метаданные.
Для хранения знаний используются базы знаний (небольшого объёма, но исключительно дорогие информационные массивы). База знаний – основа любой интеллектуальной системы.
Знания могут быть классифицированы по следующим категориям:
· поверхностные – знания о видимых взаимосвязях между отдельными событиями и фактами в предметной области;
· глубинные – абстракции, аналогии, схемы, отображающие структуру и процессы в предметной области.
Современные экспертные системы работают в основном с поверхностными знаниями. Это связано с тем, что на данный момент нет адекватных моделей, позволяющих работать с глубинными знаниями.
Кроме того, знания можно разделить на процедурные и декларативные. Исторически первичными были процедурные знания, т.е. знания, «растворённые» в алгоритмах. Они управляли данными. Для их изменения требовалось изменять программы. Однако с развитием искусственного интеллекта приоритет данных постепенно изменялся, и всё большая часть знаний сосредоточивалась в структурах данных (таблицы, списки, абстрактные типы данных), т.е. увеличивалась роль декларативных знаний.
Сегодня знания приобрели чисто декларативную форму, т.е. знаниями считаются предложения, записанные на языках представления знаний, приближенных к естественному и понятных неспециалистам.
Существуют десятки моделей (или языков) представления знаний для различных предметных областей. Большинство из них может быть сведено к следующим классам:
· продукционные;
· семантические сети;
· фреймы;
· формальные логические модели.
Модели представления знаний
Продукционная модель, или модель, основанная на правилах, позволяет представить знания в виде предложений типа: «Если (условие), то (действие)».
Под условием понимается некоторое предложение-образец, по которому осуществляется поиск в базе знаний, а под действием – действия, выполняемые при успешном исходе поиска (они могут быть промежуточными, выступающими далее как условия, и терминальными или целевыми, завершающими работу системы).
При использовании продукционной модели база знаний состоит из набора правил. Программа, управляющая перебором правил, называется машиной вывода. Чаще всего вывод бывает прямой (от данных к поиску цели) или обратный (от цели для её подтверждения – к данным). Данные – это исходные факты, на основании которых запускается машина вывода – программа, перебирающая правила из базы.
Продукционная модель чаще всего применяется в промышленных экспертных системах. Она привлекает разработчиков своей наглядностью, высокой модульностью, лёгкостью внесения дополнений и изменений и простотой механизма логического вывода.
Имеется большое число программных средств, реализующих продукционный подход (язык OPS 5; «оболочки» или «пустые» ЭС EXSYS, ЭКСПЕРТ; инструментальные системы ПИЭС и СПЭИС и др.), а также промышленных ЭС на его основе (ФИАКР) и др.
Семантическая сеть– это ориентированный граф, вершины которого – понятия, а дуги – отношения между ними. Термин семантическая означает смысловая, а сама семантика – это наука, устанавливающая отношения между символами и объектами, которые они обозначают, т.е. наука, определяющая смысл знаков. Понятиями обычно выступают абстрактные или конкретные объекты, а отношения – это связи типа: «это» («is»), «имеет частью» («has part»), «принадлежит», «любит». Характерной особенностью семантических сетей является обязательное наличие трёх типов отношений:
1) класс – элемент класса;
2) свойство – значение;
3) пример элемента класса.
Можно ввести несколько классификаций семантических сетей. Например, по количеству типов отношений:
· однородные (с единственным типом отношений);
· неоднородные (с различными типами отношений).
По типам отношений:
· бинарные (в которых отношения связывают два объекта);
· n-арные (в которых есть специальные отношения, связывающие более двух понятий).
Наиболее часто в семантических сетях используются следующие отношения:
· связи типа «часть-целое» («класс-подкласс», «элемент-множество» и т.п.);
· функциональные связи (определяемые обычно глаголами «производит», «влияет»...);
· количественные (больше, меньше, равно...);
· пространственные (далеко от, близко от, за, под, над...);
· временные (раньше, позже, в течение...);
· атрибутивные связи (иметь свойство, иметь значение...);
· логические связи (и, или, не) и др.
Проблема поиска решения в базе знаний типа семантической сети сводится к задаче поиска фрагмента сети, соответствующего некоторой подсети, соответствующей поставленному вопросу.
Основное преимущество этой модели – соответствие современным представлениям об организации долговременной памяти человека. Недостаток модели – сложность поиска вывода на семантической сети.
Для реализации семантических сетей существуют специальные сетевые языки, например NET и др. Широко известны экспертные системы, использующие семантические сети в качестве языка представления знаний – PROSPECTOR, CASNET, TORUS.
Фреймы(англ. frame – каркас или рамка) предложены М. Минским в 1970-е гг. как структура знаний для восприятия пространственных сцен.
Эта модель, как и семантическая сеть, имеет глубокое психологическое обоснование.
Под фреймом понимается абстрактный образ или ситуация. В психологии и философии известно понятие абстрактного образа. Например, слово «комната» вызывает у слушающих образ комнаты: «жилое помещение с четырьмя стенами, полом, потолком, окнами и дверью, площадью 6 – 20 м2».
Из этого описания ничего нельзя убрать (например, убрав окна, мы получим уже чулан, а не комнату), но в нём есть «дырки», или «слоты», – это незаполненные значения некоторых атрибутов – количество окон, цвет стен, высота потолка, покрытие пола и др.
В теории фреймов такой образ называется фреймом. Фреймом называется также и формализованная модель для отображения образа.
Структуру фрейма можно представить так:
ИМЯ ФРЕЙМА:
(имя 1-го слота – тип 1-го слота – значение 1-го слота – присоединённая процедура 1),
(имя 2-го слота – тип 2-го слота – значение 2-го слота – присоединённая процедура 2),
(имя N-го слота – тип N-го слота – значение N-го слота – присоединённая процедура N).
Здесь в качестве значения слота может выступать имя другого фрейма; так образуют сети фреймов.
Различают фреймы-образцы, или прототипы, хранящиеся в базе знаний, и фреймы-экземпляры, которые создаются для отображения реальных ситуаций на основе поступающих данных.
Модель фрейма является достаточно универсальной, поскольку позволяет отобразить всё многообразие знаний о мире через:
· фреймы-структуры, для обозначения объектов и понятий (заём, залог, вексель);
· фреймы-роли (менеджер, кассир, клиент);
· фреймы-сценарии (банкротство, собрание акционеров, празднование именин);
· фреймы-ситуации (тревога, авария, рабочий режим устройства) и др.
Важнейшим свойством теории фреймов является заимствованное из теории семантических сетей наследование свойств. И во фреймах, и в семантических сетях наследование происходит по АКО-связям (A-Kind-Of = это). Слот АКО указывает на фрейм более высокого уровня иерархии, откуда неявно наследуются, т.е. переносятся значения аналогичных слотов.
Основным преимуществом фреймов как модели представления знаний является способность отражать концептуальную основу организации памяти человека, а также её гибкость и наглядность.
Специальные языки представления знаний в сетях фреймов FRL (Frame Representation Language) и другие позволяют эффективно строить промышленные ЭС. Широко известны такие фреймо-ориентированные экспертные системы, как ANALYST, МОДИС.
Формальные логические моделиявляются традиционным способом представления знаний и основанны на классическом исчислении предикатов I порядка, когда предметная область или задача описывается в виде набора аксиом. Однако исчисление предикатов I порядка в промышленных экспертных системах практически не используется. Поэтому эта логическая модель применима в основном в исследовательских «игрушечных» системах, так как предъявляет очень высокие требования и ограничения к предметной области.
Стратегии получения знаний
Существует несколько стратегий получения знаний. Наиболее распространенные:
· приобретение;
· извлечение;
· формирование.
Под приобретением знаний понимается способ автоматизированного построения базы знаний посредством диалога эксперта и специальной программы (при этом структура знаний заранее закладывается в программу).
Эта стратегия требует существенной предварительной проработки предметной области. Системы приобретения знаний действительно приобретают готовые фрагменты знаний в соответствии со структурами, заложенными разработчиками систем. Большинство этих инструментальных средств специально ориентировано на конкретные экспертные системы с жёстко обозначенной предметной областью и моделью представления знаний, т.е. не являются универсальными.
Термин извлечение знаний касается непосредственного живого контакта инженера по знаниям и источника знаний. Извлечение знаний – это процедура взаимодействия эксперта с источником знаний, в результате которой становятся явными процесс рассуждений специалистов при принятии решения и структура их представлений о предметной области.
Термин формирование знаний традиционно закрепился за чрезвычайно перспективной и активно развивающейся областью инженерии знаний, которая занимается разработкой моделей, методов и алгоритмов анализа данных для получения знаний и обучения. Эта область включает индуктивные модели формирования гипотез на основе обучающих выборок, обучение по аналогии и другие методы.