关于论文: Ribas-Fernandes, J. J., Solway, A., Diuk, C., McGuire, J. T., Barto, A. G., Niv, Y., & Botvinick, M. M. (2011). A neural signature of hierarchical reinforcement learning.Neuron,71(2), 370-379.的笔记

个人水平有限,难免会有谬误瑕疵,欢迎大家指正


Neural Substrate: 神经基底,神经机制。总之翻译版本很多,大概意思是这个东西是人类生理上的一个函数f(x)。生物上来说它是一些神经元组成的功能单位,能够驱动神经系统完成一些较为复杂的行为。

怎么理解这个东西呢?我们看一句话:

Neural substrates of sexual arousal are not sex dependent. (arousal这个词的意思是性兴奋,比如bo起)

这句话的翻译过来是:男女性兴奋的神经生理基础(即neural substrates)相同,与性别无关。其实就是在说:不管你是男是女,你都有个性兴奋的功能函数f(x),啥时候兴奋了啥时候就调用运行。就酱。

对这个话题感兴趣的童鞋可以去读一下这篇paper: Mitricheva, E., Kimura, R., Logothetis, N. K., & Noori, H. R. (2019). Neural substrates of sexual arousal are not sex dependent. Proceedings of the National Academy of Sciences, 116(31), 15671-15676.

我们回到原来的话题,即一开始提到的讲分层强化学习的paper。这里作者其实是希望找到分层强化学习的计算方法与认知学中的神经机制之间的联系,即人类行为展现出得多层结构与分层强化学习是存在一定关联的。一方面是因为生物的神经机制研究起来本身就很困难,另一方面也是因为当前的一些实验能够表现出分层强化学习和人类分层结构的行为之间是存在一些一致性的。

(人类的行为往往能够展现出多层的结构:一系列简单的动作形成的一套连续组合能够完成一个完整的任务目标。)


Reward Prediction Error (RPE): 当一个人期望的奖励跟他实际获得的奖励不同时,多巴胺会作用神经元释放神经信号,提醒自身得知这个error。

(reference: https://medium.com/the-spike/why-does-the-brain-have-a-reward-prediction-error-6d52773bd9e7)

上面这个medium的小文章里面讲了个跟多巴胺有关的挺有意思的小理论,即意料之外的奖励能促使多巴胺释放:比如一个人拍了你一下肩膀,然后给了你一块儿糖,你得到糖的时候很开心,大脑同时也会“chua!”地一下分泌多巴胺;但是如果反复拍你肩膀然后给糖,逐渐逐渐地,得到糖的时候,多巴胺就不会再分泌了,反而是拍肩膀的时候会刺激多巴胺分泌。这是因为由“拍肩膀”导致“得到糖”已经成为了一件确定的因果事件,但是“拍肩膀”是一件不确定的事件,因为你不知道什么时候会被“拍肩膀”,所以每次你突然被拍了一下肩膀,多巴胺又会"chua!"地分泌了。

(那么问题来了,如果这时候突然拍了你肩膀然后不给你糖的话会怎样?感兴趣的话可以去看一下原文)

(另外这里值得注意的是: (1)多巴胺并不只是受RPE影响,能影响多巴胺分泌的还有很多很多因素; (2)RPE也不是人类在对这个世界做预测感知时唯一的error,此外也还有很多其它errors)


pseudo-reward prediction error (PPE,有的地方也缩写为PRPE): 这个概念只有在分层强化学习中才有,指的是分层行为中一个子过程(subroutine)的RPE。比如说我点了一杯拿铁咖啡,那么其中有一个子过程(subroutine)是往杯子里加牛奶,如果这时候牛奶洒了,那么就会获得一个子过程的reward prediction error (RPE),但是为了跟总任务做咖啡这件事的RPE区分开,这里我们就称之为pseudo-reward prediction error (PPE)。

这里需要注意的是,出现PPE不一定会影响整体的RPE。比如这里就算牛奶洒到了地上,但是最终依然可以做出美味的咖啡。

(这里主目标的奖励叫primary reward,子目标的奖励叫pseudo-reward)


Delivery Game 送快递游戏

作者这里的观点是:在HRL场景下的学习过程可以分为两个levels:首先是global level,这个level的目标是通过学习能够最大化long-term的累计奖励(cumulative reward);其次在second level,这个level则是子过程的自我学习过程。

完成主目标的奖励叫primary reward,而完成子目标的奖励叫pseudo-reward。

别忘了这篇文章讨论的是分层结构,因此这里作者希望可以将以上跟分层思想相关的几个观点能够得到认可。即:任务可以分层,主任务有基本的奖励(即primary);然后每个子过程(subroutine)也都会有个对应的伪奖励(pseudo-reward)。然后他们之间也可以不相关联。

于是作者设计了这样一个送快递游戏:

如图,场景中,玩家操控这辆黄色的货车,先去蓝色的包裹处取包裹,然后送到红色的目标住宅。任务完成时间越短越好。

显然,最快的路线就是先直线行驶到包裹处,在直线行驶到住宅处。

随后作者又给出了5个点ABCDE,这五个点是这样设计的:以卡车和住宅为焦点,过包裹所在位置作椭圆(虚线)。A在椭圆内,B在椭圆外,CDE都恰好在椭圆边缘上。

且A,B,E与卡车的距离与包裹默认位置与卡车的距离相等。

如果在卡车取到包裹之前,包裹的位置突然瞬移到了A/B/C/D/E点上,会有什么影响呢?

(注:这里原文写的是:the package sometimes unexpectedly jumps to a new location before the truck reaches it. 我一开始的理解是包裹会在车开往包裹的过程中的某个时刻进行瞬移,但这样似乎跟后面的结论对不上。比如作者认为包裹瞬移到A点后,总距离变少,能够获得正的RPE,但是如果车已经开到接近原来的包裹处时发生了瞬移,那么车又要掉头再开向A,反而变远了。所以最后我的理解是包裹会在每次任务开始前突然瞬移)

我们知道,椭圆边缘上任意一点到两个焦点的距离和不变,且该距离大于椭圆内任意一点到两个焦点的距离和,且小于椭圆外一点到两个焦点的距离和。

所以,当包裹突然瞬移到A,总距离会减少,那么实际的任务奖励就会比原期望的有所增加(时间越短奖励越高),即此时RPE会有所增加。

但是因为卡车到包裹新位置A的距离保持不变,所以子任务的伪奖励(pseudo-reward)并没有变化,所以在分层强化学习(HRL)中PPE也不变。

反之,包裹跳到B点,RPE减少,HRL中PPE不变。

而跳到C/D/E的情况下,总距离不变,所以RPE不变,但是取包裹这个子任务的耗时会分别变短/变长/不变,所以PPE也会有相应变化。

以上是作者通过一个(分层)强化学习的模拟实验得出的结论(具体计算paper中给了个链接,但是失效了,中间有些疑问比如右图中为什么值的波动是个类似脉冲的尖尖以及为什么范围是[-1, 1],是否做过归一化,都不得而知,暂且存疑)。

AI强化学习计算框架的结论出来了,接下来作者就开始来在真人身上做实验了。

这里做了脑电图(EEG)实验和功能性磁共振(fMRI),但是我不是学生物的看不太懂,所以找到一篇引用了这篇paper的另一篇paper:

Holroyd, C. B., & Yeung, N. (2012). Motivation of extended behaviors by anterior cingulate cortex. Trends in cognitive sciences, 16(2), 122-128.

里面引用Fernandes这篇paper的部分写到:

Along these lines, encouraging evidence from a recent study demonstrated the sensitivity of ACC to HRL reward-prediction error signals in a task in which a subgoal must be completed (collection of a package) before an overall goal is reached (delivery of the package to a set location).

这里的ACC是前扣带回,是参与痛觉情感反应的一个神经系统。这句话说明,在主目标完成前,能够先收到子目标的RPE(个人认为这里其实指的是PPE)的信号,也就是说明人脑也存在这样的“分层结构”,能够对子任务和主任务加以区分和认知。

另外这部分提到了ACC参与痛觉情感反应,缰核(habenula)能够根据过去的恐怖经验对行动做出反应,杏仁核(amygdala)面对危险能够引发应急反应。(所以是不是负面情绪更能刺激人脑学习过程?)


总结一下能得到如下几个结论:

(1) 人脑在处理任务时也存在分层结构;(2) 子任务和主任务的目标和奖励设置是可以不同的,那么我们在设计AI强化学习的时候,先单独学习子任务,再将训练好的子动作模型插入主模型中也应该是符合大脑认知的(个人观点);(3) 其实很多任务都可以分解为多层次的行为,比如文中的送快递游戏例子把送快递分解为取包裹和送货,或许在我们设计强化学习模型时如果更积极地去对任务做划分,也可能会得到更好效果也说不定?

由于个人水平有限,难免会有产生谬误的可能,还请大家批判地看这篇笔记。

分层结构的生活例子_AI的分层强化学习与人脑神经机制的联系相关推荐

  1. 分层结构的生活例子_详解软件分层架构设计、工作原理、实例以及具体架构

    概述 今天的内容主要来自<软件架构模式>第一章,觉得还不错,所以分享给大家. 分层架构 分层架构是一种很常见的架构模式,它也叫N层架构.这种架构是大多数Jave EE应用的实际标准,因此很 ...

  2. 分层结构的生活例子_分层处理,各个击破(案例分析)

    分层处理,各个击破 新课话题是电话约见,考虑到大多数学生用汉语打电话的经历应该不多,看似简单的东西, 想要得体准确地表达并不容易.所以,我分三层处理了这个话题的内容.第一层是日常电话约见,目的是让学生 ...

  3. 分层结构的生活例子_分层作业设计案例

    分层作业设计案例(一) 2012-06-27 18:41:17| 分类: 市微型课题研究资 | 举报 | 字号 订阅 班级 四( 1 )班 学生数 25 人 学科 语文 教学内容 <水上飞机&g ...

  4. 分层结构的生活例子_分层架构中的服务层-服务层实战

    引言 服务层是在交互的两个层中间又定义了另外一个层,典型的是在表现层和业务逻辑层之间.这个中间层只是实现应用的用例的类集合. 服务和面向服务的出现,使得整个解决方案更有价值.更加成功.与表现层相比,服 ...

  5. 分层结构的生活例子_层次分析法经典案例

    层次分析法经典案例 篇一:层次分析法步骤 层次分析法实例与步骤 结合一个具体例子,说明层次分析法的基本步骤和要点. [案例分析] 市政工程项目建设决策: 层次分析法问题提出 市政部门管理人员需要对 修 ...

  6. DNN结构构建:NAS网络结构搜索和强化学习、迁移学习

    前言 谷歌推出的NASNet架构,用于大规模图像分类和识别.NASNet架构特点是由两个AutoML设计的Layer组成--Normal Layer and Reduction Layer,这样的效果 ...

  7. 一个简单的例子让你理解强化学习是什么,和有监督学习的区别又是什么

    一个简单的小例子: 对于一个正在学走路的小屁孩,他一不小心摔倒了,如果他一摔倒就哭,那妈妈就会打他小屁屁,如果他摔倒了会自己爬起来,那妈妈很高兴,就奖励他喝一口奶.这样小屁孩就学会了摔倒了要自己爬起来 ...

  8. Linux 网络设备驱动开发(一) —— linux内核网络分层结构

    Linux内核对网络驱动程序使用统一的接口,并且对于网络设备采用面向对象的思想设计. Linux内核采用分层结构处理网络数据包.分层结构与网络协议的结构匹配,既能简化数据包处理流程,又便于扩展和维护. ...

  9. 【知识图谱论文】HackRL:用于跨图知识融合和协作推理的分层注意强化学习

    Article 文献题目:HackRL: Reinforcement learning with hierarchical attention for cross-graph knowledge fu ...

  10. 1.2.1 计算机网络的分层结构、协议、服务和接口

    文章目录 1.为什么计算机网络要分层? 2.如何分层呢? 3.正式认识分层结构(协议.接口.服务) (1)协议的组成 (2)服务原语 (3)协议.接口.服务之间的关系 1.为什么计算机网络要分层? 如 ...

最新文章

  1. python手册中文版apk-Go、Python 语言解析安卓 APK 包
  2. 事务中SET XACT_ABORT各种用法
  3. hadoop api 复制文件_Hadoop发布新组件:分布式对象存储系统Ozone
  4. WINCE下如何虚拟多个串口
  5. git 移动分支指针_git 分支( branch ) 的基本使用
  6. matlab 地埋管温度场,地埋管换热器周围土壤冻结温度场的模拟研究
  7. PRML-系列一之1.2.1
  8. 需做勿畏拖 效能更轻松
  9. iOS之CATiledLayer的属性简介和使用
  10. 刷脸AI供应商下调业绩预期,苹果股价应声跌掉一个小米
  11. 新手建站之【网站备案】③
  12. 坑爹的360漏洞修补造成win7黑屏
  13. 写计算机老师的一封信200,写给老师的一封信200个字
  14. osm服务器 显示乱码,怎样获得osm上的行政区划shp文件
  15. win7系统无法连接局域网服务器,Win7局域网无法访问如何解决?
  16. 27岁计算机考研,女生27岁考研是否值得?
  17. 应用 2:缓兵之计 ——延时队列
  18. 基于pyskl的poseC3D训练自己的数据集
  19. Redis——Windows安装
  20. 业务“多面手”,基于低代码平台的CRM系统

热门文章

  1. 我经常逛的技术网站,个个经典
  2. 阿里规定代码中禁用这个,为何?
  3. 重磅推荐:2017 年最流行的 15 个数据科学 Python 库
  4. 这几个问题解决了,怎么设计大型网站架构不再是困难
  5. tomcat8打开闪退_直接双击启动tomcat中的startup.bat闪退原因及解决方法
  6. 从零开始--系统深入学习android(实践-让我们开始写代码-Android框架学习-2. 输入控件)...
  7. shell基础之pxe批量部署
  8. 力扣——保持城市天际线
  9. Python必不可少的小技巧,一行代码减少一半内存占用!
  10. Python urllib爬取百度首页