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中使用示例