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

Эта статья находится на начальном уровне проработки, в одной из её версий выборочно используется текст из источника, распространяемого под свободной лицензией
Материал из энциклопедии Руниверсалис

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

Среда и агент

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

Впервые такого рода обучение с обратной связью было предложено и изучено в 1961 году в работе Михаила Львовича Цетлина, известного советского математика[1].

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

Для анализа поведения этого автомата был впервые использован аппарат цепей Маркова, разработанный А. А. Марковым, который позволил получить точные и доказательные результаты.

Этот материал был опубликован в одном из наиболее престижных и влиятельных научных советских изданий — «Доклады Академии наук СССР». М. Л. Цетлин называл эту проблему изучением поведения автомата в случайной среде.

Статья М. Л. Цетлина вызвала волну публикаций, в которых предлагались всевозможные усовершенствования конструкций конечных автоматов, интенсивно использовавшиеся в многочисленных приложениях.

М. Л. Цетлин ввёл в оборот новый термин — целесообразное поведение автомата в случайной среде. Его ученик, В. Л. Стефанюк, рассмотрел в 1963 году задачу о коллективном поведении, определив новый термин — «коллективное поведение автоматов» и детально исследовав поведение пары автоматов, введённых М. Л. Цетлиным в его первой публикации о целесообразном поведении автоматов.

В. Л. Стефанюком была изготовлена действующая обучающаяся модель на полупроводниковых элементах и вакуумных радиолампах, в которой было реализовано коллективное поведение двух таких автоматов. Эта модель была защищена в 1962 году в качестве выпускной работы на Физическом факультете Московского государственного университета.

В это же время (1963) М. Л. Цетлиным была сформулирована задача об играх автоматов, которая моделировала несколько важных проблем биологии и социологии. Несколько позже М. Л. Цетлин и С. Л. Гинзбург описали конструкцию так называемого ε-автомата, который часто используется в современных публикациях по обучению с подкреплением.

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

Что касается коллективного поведения автоматов, то что-то подобное вылилось у зарубежных авторов в концепцию многоагентных систем, которая изучалась в терминах искусственного интеллекта и программирования. Однако математические методы анализа и доказательства в многоагентных системах практически не использовались, в отличие от работ М. Л. Цетлина и В. Л. Стефанюка по целесообразному поведению автомата, а также по коллективному поведению и играм нескольких автоматов.

Система подкрепления и её виды

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

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

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

  • Альфа-системой подкрепления называется система подкрепления, при которой веса всех активных связей [math]\displaystyle{ c_{ij} }[/math], которые ведут к элементу [math]\displaystyle{ u_j }[/math], изменяются на одинаковую величину 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. Гельфанд И. М., Пятецкий-Шапиро И. И., Цетлин М. Л. О некоторых классах игр и игр автоматов // Докл. АН СССР, 1963, том 152, номер 4, С. 845—848.
  2. Розенблатт, Ф., с. 85—88.

Литература

Ссылки