bsphp网络验证系统_动态人工神经网络

对于非线性系统如果使用传统的线性方法进行建模,会带来很大的误差。使用非线性建模方法,特别是使用动态人工神经网络,可以比较精确的获得对象的输入输出模型。

在秋季学期人工神经网络课程的第三次作业中,为了增加一道实际控制对象建模的作业题,对一个废旧的热吹风枪进行改造,使得它加热电压可以改变,并增加了测量出风温度和风速的传感器。可以同时采集到工作电压与出口温度的数据。

ea873e32510a0edb2be9a34e2603a138.png

热风枪出口温度与工作电压之间呈现非线性关系

由于热风枪的功率与施加的电压呈现二次关系,这也就直接影响到加热电压与出口温度之间呈现非线性关系。

通过对每个施加电压测量对应稳态时出风口温度,绘制出它们之间的工作曲线。如下图所示,显示了输入电压与输出温度之间的非线性关系。

966c773fead085541bdf520e44c61542.png

热风枪出口温度与加热工作电压之间的关系

热风枪的出口温度与环境温度、风速都有直接的关系。上述曲线是在保持环境温度和风速恒定的情况下获得的。

由于热风枪内的加热元件有一定的热惯性,再加上热扩散到空气中有延迟,所以出口温度与工作电压之间是一个动态关系。

下图显示了在施加55V电压后,出口温度呈现的动态响应曲线。

94afa1326d3128b1a1284cf272f7bce9.gif

热风枪的在施加单位阶跃电压后的动态过程

如果热风枪的输入电压与出口温度之间是线性关系,则可以通过第一原理建立响应的微分方程,获得系统的动态模型。也可以通过输入输出之间数据对系统进行动态建模。

通过系统输入输出数据建立线性模型,可以通过系统的单位阶跃响应、扫频获得的频率响应曲线、或者输入随机信号、Chirp信号等宽带信号来对系统进行模型辨识。

下面是一组实际测量得到的热风枪在不同施加信号下的输出相应曲线。

8cb08d58dea34c25f0005f3cdef30812.gif

正弦扫频电压激励下温度输出曲线

a88edd60afb4b54d8a6f925c40b1e750.gif

随机输入信号对应的系统响应曲线

2c6de9f5e3403eccfc3830fd3c38b93f.gif

Chirp信号对应的系统响应曲线

b5ce553168c1eb3a51b7076e24bc3e62.gif

方波开关信号对应系统输出响应

如果希望建立热风枪输入输出之间的线性动态模型,可以借助于MATLAB中系统辨识工具。

将测量Chirp信号数据送入MATLAB,使用系统辨识工具箱建立热风枪的2阶、3阶模型。可以看到3阶的模型精度可以达到70%左右,比2阶对应的44%要高很多。

7f4f50f8af43da85a8ccc979b4dc6ba8.png

利用Chirp测试数据建立线性动态2阶、3阶模型

由于系统是非线性的,所以使用上述模型应用到方波输入信号,则模型的精度立马下降到50%以下。

e7f0da1e0b4fb42bd74761c63d953a2e.png

对输入方波信号进行验证,误差很大

可以通过对输入数据进行一定的预处理,来适当提高建模的精度。比如将数据中的平均值去掉,这样可以获得系统在工作点附近上下波动的数据。由于改变了数据的原点,从而将系统非线性影响减小。

使用方波驱动采样数据,首先将输入,输出信号的均减除,使用三阶系统建模可以获得建模精度为96.93%。

8c95014d974cb6fb91a2b3afc6ba4a49.png

使用去掉均值后的数据进行建模

使用上述模型对于Chirp信号激励系统采集实际数据进行验证,此时同样去除数据中的均值,可以看到验证的精度可以达到73%。虽然提高了,但误差依然很大。

2e9fdf391cd66a1e205d07be95f09f4f.png对Chirp激励信号系统相应进行验证

去除均值虽然可以提高建模精度,但在实际过程中,如果估计输出的均值依然在模型中没办法实现。

下面对比使用动态人工神经网络来对上述队形进行建模。

为了能够反映热风枪的非线性和动态特性,动态人工神经网络在传统的前馈网络的基础上增加了两部分结构。

43cc19a71e651f2a9d28b7770872d9ef.png

MATLAB中的动态人工神经网络

第一个结构是对输入信号进行采样保持结构,这样可以对输入信号一段时间内的信号变化能够反映到网络输入中去。

第二个结构是对网络输出信号进行采样,并将采用保持的数据反馈到网络的输入层。

由于输出采样的反馈,这使得网络可以模拟对象的动态过程,同时对历史信息能够获得更大时间尺度的应用。

在下面实验中,分别设置动态神经网络的采集数据长度为50,对应2秒钟时间数据,大约等于热风机过渡时间的五分之一。神经网络中间隐层采用10个神经单元。

直接使用随机激励电压信号热风枪的数据进行训练。下图显示了训练的结果,精度非常高。

b55cd29cdb9e9caaebe6f693d72bde20.png

使用随机激励电压信号完成网络训练

使用另外一组采集的随机电压激励信号的数据进行验证,精度可以达到99%以上。

3f707edd2fc4712b0413040ec6b9f18a.png

使用另外一组随机电压驱动下热风枪数据进行验证

下面是使用Chirp形状的激励电压信号所采集到的热风枪数据进行验证,会发现除了在开始部分有较大的误差之外,其余部分,误差都小。

8305f63efa065f04653c8df9f2ddc064.png

使用Chirp激励电压信号数据进行验证

上面验证结果中,误差大的部分出现在温度过高和过低的情况下。这可能是由于在前面人工神经网络训练的数据中,由随机激励电压信号所产生的温度变化没有使得输出温度过高或者过低,因此当实际系统的温度超过训练数据所所对应的范围之外,误差明显增多了。

这一点可以从正弦激励电压所产生的数据可以验证,每当电压很大,很小的时候,误差呈现周期的增加。

1768a4891735784bc156fbfd2906ea4a.png

使用正弦激励点电压数据进行验证

如果正弦激励电压频率比较高,热风枪的出口温度范围小,那么网络输出结构与实际温度误差就小。如下图所示:

bc5f7a1f99b7b142e37005dbc705de1d.png

在频率高的正弦电压激励下的数据验证结果

在前面测量数据中,有一组系统单位阶跃相应数据,热风枪在持续的电压作用下,出口温度上升超过了80度。

使用前面的人工神经网络模型进行仿真,可以看到当温度超过65度之后,网络输出就饱和了。从而造成与网络误差增加。

be6e9173e9beb93904f4dacb71068791.png

系统单位阶跃相应验证曲线

为了解决上述问题,则需要在训练网络的时候,所使用的训练数据对应的系统温度变化范围越大越好,最好能够覆盖系统实际可能输出温度的范围。

下面使用采集数据中的方波电压激励的系统响应数据,方波的改变周期是15秒,热风枪的温度输出变化最大,几乎涵盖了输出温度的全部范围。

82764198c6a8d545aa1a9b5cd6f111ed.png

使用方波电压激励数据进行网络训练

上面的训练结果反映,网络对系统的输出跟踪精度很高。

使用该网络对前面的单位阶跃响应数据进行验证,可以看到网络与系统实际输出数据吻合的精度很高。虽然训练数据中没有超过80°的数据,但网络输出依然超过了80°的数值。

bad3bc2cfca86c14540566a991f46efb.png

使用前面的Chirp激励电压数据进行验证,可以看到在输出温度变化大的部分的误差消失了。

04ff6b15e6420bbe204821be67254665.png

使用Chirp激励电压数据进行验证

下面是对随机激励电压系统响应数据进行验证,相比于前面使用随机激励电压数据训练结果,此时输出的数据中出现了较大的毛刺。也就是反应了网络在信号的高频部分精度下降很多。

136da03d1b9026354e76ff989b624012.png

对随机激励电压系统数据进行仿真

这个结果说明,使用方波激励电压数据训练,虽然数据中温度变化范围增加了,但由于方波信号中高频信号成分少于随机信号(即白色频谱),所以对系统在高频信号作用下的响应精度降低了。

为了结果上面的问题,可以将随机信号和方波信号激励的数据同时训练网络。这样可以两方面获得均衡了。

1367e62c7be47dbb1e60b9e6bfa1fb4f.gif

当然,上面所建立的模型还是在环境温度和输出风口速度恒定的情况下的模型,当环境温度改变,或者热风枪出口风速改变,则直接会影响模型的精度。因此,下面需要采集到热风在不同的环境温度、不同的出口风速下的温度变化数据,进而完成更加准确的网络模型建立。

但这就直接带来了新的问题,由于增加了两个维度(温度、风速)的数据,这就比起单一的电压输入所对应的数据空间大多了。因此完整的获得这些数据不仅给采集带来了麻烦,同时也对训练更加复杂的模型增加了困难。

b34cf6ef65823fc6b810e05bd92b6ad9.png

插图 | 图片来自朋友圈

解决这个问题最终还需要借助于系统的第一原理。首先将人类的知识转化成可以描述的模型规律,将输入条件之间的耦合关系尽可能解耦,独立建模,然后在利用已知模型组合起来。这样就可以减少多个条件组合所带来的样本空间组合爆炸的问题了。

  • 硬禾小帮手 -硬件工程师的设计助手

  • 硬禾学堂 -精英工程师的在线学习平台

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Bsphp软件管理系统是一套支持软件接口和用户会员平台以及支持做微型企业官网系统,CMS模板内容简单实用可以极快搭建好一个企业或者软件专题下载线上服务网站,后台界面简洁易用!Bsphp服服务端提供很多对外API接口可以实现客户端调用用户中心功能,从而实现控制软件开发软件授权使用,支持PC端,安卓,苹果系统,编程语言有C++,易语言,C#,VB,TC,Delphi,E4a,VC,JAVA,只要支持http协议就可以调用Bsphp客户端功能! 注意:软件需在后台-系统设置中点击开启前台cms,前台才可使用。 更新日志: Bsphp.v8.0.2优化 更新内容2018.3.16 更新优化显示充值账号 插件添加WEIBAPI接口 优化批量冻结BUG Bsphp.v8.0.1优化 更新内容2018.3.5 优化后台列表 优化列表全选 优化批量操作 Bsphp.v8 更新内容2018.1.30 1.更新优化细节 2.用户添加备注功能 3.优化代理能给制定代理制度卡制作>在用户中心>分配代理卡 4.API细节优化 5.接口加密进行优化 6.细节上的优化,根据用户反馈 7.更新C++ SDK演示 纯源码 7.7版本更新内容 重大更新 代理端添加代理可以添加下线 最多添加3级下线代理 代理平台可以注册用户 代理商可以控制下线的价格 代理可以个自己下线添加金额,与顶级代理用户分离 代理设置不可以登录用户中心,登录软件使用,设置为代理只可以在代理商平台登录使用 代理商可以直接给用户充值 代理显示钱单位为点 后台模式添加登录模式 扣点模式 代理模式添加卡模式 扣点模式 添加机器码注册API接口,用户可以卡模式定义一个串作为登录通过指定API 优化API接口 修复API timeout接口小bug 后台添加软件用户列表冻结功能,卡模式登录模式都可以使用 添加后台菜单自定义DIY功能,用户可以自定义后台菜单这样就可以定制个性化后台显示菜单,简单化显示 优化后台布局DIY 优化数据读写函数提高读取效率 优化BSPHP核心引擎加快php类的载入 修复前台验证不显示问题 修复个人中心URL大小写问题 优化模板设置功能 优化用户在线表的统计方式 添加输入模式 JOSN XML 添加加密RC4加密 添加登录/卡模式 口点的API接口 优化后台管理列表HTML代码优化 更新后台首页显示用户登录等信息的显示BUG 添加备注字段,在软件列表添加备注字段,通过API接口备注 优化批量操作管理,友情提示:使用前先备份数据库,批量操作慎用或少用! 优化了批量维护选择html代码BUG 批量维护软件账号添加冻结功能,多软件模式下可以冻结指定软件账号 添加购卡列表多种搜索字段功能5种过滤搜索 添加余额充值多种搜索字段功能5种过滤搜索 特别感谢 经过BSPHP大家庭努力还有各路网友支持不断完善网络客户端,BSPHP有你们将做得更好更便捷。 BSPHP感谢提供客户端、反馈BUG、吐槽不好用、感谢你们,我们到目前为止已经送出132个天使开发者称号等值商业用户永久版。 我们在这里承诺,BSPHP只要能够支持服务器支持绝不会涨价!
框架简介: 本框架适由PHP+MYSQL语言开发,纯API接口,可快速对接外部app、web、各类软件开发; 本框架采用成熟稳定的Discuz3.4论坛系统,MVC框架环境下开发; 本框架无缝整合Discuz用户系统内置功能,采用插件形式开发的独立框架、分离代码、支持二次开发扩展; 通过本框架,可无限扩展数据输出接口,通过外部访问api接口,对数据进行操作、输出等功能; 本系统所有功能实现及控制均采用api外部接口,数据输出形式以JSON为主,可接收外部GET、POST参数; 客户端支持Python、Java、C、易语言、PHP、易安卓、火山移动、部分游戏开发引擎、等所有主流开发语言。 适用环境: 建议:PHP版本>5.4以上; 建议:DISCUZ版本>3.0以上; 建议:MYSQL版本>5.0以上; 其他环境,请大家自行测试 框架流程: 客户端:通过框架协议将数据提交到入口文件; 服务端-控制器:接到数据后,通过控制流程进行分流; 服务端-模型:接到分流指令,进行模块化数据处理; 服务端-视图:接到处理后数据,通过JSON返回客户端接收。 框架处理流程:传入数据-->入口文件-->控制器-->模型处理-->数据返回! 框架特色: 独立框架:独立开发的api专用框架协议,采用DB、原生代码三种方式独立封装核心库,不附带任何多余指令,代码简洁、速度快; 代码分离:本框架下所有代码与discuz框架分离,与discuz版本和其他插件不冲突,原生代码不对数据库有任何非官方流程操作,保证数据和结构逻辑不被破坏; 独特加密:本框架下采用动态双向、可自定义加密技术,有效保证token值保持动态变化验证技术,此加密技术可以添加特征码、干扰码。另外根据自身情况,可定制个人加密方式来强化,更是天衣无缝,世界唯一的个人专用加密技术; 动态验证:在独特加密的基础上应运而生动态时效,设定密文有效时间,时间一到必须重新更新验证数据,每一次更新密文都不一样,确保数据安全; 参数防护:数据传输都经过discuz安全机制进行过滤,但是discuz对参数负值、字符串转义过滤不严谨,容易造成错误,本框架强化数值、字符串的格式化,有效封堵恶意注入攻击! 核心处理:本框架核心逻辑、验证功能均在框架内处理,有效杜绝因外部软件安全等级低,被破解导致的逻辑错误,造成的安全隐患; 二次扩展:本框架可以在discuz框架内功能范围内,无限扩展任何自定义逻辑功能,也可以对discuz框架内所有功能模块,以及所有插件进行数据操作和调用; 访问验证:本框架结合discuz框架内置禁止IP、禁止访问会员组功能,实现对代理IP、会员组登录控制; 时间验证:本框架通过客户端时间与服务端时间进行验证,保证数据逻辑安全; 文件验证:本框架通过自定义客户端md5签名验证,确保客户端文件的完整性,有效防止对文件的破解、更改; 收费模式:扣点模式、购买用户组模式、计时扣费模式; 充值功能:结合discuz框架内置充值、充值卡功能,对用户进行积分充值; 代理功能:结合discuz框架内置充值、充值卡功能,用户可申请售卡打折权限,获取分红; 推广功能:结合discuz框架内置推广邀请人,被邀请人使用充值卡充值时,邀请人获取一定比例奖励; 心跳包功能:返回用户在线活动,验证机器码,对过期未发送心跳包进行下线处理; 变量功能:提供强大的远程变量、私人变量,单个变量理论可存储数据4G,让开发者更完美的开发软件; 卡号登陆:实行卡号直接登陆,与帐号绑定,卡号状态设置,独立控制更方便管理; 接口控制:强大的接口控制系统,每个接口独立设置每秒、每小时访问上线,并进行处理; 整合接口:本框架下通过自定义接口功能,添加外部api调用接口,通过本框架进行数据调用,扩展更强功能;(待开发) 接口模块: 登录模块:用户登录、插件配置、注册用户; 用户模块:用户信息、扩展信息、获取头像; 积分模块:积分增减; 好友模块:消息发送、好友信息; 充值模块:积分充值; 代理模块:提卡销售; 扩展模块:新增用户扩展数据存储、备注; 调用模块:帖子调用、会员排行; 日志模块:接口日志: 提现模块:申请提现、后台打款; 用户组模块:购买、充值、切换; 论坛模块:列表、发帖、回帖 排行模块:会员积分排行、扩展资料排行 手机模块:短信发送、手机绑定账号、手机登录 QQ模块:QQ登录 后续功能……
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值