Скачиваний:
30
Добавлен:
02.04.2015
Размер:
40.96 Кб
Скачать

4. Машинное обучение

Способность к обучению является характерным свойством любой системы, обладающей интеллектом. Герберт Симон в 1983 году определил обучение следующим образом: «Обучение – это любое изменение в системе, приводящее к улучшению решения задачи при ее повторном предъявлении или к решению другой задачи на основе тех же данных».

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

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

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

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

Особенности рассмотренной программы заключаются в следующем:

  • разработчик программы не знает выигрышной стратегии и закладывает в программу только правила игры и алгоритм изменения оценки возможных ходов;

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

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

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

Алгоритм обучения с подкреплением включает в себя четыре основных компонента:

  • π – политика выполнения действий в зависимости от состояния, т.е. функция отображения пространства состояний в пространство возможных действий;

  • r – функция вознаграждения в момент времени t зависит от состояния задачи s и действия a в предыдущий момент времени, т.е. определяет отображение пары «состояние-действие» в меру вознаграждения, характеризующую степень эффективности данного действия для достижения цели;

  • функция ценности V, определяющая ценность состояния s при использовании политики π; т.е. величину вознаграждения, на которое может рассчитывать система, продолжая действовать из этого состояния;

  • модель внешней среды, т.е. механизм реализации существенных аспектов поведения внешней среды.

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

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

Рассмотрим один из возможных алгоритмов определения ценности состояния – метод временных разностей на примере игры «крестики-нолики».

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

В процессе многократного повторения игры с противником значения функции ценности состояний будут меняться, отражая вероятность принадлежности данного состояния к победному. Для этого ценность каждого выбранного состояния V определяется как функция от ценности следующего выбранного состояния и результата игры, т.е. V(sn)=V(sn)+c(V(sn+1)–V(sn)), где – sn состояние в момент времени n, а sn+1 – состояние в момент времени n+1, с – шаговый множитель.

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

73

Соседние файлы в папке СИИ пособие