本文是arxiv上一篇较短的文章,之所以看是因为其标题中半监督和文本分类吸引了我。不过看完之后觉得所做的工作比较少,但想法其实也挺不错。

大多数的半监督方法都选择将小扰动施加到输入向量或其表示中,这种方式在计算机视觉上比较成功,但对于离散型的文本却不适合。为了将这个方法应用于文本输入,本文将神经网络\(M\)进行拆分:\(M=U \circ F\)。其中\(F\)被冻结(freeze),用于特征提取和基于droput添加噪声,\(U\)则可以是任意的半监督算法。同时,论文还对\(F\)逐渐解冻(unfreeze),避免预训练模型的灾难性遗忘。

引言

大多数半监督算法依赖于一致性或者平滑约束,强制模型对输入及加了轻微扰动的输入的预测一致。在CV问题中,图片可以表示成稠密连续向量,然而在文本分类任务中,每个单词被表示成one-hot形式,这种方法不合适。即使使用word embedding,文本的潜在表示还是离散的。并且,给每个单词独立加入扰动的话,会导致扰动后的单词没有实际意义。

针对上述问题,本文提出将一个神经网络分解为两部分,即\(M = U \circ F\)。其中\(F\)作为特征编码器和扰动函数(比如可以使用语言模型),\(U\)可以是任意的半监督算法。\(F\)通常是领域无关的,而\(U\)则是领域特定的。这也是论文题目叫做layer partitionning的原因。

方法

上图左边部分就是整个模型的示意图,论文使用ULMFiT作为\(F\)特征编码器,将每个输入转化到连续的向量空间,然后再由\(U\)(\(\prod\)模型,Temporal Emsebling等)进行学习。

同时\(F\)还用于给输入施加噪声。但作者没有使用通用的\(\tilde{x} \leftarrow x + \epsilon\)这种方式,而是使用dropout作为噪声。作者认为\(F\)在通用领域预训练,比通用的方式包含更多的文本信息,对到此加入噪声使happy变成sad这种方式可能会完全改变文本性质。

接下来就是如何训练\(U\)的事情了,论文列举了两个模型,分别是\(\prod\)-Model和temporal ensembling model。它们都是半监督学习算法,示意图如上图右边部分。

训练到一定程度,作者提出逐渐解冻\(F\)中的网络,这是因为此时\(U\)已经在\(\{F(x)\}\)上训练饱和,可以让\(F\)同样也学到一些任务相关的特定特征了。

实验

论文使用Internet Movie Dataset(IMDb)和TREC-6数据集,主要是进行情感分类。

Semi-supervised learning for Text Classification by Layer Partitioning的更多相关文章

  1. 论文翻译——Character-level Convolutional Networks for Text Classification

    论文地址 Abstract Open-text semantic parsers are designed to interpret any statement in natural language ...

  2. A brief introduction to weakly supervised learning(简要介绍弱监督学习)

    by 南大周志华 摘要 监督学习技术通过学习大量训练数据来构建预测模型,其中每个训练样本都有其对应的真值输出.尽管现有的技术已经取得了巨大的成功,但值得注意的是,由于数据标注过程的高成本,很多任务很难 ...

  3. [Tensorflow] RNN - 04. Work with CNN for Text Classification

    Ref: Combining CNN and RNN for spoken language identification Ref: Convolutional Methods for Text [1 ...

  4. #论文阅读# Universial language model fine-tuing for text classification

    论文链接:https://aclweb.org/anthology/P18-1031 对文章内容的总结 文章研究了一些在general corous上pretrain LM,然后把得到的model t ...

  5. Text Classification

    Text Classification For purpose of word embedding extrinsic evaluation, especially downstream task. ...

  6. Machine Learning Algorithms Study Notes(2)--Supervised Learning

    Machine Learning Algorithms Study Notes 高雪松 @雪松Cedro Microsoft MVP 本系列文章是Andrew Ng 在斯坦福的机器学习课程 CS 22 ...

  7. 图像分类之特征学习ECCV-2010 Tutorial: Feature Learning for Image Classification

    ECCV-2010 Tutorial: Feature Learning for Image Classification Organizers Kai Yu (NEC Laboratories Am ...

  8. Supervised Learning and Unsupervised Learning

    Supervised Learning In supervised learning, we are given a data set and already know what our correc ...

  9. [转] Implementing a CNN for Text Classification in TensorFlow

    Github上的一个开源项目,文档讲得极清晰 Github - https://github.com/dennybritz/cnn-text-classification-tf 原文- http:// ...

随机推荐

  1. Pytorch在colab和kaggle中使用TensorBoard/TensorboardX可视化

    在colab和kaggle内核的Jupyter notebook中如何可视化深度学习模型的参数对于我们分析模型具有很大的意义,相比tensorflow, pytorch缺乏一些的可视化生态包,但是幸好 ...

  2. AtCoder Grand Contest 005题解

    传送门 \(A\) 咕咕 const int N=5e5+5; char s[N];int res,n,sum; int main(){ scanf("%s",s+1),res=n ...

  3. Dns的作用

    DNS(Domain Name System,域名系统),万维网上作为域名和IP地址相互映射的一个分布式数据库,能够使用户更方便的访问互联网,而不用去记住能够被机器直接读取的IP数串 DNS系统:通过 ...

  4. Connection: close

    在http1.1中request和reponse header中都有可能出现一个connection头字段,此header的含义是当client和server通信时对于长链接如何进行处理. 在http ...

  5. H5注意点(2)

    1. 列表标签的作用:给一堆数据添加列表语义,也就是告诉搜索引擎告诉浏览器这一堆数据是一个整体. 2. HTML中列表标签的分类 - 无序列表(最多)(unordered list)(格式:ul> ...

  6. win7+64位+Java学习基本软件安装+环境配置+eclipse(IDE)

    一.下载安装JDK 1.安装包下载地址:http://www.oracle.com/technetwork/java/javase/downloads/jdk9-downloads-3848520.h ...

  7. Dynamic Filter Networks

    Dynamic Filter Networks 2019-06-10 11:29:19 Paper:http://papers.nips.cc/paper/6578-dynamic-filter-ne ...

  8. 经管/管理/团队经典电子书pdf下载

    卓有有效的管理者 管理的本质 只有偏执狂才能生存 格鲁夫给经理人的第一课 影响力: 你为什么会说“是” 关键影响力:如何调动团队力量 执行 如何完成任务的学问

  9. Java开发手册-编程规约精选

    # Java开发手册-编程规约精选 ## 总约 - 采用驼峰写法 ## 变量 - 首字母小写 ## 方法 - 方法名首字母小写- 参数首字母小写 ## 引用 - <阿里巴巴Java开发手册> ...

  10. Visual Studio 2019更新到16.1.6

    Visual Studio 2019更新到16.1.6 此次更新主要是修复几个安全漏洞,如CVE-2019-1077(VS自动更新漏洞).CVE-2019-1075(ASP.net Core欺骗漏洞) ...