Q-Learning и DQN в обучении с подкреплением, этого интервью достаточно!

машинное обучение

1. Что такое обучение с подкреплением

В то время как во многих других алгоритмах машинного обучения учащийся учится тому, что делать, обучение с подкреплением (RL) учится в процессе попытки выбрать какое действие в данной ситуации дает наибольшую награду. Во многих сценариях текущее действие повлияет не только на текущие награды, но и на последующее состояние и серию наград. 3 наиболее важные особенности RL:

  1. В основном в виде замкнутого контура;
  2. нет прямого указания, какие действия выбрать;
  3. Ряд действий и сигналов вознаграждения могут повлиять на более длительное время позже.

Обучение с подкреплением (RL), также известное как обучение с подкреплением, оценочное обучение или обучение с подкреплением, представляет собоймашинное обучениепарадигма иМетодологияодин, используемый для описания и решенияагент(агент) Проблема обучения стратегиям максимизации вознаграждения или достижения конкретных целей в процессе взаимодействия с окружающей средой [1].

На приведенном выше рисунке агент представляет себя. Если это автоматическое вождение, агентом является машина; если вы играете в игру, это игровой персонаж, которым вы управляете в данный момент, например, Марио. Когда Марио движется вперед, окружающая среда остается неизменной. меняется, и есть маленькие монстры или препятствия.Когда появляется объект, ему нужно прыгнуть, чтобы избежать его, то есть выполнить действие (например, идти вперед и подпрыгнуть);Беспилотное действие-это поворот автомобиля налево, поворот право или торможение и т. д., он всегда находится в контакте с окружающей средой. Когда происходит взаимодействие, действие будет возвращено в окружающую среду, которая затем изменит окружающую среду.Если цель вождения беспилотного автомобиля составляет 100 метров, и это проедет вперед на 10 метров, среда будет меняться, поэтому каждый раз, когда генерируется действие, среда будет меняться, а среда будет меняться. способы обратной связи:

  1. Успешная работа (награда) — это положительная обратная связь,
  2. Плохая работа (наказание) — это отрицательная обратная связь.

Агент может поступать хорошо или нет, и окружение всегда будет давать ему обратную связь, и агент будет пытаться принимать решения, выгодные для него самого.По мере взросления детей они постепенно будут различать правильное и неправильное.Это обучение с подкреплением.

2. Модель обучения с подкреплением

Как показано в левой части рисунка выше, агент (например, игрок/агент и т. д.) совершает действие, которое влияет на среду, то есть изменяет состояние, и среда возвращает агенту обратную связь, и агент получает вознаграждение (например, очки/баллы), и этот цикл продолжается до конца.

Описанный выше процесс эквивалентенМарковский процесс принятия решений, почему так называется? потому что он соответствуетгипотеза Маркова:

  • Текущее состояние St определяется только предыдущим состоянием St-1 и поведением и не имеет ничего общего с другими состояниями в предыдущей последовательности.

Как показано в правой части рисунка выше, после того, как состояние S0 прошло через поведение a0, оно получило вознаграждение r1, которое становится состоянием S1, а затем проходит через поведение a0, чтобы получить вознаграждение r2. которое становится состоянием S2, и так далее, и так далее до конца.

2.1 Будущие награды со скидкой

Благодаря приведенному выше описанию каждый определил концепцию, то есть решение, принятое агентом (агентом) в данный момент, определенно максимизирует будущий доход, Тогда сумма вознаграждений, соответствующая марковскому процессу принятия решений, равна:

R=r_1+r_2+r_3+...+r_n

Будущая награда в момент времени t (сейчас) учитывает только следующие награды, а предыдущие не могут быть изменены:

R_t=r_t+r_{t+1}+r_{t+2}+...+r_n

Далее, **Действия, совершаемые в текущей ситуации, могут дать результат, но влияние на будущее неясно, ** Это также соответствует нашему реальному миру, например, никто не знает, что бабочка просто подстрекает крыло один раз вызовет эффект урагана (эффект бабочки). Поэтому текущее поведение является неопределенным на будущее, и требуется скидка, то есть добавляется коэффициент гамма, который представляет собой значение от 0 до 1:

R_t=r_1+\gamma_{}r_{t+1}+\gamma^2r_{t+2}+...+\gamma^{n-1}r_n

Чем дальше время от текущего времени, тем больше будет штрафной коэффициент гаммы, то есть тем более неопределенным оно будет. Цель состоит в том, чтобы найти баланс между текущими и будущими решениями. Гамма, равная 0, эквивалентна тому, что будущее не учитывается, а только настоящее, что является очень недальновидным подходом, в то время как гамма, равная 1, полностью учитывает будущее, что несколько преувеличено. Поэтому обычно гамма принимает значение от 0 до 1.

Rt может быть представлен Rt+1, записанным в рекурсии:

R_t=r_t+\gamma(r_{t+1}+\gamma(r_{t+2}+...))=r_t+\gamma_{}R_{t+1}

2.2 Алгоритм Q-обучения

Функция Q(s, a) (Качество),Массовая функция используется для указания того, что агент совершает действие a в состоянии s иЗатем принять оптимальное условие действияБудущая награда со скидкой за (независимо от выбора будущего действия):

Q(s_t,a_t)=maxR_{t+1}

Предполагая, что у нас есть эта функция Q, мы можем найти максимальное значение выгоды от каждого решения, принятого в текущий момент времени t. Сравнивая эти значения выгоды, мы можемРешение в момент времени t является решением с наибольшим выигрышем среди этих решений.

\pi(s)=argmax_aQ(s,a)

Следовательно, по рекуррентной формуле функции Q можно получить:

Q(s_t,a_t)=r+\gamma_{}max_aQ(s_{t+1},a_{t+1})

** Это заявленная формула Беллмана. ** Формула Беллмана на самом деле вполне разумна. Для государства максимизация будущей награды эквивалентна Максимизируйте сумму немедленного вознаграждения и максимального вознаграждения в будущем для следующего состояния.

** Основная идея Q-обучения: ** Мы можем итеративно аппроксимировать Q-функцию по формуле Беллмана.

2.3 Deep Q Learning(DQN)

Deep Q Learning (DQN) — это метод Q-Learning, который сочетает в себе нейронную сеть и нейронную сеть.

2.3.1 Роль нейронных сетей

Используйте таблицу для хранения каждого состояния состояния и значения Q каждого действия в этом состоянии.Сегодня проблема в том, что это слишком сложно, и состояние может быть больше, чем звезды на небе (например, игра в го).Если вы используете всю таблицу для их хранения, я боюсь, что у нашего компьютера недостаточно памяти, а также отнимает много времени каждый раз искать соответствующее состояние в такой большой таблице.Однако в машинном обучении есть способ Такая вещь очень хороша, и это нейронная сеть.

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

Другая форма заключается в следующем: мы также можем только ввести значение состояния, вывести все значения действия, а затем напрямую выбрать действие с максимальным значением в качестве следующего действия в соответствии с принципом обучения Q.

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

2.3.2 Нейронная сеть для расчета значения Q

Эта часть такая же, как нейронная сеть обучения с учителем.Входное значение состояния, выходное значение Q, и параметры нейронной сети обучаются в соответствии с большим объемом данных, и, наконец, модель расчета Q- Обучение получено. В это время мы можем использовать эту модель. Давайте сделаем обучение с подкреплением.

3. Разница между обучением с подкреплением, обучением с учителем и обучением без учителя

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

    Обучение с подкреплением будет получать результат, сначала пытаясь сделать какое-то поведение без каких-либо ярлыков, и скорректировать предыдущее поведение посредством обратной связи о том, является ли результат правильным или неправильным. лучшие результаты в сложившихся обстоятельствах.

  2. Обучение с учителем — это взаимосвязь между тем, что может сказать алгоритму, какой вид ввода соответствует какому виду вывода. Обучение с учителем делает неправильный выбор и немедленно возвращает алгоритм обратно.

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

  3. Входные данные для контролируемого обучения независимы и одинаково распределены.

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

  4. Алгоритмы контролируемого обучения не учитывают этот баланс и являются просто эксплуататорскими.

    В обучении с подкреплением агент может найти компромисс между исследованием и эксплуатацией и выбрать тот, который принесет наибольшую награду.

  5. Неконтролируемый изучает не сопоставление от ввода к выводу, а шаблон (автоматическое сопоставление).

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

Существенная разница между обучением с подкреплением и первыми двумя: Нет явного понятия данных, которое есть у первых двух, оно не знает результата, только цель. Концепция данных — это большой объем данных.Обучение с учителем и обучение без учителя требуют большого объема данных для обучения и оптимизации модели, которую вы создаете.

контролируемое обучение неконтролируемое обучение обучение с подкреплением
Этикетка правильная и строгая маркировка нет тегов Нет меток, скорректировано на основе отзывов о результатах
входить Независимые и одинаково распределенные Независимые и одинаково распределенные Входные данные всегда меняются, и всякий раз, когда алгоритм выполняет действие, он влияет на входные данные для следующего решения.
вывод Вход соответствует выходу Самообучающиеся картографические отношения функция вознаграждения, то есть результат используется для оценки того, является ли поведение хорошим или плохим

4. Что такое многозадачное обучение

В машинном обучении мы обычно заботимся об оптимизации конкретной метрики, независимо от того, является ли эта метрика стандартным значением или корпоративным KPI. Для достижения этой цели мы обучаем одну модель или ансамбль моделей для выполнения определенных задач. Затем мы уточняем модель, настраивая параметры до тех пор, пока производительность не перестанет улучшаться. Хотя это может обеспечить приемлемую производительность для задачи, мы можем упустить некоторую информацию, которая поможет нам лучше работать с важными для нас показателями. В частности, эта информация представляет собой контролируемые данные для связанных задач.Разделяя информацию о представлении между связанными задачами, наша модель лучше обобщает исходную задачу. Этот подход называется многозадачным обучением.

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

image

5. Ссылки

Машинное обучение легко понять серия статей

3.png


автор:@mantchs

Гитхаб:GitHub.com/NLP-love/ml…

Приглашаются все желающие присоединиться к обсуждению! Улучшайте этот проект вместе! Номер группы: [541954936]NLP面试学习群