92、移动自组网中密钥分发与地址配置协议研究

移动自组网中密钥分发与地址配置协议研究

1. 移动自组网密钥分发问题

移动自组网(MANET)中,安全组播数据的可靠传输是热点问题,组密钥的更新和分发至关重要。以往基于树的方法虽然被研究用于降低通信开销,但存在诸多问题。部分基于树的安全组播机制依赖GPS信息,不适用于MANET环境;多数非GPS机制未考虑节点移动性。并且,基于树的方法的密钥分发依赖组播,需要可靠的组播机制,但可靠组播机制在有线网络中会给节点带来负担,在MANET这种高误码率和节点移动性高的环境中实现更困难,同时MANET节点的能量和计算资源有限,不适合使用复杂的可靠组播机制。

2. 代理密钥管理协议(PROMPT)

为解决上述问题,提出了代理密钥管理协议(PROMPT),基于朴素方法并利用无线信道的广播特性来减少消息开销。
- 基本操作
- 第一跳分组 :源节点向其相邻组成员组播新的密钥信息。源节点用相邻成员的私钥加密更新后的组密钥,将加密后的组密钥包含在更新消息中,通过1跳泛洪发送。更新消息的目的地址为组播地址,TTL字段设为1,数据字段包含多个[相邻成员的IP地址,用相邻成员私钥加密的新组密钥]对。
- 最后一跳分组 :由有多个相邻成员的成员节点执行,使用1跳泛洪。但成员节点最初不知道其邻居的组成员身份,因此初始阶段,源节点像朴素方法一样单播更新密钥信息给不在第一跳分组中的成员,并在新密钥消息的IP选项字段中包含组地址,让成员节点了解其邻居的组成员身份。当源节点完成密钥更新过程开始发送数据后,有超过预定义数量k(组播会话设置阶段确定的系统参数)个相邻成员的成员节点

相关推荐

YOLO26算法固态硬盘识别+训练好的模型+118张数据集+pyqt可视化界面.zip

附训练好的 YOLO 权重与 PyQt 可视化检测界面,页面底部含可视化效果预览,毕设/课设开箱即用。 【数据集概况】 · 检测类别(中文):[SSD 2280(SSD 2280)] 【训练曲线与评估图】 【模型训练配置】 参数 | 值 模型 | yolo26n 训练轮数 | 100 epochs 输入尺寸 | 640x640 批次大小 | 24 优化器 | auto 初始学习率 | 0.01 训练设备 【关键指标汇总】 训练了 75 个 epoch,最终轮指标: 指标 | 数值 mAP50 | **0.9014** mAP50-95 | 0.8244 Precision | 0.8682 Recall | 0.8599 train/box_loss | 0.4835 train/cls_loss | 0.8981 val/box_loss | 0.4427 val/cls_loss | 1.3311 【训练过程分析】 训练初始,我在日志里看到 loss 曲线迅速下滑,心情挺放松的。前 20 轮,训练 loss 从初始值 1.5 左右直线下探到 0.5,此时 mAP50 预期从 0.7 提升到 0.85,但实际仅爬升至 0.80,显示模型在快速学习基本特征。从第 21 轮到 50 轮,mAP50 从 0.80 稳步增长到 0.88,但曲线却开始进入平台期,loss 下降缓慢,从 0.5 压缩到 0.45。到了第 75 轮,mAP50 依旧徘徊在 0.88 水平,训练 loss 降至 0.4835,但 val_loss 仅略有降低,稳定在 0.44。这种状况表明模型在后期出现了轻微的资源浪费,未充分挖掘数据中的细节信息。从第 51 轮到第 75 轮,训练曲线显得十分枯燥,仿佛模型进入了一种“稳定但缓慢”的训... 使用场景:毕业设计、课程设计、深度学习入门、工业场景落地验证。

【农业信息化】基于微服务架构的育种数据管理系统设计与实现:SpringBoot与Vue框架在智能化农业数据管理中的应用

内容概要:本文设计并实现了一套基于微服务架构的育种数据管理系统,旨在解决传统育种数据管理中存在的信息孤岛、数据格式不统一、系统扩展性差和智能化水平低等问题。系统采用Java语言开发,后端基于SpringBoot框架,结合Spring Cloud实现微服务架构,使用MySQL作为数据存储,前端采用Vue框架构建用户界面。系统功能模块包括用户管理、数据概览、数据采集、数据管理、数据分析和公共支撑模块,支持多源异构数据的采集、清洗、存储、分析与可视化展示。通过引入K-means聚类算法实现育种数据的智能分析,提升品种筛选效率,并通过微服务拆分、API网关、服务注册与配置管理(Nacos)、操作日志追溯、系统监控等技术手段保障系统的可扩展性、可维护性与稳定性。系统经过功能测试验证,具备良好的实用性与可靠性。; 适合人群:具备一定软件开发基础,熟悉Java、SpringBoot、Vue和MySQL技术栈的开发人员或农业信息化相关专业的研究人员;从事农业育种信息化系统设计与实施的技术人员。; 使用场景及目标:①应用于农业科研机构、育种企业等单位,实现育种数据的标准化、智能化管理;②解决育种过程中数据分散、共享困难、分析手段落后等问题,提升育种效率与科研创新能力;③为后续引入AI深度分析、高并发优化和云端部署提供可扩展的技术基础。; 阅读建议:本文适合作为农业大数据管理系统开发的实践参考,建议结合系统架构图、数据库设计和核心功能实现部分进行深入研读,重点关注微服务拆分逻辑、前后端交互设计、数据清洗流程及智能分析模块的算法实现,以便在类似项目中进行技术迁移与优化。

政府科技管理者在推动科技成果转化过程中,如何解决科研成果与市场需求脱节的问题?.docx

政府科技管理者在推动科技成果转化过程中,如何解决科研成果与市场需求脱节的问题?

科技中介服务机构如何实现技术需求的智能挖掘与精准推送?.docx

科技中介服务机构如何实现技术需求的智能挖掘与精准推送?

隔离型全桥LLC谐振变化器建模及参数设计资料【仿真+设计报告+计算书】

内容概要:本文档系统性地提供了隔离型全桥LLC谐振变换器的建模与参数设计全套资料,涵盖Simulink、Plecs和PSIM等多种主流仿真平台的实现模型,配套完整的闭环控制设计报告与Mathcad计算书。内容深入聚焦LLC谐振变换器的核心技术环节,包括软开关实现机制、变频与移相混合控制策略、闭环稳定性分析、谐振参数优化设计及软启动过程建模等关键方面。资料不仅包含典型拓扑结构的仿真验证,还整合了多相交错、双向CLLC、恒压恒流双闭环等进阶控制方案,辅以详细的数学推导与工程设计流程,全面支撑从理论分析到实际电源系统开发的全过程。; 适合人群:面向具备电力电子、自动化或电气工程等相关专业背景,从事开关电源、新能源变换系统、高效率DC-DC转换器研发的工程师、高校研究生及科研人员。; 使用场景及目标:① 深入掌握全桥LLC谐振变换器的工作原理与精确建模方法;② 学习并实践基于多平台的闭环控制系统仿真与动态性能优化;③ 借助Mathcad计算书完成实际工程中谐振腔参数、磁性元件与开关频率的系统化设计;④ 支持高水平科研论文撰写、学位课题研究或工业级电源产品的开发与验证。; 阅读建议:建议结合仿真模型、设计报告与计算书三位一体同步研习,重点剖析控制策略的实现逻辑与参数敏感性分析,动手运行并修改仿真文件以深入理解系统动态响应,同时可参照文档中丰富的电力电子拓扑案例进行横向对比与技术拓展。

全桥LLC谐振(变频+移相混合控制)变换器闭环仿真模型(Simulink仿真实现)

内容概要:本文详细介绍了基于Simulink平台构建的全桥LLC谐振变换器闭环仿真模型,采用变频与移相混合控制策略,实现高效电能转换与系统稳定运行。该模型涵盖主电路建模、闭环控制环路设计、关键参数整定及动态响应分析等核心环节,重点突出通过闭环反馈机制提升输出精度、负载适应能力与系统鲁棒性。同时,模型充分体现了软开关技术(如零电压开关ZVS)的实现原理,有效降低开关损耗,提高电源效率。配套提供的参数设计报告与仿真文件有助于深入理解LLC谐振变换器的工作机理及其在实际工程中的设计流程与优化方法。; 适合人群:适用于电力电子、电气工程及其自动化等相关领域的高校本科生、研究生,以及从事高频开关电源、新能源变换器研发的工程技术人员,具备电路理论基础和Simulink仿真经验者更佳。; 使用场景及目标:①掌握全桥LLC谐振变换器的建模与闭环仿真方法;②深入理解变频控制与移相控制相结合的混合调制策略在高效率电源中的应用优势;③用于科研项目、学位论文或毕业设计中的高性能DC-DC变换器研究;④作为教学案例展示高频软开关电源的动态特性与闭环控制实现方式; 阅读建议:建议结合所提供的设计报告与仿真模型同步操作,逐步调整控制器参数(如PI参数、频率范围、移相角等),观察系统在不同负载与输入条件下的动态响应,从而深化对谐振频率调节、软开关实现条件、闭环稳定性判据等关键技术要点的理解。

基于变频控制的多相交错LLC谐振变换器闭环仿真(Simulink仿真实现)

内容概要:本文围绕“Plecs全桥LLC谐振变换器仿真模型”展开,系统介绍了基于Simulink和MATLAB平台实现的电力电子系统建模仿真资源,重点聚焦于隔离型全桥LLC谐振变换器的闭环控制设计与多相交错并联技术。文档详细涵盖了变频控制、软启动、双向充放电、多相交错并联等多种应用场景,并提供了从开环到闭环的完整控制系统设计方案,尤其强调LLC谐振变换器在新能源、储能、电动汽车等领域的高频DC-DC变换应用。此外,还整合了智能优化算法、机器学习、信号处理、电力系统管理等多个前沿科研方向的技术支持内容,形成综合性仿真资源库,助力科研人员高效开展创新研究。; 适合人群:具备电力电子、自动控制或电气工程等相关专业背景,从事高频变换器设计、新能源系统开发或电力电子仿真的高校研究生及科研人员。; 使用场景及目标:①用于LLC谐振变换器的科研仿真与教学演示;②为电力电子系统设计提供闭环控制策略参考;③辅助开展新能源、储能、电动汽车等领域中高频DC-DC变换器的开发与优化工作;④支撑智能优化、机器学习、路径规划等跨学科科研项目的仿真验证。; 阅读建议:建议结合文中提供的仿真链接与代码资源进行实践操作,优先按照目录结构系统学习核心案例,重点关注LLC变换器的建模方法与控制策略实现细节,同时可拓展参考其他相关技术领域的仿真模型以增强综合应用能力。

垂直起降飞行器的设计与控制:固定翼和四旋翼整合自主飞行研究(Matlab代码实现)

内容概要:本文档标题为《Plecs全桥LLC谐振变换器仿真模型.txt》,但其实际内容并非聚焦于Plecs平台下全桥LLC谐振变换器的详细建模与仿真,而是广泛汇集了基于Matlab/Simulink、PSCAD等工具的多个电力电子、自动控制与新能源系统仿真案例。内容涵盖风储VSG系统、电励磁同步电机三阶段运行仿真、LLC谐振变换器控制、微电网优化、无人机路径规划、卡尔曼滤波状态估计、光伏与风电功率预测、多智能体协同控制等多个研究方向,尤其涉及大量优化算法(如PSO、GA、NSGA-II、MOWAA等)在工程中的应用。尽管提及“全桥LLC谐振变换器”及相关控制策略(如变频控制、软启动、双闭环控制),但缺乏Plecs环境下的具体实现细节,整体更倾向于作为科研资源索引与项目清单,供读者参考选题与技术路线。; 适合人群:具备电力电子、自动化、电气工程或控制科学背景,熟悉Matlab/Simulink、PSCAD等仿真工具,正在从事新能源系统、电机控制、智能优化或路径规划等方向研究的研究生、科研人员及工程技术人员。; 使用场景及目标:①为科研项目选题和技术方案设计提供广泛的技术参考与灵感;②获取电力系统、控制算法、优化调度等领域的仿真思路与代码资源;③了解LLC变换器、VSG、无人机路径规划、微电网优化等前沿方向的研究现状与实现方法。; 阅读建议:此文档本质上是资源目录而非系统教程,建议读者结合自身研究方向,从中筛选关键技术关键词,进一步查找相关文献或配套代码进行深入学习与实践,以实现对特定系统建模与仿真的真正掌握。

三电平Buck直流变换器双闭环、单闭环、开环仿真【附参考文献】(Simulink仿真实现)

内容概要:本文档聚焦于三电平Buck直流变换器的仿真研究,系统性地提供了开环、单闭环与双闭环控制策略的Simulink仿真实现方案,深入剖析了不同控制模式下变换器的动态响应特性与控制性能。文档不仅包含了完整的仿真模型构建过程,还配套提供了参考文献和技术说明,强化了理论分析与工程实践的深度融合,有助于科研人员全面掌握多电平变换器的建模方法与控制机理,尤其适用于电力电子系统在新能源、智能电网等领域的应用研究。; 适合人群:面向具备电力电子、自动控制理论或电气工程等相关专业背景,正在从事科研、工程开发或教学工作的研究生、工程师及高校教师。; 使用场景及目标:①掌握三电平Buck变换器在开环、单闭环与双闭环控制下的建模流程与仿真技巧;②对比分析不同控制策略对系统稳定性、动态响应速度及抗干扰能力的影响;③为撰写学术论文、完成课题研究或开展实际工程项目提供可靠的仿真依据与技术支持。; 阅读建议:建议读者在Simulink环境中亲手搭建仿真模型,逐步调试控制器参数,观察并记录系统的瞬态与稳态响应,结合文档所附参考文献深化对控制理论的理解,从而有效提升科研创新能力与工程实践水平。

高校技术转移办公室人员如何提升科研成果的市场推广与转化成功率?.docx

科易网基于AI模型+行业大数据,在技术转移、成果转化、技术经纪、知识产权、产业创新、科技招商等垂直领域的多样化应用场景,推出科技创新领域的AI+工具与数智化解决方案,推动科技创新与产业创新智能化发展。

windows自动连接无线网工具

手机开启连接特定蓝牙就自动开热点,windows检测手机蓝牙,检测到后连接蓝牙触发手机开热点,电脑就能自动连接手机热点,实现手机在电脑旁边时电脑能自动连接手机热点。

区间多目标优化算法IP-MOEA研究(Matlab代码实现)

内容概要:本文档名为“Plecs全桥LLC谐振变换器仿真模型”,实则是一份综合性极强的科研资源目录,集中展示了电力电子、自动化、电气工程等多个工程技术领域的仿真案例与研究资源。核心内容虽提及“隔离型全桥LLC谐振变换器建模及参数设计”,并列出相关仿真模型,如LLC开环/闭环控制、软启动设计、参数优化等,但整体内容更偏向于资源汇总,涵盖了Matlab、Simulink、PLECS、PSCAD等多种仿真工具在光伏功率预测、电动汽车控制、无人机路径规划、电力系统优化调度、状态估计、信号处理等方向的应用。文档强调借助成熟算法与仿真平台解决复杂工程问题,体现了多学科交叉融合的特点。; 适合人群:具备电力电子、自动化、电气工程、控制科学或相关专业背景,熟悉Matlab/Simulink/PLECS等仿真工具,从事科研或技术研发工作1-3年的工程师、研究生及高年级本科生。; 使用场景及目标:① 学习并掌握全桥LLC谐振变换器的工作原理、系统建模、闭环控制策略及软启动技术;② 研究电力电子变换器的参数优化、混合能源系统调度、智能优化算法在工程中的应用;③ 借鉴丰富的科研案例,为自身的课题研究、毕业设计或工程项目提供仿真模型参考和技术实现思路。; 阅读建议:此文档本质为科研资源索引与案例集合,建议读者首先明确自身研究方向,然后从庞杂的条目中筛选出高度相关的主题,结合所提供的仿真模型、代码、参考文献进行针对性学习与实践,重点关注具体模型的实现逻辑、算法设计与参数配置细节。

V2G电动汽车ACDC整流+双向CLLC谐振变换器充放电仿真(Simulink仿真实现)

V2G电动汽车ACDC整流+双向CLLC谐振变换器充放电仿真(Simulink仿真实现)内容概要:本文档标题为《Plecs全桥LLC谐振变换器仿真模型》,但实际上内容并未聚焦于Plecs软件或特定的全桥LLC谐振变换器建模,而是汇集了大量基于Matlab/Simulink/PSCAD等平台的电力电子、控制系统、优化算法及仿真研究主题。文档列举了多个研究方向,涵盖电力系统动态分析(如IEEE9/68节点系统)、微电网优化调度、永磁同步电机(PMSM)控制策略(如滑模控制、无感控制)、多无人机路径规划、卡尔曼滤波状态估计、信号处理、车间调度算法以及各类变换器(如LLC、VSC-HVDC)的仿真模型。其核心是一个名为“荔枝科研社”的资源共享平台的推广,提供大量科研仿真代码、模型、论文复现资料的下载链接,覆盖智能优化、机器学习、路径规划、电力系统管理等多个技术领域。; 适合人群:具备一定Matlab/Simulink编程基础,从事电力电子、自动化、控制工程、电力系统、机器人或相关领域研究的硕士、博士研究生及科研人员。; 使用场景及目标:① 获取各类复杂系统(如LLC谐振变换器、PMSM、多无人机编队)的仿真模型与代码,加速科研进程;② 学习和复现高水平期刊论文中的算法与控制策略;③ 为毕业设计、课题研究或工程项目寻找成熟的解决方案和技术参考。; 阅读建议:此文档本质为一份庞大的科研资源清单,读者应根据自身研究方向,结合提供的网盘链接和公众号信息,筛选并下载所需的特定模型与代码进行学习和应用,重点在于利用其提供的丰富实例来“借力”突破自身研究瓶颈。

PSIM-三相维也纳VIENNA整流器电压电流双闭环+中点电位平衡SVPWM控制仿真

内容概要:本文档详细介绍了基于PSIM的三相维也纳(VIENNA)整流器仿真模型,重点实现了电压外环与电流内环构成的双闭环控制策略,以及针对中点电位不平衡问题所采用的空间矢量脉宽调制(SVPWM)优化算法。该仿真系统旨在提高整流器的功率因数、降低输入电流谐波含量,并有效维持直流侧中点电压的稳定性,适用于高效率、高功率密度的电力电子变换场合。文档不仅提供了核心控制算法的实现细节,还配套列举了丰富的相关仿真资源,涵盖多种整流器、逆变器、DC-DC变换器及先进控制方法的建模仿真案例,形成完整的教学与研究体系。; 适合人群:电气工程、自动化、电力电子与电力传动等相关专业的硕士博士研究生、科研人员,以及从事新能源变换、工业电源、电能质量治理等领域产品研发的工程师;要求具备扎实的电路理论、电力电子变流技术、自动控制原理及数字信号处理基础知识。; 使用场景及目标:① 深入理解三相三电平维也纳整流器的工作机理及其在PFC中的优势;② 掌握双闭环控制系统的设计流程,包括PI参数整定与动态性能优化;③ 学习SVPWM在多电平拓扑中的实现逻辑,重点研究中点电位波动的成因及平衡控制策略;④ 为科研课题、毕业设计或实际工程项目提供可靠的仿真验证平台与技术方案参考。; 阅读建议:建议结合PSIM软件官方手册与现代电力电子技术经典教材同步学习,重点关注控制环路建模、SVPWM扇区判断与矢量作用时间计算、中点电压反馈调节机制等内容,通过调整控制器参数、观察关键波形(如交流侧电流、直流侧电压、中点电位偏移)来深入理解系统的稳态与动态响应特性,进而完成自主优化与创新设计。

BUCK电路三种工作模式全解析:CCM、BCM、DCM到底怎么选?

本文深入解析BUCK电路的CCM、DCM和BCM三种工作模式,通过对比其电流波形、效率、纹波及环路特性,提供基于计算公式的量化判断方法。文章结合电池供电、高精度模拟等具体应用场景,给出明确的模式选型策略与实战设计指南,帮助工程师根据核心需求做出最优决策。

ee345的博客 486

opencv的cmake报错

1、下载 ippicv_2021.8_win_intel64_20230330_general.zip、v0.1.2a.zip、opencv_videoio_ffmpeg.dll、opencv_videoio_ffmpeg_64.dll、ffmpeg_version.cmake。由于下载源在https://raw.githubusercontent.com,由于网络原因下载不顺畅,可以先找到文件下载到对应文件夹下,或者更改网络环境。ffmpeg_version.cmake文件,打开后显示如下, 另存即可。

nownow_的博客 1299

IC版图设计之OASIS文件格式详解

OASIS(Open Artwork System Interchange Standard)是继GDSII之后新一代的集成电路版图数据交换标准,由SEMI在2004年正式发布(SEMI标准号:SEMI P39)。高压缩率:相比GDSII可减少3-10倍文件体积扩展性强:支持纳米级工艺的复杂图形描述跨平台兼容:独立于EDA工具和操作系统安全增强:内置校验和与加密支持。

ZZcppc的博客 2445

Allegro因为精度问题导致走线连接不上的解决办法

在用Allegro做PCB设计的时候,尤其是从其它单板上导数据过来的时候,有时会因为精度不一致导致连接不上,如下图。一般来说,可以逐个重新连接一下,但是如果连接点位比较多的话,需要花费较多时间。下面介绍如何使用Allegro自带的功能解决这个问题,具体操作如下。和Convert Figure Stackups to vias。因为精度问题导致走线连接不上的解决办法。线和过孔因为精度有微小的连接偏差。

weixin_54787054的博客 2611

C++多线程 task--std::promise和std::future

本文主要讲解C++11/14/17中所提供的应用于多线程编程中的Task机制。Task可由如下几部分取得而本文主要讲解std::promise和std::future相关的内容。std::promise和std::future通过一个数据管道进行交流,可以将std::promise看作生产者,std::future看作消费者,其两者形成如下的方式交互std::promise本身是一个模版类,通过std::promise可以像数据管道中设置value,异常和相应的通知信息。std::promise提供了如下接

qls315的博客 1818

【BUG已解决】pip install 出现 error: Microsoft Visual C++ 14.0 or greater is required 解决方案

方案磁盘占用适用场景推荐指数安装Build Tools3-6GB长期Windows Python开发⭐⭐⭐⭐⭐寻找预编译wheel无额外占用只是想快速装上某个包⭐⭐⭐⭐⭐用conda安装视包而定已经在用conda环境⭐⭐⭐⭐⭐升级到新版本无额外占用库本身有更新的预编译版本⭐⭐⭐⭐使用WSL2需要额外配置Linux子系统频繁遇到Windows编译问题⭐⭐⭐⭐的核心是Windows 缺少本地 C/C++ 编译器,而目标包需要在本机编译。先看是否有捷径。

博客 1万+

定位分析RCU stall问题

在编译内核时打开或者在启动参数中增加这样统计信息是在采样周期中收集的。其中number行分别是发生stalled的cpu上的硬中断,软中断,和上下文的切换次数cputime行的前三列分别是硬中断,软中断和任务消耗的cpu时间,单位为ms.最后一个数字是统计的周期时间(ms).因为用户态的任务通常不会引起RCU CPU stalls,所以任务通常是内核任务,这也是为什么只统计system cpu的原因.

happyAnger6的专栏 1994

5G/NR SSB学习总结

6.1 SSB概念 同步信号和PBCH块(Synchronization Signal and PBCH block, 简称SSB),它由主同步信号(Primary Synchronization Signals, 简称PSS)、辅同步信号(Secondary Synchronization Signals, 简称SSS)、PBCH三部分共同组成。 6.2 SSB特征 ...

欢迎来到小七的博客,这里将带你深入探索5G通信的神秘世界。无论你是通信领域的专业人士还是对这一领域充满好奇心的技术爱好者,这里都有专业协议解读、通信知识普及以及有趣的Python编程内容等你发现。 8万+

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

上一篇: 23、e-Business Suite 与 ODA 配置及迁移指南
下一篇: 49、网络故障排查工具全解析
html8
博客等级 码龄8年 105粉丝 1092原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值