Обучение способности распознавать в мире блоков конструкции и, в частности, арки было впервые рассмотрено как проблемная область обучения Уикстоном [169] в его ранней работе по машинному обучению. Эта область рассматривается в данной главе для иллюстрации некоторых важных механизмов, касающихся обучения. Применяемая здесь трактовка в основном (хотя и не полностью) опирается на программу Уинстона, называемую ARCHES.
LTD
I 1
Арка
Не арка
D D
Не арка
U
Арка
Рис. 18.4. Последовательность примеров и контрпримеров для изучения понятия арки
Программу ARCHES можно использовать для изучения понятия арки на примерах (рис. 18.4). Приведенные здесь примеры обрабатываются последовательно, и ученик постепенно обновляет текущую гипотезу, касающуюся понятия арки. В случае, показанном на рис. 18.4, гипотеза (т.е. окончательное понимание учеником, что такое арка), сформулированная после обработки учеником всех четырех примеров, может неформально выглядеть примерно так, как описано ниже.
1. Арка состоит из трех частей; предположим, что они обозначены как postl (стойка 1), post2 (стойка 2) и lintel (перекладина).
2. Стойки postl и post2 имеют прямоугольную форму, а перекладина lintel может иметь более сложную форму, например многоугольную (этот вывод может быть сделан на основании примеров 1 и 4 на рис. 18.4).
Часть II. Применение языка Prolog в области искусственного интеллекта
3. Стойки postl и post2 не должны соприкасаться (к этому выводу можно прийти на основании отрицательного примера 2).
4. Стойки postl и post2 должны поддерживать перекладину lintel (это следует из отрицательного примера 3).
В целом при изучении понятия путем последовательной обработки учебных примеров процесс обучения проходит через последовательность гипотез об изучаемом понятии, Нь Н2 и т.д. Каждая гипотеза в этой последовательности представляет собой аппроксимацию целевого понятия и результат изучения предыдущих примеров. После обработки следующего примера текущая гипотеза обновляется, что приводит к получению следующей гипотезы. Этот процесс может быть сформулирован в виде описанного ниже алгоритма.
Для изучения понятия С с использованием заданной последовательности примеров Ei, E2,..., Еп (где Ei должен быть положительным примером С) необходимо выполнить перечисленные ниже действия.
1. Принять Ег в качестве начальной гипотезы Н: о понятии С.
2. Обработать все оставшиеся примеры, при этом для каждого примера Ei (i = 2, 3,...) выполнить следующее.
2.1. Сопоставить текущую гипотезу Щ-i с Ei; допустим, что результатом сопоставления является некоторое описание D различий между Hi-i и Ei.
2.2. Доработать гипотезу Hi--, с учетом описания D, а также того, является ли Ei положительным или отрицательным примером С; результатом этого становится уточненная гипотеза н;, касающаяся С.
Окончательным результатом этой процедуры является гипотеза Нп, которая выражает степень освоения системой понятия С, изученного на указанных примерах. В фактической реализации шаги 2.1 и 2.2 требуют определенного усовершенствования. Они являются сложными и в разных обучающихся системах реализованы по-разному. Для иллюстрации некоторых идей и возможных сложностей рассмотрим более подробно случай изучения понятия арки на примерах арок, приведенных на рис. 18.4.
Прежде всего необходимо конкретизировать это представление. В программе ARCHES для представления и учебных примеров, и описаний понятий используются семантические сети. Примеры таких семантических сетей приведены на рис. 18.5. Они представляют собой графы, узлы которых соответствуют объектам, а связи обозначают отношения между объектами.
Первый пример, представленный с помощью семантической сети, становится текущей гипотезой о том, что собой представляет арка (см. граф н на рис. 18.5).
Второй пример (граф Е2 на рис. 18.5) представляет собой отрицательный пример арки. Сопоставить Е2 с Hi несложно. Поскольку обе сети очень похожи, можно легко установить соответствие между узлами и связями в Hi и Е2. Результат сопоставления показывает различие D между Hi и Е2. Различие состоит в том, что в Е есть еще одно отношение, touch. Поскольку в этом состоит единственное различие, система приходит к выводу, что именно по этой причине Е не является аркой. После этого система обновляет текущую гипотезу Нь применяя следующий общий эвристический принцип обучения:
если
пример - отрицательный и
содержит отношение R, который не принадлежит к текущей гипотезе Н, то
запретить применение отношения R в гипотезе Н (ввести в гипотезу Н отношение must_not_R).
Глава 18. Машинное обучение
has part |
Touch
haspait |