TGViewer
Матчасть Матчасть @matchast · 881 subscribers
Post #242 667
Недавно просили в комментах рассказать про reinforcement learning (обучение с подкреплением). Расскажу вкратце, а вы уж решайте, интересно ли это вам. В общем, RL - это когда модели обучаются методом проб и ошибок.

Делается это не от хорошей жизни. Гораздо проще и удобнее мир supervised learning (обучение с учителем), когда для обучения модели есть готовые пары (x, y), модель предсказывает y', и мы настраиваем её так, чтобы минимизировать различие между y и y'. Но такое возможно не всегда. Бывает, что правильные y получить сложно или дорого – например, надо рекомендовать пользователю контент, но мы не знаем, какие рекомендации являются верными, и можем ориентироваться только на лайки и дизлайки. А ещё бывает, что различие между y и y' невозможно выразить в виде дифференцируемой функции, а значит, сложно оптимизировать – например, если y и y' это тексты, а различие мы меряем как расстояние Левенштейна или BLEU. Для таких ситуаций и придумали RL.

В RL формализм такой: идёт «игра» в несколько шагов, на каждом шаге дано состояние S, модель выбирает действие A и получает за это награду R, и затем мы переходим к следующему шагу. Задача модели – выбирать действия так, чтобы максимизировать сумму наград за всю игру. Например, состояние S может описывать шахматную доску с расстановкой фигур, действие A может быть любым разрешённым шахматным ходом, а награда R на последнем шаге равна +1 в случае победы и -1 в случае поражения, и равна 0 на всех предыдущих шагах. Задача модели – много-много раз сыграть в шахматы и научиться выбирать действия, приводящие к победе.

Один подход к решению таких задач – научить модель по парам (S, A) предсказывать сумму будущих выигрышей. Тогда, оказавшись в состоянии S, можно выбрать действие A, для которого такая предсказанная сумма будет максимальна. Другой подход предлагает по состоянию S сразу предсказывать распределение над всеми возможными A, и выбирать действие из этого распределения. Оба подхода, как видите, сводят RL к SL.

На практике RL применяется мало где, кроме рекомендательных/рекламных систем и некоторых сложных задач генерации текста. Есть большие надежды, что методы RL помогут круто управлять беспилотниками, но, насколько я знаю, пока это не совсем так. А большая часть академических статей обкатывает методы RL на играх, как настольных, так и компьютерных. На Курсере есть курс Practical RL (coursera.org/learn/practical-rl), но, к сожалению, его название является оксюмороном. За весь курс рассматривается только одна прикладная задача (машинный перевод), а во всех остальных заданиях учат играть в игрушки. Впрочем, содержание и подача курса хороши, так что для общего развития я его рекомендовать могу.

Стоит ли вам изучать RL? Для решения прикладных задач – скорее всего, нет. Для удовольствия, тренировки мозгов, и развития собственной интуиции в области оптимальных решений, баланса exploration/exploitation, планирования и, прости господи, общего ИИ – да, вполне.
More from @matchast
  1. Sep 10, 2024Классный хабр от tech_priestess про внутреннюю размерность фигур и пространств эмбеддингов…
  2. Sep 4, 2024Почему почти у всех полезных матриц маленький ранг? В нашей с вами жизни матрицы малого ра…
  3. Sep 5, 2022Ищем в нашу команду Mathshub талантливых инструкторов в сфере machine learning! Кто мы? Ma…
  4. Aug 11, 2022photo post
  5. Aug 8, 2022Представляю бесплатный интенсив из 20 занятий по питону и математике для начинающих. Орган…
  6. Jul 18, 2022Слева: линейная, изотоническая, и сглаженная изотоническая регрессии. Справа: в зависимост…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →