Методы приобретения знаний в интеллектуальных системах
Инженерия знаний – это область информационной технологий, цель которой – накапливать и применять знания, не как объект обработки их человеком, но как объект для обработки их на компьютере. Для этого необходимо проанализировать знания и особенности их обработки человеком и компьютером, а также разработать их машинное представление. К сожалению точного и неоспоримого определения, что собой представляют знания, до сих пор не дано. Но тем не менее цель инженерии знаний – обеспечить использование знаний в компьютерных системах на более высоком уровне, чем до сих пор – актуальна. Но следует заметить, что возможность использования знаний осуществима только тогда, когда эти знания существуют, что вполне объяснимо. Технология накопления и суммирования знаний идет бок о бок с технологией использования знаний, они взаимно дополняют друг друга и ведут к созданию одной технологии, технологии обработки знаний.
В данной работе я постарался описать методы решения одной из проблем данного комплекса – это проблемы приобретения знаний, или говоря другими словами – обучения.
Методы приобретения знаний.
Приобретение знаний реализуется с помощью двух функций: получения информации извне и ее систематизации. При этом в зависимости от способности системы обучения к логическим выводам возможны различные формы приобретения знаний, а также различные формы получаемой информации. Форма представления знаний для их использования определяется внутри системы, поэтому форма информации, которую она может принимать, зависит от того, какие способности имеет система для формализации информации до уровня знаний. Если обучающаяся система совсем лишена такой способности, то человек должен заранее подготовить все, вплоть до формализации информации, т. е. чем выше способности машины к логическим выводам, тем меньше нагрузка на человека.
Функции, необходимые обучающейся системе для приобретения знаний, различаются в зависимости от конфигурации системы. В дальнейшем при рассмотрении систем инженерии знаний предполагается, что Существует система с конфигурацией, показанной на рис, 1.1, которая включает базу знаний и механизм логических выводов, использующий эти знания при решении задач. Если база знаний пополняется знаниями о стандартной форме их представления, то этими знаниями также можно воспользоваться. Следовательно, от функций обучения требуется преобразование полученной извне информации в знания и пополнение ими базы знаний.
Рис.1 Базовая структура систем обработки знаний
Можно предложить следующую классификацию систем приобретения знаний, которая будет опираться на способность системы к восприятию знаний в разных форматах, качественно различающихся между собой и способностью к формализации (рис 2).
Рис 2.Классификация методов приобретения знаний.
Обучение без выводов.
Категорию А можно назвать обучением без выводов или механическим запоминанием, это простой процесс получения информации, при котором необязательны функции выводов, а полученная информация в виде программ или данных используется для решения задач в неизменном виде. Другими словами, это способ получения информации, характерный для существующих компьютеров.
Категория Б—это получение информации извне, представленной в форме знаний, т. е. В форме, которую можно использовать для выводов. Обучающейся Системе необходимо иметь функцию преобразования входной информации в формат, удобный для дальнейшего использования и включения в базу знании.
Приобретение знаний на этом этапе происходит в наиболее простой форме: это знания, предварительно подготовленные человеком во внутреннем формате, какими являются большинство специальных знании, изначально заданных в экспертных системах. В случае прикладных систем инженерии знаний необходимо преобразовать специальные знания из какой-либо области в машинный формат, но для этого нужен посредник, хорошо знающий как проблемную область, так и инженерию знаний. Таких посредников называют инженерами по знаниям. В общем случае для замены функции посредника можно использовать и специальные подпрограммы. Т.е. необходимо иметь функции выводов достаточно высокого уровня, но можно ограничиться и выводами на сравнительно низком уровне, а остальное доверить человеку — в этом и состоит приобретение знаний в диалоге. Примером служит хорошо известная система TEIRESIAS. Это система-консультант в области медицины, разработанная на базе системы MYCIN. Специалисты в проблемной области являются преподавателями обучающейся системы, а ученик — система инженерии знаний — изучает ответы на поставленные задачи и корректирует те правила в базе знаний, которые ранее приводили к ошибкам. Для подготовки знаний в экспертной системе необходимы вспомогательные средства типа редактора знаний, причем в процессе приобретения знаний в диалоге не только редактируются отдельные правила и факты, но и восполняются недостатки существующих правил, т. е. ведется редактирование базы знаний.
Если знания заданы во внешнем формате, например на естественном языке, то следует преобразовать их во внутренний формат. Для этого необходимо понимать внешнее представление, т. е. естественный язык, графические данные и т. п. Фактически приобретение знаний и их понимание тесно связаны. Проблема понимания сводится не только к преобразованию структуры предложений — необходимо получить формат, удобный для применения.
Аналогичная проблема — преобразование во внутренний формат советов, подсказок по решению задач, что называется «операционализацией» знаний В этом заключается центральная проблема искусственного интеллекта; она, в частности, изучает преобразование советов, подсказок, представленных в терминах проблемной области, в процедуры. Например, система UNDERSTAND выполняет операционализацию представления задачи о ханойской башне на английском языке путем построения соответствующих состояний и операций, приводящих к этим состоя* киям.
Приобретение знаний на метауровне
Выше было рассмотрено обучение на объектном уровне, а еще более сложная проблема - приобретение знаний на метауровне, т. е. знаний, основой которых является информация по управлению решением задач с использованием знаний на объектном уровне. Для знаний на метауровне пока не установлены ни формы представления и использования, ни связь со знаниями на объектном уровне, ни другая техника их систематизации. Поскольку не определена форма их представления с точки зрения использования, то трудно говорить о приобретении знаний на метауровне. Тем не менее с этой проблемой связаны многие надежды в инженерии знаний,
Приобретение знаний из примеров
Метод приобретение знаний из примеров отличается от предыдущего метода, тем, что здесь выполняется сбор отдельных фактов, их преобразование и обобщение, а только затем они будут использованы в качестве знаний. И соответственно от уровня сложности системы вывода в системе будут возникать разные по степени общности и сложности знания. Необходимо также упомянуть о том, что этот метод приобретения знаний почти не нашёл практического применения, это может быть связано с тем, что входная информация представляет собой не систематизированный набор данных и для их обработки требуется наличие в системе обширных знаний по конкретной области.
По сравнению с предыдущим методом приобретения знаний, этот метод имеет большую степень свободы и соответственно необходимо описать общие положения этого принципа.
1. Языки представления. Обучение по примерам — это процесс сбора отдельных фактов, их обобщение и систематизация, поэтому необходим унифицированный язык представления примеров и общих правил. Эти правила, будучи результатом обучения, должны стать объектами для использования знаний, поэтому и образуют язык представления знаний. И наоборот, язык представления знаний должен учитывать и определять указанные выше условия приобретения знаний.
2. Способы описания объектов. В случае обучения.по примерам из описаний отдельных объектов создаются еще более общие описания объектов некоторого класса, при этом возникает важная проблема: как описать данный класс объектов. В полном классе некоторых объектов следует определить меньший класс объектов, обладающих общим свойством (объекты только в этом классе обладают заданным свойством), но в действительности проще определить список объектов и убедиться, что все объекты в нем обладают общим свойством. Для некоторого типа задач можно эффективно использовать ложные примеры или контрпримеры, убедительно показывающие, что данные объекты не входят в этот класс.. Иллюстрацией применения контрпримеров может служить понятие «почти то».
3. Правила обобщения. Для сбора отдельных примеров и создания общих правил необходимы правила обобщения. Предложено несколько способов их описания: замена постоянных атрибутов языка на переменные, исключение описаний с ограниченным применением и т. п. Очевидно, что эти способы тесно связаны с языком представления знаний.
4. Управление обучением. В процессе обучения по примерам можно применять различные стратегии структуризации информации и необходимо управлять этим процессом в ответ на входные данные. Существуют два классических метода: метод «снизу-вверх», при.котором, последовательно выбираются и структурируются отдельные сообщения, и метод «сверху-вниз», при котором сначала выдвигается гипотеза, а затем она корректируется по мере поступления информации. На практике эти методы комбинируются, хотя управление обучением с максимальным эффектом не такая уж простая проблема.
При изучении метода приобретения знаний по примерам можно выделить следующий ряд методов:
1. Параметрическое обучение
2. Обучение по аналогии
3. Обучение по индукции.
4.
Параметрическое обучение.
Наиболее простая форма обучения по примерам или наблюдениям состоит в определении общего вида правила, которое должно стать результатом вывода, и последующей корректировки входящих в это правило параметров в зависимости от данных. При этом используют психологические модели обучения, системы управления обучением и другие методы.
Примером обучающейся системы этой категории в области искусственного интеллекта является система Meta-Dentral. Эта система выводит новые правила путем коррекции правил продукций в процессе обучения или на основе исходных массспектральных данных параметрическое обучение в ней представлено в несколько специфичном виде, но все же она относятся к указанной выше категории, поскольку в системе задана основная структура знаний, которая корректируется последовательно по отдельным данным.
Ярким примером применения этого метода приобретения знаний могут также служить системы распознавания образов (обсуждавшиеся ранее в другом докладе). В них ясно просматривается основной принцип этого метода - в ходе обучения нейронная сеть автоматически по определенным заранее законам корректирует веса связей между элементами и значения самих элементов.
Метод обучения по индукции.
Среди всех форм обучения необходимо особо выделить обучение на основе выводов по индукции - это обучение с использованием выводов высокого уровня, как и при обучении по аналогии. В процессе этого обучения путем обобщения совокупности имеющихся данных выводятся общие правила. Возможно обучение с преподавателем, когда входные данные задает человек, наблюдающий за состоянием обучающейся системы, и обучение без преподавателя, когда данные поступают в систему случайно. И в том и в другом случае выводы могут быть различными, они имеют и различную степень сложности в зависимости от того, задаются ли только корректные данные или в том числе и некорректные данные и т. п. Так или иначе, обучение этой категории включает открытие новых правил, построение теорий, создание структур и другие действия, причем модель теории или структуры, которые следует создать, заранее не задаются, поэтому их необходимо разработать так, чтобы можно было объяснить все правильные данные и контрпримеры.
Индуктивные выводы возможны в случае, когда представление результата вывода частично определяется из представления входной информации. В последнее время обращают на себя внимание программы генерации программ по образцу с использованием индуктивных выводов.
Как уже было сказано, индуктивный вывод — это вывод из заданных данных объясняющего их общего правила. Например, пусть известно, что есть некоторый многочлен от одной переменной. Давайте посмотрим, как выводится f(х), если последовательно задаются в качестве данных пары значений (0, f(0)), (1, f(1)),.... Вначале задается (0, 1), и естественно, что есть смысл вывести постоянную функцию f(х)=1. Затем задается (1, 1), эта пара удовлетворяет предложенной функции f{х)= 1. Следовательно в этот момент нет необходимости менять вывод. Наконец, задается (2, 3), что плохо согласуется с нашим выводом, поэтому откажемся от пего и после нескольких проб и ошибок выведем новую функцию f(х)==х2—х+1, которая удовлетворяет всем заданным до сих пор фактам (0, 1), (1, 1), (2,3). Далее мы убедимся, что эта же функция удовлетворяет фактам (3, 7), (4, 13), (5, 21)..., поэтому нет необходимости менять этот вывод. Таким образом, из последовательности пар переменная-функция можно вывести многочлен второй степени. Грубо говоря, такой метод вывода можно назвать индуктивным.
Как видно из этого примера, при выводе в каждый момент времени объясняются все данные, полученные до этого момента. Разумеется, данные, полученные позже, уже могут и не удовлетворять этому выводу. В таких случаях приходится менять вывод. Следовательно, в общем случае индуктивный вывод—это неограниченно долгий процесс. И это не удивительно, если вспомнить процесс освоения человеком языков, процесс совершенствования программного обеспечения и т. п.
Для точного определения индуктивного вывода необходимо уточнить:
1) множество правил—объектов вывода,
2) метод представления правил,
3) способ показа примеров,
4) метод вывода и
5) критерий правильности вывода.
В качестве правил—объектов вывода—можно рассматривать главным образом индуктивные функции, формальные языки, программы и т. п. Кроме того, эти правила могут быть представлены в виде машины Тьюринга для вычисления функций, грамматики языков, операторов Пролога и другим способом. Машина Тьюринга—это математическая модель компьютера, ее в принципе можно считать программой. В случае когда объектом вывода является формальный язык, он сам определяет правила, а его грамматика — метод представления правил, поэтому говорят о грамматическом выводе.
Для показа примеров функции f можно использовать последовательность пар (х,f(х)) входных и выходных значений так, как указано выше, последовательность действий машины Тьюринга, вычисляющей и другие данные. Задание машине выводов пары входных и выходных значений (х, f(х)) функции f соответствует заданию системе автоматического синтеза программ входных значений х и выходных значений f(х), которые должны быть получены программой вычисления f в ответ на х. В этом смысле автоматический синтез программ по примерам также можно считать индуктивным выводом функции f. Формальные языки — это множество слов; поэтому, например, для языка L можно рассматривать