当前位置: 首页 > news >正文

自然语言处理——卷积神经网络

自然语言处理——卷积神经网络

  • 概述
  • 卷积
  • 二维卷积
  • 卷积神经网络
  • 文本卷积神经网络

概述

由于词向量的平均无法考虑词序,会出现“猫吃鱼”和“鱼吃猫”这样子的不同句子但是嵌入到向量空间中却完全相同的例子,因此基于词向量的前向神经网络模型就应运而生了。
在这里插入图片描述
举一个简单的应用:情感分类应用:预测文本的情感倾向(正面vs中立vs负面)

  • 使用词向量作为输入(300维)
  • 文档最大长度512(长度不足时padding)
  • 假设隐藏层神经元个数设为100个

H=f(Wx+b),H维度为100,W维度为15.36w*100=1536w,这导致了一个问题:权重矩阵的参数量很大

解决方法:提出参数共享,相比于网络每个部分都拥有独立的权重集,共享参数可以显著减少参数的总量。在这里插入图片描述
局部不变性特:自然语言中的短语一般而言具有局部不变性特征,即出现在句中不同位置一般不影响其语义信息,在上图中我们希望"开心"的位置映射到隐藏层之后是同样的位置,很明显在FNN中很难捕获局部不变性特征

解决方案:局部连接,每个隐藏层神经元只与局部输入相连,同样的 w 1 、 w 2 w_1、w_2 w1w2同样也是全局共享的,这样子不仅可以降低参数量还可以让 h q = h 2 h_q=h_2 hq=h2
在这里插入图片描述

卷积

给定一个输入信号序列: 𝑥 = [ 𝑥 1 , 𝑥 2 , 𝑥 3 , … , 𝑥 d ] 𝑥= [𝑥_1, 𝑥_2, 𝑥_3, …, 𝑥_d] x=[x1,x2,x3,,xd]
滤波器filter(或者卷积核convolutional kernel): 𝑤 = [ w 1 , w 2 , … , w K ] 𝑤= [w_1, w_2, …, w_K] w=[w1,w2,,wK]
在t时刻的卷积结果为第t个时刻以及前K-1个时刻信息的叠加 y t = ∑ u = 1 K w K − u + 1 x t − u + 1 y_{t}=\sum_{u=1}^{K} w_{K-u+1} x_{t-u+1} yt=u=1KwKu+1xtu+1
假设 𝑤 = [ w 1 , w 2 , w 3 ] 𝑤= [w_1, w_2, w_3] w=[w1,w2,w3],卷积的输出为: y t = w 1 x t − 2 + w 2 x t − 1 + w 3 x t y_{t}=w_{1} x_{t-2}+w_{2} x_{t-1}+w_{3} x_{t} yt=w1xt2+w2xt1+w3xt
下图为步长=1和步长=2的情况下卷积的结果。
在这里插入图片描述
再卷积中,Padding也是一个常有的操作,Padding在神经网络中主要是为了保持输入数据的空间尺寸,防止信息损失,并使网络能够构建更深更复杂的结构。下图为Padding=0和Padding=1的情况下卷积的结果。
在这里插入图片描述
输入长度为M的序列卷积的结果长度为 L = ⌊ ( 𝑀 + 2 ∗ 𝑃 − 𝐾 ) / 𝑆 + 1 ⌋ L=⌊(𝑀+2∗𝑃−𝐾)/𝑆+1⌋ L=⌊(M+2PK)/S+1

卷积的结果按输出长度不同可以分为三类:

  • 窄卷积:步长S= 1 ,两端不补零𝑃= 0 ,卷积后输出长度为𝑀− 𝐾+ 1
  • 等宽卷积:步长S= 1 ,两端补零𝑃=(𝐾− 1)/2 ,卷积后输出长度𝑀
  • 宽卷积:步长S = 1 ,两端补零𝑃= 𝐾− 1 ,卷积后输出长度𝑀+ 𝐾− 1

二维卷积

在图像处理中,图像是以二维矩阵的形式输入到神经网络中,因此我们需要二维卷积。在这里插入图片描述
Stride步长情况和Padding情况的处理与一维卷积相似,在此不多赘述。

卷积神经网络

将全连接层替换为卷积层:引入空间信息感知能力和参数共享,从而减少模型参数、增强特征提取的局部性和平移不变性,并允许输入尺寸的灵活性。在这里插入图片描述
卷积过程中,我们可以把卷积核作为一个特征提取器,如何增强卷积层的能力?引入多个卷积核!每个卷积核提取到不同的特征,从而让卷卷积神经网络模型性能提升!在这里插入图片描述
卷积层:典型的卷积层为3维结构。
在这里插入图片描述
汇聚层(也叫池化层,Pooling Layer):卷积层虽然可以显著减少连接的个数,但是每一个特征映射的神经元个数并没有显著减少。池化层通过对特征图(Feature Map)进行下采样(downsampling),显著减少了数据的空间尺寸(宽度和高度),从而降低了模型的计算复杂度和所需参数数量。这有助于提高训练效率和推理速度。池化主要分为两种,一种是最大池化,另一种是平均池化。
在这里插入图片描述
卷积网络是由卷积层、汇聚层、全连接层交叉堆叠而成,汇聚层可以视作特殊的卷积层。
一个卷积块为连续M 个卷积层和b个汇聚层(M通常设置为2 ∼ 5,b为0或1)。一个卷积网络中可以堆叠N 个连续的卷积块,然后在接着K 个全连接层(N 的取值区间比较大,比如1 ∼ 100或者更大;K一般为0 ∼ 2)
在这里插入图片描述
现如今的卷积典型结构趋向于小卷积、大深度,并且还趋向于全卷积。

文本卷积神经网络

文本卷积中仍然通过一个数字组成的d维向量来表示一个单词,即词向量,下图是一个简单的例子。在这里插入图片描述
在卷积的过程要注意:不可以用3*3的卷积核来卷积,这样子会拆开单词。所以在文本卷积的过程中,有一维需要固定,从上往下进行卷积即可,本例中的卷积核可以设置为3*4的矩阵,这样子就可以不用把单词拆开了。

一般来说文本处理中stride一般会设置为1,因为句子长度一般会比较短(不超过50)

在这里插入图片描述

相关文章:

  • 大端序和小端序以及网络字节序的关系
  • 彻底理解大端字节序、小端字节序与网络字节序
  • Selenium4+Pytest自动化测试框架
  • 探索Selenium:自动化测试的神奇钥匙
  • Android中ContentProvider细节
  • vxe-table vue 表格复选框多选数据,实现快捷键 Shift 批量选择功能
  • C++编译之导入库理解与使用
  • cacert.pem根证书文件
  • LangGraph 深度解析:下一代AI应用编排引擎
  • Linux系统编程-DAY11(多路复用IO)
  • 【Pandas】pandas DataFrame dropna
  • 继承与多态:面向对象编程的核心力量!
  • Spring数据访问模块设计
  • Linux入门(十五)安装java安装tomcat安装dotnet安装mysql
  • 软件功能测试有哪些类型?软件测评机构
  • 从数据报表到决策大脑:AI重构电商决策链条
  • Python爬虫实战:从零构建高性能分布式爬虫系统
  • 医疗器械的三大记录文件:DHF、DMR和DHR
  • 激光隐形切割(Stealth Dicing)技术
  • linux磁盘无法清理问题
  • 做外贸找客户的网站/万州网站建设
  • 网站建设需要学习什么/关键词怎样做优化排名
  • 怎么弄网站/优化模型数学建模
  • 自己做菠菜网站/百度地图3d实景地图
  • 个人网站的设计与实现毕业论文5000字/优云优客百度推广效果怎么样
  • 网站我优化/百度号码