LCNN论文阅读笔记

卷积神经网络因为参数越来越多对计算机硬件要求越来越高,因此需要更高效的神经网络算法。我认为作者的切入点是CNN有很多相互关联的参数,进而充分利用参数之间的关联性来进行优化。他把权向量组合成字典来表示参数空间。训练网络就变成了去训练一个字典和一些线性组合关系。字典的规模就需要找到效率和准确率之间的平衡。LCNN解决了两个问题:训练集数目少的问题和减少循环迭代次数的问题。

他减少迭代次数的办法是让字典可以进行层间传递,用一个浅层训练出字典,然后往更深的层传递。

下面是他的算法的主要内容:

我认为他的核心思想是通过D、I、C来代替权张量W。首先建立一个字典,让滤波器的权向量是字典中元素的线性组合。对每一层,定义一个共享的字典。k是字典D的大小,m是该层输入的个数,通过两个张量I和C来确定在字典D中的位置和需要相乘的系数,以此来线性组合成为一个卷积层的权张量W。正如他图中所示:
这里写图片描述
因此在LCNN中,通过D、I、C 来替代W。因此可以通过减小字典的行数k或者线性组合的数目s来减少参数,从而提高运算速度。
这里写图片描述
这里写图片描述
这里写图片描述
公式1带入公式2得到公式3。
通过公式3可以看出,对于一个输入可以先让输入和所有字典向量求卷积,然后根据I和C确定输出。又由于在一个卷积层的所有滤波器中字典是共享的,因此可以提前计算输入张量X和所有字典向量的卷积得到S如下:
这里写图片描述
现在创建稀疏张量P,他的非零位置由I决定,非零值由C决定:
这里写图片描述
通过以上变换最终变成公式X*W=S*P。如论文中下图所示:
这里写图片描述
因此现在可以用训练P来替代训练I、C然后通过P来重建恢复出I、C。
通过上面的变换,LCNN不仅可以减少迭代循环次数,而且对于新的类别只需要很少的训练样例。
之前看过一篇ResNet的论文,感觉里面下面这张图描述的思想好像和本文类似,应该都是先降维后增维,而且他这个结构好像是更简单,参数更少。
这里写图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值