Обучение с подкреплением
Обучение с подкреплением (англ. reinforcement learning) — один из способов машинного обучения, в ходе которого испытуемая система (агент) обучается, взаимодействуя с некоторой средой. С точки зрения кибернетики, является одним из видов кибернетического эксперимента. Откликом среды (а не специальной системы управления подкреплением, как это происходит в обучении с учителем) на принятые решения являются сигналы подкрепления, поэтому такое обучение является частным случаем обучения с учителем, но учителем является среда или её модель. Также нужно иметь в виду, что некоторые правила подкрепления базируются на неявных учителях, например, в случае искусственной нейронной среды, на одновременной активности формальных нейронов, из-за чего их можно отнести к обучению без учителя.
Среда обычно описывается в форме марковского процесса принятия решений (МППР), поскольку многие алгоритмы обучения с подкреплением для этого контекста используют методы динамического программирования[1]. Основное отличие между классическими методами динамического программирования и алгоритмами обучения с подкреплением заключается в том, что последние не предполагают знание точной математической модели МППР и нацелены на большие МППР, где точные методы становятся неосуществимыми.
Среда и агент[править | править код]
Агент воздействует на среду, а среда воздействует на агента. О такой системе говорят, что она имеет обратную связь. Такую систему нужно рассматривать как единое целое, и поэтому линия раздела между средой и агентом достаточно условна. Конечно, с анатомической или физической точек зрения между средой и агентом (организмом) существует вполне определённая граница, но если эту систему рассматривать с функциональной точки зрения, то разделение становится нечётким. Например, резец в руке скульптора можно считать либо частью сложного биофизического механизма, придающего форму куску мрамора, либо частью материала, которым пытается управлять нервная система.
Впервые такого рода обучение с обратной связью было предложено и изучено в 1961 году в работе Михаила Львовича Цетлина, известного советского математика[2].
М. Л. Цетлин тогда поместил конечный автомат определённой конструкции во внешнюю среду, которая с вероятностями, зависящими от совершаемого автоматом действия, наказывала или поощряла автомат. В соответствии с реакцией среды автомат самостоятельно изменял своё внутреннее состояние, что приводило к постепенному снижению числа наказаний, то есть обучению.
Для анализа поведения этого автомата был впервые использован аппарат цепей Маркова, разработанный А. А. Марковым, который позволил получить точные и доказательные результаты.
Этот материал был опубликован в одном из наиболее престижных и влиятельных научных советских изданий — «Доклады Академии наук СССР». М. Л. Цетлин называл эту проблему изучением поведения автомата в случайной среде.
Статья М. Л. Цетлина вызвала волну публикаций, в которых предлагались всевозможные усовершенствования конструкций конечных автоматов, интенсивно использовавшиеся в многочисленных приложениях.
М. Л. Цетлин ввёл в оборот новый термин — целесообразное поведение автомата в случайной среде. Его ученик, В. Л. Стефанюк, рассмотрел в 1963 году задачу о коллективном поведении, определив новый термин — «коллективное поведение автоматов» и детально исследовав поведение пары автоматов, введённых М. Л. Цетлиным в его первой публикации о целесообразном поведении автоматов.
В. Л. Стефанюком была изготовлена действующая обучающаяся модель на полупроводниковых элементах и вакуумных радиолампах, в которой было реализовано коллективное поведение двух таких автоматов. Эта модель была защищена в 1962 году в качестве выпускной работы на Физическом факультете Московского государственного университета.
Мысль о коллективном поведении был использована В.Л.Стефанюком при публикации им в 1967 г. модели коллективного поведения радиостанций и разработке им оригинальной системы мобильной связи, представленной им в нескольких статьях и в кандидатской диссертации, защищенной в 1968 году.
М. Л. Цетлиным была сформулирована задача об играх автоматов, которая моделировала несколько важных проблем биологии и социологии. Несколько позже М. Л. Цетлин и С. Л. Гинзбург описали конструкцию так называемого ε-автомата, который часто используется в современных публикациях по обучению с подкреплением.
Конструкция ε-автомата представляет собой стохастический автомат, работающий в детерминированной среде, которая выдает платежи этому автомату в зависимости от совершаемого им действия. Для математического анализа поведения одиночного ε-автомата и коллективного поведения таких автоматов В. Л. Стефанюк разработал ряд новых асимптотических методов, в которых показано, что основную роль в поведении ε-автоматов играют равновесные состояния. Этими методами В. Л. Стефанюком были получены законченные результаты о поведении ε-автоматов в ряде ситуаций коллективного поведения, относящихся к экономике и медицине.
Многочисленные советские публикации о целесообразном поведении автоматов, представленные в виде докладов на национальных и международных конференциях, через много лет навели авторов обучения с подкреплением на мысль о выделении этого типа обучения в отдельный класс.
Что касается коллективного поведения автоматов, то что-то подобное вылилось у зарубежных авторов в концепцию многоагентных систем, которая изучалась в терминах искусственного интеллекта и программирования. Однако математические методы анализа и доказательства в многоагентных системах практически не использовались, в отличие от работ М. Л. Цетлина и В. Л. Стефанюка по целесообразному поведению автомата, а также по коллективному поведению и играм нескольких автоматов.
Система подкрепления и её виды[править | править код]
Розенблатт пытался классифицировать различные алгоритмы обучения, называя их системами подкрепления.[3] Он даёт следующее определение:
Системой подкрепления называется любой набор правил, на основании которых можно изменять с течением времени матрицу взаимодействия (или состояние памяти) перцептрона.
Кроме классического метода обучения перцептрона — метода коррекции ошибки, который можно отнести к обучению с учителем, Розенблатт также ввёл понятие об обучении без учителя, предложив несколько способов обучения:
- Альфа-системой подкрепления называется система подкрепления, при которой веса всех активных связей , которые ведут к элементу , изменяются на одинаковую величину 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
См. также[править | править код]
- Q-learning
- Обучение с учителем
- Обучение без учителя
- Обратная связь
- Перцептрон
- Марковский процесс принятия решений
Примечания[править | править код]
- ↑ van Otterlo, M. Reinforcement learning and markov decision processes / van Otterlo, M., Wiering, M.. — 2012. — Vol. 12. — P. 3–42. — ISBN 978-3-642-27644-6. — doi:10.1007/978-3-642-27645-3_1.
- ↑ Гельфанд И. М., Пятецкий-Шапиро И. И., Цетлин М. Л. О некоторых классах игр и игр автоматов // Докл. АН СССР, 1963, том 152, номер 4, С. 845—848.
- ↑ Розенблатт, Ф., с. 85—88.
Литература[править | править код]
- Саттон Ричард С., Барто Эндрю Г. Обучение с подкреплением = Reinforcement Learning. — 2-е издание. — М.: ДМК пресс, 2020. — 552 с. — ISBN 978-5-97060-097-9.
- Розенблатт, Ф. Принципы нейродинамики: Перцептроны и теория механизмов мозга = Principles of Neurodynamic: Perceptrons and the Theory of Brain Mechanisms. — М.: Мир, 1965. — 480 с.
- Саттон Ричард С., Барто Эндрю Г. Обучение с подкреплением = Reinforcement Learning. — М.: БИНОМ. Лаборатория знаний, 2017. — 399 с. — ISBN 978-5-94774-351-7.
Ссылки[править | править код]
- Обучение с подкреплением для самых маленьких — Хабрахабр, 19/08/2016.
- Обучение с подкреплением на нейронных сетях. Теория — Хабрахабр, 01/08/2012.
- Обучение с подкреплением — лекция Р. В. Шамина.