[论文解读] SNN: Stacked Neural Networks
本文提出了一种新型架构——堆叠神经网络(S-NN),通过堆叠多个预训练CNN(如VGG、GoogLeNet、Places、NIN)的特征,显著提升迁移学习的准确率——相比仅使用单一预训练网络的最先进方法,准确率最高提升8%。此外,本文还引入了'联合微调'机制,在保持泛化能力的同时实现多任务适应。
It has been proven that transfer learning provides an easy way to achieve state-of-the-art accuracies on several vision tasks by training a simple classifier on top of features obtained from pre-trained neural networks. The goal of this work is to generate better features for transfer learning from multiple publicly available pre-trained neural networks. To this end, we propose a novel architecture called Stacked Neural Networks which leverages the fast training time of transfer learning while simultaneously being much more accurate. We show that using a stacked NN architecture can result in up to 8% improvements in accuracy over state-of-the-art techniques using only one pre-trained network for transfer learning. A second aim of this work is to make network fine- tuning retain the generalizability of the base network to unseen tasks. To this end, we propose a new technique called "joint fine-tuning" that is able to give accuracies comparable to finetuning the same network individually over two datasets. We also show that a jointly finetuned network generalizes better to unseen tasks when compared to a network finetuned over a single task.
研究动机与目标
- 通过生成比单个预训练网络更优、更具泛化能力的特征,提升迁移学习的准确率。
- 探究将多个非重叠的预训练网络的特征进行组合,是否能在多种视觉任务中实现更优性能。
- 开发一种在微调过程中保持预训练网络泛化能力的方法,特别是在适应多个任务时。
- 评估S-NN的集成堆叠是否能进一步提升性能,超越单个S-NN的表现。
- 研究堆叠架构中计算成本与准确率之间的权衡,包括轻量级双网络堆叠等方案。
提出的方法
- 通过拼接多个预训练CNN(VGG16、GoogLeNet、Places、NIN)的最后全连接层输出(如fc7或pool4)生成单一特征向量,实现多网络特征的堆叠。
- 使用在堆叠特征上训练的线性SVM分类器,在多种视觉数据集上评估性能,且不更新基础网络。
- 提出'联合微调'——同时在一个网络上对两个不同数据集进行微调,以在保持泛化能力的同时,实现接近于分别对每个数据集单独微调的性能。
- 通过加权堆叠方法,按各网络在特定数据集上的个体准确率成比例地缩放其特征向量(例如,若GoogLeNet的准确率仅为最佳网络的一半,则其权重设为0.5)。
- 通过平均多个独立训练的S-NN模型的预测结果,评估S-NN的集成性能,以进一步提升性能。
- 探索未来方向,如通过共享梯度广播实现堆叠网络的并行训练,以及通过数据增强进一步提升性能。
实验结果
研究问题
- RQ1与仅使用单一网络相比,将多个非重叠的预训练CNN的特征进行组合,是否能显著提升迁移学习的准确率?
- RQ2是否存在一个在多种视觉数据集上均表现良好的最优预训练网络组合,还是最佳组合因数据集而异?
- RQ3在两个数据集上对单一网络进行联合微调,是否能保持或增强其泛化能力,相比在单个数据集上单独微调?
- RQ4加权堆叠特征是否能减轻性能较差网络在集成中的负面影响?
- RQ5并行训练或数据增强是否能进一步提升堆叠神经网络的性能?
主要发现
- 将多个预训练网络(如VGG16、GoogLeNet、Places、NIN)的特征进行堆叠,相比仅使用单一预训练网络,分类准确率最高提升8%。
- 双网络S-NN堆叠在性能上可媲美五网络堆叠,但计算成本显著降低。
- 在两个数据集上对单一网络进行联合微调,其分类准确率几乎与分别对每个数据集单独微调的性能相当。
- 经联合微调网络提取的特征,相比经单独微调网络提取的特征,对未见任务的泛化能力更强。
- 通过集成多个S-NN模型,性能提升远超仅使用堆叠方法。
- 加权堆叠方法(即按各网络在特定数据集上的准确率成比例缩放其特征)有效减轻了低性能网络在集成中的负面影响。
更好的研究,从现在开始
从阅读论文到最终审阅,大幅缩短您的研究时间。
无需绑定信用卡
本解读由 AI 生成,并经人工编辑审核。