CNN 似乎主要针对固定大小的输入来实现。现在我想用CNN来训练一些不同大小的句子,有哪些常用的方法?
以下建议主要与用于计算机视觉任务(特别是识别)的 CNN 相关,但也可能对您的领域有所帮助:我会看看He 等人的“用于视觉识别的深度卷积网络中的空间金字塔池”。 http://arxiv.org/abs/1406.4729提出空间金字塔池化层。
总体思路:CNN 的卷积层(以及相关层,例如池化、局部响应归一化等)能够处理可变大小的输入。因此,可变大小输入的问题向下传播到第一个全连接/内积层,该层需要固定大小的向量。他等人。建议在第一个全连接层之前添加空间金字塔池层(论文中有详细信息)。该层本身的工作原理是将最后一个卷积层(或后续池化或响应归一化层)的特征图分层划分为固定数量的箱。在这些箱中,响应通常会被汇集起来,创建固定大小的输出(其中大小取决于箱的层次结构和数量)。请参阅论文中的说明。
该层基于Caffe实现,可在GitHub上获取:任少卿/SPP_net https://github.com/ShaoqingRen/SPP_net.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)