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

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

3天内不再提示

一种优化深度网络的降维分解技术解析

454398 来源:AI加速微信公众号 作者:AI加速微信公众号 2020-11-21 11:43 次阅读

本篇介绍的也是采用了降维的思想来加速网络推理,但是数学上采用了不同的方法。而且这篇文章提出的方法可以加速深度网络,其在vgg-16上进行了实验,获得了4倍的加速效果,而在imageNet分类中top-5错误率仅有0.3%升高。

1、原理

首先我们来看神经网络中的卷积运算的形式,对于任一个隐藏层,它有c幅输入图片,每幅图片都会和一个卷积核进行卷积运算。假设卷积核大小为kxk,那么就有c个卷积核。我们可以将图片沿着个数方向重新生成一个维度,图片就成了一个3D的张量,大小为hxhxc。卷积核为kxkxc,其在kxk方向进行划窗,而c方向进行求和。每个输出点实际上是kxkxc个乘法求和结果。这c个卷积核会输出一幅图片,如果隐藏层有d个节点,实际上是输出n幅图片。如果将kxkxcxd这么大的卷积核进行重新排列,排成一个d行,每行有kxkxc个数据,就称为了一个矩阵,我们令为W。那么输入图片排成一个向量,长度为kxkxc。用矩阵乘法可以表示为:



W为一个dx(kkc+1)的维度矩阵,多增加一个1是将bias加在末尾。但是有人会问一幅图片是hxh个点,现在仅在x向量中取了其kxk个点,那么其他的点如何计算呢?实际上其它点可以看做为多组x向量输入,在之后降维分解中都考虑在内。

从上述公式看出,计算量复杂度为O(dkkc)。文章中文章可以用于更深网络的本质原因。

接下来作者重新表达y为:


M是一个dxd的矩阵,秩为d’。y-是平均响应,其维度也为d’。但是这里作者为什么引入了y-并没有讲。我想和归一化有类似作用吧,可以纠正数据沿着网络传输的发散性。经过降维的后的y,其和x关系变为了:


b是新生成的bias,为:


由于M的秩为d’,所以可以进行分解为:


那么就有:



W矩阵变为d’x(kkc+1)大小,因此计算量降低为O(d’kkc)+O(dd’),因为O(dd’)很小,所以计算复杂度变为原来的d’/d。实际上是减小了神经网络中输入通道的数量,将输入通道减少拆分成两层网络,如图中所示。而CP分解的权重通道数没有变,而是减小了kxk方向维度。


以上公式的导出都是基于y有较低的维数表达,实际中并不会有这样严格的数学性质,因为对于任意输入x,以及不同训练集训练出来的网络,我们不能保证y的维数实际低于d。所以这变成了一个近似问题,如何选择一个d’,同时使得新获得的参数的网络可以逼近最初结果。作者使用平方差来作为目标函数进行计算:


以上优化问题可以很容易获得解。实际上是寻找yyT的最大本征值,这类似于PCA方法。通过提取出排列在前几位最大的本征值,而剩余本征值设置为0来优化网络参数。最大本征值反应了表达y的信息的能力。然后通过一些矩阵变换就可以得到M矩阵。

上述方法很容易兼容非线性单元,因为考虑非线性单元后,优化目标变为:


其中r为非线性函数,作者只考虑了ReLu函数的求解。以上目标函数很难求解,因此作者做了一些数学变换,将上述损失函数进行了松弛处理,即引入了z,重新表达为:


从中看出当lamda逼近无穷时,其目标函数等同于原始目标函数。通过上述方法,可以优化每一层的网络参数。因为每层网络的输出是下层输入,所以整个优化一层层传递下去可以完成整体网络优化。

2、结果

首先作者选择了一个10层网络进行试验,结果为:


这里symmetric和asymmetric是作者进行非线性优化时,分别使用了原始的输入结果和近似输入结果来进行的。实际上是修正每层造成的错误沿着层向前积累。可以看出asymmetric比symmetric有更低的错误率。

VGG是一个广泛使用的网络模型,是一个深度网络,其被广泛用于物体识别,图像分割,视频分析中。作者在VGG-16上进行了实验,实验结果和CP分解的做了对比,如图:


结论

本文介绍了另外一种降维方法,其可以优化深度网络。个人感觉其还是有一定局限性,首先其在网络前向传输优化时,错误率还是会进行积累,这也是仅仅优化了16层VGG的原因,当然这相比CP分解确实加深了。但是类似resnet这样更深的网络,作者并没有报道过。

编辑:hfy


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

    关注

    42

    文章

    4566

    浏览量

    98657
收藏 人收藏

    评论

    相关推荐

    利用全相位对图像进行谱分解

    设计高低通分解全相位滤波器并完成图像压缩
    发表于 04-06 10:42

    基于多模扫频仪的LTE网络规划和优化

    区或参数规划,都不能客观地反映真实的无线覆盖情况。并且,般的测试终端都无法对多种网络制式同时进行测试分析,而是各种网络制式拥有各自的测试终端,需要进行多次的测试才能获得每一种
    发表于 06-10 07:14

    一种基于经优化算法优化过的神经网络设计FIR滤波器的方法介绍

    、计算速度等方面的优越性。基于这种算法,有人分别将其在数域和数上做出了推广。本文提出的方法,是基于余弦基神经网络设计方法的一种改良,其基本思想首先是使设计频响与理想频响之间的全局误差在通带和阻带范围
    发表于 07-08 07:16

    一种基于C+A算法的ZigBee网络Cluster-Tree优化路由算法研究

    摘要:通过分析ZigBee协议中Cluster-Tree和AODVjr算法的优缺点,提出一种基于Cluster-Tree+AODVjr的优化路由算法。该算法利用ZigB ee协议中的邻居表,通过定义
    发表于 07-12 08:07

    一种基于Zigbee技术的家用无线网络平台研究

    研究一种基于Zigbee技术的家用无线网络平台.分析了Zigbee网络协议,探讨了用Zigbee技术构建家用无线
    发表于 07-15 06:18

    深度学习中的机器视觉(网络压缩、视觉问答、可视化等)

    相近语义信息的图像应该在t-SNE结果中距离相近。和PCA不同的是,t-SNE是一种非线性方法,保留了局部之间的距离。下图是直接对MNIST原始图像进行t-SNE的结果。可以看出,MNIST是比较
    发表于 07-21 13:00

    解析深度学习:卷积神经网络原理与视觉实践

    解析深度学习:卷积神经网络原理与视觉实践
    发表于 06-14 22:21

    基于CORDIC技术的无开方无除法的MQR阵分解方法

    。我们提出了一种基于CORDIC(坐标旋转数字计算机)技术的无开方无除法的MQR阵分解方法,并应用于自适应阵抗干扰处理,取得了良好的效果。CORDIC算法最初由Volder提出,最早用于三角函数的计算
    发表于 11-23 09:15

    什么是深度残差收缩网络

       深度残差收缩网络深度残差网络一种新的升级版本,其实是深度残差
    发表于 11-26 06:33

    请问怎样去设计一种网络存储器?

    网络存储器技术是如何产生的?怎样去设计一种网络存储器?
    发表于 05-26 07:00

    卷积神经网络卷积的处理过程

    inference在设备端上做。嵌入式设备的特点是算力不强、memory小。可以通过对神经网络做量化来load和省memory,但有时可能memory还吃紧,就需要对神经网络在memory使用上做进
    发表于 12-23 06:16

    介绍一种简单的数据解析方法

    JSON。​ 下面我将介绍一种简单的数据解析方法,通过编写函数,将字符串解析取得目标数据。解析字符型数据函数原型/*** @brief从
    发表于 02-28 06:15

    深度学习技术的开发与应用

    降落任务1.DQN/Double DQN/Dueling DQN2.PER高频问题:1.深度强化学习网络训练稳定性 2.探索与利用关键点:1.经验回放技术的实现2.目标网络更新实操
    发表于 04-21 14:57

    C语言深度解析

    C语言深度解析,本资料来源于网络,对C语言的学习有很大的帮助,有着较为深刻的解析,可能会对读者有定的帮助。
    发表于 09-28 07:00

    一种基于DeepFM的深度兴趣因子分解网络

    推荐系统能够根据用户的喜妤从海量信息中筛选岀其可能感兴趣的信息并进行排序展示。随着深度学习在多个研究领域取得了良好的效果,其也开始应用于推荐系统。目前基于深度学习的推荐排序算法常采用
    发表于 04-20 14:00 10次下载
    <b class='flag-5'>一种</b>基于DeepFM的<b class='flag-5'>深度</b>兴趣因子<b class='flag-5'>分解</b>机<b class='flag-5'>网络</b>