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

    文章

    3018

    浏览量

    237587
  • 芯片设计
    +关注

    关注

    15

    文章

    1128

    浏览量

    56442
  • 深度学习
    +关注

    关注

    73

    文章

    5590

    浏览量

    123900

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

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

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

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

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

    学习模型DLL 硬件联动:支持工业相机硬触发、GPU加速训练(可选) 双轨教学:传统视觉算法+深度学习方案全覆盖 轻量化部署:8.6M超轻OCR模型,适合嵌入式设备集成 无监督
    发表于 12-03 13:50

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

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

    利用 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 679次阅读
    如何在机器视觉中部署<b class='flag-5'>深度</b><b class='flag-5'>学习</b>神经网络

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

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

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

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

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

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

    新思科技利用人工智能加速芯片设计流程

    芯片开发者常面临极高设计复杂度与缩短产品上市时间的双重压力。任何有助于提升设计开发效率、加速决策制定速度以及推进其他进度的举措,都能为开发者解燃眉之急。
    的头像 发表于 04-17 10:12 696次阅读

    嵌入式AI技术之深度学习:数据样本预处理过程中使用合适的特征变换对深度学习的意义

      作者:苏勇Andrew 使用神经网络实现机器学习,网络的每个层都将对输入的数据做一次抽象,多层神经网络构成深度学习的框架,可以深度理解数据中所要表示的规律。从原理上看,使用
    的头像 发表于 04-02 18:21 1281次阅读

    厂家芯资讯|WTK6900系列语音识别芯片学习功能深度答疑

    在智能硬件全面拥抱语音交互的时代,广州唯创电子WTK6900系列芯片凭借其独特的离线自学习能力,已成为智能家居、工业控制等领域的核心交互模块。本文针对实际应用中的高频问题,深度解析故障排除方法与优化
    的头像 发表于 03-20 09:13 645次阅读
    厂家芯资讯|WTK6900系列语音识别<b class='flag-5'>芯片</b>自<b class='flag-5'>学习</b>功能<b class='flag-5'>深度</b>答疑

    如何排除深度学习工作台上量化OpenVINO™的特定层?

    无法确定如何排除要在深度学习工作台上量化OpenVINO™特定层
    发表于 03-06 07:31

    军事应用中深度学习的挑战与机遇

    人工智能尤其是深度学习技术的最新进展,加速了不同应用领域的创新与发展。深度学习技术的发展深刻影响了军事发展趋势,导致战争形式和模式发生重大变
    的头像 发表于 02-14 11:15 818次阅读

    BP神经网络与深度学习的关系

    BP神经网络与深度学习之间存在着密切的关系,以下是对它们之间关系的介绍: 一、BP神经网络的基本概念 BP神经网络,即反向传播神经网络(Backpropagation Neural Network
    的头像 发表于 02-12 15:15 1339次阅读

    AI自动化生产:深度学习在质量控制中的应用

    随着科技的飞速发展,人工智能(AI)与深度学习技术正逐步渗透到各个行业,特别是在自动化生产中,其潜力与价值愈发凸显。深度学习软件不仅使人工和基于规则的算法难以胜任的大量生产任务得以自动
    的头像 发表于 01-17 16:35 1210次阅读
    AI自动化生产:<b class='flag-5'>深度</b><b class='flag-5'>学习</b>在质量控制中的应用