​李宏毅机器学习——强化学习Reinforcement Learning

本文为博客 VIP 文章,开通 VIP 后可阅读全文

开通 VIP

目录

应用场景

强化学习的本质

以电脑游戏为例

强化学习三个步骤

第一步:有未知参数的函数

第二步:定义Loss

第三步:Optimization

RL的难点

类比GAN

Policy Gradient(策略梯度)

怎么学出actor中的参数

如何定义A

Version 0(最简单但不正确)

Version 1

Version 2

Version 3

Actor-Critic(行动者-批评者)

Critic介绍

Critic 怎么被训练出来的

Monte-Carlo (MC)

Temporal-difference (TD)

两种方法对比

version 3.5

version 4:Advantage Actor-Critic

训练Actor-Critic的小技巧

Deep Q Network (DQN)

Policy Gradient

策略梯度的流程

On-policy v.s. Off-policy

搜集资料的技巧:Exploration--增加Actor的随机性

Reward Shaping(sparse reward)

No Reward: Imitation Learning

无奖励的场景

示范学习和监督学习的不同

逆向强化学习

GAN VS IRL

RIG(Reinforcement Learning with Imagined Goals)


应用场景

  • 当我们给机器一个输入的时候,我们不知道最佳的输出应该是什么;
  • 收集有标注的资料很困难的时候

叫机器学习下围棋,最好的下一步可能人类根本就不知道。我们不知道正确答案是什么的情况下,往往就是 RL 可以派上用场的时候,

RL 在学习的时候,虽然不知道正确的答案是什么,但是机器会知道什么是好,什么是不好,机器会跟环境去做互动,得到Reward

强化学习的本质

强化学习的过程和机器学习是一样的,都是寻找函数。不过在强化学习中寻找的函数叫做actor,actor 跟Environment会进行互动,actor能够接受环境给予的observation(观察),做出action去影响 Environment,然后Environment会给这个 Actor 一些 reward(奖励),这个reward说明action是好是坏。我们的目的就是寻找一个用 Observation 当作Input,输出 Action,能将Reward总和最大化的actor。

以电脑游戏为例

游戏界面就是observation,人即决策者就是actor,向左向右跟开火就是action,游戏机就是Environment,得到的游戏分数就是reward。游戏的画面变的时候就代表了有了新的 Observation 进来,有了新的 Observation 进来,你的 Actor 就会决定採取新的 Action。我们想要 Learn 出一个 Actor,使用它在这个游戏裡面的时候,可以让我们得到的 Reward 的总和会是最大的

强化学习三个步骤

定义有未知参数的函数;根据训练资料定义loss;找出能够使loss最小化的函数(优化)

第一步:有未知参数的函数

将机器的观察用向量或矩阵来表示,作为actor的输入;actor输出的每个action对应输出层的每个神经元,每个action会有一个分数。这样看和分类任务是一个东西,不同的点是:强化学习将这些分数作为几率,按照这个几率随机产生输出,也就是sample(采样),而不是将分数最高的那个作为输出。

採取 Sample 有一个好处是说,就算是看到同样的游戏画面,机器每一次採取的行为也会略有不
同,在很多的游戏裡面这种随机性也许是重要的,比如说你在做剪刀石头布的时候如果总是会出石头,就很容易被打爆,如果有一些随机性就比较不容易被打爆。

第二步:定义Loss

这里定义loss也就是定义分数的获得机制,但是我们最后想要最大化的是整局的全部分数之和,而不是局部某一次的分数。负的 Total Reward当做 Loss

补充:一局游戏就是一个episode;reward是某一个行为能立即得到的奖励,return是所有分数相加(total reward)。

 

第三步:Optimization

环境产生的Observation s1 进入actor,actor通过采样输出一个a1,a1再进入环境产生s2,如此往复循环,直到满足游戏中止的条件。s 跟 a 所形成的这个 Sequence又叫做 Trajectory,用 𝜏 来表示。

需要注意的是reward不是只看action,还需要看 Observation,所以 Reward 是一个 Function。

优化目标:找到 Actor 的一组参数,让R(𝜏)的值越大越好。

RL的难点

强化学习最主要的难点就是如何做optimizaton:

  • action是通过采样产生的,具有很大的随机性,给相同的s,产生的a可能是不一样的。
    • 一般的Network在不同的random seed设定下的随机性,是"Training"中的随机性,比如初始化参数随机;但是在Testing中,同样的输入会获得同样的输出。 RL的随机性是在测试时,固定模型参数,同样的输入observation,会有不同的输出action。
  • 只有actor是网络,Environment 和 Reward,根本就不是 Network ,只是一个黑盒子而已;Environment与Reward都有随机性。
    • 环境是黑箱,採取一个行为环境会有对应的回应,但是不知道到底是怎麽产生这个回应,给定同样的行为,它可能每次的回应也都是不一样,具有随机性。
    • Reward就是一个奖励的规则,也不是 Network。

类比GAN

相同点:将actor看成是generator,将环境和reward看成是discriminator,训练出的generator能够使discriminator的corss entropy越大。

不同点:GAN的discriminator是network,而RL的discriminator不是network,无法用梯度下降等方法来调整参数来得到最好的结果。

Policy Gradient(策略梯度)

怎么学出actor中的参数

如果希望Actor在看到某个s时采取某一种行为,只需要把actor输出想成一个分类的问题,为每个Observation设定一个a ̂ (即Ground Truth或label)。针对某一个Observation,a ̂ 是向左移动,如果希望actor采取该行为,则计算Actor跟 Ground Truth 之间的 Cross-entropy,学习让Cross-entropy最小的 θ,就可以让这个 Actor的输出跟Ground Truth 越接近越好;如果不希望actor采取该行为,则L为-e,再学出能够使L最小的actor参数 。

看到这里我有一个疑问:Ground Truth是哪里来的?后文把e当做已知,没有解释Ground Truth来源<

强化学习学习笔记-李宏毅 ref https://www.youtube.com/watch?v=OAKAZhFmYoI&ab_channel=Hung-yiLee 阅读详情

相关推荐

使用Pytorch实现强化学习——DQN算法

使用pytorch实现强化学习DQN算法

Er_Studying_Bai的博客 2万+

强化学习(RL):原理、算法、RLHF落地全解析

本文系统解析了强化学习(RL)的原理、算法及应用,特别聚焦大模型时代的RLHF技术。文章首先阐述了RL的核心概念与五元组交互逻辑,对比了三大机器学习范式。重点介绍了RL三大算法家族(价值函数法、策略梯度法、Actor-Critic)及其应用场景,详细剖析了Q-Learning和REINFORCE算法的执行流程。针对大模型领域,深入讲解了RLHF的三段式技术链路及其在模型对齐中的作用。最后总结了RL面临的样本效率低、训练不稳定等挑战,并给出五步工程落地流程。全文为读者构建了强化学习的完整知识框架,特别突出了R

mingo_敏 580

深度强化学习:入门(Deep Reinforcement Learning: Scratching the surface)

本博客是对学习李宏毅教授在youtube上传的课程视频《Deep Reinforcement Learning: Scratching the surface》所做的笔记,供大家学习参考。需要翻墙:课程视频链接热度起源 RL的方案 学习Go监督学习与增强学习 更多应用 RL的难点 后面内容的大纲 Policy-based ApproachLearning an Actor热度起源 15年2月:Goo

MapleStory的博客 2万+

【学习笔记】强化学习

生活需要Passion!!!

小宝的博客 2512

李宏毅深度强化学习导论——基本概念

李宏毅强化学习简介

日积月累,天道酬勤 1816

Reinforcement Learning强化学习--李宏毅机器学习笔记

强化学习Reinforcement Learning):你不知道输出的“最佳答案”,只能通过与环境互动、收集奖励(Reward)来学习策略。

knofrab的博客 1876

李宏毅机器学习2023HW12—Reinforcement Learning强化学习

李宏毅机器学习2023HW12 强化学习

Tunny_one 1364

李宏毅2020 ML/DL】P107-109 Deep Reinforcement Learning | Scratching the surface

很杂,李老师科普了:A3C与IRL。

记录学习痕迹的公众号:Piper蛋窝 1250

Deep Reinforcement Learning 深度增强学习资源

多谢作者的总结: http://blog.csdn.net/songrotek/article/details/50572935 1 学习资料 增强学习课程 David Silver (有视频和ppt): http://www0.cs.ucl.ac.uk/staff/D.Silver/web/Teaching.html 最好的增强学习教材:

mmc2015的专栏 1240

Reinforcement Learning (李宏毅) 机器学习 2023 Spring HW12 (Boss Baseline)

强化学习是一种机器学习方法,它训练智能体在环境中采取行动,以最大化累积奖励。智能体通过试错与环境互动,学习哪些行动会带来奖励(正反馈),哪些行动会导致惩罚(负反馈)。通过不断地学习和调整策略,智能体逐渐学会如何在特定环境中做出最优决策,以达到最终目标。与监督学习不同,强化学习不需要预先标注的数据,而是通过与环境的互动自主学习。强化学习的应用非常广泛,比如:游戏AI: 训练AI玩各种游戏,例如围棋、Atari游戏等。机器人控制: 控制机器人完成各种任务,例如行走、抓取物体等。

m0_66773231的博客 1364

[机器学习入门] 李宏毅机器学习笔记-37 (Deep Reinforcement Learning;深度增强学习入门)

[机器学习入门] 李宏毅机器学习笔记-37(Deep Reinforcement Learning;深度增强学习入门) PDF VIDEODeep Reinforcement Learning 深度增强学习是一套很复杂的方法,在这里只了解皮毛。 Scenario of Reinforcement Learning 有个傻傻的机器人小白(Agent)去闯荡世界(Environment),

Holeung blog 4026

Lesson 17 Reinforcement Learning(RL)

听课(李宏毅老师的)笔记,方便梳理框架,以作复习之用。本节课主要讲了强化学习Reinforcement Learning(RL).

qq_52641289的博客 1176

李宏毅 Machine Learning 2020 Spring - Introduction

Machine Learning 2020 Spring - Introduction1. 简介2. 机器学习含义3. 你想找什么样的函式?3.1 Rregression3.2 Binary Classification3.3 Multi-class Classification3.4 Generation4. 怎么样告诉机器你想找什么样的函式?4.1 Supervised Learning(监督学习)4.2 Reinforcement Learning强化学习)4.3 Unsupervised Lear

m0_52650517的博客 519

李宏毅学习笔记23.Deep Reinforcement Learning

本节内容只是强化学习的一些入门(皮毛,Scratching the surface)先是从例子讲起,然后还是以红白机上的小蜜蜂为例,讲解了当下AL比较流行的Policy-based,并进行了的机器学习三板斧分析。

老毛的博客 1698

李宏毅机器学习2020版笔记1-课程流程

课程流程图 Regression(回归) 要找的函数的输出是一个数值(scalar)。例如:PM2.5数值预测 Classification(分类) 二分类 输出只有两个类: RNN中输入句子,输出是正面还是负面 多分类 有多个输出类:从多个已知类中输出一个。 CNN中图像分类 Generation(生成) 生成句子或图片: Supervised Learning 给机器输入带标签的数据...

THEGREATHXY的博客 993

李宏毅2020 ML/DL】P115-117 Actor-Critic & Sparse Reward & Imitation Learning

Actor-Critic & Sparse Reward & Imitation Learning (IRL)

记录学习痕迹的公众号:Piper蛋窝 942

李宏毅机器学习笔记16(Reinforcement Learning

Reinforcement Learning 1、什么是强化学习 2、如何实现强化学习(方法)   Policy-based:(learn a actor) 代表算法:Policy-Gradient   Value-based:(learn a critic) 代表算法:Deep-Q-Learning   Actor-Critic: 代表算法:A3C 1、什么...

aomangyu0290的博客 336

李宏毅机器学习课程-DeepReinforcementLearning0218

B站 李宏毅2021春机器学习课程 P79 目录 1、深度强化学习 2、设置偏置 1、深度强化学习 奖励计算过程: 为了最大化R,寻找Actor: 2、设置偏置 保证R不会永远为正! ...

weixin_49747347的博客 557
上一篇: ​李宏毅机器学习——领域适应Domain Adaptation
下一篇: 李宏毅机器学习笔记——Anomaly Detection(异常侦测),ROC AUC score
iwill323
博客等级 码龄5年 96粉丝 73原创
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值