[2022]李宏毅深度学习与机器学习第十二讲(必修)-Reinforcement Learning RL

  • 做笔记的目的
  • What is RL
  • Policy Gradient
    • Version 1
    • Version 2
    • Version 3
  • Actor-Critic
    • Version 3.5
    • Version 4
    • Tip of actor-Critic
  • Reward Shaping
  • No Reward

做笔记的目的

1、监督自己把50多个小时的视频看下去,所以每看一部分内容做一下笔记,我认为这是比较有意义的一件事情。
2、路漫漫其修远兮,学习是不断重复和积累的过程。怕自己看完视频不及时做笔记,学习效果不好,因此想着做笔记,提高学习效果。
3、因为刚刚入门深度学习,听课的过程中,理解难免有偏差,也希望各位大佬指正。

What is RL

当标注很困难的时候,或者我们也不知道什么是正确答案的时候(但是知道什么是好的什么是不好的),我们可以用RL。

RL虽然和普通的网络有很大的差别,但是也是找一个function、定义损失,优化。RL的架构大体如下图。actor做一步,然后环境给出reward同时给机器observation。

具体来说就是让分数总和最大。

在下围棋中就是赢一局reward+1,否则-1

步骤如下图:

第一步找到一个Function,相当于一个普通的分类器。RL大部分都是采取sample,这种随机性在游戏里面是比较重要的。

定义损失,也就是让reward最大。

进行优化找打最大的R,但是训练起来应该比较困难,因为这个network输出每次不一样、Env不是一个network是一个黑盒子同时也具有随机性、reward是一个规则也不是一个network,好像不能用普通的随机梯度下降来做。

Policy Gradient


有一点像监督学习,定义做有利则大于0,做没有好处就小于0,所以我们就需要Training Data来做模型的训练。那么如何产生Traing Data那,重点在于如何定于A。

Version 1

将未来的reward加起来衡量这一步的好坏,但是设计到一个问题,如果游戏很长,那么 r n r_n rn​不一定依赖于 a 1 a_1 a1​。

Version 2

在前面乘以一个 γ < 1 \gamma<1 γ<1这样远距离就影响小了。但是这个可能应该也需要归一化的操作,不然有些太大有些太小。

Version 3

这里涉及到一个问题就是如何衡量b。

之后就可以去用梯度下降的方法去做了,主要是如何设计A。

每次更新一次之后资料就要重新收集,这样非常合理,所以RL非常的耗时。

我们也有一些方法可以收集一次资料更新好几次,技术是PPO。

整个过程需要随机性,不然一些action可能从来没有执行过,Exploration也是一个比较重要的步骤。

Actor-Critic

Critic评价actor的好坏,未卜先知,Value function 直接预测动作的奖励,但如如何训练出来那?

也是玩游戏,然后进行数据收集之后在训练。有MC和TD两种方法。MC的方法是上一部分Version 3 的计算公式。TD是计算公式更加巧妙如下面的第二个图。


虽然两个计算的有差异但是都是对的。

Version 3.5


为什么减掉V是合理的那?因为这样能衡量进行这一步所比随机走一步要好(坏)多少。

Version 4

可以看公式就是,进行当前这一步,比随机走一步要好多少,设计的非常合理。

Tip of actor-Critic

可以共用一些Network。

Reward Shaping

有很多任务,可能获得奖励需要很长时间,甚至获得不了奖励。这个时候我们可能就需要自己设计一些规则。

就像是下面的游戏,我们人为的自己设计一些规则。但是Reward Shaping要我们自己对游戏有理解


我是我们也需要考虑好奇心,遇到一些新的事物,这个新要有意思。

No Reward

reward设计的不合理,机器人可能有神逻辑,同时人定的reward可能并不是最好的。

找到一个expert的示范,来学习。

我们并不能把他看成监督学习来做,因为机器人可能遇不到特殊情况,同时有些行为可能不需要模仿,如果这样机器的能力可能是有限的。

本来不知道reward function,通过expert来反推,简单的reward 不一定会导致简单的actor。

IRL的步骤如下

这就很像GAN,IRL经常用来训练机械手臂。

[2022]李宏毅深度学习与机器学习第十二讲(必修)-Reinforcement Learning RL相关推荐

  1. [2022]李宏毅深度学习与机器学习课程内容总结

    [2022]李宏毅深度学习与机器学习课程内容总结 课程感受 第一讲必修 ML的三个步骤 第一讲选修 深度学习发展趋势 反向传播 从线性模型到神经网络 为什么要用正则化技术 为什么分类是用交叉熵损失函数 ...

  2. [2022]李宏毅深度学习与机器学习第四讲(选修)-GNN

    [2022]李宏毅深度学习与机器学习第四讲(选修)-GNN 做笔记的目的 GNN NN4G DCNN MoNET GTA GIN 做笔记的目的 1.监督自己把50多个小时的视频看下去,所以每看一部分内 ...

  3. [2022]李宏毅深度学习与机器学习第六讲(必修)-GAN

    [2022]李宏毅深度学习与机器学习第六讲(必修)-GAN 做笔记的目的 GAN generator Unconditional generator Theory Behind Tips for GA ...

  4. 深度学习入门笔记(十二):深度学习数据读取

    欢迎关注WX公众号:[程序员管小亮] 专栏--深度学习入门笔记 声明 1)该文章整理自网上的大牛和机器学习专家无私奉献的资料,具体引用的资料请看参考文献. 2)本文仅供学术交流,非商用.所以每一部分具 ...

  5. 深度学习入门(三十二)卷积神经网络——BN批量归一化

    深度学习入门(三十二)卷积神经网络--BN批量归一化 前言 批量归一化batch normalization 课件 批量归一化 批量归一化层 批量归一化在做什么? 总结 教材 1 训练深层网络 2 批 ...

  6. 深度学习之图像分类(十二)--MobileNetV3 网络结构

    深度学习之图像分类(十二)MobileNetV3 网络结构 目录 深度学习之图像分类(十二)MobileNetV3 网络结构 1. 前言 2. 更新 BlocK (bneck) 3. 重新设计激活函数 ...

  7. 深度学习入门(五十二)计算机视觉——风格迁移

    深度学习入门(五十二)计算机视觉--风格迁移 前言 计算机视觉--风格迁移 课件 样式迁移 易于CNN的样式迁移 教材 1 方法 2 阅读内容和风格图像 3 预处理和后处理 4 抽取图像特征 5 定义 ...

  8. 在浏览器中进行深度学习:TensorFlow.js (十二)异常检测算法

    2019独角兽企业重金招聘Python工程师标准>>> 异常检测是机器学习领域常见的应用场景,例如金融领域里的信用卡欺诈,企业安全领域里的非法入侵,IT运维里预测设备的维护时间点等. ...

  9. 【C语言进阶深度学习记录】三十 二维数组与二维指针

    文章目录 1 二维指针(指向指针的指针) 2 二维数组 3 二维数组的类型 3.2 如何动态申请二维数组 4 总结 1 二维指针(指向指针的指针) 指针的本质是变量 指针的指针是保存指针变量的地址.如 ...

最新文章

  1. ai作文批改_英语写作怎么提升?讯飞智能学习机AI作文批改带你实战练习
  2. python手机版怎么运行项目或脚本-python可以在手机上运行吗
  3. C语言变参函数的实现,C语言的那些小秘密之变参函数的实现
  4. java实现123n_java三线程交替打印123……n
  5. Ant Build.xml
  6. yiilite.php,缓存 - yii在哪些情况下可以加载yiilite.php?
  7. C:01---数据类型与ASCII
  8. Qt笔记-拖动文件到QWidget(获取拖动文件路径)
  9. centos7网卡配置文件详解与固定服务器ip
  10. R与RStudio的详细安装教程(有每一步的详细教程!!!!)
  11. oracle数据库刷内存语句,Oracle数据库内存助手
  12. html——点击a标签打开新的标签页
  13. 调整html元素大小 resize
  14. python中随机函数import random作用_python学习之随机函数random
  15. Neo4j CQL高级
  16. ubuntu设置宽带连接及wifi共享
  17. vue3内置组件(Teleport组件,Fragment组件)-传送组件,减少层级
  18. luogu2791 幼儿园篮球题 第二类斯大林数(特)卡常NTT
  19. 10个最佳iOS Photo App模板
  20. 冲破百亿天花板,木浪云用云和智能突破备份边界

热门文章

  1. 2021-03-19SQL语句未正常结束
  2. Hadoop Federation联邦机制
  3. ARMv7,ARM7,ARMA7有什么区别
  4. 总体标准差和标准差的区别
  5. c# 耦合性(依赖性)
  6. 0x80070643-安装时发生严重错误/0x80096005 时间戳签名和/或证书无法验证或已损坏
  7. 密码标准文档下载网站
  8. 福建师范大学2022年2月课程考试《小学科学教育》作业考核试题
  9. 「面向打野编程」iOS多线程:CGD
  10. vmware下ubuntu鼠标滚轮失效解决方法