简谈一维卷积

二维卷积在tf中是tf.layers.conv2d(),而一维卷积:tf.layers.conv1d()

1、一维卷积和二维卷积的区别

二维卷积就不赘述了,很多博客写的很好,自己之前也马虎写过一篇,主要讲一下一维卷积。
先讲一下二维卷积和一维卷积的区别,二维卷积是将一个特征图在widthheight两个方向进行滑动窗口操作,对应位置进行相乘求和;而一维卷积卷积略有不同,其卷积核也是一个二维的,只是在width(lenth)单方向上进行滑动窗口并相乘求和。
在这里插入图片描述
图片来自:博客

还有有一篇博客写得比较好博客:
https://zhuanlan.zhihu.com/p/29201491
在这里插入图片描述
更通俗理解:
图中输入的词向量维度为5,输入大小为75,一维卷积和的大小为2、3、4,每个都有两个,总共6个特征。
对于k=4,见图中红色的大矩阵,卷积核大小为4
5,步长为1。这里是针对输入从上到下扫一遍,输出的向量大小为((7-4)/1+1)1=41,最后经过一个卷积核大小为4的max_pooling,变成1个值。最后获得6个值,进行拼接,在经过一个全连接层,输出2个类别的概率。

再看看主要参数:

tf.layers.conv1d()

in_channels(int) – 输入信号的通道。在文本分类中,即为词向量的维度
out_channels(int) – 卷积产生的通道。有多少个out_channels,就需要多少个1维卷积
kernel_size(int or tuple) - 卷积核的尺寸,卷积核的大小为(k,),第二个维度是由in_channels来决定的,所以实际上卷积大小为kernel_size*in_channels(二维的),一般选3或者5
stride(int or tuple) - 卷积步长
padding (int or tuple)- 输入的每一条边补充0的层数
dilation(int or tuple) – 卷积核元素之间的间距
groups(int) – 从输入通道到输出通道的阻塞连接数
bias(bool) - 如果bias=True,添加偏置

参考:
https://www.cnblogs.com/LXP-Never/p/10763804.html
https://zhuanlan.zhihu.com/p/29201491
https://blog.csdn.net/sunny_xsc1994/article/details/82969867
https://blog.csdn.net/u011734144/article/details/84066928?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-2.channel_param&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-2.channel_param#commentBox

  • 17
    点赞
  • 93
    收藏
    觉得还不错? 一键收藏
  • 9
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值