关于CNN的小知识

CNN知识1
什么是卷积?什么是池化:
https://blog.csdn.net/myboyliu2007/article/details/51535679
CNN知识2:
宽卷积:句子长度为S,kernel的大小是K,则卷积后的长度是S+K-1, 其实是句子的前后各padding了(k-1)个零
窄卷积:句子没有进行pad, 卷积后的长度是S-K+1
CNN只是2: pytorch中CNN的方法理解
self.sent_cnn=nn.Conv2d(in_channels=1, out_channels=num_filters, kernel_size = (filter_size, embedding_size), padding=(filter_size-1, 0))
out = self.sent_cnn(x), 其中
这里写图片描述
out的维度是[1, num_filters, (sentence_length+filter_size)-1, 1],我们要保留的就是第1维和第2维
这里写图片描述
https://zhuanlan.zhihu.com/p/27441587
CNN知识3:
目前应用在NLP任务中的除了max-pooling over time以外,由陆续出现了很多pooling 的形式,比如 Kmax pooling, chunk-max pooling等.具体的区别在下面的这个链接:
http://blog.csdn.net/malefactor/article/details/51078135
kmax pooling的实现:

import torch
def kmax_pooling(x, dim, k):
    index = x.topk(k, dim=dim)[1].sort(dim=dim)[0]
    return x.gather(dim, index)
x = torch.rand(4, 5, 6, 10)
print(x)                        # [torch.FloatTensor of size 4x5x6x10]
y = kmax_pooling(x, 3, 5)       
print(y)                        # # [torch.FloatTensor of size 4x5x6x5]

https://www.cnblogs.com/Joyce-song94/p/7277871.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值
>