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 个数一致。