《机器学习》李宏毅P10卷积神经网络

卷积神经网络

卷积神经网络

在多层感知器中,每层输入的各个元素都需要乘一个独立的参数(权重),这一层又叫全连接层/稠密层

在自然语言处理任务中,如对于情感分类任务,句子的情感极性往往由个别词或短语决定,而这些决定性的词或短语在句子中的位置并不固定,使用全连接层很难捕捉这种关键的局部信息。

为了解决以上问题,一个非常直接的想法是使用一个小的稠密层提取这些局部特征。为了解决关键信息位置不固定的问题,可以依次扫描输入的每个区域,该操作又被称为卷积操作。其中,每个小的、用于提取局部特征的稠密层又被称为卷积核或者滤波器。

卷积操作输出的结果还可以进行进一步聚合,这一过程被称为池化操作。常用的池化操作有最大池化(仅保留最有意义的局部特征)、平均池化和加和池化等。池化解决样本输入大小不一致的问题。

在进行卷积操作时,可以使用多个卷积核提取不同种类的局部特征

卷积核的构造方式大致有两种,一种是使用不同组的参数,并且使用不同的初始化参数,获得不同的卷积核;另一种是提取不同尺度的局部特征,如在情感分类中提取不同大小的N-gram。

多个卷积核输出多个特征,再经过一个全连接的分类层做出最后的决策。

最后,可以将多个卷积层加池化层堆叠起来,形成更深层的网络,这些网络统称为卷积神经网络CNN

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-zoBQeoCM-1661613321436)(%E8%87%AA%E7%84%B6%E8%AF%AD%E8%A8%80%E5%A4%84%E7%90%86.assets/b1cb4d26977d4059b11c679a0c6a5b95.png)]

输入“我 喜欢 自然 语言 处理”6个词,首先每个词映射为一个词向量(dim=5)

使用4个卷积核对输入进行局部特征提取:

  • 其中前两个卷积核的宽度(N-gram中N的大小)为4(黄,蓝)

  • 后两个卷积核宽度为3(绿,红)

  • 卷积操作**沿单一方向(一维卷积,适用于自然语言等序列)**每次滑动1个词,每个卷积核输出长度为L-N+1,其中L为单词个数,N卷积核宽度;(图像等序列适用于二维卷积:横向和纵向滑动)

经过全序列的最大池化操作,将不同卷积核输出分别聚合为1个输出,再拼接为一个特征向量

最后经过全连接层分类

卷积神经网络:输入层->隐含层->输出层(单向流动——前馈神经网络Feed-Forward Network,FFN)

模型实现

自然语言处理中常用一维卷积Conv1d(in_channels,out_channels,kernel_size)

[CNN.ipynb](http://localhost:8888/notebooks/pre-trained model approach NLP/CNN.ipynb)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值