【第17篇】TextCNN(1)

image-20211012163153655

我们在各种基准上测试我们的模型。 数据集的汇总统计见表 1。

  • MR:电影评论,每篇评论一个句子。 分类涉及检测正面/负面评论(Pang 和 Lee,2005 年)。

  • SST-1:Stanford Sentiment Treebank——MR 的扩展,但提供了训练/开发/测试分割和细粒度标签(非常积极、积极、中性、消极、非常消极),由 Socher 等人重新标记( 2013)。

  • SST-2:与SST-1 相同,但删除了中性评论和二进制标签。

  • Subj:主观性数据集,其中的任务是将句子分类为主观或客观(Pang 和 Lee,2004 年)。

  • TREC:TREC 问题数据集——任务涉及将问题分为 6 种问题类型(问题是关于人、位置、数字信息等)(Li 和 Roth,2002 年)。

  • CR:客户对各种产品(相机、MP3 等)的评论。 任务是预测正面/负面评论(Hu and Liu,2004)。

  • MPQA:MPQA 数据集的观点极性检测子任务(Wiebe 等,2005)。

3.1 超参数和训练


对于我们使用的所有数据集:校正线性单元,过滤器窗口 (h) 为 3、4、5,每个具有 100 个特征图,丢失率 § 为 0.5,l2 约束 (s) 为 3,小批量大小为 50 . 这些值是通过 SST-2 开发集上的网格搜索选择的。

除了在开发集上提前停止之外,我们不会执行任何特定于数据集的调整。 对于没有标准开发集的数据集,我们随机选择 10% 的训练数据作为开发集。 训练是通过随机梯度下降使用 Adadelta 更新规则(Zeiler,2012)完成的。

3.2 预训练词向量


在没有大型监督训练集的情况下,使用从无监督神经语言模型中获得的词向量来初始化词向量是一种提高性能的流行方法(Collobert 等人,2011 年;Socher 等人,2011 年;Iyyer 等人,2014 年) . 我们使用公开可用的 word2vec 向量,这些向量在来自 Google 新闻的 1000 亿个单词上进行了训练。 这些向量的维度为 300,并使用连续词袋架构进行训练(Mikolov 等人,2013 年)。 不存在于预训练词集中的词随机初始化

3.3 模型变化


我们对模型的几种变体进行了试验。

  • CNN-rand:我们的基线模型,其中所有单词都随机初始化,然后在训练期间进行修改。

  • CNN-static:预训练模型 来自 word2vec 的向量。 所有单词——包括随机初始化的未知单词——都保持静态,只学习模型的其他参数。

  • CNN-non-static:与上述相同,但针对每个任务对预训练向量进行了微调。

  • CNN-multichannel:具有两组词向量的模型。 每组向量都被视为一个“通道”,每个过滤器都应用于两个通道,但梯度仅通过其中一个通道进行反向传播。 因此,该模型能够微调一组向量,同时保持另一组向量的静态。 两个通道都用 word2vec 初始化。

为了解决上述变化与其他随机因素的影响,我们消除了其他随机源——CV 折叠分配、未知词向量的初始化、CNN 参数的初始化——通过在每个数据集中保持它们的一致性。

4 结果与讨论

==================================================================

image-20211012165020914

我们的模型针对其他方法的结果列于表 2 中。我们的所有随机初始化词 (CNN-rand) 的基线模型本身表现不佳。 虽然我们期望通过使用预训练向量来提高性能,但我们对收益的幅度感到惊讶。 即使是带有静态向量的简单模型 (CNN-static) 也表现得非常好,与使用复杂池化方案 (Kalchbrenner et al., 2014) 或需要预先计算解析树 (Socher et al., 2013)。 这些结果表明,预训练的向量是良好的“通用”特征提取器,可以跨数据集使用。 为每项任务微调预训练向量提供了进一步的改进(CNN 非静态)。

4.1 多通道与单通道模型


我们最初希望多通道架构能够防止过度拟合(通过确保学习到的向量不会偏离原始值太远),从而比单通道模型效果更好,尤其是在较小的数据集上。 然而,结果喜忧参半,需要进一步规范微调过程。 例如,不是对非静态部分使用额外的通道,而是可以保持单个通道,但使用允许在训练期间修改的额外维度。

4.2 静态与非静态表示


与单通道非静态模型的情况一样,多通道模型能够微调非静态通道,使其更适合手头的任务。 例如,在 word2vec 中,good 与 bad 最相似,大概是因为它们(几乎)在语法上是等效的。 但是对于在 SST-2 数据集上微调的非静态通道中的向量,情况不再如此(表 3)。 类似地,在表达情感方面,good 可以说更接近 nice,而不是 good,这确实反映在学习的向量中。

image-20211012164948197

对于(随机初始化的)不在预训练向量集合中的标记,微调允许它们学习更有意义的表示:网络学习感叹号与热情表达相关联,逗号是连词(表 3)。

4.3 进一步观察


我们报告了一些进一步的实验和观察:

  • Kalchbrenner 等人(2014 年)报告了使用与我们的单通道模型具有基本相同架构的 CNN 的结果要差得多。例如,他们使用随机初始化词的 Max-TDNN(时延神经网络)在 SST-1 数据集上获得了 37:4%,而我们的模型为 45:0%。我们将这种差异归因于我们的 CNN 具有更大的容量(多个过滤器宽度和特征图)。

  • Dropout 被证明是一个很好的正则化器,可以使用比必要的网络更大的网络并简单地让 dropout 对其进行正则化。 Dropout 始终增加 2%–4% 的相对性能。

  • 当随机初始化不在 word2vec 中的词时,我们通过从 U[−a; a] 其中选择 a 使得随机初始化的向量与预训练的向量具有相同的方差。看看在初始化过程中采用更复杂的方法来反映预训练向量的分布是否会带来进一步的改进会很有趣。

  • 我们对另一组由 Collobert 等人训练的公开词向量进行了简短的实验。 (2011) 在 Wikipedia 上,8 发现 word2vec 的性能要好得多。目前尚不清楚这是否是 Mikolov 等人的结果。 (2013) 的架构或 1000 亿字的 Google 新闻数据集。

  • Adadelta (Zeiler, 2012) 给出了与 Adagrad (Duchi et al., 2011) 相似的结果,但需要更少的 epoch。

5 结论

===============================================================

亿字的 Google 新闻数据集。

  • Adadelta (Zeiler, 2012) 给出了与 Adagrad (Duchi et al., 2011) 相似的结果,但需要更少的 epoch。

5 结论

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数Python工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Python开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。

img

img

img

img

img

img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上前端开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新

如果你觉得这些内容对你有帮助,可以扫码获取!!!(备注Python)

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上前端开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新

如果你觉得这些内容对你有帮助,可以扫码获取!!!(备注Python)

img
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值