Обучение с подкреплением

Материал из Википедии — свободной энциклопедии
Перейти к: навигация, поиск

Обучение с подкреплением (англ. reinforcement learning) — один из способов машинного обучения, в ходе которого испытуемая система (агент) обучается, взаимодействуя с некоторой средой. С точки зрения кибернетики, является одним из видов кибернетического эксперимента. Откликом среды (а не специальной системы управления подкреплением, как это происходит в обучении с учителем) на принятые решения являются сигналы подкрепления, поэтому такое обучение является частным случаем обучения с учителем, но учителем является среда или её модель. Также нужно иметь в виду, что некоторые правила подкрепления базируются на неявных учителях, например, в случае искусственной нейронной среды, на одновременной активности формальных нейронов, из-за чего их можно отнести к обучению без учителя.

Среда и агент[править | править вики-текст]

Агент воздействует на среду, а среда воздействует на агента. О такой системе говорят, что она имеет обратную связь. Такую систему нужно рассматривать как единое целое, и поэтому линия раздела между средой и агентом достаточно условна. Конечно, с анатомической или физической точек зрения между средой и агентом (организмом) существует вполне определенная граница, но если эту систему рассматривать с функциональной точки зрения, то разделение становится нечётким. Например, резец в руке скульптора можно считать либо частью сложного биофизического механизма, придающего форму куску мрамора, либо частью материала, которым пытается управлять нервная система.

Система подкрепления и её виды[править | править вики-текст]

Розенблатт пытался классифицировать различные алгоритмы обучения, называя их системами подкрепления.[1] Он даёт следующее определение:

Системой подкрепления называется любой набор правил, на основании которых можно изменять с течением времени матрицу взаимодействия (или состояние памяти) перцептрона.

Кроме классического метода обучения перцептрона — метода коррекции ошибки, которого можно отнести к обучению с учителем, Розенблатт также ввёл понятие об обучении без учителя, предложив несколько способов обучения:

  • Альфа-системой подкрепления называется система подкрепления, при которой веса всех активных связей c_{ij}, которые ведут к элементу u_j, изменяются на одинаковую величину r, а веса неактивных связей за это время не изменяются.
  • Гамма-системой подкрепления называется такое правило изменения весовых коэффициентов некоторого элемента, при котором веса всех активных связей сначала изменяются на равную величину, а затем из их всех весов связей вычитается другая величина, равная полному изменению весов всех активных связей, деленному на число всех связей. Эта система обладает свойством консервативности относительно весов, так как у неё полная сумма весов всех связей не может ни возрастать, ни убывать.

Реализации[править | править вики-текст]

  • BURLAP (Brown-UMBC Reinforcement Learning and Planning) — библиотека одно- и многоагентных алгоритмов планирования и обучения с подкреплением, язык Java, лицензия LGPL
  • MMLF (Maja Machine Learning Framework) — библиотека алгоритмов обучения с подкреплением и набор тестовых сред для их проверки, язык Python, лицензия GPL
  • OpenAI Gym — платформа для разработки и сравнения алгоритмов обучения с подкреплением от OpenAI, язык Python, лицензия MIT
  • PyBrain — библиотека алгоритмов машинного обучения, язык Python, лицензия BSD
  • RLPy — библиотека для проведения экспериментов по обучению с подкреплением, язык Python, 3-х пунктовая лицензия BSD
  • Teachingbox — инструментарий для разработки алгоритмов обучения с подкреплением, язык Java, лицензия GPL

См. также[править | править вики-текст]

Примечания[править | править вики-текст]

  1. Розенблатт, Ф., с. 85—88.

Литература[править | править вики-текст]