胶囊网络(Capsule Network)在文本分类中的探索

简介:

文本建模方法大致可以分为两类:(1)忽略词序、对文本进行浅层语义建模(代表模型包括 LDA,EarthMover’s distance等); (2)考虑词序、对文本进行深层语义建模(深度学习算法,代表模型包括 LSTM,CNN 等)。

在深度学习模型中,空间模式(spatial patterns)汇总在较低层,有助于表示更高层的概念(concepts)。例如,CNN 建立卷积特征检测器提取来自局部序列窗口的模式,并使用 max-pooling 来选择最明显的特征。然后,CNN 分层地提取不同层次的特征模式。

然而,CNN 在对空间信息进行建模时,需要对特征检测器进行复制,降低了模型的效率。正如(Sabouret al, 2017)所论证的那样,这类方法所需复制的特征检测器的个数或所需的有标签训练数据的数量随数据维度呈指数增长。

另一方面,空间不敏感的方法不可避免地受限于丰富的文本结构(比如保存单词的位置信息、语义信息、语法结构等),难以有效地进行编码且缺乏文本表达能力

最近,Hinton 老师等提出了胶囊网络(Capsule Network), 用神经元向量代替传统神经网络的单个神经元节点,以 Dynamic Routing 的方式去训练这种全新的神经网络,有效地改善了上述两类方法的缺点。

正如在人类的视觉系统的推理过程中,可以智能地对局部和整体(part-whole)的关系进行建模,自动地将学到的知识推广到不同的新场景中。

到目前为止,并没用工作将 Capsule Network 应用于自然语言处理中(e.g., 文本分类)。

我们针对 Capsule Network 在文本分类任务上的应用做了深入研究对于传统的分类问题,Capsule Network 取得了较好性能,我们在 6 个 benchmarks 上进行了实验,Capsule Network 在其中 4 个中取得了最好结果。

更重要的是,在多标签迁移的任务上(fromsingle-label to multi-label text classification),Capsule Network 的性能远远地超过了 CNN 和 LSTM

我们的工作已经发表在 arXiv上,论文名为 Investigating Capsule Networks with Dynamic Routing for Text Classificationm,更多细节可以点击阅读原文进行参考。我们会在论文发表后公开源码。

论文模型

文本主要研究胶囊网络在文本分类任务上的应用,模型的结构图如下:

b04804d2b7d65806915257be47e13bd037f18097

其中,连续两个卷积层采用动态路由替换池化操作。动态路由的具体细节如下:

62eec0456246eb75ef19391f79297856c7cfaadc

在路由过程中,许多胶囊属于背景胶囊,它们和最终的类别胶囊没有关系,比如文本里的停用词、类别无关词等等。因此,我们提出三种策略有减少背景或者噪音胶囊对网络的影响

1. Orphan 类别:在胶囊网络的最后一层,我们引入 Orphan 类别,它可以捕捉一些背景知识,比如停用词。在视觉任务加入 Orphan 类别效果比较有限,因为图片的背景在训练和测试集里往往是多变的。然而,在文本任务,停用词比较一致,比如谓词和代词等。

2. Leaky-Softmax:除了在最后一层引入 Orphan 类别,中间的连续卷积层也需要引入去噪机制。对比 Orphan 类别,Leaky-Softmax 是一种轻量的去噪方法,它不需要额外的参数和计算量。

3. 路由参数修正:传统的路由参数,通常用均与分布进行初始化,忽略了下层胶囊的概率。相反,我们把下层胶囊的概率当成路由参数的先验,改进路由过程。 在 ablation test 中,我们对改进的路由和原始路由方法进行对比,如下:

a8ecf1b023246ff429edc9490a213bba26b1a3a5

此外,为了提升文本性能,我们引入了两种网络结构,具体如下:

39bfa2f8887cf327097cfa8310c524b303ced092

实验

数据集:为了验证模型的有效性,我们在 6 个文本数据集上做测试,细节如下:

d22056ca84d8d6340fd54e6b659573161d364c6f

在实验中,我们和一些效果较好的文本分类算法进行了对比。由于本文的重点是研究 Capsule Network 相对已有分类算法(e.g.,LSTM, CNN)是否有提升,我们并没有与网络结构太过复杂的模型进行对比。实验结果如下:

5a502a020a39cb1e197f363f0a48d8deed8330ac

此外,我们重点进行了多标签迁移实验。我们将 Rueter-21578 数据集中的单标签样本作为训练数据,分别在只包含多标签样本的测试数据集和标准测试数据集上进行测试。详细的数据统计以及实验结果如下图所示。

从表中我们可以看出,当我们用单标签数据对模型进行训练,并在多标签数据上进行测试时,Capsule Network 的性能远远高于 LSTM、CNN 等

14c6e4e3400b4aed596794dd42aa78dd3e33de23

此外,我们还做了 case study 分析,发现路由参数可以表示胶囊的重要性,并对胶囊进行可视化(此处我们主要可视化 3-gram 的结果)。

具体来说,我们删除卷积胶囊层,将 Primary Capsule Layer 直接链接到 Fully-connected Capsule Layer,其中 Primary Capsule 代表了 N-gram 短语在 Capsule 里的形式,Capsule 之间的链接强度代表了每个 Primary Capsule 在本文类别中的重要性(比较类似并行注意力机制)。

由图我们可以看出,对于 Interest Rate 类别,months-interbank-rate 等 3-grams 起着重要作用。

8022d79c05f0da018c5c70551d71e827a621d9d3


原文发布时间为:2018-04-4本文作者:杨敏本文来自云栖社区合作伙伴“ PaperWeekly”,了解相关信息可以关注“ PaperWeekly”微信公众号
相关文章
|
7月前
|
网络协议 前端开发 数据处理
|
7月前
|
机器学习/深度学习 算法 TensorFlow
文本分类识别Python+卷积神经网络算法+TensorFlow模型训练+Django可视化界面
文本分类识别Python+卷积神经网络算法+TensorFlow模型训练+Django可视化界面
125 0
文本分类识别Python+卷积神经网络算法+TensorFlow模型训练+Django可视化界面
|
3月前
|
机器学习/深度学习 人工智能 算法
【新闻文本分类识别系统】Python+卷积神经网络算法+人工智能+深度学习+计算机毕设项目+Django网页界面平台
文本分类识别系统。本系统使用Python作为主要开发语言,首先收集了10种中文文本数据集("体育类", "财经类", "房产类", "家居类", "教育类", "科技类", "时尚类", "时政类", "游戏类", "娱乐类"),然后基于TensorFlow搭建CNN卷积神经网络算法模型。通过对数据集进行多轮迭代训练,最后得到一个识别精度较高的模型,并保存为本地的h5格式。然后使用Django开发Web网页端操作界面,实现用户上传一段文本识别其所属的类别。
102 1
【新闻文本分类识别系统】Python+卷积神经网络算法+人工智能+深度学习+计算机毕设项目+Django网页界面平台
|
2月前
|
机器学习/深度学习 Python
深度学习笔记(九):神经网络剪枝(Neural Network Pruning)详细介绍
神经网络剪枝是一种通过移除不重要的权重来减小模型大小并提高效率的技术,同时尽量保持模型性能。
66 0
深度学习笔记(九):神经网络剪枝(Neural Network Pruning)详细介绍
|
4月前
|
存储 Linux 网络安全
【Azure 存储服务】如何把开启NFS 3.0协议的Azure Blob挂载在Linux VM中呢?(NFS: Network File System 网络文件系统)
【Azure 存储服务】如何把开启NFS 3.0协议的Azure Blob挂载在Linux VM中呢?(NFS: Network File System 网络文件系统)
|
6月前
|
Docker 容器
docker network inspect 查询出来的网络的创建命令是什么
【6月更文挑战第17天】docker network inspect 查询出来的网络的创建命令是什么
88 1
|
6月前
|
监控 网络协议 Ubuntu
Linux网络配置全攻略:解读/etc/network/interfaces文件的精髓
Linux网络配置全攻略:解读/etc/network/interfaces文件的精髓
1136 1
|
7月前
|
存储 网络协议 Linux
NFS(Network File System 网络文件服务)
NFS(Network File System 网络文件服务)
|
6月前
|
机器学习/深度学习 计算机视觉
【YOLOv8改进】MSFN(Multi-Scale Feed-Forward Network):多尺度前馈网络
**HCANet: 高光谱图像去噪新方法**\n混合卷积与注意力网络(Hybrid Convolutional and Attention Network)是针对HSI去噪的创新模型,结合CNN和Transformer,强化全局与局部特征。它使用卷积注意力融合模块捕获长距离依赖和局部光谱相关性,多尺度前馈网络提升多尺度信息聚合。代码可在[GitHub](https://github.com/summitgao/HCANet)获取。
|
6月前
|
Web App开发 JSON 前端开发
网络调试利器:Chrome Network工具的详细指南
Chrome开发者工具的Network面板是测试工程师的利器,用于监视HTTP请求、响应及资源加载。打开它可通过右键点击页面选择“检查”或使用快捷键。界面包含请求列表和详细信息,如Headers、Preview、Response、Timing。过滤器帮助定位特定请求,而瀑布流图展示加载顺序。模拟网络环境和保存HAR文件功能便于性能分析和问题排查。