1. 表示学习

1.1. 算法说明

BRNN Encoder(Bidirectational Recurrent Neural Network Encoder) 是基于 RNN(Recurrent Neural Network Encoder)改进的时序编码模型,可以对具有时序特性的数据进行特征编码及衍合。BRNN Encoder 算法的输入,可以是多天的用户行为数据,也可以是语句中的词向量,编码后的结果可以用于其他的模型训练。

1.2. 训练节点

输入

  • 数据形式:TimeSeriesTrainData,以半角逗号连接各字段。
  • 格式:| label | timestep×features |
  • label:通过算法参数的类别数指定。分类任务中 label 需要经过 1-HOT 处理,详见 TimeSeriesData。
  • timestep:可通过算法参数的时序长度指定,代表每条样本的时序个数。
  • features:可通过算法参数的选择特征列指定,代表每个 timestep 中包含的特征个数。

输出

  • Tensorflow 模型文件,可参考 Serving a TensorFlow Model。可以通过算法 IO 参数 中的模型输出指定,将模型保存至自己的 cephfs 路径下。
  • 内容:包括 ckpt、meta 和 checkpoint 三种文件。
    • 算法 IO 参数
  • 训练数据路径:训练数据路径(ceph 路径)
  • 测试数据路径:训练数据路径(ceph 路径)
  • TensorBoard 目录:tensorboard 存储路径
  • 模型输出路径:模型输出路径(必填),如/cephfs/person/rtx/

算法参数

  • 初始学习率:控制模型的收敛速度。
  • 每层单元个数:每层中包含的 RNN 单元个数。
  • 网络深度(层):构建单层或多层 RNN 模型。
  • 特征数量:作为 feature 值,用于训练模型。
  • 时序长度:BRNN 循环的次数,作为 timestep 值。
  • 类别数:样本输出类别的个数。
  • 模型保存间隔:控制缓存模型的间隔,可用于重复训练。
  • 训练步数:训练过程中,数据集被循环利用的次数。

1.3. 预测节点

输入

  • 数据形式:TimeSeriesTrainData,以半角逗号连接各字段。
  • 格式:| ID | timestep×features |
  • ID:用于标识每条预测样本,可以为 QQ 号或者文本编号。
  • timestep:可通过模型参数的时序长度指定,代表每条样本的时序个数。
  • features:可通过模型参数的选择特征列指定,代表每个 timestep 中包含的特征个数。

输出

  • 格式:| ID | encoded_features |
  • 说明:以半角逗号连接各字段。
  • encoded_features:编码后的时序特征,feature 的个数与输出层神经元个数相同,可以通过模型参数的隐含层个数指定。
  • 模型参数
    • 时序长度:编码数据的时间序列个数,作为 timestep 值。
    • 特征数量:作为 feature 值,用于特征编码,需要与训练样本的 feature 个数一致。