在TensorFlow学习笔记(8):CNN实现中我们以图像处理为场景对卷积神经网络进行了介绍,包括了卷积操作和pooling操作的实现,其中卷积和pooling都采用了二维的操作,输入数据是四维的,shape = [batch, in_height, in_width, in_channels],例如图像像素为28 * 28, RGB三色道表示,batch取100,那么shape = [100, 28, 28, 3]
在处理文本的时候,通常卷积操作的kernel的高度是固定的,与文本中每个字符的向量的长度相同,因此我们通常采用一维卷积来进行操作,例如下面的模型
在本文中,我们介绍如何对文本向量进行卷积和pooling,
1. 一维卷积操作
在tf.layers.conv1d中提供了一维卷积操作,参数如下所示
tf.layers.conv1d(
inputs,
filters,
kernel_size,
strides=1,
padding='valid',
data_format='channels_last',
dilation_rate=1,
activation=None,
use_bias=True,
kernel_initializer=None,
bias_initializer=tf.zeros_initializer(),
kernel_regularizer=None,
bias