深入理解强化学习——强化学习的历史:时序差分学习
分类目录:《深入理解强化学习》总目录
相关文章:
· 强化学习的历史:最优控制
· 强化学习的历史:试错学习
· 强化学习的历史:试错学习的发展
· 强化学习的历史: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
相关文章:
深入理解强化学习——强化学习的历史:时序差分学习
分类目录:《深入理解强化学习》总目录 相关文章: 强化学习的历史:最优控制 强化学习的历史:试错学习 强化学习的历史:试错学习的发展 强化学习的历史:K臂赌博机、统计学习理论和自适应系统 强化学习的…...
OpenCloudOS9操作系统搭建Confluence8.0.4企业WIKI
OpenCloudOS9操作系统搭建Confluence8.0.4企业WIKI 1. 概要2. 系统基础环境配置3. 安装并配置MySQL3.1. 安装MySQL3.2. MySQL基本配置3.3. 创建Confluence数据库4. 安装并配置Confluence5. 破解Confluence6. 优化配置Confluence7. confluence对接Windows AD域环境1. 概要 Atlas…...
03-Vue中的常用指令的使用,事件及其修饰符
常用指令 指令语法和插值语法 Vue框架中的所有指令的名字都以v-开始,完整语法格式<HTML标签 v-指令名:参数"javascript表达式(表达式的结果是一个值)"></HTML标签>: 指令的职责是当表达式的值改变时,将其产生的连带影响,响应式地作用于DOM元素不是所有…...
ScrapeKit库中Swift爬虫程序写一段代码
以下是一个使用ScrapeKit库的Swift爬虫程序,用于爬取网页视频的代码: import ScrapeKit// 创建一个配置对象,用于指定爬虫ip服务器信息 let config Configuration(proxyHost: "duoip", proxyPort: 8000)// 创建一个爬虫对象 let s…...
总感觉戴助听器耳朵又闷又堵怎么办?
随着助听器技术的进步发展,这些问题都有了一定程度的改善。例如,现在的助听器变得越来越小巧,外形更加美观和隐蔽;各种降噪技术和验配技巧也提升了助听器的音质和清晰度。 但是,还有一个问题困扰着很多助听器用户&…...
编程助手DevChat:让开发更轻松
#AI编程助手哪家好?DevChat“真”好用 # 目录 前言一、安装Vscode1、下载链接2、安装 二、注册DevChat1、打开注册页2、验证成功完成邮箱绑定3、绑定微信可获得8元 三、安装插件四、配置Access Key1、获取Access Key2、设置Access Key①、点击左下角管理(…...
稳定扩散的高分辨率图像合成
推荐稳定扩散AI自动纹理工具:DreamTexture.js自动纹理化开发包 1、稳定扩散介绍 通过将图像形成过程分解为去噪自动编码器的顺序应用,扩散模型 (DM) 在图像数据及其他数据上实现了最先进的合成结果。此外,它们的配方…...
3 Tensorflow构建模型详解
上一篇:2 用TensorFlow构建一个简单的神经网络-CSDN博客 本篇目标是介绍如何构建一个简单的线性回归模型,要点如下: 了解神经网络原理构建模型的一般步骤模型重要参数介绍 1、神经网络概念 接上一篇,用tensorflow写了一个猜测西…...
智慧农场牧场小程序源码 智慧农业认养系统源码
智慧农场牧场小程序源码 智慧农业认养系统源码 要了解源码的,看文末。 随着科技的进步和人们对绿色食品的需求增加,智慧农场正成为未来农业发展的方向。智慧农场是指运用先进的技术手段,如物联网、云计算、智能控制技术、大数据分析等&…...
3D数据过滤为2D数据集并渲染
开发环境: Windows 11 家庭中文版Microsoft Visual Studio Community 2019VTK-9.3.0.rc0vtk-example参考代码 代码逻辑:初始化数据集points -> 添加数据集到polydata -> 通过vtkVertexGlyphFilter过滤(带顶点、单元数据)po…...
第十一章 ObjectScript 系统宏(二)
文章目录 第十一章 ObjectScript 系统宏(二) 宏引用FormatText(text, arg1, arg2, ...)FormatTextHTML(text, arg1, arg2, ...)FormatTextJS(text, arg1, arg2, ...)GETERRORCODE(sc)GETERRORMESSAGE(sc,num)ISERR(sc)ISOK(sc)Text(text, domain, langua…...
跨境电商大作战:2023黑色星期五准备指南
黑色星期五,作为全球购物狂欢的象征,已经成为了电商业务的一年一度的重要节点。尤其对于跨境电商来说,这一天意味着巨大的商机和挑战。为了在这个竞争激烈的时刻脱颖而出,跨境电商必须做好充分的准备。Nox聚星在这里给大家分享几个…...
我的天!阿里云服务器居然比腾讯云优惠1元!
2023阿里云服务器优惠活动来了,以前一直是腾讯云比阿里云优惠,阿里云绝地反击,放开老用户购买资格,99元服务器老用户可以买,并且享受99元续费,阿腾云亲测可行,大家抓紧吧,数量不多&a…...
鸡尾酒学习——未命名(芒果口味)
1、材料:冰块、伏特加、芒果汁、元气森林卡曼橘味; 2、口感:芒果味道,酸甜为主,苦为辅。 3、视觉效果:黄色液体; 4、步骤: (1)向杯子中加入适量冰块ÿ…...
modbusTCP【C#】
为了编写一个完整的Modbus TCP库,您需要遵循以下步骤: 1. 安装NModbus4库:NModbus4是一个用于C#的Modbus库,它支持串口和TCP通信。您可以通过NuGet包管理器安装它。 2. 创建Modbus主机:使用ModbusIpMaster.CreateIp方…...
解决Linux Debian12系统中安装VirtualBox虚拟机无法使用USB设备的问题
Debian12系统中安装VirtualBox,再VirtualBox虚拟机中无法使用 USB设备。如下图所示: 解决方法如下: 1.安装 Virtualbox增强功能。如下图所示: 2.添加相关用户、用户组( Virtualbox 装完成后会有 vboxusers 和 vboxs…...
Spring事务失效的几种情况及其解决方案
Spring事务失效的几种情况及其解决方案 方法权限修饰符不是public Transactional 使用的是 Spring AOP 实现的,而 Spring AOP 是通过动态代理实现的,而 Transactional 在生成代理时会判断,如果方法为非 public 修饰的方法,则不生…...
libgdx实现淡入淡出过渡
libgdx实现淡入淡出过渡 libgdx实现淡入淡出过渡,环境jdk17、libgdx 1.12.02023年11月1日11:02:50最新 依赖 <properties><maven.compiler.source>17</maven.compiler.source><maven.compiler.target>17</maven.compiler.target>&…...
linux 出现Access-Your-Private-Data.desktop README.txt
参考:https://blog.csdn.net/h66295112/article/details/81085643 参考:https://askubuntu.com/questions/71708/how-do-i-open-access-your-private-data-desktop 原因应该是通过terminal修改了ubuntu密码,然后重启 THIS DIRECTORY HAS BEEN UNMOUNTED TO PROTECT…...
新生儿积食:原因、科普和注意事项
引言: 新生儿积食,也被称为新生儿喂养问题,是新父母常常面临的挑战之一。尽管它通常是一种暂时的问题,但它可能会引起婴儿的不适,导致家长感到担忧。本文将科普新生儿积食的原因,提供相关信息,…...
Janus-Pro-7B开发者案例:教育APP中作业图片批改与讲解生成
Janus-Pro-7B开发者案例:教育APP中作业图片批改与讲解生成 1. 项目背景与需求 在教育科技快速发展的今天,智能批改作业已经成为很多教育APP的核心功能。传统的作业批改方式往往需要老师花费大量时间,特别是对于数学、物理等需要步骤分析的科…...
医学影像处理实战:用Python实现Marching Cubes算法重建CT扫描数据
医学影像处理实战:用Python实现Marching Cubes算法重建CT扫描数据 在医学影像处理领域,三维重建技术正逐渐成为临床诊断和科研分析的重要工具。想象一下,当医生面对一堆二维CT切片时,如何快速构建出患者骨骼或器官的三维模型&…...
浦语灵笔2.5-7B错误排查:常见问题与解决方案大全
浦语灵笔2.5-7B错误排查:常见问题与解决方案大全 1. 开场:为什么你总在部署时卡住? 刚下载完浦语灵笔2.5-7B模型,满怀期待地准备跑通第一个图像理解任务,结果终端里跳出一串红色报错——显存不足、模块找不到、token…...
开源模型运维实践:雯雯的后宫Z-Image-瑜伽女孩Xinference日志监控与告警配置
开源模型运维实践:雯雯的后宫Z-Image-瑜伽女孩Xinference日志监控与告警配置 1. 引言:当你的AI画师“罢工”了怎么办? 想象一下这个场景:你刚部署好一个能生成精美瑜伽女孩图片的AI模型,兴致勃勃地准备创作。你输入了…...
计算机网络学习笔记】初始网络之网络发展和OSI七层模型
以下是基于 Python Pygame 实现的完整俄罗斯方块游戏代码,包含核心功能(方块生成、移动、旋转、消除、计分),注释详细可直接运行:第一步:安装依赖先安装 Pygame 库: pip install pygame 第二步…...
MangoHud源码静态分析报告:潜在问题列表
MangoHud源码静态分析报告:潜在问题列表 【免费下载链接】MangoHud A Vulkan and OpenGL overlay for monitoring FPS, temperatures, CPU/GPU load and more. Discord: https://discordapp.com/invite/Gj5YmBb 项目地址: https://gitcode.com/gh_mirrors/ma/Mang…...
MacOS极简部署OpenClaw:GLM-4.7-Flash云端沙盒体验
MacOS极简部署OpenClaw:GLM-4.7-Flash云端沙盒体验 1. 为什么选择云端沙盒体验 作为一个长期在本地折腾各种AI工具的技术爱好者,我最近被OpenClaw的自动化能力深深吸引。但在第一次尝试本地部署时,就被Node环境配置、依赖冲突等问题劝退。直…...
AI 辅助开发实战:构建高可用毕设深度学习系统的工程化路径
最近在帮学弟学妹们看毕业设计,发现一个挺普遍的现象:很多同学算法思路不错,但一到工程实现就各种“翻车”。环境配一天跑不起来,模型调参全靠手动“玄学”,好不容易训出来的模型,不知道怎么部署给别人用。…...
SpringBoot yml 配置文件,读取 Windows 系统环境变量
SpringBoot yml 配置文件,读取 Windows 系统环境变量 在 Spring Boot 的 application.yml 配置文件中读取 Windows 系统环境变量,主要使用 ${VARIABLE_NAME} 占位符语法。 🔧 在 yml 文件中引用环境变量 在 application.yml 中,你…...
OpenClaw飞书机器人:GLM-4.7-Flash实现智能问答助手
OpenClaw飞书机器人:GLM-4.7-Flash实现智能问答助手 1. 为什么选择OpenClaw飞书GLM组合 去年我接手了一个技术文档整理项目,每天需要处理上百条来自不同渠道的技术咨询。手动回复效率低下,而公有云上的智能客服方案又存在数据安全顾虑。直到…...
