没有合适的资源?快使用搜索试试~ 我知道了~
MLPro: Python中的标准化机器学习中间件框架及强化学习和博弈论子框架
软件影响14(2022)100421原始软件出版物MLPro-用于Python中标准化机器学习任务的集成中间件框架Detlef ArendBoga,Mochammad Rizky Diprasetya,Steve Yuwono,Andreas Schwung南威斯特伐利亚应用科学大学自动化技术与学习系统系,Lübecker Ring 2,Soest,59494,Germany自动清洁装置关键词:机器学习中间件Python强化学习博弈论自动化A B标准近年来,许多强大的软件包已经发布了机器学习(ML)的各个方面。然而,仍然缺乏用于标准化创建ML应用程序的整体开发环境。目前的做法是,研究人员、开发人员、工程师和学生必须在自己的应用程序中将几个软件包的功能拼凑在一起。这促使我们开发集成中间件框架MLPro,将灵活且可重组的ML模型嵌入到标准化流程中用于训练和实际操作。此外,它集成了许多常见的开源框架,从而简化了它们的使用。精心设计的架构与强大的基础功能相结合,确保了最大的可重组性和可扩展性。在MLPro的第一个版本中,我们提供了强化学习(RL)和博弈论(GT)的子框架代码元数据当前代码版本v0.9.1用于此代码版本的代码/存储库的永久链接https://github.com/SoftwareImpacts/SIMPAC-2022-178Reproducible Capsule的永久链接https://codeocean.com/capsule/2176313/tree/v2法律代码许可证Apache许可证2.0使用git的代码版本控制系统软件代码语言,工具和服务使用Python,Github,PyPI,阅读教程编译要求,操作环境依赖操作系统:Linux,Windows,macOS;软件包:numpy,matplotlib,dill,其他可选3rd派对套餐如果可用,链接到开发人员文档/手册http://mlpro.readthedocs.io问题支持电子邮件mlpro@listen.fh-swf.de1. 介绍机器学习(ML)作为人工智能(AI)的一个子领域,近年来发展迅速,已经渗透到众多的实际应用领域。在同样的程度上,已经引入了新的强大框架,为ML的然而,这种丰富不仅有优势。为新的ML项目选择正确的框架并将其组件组合成一致的解决方案变得越来越困难[1]中公布的一份清单表明,目前没有一个Python框架定义了机器学习的交叉学习范式基础、标准和过程,或者支持不止一种或两种学习范式。实际应用的重要方面,如模拟或实时或物理单元的精确处理,也几乎没有发挥作用。特别是在强化学习(RL)[2]领域,没有基于模型的代理(MBRL1)[3,4]或模型预测控制(MPC)[5]等高级概念的标准。此外,缺乏博弈论(GT)的标准,作者也认为这是高度适用于实际问题。本文中的代码(和数据)已由Code Ocean认证为可复制:(https://codeocean.com/)。更多关于生殖器的信息徽章倡议可在https://www.elsevier.com/physical-sciences-and-engineering/computer-science/journals上查阅。*通讯作者。电子邮件地址:arend. fh-swf.de(D.fh-swf.de(M.R.Diprasetya),yuwono. fh-swf.de(S.Yuwono),schwung. fh-swf.de(A.Schwung)。1基于模型的强化学习。https://doi.org/10.1016/j.simpa.2022.100421接收日期:2022年8月17日;接收日期:2022年9月1日;接受日期:2022年9月2日2665-9638/©2022作者。由Elsevier B.V.出版。这是一篇开放获取的文章,使用CC BY许可证(http://creativecommons.org/licenses/by/4.0/)。可在ScienceDirect上获得目录列表软件影响杂志 首页:www.journals.elsevier.com/software-impactsD. Arend,M.R.Diprasetya,S.Yuwono等人软件影响14(2022)1004212视频1. MLPro简介通过MLPro,我们提供了一个集成的中间件框架,允许基于强大的模型,模板和标准流程标准化创建ML应用程序。许多第三方软件包已经使用包装器技术集成,从而使其使用标准化。MLPro的第一个版本包括用于强化学习的子框架MLPro-RL和用于合作博弈论的子框架MLPro-GT2. 功能和主要特点如前所述,MLPro主要是一个用Python编写的集成的多用途机器学习中间件。因此,它是以一致的面向对象的方式(OOD,OOP)设计和实现的,以实现最大的可重组性和可扩展性。透明度和再现性过去和现在都是重要的设计标准。因此,所有源代码都可以在GitHub上查看[6]。在线文档(参见代码元数据,C8)提供了核心概念的解释和详细的API描述,包括类图。此外,还有许多现成的示例程序可供自学。选定的实验也被出版为Code Ocean Capsules [7,8]。最终,MLPro的特点是Fig. 1. MLPro的结构资料来源:改编自[1,第8页]。四个主要特点:1. 针对可重组性和可扩展性进行了优化的体系结构2. 总体基本功能和标准的坚实基础3. ML不同领域的子框架越来越多4. 越来越多的流行ML包的包装器类以下各小节将更详细地讨论这些问题此外,视频1中还提供了简短的介绍。2.1. 结构和基本功能如图1所示,MLPro由许多用于机器学习不同子领域的子框架组成(如图所示:MLPro-RL用于强化学习,MLPro-GT用于合作博弈论)。每个子框架都有一个标准化的结构和在线文档中的一个部分。其基础是一个一致的类环境,包含特定的模板,ML模型和基于当前科学状态的训练/调整和实际操作的过程。此外,还有一个可重用组件池,例如算法或特定数据或训练对象。每个子框架都由包装器类补充,这些包装器类集成了来自第三方的选定函数包装件. 子框架的范围由许多可执行的示例程序组成可选地,交互式程序提供验证,演示和教育。基于集成或继承的子框架之间的功能交换是明确的意图,并被积极实践。所有子框架又基于总体标准和功能的广泛子结构,这些子结构在MLPro-BF子包中进行了总结表1给出了该基础层的组件的概述。值得一提的是MLPro-BF-MATH子包的基本数学对象支持值范围和物理单位,以及用于确定向量长度的度量的可重复性子包MLPro-BF-ML在抽象层面上定义了机器学习的基础,值得特别提及。这是定义超参数和自适应ML模型的标准。此外,这里还介绍了抽象ML场景,它由ML模型和学习环境组成,可以在“模拟”或“实际操作”模式下执行一个抽象的训练过程是基于此,它在其ML场景中训练ML模型,并可选地调整其超参数。外部调优软件包,例如D. Arend,M.R.Diprasetya,S.Yuwono等人软件影响14(2022)1004213表1MLPro的基本功能概述。分包装描述内容MLPro-BF-MATH数学维度,集合,元素,空间,函数MLPro-BF-DATA数据管理数据存储和缓冲MLPro-BF-PLOT数据绘图基本绘图功能MLPro-BF-VARIOUS各种功能记录,时间管理(sim/real),科学参考,。. .MLPro-BF-ML超参数、机器学习ML模型、ML场景、训练和调优的通用标准基础MLPro-BF-SCIUI在tkinter和matplotlib之上的类层次结构子框架交互式ML应用MLPro-RL不提供最先进的策略算法的实现。相反,一个包装器是可用的,它打开了来自稳定基线3项目[16]的现成算法RL场景的情景训练由高度可参数化的类处理,该类从MLPro-BF-ML包的抽象子结构继承超参数调整的可能性。这个类的一个特殊功能是停滞检测。在这里测量训练进度,如果出现停滞,训练将自动结束。这使得能够减少训练工作以及关于此的不同策略算法的可比性。在[1]中,我们已经研究并澄清了两个选定的工业应用中的停滞检测视频2演示了使用MLPro-RL训练UR 5机器人。2.3. MLPro-GT -博弈论图二. MLPro-RL的结构资料来源:改编自[1,第9页]。Optuna [9]和Hyperopt [10]已经使用包装器技术在这个抽象级别上集成。所有这些机器学习的基本概念和功能都在继承的基础上在开头提到的更高的子框架中重用。在那里,它们确保高度的协同作用、标准化和重组能力。另一个子包MLPro-BF-SCIUI可用于交互式ML应用程序的标准化创建。它基于TKinter [11]和Matplotlib [12],允许创建所谓的UI场景,可以嵌入标准应用程序SciUI中。2.2. MLPro-RL-强化学习的子框架第一个子框架MLPro-RL为环境和代理提供了一个自包含的模板景观,这些模板在所谓的RL场景中连接到可运行单元。一个标准化的训练过程调整代理并优化其超参数。这些组件的相互作用如图所示。 二、MLPro-RL环境模板允许实现仿真以及控制真实系统。模式参数用于在这两个选项之间切换。因此,在MLPro-RL中,一个真实的装置/工厂及其数字孪生体被合并到一个类中。可以为模拟的状态转换和奖励策略实现自定义方法。或者,可以使用历史数据来训练所谓的自适应函数。这使得创建数字孪生系统成为可能,这些系统的行为很难甚至不可能在数学上定义。环境模板MLPro-RL也具有多代理能力。OpenAI Gym [13]单智能体环境和PettingZoo [14]多智能体环境的包装器可用。代理模型的范围从具有策略的简单单代理到具有内部自适应环境模型(MBRL)和动作规划器(MPC)的复杂单代理,再到组合任何数量甚至复杂单代理的多代理(MARL2)[15]。2 多智能体强化学习另一个现成的子框架,即MLPro-GT,旨在用于马尔可夫博弈中的协作GT [17,18],特别是工程应用[19]。GT是经济研究中的热门话题,并扩展到工程领域,因为它能够解决特定情况下多个参与者之间的决策问题。基于GT的方法可以作为RL的替代方案,因为与深度RL相比,它在ML模型优化中通常需要更少的复杂性和计算[20,21]。这些优点使得该方法更适用于实际的工业环境。如图3、主要思想、训练过程以及玩家与游戏板之间的交互与MLPro-RL子框架的基本原理相似。然而,在原生多智能体RL中,每个玩家都不关心其他玩家。他们是个人主义的,目的是最大化他们的奖励,因为他们不打扰其他球员的行动或状态时,计算他们的行动,处理奖励,甚至优化他们的政策。同时,在合作GT的情况下,所有的球员一起工作,以最大化的整体目标,而不是个人的效用。由于RL和GT之间的相似性,在马尔可夫博弈的多智能体系统,MLPro-GT的几个基类继承自MLPro-RL。结合GT的主要好处是可以分析收敛性,特别是寻求系统的全局和局部最优解,这导致与RL不同的应用。MLPro-RL子框架可以被重用,因为它们之间的训练过程和ML模型是可比较的,尽管有奖励结构、术语和额外的GT相关组件。对于更详细的概述,MLPro-GT在[1]中进行了全面解释。2.4. 集成的第三方软件包列表在其第一个版本中,MLPro为表2中列出的第三方包提供了包装器类(有关当前支持的包列表,请参阅联机文档)。对于标记为入站使用(“In”)的包,包装类可用于映射到相应的MLPro对象。因此,对于被标记为输出使用(“Out”)的包D. Arend,M.R.Diprasetya,S.Yuwono等人软件影响14(2022)1004214表2图三. MLPro-GT的结构资料来源:改编自[1,p。9]。视频2. 使用MLPro-RL训练UR 5机器人。ML的子区域。通过这一点,我们为研究和工程中ML应用的简化和标准化做出了贡献,特别是让新手更容易进入机器学习的世界。在MLPro的第一个版本中,我们提供了用于高级强化学习的子框架MLPro-RL和用于合作博弈论的子框架MLPro-GT。MLPro基本上是为通用而设计的,在工业应用以及研究和教育方面具有优势。在第一个领域中,所提到的两个子框架特别适合于自适应控制,从而适合于自动化技术和机器人技术。在[1]中使用两个选定的示例应用程序说明了这一点。在研究中,MLPro的特殊优势在于算法可以在标准化测试环境中轻松验证、交换和比较(基准测试)。使用MLPro获得的实验结果MLPro也注定要简化机器学习的教育,因为作为一个中间件框架,集成的第三方软件包列表。包装包装物进出分包装MLProHyperopt[10]Hyperparameter tuning engine OpenAI Gym [ 13 ] RLenvironments超参数调整引擎MLPro-RL Optuna [9]超参数调优引擎 多agent 环境✓ ✓MLPro-RL稳定基线3 [16个]RL策略算法-对应的第三方格式。例如,OpenAI Gym有两个包装器类。第一个将原始Gym环境映射到子框架MLPro-RL的本机环境格式,这意味着Gym环境可以用于使用MLPro-RL定义的标准过程反过来,MLPro-RL提供的本地这使得MLPro与OpenAI Gym在两个方向上完全兼容3. 对科学和工业应用的MLPro是一个免费的非商业中间件框架,用于创建标准化的ML应用程序。它提供了强大的模板,模型和一致的过程,用于培训,调整和实际操作,在目前的研究状态下,它提供了现成的模板和流程,包括第三方软件包的重用特别是,初学者不必重新发明轮子,可以专注于他们的核心任务。4. 未来改进现有的基本功能和子框架不断得到改进和扩展。例如,更多的环境或游戏板将被添加到MLPro-RL和MLPro-GT。此外,用于在线机器学习的第三个子框架MLPro-OA已经在建设中。这里提供了用于序列数据(预)处理的模板、ML模型和在此过程中,使用自己的数据流模型对来自外部提供商的大量数据集进行标准化,并使用包装器技术进行集成。选定的功能,如自适应标准化或特征扩展,反过来又集成到MLPro-RL的现有环境模板中,这使它们具有自适应性,并进一步增加其功能和灵活性。MLPro-GT框架很大程度上源自MLPro-RL,以同样的方式自动受益于功能的增加还宣布了另一个监督学习的子框架和用于ML模型生命周期管理的MLOps功能D. Arend,M.R.Diprasetya,S.Yuwono等人软件影响14(2022)1004215竞合利益作者声明,他们没有已知的竞争性财务利益或个人关系,可能会影响本文报告的工作致谢我们要感谢所有支持MLPro开发的开发人员3我们还要感谢南威斯特伐利亚应用科学大学自动化技术和学习系统系的同事,感谢他们的所有评论、讨论和见解,这些都极大地改进了我们的软件。资金本文由德国南威斯特伐利亚应用科学大学开放获取出版基金资助附录A. 补充数据与本文相关的补充材料可以在https://doi.org/10.1016/j.simpa.2022.100421上找到。引用[1]D. Arend,S. Yuwono,M.R. Diprasetya,A. Schwung,MLPro 1.0 -Python中的 标 准 化 强 化 学 习 和 博 弈 论 , MachLearnAppl ( 2022 )http://dx.doi.org/10.1016/j.mlwa.2022.100341。[2] R.S.萨顿,A.G. Barto,Reinforcement Learning:An Introduction,MIT Press,Cambridge,MA,USA,1998.[3] L. 凯泽,M。Babaeizadeh,P. Milos,B.奥辛斯基河坎贝尔,K。切霍夫斯基,D.埃尔汉角Finn,P. Kozakowski,S. Levine,A. 莫希丁河 塞帕西湾塔克,H。Michalewski,Atari基于模型的强化学习,2019,arXiv:1903.00374。[4] C.- V.p.,F. Leon,基于模型的强化学习技术的简要调查,在:2020年第24届系统理 论 , 控 制 和 计 算 国 际 会 议 , ICSTCC , 2020 年 , 第 10 页 。 92http://dx.doi.org/10.1109/ICSTCC50638。2020.9259716。[5] G.威廉斯,N.瓦格纳湾Goldfain,P. Drews,J.M.布雷格湾布茨,E.A. Theodorou,基于模型的强化学习的信息理论MPC,在:2017年IEEE机器人与自动化国际会议(ICRA),2017年,pp. 1714http://dx.doi.org/10.1109/ICRA.2017.7989202[6] D. Arend,S. Yuwono,M.R. Diprasetya,A. Schwung,MLPro -Python中标准化 机器 学 习 任务 的 概 要框 架 ,2021 ,http ://dx 。doi.org/10.5281/zenodo.6653484,GitHub.[7] D. Arend,S. Yuwono,M.R. Diprasetya,A. Schwung,MLPro -强化学习-停滞检测高级训练演示,CodeOcean(2022)http://dx.doi.org/10.24433/CO.9151382.v1。[8] M.R. Diprasetya,D. Arend,S. Yuwono,A. Schwung,MLPro -强化学习-培训UR5 ROS环境的演示,Code Ocean(2022)http://dx.doi.org/10.24433/CO.6279818.v1网站。[9] T. Akiba,S. Sano,T. Yanase,T.太田,M. Koyama,Optuna:下一代超参数优化框架,2019,arXiv:1907.10902。[10] J. Bergstra , B. 科 默 角 Eliasmith , D. Yellow , D. D. cox , Hyperopt : Apythonlibrary for model selection and hyperparameter optimization,2015.[11]F.Lundh,Anintroductiontotkinter,1999,URL:https://www.pythonware.com/library/tkinter/introduction/index.htm.[12] J.D. Hunter , Matplotlib : A 2D graphics environment , computing in science&engineering, IEEE Computer Soc (2007 )90 http://dx.doi.org/10.1109/MCSE.2007.55。[13] G. 作 者:A. Pettersson, J. Schneider ,J. Schulman ,J. Tang, W. Zaremba ,OpenAI Gym,2016,arXiv:1606.01540.[14] J.K. 特里,B。布莱克,N.Grammel,M.贾亚库马尔哈里河沙利文湖,澳-地桑托斯,R.佩雷斯角霍施角Dieffendahl,N.L.威廉斯,Y. Lokesh,P. Ravi,PettingZoo:Gym for multi-agent reinforcement learning,2020,arXiv:2009.14471。[15] L.布索纽河巴布斯卡湾李文,多智能体强化学习理论与方法,北京:计算机科学出版社,2000。C(应用修订版)38(2)(2008)156http://dx.doi.org/10.1109/TSMCC.2007.913919[16] A. Raffin,A.希尔A. Gleave,A. Kanervisto,M. Ernsetus,N. Dormann,Stable-Baselines3:Reliable Reinforcement Learning Implementations,J. Mach。 学习.Res. (2021年)。[17]G. 欧文,博弈论,Emerald Group Publishing,2013。[18] E. Elkind,J. Rothe,Cooperative Game Theory,Economics and Computation,Springer,2016,pp. 135-193。[19] D. Bauso,博弈论与工程应用,2016年,SIAM工业与应用数学学会。[20] D. Schwung,A. Schwung,S.丁,模块化生产单元的分布式自优化:基于状态的潜在博弈方法,IEEETrans.Cybern。(2020)http://dx.doi.org/10.1109/TCYB.2020.3006620。[21] D. Schwung,S. Yuwono,A. Schwung,S.丁,PLC通知分布式博弈论学习的能量最优生产策略,IEEEtrans.Cybern。(2022)http://dx.doi.org/10.1109/TCYB.2022.3179950。3https://github.com/fhswf/MLPro/graphs/contributors
下载后可阅读完整内容,剩余1页未读,立即下载
cpongm
- 粉丝: 4
- 资源: 2万+
上传资源 快速赚钱
- 我的内容管理 收起
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
会员权益专享
最新资源
- RTL8188FU-Linux-v5.7.4.2-36687.20200602.tar(20765).gz
- c++校园超市商品信息管理系统课程设计说明书(含源代码) (2).pdf
- 建筑供配电系统相关课件.pptx
- 企业管理规章制度及管理模式.doc
- vb打开摄像头.doc
- 云计算-可信计算中认证协议改进方案.pdf
- [详细完整版]单片机编程4.ppt
- c语言常用算法.pdf
- c++经典程序代码大全.pdf
- 单片机数字时钟资料.doc
- 11项目管理前沿1.0.pptx
- 基于ssm的“魅力”繁峙宣传网站的设计与实现论文.doc
- 智慧交通综合解决方案.pptx
- 建筑防潮设计-PowerPointPresentati.pptx
- SPC统计过程控制程序.pptx
- SPC统计方法基础知识.pptx
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功