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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  • Альфа-системой подкрепления называется система подкрепления, при которой веса всех активных связей , которые ведут к элементу , изменяются на одинаковую величину 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.

Литература[править | править код]

Ссылки[править | править код]