0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

利用深度学习加速芯片设计

MATLAB 来源:MATLAB 作者:MATLAB 2022-11-10 10:44 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

实现自主可控的芯片设计已经成为我国社会和行业发展的热点,而伴随着对芯片功能性和稳定性与日俱增的要求,芯片设计也变得越来越复杂,如何快速和便捷地进行设计空间的探索也变得越来越具有挑战性!

今天我们有幸邀请到来自上海交通大学信息工程专业的卢凌峰和李江川两位同学,来分享他们在参与 MATLAB 学生创新项目(MathWorks Excellence in Innovation Projects)时是如何利用深度学习来加速锁相环设计的。GitHub 上也有他们分享的代码和数据,可以下载哦:https://github.com/lulf0020/Behavior-modeling-of-PLL

同时,如果是对芯片设计这个话题感兴趣,也可以参加我们 11 月 22/24 日晚上 7-8 点的小迈步之 MATLAB助力芯片设计系列讲座!作为入门级讲座,我们会使用丰富的实际操作案例来介绍如何在各领域使用 MATLAB 与 Simulink 实现芯片设计应用,欢迎来听!

以下是他们的分享——

锁相环(Phase Lock Loop, PLL)被称为芯片的“心脏”!它利用外部晶

振作为参考时钟,通过闭环控制输出一个稳定的更高频率的时钟,以供芯片的时序电路使用。心脏的正常跳动很大程度上决定着一个人能否健康地生活,而设计一个稳定的 PLL 则成为保障一个芯片能正常运行的重要前提!

2021 年,我们选修了杨宇红老师主讲的校企合作课程《工程实践与科技创新》,作为课程的一部分,我们需要在课程期间完成一个实践项目。MathWorks 的学生创新项目是由其在全球一线工程师们结合当前行业需求和最新技术发展趋势所确立的一些研究和实践课题,涉及 5G、大数据、工业 4.0、人工智能自动驾驶机器人无人机计算机视觉、可持续发展及可再生能源等各个领域。我们决定在其中选择一个项目并在 3 个月之内完成。

为什么选择“基于深度学习技术进行锁相环行为级建模” 项目?

这个项目的实用性以及新颖性吸引了我们!对锁相环进行行为级建模,可以节省设计过程中的时间成本。具体来说,通过深度学习建立锁相环的行为级模型之后,我们可以输入器件参数直接得到锁相环的性能表现,而不需要经过冗长的仿真测试环节。

另外,在选择这个项目之前,我们曾经在学校的机器学习课程中接触过神经网络的基础知识,也曾在暑期实习过程中,对很多的神经网络进行了调研,并实战过利用 YOLO 算法来做目标识别。一定的知识储备使得我们更加有底气选择这个项目。

在项目中遇到什么问题?是如何解决的?

数据集和模型是开展深度学习的两个关键因素。在这个项目中,我们遇到的两个主要问题包括数据集的收集和模型建立:

问题一:如何高效的收集数据集?

问题二:怎样建立有效的深度学习模型?

下面就给大家详细介绍一下我们是如何解决这两个问题的。

问题一:如何高效的收集数据集?

在这个项目中,没有现成的数据集可供我们使用。项目开始前,MathWorks出题工程师 Pragati Tiwary 对于题目细节给我们做了深入地解释。他告诉我们 MATLAB 的混合信号工具箱(Mixed-Signal Blockset)里所提供的N分频锁相环参考模型给我们提供了一种可以通过仿真来建立数据集的手段。

该模型(如下图示)包含了五个模块:鉴相器,电荷泵,环路滤波器,压控振荡器和分频器。我们需要做的是不断改变这五个模块的参数,看看会对锁相环输出信号的频率、锁定时间以及相位噪声产生什么样的影响。

a029acec-601b-11ed-8abf-dac502259ad0.png

图一 N 分频锁相环参考模型

混合信号工具箱除了提供参考模型,还提供了测试平台。利用这个平台,我们可以便捷地对各种不同参数下的锁相环模型的输出信号进行监测,记录下所需要的输出结果。

项目初期,我们遇到的主要问题是数据集的收集效率低下。为了获得一组数据,我们每次都需要手动更改模型各个模块的参数设置,再对进行一次仿真测试,最后需要手动记录测试平台的输出结果,十分费时。

这时,Pragati 给我们提供了耐心的指导,他告诉我们如何对锁相环模型进行批量的数据导入、仿真以及数据导出。在他的帮助下,我们将 Simulink 与 MATLAB 配合使用,由 MATLAB 程序调整模型参数并控制 Simulink 模型进行批量的仿真和测试。我们将模型中需要测试的参数设置为变量,这样就可以通过更改变量值的方式来更改仿真模型的参数值。

但是,我们随后发现一些涉及到模型结构的参数,比如环路滤波器的阶数,是无法简单地通过改变变量值的方式来进行修改的。正当我们一筹莫展时,却惊喜地发现锁相环中通常所采用的二阶,三阶和四阶环路滤波器的电路形式具有相似性。于是,我们统一采用了四阶环路滤波电路的模型,只是在设置参数时,通过将对应的电容电阻设为0,来模拟断路和短路,以实现更低阶数的环路滤波器。至此,我们实现了仿真模型参数的快速更改。

a0416058-601b-11ed-8abf-dac502259ad0.png

图二 二阶、三阶和四阶环路滤波器(从左到右)

对输出结果,我们也希望能够像仿真模型的参数一样,实现通过程序自动记录。但我们经过测试后发现,测试平台的最终输出结果无法导出,而只能导出中间结果。于是我们只好自动导出中间结果,再根据相应输出结果的计算方法,通过中间结果求解出我们所需要的最终结果。

最终,我们建立起了 MATLAB 和 Simulink 配合仿真和测试的全流程:通过生成在一定范围内的随机数,对仿真模型的参数值进行更改;使用MATLAB的控制指令进行模型的仿真和测试,Simulink会在仿真结束后将记录的中间结果回传到 MATLAB,最后根据回传的中间结果计算我们关注的输出结果并记录。在设定了程序执行的循环次数后,就能够实现无监管下的数据收集工作,在一定程度上提高了数据集的建立效率。

问题二:怎样建立有效的深度学习模型?

深度学习一般被用于复杂信息的特征提取以及预测量的回归或拟合标定。譬如在卷积神经网络模型设计中就包含较多的卷积层和池化层等用于图片特征信息的提取。而在我们的项目中,实际需要的特征值大多已经在项目信息中给出。

通过实验,我们发现仅两层的前馈式神经网络就可以较好地实现对输入参数到输出参数映射关系的建模,于是我们采用了神经网络中结构较简单的前馈式神经网络。

MATLAB 提供了一个深度学习工具箱,你可以从零开始构建想要的神经网络模型,也可以在工具箱所提供的参考神经网络模型上进行修改。该工具箱可以从 TensorFlow 和 Caffe 导入模型,并支持对 DarkNet-53、ResNet-50、NASNet、SqueezeNet 等较为热门的预训练模型进行迁移学习。

我们要给大家安利的是深度学习工具箱里所提供的 Neural Network Fitting APP。这个APP提供了如下图所示的神经元节点数可选的两层前馈式神经网络。这个神经网络以经典的非线性激活函数sigmoid作为隐藏层神经元的激活函数,而在输出层则采用了线性的输出函数;以均方差值(MSE)作为训练指标,并且可以对训练的结果进行回归度分析。在这个 APP 的基础上,通过人为地对训练数据、测试数据以及训练完成的模型进行一些数据处理,就大致满足了我们的需求。

a076fa10-601b-11ed-8abf-dac502259ad0.png

图三 Neural Network Fitting APP

不得不提的是,我们建立的模型一开始的拟合效果并不好,于是我们尝试了数据预处理、增加神经节点、调整各个数据集的比例等方式,最后得到了一个还不错的拟合效果。

在前馈式神经网络这一模型主体上,一个良好的数据预处理形式可以使得整体神经网络具有更好的拟合效果。对于数量级相差较大的数据,我们使用对数函数辅助进行归一化,使得其数据分布尽可能实现均匀且有区分度,不会有过多的差异数据聚集在数据轴上的几个点附近而导致欠拟合或过拟合。

在模型训练过程中,数据集会被划分为训练集、测试集和验证集三个部分。其中,训练集和测试集会用于模型的训练过程,而验证集主要用于模型最终性能的评估。在训练过程中,我们注意到,仅仅保证训练集和测试集占总体数据集大小的比例是不够的,测试集最好具有一定的绝对数量,否则其反映出来的模型拟合程度可能无法反应出模型实际的拟合程度。在这个项目中,大约需要 >200 个样本的测试集才能保证其用于训练的模型拟合程度数据较为可靠,使模型训练进程能有效推进下去。

结语:努力学习 + 勇敢尝试 = 成功

时光荏苒,现在我们一个已经在上海三菱电梯工作,一个正在备战考研,但这段跨时差跨语言的项目经历是很难忘的。我们最大的收获不仅是通过项目实践巩固了所学的知识、体会到创新的重要性,还通过和 MathWorks 的工程师在线上用英语沟通和交流开阔了眼界和提高了胆量。在此,非常感谢 MATLAB 学生创新项目给我们提供了实践的机会,感谢《工程实践与科技创新》课程的主讲老师杨宇红老师与 MathWorks 的 Pragati Tiwary 及许悦伊博士给我们提供的帮助和指导!

P.S.:卢凌峰和李江川两位同学参加的 Behavior Modeling of PLL 是 MathWorks 为同学们提供的二百余个 MATLAB 学生创新项目(Excellence in Innovation Projects)项目之一。

最后,如果是对芯片设计这个话题感兴趣,也可以参加我们 11 月 22/24 日晚上 7-8 点的小迈步之 MATLAB助力芯片设计系列讲座!作为入门级讲座,我们会使用丰富的实际操作案例来介绍如何在各领域使用 MATLAB 与 Simulink 实现芯片设计应用,欢迎来听!

审核编辑:汤梓红

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • matlab
    +关注

    关注

    189

    文章

    3029

    浏览量

    239202
  • 芯片设计
    +关注

    关注

    15

    文章

    1172

    浏览量

    56778
  • 深度学习
    +关注

    关注

    73

    文章

    5607

    浏览量

    124626

原文标题:“AI+”学生项目分享 | 利用深度学习加速芯片设计

文章出处:【微信号:MATLAB,微信公众号:MATLAB】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    人工智能-Python深度学习进阶与应用技术:工程师高培解读

    深度学习的工程化落地,早已不是纸上谈兵的事。从卷积神经网络到Transformer,从目标检测到大模型私有化部署,技术栈不断延伸,工程师面临的知识体系也越来越庞杂。现根据中际赛威工程师培训老师的一份
    的头像 发表于 04-21 11:01 301次阅读
    人工智能-Python<b class='flag-5'>深度</b><b class='flag-5'>学习</b>进阶与应用技术:工程师高培解读

    机器学习深度学习中需避免的 7 个常见错误与局限性

    无论你是刚入门还是已经从事人工智能模型相关工作一段时间,机器学习深度学习中都存在一些我们需要时刻关注并铭记的常见错误。如果对这些错误置之不理,日后可能会引发诸多麻烦!只要我们密切关注数据、模型架构
    的头像 发表于 01-07 15:37 349次阅读
    机器<b class='flag-5'>学习</b>和<b class='flag-5'>深度</b><b class='flag-5'>学习</b>中需避免的 7 个常见错误与局限性

    穿孔机顶头检测仪 机器视觉深度学习

    ,能适用恶劣工况,在粉尘、高温、氧化皮等恶劣环境中均可正常工作。 测量原理 利用顶头与周围的物质(水、空气、导盘等)红外辐射能量的差异,用热成像相机拍摄出清晰的图片,再通过深度学习短时间内深度
    发表于 12-22 14:33

    【团购】独家全套珍藏!龙哥LabVIEW视觉深度学习实战课(11大系列课程,共5000+分钟)

    、GPU加速训练(可选) 双轨教学:传统视觉算法+深度学习方案全覆盖 轻量化部署:8.6M超轻OCR模型,适合嵌入式设备集成 无监督学习:无需缺陷样本即可训练高精度检测模型 持续更新:
    发表于 12-04 09:28

    【团购】独家全套珍藏!龙哥LabVIEW视觉深度学习实战课程(11大系列课程,共5000+分钟)

    、GPU加速训练(可选) 双轨教学:传统视觉算法+深度学习方案全覆盖 轻量化部署:8.6M超轻OCR模型,适合嵌入式设备集成 无监督学习:无需缺陷样本即可训练高精度检测模型 持续更新:
    发表于 12-03 13:50

    如何深度学习机器视觉的应用场景

    检测应用 微细缺陷识别:检测肉眼难以发现的微小缺陷和异常 纹理分析:对材料表面纹理进行智能分析和缺陷识别 3D表面重建:通过深度学习进行高精度3D建模和检测 电子行业应用 PCB板复杂缺陷检测:连焊、虚焊、漏焊等焊接质量问题 芯片
    的头像 发表于 11-27 10:19 327次阅读

    利用 Banana Pi BPI-CM5 Pro(ARMSoM CM5 SoM) 加速保护科学

    从中获得有意义的信息。而这正是深度学习改变游戏规则的地方。 深度学习模型和人工智能加速硬件释放了PAM真正的可扩展潜力,使科学家能够在合理的
    发表于 10-27 09:18

    【「AI芯片:科技探索与AGI愿景」阅读体验】+第二章 实现深度学习AI芯片的创新方法与架构

    、Transformer 模型的后继者 二、用创新方法实现深度学习AI芯片 1、基于开源RISC-V的AI加速器 RISC-V是一种开源、模块化的指令集架构(ISA)。优势如下: ①模
    发表于 09-12 17:30

    如何在机器视觉中部署深度学习神经网络

    图 1:基于深度学习的目标检测可定位已训练的目标类别,并通过矩形框(边界框)对其进行标识。 在讨论人工智能(AI)或深度学习时,经常会出现“神经网络”、“黑箱”、“标注”等术语。这些概
    的头像 发表于 09-10 17:38 1049次阅读
    如何在机器视觉中部署<b class='flag-5'>深度</b><b class='flag-5'>学习</b>神经网络

    Andes晶心科技推出新一代深度学习加速

    高效能、低功耗 32/64 位 RISC-V 处理器核与 AI 加速解决方案的领导供货商—Andes晶心科技(Andes Technology)今日正式发表最新深度学习加速器 Ande
    的头像 发表于 08-20 17:43 3116次阅读

    深度学习对工业物联网有哪些帮助

    深度学习作为人工智能的核心分支,通过模拟人脑神经网络的层级结构,能够自动从海量工业数据中提取复杂特征,为工业物联网(IIoT)提供了从数据感知到智能决策的全链路升级能力。以下从技术赋能、场景突破
    的头像 发表于 08-20 14:56 1204次阅读

    自动驾驶中Transformer大模型会取代深度学习吗?

    [首发于智驾最前沿微信公众号]近年来,随着ChatGPT、Claude、文心一言等大语言模型在生成文本、对话交互等领域的惊艳表现,“Transformer架构是否正在取代传统深度学习”这一话题一直被
    的头像 发表于 08-13 09:15 4367次阅读
    自动驾驶中Transformer大模型会取代<b class='flag-5'>深度</b><b class='flag-5'>学习</b>吗?

    深度学习遇上嵌入式资源困境,特征空间如何破局?

    近年来,随着人工智能(AI)技术的迅猛发展,深度学习(Deep Learning)成为最热门的研究领域之一。在语音识别、图像识别、自然语言处理等领域,深度学习取得了显著成果。从原理上看
    发表于 07-14 14:50 1320次阅读
    当<b class='flag-5'>深度</b><b class='flag-5'>学习</b>遇上嵌入式资源困境,特征空间如何破局?

    Nordic新一代旗舰芯片nRF54H20深度解析

    LE Audio实现超低功耗真无线耳机 运动传感器数据实时融合(利用M33+RISC-V分工) ​​Matter智能家居​​ 单芯片实现Thread边界路由+设备控制 安全OTA升级保障设备生命周期
    发表于 04-26 23:25