跳到内容

↑ 时间序列特征

预处理

时间序列特征被作为序列特征处理,唯一的区别在于 HDF5 预处理文件中的矩阵使用浮点数而非整数。

由于数据是连续的,通常用于存储词汇映射的 JSON 文件不再需要。

输入特征

编码器

序列编码器

时间序列编码器与 序列特征 的编码器相同,但有一个例外

时间序列特征在开始时没有嵌入层,因此 b x s 占位符(其中 b 是批大小,s 是序列长度)直接映射到 b x s x 1 张量,然后传递给不同的序列编码器。

在特征层面指定的编码器参数是

  • tied(默认 null):要与此编码器共享权重的另一个输入特征的名称。该特征必须与当前特征类型相同且具有相同的编码器参数。

输入特征列表中的类别特征示例条目

name: timeseries_column_name
type: timeseries
tied: null
encoder: 
    type: parallel_cnn

直通编码器

graph LR
  A["12\n7\n43\n65\n23\n4\n1"] --> B["Cast float32"];
  B --> C["Aggregation\n Reduce\n Operation"];
  C --> ...;

直通编码器简单地将每个输入值转换为浮点值,并为输入张量增加一个维度,创建一个 b x s x 1 张量,其中 b 是批大小,s 是序列长度。该张量沿 s 维度进行降维,为批处理中的每个元素获得一个大小为 h 的向量。如果您想输出完整的 b x s x h 张量,可以指定 reduce_output: null。此编码器对于 sequencetext 特征并非真正有用,但可能对 timeseries 特征有用,因为它允许在模型的后续阶段(例如在序列组合器中)直接使用这些特征而无需进行任何额外处理。

encoder:
    type: passthrough
    encoding_size: null
    reduce_output: null

参数

  • encoding_size(默认值:null):编码向量的大小,如果序列元素是标量,则为 None。
  • reduce_output(默认值:null):如果张量的秩大于 2,如何沿 s 序列长度维度对输出张量进行降维。选项包括:last(最后一个),sum(求和),mean(平均值),avg(平均值),max(最大值),concat(连接),attention(注意力),none(无),Nonenull

输出特征

目前没有时间序列解码器。

如果这会为您的应用开启一个有趣的用例,请提交一个 GitHub Issue 或联系 社区 Discord