首页 > 其他分享 >李宏毅《机器学习》总结 - RL

李宏毅《机器学习》总结 - RL

时间:2024-02-22 15:00:23浏览次数:27  
标签:总结 loss 李宏毅 决策 actor policy cdots RL reward

引入

给一张动物的图片,分辨是什么动物。这个问题可以用 CNN 解决(HW3)。核心是通过有标注(label)的图片进行学习。
而在下围棋时,如何落子是一个难以标注的问题,但是机器可以学到什么是好的,什么是不好的。这就是强化学习的适用场景。

结构

总的目标是想找一个 Actor(或称 policy),环境(environment)会给 actor 一个输入(成为 observation),actor 会有对应的输出,成为 action。对于 action 而言,环境会有一个给定的 reward。最终的目标就是要最大化总的 reward(total reward 也叫 return)
image
以这个游戏为例,每次可以向左/向右/开火,想让最后的分数最大。
image

在前面的部分,我们知道深度学习有三个大步骤:设一个未知函数、定义损失值 loss、利用梯度下降等方法求出函数中的参数(Optimization)。
考虑把这些步骤移动到强化学习中。

1. 构建未知函数

image
比如,当看到一张游戏图片,可以构建一个 network,也就是 actor,希望输出的是决策的 distribution。发现这实质上就是一个分类任务。
注意一下,这里的最终决策最好不要用直接 argmax,而是利用这个 distribution 来抽样(sample),抽到的就是当前决策。有两个原因:1. 为游戏添加随机性。2. 让机器看到不同的决策,防止只看一种决策导致机器只会输出这种决策。(exploration)

2. 定义损失 loss

在游戏过程中,会有很多种决策。每个决策都会产生 reward(如击杀怪物,reward 增加,移动时 reward 不变)。
一局游戏从开始到结束之间,会有很多个决策。叫做一个 episode。
我们想要最大化一个 episode 的 total reward。\(R=\sum_{t=1}^Tr_t\) 因为要最大化,因此可以把 loss 设为负的 \(R\),这样就只需要让 loss 越小越好。

3. Optimization

游戏进行过程中,会有很多决策。这个过程可以看成环境给 actor 一个输入(\(s_i\)),actor 根据这个输入做出相应的反应(\(a_i\)),这个反应也会反作用于环境中。同时,每个反应还会产生 reward \(r_i\)(如干掉敌人),把每个时刻的 reward 加起来就是我们要最大化的东西。
其中,\(\tau=\{s_1,a_1,s_2,a_2\cdots \}\) 称为训练过程的 trajectory。
image
由于 actor 是一个普通的 network,这个结构似乎与 RNN 很像,能不能直接用深度学习解?
是不能的,有几个原因:1. actor 的决策是 sample 出来的,有随机性。2. 环境和 reward 实际上是“黑盒子”,我们实际不了解其构造,从而无法求出梯度。3. 环境和 reward 也存在随机性。
在某种意义上,这和 GAN 有点像。把 actor 看成 generator,把 环境和 reward 看成 discriminator。actor 想要通过训练来使得 loss 最小。
这种问题,只能使用 RL 来解。
此外,RL 的随机性也很大。因为 actor 环境和 reward 都会有随机性。

RL 常见算法 - policy gradient

如何控制 actor?

也就是说,如何控制 actor,使得当输入为 \(s_1\) 的时候,我希望 actor 的输出是/不是做xx事呢?(我们把xx事叫做 ground truth,记作\(\hat{a}\))
image
如图,只需要把输出的 loss 定义为 cross entropy,那么想要最小化 loss 只需要让 distribution 的最大值更接近我想做的事。
同理,如果我不想让 actor 做,只需要让 loss 变成负的 cross entropy。
这里,cross entropy 的前面的系数相当于是 ±1,可以拓展成一个系数 \(A\),代表我多想/不想让模型做某个决策
image
如,\(A_N=-10\),说明我非常不想让机器在看到 \(s_N\) 的时候做 \(\hat{a}^N\) 的决策。
简单来说,\(A_i\) 就是我有多希望模型执行决策 \(\{s_i, a_i\}\)

actor 设计 - ver.0

image

直接把某一个决策的系数设为当前决策的 reward。
这样的缺点是比较短视。一个决策没有关注到其对后面的影响。
另外,也存在 reward delay 的情况,即需要牺牲短期的利益获取长期的。

ver.1

使用 cumulated reward。
\(A_1=G_1=r_1+r_2+\cdots\)
\(A_2=G_2=r_2+r_3+\cdots\)
缺点:当 \(n\) 很大的时候,把 \(r_n\) 的 reward 归功于 \(a_1\) 似乎不合理。因此有了 ver.2

ver.2

使用 discount 的 cumulated reward。
引入系数 \(\gamma\),代表当前决策对后续 reward 的影响程度会越来越低。
\(A_1=G_1'=r_1+\gamma r_2+\gamma^2 r_3+\cdots\)
\(A_2=G_2'=r_2+\gamma r_3+\gamma^2 r_4+\cdots\)
image

注意一下,一个 episode 的定义是 trajectory,是很多个 \(\{s_i,a_i\}\) 合起来

ver.3

引入“相对”的概念,对 reward 做标准化处理。
也就是说,虽然可能所有的 reward \(r_i\) 都大于 0,但是也会有相对好和相对差的决策。我们可以选取一个 baseline,做标准化。
image
至于 baseline 如何选取,就是后面的 ver

policy gradient 的流程

image
一个需要注意的地方:收集资料的过程是在循环过程中的。也就是说,每一次更新都需要重新收集数据。
image
重新收集数据是因为,我们希望被训练的 actor,和与环境互动(收集数据)的 actor 是相同的。
这样的 actor 叫做 on-policy。
而 \(\theta^i\) 的训练在 \(\theta^{i-1}\) 的数据的基础上,叫做 off-policy。这样就能优化时间。一个经典的 off-policy 叫做 PPO。

标签:总结,loss,李宏毅,决策,actor,policy,cdots,RL,reward
From: https://www.cnblogs.com/SkyRainWind/p/18026381

相关文章

  • 正则表达式常用,自我总结
    经典实例:[1]+$由26个字母组成的字符串[2]+$由26个字母和0到9数字组成的字符串^-?\d+$整数形式字符串(复数前面有"-"号)[3][1-9][0-9]$正整数形式字符串[1-9]\d{5}中......
  • Charles 抓包工具,支持抓取 exe 无需要额外设置,打开就能使用
    Charles抓包工具,支持抓取exe无需要额外设置,打开就能使用支持Windows、macOS、Linux操作系统下载地址:https://www.charlesproxy.com/download/latest-release/生成注册码生成注册码地址:https://www.charles.ren/RegisteredName:https://zhile.ioLicenseKey:48891c......
  • java中Helloworld!
    java第一个程序,“你好世界”建立第一个程序文件名为:HelloWorld.java如下展示点击查看代码publicclassHelloWorld{ publicstaticvoidmain(String[]args){ system.out.print("HelloWorld!"); }}注意:java类名必须和文件名一致,然后进行文件编译和运行在DOS窗口运......
  • 2023年总结
    2023年:1.工作在狗东,晋升T8级别。2.在技术架构团队,一直在一线。3.输出了5+个工具或者框架,交易团队多少都有在用,输出文档N篇,内网居多,再也没有用一周写一遍像样的文章了(比较忙)。4.大部分业余时间贡献给了中医(线上性能调优搞的有点麻木了,想冲击一下人类最高智慧,颇难,2023共看了......
  • 解密prompt系列24. RLHF新方案之训练策略:SLiC-HF & DPO & RRHF & RSO
    去年我们梳理过OpenAI,Anthropic和DeepMind出品的经典RLHF论文。今年我们会针对经典RLHF算法存在的不稳定,成本高,效率低等问题讨论一些新的方案。不熟悉RLHF的同学建议先看这里哦解密Prompt7.偏好对齐RLHF-OpenAI·DeepMind·Anthropic对比分析RLHF算法当前存在的一些问题有RL的......
  • 读十堂极简人工智能课笔记09_读后总结与感想兼导读
    1. 基本信息十堂极简人工智能课10ShortLessonsinArtificialIntelligence&Robo[英]彼得·J.本特利著译林出版社,2023年5月出版1.1. 读薄率书籍总字数115千字,笔记总字数25104字。读薄率25104÷115000≈21.83%1.2. 读厚方向千脑智能脑机穿越未来呼啸而......
  • 遇到过的rsa解题总结
    rsa证明c=m**emodnm=c**dmodn将式1带入式2 得 m = (m ^ e % N ) ^ d % N需要证明:m == ( m ^ e % N ) ^ d % N(me%N)d%N=>  (me)d%N #模运算 a ^ b % p = ((a % p) ^ b) % pm^(e*d)%N #幂的乘方,底数不变,指数相乘将 e * d......
  • 20240221总结
    P4311士兵占领考虑先把棋盘放满,判掉无解,并把问题转化为拿走最多的棋子。这个问题就一眼最大流了,对于行和列分别建M,N个节点,源点向行节点连流量为该行最多可删个数的边,列节点向汇点连该列最多可删个数的边,对于每个可放士兵的(i,j),从行节点i向列节点j连一条流量为1的边,跑最大流......
  • 深度学习在时间序列预测的总结和未来方向分析
    2023年是大语言模型和稳定扩散的一年,时间序列领域虽然没有那么大的成就,但是却有缓慢而稳定的进展。Neurips、ICML和AAAI等会议都有transformer结构(BasisFormer、Crossformer、Invertedtransformer和Patchtransformer)的改进,还出现了将数值时间序列数据与文本和图像合成的新体......
  • Hello World!
    HelloWorld!PengChengYoung(杨鹏城)ResearchInterestsCompute-In-Memory,DigitalICDesign,AIAccelerator,LLMEducationSep.2024-now:XidianUniversity,HangzhouInstituteofTechnologyM.S.inIntegratedCircuitEngineeringAdvisor:Prof.WeiMao......