深入理解强化学习——强化学习的历史:试错学习

分类目录:《深入理解强化学习》总目录


让我们现在回到另一条通向现代强化学习领域的主线上,它的核心则是试错学习思想。我们在这里只对要点做概述,《深入理解强化学习》系列后面的文章会更详细地讨论这个主题。根据美国心理学家R.S.woodworth的说法,试错学习思想可以追溯到19世纪50年代Alexander Bain对“摸索和实验”学习方法的讨论,可以更具体地追溯到1894年英国动物行为学家和心理学家Conway Lloyd Morgan使用这个术语来描述他对动物行为的观察实验。而也许第一个简洁明确地表达出试错学习的本质是学习原则的则是Edward Thorndike:

面对同样的情境时,动物可能产生不同的反应。在其他条件相同的情况下,如果某些反应伴随着或紧随其后能够引起动物自身的满意感,则这些反应将与情境联系得更加紧密。因此,当这种情境再次发生时,这些反应也更有可能再出现。而在其他条件相同的情况下,如果某些反应给动物带来了不适感,则这些反应与情境的联系将被减弱,所以当这种情境再次发生时,这些反应便越来越不容易再现。更大的满意度或更大的不适感,决定了更强化的或更弱化的联系。

Thorndike称之为“效应定律(Law of Effect)”,因为它描述了强化事件对选择行为倾向性的影响。后来,Thorndike修改了定律,更好地解释了动物学习的数据(比如奖励和惩罚之间的区别),但各种形式的定律在学习理论专家中也产生了大量争议。尽管如此,各种形式的效应定律被普遍认为是许多行为背后的基本原则。这是Clark HuII影响深远的学习理论的基础,也是B.F.Skinner实验方法的基础。

在动物学习领域,“强化”一词从Thorndike提出效应定律之后开始使用,最早出现在巴甫洛夫的条件反射著作的1927年英文译本中。巴甫洛夫认为“强化"就是动物行为模式的增强,它来源于动物受到增强剂的刺激后与另一刺激或反应形成的短暂关系。后来,一些心理学家扩展了“强化"一词的意义,也包括了弱化过程,同时它还适用于对刺激事件的忽略或终止。强化对行为的改变会在增强剂被撤回时仍有所保留,因此只吸引动物注意或激发其行为,而不产生持久变化的刺激物不被认为是一种增强剂。

试错学习思想在计算机中的应用最早出现于关于人工智能可能性的思考中。在1948年的报告中,图灵描述了一种“快乐一痛苦系统"的设计,它是根据效应定律运作的:

当达到没有预设动作的状态时,随机选择一些没有遇到过的数据,记录并试探性地应用这些数据。如果发生了痛苦刺激,停止所有动作试探。如果发生了愉悦刺激,则一直保持动作试探。

许多精巧的电子机械设备被制造出来演示试错学习。最早的应该是1933年由Thomas Ross制造的一台机器,它能够穿越迷宫且通过开关设置记住路线。在1951年,已经因为“机械乌龟"成名的W.Grey Walter又制造了能够简单学习的版本。1952年,Claude Shannon演示了一种名叫Theseus的迷宫老鼠,它利用试错法在迷宫中摸索,迷宫本身通过磁铁和继电器在地板上记录成功的路径。J.A.Deutsch描述了一个以他的类似于基于模型的强化学习的行为理论为基础的解迷宫机器。Marvin Minsky在他的博士论文中讨论了强化学习的计算方法,描述了他组装的一台基于模拟信号的机器,他称其为“随机神经模拟强化计算器",SNARCs(Stochastic Neural-AnalogReinforcement Calculators)模拟可修改的大脑突触连接。

构建电子机械学习机器的努力逐渐让位于使用数字计算机通过编程来进行各种类型的机器学习,其中一些也实现了试错学习。Farley和Clark描述了一种通过试错学习的神经网络学习机器的数字化仿真程序。但他们的兴趣很快就从试错学习转向推广性和模式识别,即从强化学习转向有监督学习。这时这些学习类型之间的关系开始出现混乱。许多研究人员认为自己在研究强化学习,但其实是在研究有监督学习。例如,像Rosenblatt和Widrow及Hoff这样的神经网络先驱们显然是被强化学习所激励的。虽然他们使用了“收益”和“惩罚"这样的语言,但他们所研究的系统是有监督的学习系统,适用于模式识别和感知学习。即使在今天,一些研究人员和教科书也在最小化或模糊化这些不同类型的学习范式的区别。例如,一些神经网络教科书使用“试错"一词来描述从训练样本中学习的网络。这种混淆可以理解,因为这些网络就是使用误差信息来更新连接的权重的,但是这忽略了在试错学习中的行为选择的基本特征是基于评估性反馈的,而这些反馈不基于正确的行为应该是什么。

这些困惑在一定程度上,使得对真正的试错学习的研究在20世纪60和70年代变得十分罕见,尽管也有一些例外。在20世纪60年代,“强化"和“强化学习"两个术语在工程文献中首次被用于描述试错学习的工程用途。特别有影响力的是Minsky的论文《走向人工智能》,他在论文中讨论了几个关于试错学习的问题,包括预测、期望,以及他所称的“复杂强化学习系统中的基础性的功劳分配问题":对于一项成功所涉及的许多项决策,你如何为每项决策分配功劳?我们在《深入理解强化学习》系列文章中讨论的所有方法在某种意义上都是为了解决这个问题。NIinsky的论文在今天也是值得一读的。

参考文献:
[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.mzph.cn/news/120629.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

卡尔曼滤波(Kalman Filter)原理及Python实现

Kalman-Filter-Example 项目地址 https://github.com/zhengjie9510/kalman-filter-example 理论公式 详细理论可参考DR_CAN关于卡尔曼滤波器的视频讲解。https://www.bilibili.com/video/BV1dV411B7ME 卡尔曼滤波公式分为预测和更新两部分。 预测公式为: x_hat…

CVE-2022-32991靶场复现

靶场环境: 题目提示了该CMS的welcome.php中存在SQL注入攻击。 CVE官方给出的提示: welcome.php页面存在SQL注入,并且这个参数是eid 打开靶场环境: 页面是一个登陆注册的界面 用户注册: 1 010.com 123456 123456 点击Re…

国家数据局正式揭牌,数据专业融合型人才迎来发展良机

文章目录 每日一句正能量摘要《数据要素安全流通》《Python数据挖掘:入门、进阶与实用案例分析》《数据保护:工作负载的可恢复性 》《Data Mesh权威指南》《分布式统一大数据虚拟文件系统 Alluxio原理、技术与实践》《云原生数据中台:架构、方…

论文阅读(一)城市干道分段绿波协调控制模型研究

[1]酆磊,赵欣,李林等.城市干道分段绿波协调控制模型研究[J].武汉理工大学学报(交通科学与工程版),2021,45(06):1034-1038. 主要内容:该文介绍了基于绿波带宽和关联度的城市干道分段绿波协调控制模型。通过将主干道划分为不同子区域,并根据路段特点进行精准化控制,实现了分段…

【数据库】聚集函数

聚集函数 聚集函数一览AVG() 函数COUNT() 函数MAX() 函数MIN() 函数SUM() 函数 组合聚集函数 聚集函数一览 我们需要汇总数据而不是实际检索,此时我们使用聚集函数进行处理; 聚集函数一览表如下: 函数说明AVG()返回平均值COUNT()返回数量总…

计算机网络之数据链路层(全)

[复习提示] 王道:本章是历年考试中考查的重点。要求在了解数据链路层基本概念和功能的基础上,重点掌握滑动窗口机制、三种可靠传输协议、各种MAC协议、HDLC协议和PPP协议,特别是CSMA/CD协议和以太网帧格式,以及局域网的争用期和最…

Oracle(6) Control File

一、oracle控制文件介绍 1、ORACLE控制文件概念 Oracle控制文件是Oracle数据库的一个重要元素,用于记录数据库的结构信息和元数据。控制文件包含了数据库的物理结构信息、数据字典信息、表空间和数据文件的信息等。在Oracle数据库启动时,控制文件会被读…

华为机试题:HJ6 质数因子

目录 第一章、算法题1.1)题目描述1.2)文的盲的解题思路与答案1.3)牛客链接 友情提醒: 先看文章目录,大致了解文章知识点结构,点击文章目录可直接跳转到文章指定位置。 第一章、算法题 1.1)题目描述 题目…

虚拟机安装openEuler系统

openEuler操作系统简介: openEuler是一款开源操作系统。当前openEuler内核源于Linux,支持鲲鹏及其他多种处理器,能够充分释放计算芯片的潜能,是由全球开源贡献者构建的高效、稳定、安全的开源操作系统,适用于数据库、大…

Python学习笔记第六十九天(Matplotlib 直方图)

Python学习笔记第六十九天 Matplotlib 直方图绘制直方图结合 Pandas绘制直方图Series 对象绘制直方图 后记 Matplotlib 直方图 我们可以使用 pyplot 中的 hist() 方法来绘制直方图。 hist() 方法是 Matplotlib 库中的 pyplot 子库中的一种用于绘制直方图的函数。 hist() 方法…

机架式服务器介绍

大家都知道服务器分为机架式服务器、刀片式服务器、塔式服务器三类,今天小编就分别讲一讲这三种服务器,第一篇先来讲一讲机架式服务器的介绍。 机架式服务器定义:机架式服务器是安装在标准机柜中的服务器,一般采用19英寸的标准尺寸…

棋盘格测距-单目相机(OpenCV/C++)

一、文章内容简述&#xff1a; 1’ 通过cv::findChessboardCorners寻找棋盘格角点 2‘ 用cv::solvePnP计算旋转向量rvec和平移向量tvec 3’ 通过公式计算相机到棋盘格的距离 float distance sqrt(tvec.at<double>(0,0) * tvec.at<double>(0,0) tvec.at<do…

【Java】电子病历编辑器源码(云端SaaS服务)

电子病历编辑器极具灵活性&#xff0c;它既可嵌入到医院HIS系统中&#xff0c;作为内置编辑工具供多个模块使用&#xff0c;也可以独立拿出来&#xff0c;与第三方业务厂商展开合作&#xff0c;为他们提供病历书写功能&#xff0c;充分发挥编辑器的功能。 电子病历基于云端SaaS…

虚拟机kafka

一、kafka安装 &#xff08;1&#xff09;解压 &#xff08;2&#xff09;修改名字为kafka212 &#xff08;3&#xff09;进入/opt/soft/kafka212/config目录&#xff0c;配置文件server.properties 21 broker.id0 36 advertised.listenersPLAINTEXT://192.168.91.11:9092 …

Java API访问HDFS

一、下载IDEA 下载地址&#xff1a;https://www.jetbrains.com/idea/download/?sectionwindows#sectionwindows 拉到下面使用免费的IC版本即可。 运行下载下来的exe文件&#xff0c;注意安装路径最好不要安装到C盘&#xff0c;可以改成其他盘&#xff0c;其他选项按需勾选即可…

mvc 跟mvp 和mvvm的区别

MVC&#xff08;Model-View-Controller&#xff09;&#xff0c;MVP&#xff08;Model-View-Presenter&#xff09;和MVVM&#xff08;Model-View-ViewModel&#xff09;都是软件架构模式&#xff0c;用于将应用程序的不同组成部分分离开来&#xff0c;以便更好地组织和管理代码…

单例模式python实现

单例模式&#xff08;Singleton Pattern&#xff09;是一种常用的软件设计模式&#xff0c;它确保一个类在程序运行期间只有一个实例&#xff0c;并提供一个全局访问点。这种设计模式有助于确保资源的一致性和全局访问&#xff0c;同时也节省了系统资源。 在单例模式中&#xf…

多测师肖sir_高级金牌讲师__接口测试之练习题(6.1)

常见的接口面试题目: 1.postman接口测试&#xff0c;它有一个功能可以设置参数化&#xff0c;你有用过吗? 用过 &#xff08;1&#xff09;新建一个csv.文件 填写user、pwd 新建一个全局变量 user、pwd 点击bodyform-data 填写user、pwd 点击run 导入csv.件 查看结果 &#x…

git log 命令详解

测试仓库 asdf 常用参数 查询指定目录 git -C /Users/yanlp/workspace/asdf log 限制显示提交数量 git log -n 3 限制提交人|邮箱 git log --authorEdwin Kofler | git log --authoredwinkofler.dev 限制一个月内的提交git log --since1.month.ago | git log --since2023-0…

Istio 自动注入 sidecar 失败导致无法访问webhook服务

最近工作中在部署Istio环境的过程中发现官方示例启动的pod不能访问不到Istio的webhook&#xff0c;这个问题也是困扰了我一天&#xff0c;特此记录&#xff0c;便于日后查阅。 我把他归类到sidecar注入失败的情况&#xff0c;报错如下&#xff1a; 1、第一种可能&#xff08;我…