↑ 时间序列特征
预处理¶
时间序列特征被作为序列特征处理,唯一的区别在于 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
。此编码器对于 sequence
或 text
特征并非真正有用,但可能对 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
(无),None
,null
。
输出特征¶
目前没有时间序列解码器。
如果这会为您的应用开启一个有趣的用例,请提交一个 GitHub Issue 或联系 社区 Discord。