zoukankan      html  css  js  c++  java
  • TextCNN论文解读

    引言

    本文是对《Convolutional Neural Networks for Sentence Classification》的原理解读,简称TextCNN。

    作者提出了一种基于CNN的新的文本分类模型。该模型结构简单,支持静态词向量和可微调词向量。作者做了一系列实验验证了该方法的优势,在各种文本分类模型上取得state-of-the-art的结果。

    模型结构


    如上图所示。

    1. 输入长度为n的序列,序列中每个词向量维度为k。模型输入维度为(n, k)
    2. 在词向量阶段,作者也使用了不同的处理方法。尝试了以下三种词向量获取方式:
    • 使用预训练好的词向量,在模型训练阶段词向量可进行fine-tuning。
    • 使用预训练好的词向量,在模型训练阶段词向量冻结,不进行fine-tuning。
    • 使用两个词向量获取通道,一个是冻结的,一个可fine-tuning的。

    实验结果显示,使用预训练好的词向量,在模型训练阶段词向量进行fine-tuning的方式通常能取得最优结果,个别情况下双通道方式能取得最有结果。
    3. 输入经过尺寸为(h, k)的卷积核,这里跟图像卷积不同是,这里卷积核的第二维的大小跟词向量的维度大小相同,就是此处的卷积核在扫描特征的时候只沿着序列的方向进行扫描,生成(n-h+1,)的一维向量。
    直观上理解,相当于使用卷积核提取窗口大小为h的n-gram特征。
    4. 多个卷积核生成多个(n-h+1,)的n-gram特征。
    5. 卷积后面跟着GlobalAvgMaxpooling,这样无论是多长的序列进来,输出都是等长的。
    6. 使用了多个不同尺寸的卷积核,相当于提取了不同窗口大小的n-gram特征。

    正则

    1. 在倒数第二层使用了l2正则
    2. 在隐藏层使用了 Dropout

    优缺点

    1. 通过CNN的方式捕捉n-gram特征,本质上是词袋模型。计算速度快,预性能也不错。
    2. 可解释行不强
  • 相关阅读:
    .NET CORE 技术债
    .Net Core/Framework之Nginx反向代理后获取客户端IP等数据探索
    托管ASP.NET Core应用程序到Windows服务中
    Office在线预览及PDF在线预览的实现方式大集合
    Ubuntu 16.10 虚拟机安装记录
    .Net Core 之 图形验证码
    Ubuntu之Mysql安装及基本设置
    .Net Core 之 Ubuntu 14.04 部署过程
    常用.net反编译替换正则表达式
    江湖救急:webbrowser中js文件丢失问题~
  • 原文地址:https://www.cnblogs.com/Fosen/p/12609193.html
Copyright © 2011-2022 走看看