NLP领域中,由于自然文本是一维的,通常使用一维卷积即可达到要求。
在实际应用中,经embedding层处理后的数据格式一般为(batch_size, word_embeddings_dim, max_length),共三个维度。
CLASS
torch.nn.Conv1d(in_channels, out_channels, kernel_size, stride=1, padding=0, dilation=1, groups=1, bias=True, padding_mode='zeros')
in_channels:输入通道数。一般情况下,将其设置为与word_embeddings_dim相等。
out_channels:输出通道数。决定了一个filter含有多少个卷积核。
kernel_size:卷积核大小。与图像处理中使用的Conv2d不同,Conv1d中的kernel_size只需指定一个整数。
例如:
conv1 = torch.nn.Conv1d(in_channels=256, out_channels=3, kernel_size=5)
这样,filter实际的维度为:3*256*5,(3个卷积核,卷积核维度为256*5),卷积核窗口在句子长度的方向上滑动,进行卷积操作。
pytorch中使用示例(为简便起见,这里将batch_size和out_channels均设置为1):
import torch
a = [[[1, 2, 3, 4],
[2, 3, 4, 1],
[3, 2, 1, 4],
一维卷积在NLP中的应用——torch.nn.Conv1d解析

本文介绍了NLP中的一维卷积操作,特别是torch.nn.Conv1d模块的使用。经过embedding层,数据转换为(batch_size, word_embeddings_dim, max_length)格式。卷积层的参数包括输入通道、输出通道、卷积核大小等。以torch.nn.Conv1d为例,展示了如何配置和应用卷积层,并提供了NLP中卷积操作的视觉解释。"
113334639,10300536,Tomcat安全配置与加固指南,"['网络安全', 'Tomcat', '服务器安全', 'Web应用服务器', '安全配置']
最低0.47元/天 解锁文章
1569

被折叠的 条评论
为什么被折叠?



