机器学习——模型优化

模型压缩方法

  • 低秩近似
    神经网络的基本运算卷积,实则就是矩阵运算,低秩近似的技术是通过一系列小规模矩阵将权重矩阵重构出来,以此降低运算量和存储开销。目前有两种常用的方法:一是Toeplitz矩阵(指矩阵中每条自左上至右下的斜线上的元素相同)直接重构权重矩阵,二是奇异值分解(SVD),将权重矩阵分解为若干个小矩阵。
  • 剪枝与稀疏约束
    剪枝是模型压缩领域中一种经典的后处理技术,典型应用如决策树的前剪枝和后剪枝。剪枝技术可以减少模型参数量,防止过拟合,提升模型泛化能力。
    剪枝被应用于神经网络中,遵循四个步骤:
    一是衡量神经元的重要程度
    二是移除掉一部分不重要的神经元
    三是对网络进行微调
    四是返回第一步,进行下一轮剪枝
    稀疏约束与直接剪枝在效果上有着异曲同工之妙,其思路是在网络的优化目标中加入权重的稀疏正则项,使得训练网络的部分权重趋向于0,而这些0值元素正是剪枝的对象。因此,稀疏约束可以被视为动态的剪枝。
    相对剪枝,稀疏约束的优点:只需进行一遍训练,便能达到网络剪枝的目的。
  • 参数量化
    相比于剪枝操作,参数量化则是一种常用的后端压缩技术。量化就是从权重中归纳出若干个有代表性的权重,由这些代表来表示某一类权重的具体数值。这些“代表”被存储在码本中,而原权重矩阵只需记录各自“代表”的索引即可,从而极大地降低了存储开销
  • 二值网络
    相当于量化方法的一种极端情况:所有参数的取值只能是+1或-1.现有神经网络大多基于梯度下降来训练,但二值网络的权重只有+1或-1,无法直接计算梯度信息,也无法更新权重。一个折中的方法是,网络的前向与反向回传是二值的,而权重的更新则是对单精度权重进行
  • 知识蒸馏
    知识蒸馏的目的是将一个高精度且笨重的teacher转换为一个更加紧凑的student。具体思路是:训练teacher模型softmax层的超参数获得一个合适的soft target集合(“软标签”指的是大网络在每一层卷积后输出的feature map),然后对要需要训练的student模型,使得同样的超参数值尽可能地接近teacher模型的soft target集合,作为student模型总目标函数的一部分,以诱导student模型的训练,实现知识的迁移。

squeezeNet的Fire Module有什么特点?

挤压:高维特征有着更好的表示能力,但使得模型参数急剧膨胀。为追求模型容量与参数的平衡,可使用1x1的卷积来对输入特征进行降维。同时,1x1的卷积可以综合多个通道的信息,得到更加紧凑的输入特征,从而保证了模型的繁华性。
扩张:通常3x3的卷积占用了大量的计算资源。可以使用1x1卷积来拼凑出3x3的卷积。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值