深入理解强化学习——强化学习的历史:时序差分学习

分类目录:《深入理解强化学习》总目录
相关文章:
· 强化学习的历史:最优控制
· 强化学习的历史:试错学习
· 强化学习的历史:试错学习的发展
· 强化学习的历史:K臂赌博机、统计学习理论和自适应系统
· 强化学习的历史:时序差分学习


时序差分学习方法的特点在于它是由时序上连续地对同一个量的估计驱动的,例如下赢井字棋的概率。这条主线比起其他两条更微小、更不显著,但是却对这个领域有很重要的影响,部分原因是因为时序差分学习方法对于强化学习来说似乎是全新且独一无二的。

时序差分学习的概念部分源于动物学习心理学,特别是次级强化物的概念。次级强化物指的是一种与初级强化物(例如食物或疼痛等)配对并产生相似的强化属性的刺激物。Minsky可能是第一个认识到这个心理学的规律对人工智能学习系统很重要的人。ArthurSamuel首次提出并实现了一个包含时序差分思想的学习算法,这个算法是他著名的跳棋程序的一部分。

SamueI既没有参考Minsky的工作也没有与动物学习的理论发生任何联系。他的灵感显然来自于Claude Shannon的建议,Shannon认为计算机可以利用一个估值函数通过编程玩棋类游戏,并且也许能够通过在线修改这个函数来进一步提升性能。Minsky在他的“边向人工智能"论文中更详细地讨论了Sarnuel的工作,提出这项工作与自然以及人工次级强化物理论的联系。

正如我们所讨论的,在Minsky和Samuel发表成果之后的十年,在试错学习领域很少有计算性的研究工作,而时序差分学习领域完全没有计算性的工作。直到1972年,Klopf将试错学习与时序差分学习的一个重要部分相结合。Klopf的研究兴趣在于能够推广到大规模系统中的学习方法,因此他受局部强化的思想所启发,即一个学习系统的各部分可以相互强化。他发展了“广义强化"的概念,即每一个组件(字面上指每一个神经元)将其所有的输人视为强化项:将兴奋的输人视为奖励项,将抑制的输人视为惩罚项。这和我们现在所说的时序差分学习的想法是不同的,追溯起来这个工作比起Samuel的工作离时序差分学习差得更远。而另一方面,Klopf将这个思想与试错学习联系起来,并且将它和动物学习心理学的大量经验数据相关联。

Sutton进一步探索了KIopf的想法、尤其是和动物学习理论的联系。他将由变化导致的学习规则用短期的连续预测表达。他和Barto优化了这些想法并基于时序差分学习建立了一个经典条件反射的心理学模型,之后又有一些其他的有影响力的基于时序差分学习的经典条件反射的心理学模型跟进。当时提出的一些神经科学的模型也可以用时序差分学习来很好地进行解释,尽管这些模型大多数并没有历史上的联系。

我们早期在时序差分学习上的工作受到了动物学习理论以及Klopf的工作的很大影响。我们的工作与Minsky的“迈向人工智能"论文和Samuel的跳棋程序的联系是后来才被认识到的。然而在1981年时,我们完全认识到了之前提到的所有工作是时序差分学习和试错学习主线的一部分。那时我们提出了一种方法用来在试错学习中使用时序差分学习,即“行动器-评判器"(Actor-Critic)架构,并将这种方法应用于Michie和Chambers的平衡杆问题。Sutton在他的博士论文中详细地研究了这个方法,并在Anderson的博士论文中进一步引人了反向传播的神经网络。大约在同一时间,Holland将时序差分的思想通过他的救火队算法应用到他的分类器系统。时序差分算法发展的一个关键步骤是Sutton在1988年推进的,他将时序差分学习从控制中分离出来,将其视作一个一般的预测方法。那篇论文同时介绍了 TD ( λ ) \text{TD}(\lambda) TD(λ)算法并证明了它的一些收敛性质。

在1981年,当我们正在完成“行动器-评判器"架构的工作时,我们发现了lan Witten的一篇论文,它是已知最早的一篇包含时序差分学习规则的论文。他提出了我们现在称为 TD ( 0 ) \text{TD}(0) TD(0)的方法,将其作为自适应控制器的一部分来处理马尔可夫决策过程。这个成果起初于1974年提交到杂志发表,并在Witten的1976年的博士论文中出现。Witten做了Andreae早年用STeLLA以及其他试错学习系统进行实验的后继工作。因此,Witten1977年的论文囊括了强化学习研究的两个主要方向一一试错学习以及最优控制,同时在时序差分学习方面做出了重要的早期贡献。

在1989年,Chris watkins提出的Q学习将时序差分学习和最优控制完全结合在了一起。这项工作拓展并整合了强化学习研究的全部三条主线的早期工作。PauI Werbos自1977年以来证明了试错学习和动态规划的收敛性,也对这项整合做出了贡献。自watkins的成果发表后,强化学习的研究有了巨大的进步,主要是在机器学习领域,当然也包括神经网络以及更广泛的人工智能领域。在1992年,Gerry Tesauro的西洋双陆棋程序TD-Garnmon的巨大成功使这个领域受到了更多的关注。

除此之外,神经科学方面产生了一个多产的子领域,这个子领域关注强化学习算法和神经系统中的强化学习的关系。这个领域的兴起主要是由于许多研究者发现了时序差分算法的行为和大脑中产生多巴胺的神经元的活动的神奇的相似性。《深入理解强化学习》系列后面的文章会介绍强化学习这一令人兴奋的特点。

参考文献:
[1] 张伟楠, 沈键, 俞勇. 动手学强化学习[M]. 人民邮电出版社, 2022.
[2] Richard S. Sutton, Andrew G. Barto. 强化学习(第2版)[M]. 电子工业出版社, 2019
[3] Maxim Lapan. 深度强化学习实践(原书第2版)[M]. 北京华章图文信息有限公司, 2021
[4] 王琦, 杨毅远, 江季. Easy RL:强化学习教程 [M]. 人民邮电出版社, 2022


http://www.niftyadmin.cn/n/5138245.html

相关文章

oracle (9)Storage Relationship Strut

Storage & Relationship Strut 存储和关系支柱 目标: 描述数据库的逻辑结构列出段类型其用途列出控制块空间使用的关键字获取存储结构信息 一、基础知识 1、数据库逻辑结构图 2、Types of Segments 段的类型 3、Storage Clause Precedence 存储条款的优先顺序 …

基于STC系列单片机实现定时器0扫描数码管显示定时器/计数器1作为计数器1产生频率的功能

#define uchar unsigned char//自定义无符号字符型为uchar #define uint unsigned int//自定义无符号整数型为uint #define NixieTubeSegmentCode P0//自定义数码管段码为单片机P0组引脚 #define NixieTubeBitCode P2//自定义数码管位码为单片机P2组引脚 sbit LED P1^0;//位定义…

【Python】海龟图turtle.color() 方法有关RGB颜色设置详解

在Turtle模块中,turtle.color()函数用于设置画笔和填充颜色,你可以使用RGB颜色码作为参数。RGB颜色码由三个数字组成,分别代表红色(R),绿色(G)和蓝色(B)的分量…

gitlab安装使用以及简易设置

# 下载安装包 wget https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/gitlab-ce-15.9.1-ce.0.el7.x86_64.rpm # 安装 rpm -i gitlab-ce-15.9.1-ce.0.el7.x86_64.rpm # 编辑 /etc/gitlab/gitlab.rb 文件 # 修改 external_url 访问路径 http://: # 其他配置修改如下…

react-组件生命周期

一、生命周期阶段 官方文档:https://zh-hans.legacy.reactjs.org/docs/react-component.html React组件生命周期可分为三个阶段:挂载、更新、卸载 挂载:当组件实例被创建并插入 DOM 中时。其生命周期调用顺序如下: constructor()s…

Git 常用操作 - 显示标签、创建标签、推送标签到远程分支、标签删除

标签操作 master合并后发布新版本时,请务必进行标签标注,首先使用 ‘git tag’ 查看历史标签数据,然后对版本号进行递增0.01的操作。 显示标签: git tag标签创建,用 -a 指定标签名,-m 指定说明文字&…

Agent 应用于提示工程

如果Agent模仿了人类在现实世界中的操作方式,那么,能否应用于提示工程即Prompt Engingeering 呢? 从LLM到Prompt Engineering 大型语言模型(LLM)是一种基于Transformer的模型,已经在一个巨大的语料库或文本数据集上进行了训练&…

高阶JAVA篇-深入了解字符集

🔥博客主页: 小扳_-CSDN博客 ❤感谢大家点赞👍收藏⭐评论✍ 文章目录 1.0 字符集的说明 1.1 ASCII 字符集 1.2 GBK 字符集 1.3 UTF-8字符集 2.0 字符集的编码与解码 2.1 编码提供了常见的方法 2.2 解码提供了常见的方法 1.0 字符集的说明 字…