用SVD压缩深度模型(DNN,CNN)的全连接层(fully-connected layer)

来源:互联网 发布:网络言情小说作家 编辑:程序博客网 时间:2024/05/18 03:17

转自:https://my.oschina.net/liusicong/blog/866364

转载请注明出处,否则将依法追究版权

全连接层出现在DNN和 CNN中.很多论文[介绍了如何用SVD,VQ,Sparse code压缩全连接层,这些方法不是端到端地训练一个新模型,而是对训练好的模型压缩其全连接层的权重矩阵,在应用实现中则需要同时考虑对权重和偏移的处理. 实际上权重和偏移的维度不相同,处理方法是不同的.本文将系统性地介绍在应用实现中,如何利用下述方法压缩权重矩阵,同时处理与之对应的偏移量,从而实现全连接层压缩的整个过程.

首先深入研究两个相邻全连接层的运算原理,理解权重矩阵 和偏移 的关系.如下图所示,第L层有m个神经元,第(L+1)层有n个神经元,因此相邻两个全连接层的权重矩阵 是一个 的2维矩阵.全连接层输入 与输出 的映射关系是 .即L层所有神经元与第(L+1)层的某个神经元的连接共享同一个偏移量,因此相邻两个全连接层的偏移量是一个1维向量,包含n个元素.

奇异值分解(SVD)压缩算法. 如下图所示,基于SVD的全连接层压缩方法就是引入一个中间层L’,该中间层包含 c个神经元, .因此可以减少连接数和权重规模,权重矩阵规模从 mn减少到(m+n)c ,从而降低运行深度模型的计算和存储需求.

DeepX运用了基于SVD的面向层的压缩技术,处理训练好的模型参数,以减少参数规模,减少模型执行推断时的资源消耗,提高推断速度.具体地,相邻的两个全连接层L和(L+1)分别有m和n个神经元,对相邻两层的权重矩阵 执行SVD运算,即就是 .可以选择最大的c个值来近似权重矩阵,如式(1)所示.
 (1)

基于以上分析,就可以直接代码实现了


阅读全文
0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 想开个小超市没经营过怎么办 华为7c手机wifi信号差怎么办 贞子从电视里爬出来怎么办 2个月的婴儿吓到怎么办 排卵日同房了没避孕怕怀孕怎么办 妻子因为我欺骗她要跟我离婚怎么办 老婆用苹果手机共享我的位置怎么办 孕妇餐后2小时血糖偏高怎么办 孕妇血糖餐后2小时数值高怎么办 股市退市的话股民的钱怎么办 美股股票退市了手里的股票怎么办 坐高铁安检时怕把包包弄坏了怎么办 很贵的包包高铁安检怎么办 如果过高铁安检东西被扣留怎么办 邻居家小孩把我家东西弄坏了怎么办 邻居早上6点放音乐扰民怎么办 隔壁楼邻居天天放音乐很吵怎么办 发现老公在卧室安了摄像头怎么办 憋的尿又没有厕所的时候怎么办 一岁宝宝拉屎总是拉出血怎么办 孩子鼻窦炎鼻子堵有白色鼻涕怎么办 家里阳台上老是有蝙蝠趴着怎么办 空调太冷在空调房里该怎么办 分手了怎么办不要挽回要重新吸引 过敏体质没打疫苗的孩子入学怎么办 遇到不认识的小姐姐问我问题怎么办 小孩孑脖子洛忱了痛怎么办 挤奶把乳腺挤肿了不出奶怎么办 遇到好兄弟在背后捅刀子怎么办 面对出轨还不想离婚的老公怎么办 法院执行局把案划错了不承认怎么办 手机nfc功能被手机壳挡住怎么办 飞信短信登录验证码达到上限怎么办 手机自带短信软件没了怎么办 老婆出轨孩子又3个不知道怎么办 骑电动车摔跤小脚趾疼有点肿怎么办 第一次太疼了有心理阴影了怎么办 天梭机械表调了时间忽然慢怎么办 支付宝信用住到酒店没房间怎么办 拳头打在硬上骨头肿了怎么办 领导决策出现了失误你该怎么办