您的位置 首页 FPGA

面向网络边际使用的新一代神经网络 

介绍了面向网络边缘应用的新一代神经网络——微型二值神经网络,可在保持低功耗的同时减少对存储器的需求。

作者 / Hussein Osman

莱迪思半导体

Hussein Osman,在半导体职业具有14年的经历,其间包含13年的体系规划作业经历,现在担任产品营销司理。在参加莱迪思之前,曾任赛普拉斯半导体公司的专家级体系工程师,致力于顶级的接触、电容式接触感应和指纹技能产品界说和开发。

  人工智能(AI)、神经网络和机器学习范畴的开展十分迅速,开发工程师正不断测验为体系增加更多智能功用,远景不可估量。其间各类运用关于核算的需求是不同的。在数据中心范畴,用于履行图画辨认的神经网络是“经过练习”的,举个比如,经过向神经网络投喂不计其数的图画并分配权重直至神经网络能够正确辨认目标。就像人类从一张白纸到最后成为常识广博的人,当新数据呈现时,人们能够依据曩昔的经历进行“推理”并做出决议,相同,体系有必要运用“推理技能”依据神经网络从头数据上学到的东西来进行“推理”并得出成果。

  树立数据架构并核算推理所需的权重或许需求数TB的数据和很多的核算资源。因而,数据中心常用的深度学习技能一般运用大尺度、高功用GPU来满意如此很多的核算要求。

  高功耗GPU关于想要将AI优势引进到网络边际范畴的规划工程师来说过分奢华。在网络边际范畴,布置数据中心运用的根据浮点运算的深度学习技能是不太实际的。规划工程师有必要开发核算功率高的解决方案,不只要到达精度要求,还要满意消费电子市场关于设备的功耗、尺度和本钱的约束。虽然设备在数据中心接受过练习,但是一旦布置到网络边际范畴,就要尽或许运用更少位数进行核算来完成推理。为了简化核算流程,规划工程师从浮点数运算转为定点数运算,假如或许的话,乃至运用最基本的整数运算。经过改动练习的办法来补偿浮点数到定点整数的数据量级上的差异,规划工程师得以开发解决方案来完成更快的练习速度和更高的精度,然后将定点/低精度整数运算神经网络的功用提升至浮点数运算神经网络的水平。为了最为简略地构建的网络边际设备,练习需求生成具有1位权重和激活的神经网络模型。这样的模型被称为二值神经网络。

  VectorBlox Computing 和莱迪思半导体公司的工程师现已合作开发了一种新器材,以充分利用二值神经网络的优势。该器材经过二值办法优化了神经网络的尺度、本钱、功耗和功用,大大下降存储器需求,一起最大极限下降了功耗。这能够运用低功耗FPGA器材,例如iCE40 UltraPlus™来完成,该器材供给了具有足够存储器、逻辑和DSP资源的灵敏渠道。研究成果宣布在第三届关于FPGA资源从头整合(Overlay Architectures for FPGA, OLAF)年度研讨会论文中。

  开发团队将这个全新的概念称为微型二值神经网络(Tiny Binarized Neural Network)或TinBiNN。二值神经网络(BNN)无需乘法和除法运算,可下降关于存储器的要求,而且仅运用加法和减法来核算卷积。开发团队将TinBiNN界说为可运用少于5400个4输入查找表(LUT)资源完成的BiNN。本文评论的重点是根据少于5000个4输入LUT的轻量级TinBiNN,以及怎么运用莱迪思半导体的UltraPlus™FPGA完成。

1 二值神经网络

  根据CNN的机器学习运用中,核算内核是一个卷积核,一个3×3窗口的权重与输入数据相乘,然后求和成一个纯量成果。输入值、权重和成果一般运用浮点数体系。虽然硬件优化支撑窄定点值,但乘法仍占主导地位。

  最新的理论,如M.Courbariaux,Y.Bengio和J.-P. David的“BinaryConnect: Training Deep Neural Networks with Binary Weights During Propagations”论文中运用二进制权重来表明+1或-1,消除了乘法运算[1]。该项目运用浮点数据在CIFAR 10图画辨认数据集上完成了8.3%的差错率。

  VectorBlox和莱迪思的开发工程师对BinaryConnect办法进行了三项改善。首要,他们把网络结构减小了一半。工程师们将(2×128 C3) – MP2 – (2x256C3) – MP2 (2 x 512C3) – MP2 – (2x1024FC) – 10SFC架构简化为(2 x 64C3) – MP2 – (2 x 128C3) – MP2 – (2 x 256C3) – MP2 – (2 x 256FC) – 10SFC,其间C3是3×3 ReLU卷积层,MP2是2×2 max-pooling层,而FC是一个彻底互连层。

  然后团队经过对一切输入数据运用8位有符号的定点数进一步优化网络。累加器运用32位有符号数来防止溢出,然后在数据传递到下一层之前经过饱满操作变成8位。新体系的错误率为10.8%。神经网络的规划缩小至48-48-96-96-128-128和64-128-10,错误率增加到11.5%。

  第二项改善是为二值神经网络完成硬件加速器。然后开发工程师运用加速器作为ORCA软RISC-V处理器中的ALU。RISC-V软处理器以其高功率的RV32IM指令集出名,使得开发工程师能够以更少的资源进行更多的核算。在这种情况下,开发工程师运用一组自界说轻量矢量扩展(LVE)指令增强了ORCA处理器。经过RISC-V ALU传输矩阵数据,LVE削减或消除循环、存储器拜访和地址生成开支,然后进步了矩阵运算的功率。将CNN加速器作为自界说矢量指令(CVI)(见图2)增加到LVE,进一步提升了运算功率。

  第三项修正是在iCE40 UltraPlus FPGA中完成了增强的RISC-V处理器。为了在网络边际履行推理使命,规划工程师需求一种能够供给高度并行架构的解决方案,支撑以低功耗每秒进行很多运算。关于期望经过语音或图画辨认技能为网络边际运用增加更多智能功用的规划工程师而言,iCE40 UltraPlus可供给衔接图画传感器所需的灵敏I/O以及丰厚的逻辑资源,用于缩放和处理捕获的图画数据。iCE40 UltraPlus还具有8个DSP模块,支撑更杂乱的算法,而片上存储器则能够在低功耗状态下缓冲数据。LVE直接在128 kB暂存RAM上运转,该暂存器RAM现已三倍超频,能够在每个CPU时钟周期内进行两次读取和一次写入。二进制权重存储在内部RAM中,所以假如任何LVE操作正在进行,DMA引擎都能够将这些值高效地转移到暂存器中,不用占用CPU时钟周期。

  开发工程师运用iCE40 UltraPlus移动开发渠道,对FPGA器材的要害互连功用进行评价,快速完成原型规划和测验。概念验证演示可协助工程师快速开发驱动和接口等解决方案。该渠道可供给速率高达108 Mbps的1个MIPI DSI接口、4个麦克风桥接和多种传感器。在这个渠道上,FPGA能够经过板载SPI闪存或USB端口进行编程。

  开发团队选用Omnivision OVM7692 RGB摄像头(640 x 480像素),并运用RGB565在硬件层面将图画紧缩至40 x 30像素。DMA用于将RGBA8888像素写入暂存器。软件对RGBA8888像素进行去交织,并将成果填充到尺度为40 x 34的独立R8、G8和B8像素平面,其间只要32 x 32像素的数据是重要的。

  开发工程师创建了一个人脸检测器,这是经过运用修正的CIFAR-10数据集对10类分类器进行练习,用CIFAR-100中“人”的重复图画替换“鹿”图画完成的。为了进步功用,团队进一步缩小网络结构,并运用175,000个面部和非面部图画的专用数据库来练习全新的1类分类器。这个数据库包含各种人脸图画,包括各个年纪、种族、是否戴眼镜、帽子和太阳眼镜等信息。

2 低错误率,低功耗

  开始成果很不错。在开发渠道上,10分类分类器运转时刻为1315 ms。 这款小尺度CPU的作业频率为24 MHz,并运用iCE40 UltraPlus 5K器材的5280个4输入LUT中的4895个。它还运用FPGA的8个16×16 DSP模块中的4个,30个4 kb(0.5 kB)BRAM中的26个以及悉数4个32 kB SPRAM。ORCA RISC-V上的加速器将卷积层的运转功率进步了73倍,LVE将密布层的运转功率进步了8倍。终究的成果是全体速度进步了71倍。

  1分类分类器运转时刻为230 ms,差错为0.4%,功耗为21.8 mW。低功耗版别规划运转速率为1帧/秒,而功耗仅为4.4 mW。上述两个分类器的错误率首要归因于练习,而不是精度的下降。图画传感器的功耗不包含在该剖析中,虽然低功耗图画传感器能够以1-2 mW的功耗完成上述帧速率。

3 潜在的运用

  根据TinBiNN神经网络的小尺度、低功耗解决方案能够在网络边际范畴完成各类运用。例如,智能门铃能够运用嵌入式AI功用主动进入待机形式,直到有人呈现。智能电视机可在没有观众的情况下主动封闭。相同,智能安防摄像头可运用嵌入式人工智能功用来削减或防止错误报告,只要当入侵者呈现时才发送警报,而不是在狗、猫或其他动物呈现在摄像头面前时宣布警报。

  具有面部辨认的移动设备和平板电脑需求用户在进行面部辨认之前唤醒设备。该解决方案使得这些设备能够以低功耗继续侦测人脸,然后唤醒高功耗运用处理器履行深度辨认使命。

4 定论

  将AI引进网络边际范畴是应战与机会并存的。正如本项目所展现的,运用FPGA和RISC-V处理器替代根据云的资源来构建AI能够大幅下降功耗,一起缩短呼应时刻。一起,本地数据保存和处理进步了安全性,节约了名贵的带宽。经过将AI集成到器材中,规划工程师即便在网络封闭以节约功耗的情况下也能实实际时作业的智能功用。

  参考文献: [1]Courbariaux M,Bengio Y,David J P.BinaryConnect: Training Deep Neural Networks with Binary Weights during Propagations.Advances in Neural Information Processing Systems 28(NIPS 2015).Curran Associates,Inc.,2015:3123-3131

  本文来源于《电子产品世界》2018年第1期第79页,欢迎您写论文时引证,并注明出处。

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/fangan/fpga/160081.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部