Главная arrow Предыстория arrow Базовые агенты
Как начинался компьютер
Компьютерная революция
Двоичный код
Разработки военных лет
Интегральные микросхемы
Микрокомпьютер
Персоны
Сеть
Язык компьютера
Развитие ПО
Гибкие системы
Средства разработки
Информатика
Вычислительная наука
Операционные системы
Искусственный интеллект
Предыстория
Поиск
Знания и рассуждения
Логика
Робототехника
 

 
Базовые агенты Печать

Агенты, основанные на цели

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

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


Следует учитывать, что процедура принятия решений такого рода имеет фундаментальные отличия от описанной выше процедуры применения правил условие-действие, поскольку в ней приходится размышлять о будущем, отвечая на два вопроса: «Что произойдет, если я сделаю то-то и то-то?» и «Позволит ли это мне достичь удовлетворения?» В проектах рефлексных агентов такая информация не представлена явно, поскольку встроенные правила устанавливают непосредственное соответствие между восприятиями и действиями. Рефлексный агент тормозит, увидев сигналы торможения движущего впереди автомобиля, а агент, основанный на цели, может рассудить, что если на движущемся впереди автомобиле загорелись тормозные огни, то он замедляет свое движение.

Учитывая принцип, по которому обычно изменяется этот мир, для него единственным действием, позволяющим достичь такой цели, как предотвращение столкновения с другими автомобилями, является торможение. Хотя на первый взгляд кажется, что агент, основанный на цели, менее эффективен, он является более гибким, поскольку знания, на которые опираются его решения, представлены явно и могут быть модифицированы. Если начинается дождь, агент может обновить свои знания о том, насколько эффективно теперь будут работать его тормоза; это автоматически вызывает изменение всех соответствующих правил поведения с учетом новых условий. Для рефлексного агента, с другой стороны, в таком случае пришлось бы переписать целый ряд правил условие—действие.

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

Агенты, основанные на полезности

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

Поскольку понятие «удовлетворенности» представляется не совсем научным, чаще применяется терминология, согласно которой состояние мира, более предпочтительное по сравнению с другим, рассматривается как имеющее более высокую полезность для агента.

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


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

Обучающиеся агенты

Выше были описаны программы агентов, в которых применяются различные методы выбора действий. Но до сих пор еще не были приведены сведения о том, как создаются программы агентов. В своей знаменитой ранней статье Тьюринг проанализировал идею о том, как фактически должно осуществляться программирование предложенных им интеллектуальных машин вручную. Он оценил объем работы, который для этого потребуется, и пришел к такому выводу: «Желательно было бы иметь какой-то более продуктивный метод».

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

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

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

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


Проект обучающего компонента во многом зависит от проекта производительного компонента. Осуществляя попытку спроектировать агента, который обучается определенным способностям, необходимо прежде всего стремиться найти ответ на вопрос: «Какого рода производительный компонент потребуется моему агенту после того, как он будет обучен тому, как выполнять свои функции?», а не на вопрос: «Как приступить к решению задачи обучения его выполнению этих функций?»

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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