使用受强化学习启发的技术来校准虚拟实验室中的绩效评估机制
Vasilis Zafeiropoulos 和 Dimitris Kalles
《Applied Sciences》:Calibrating the Performance Assessment Mechanism in Virtual Laboratories with a Reinforcement Learning-Inspired Technique
Vasilis Zafeiropoulos and
Dimitris Kalles
【字体:
大
中
小
】
时间:2026年04月28日
来源:Applied Sciences 2.5
编辑推荐:
摘要 科学大学致力于为学生提供高效的实验室培训,同时确保他们的安全并最小化对实验室设备的损坏。因此,开发远程学习工具是必要的,使学生能够虚拟且安全地学习使用各种实验室仪器和进行实验。由于学生的表现是在现场实验室中评估的,因此也需要在虚拟实验室中进行评估,因
摘要 科学大学致力于为学生提供高效的实验室培训,同时确保他们的安全并最小化对实验室设备的损坏。因此,开发远程学习工具是必要的,使学生能够虚拟且安全地学习使用各种实验室仪器和进行实验。由于学生的表现是在现场实验室中评估的,因此也需要在虚拟实验室中进行评估,因此,嵌入使用者在虚拟实验室中表现的评估机制是一个必要的功能。为了使评估机制可靠且不受设计者偏见的影响,可能需要使用机器学习进行校准。希腊开放大学开发了自己的虚拟生物实验室Onlabs,该实验室模拟了实地实验室环境,用于学生的培训和评估。考虑到在Onlabs中评估用户的表现,它是根据特定实验设计的,并基于一个嵌入式评分算法。这个评分算法分为两部分:衡量所必需步骤的执行程度以及这些步骤的执行顺序是否正确。在显微镜实验的过程中,评分算法已经使用各种机器学习技术进行了重新校准。在本文中,我们提出了一个强化学习变体的设计,并重新校准了与步骤顺序相关的评分措施。结果表明,在特定参数和强化学习方法下,可以实现更有效的评分机制。
1. 引言
Onlabs是一个交互式虚拟实验室,旨在支持希腊开放大学(HOU)的本科和研究生生物学学生的远程实验室教育。与传统的现场实验室培训相比,虚拟环境允许学生自由探索实验室空间并与其仪器互动。他们可以测试不同的操作,包括错误使用设备,而不用担心损坏真正的仪器或危及安全。这种自由使学生能够通过试错来学习。在实验过程中,系统还可以以语音指令和文本提示的形式提供指导,帮助用户逐步完成实验。此外,系统还可以评估用户在特定实验中的表现,并以数字分数的形式呈现结果。尽管有这些优势,But Onlabs中的实验并不旨在取代真实的实验室培训。相反,它作为一种补充工具,为学生参加实际实验室课程做准备。每年,学生都会收到软件的最新版本,并被鼓励在家里练习使用。从用户体验的角度来看,Onlabs类似于现代电脑游戏。它具有先进的3D图形和交互元素,用户通过键盘和鼠标与环境互动。系统还包括任务和目标,指导用户完成实验程序。这种互动模式类似于冒险类游戏:用户使用箭头键在环境中导航,并通过按下按钮、旋转旋钮或使用鼠标组合特定物品等方式与对象互动。图1展示了Onlabs虚拟实验室的截图。
1.1 Onlabs版本和游戏模式
Onlabs的发展随着时间的推移和技术的变化而演变。2012年至2016年间,该平台使用Hive3D实现,而从2016年起则使用Unity开发,这两种都是先进的3D游戏引擎。到目前为止,已经发布了多个版本的软件。最新的稳定版本是Onlabs 2.1.2,于2019年11月发布。开发工作继续进行到3.0版本,该版本的测试版于2020年10月发布。Onlabs 2.1.2包括两个模拟的实验程序以及三种不同的交互模式:
- 显微镜观察实验:用户需要准备显微镜,制作测试样本,并使用光学生物的所有物镜进行观察。
- 制备500毫升10X TBE水溶液:用户使用电子秤称量17.4克硼酸和54克Trizma Base粉末,然后用磁力搅拌器将它们溶解在水中,再加入额外的水和EDTA pH 8.0来完成溶液。
系统提供了三种游戏模式:
- 指导模式:系统通过语音和文本指令指导用户完成实验过程。在这种模式下,用户只能在每一步中执行建议的操作。
- 评估模式:用户可以在实验过程中自由执行任何有效的操作,并在实验结束时收到对其表现的评估。
- 实验模式:用户可以自由地与两种程序中所有可用的实验室仪器和对象互动,但不会进行任何评估。
3.0测试版引入了两个更新的实验程序,取代了2.1.2版本中的程序。这两个程序分别是:
- 显微镜观察实验:与之前的版本类似。
- 电泳实验:初始阶段包括制备500毫升10X TBE水溶液。在3.0版本中,显微镜观察实验可以在指导模式和评估模式下进行。相比之下,电泳实验目前还不能在这两种模式下进行;然而,电泳仪器及其全部功能都包含在实验模式中。
Onlabs 2.1.2和Onlabs 3.0测试版都可以从项目网站下载并使用:http://onlabs.eap.gr/(访问日期为2026年2月20日)。
1.2 Onlabs嵌入式评估机制
Onlabs中集成的评估机制主要考虑用户表现的两个方面:实验过程中执行的操作(如实验室仪器的操作)以及这些操作的顺序。因为实验中涉及的不同操作的重要性不同,每个操作都被赋予了特定的权重。这些权重反映了操作对实验成功完成的贡献及其在正确程序顺序中的重要性。最初,这些权重的值是根据教师的建议确定的。然而,这种手动估计可能只具有部分准确性。因此,依赖于这些参数的评估机制的有效性可能会受到限制。为了改进评估系统的校准,Onlabs结合了人机学习交互,使用多种机器学习(ML)技术来近似生物学教师通常做出的评分决定。对于与实验完成率相关的权重校准,可以根据用于计算完成度的具体指标,采用遗传算法(GA)或人工神经网络(ANN)。这些方法依赖于包含多次用户游戏 session 的训练数据集以及多位专家提供的性能评估。
同时,与操作顺序相关的权重使用强化学习(RL)的一个变体进行校准。在这种情况下,学习过程基于虚拟实验室环境中由非玩家角色(NPC)执行的一系列自动化游戏 session。本文重点介绍了这种RL方法的设计和实现。ML训练程序在一个名为Onlabs ML 1.0的专用软件版本中实现。与平台的其他版本一样,这个版本也可以从项目网站下载和测试。
2. 背景和相关工作
虚拟实验室通常被描述为技术支持的学习环境,可以通过桌面模拟或使用头戴式显示器的完全沉浸式VR系统提供。在这些环境中,学生可以在数字环境中进行科学研究、模拟实验程序、测试假设和收集数据[1,2]。由于COVID-19大流行期间对远程和灵活学习的需求增加,虚拟实验室的发展和使用也在加速,这有助于解决传统实验室教学中的几个局限性[3,4]。传统实验室经常面临诸如设备和高消耗品成本高、与危险物质相关的安全问题、实验室资源访问受限以及重复昂贵或耗时实验的困难等问题[3,5]。文献强调了关于使用虚拟实验室的几个重要发现:
- 可比较的学习成果:比较虚拟实验室与传统动手实验室的综述表明,根据评估的知识或技能类型,学生可以实现等效甚至在某些情况下更优的学习成果[2]。
- 对情感成果的好处:虚拟实验室在改善学习的情感方面特别有效。元分析显示,它们对学生的积极性和学习过程参与度有显著的正面影响[6]。
- 程序技能的发展:特别是沉浸式虚拟实验室,是向学生介绍实验室设备和实验程序的宝贵工具。它们允许学习者在参与真实实验室工作之前,在安全的环境中练习和发展实践技能[4,5]。
- 补充而非替代:在工程和科学教育的研究中,一个共同的结论是,虚拟实验室最好作为传统实验室的补充,而不是完全替代。虽然作为教学支持非常有效,但它们还不能完全复制实际实验室的经验[4,6,7]。当它们融入结合沉浸式和交互式数字体验与传统教学基础优势的混合学习方法中时,其价值最大[8]。
目前,沉浸式VR技术的持续进步正在推动沉浸式虚拟实验室的发展,这类实验室提供多感官和高度互动的学习环境,超越了物理实验室的限制[7]。以下小节全面概述了与虚拟实验室评估机制优化相关的现有文献,这也是我们论文的主题。我们特别描述了教育游戏中评分的一般原理,然后是ML和RL在更广泛的游戏领域中的应用,接着是这些技术与评分优化的具体交叉点,最后介绍了基于ML的自动化评分在虚拟和远程实验室中的具体应用。
2.1 教育游戏中的评分
教育游戏和模拟长期以来因其促进引人入胜和有效学习体验的潜力而受到认可[9]。与传统教学方法不同,游戏提供了交互式环境,学习者可以积极参与、实验并立即获得反馈。这些环境中的一个关键组成部分是评分机制,它具有多种用途:
- 动机和参与:分数提供了关于表现的具体反馈,成为学习者改进和更深入参与内容的强大动力[10]。高分可以激发成就感,而低分可以突出需要进一步关注的领域。
- 表现评估:除了激励之外,评分系统通常还旨在评估学习者在模拟环境中的理解能力、技能掌握和决策能力。它们可以量化朝向学习目标的进步[11]。
- 指导和反馈:评分系统的结构可以隐性地引导学习者朝向期望的行为或最佳策略。通过奖励特定行为或结果,系统强化正确的方法,并帮助学习者理解他们选择的后果[12]。
- 进度和难度调整:在许多教育游戏中,分数或表现指标决定了关卡的进展或难度的动态调整,确保挑战适合学习者当前的技能水平[13]。
然而,为复杂的教育模拟(如3D虚拟实验室)设计有效的评分机制存在重大挑战。传统的基于规则的评分可能比较僵化,无法充分考虑学习者解决问题的细微和多样化的方法。它可能无法充分捕捉学习过程本身,而仅仅关注最终结果[14,15]。此外,设计不佳的评分系统可能会无意中激励不良行为或产生挫败感,从而降低教育价值。理想的评分系统应该是适应性的、公平的,并真正反映学习目标,鼓励探索和批判性思维,而不是机械记忆或简单的任务完成[14,15]。**游戏中的机器学习与强化学习**
机器学习(ML)及其更具体的应用——强化学习(RL)已经彻底改变了游戏行业的多个方面,其影响范围不仅限于娱乐,还扩展到了游戏设计、玩家建模和内容生成等领域[16]。
**游戏中的机器学习应用**:
- **玩家建模**:预测玩家行为、偏好和技能水平,以个性化游戏体验、提供定制化的提示或动态调整游戏难度[17]。
- **程序化内容生成(PCG)**:自动生成游戏资产、关卡、任务或剧情,通常会根据玩家输入或历史数据进行调整[18]。
- **机器人AI**:创建表现出类似人类或具有挑战性行为的智能NPC,从基于简单规则的代理到复杂的基于学习的实体不等[19]。
- **欺诈检测与作弊预防**:识别玩家数据中的异常模式,这些模式可能表明存在作弊或恶意行为[20]。
强化学习在游戏中的应用则侧重于训练代理在环境中做出序列决策,以最大化累积奖励[21]。由于其固有的特性,这种范式特别适用于游戏:
- **序列决策**:游戏通常涉及一系列随时间发生的动作,当前的动作会影响未来的状态和奖励。
- **明确的目标(奖励)**:游戏通常有明确的目标,这些目标可以转化为强化学习代理的奖励信号。
- **模拟环境**:游戏为强化学习代理提供了一个自然且通常是高保真的模拟环境,以便它们进行交互和学习。
强化学习在开发能够玩复杂游戏的代理方面取得了显著的成功,这些代理的表现往往超过人类[22],例如DeepMind的AlphaGo击败了围棋世界冠军[22],以及在《星际争霸II》[23]和《Dota 2》[24]等视频游戏中表现出色的代理[23, 24]。这些应用展示了强化学习学习复杂策略并优化长期目标的能力。
**在游戏开发中的强化学习应用**:
- **NPC的AI**:训练游戏角色展现出智能和适应性的行为,使游戏更具挑战性和沉浸感[25]。
- **游戏平衡**:使用强化学习代理来测试和平衡游戏机制,确保公平性和最佳的挑战性[26]。
- **个性化体验**:开发能够学习玩家个体风格并相应调整游戏的代理[27]。
**2.3. 强化学习在评分优化中的应用**
虽然机器学习和强化学习已经在游戏中得到了广泛应用,但它们在优化嵌入式评分机制方面的具体应用仍是一个相对较新但极具前景的领域,尤其是在教育环境中。其核心思想是利用机器学习/强化学习的学习能力来创建一个不仅公平准确,而且能够动态适应学习目标和个体学习进度的评分系统。
传统的评分系统通常是静态且手工制作的,这使得它们容易受到学习者行为变化或不可预见的问题解决方法的影响。机器学习和强化学习为克服这些限制提供了一条途径:
- **适应性评分**:基于多个因素(如动作效率、解决方案的新颖性、对科学原则的遵守程度以及随时间观察到的“学习收益”)来学习分配分数的机器学习驱动的评分系统,而不是采用固定的分数点[28]。
- **个性化反馈**:强化学习优化的评分机制可以提供更细致和个性化的反馈。例如,它可能会对高级学习者更严厉地惩罚低效的操作,而对初学者则更为宽容,或者根据观察到的动作序列突出特定的概念误解[29]。
- **最优路径发现**:在像虚拟实验室这样的复杂模拟环境中,可能有多种有效的问题解决路径。强化学习代理可以学习识别并适当奖励不同的成功路径,而不是强制采用单一的“正确”解决方案。这鼓励了探索和创造性问题解决[30]。
- **自动化评分系统设计**:机器学习技术可以分析专家演示或成功学生互动的大数据集,以自动推断出最优的评分权重或参数。然后,强化学习可以通过与虚拟实验室的迭代交互来优化这些参数,将“分数”视为需要优化的奖励信号[31]。
该领域的现有工作通常涉及智能辅导系统和自适应学习环境,其中机器学习用于建模学生知识并提供定制化的指导[32]。然而,直接应用强化学习来学习评分函数本身,尤其是在动作连续且复杂的动态3D虚拟实验室中,是一个值得探索的领域。这种方法超越了仅仅使用机器学习来预测分数或调整内容,而是真正优化了学习环境中“良好”表现的定义。挑战在于为强化学习代理定义适当的奖励信号,这些信号能够准确反映学习目标和教学目标,使系统能够收敛到一个真正提升教育体验的评分机制。
**2.4. 虚拟实验室中机器学习在评分优化中的应用**
除了在游戏中的评分算法优化之外,还有一些基于机器学习的评分优化尝试,用于评估用户在虚拟实验室中的表现。Abd El-Haleem等人[33]提出了一个实时运行的基于机器学习的绩效评估模块,该模块不依赖于每个实验室任务的硬编码规则,而是通过分析鼠标动态(速度、点击模式和移动轨迹)来识别“困难”的行为。通过在这些交互模式上训练ANN和SVM等模型,软件可以自动识别学生是否感到困惑,并触发虚拟助手或因效率低下而扣分,而无需直接接触模拟的内部代码。
此外,Maiti[34]专注于IIT Kharagpur的NetLAB实验室管理系统,详细介绍了自动评分学生报告的原型。该系统设计用于处理数据驱动的结果和概念性问题,并能在完成在线课程后立即授予学分并发放反馈。
Zhou等人的工作[35]代表了更近期的进展,他们探索了使用大型语言模型(LLMs)来自动化报告评分的主观部分。研究人员在网络控制系统实验室中实现了一个系统,利用ChatGPT(GPT-3模型)来评估实验步骤和自然语言答案。该软件将学生采取的动作序列及其书面解释与评分标准进行比较,旨在消除人工评分的主观性和劳动强度。
Chen等人[36]则专注于计算机科学虚拟实验室的自动评估系统的技术架构,特别是解决主观简答题的问题。他们提出了一种基于标准答案的“分词”(tokenization)和多级语义相似性的方法来进行文本评分。该系统在大学虚拟实验平台上进行了测试,证明了它可以提供准确高效的评分,同时帮助学生识别具体的知识缺口。
**3. 概念建模**
Onlabs的虚拟环境是离散的,这意味着其中包含的对象被视为独立的元素,而不是连续空间的一部分。这些对象只能通过代理可用的有限预定义动作进行操作。此外,环境是确定性的,这意味着每当执行某个特定动作时,环境的最终状态由该动作以及之前的环境状态唯一决定,没有任何随机变化[37]。
Onlabs虚拟实验室中有几种不同类型的实体,可以分为角色或无生命对象。系统中的主要角色是Ego Character,它通过应用程序界面与环境交互。
从设计和实现的角度来看,实体通过类来表示。一个类作为描述一组相似实体的抽象模型。例如,Onlabs中出现的每个瓶子(如洗涤瓶或EDTA瓶)都是瓶子类的一个实例。类也可以通过继承进行层次化组织。在这种情况下,一个专门的类继承自一个更通用的基类。例如,瓶子类继承自容器类,这意味着瓶子具备容器的通用特性,同时也包含瓶子特有的属性。为了简便起见,以下讨论中的实体通常会使用它们的类名来指代,除非涉及同一类的多个实例,在这种情况下,则会使用具体的实例名称。
Onlabs中的大多数无生命对象都支持用户对其执行的一系列操作。这些操作包括:
- **拾取**:将对象转移到用户的库存中;
- **按下**:适用于按钮、开关等元素;
- **旋转**:用于旋钮等组件;
- **与另一个对象一起使用**:允许将一个对象与另一个对象组合。
每个类都关联有一组描述其状态的特征。这些特征可以是定性的(字母数字)或定量的(数值),具体取决于它们所取的值类型。例如,显微镜的AC开关的状态特征是定性的,可能的值为“ON”和“OFF”。相比之下,光圈旋钮的位置特征是定量的,接受0到40范围内的整数值。
用户可以通过两种方式修改这些特征的数值:当用户对相应实体执行操作时直接修改;或者当一个实体的操作触发另一个实体的变化,从而导致感兴趣的实体特征值发生变化时间接修改。例如,按下显微镜的AC开关会将其状态特征的值从“ON”改为“OFF”。同样,将显微镜的插头连接到插座会将其连接状态特征从“断开”改为“连接到插座”。
在适当的情况下,状态转换图用于表示Onlabs环境中特征值的变化[38]。对于上面提到的两个例子,相应的图分别显示在图2和图3中。
- 图2. AC开关状态特征的状态转换图。
- 图3. 显微镜连接状态特征的状态转换图。
**4. 评估机制**
如引言中所讨论的,Onlabs中实现的评分系统基于两个主要指标来评估用户表现。第一个指标是成功率,反映了用户完成特定实验所需步骤的程度。第二个指标是惩罚分,考虑了这些步骤的执行顺序。
正确完成显微镜操作所需的步骤如图1所示[1]。表1指定了与每一步骤相关联的特定值分配。其中一些值是字母数字的,而大多数是数值的。评估过程首先计算与这些值相对应的个别分数,然后将这些分数结合起来得出总体性能分数。
在计算个别分数之前,必须进行两个准备工作:字母数字值的量化和数值值的归一化。
**4.1. 量化**
表1中的第一个分配涉及显微镜的连接状态特征,该特征的值为“连接到插座”。这个特征只有两种可能的状态:“断开”和“连接到插座”。因此,量化过程很简单:状态“断开”映射为0,而“连接到插座”映射为1。
同样的方法也应用于步骤2中的分配,其中AC开关的状态特征也有两种可能的值:“OFF”和“ON”。在量化过程中,“OFF”转换为0,而“ON”转换为1。类似地,当没有样本时,显微镜载物的特征被赋值为0;当连接了测试样本时,该特征被赋值为1。
类似的量化方案也用于其他可能在实验过程中状态会变化的字母数字特征。
**4.2.****规范化**
上述值在量化之后已经进行了规范化,因为它们位于区间 [0, 1] 内(0 和 1 是该范围内唯一的有效值)。在实际应用中,对于前面提到的特征,即显微镜的连接状态、交流开关的状态以及显微镜台上的样本,初始的量化值为 0,而期望或最优值为 1。
接下来,我们将说明当一个数值特征不自然地落在区间 [0, 1] 内时如何进行规范化。以显微镜光圈旋钮的位置特征为例,该旋钮控制着光圈的开合,从而影响通过光学系统的光量。这个特征的值范围是从 0(对应于光圈完全关闭的状态)到 40(对应于光圈完全打开的状态)。
为了将这个范围映射到规范化的区间,需要一个规范化函数,当位置值为 0 时返回 0,当位置值为 40 时返回 1。用于此目的的函数如下所示:
```python
functionnormalize_position(value):
return (value - 0) / (40 - 0)
```
该函数的图形如图 4 所示。图 4 展示了光圈旋钮位置规范化后的结果。系统对系统中其他可变特征的数值也应用了类似的规范化程序。
**4.3 成功率**
一旦确定了各个分数,它们就被组合成一个总体指标,称为成功率。
成功率是通过所有单个分数的加权平均值来计算的:
```python
success_rate = sum(score * weight for score in scores for weight in weights)
```
其中,`scores` 表示完成整个过程所需的步骤数(对于显微镜观察实验来说是 16),`weights` 表示分配给第 `i` 个分数的预定义权重。因为每个单个分数的最大值为 1,所以成功率也保证不会超过 1。然而,为了便于用户理解,系统会显示一个缩放后的成功率,范围在 0–100 之间。
**4.4 处罚分数**
实际上,成功率衡量的是各个特征值与其最优值之间的“距离”,即当相关过程成功完成时所达到的值。但它并不衡量这些最优值被实现的顺序;换句话说,也不衡量必需步骤的执行顺序。例如,在我们的显微镜观察过程中,如果用户首先打开了交流开关(步骤 2),然后才将显微镜插头插入插座(步骤 1),那么成功率将与他们按正确顺序执行这些步骤时的成功率相同;然而,总体分数肯定会更低。
为此,如果某个步骤被错误地执行,就会分配一个惩罚分数。为了设置惩罚机制,我们首先定义 `head` 为距离实验最后一步最近的那一步的索引。例如,如果距离实验最后一步最近的是第 8 步(在我们的显微镜观察过程中是测试精细焦距旋钮),那么 `head` 就是 8。我们还定义了 `penalty_weight` 作为该步骤的惩罚权重(通常与用于计算成功率的权重不同),以及 `pre-head` 和 `post-head` 分别表示转换前后对应的单个分数。
当执行某个特定步骤时,系统会检查在该步骤之前所有步骤中的特征值是否都是最优值,如果有任何值不是最优值,则根据以下公式分配惩罚分数:
```python
penalty = (value - optimal_value) * penalty_weight
```
从公式 (3) 可以看出,对于特定的 `head`,如果所有必要的前置步骤都成功完成,它们对总惩罚分数没有贡献。例如,如果 `head = 3`(即第 3 步,在我们的显微镜观察示例中是设置显微镜光强旋钮到 18),并且所有必要的前置步骤(将显微镜插入插座和打开显微镜开关)都已完成,那么这些步骤的分数都为 1,相应的差值为 0。
考虑到某个步骤的执行情况,如果它产生的单个分数小于步骤执行前的分数,那么它会对惩罚分数有所贡献;然而,如果新的单个分数大于或等于之前的分数,则不会产生贡献。下面通过一个例子来更好地说明这一点。假设 `head` 是第 3 步,需要将显微镜光强旋钮设置为 18。如果在这一轮操作中光强旋钮已经被调整过,例如设置为 12,而用户将其旋转到 16,那么对总惩罚分数没有贡献。然而,如果用户将旋钮旋转到 10(即离最优值更远的值),则会像之前的步骤一样对惩罚分数有所贡献。
显然,这种对单个分数的特殊处理方式是为了惩罚用户偏离了最优值,而不是因为他们向最优值靠拢或保持不变。
最后,产生的惩罚分数会加到已经累积的惩罚分数上,规则如下:
```python
total_penalty = penalty + previous_penalties
```
**4.5 综合分数**
在评估模式下完成一次操作后,系统会向用户显示综合分数,该分数的范围与成功率相同,也在 0 到 1 之间,但还会受到其他因素的影响,这些因素会与成功率相乘。这些因素包括惩罚分数(在前一小节中简要提到过)、从会话开始到结束所经过的秒数(减去完成实验过程所需的最短时间),以及重置率(衡量各种仪器组件被重置到原始状态的程度)。
综合分数的基本公式如下:
```python
composite_score = success_rate * penalty_points + time_passed / min审理终结_time + reset_rate
```
其中,`success_rate`、`penalty_points` 和 `time_passed` 是已知量,`min审理终结_time` 是一个常数。
**5. 强化学习用于惩罚评估机制的重配置**
在上一节中,我们描述了用于评估人类用户表现的评估机制。然而,到目前为止,成功率和惩罚分数指标的权重都是由人类专家直观地定义的。克服这种基于直觉的权重设置的障碍最有效的方法是使用机器学习(ML)来重新定义这些权重。
成功率的权重是通过遗传算法进行重新校准的,同时我们还使用人工中性网络(NPC)作为另一种成功率指标,并使用反向传播(Back-Propagation)来进行权重微调。读者可以在我们的最新出版物 [39] 中找到关于这项工作的详细介绍。
关于惩罚权重的重新校准,本文的主题是使用 NPC 和强化学习(RL)变体来进行训练。此外,正如我们将在第 7.3 节中详细解释的,除了优化惩罚权重之外,我们还将研究所提出的奖励公式是否具有内在的可学习性,这也使用了强化学习作为评估机制。
**5.1 强化学习的设计**
在强化学习(RL)过程中要遵循的理想路径与评估模式下定义的路径相同。对于显微镜观察过程,它包括第 4 节表 1 中显示的相同 16 个步骤。
**5.1.1 状态表示**
在 RL 设计中,我们将使用一个由各个单个分数组成的分数向量来表示状态,假设我们的环境对代理来说是完全可观察的,并且没有隐藏配置。具体到显微镜观察过程的状态表示,我们使用一个 16 个值的向量,因为完成该过程需要执行 16 个步骤,每个步骤对应于 16 个特征中的一个值的变化。
因此,向量 `initial_state` 表示游戏的初始状态,此时所有步骤都未被执行,相应特征值为零;向量 `connected` 表示显微镜已连接到插座的 state(第一个元素为 1);向量 `on` 表示显微镜开关也打开的状态(第一个和第二个元素为 1);向量 `fully_open` 表示显微镜插头已连接到插座且光圈完全打开的状态(第一个和第四个元素为 1);最后,向量 `successful` 表示所有必要步骤都已完成的状态,所有特征值均为 1,因此成功率也为 100%。
**5.1.2 动作**
正如第 3 节中提到的,人类用户可以被允许执行的动作包括拾取(Pick Up)、按下(Press)、取出(Withdraw)、缩放(Zoom)、旋转(Rotate)和使用另一个对象(Use With)。在机器人训练中,对这些动作进行了一些简化,以减少状态空间的大小,而不影响概念表达能力。
首先,在机器人训练中,NPC 使用的是已经准备好的显微镜样本(例如血细胞计数器的样本),而不是像在 Onlabs 的其他游戏模式中那样从组件中准备测试样本。因此,拾取动作在机器人训练中是没有用的,因此被省略了。
其次,当人类用户执行旋转动作时,通常会有一个很大的旋转范围,表示旋转的程度和方向(例如,在粗焦距旋钮的情况下,旋转范围可能从 -100(向下旋转 100 个位置)到 +150(向上旋转 150 个位置)。这实际上相当于有数千种不同的旋转动作,会导致大量的动作数量,从而成为一个难以处理的强化学习问题。因此,在机器人训练中,旋转动作经过 plusieurs 简化处理,不再包含任何参数。
旋转动作的状态取决于所操作的对象以及当前实验过程的上下文。例如,将显微镜插头插入插座后,在不通过目镜的情况下向上旋转粗焦距旋钮几个位置,然后再立即向下旋转(或相反),这相当于测试粗焦距旋钮,这是成功完成显微镜观察过程所必需的步骤之一。因此,在机器人训练中,我们定义了一个单独的动作 `Test`,它包括向两个相反方向各旋转几个位置。
为了将旋钮旋转到相对于特定步骤的最优位置(例如,在使用 4X 物镜进行显微镜观察时旋转粗焦距旋钮),我们采用了另一种方法;具体来说,我们定义了 `Pivot Towards Optimal Position` 动作,它包括将旋钮旋转到最优位置。然而,对于精细焦距旋钮的情况,我们做了例外处理,因为其旋转到最优位置可能需要太长的时间,导致训练结果不现实。为了覆盖这种情况,我们为旋钮设置了最大旋转次数(200 次)的限制。这样就可以防止精细焦距旋钮被无限旋转;其他旋钮可以在更少的次数内达到最优位置,这个限制不会影响它们。
还有一个可旋转的显微镜部件——旋转鼻镜,它没有最优位置,其旋转会改变对焦的物镜。我们希望旋转转动鼻架的功能能够将焦点切换到右侧或左侧的下一个物镜上。因此,我们定义了“顺时针旋转”和“逆时针旋转”两个动作,分别表示顺时针和逆时针旋转90度。由于这里有4个物镜,按顺序为4X、10X、40X和100X(4个物镜每个之间旋转90度可以构成一个360度的循环)。总结来说,机器人训练中可用的动作包括:按键;撤回;缩放;测试;调整到最佳位置;顺时针旋转;逆时针旋转;与另一个物镜一起使用。5.1.3. 状态价值函数还是状态-动作价值函数?我们所定义的状态表示仅包含各个单独的分数,而不包括这些分数获得的顺序。然而,对于总分来说,不仅需要考虑各个分数的最终值,还需要考虑它们获得的顺序。因此,根据第5.1.1节中描述的状态表示,如果一个强化学习(RL)状态价值函数仅捕捉当前状态的价值而不包含关于其前置状态的信息,那么它将不适合用于机器人训练。相比之下,状态-动作价值函数能够同时考虑这两个因素,因此似乎更为合适。5.1.4. 表格强化学习还是函数逼近?函数逼近要求定义一个可微分的参数化状态-动作价值函数,以确保RL方法理论上能够收敛[21]。鉴于我们的状态-动作表示,参数化的状态-动作价值函数需要是多分支的,但这也会使其无法可微分,从而无法保证RL训练方法的收敛性。此外,对于像虚拟实验室这样的大型领域,函数逼近在计算上非常耗费资源,因此不值得投入,因为无法确保收敛性。基于这些原因,我们将使用表格状态-动作价值函数。具体来说,我们将使用的RL方法包括首次访问蒙特卡洛(First-Visit Monte Carlo)、每次访问蒙特卡洛(Every-Visit Monte Carlo)、Sarsa和Q学习(Q-learning),但不包括动态规划(Dynamic Programming),因为后者需要对环境有一个明确的模型,而在第5.1.2节中已经说明了状态-动作空间的简化后,这样的模型仍然计算成本很高。5.1.5. 奖励机制在我们的RL设计中,NPC在某个状态-动作对上获得的奖励被定义为该动作之后产生的惩罚的负值:(6)其中由方程(3)给出。根据这个定义,某个状态-动作对的奖励为零意味着在该状态下该动作没有被罚分。一般来说,惩罚越少,奖励就越高。为了比较不同NPC的表现,我们使用第4.5节中定义的总分的一个简化版本,其中只包含成功率和惩罚分数;换句话说,这里不考虑时间和重置频率。在RL训练中,时间是一个误导性的参数,因为NPC的动作速度与人类用户不同。至于仪器的重置频率,正如第4.5节中提到的,我们的评分算法设计保证了重置不会改变惩罚分数或成功率。5.1.6. 漏洞随着NPC的RL训练完成几个剧集后,我们开始发现某些状态-动作对在剧集中出现频率过高,甚至NPC陷入了两个(或更多)特定状态-动作对的循环中,例如,交替地将显微镜电缆插入插座和拔出插座。这种行为是不希望出现的,因为在我们的领域设计中,为了成功完成实验,某个状态-动作对不应该被访问两次。因此,需要优化奖励机制,以减少频繁出现的状态-动作对的频率。通过优化奖励,我们也就自动优化了默认的惩罚权重,因为奖励被定义为惩罚的负值。此外,优化惩罚权重(以及我们的评分算法)是我们使用RL在虚拟实验室中的目标。5.1.7. 训练会话如前所述,虚拟实验室中的RL训练目的是优化惩罚权重。我们将所有惩罚權重的默认值设置为100。为了实现优化,我们将RL变体定义为一个包含以下5个阶段的会话:首先使用默认惩罚权重定义奖励,NPC执行特定数量的剧集(N),每个剧集包含相同数量的步骤(S),随机选择动作。这样就为我们的默认惩罚权重创建了一个基准。再次使用默认惩罚权重,NPC按照特定的RL方法(首次访问或每次访问蒙特卡洛(First-Visit或Every-Visit)、Sarsa或Q学习)执行N个剧集,其中折扣率γ、步长参数a和探索概率ε都有特定的值。此时我们将奖励(因此惩罚权重)设置为静态的。然后让NPC使用完全相同的RL方法和参数初始化,但奖励(因此惩罚权重)是动态的。每次剧集结束后,我们的扁平化算法(在下一节中描述)会重新定义下一次剧集中预期的惩罚权重,从而创建了一组新的惩罚权重。接下来让NPC使用新生成的惩罚权重和相同的RL方法及参数初始化进行游戏,但这次奖励是静态的。再让NPC使用新的惩罚权重和相同的RL方法及参数初始化进行N个剧集,从而为我们的新惩罚权重集创建一个基准。我们进行多次训练会话,每次会话使用不同的RL方法、剧集数量、每集步骤数、折扣率和探索概率。对于每个会话,我们将第1阶段的基准分数和分散性与第2阶段的静态奖励和默认权重的RL训练结果进行比较;同样,将第4阶段的最终/最高分数及其分散性与第5阶段的静态奖励和新生成的权重进行比较。图5展示了我们5阶段RL变体的示意图。5.1.8. 扁平化算法如前一节所述,扁平化算法在RL变体训练会话的第3阶段每个剧集完成后执行。在第3阶段的某个剧集中,不同的状态-动作对被遇到了不同次数的次数。对于第j个不同的状态-动作对,其中(与之前的不同),会产生一个新的状态。由于我们的建模是确定性的,所以产生的新状态是唯一的。从之前的状态(即状态-动作对中的第j个状态)过渡到这个新状态时,会根据第4.4节中的方程(3)产生一个新的惩罚。我们提醒读者,表示最接近实验最后所需步骤的步数的索引,表示该步骤之前的个体分数,是其惩罚权重,而分别表示转换之前和之后的个体分数。我们通过一个例子来描述用于惩罚权重的优化方法。假设在一个剧集完成后,对于某个特定的状态-动作对,它被遇到了三次;即,最接近最后所需步骤的步骤是第6步;直到该步骤的所有步骤的个体分数分别为、、、、和。根据惩罚的定义,对它有贡献的惩罚权重是u2、u3和,因为。因为该状态-动作对被遇到了三次,我们可以将贡献权重、、乘以3来增加它们的贡献;或者等效地,我们可以将不贡献的权重u1、u4、u6除以3来减少它们的贡献。因此,一般来说,我们的算法需要在剧集完成后,对于任何被遇到j次的特定状态-动作对,将不贡献的权重除以。然而,即使是在少数几个剧集的情况下,连续多次除以各种惩罚权重也肯定会导致它们之间的严重差异,例如,某些惩罚权重接近0,而其他权重则保持不变(初始值为100)。为了避免过度修改权重,我们采用了以下基于折扣的方案:在第一个剧集之后,对于每个被遇到J次的特定状态-动作对,我们将不贡献的惩罚权重除以;在第二个剧集之后,我们除以等等。一般来说,在第j个剧集之后,对于每个被遇到J次的特定状态-动作对,我们将不贡献的惩罚权重除以。当第3阶段的所有剧集完成后,我们得到的惩罚权重集将用于第4和第5阶段,而在第1和第2阶段使用的是直观定义的默认惩罚权重,如图5所示。6. 机器人训练的实施机器人训练顾名思义,是关于培训一个NPC,我们在虚拟实验室中引入它来代替人类用户控制的角色。这是通过RL变体来完成的,并通过这种方式优化惩罚权重,如第5.1.8节所讨论的。机器人训练是计算机训练模式的一个独立子模式,还包括评估率权重的校准,即评分者训练。在机器人训练中,用户可以选择让机器人使用任何可用的RL方法(蒙特卡洛、Sarsa或Q学习)来进行实际训练,或者为其创建一个基准,即让机器人随机选择动作。在任何情况下,用户都需要输入相应必要的参数;对于RL,用户需要定义折扣率γ;探索概率ε;步长参数a(仅适用于Sarsa和Q学习);剧集总数;每集的步骤数;访问类型(仅适用于蒙特卡洛),即首次访问或每次访问;以及是否希望使用固定奖励(因此也是固定的惩罚权重)或可变奖励。当机器人训练完成后,会生成一个屏幕上的界面,显示最后一个剧集的最高分和最终分。显示最高分和最终分是一个合理的检查步骤,因为这两个分数往往不同;例如,NPC可能会撤销一些正确的动作并返回到之前的状态,从而导致分数降低。图6展示了首次访问蒙特卡洛方法和可变奖励(以及其他特定参数值)的相应界面,在其中生成了新的惩罚权重(如第5.1.8节所描述),并且询问用户是否希望保存它们。图6. RL(蒙特卡洛)训练结果(可变奖励)。在RL训练会话或基准创建过程完成后,会生成一个.csv文件,其中包含每个剧集的最终分和最高分。这些.csv文件中的数据有助于比较我们在第5.1.7节中描述的RL变体的各个阶段。7. 通过机器人训练微调惩罚权重如第5节所述,机器人训练是使用我们为此目的实现的RL变体来完成的;通过这种方式,评估机制的惩罚权重得到了校准。我们提醒读者,我们的RL奖励机制是指机器人获得的每个奖励都是相应惩罚分数的负值。我们还提醒读者,RL变体按照以下五个特定顺序进行(在5.1.7节的图5中有图形显示):机器人使用原始惩罚权重随机游戏;机器人使用标准RL和原始惩罚权重进行训练;机器人使用定制的RL进行训练,这涉及可变奖励(因此惩罚权重也会变化);机器人使用标准RL和新惩罚权重进行训练;机器人使用新惩罚权重随机游戏。我们需要注意的是,在以下小节中使用的“机器人训练结果”或“RL训练结果”并不指第2阶段或第4阶段的标准RL训练,也不特指第3阶段的定制RL训练,因为在第3阶段进行了权重校准。相反,我们指的是整个过程,重点是比较第1阶段和第2阶段(即机器人随机选择动作的得分以及使用标准RL训练的得分,这两者都发生在权重校准之前),比较第4阶段和第5阶段(即机器人使用标准RL训练的得分以及随机选择动作的得分,这两者都发生在权重校准之后),最重要的是,对比这两种比较的结果。7.1. 使用定制强化学习微调惩罚权重的结果RL训练结果不仅取决于所选的RL方法,还取决于其他参数。一般来说,只有使用蒙特卡洛方法并且在每个剧集中步骤较少(大约30步)时,才能实现相对的得分提升。图7和图8分别显示了权重校准前后的分数与剧集的关系图。图7. 权重校准前的RL分数与剧集关系图—方法:蒙特卡洛首次访问,剧集数量:100,每集步骤数:30,折扣率:0.7,探索概率:0.1。图8. 权重校准后的RL分数与剧集关系图—方法:蒙特卡洛首次访问,剧集数量:100,每集步骤数:30,折扣率:0.7,探索概率:0.1。如图所示,权重校准后,RL获得的分数通常高于基准分数,即在随机游戏中机器人的得分,而在权重校准之前情况正好相反,这表明权重校准是有效的。为了验证我们的发现,我们使用了一种特定的直方图比较方法,即机器人使用RL获得的平均分数与随机游戏获得的平均分数之间的差异。因此,权重校准前的平均分数差为115,而校准后的平均分数差为504,即高出四倍。从图7和图8中还可以看出,权重校准后的基准分数和RL分数通常高于校准前的对应分数。实际上,这不仅适用于上述成功的训练案例,即RL分数高于基准分数的情况,也适用于所有训练案例,无论效率如何。其原因是,在我们整个训练过程的自定义RL阶段(第3阶段),惩罚权重被降低了;因此,一个剧集中累积的惩罚倾向于减少。然而,当我们使用其他RL方法(如Sarsa和Q-learning),或者每个剧集的步骤更多时,无论是在权重校准之前还是之后,RL的分数通常都低于基准分数。图9和图10展示了每集50步的Q-learning方法的情况,其中权重校准前后的平均分数差分别为-252和-952(即机器人表现恶化)。图9. 权重校准前的RL分数与剧集关系图—方法:Q-learning,剧集数量:100,每集步骤数:50,折扣率:0.9,步长参数:0.05,探索概率:0.1。图10. 权重校准后的RL分数与剧集关系图—方法:Q-learning,剧集数量:100,每集步骤数:50,折扣率:0.9,步长参数:0.05,探索概率:0.1。最后需要指出的是,我们的方法保证了在不同运行中观察到的结果的可重复性。7.2. 权重重新校准我们现在将探讨在RL训练成功的情况下是否还有进一步提升的空间,即重新校准惩罚权重,以便使用这些重新校准后的惩罚权重,RL获得的分数优于随机游戏时的分数。在之前的蒙特卡洛示例中,我们看到在(第一次)权重校准后,RL获得的分数(第4阶段)优于随机游戏时的分数(第5阶段)。如果我们将五阶段训练过程扩展三个阶段,即使用我们的定制RL重新校准惩罚权重(第6阶段),使用新产生的惩罚权重训练机器人(第7阶段),让机器人随机游戏以创建这些新权重的基准(第8阶段),并比较最后两个阶段的分数会怎么样?图11显示了这种比较。图11. 第二次权重校准后的RL分数与剧集关系图—方法:蒙特卡洛首次访问,剧集数量:100,每集步骤数:30,折扣率:0.7,探索概率:0.1。从图11可以推断出,在第二次权重校准后,RL获得的平均分数仍然优于随机游戏时的平均分数,但两者之间的差异小于第一次校准后的差异。特别是,在第二次权重校准后,平均分数差异为302,而第一次校准后为504。然而,这仍然高于任何校准前的平均分数差异115。应该注意的是,第二次权重校准后分数差异的减少也出现在第7.1节讨论的Q-Learning案例中的不成功优化尝试中。这表明第二次权重校准后分数差异的减少是一个规律性的模式,而不是随机异常。此外,从图11可以看出,第二次权重校准后的基准分数和RL分数通常低于第一次校准后的对应分数。正如我们在上一小节中讨论的,惩罚权重的校准导致权重值降低,从而产生更高的分数。因此,在第二次权重校准后得到较低分数是一个异常现象,这使得后者的整体效率值得怀疑。在我们其他成功的五阶段训练示例中也是如此。因此,我们得出结论,第二次权重校准是有效的,尽管效果不如第一次,但通常会产生较低的分数。7.3. 通过强化学习对奖励函数进行实证验证到目前为止,我们使用了一个在初始手动定义的惩罚权重下运行的RL智能体,然后对这些权重进行校准,并在此基础上重新运行。结果表明,在特定条件下(蒙特卡洛方法,每个剧集大约30步),在权重校准后的环境中,RL智能体一致性地优于随机策略,实现了跨剧集的更高得分行为。这意味着所建议的惩罚结构对应于一个可学习的奖励结构;也就是说,它足够具有信息量来指导策略改进,同时避免了可能对其性能产生负面影响的过度稀疏或噪声[40]。然而,我们的方法并不能保证产生的惩罚权重在语义上具有意义或在教育上有效。为了验证这一点,我们需要探索actor-critic方向,即结合人类领域专家的评估[41],正如我们已经对成功率权重的校准使用ML技术(ANN和GA)所做的那样。具体来说,我们在尝试将评分机制与人类专家评估对齐之前,调查了基于惩罚的奖励公式对自主智能体在行为上是否有意义。这一步至关重要,因为即使奖励函数设计得再直观,如果形状不佳,也可能无法产生稳定或有意义的学习动态[42]。在这种情况下,后续的奖励参数优化(例如,使用监督方法)可能会导致收敛到错误的局部最优解或过拟合[43,44]。通过验证RL智能体在采用的评分机制下可以实现一致的行为改进,我们确保了奖励信号既是可学习的,又在行为上有根据的。这为更高层次的优化(如与专家评估的对齐)提供了稳定的基础。这样,我们的方法降低了在不适定目标上优化惩罚权重的风险[45]。8. 结论与未来工作虚拟实验室是可以为学生提供远程实验室培训的工具,无需担心事故和损坏的风险。它们还能够自动评估学员的在线表现。湖南理工学院开发了自己的虚拟实验室Onlabs,实现了这两个目标。Onlabs中对用户表现的评估基于专门为此目的开发的评分算法。该算法为用户提供双重实时分数:一个成功率,指示用户为成功完成实验采取了必要的行动的程度,以及惩罚点,当用户按照错误顺序执行操作时会被分配这些惩罚点。这两个分数加上用户在实验中花费的时间,以及在会话结束时仪器被重置的程度,结合起来产生了用户总体表现的综合分数。最初,评分算法的参数是直观定义的。然而,为了获得更现实的参数和更有效的评分算法,从而能够在没有昂贵的人力评估员的情况下大规模评估学生,我们使用了机器学习(ML)。特别是对于惩罚点,其分配机制是通过我们的RL变体在非玩家角色(NPC)上微调的,无需人类专家的帮助。我们的RL变体在NPC上的训练仅在少数情况下取得了明显的成功结果。成功的必要(但不充分)条件是使用蒙特卡洛方法(首次访问或每次访问)和每个剧集的少数步骤(大约30步)。此外,只要训练结果是成功的,对已经校准过的惩罚点机制进行第二次校准也会产生成功的结果,但第二次优化被证明不如第一次有效。正如第7.3节提到的,尽管我们的RL智能体在特定条件下找到了最大化最终分数的行为策略,我们仍然无法就惩罚权重的教育效率得出明确的结论。因此,我们的第一个未来目标是将我们的RL变体方法扩展到包含人类参与的方向,并在其中包含人类评估。这样,我们将看到人类专家如何评价RL智能体认为“好”的相同行为(剧集),并相应地判断产生的惩罚是否符合领域直觉。我们的另一个未来目标是在电泳实验程序中应用ML训练。由于电泳过程比显微镜观察更复杂,它将作为一个测试平台,用于更广泛地研究所提出的定制RL技术。一个主要的研究方向是扩展最近开发的Onlabs多玩家原型,以研究用户在虚拟实验中的表现,当我们试图更接近实际湿实验室的情况时(即存在许多合作和竞争的机会——在使用资源方面)。显然,在多玩家环境中,我们可能需要启动几个人类控制的角色和NPC。在这种情况下,还必须研究非玩家角色(NPC)的学习互动方式。具体而言,需要对NPC采用的各类学习技术进行比较评估,依据多项指标来衡量这些技术的效果。这些指标可能包括完成实验程序所需的时间、所犯错误的数量与类型,以及这些错误对设备损坏、资源浪费或引发事故(例如泄漏生物样本)等方面的影响。此外,不同的角色在利用实验室资源和仪器时也可能需要相互合作或竞争。最后,除了现有的离线版Onlabs(即用户在自己的电脑上安装并使用)之外,我们还开发了一个在线版,用户可以通过网页浏览器进行操作。目前这个在线版本主要针对显微镜操作场景,其目标受众远不止HOU生物学专业的学生,这也凸显了大规模自动化评估的必要性和意义。
生物通微信公众号
生物通新浪微博
今日动态 |
人才市场 |
新技术专栏 |
中国科学人 |
云展台 |
BioHot |
云讲堂直播 |
会展中心 |
特价专栏 |
技术快讯 |
免费试用
版权所有 生物通
Copyright© eBiotrade.com, All Rights Reserved
联系信箱:
粤ICP备09063491号