system: [SYSTEM]

user: 3. R-TCN 3.1. 模型结构 本文所提出的网络结构主要受TCN [ 11 ] 网络模型的启发。TCN是将卷积网络设计中的最佳实践提炼而成的一个简单架构。其在不同任务和数据集上的性能优于典型的RNN网络。R-TCN的主要特征是：1) 架构中使用的卷积是因果关系，保证没有从未来到过去的信息泄露，这是适用于序列建模的前提；2) 该架构直接对稀疏数据嵌入之后的矩阵进行卷积操作；3) 通过使用非常深的网络(残差层搭建)和空洞卷积来构建非常长的有效历史规模，即可以利用非常遥远的历史值做出预测。 R-TCN由三个部分组成：embedding [ 12 ] 层、卷积层和全连接层。 1) embedding层：为了训练CNN，本文从用户序列中为每个用户u提取L个连续物品作为输入，并提取它们接下来的T个物品作为目标，如图4所示，这是通过在用户序列上滑动一个大小为L + T的窗口来完成的，每个窗口都为u生成一个训练样本，由一个三元组表示(用户u，前L个物品，后T个物品)。 图4. R-TCN模型模块图 2) 卷积层：R-TCN使用因果空洞卷积作为卷积层，而每两个这样的卷积层与恒等映射可以封装为一个残差模块。这样由残差模块堆叠起一个深度网络。网络结构如图4所示，R-TCN由很多个残差块串联而成，残差块的个数由具体任务的输入和输出的尺寸大小决定。 3) 全连接层：将这两个卷积层的输出串联起来，并将它们输入到一个全连接的神经网络中。 3.2. embedding层 对于简单的公式，可以直接以文本方式输入；对于复杂的公式，可以考虑使用公式编辑器，或者将公式制作成图片后插入文中。编辑公式的过程中要特别注意减号与连字符的区别，前者较长，后者较短。NN之所以在CV领域 [ 13 ] 大放异彩是由于其具有如下特性：1) 参数共享通常一个特征检测子(如边缘检测)在图像某一部位有用也在其他部位生效。2) 稀疏连接每一层的输出只依赖于前一层一小部分的输入。在NLP任务中由于语句天然存在前后依赖关系，所以使用CNN能获得一定的特征表达 [ 14 ]。 在推荐任务中输入是空间无序的，特征是高维稀疏的，没有NLP和CV任务上空间上的强相关性和密集性，造成了CNN在推荐领域使用甚少。 如图4部分，将前L个物品在隐空间的表示连接起来，作为用户u在当前时刻t的序列矩阵表示(d是隐藏层的维数)： E ( u ， t ) ∈ R L × d 除了物品的表示之外，本文还为用户u提供了一个用户表示： P u ∈ R d 它表示潜在空间中的用户特性。这些表示在图4的左侧第一模块中，用蓝色和紫色的实心圆表示。 3.3. 卷积层 3.3.1. 总体介绍 如图4将前L个物品在隐空间的表示Latent Space (L × d的矩阵E(u， t))看作一张“图像”，卷积层就是是利用卷积核对其进行序列模式的搜索和学习。两个水平卷积核(用h × d的矩阵表示，图中所示h = 2)通过在矩阵E上滑动来提取两种不同的联合级序列模式。其中第一个卷积核通过与“高铁”和“网红店”的embedding表示的交互，跳过“旅行箱”和“房卡”，提取出“(高铁，网红店)→景点”的模式。同理，第二个卷积核提取了“(旅行箱，房卡)→酒店”的序列模式。矩阵方块中颜色越深代表值越大。因此，水平卷积核可以被训练来提取具有多种模式。图5中间卷积部分的下半部分显示了垂直卷积层，在该层中，垂直卷积核(用L × d的矩阵表示)在矩阵E上从左到右滑动，通过对前几项物品的潜在表示的加权和来捕获点级序列模式。 图5. 序列预测示意图 3.3.2. 残差 序列建模任务通常需要很长的感受野，而感受野依赖于网络深度以及卷积核大小等，为了使更大更深的人R-TCN网络更加稳定，采用通用残差模块。 残差网络(Residual Network， ResNet [ 15 ])通过加入shortcut connections，变得更加容易被优化。包含一个shortcut connection的几层网络被称为一个残差块(residual block)，这已多次被证明有利于非常深的网络。一个深度网络中如果期望用一个非线性单元 f ( x ， θ ) 去逼近目标函数 h ( x ) ，可以将目标函数拆分成恒等函数 x 和残差函数 h ( x ) − x 。 h ( x ) = x + ( h ( x ) − x ) 根据通用近似定理，一个由神经网络构成的非线性单元有足够的能力来近似逼近原始目标函或残的学习会比前者简单。因此，原来的优化问题便转换为：让非线性单元 f ( x ， θ ) 去近似残差函数 h ( x ) − x ，并用 f ( x ， θ ) + x 去逼近 h ( x ) 。 R-TCN的残差块结构如图6中所示。在R-TCN的残差模块内，有两层因果空洞卷积，根据非线性，使用了校正线性单元(recfied linear unit， ReLU)。对于归一化，我们将权值归一化应用于卷积滤波器。此外，R-TCN在残差模块内的每个因果空洞深度可分离卷积后都添加了Dropout [ 16 ] 以实现正则化，防止过拟合。最终，由多个这样的残差模块堆叠起一个深度网络。图6给出了残差连接的示例。残差块里面有两层因果空洞卷积。实线代表滤波器，虚线代表恒等映射，在R-TCN中，输入与输出有不同的维度，因此需要使用额外的1 × 1卷积来确保对应元素相加有相同的维度。k代表卷积核大小，这里卷积核尺寸为3，d表示空洞系数，这里为1，也就是相当于普通卷积操作。 图6. 残差块结构图 3.3.3. 因果空洞卷积层 序列问题强调的是先后顺序，RNN的特性使其有助于解决时间序列预测问题，但它串行处理序列数据，训练速度慢。CNN可以并行处理序列数据，速度比RNN快，但普通卷积网络会把序列中未来的数据和过去的数据同等地位对待，可能会导致未来数据到过去数据的泄露。因此普通卷积不能直接用于处理序列数据，要用因果卷积替代传统卷积。如图7所示，因果卷积 [ 17 ] 提供了处理时间流的适当工具，当 图7. TCN因果卷积 对输入数据的顺序很注重的时候，因果卷积便可以发挥作用。一个简单的因果卷积只能用网络深度的线性大小来回顾历史，而普通因果卷积网络的感受野很小，多层卷积感受野增长太慢，不能覆盖较长的序列。这使得将上述因果卷积应用于序列任务非常困难，尤其是那些需要较长历史的任务。 根据van den [ 18 ] 等人的工作，解决方案是使用空洞卷积，不增加参数数量，同时增加输出单元感受野，使一个指数级大的感受野成为可能。如图8所示，左图对应3 × 3的空洞卷积，空洞为0，和普通的卷积操作一样，中间图对应3 × 3的空洞卷积，实际的卷积核还是3 × 3，空洞为1，但是该卷积核的感受野已经增大到了7 × 7；右侧图对应空洞卷积实际的卷积核还是3 × 3，空洞为3，该卷积核的感受野已经增大到15 × 15。可以看出，增加空洞后，参数量不增加但是大大增加感受野范围。 图8. TCN空洞卷积 3.4. 全连接层 在全连接层中，如图4右部分所示，作者将这两个卷积层的输出concat起来成为向量Z，并将它们输入到一个全连接的神经网络中，以获得更高层次和更抽象的特征。值得注意的是我们对Z和Pu进行了concat操作。如图4向量Z来自卷积操作，向量Pu来自输入端的用户向量直连。向量Z表示用户的短期兴趣，而向量Pu则代表了用户的长期兴趣。Concat(Z， Pu)将同时拥有长期和短期兴趣信息。同样的，Pu的生成方法是很多的，我们采用DeepFM预训练之后形成的Pu，因为对于一般兴趣的捕捉存在着包括机器学习(FM LR)和深度学习(DeepFM Wide & Deep)在内的众多方法。所以本文的模型具有结合CNN、RNN机器学习等多种模型共同发挥作用的潜力，采集他们的优点，同时序列预测又规避了他们的动态短期兴趣捕捉不足的弱点。