读书笔记-增量学习-A CNN-Based Broad Learning System
一篇2018年关于基于CNN的增量学习论文:A CNN-Based Broad Learning System。
对计算机视觉来说,作者提出的CNN-Based Broad Learning System(CNNBLS)比 Broad Learning System(BLS)更有效。其中用卷积层和最大池化层提取特征,用principal component analysis(PCA) 主成分分析法对特征降维,最后使用Ridge regression岭回归法得到分类结果。
与BLS和RVFLNN相似,作者提出的CNNBLS中卷积层的参数是随机初始化的。同时,CNNBLS使用所有输入数据做特征提取,从而避免像BLS降维丢失细节信息的问题。
在BLS中,输入的高维数据首先会随机映射到低维的x,再用x生成enhancement nodes。使用陈俊龙教授提的三种算法实现增量学习(*陈俊龙教授关于BLS论文的读书笔记传送门)。而作者提出的CNNBLS结构如下图所示:
- 首先,像BLS一样将输入图像 I 映射到特征向量 x 中。 不同之处在于,我们使用PCA学习映射矩阵,而BLS使用随机投影。
- 然后,使用卷积和池化操作将输入图像 I 用于提取enhancement node增强节点。 PCA应用于池化层以提取enhancement feature增强特征。
- 可以多次重复Step2以提取更深层的特征。 其中卷积内核是随机生成的,岭回归用于学习权重W。
伪代码如下:
实验中,作者采用控制变量测试如下参数对实验结果的影响:
- N : 训练样本的数量,取值范围 {500, 1000, 2000, 3000, 4000}
- P : PCA的参数,取值范围 {0.91, 0.93, 0.95, 0.97, 0.99}
-
: 岭回归的参数,取值范围 {0.001, 0.01, 0.1, 1, 5, 10, 50, 100, 1000, 10000}
- 卷积内核表达式为 :
-
: 取值范围 {0.5, 1, 1.5, 2}
- wid是上一个特征图的宽度,hei是上一个特征图的高度
把CNNBLS在MNIST和NORB数据集上测试,结果如下:
其中,图1到图6是MNIST数据集的结果,图7到图12是NORB数据集的结果。每一个图的标题表示控制的变量,如图1表示控制N和的值,图例表示不同曲线颜色代表的N的值,横坐标代表
的取值范围的Index。所有图的纵坐标均表示Accuarcy。
测试结论如下:
- Accuarcy会随着N增大而提高
- Accuarcy会随着
增大而提高
- Accuarcy会随着卷积内核数量增大而提高
- 多数情况下,Accuarcy会随着p增大而提高
- Accuarcy会随着
增大先提高后下降
另外,作者把CNNBLS和BLS在两个数据集上作对比,随着测试样本增加,CNNBLS的性能也表现的比BLS好。
总结一下,
- CNNBLS在计算机视觉上比BLS的效果要更好,因为CNNBLS采用卷积层和池化层有效的提取数据特征,同时减少了参数的数量。
- CNNBLS把所有的输入数据用于特征提取,而BLS在输入数据 x 降维处理时可能丢失细节。
- CNNBLS吸取了CNN和BLS的精华,能使用所有输入数据提取特征,类似BLS的A[ Z | H ]的过程。PCA降维后的数据应用岭回归计算权重W:
。