paddlets.models.anomaly.dl._anomaly_transformer.attention

class TriangularCausalMask(batch_size: int, length: int)[源代码]

基类:object

Triangular Causal Mask.

参数
  • batch_size (int) – 每个批次的样本数量。

  • length (int) – 每个数据的样本长度。

_nn

神经网络。

Type

paddle.nn.Sequential

class AnomalyAttention(win_size: int, mask_flag: bool = True, scale: Optional[bool] = None, attention_dropout: float = 0.0, output_attention: bool = False)[源代码]

基类:Layer

Anomaly Attention:

一个可学习的参数,用于高斯核函数中计算局部关联。局部关联计算会从原数据中学习。

参数
  • win_size (int) – 模型输入的时间序列长度。

  • mask_flag (bool) – 编码层是否开启掩码。

  • scale (int|None) – 缩放自注意力层的点积结果。

  • attention_dropout (float) – 神经元丢弃概率。

  • output_attention (bool) – 是否要输出全局向量,相邻向量,高斯核参数向量。

_nn

神经网络。

Type

paddle.nn.Sequential

forward(queries: Tensor, keys: Tensor, values: Tensor, sigma: Tensor, attn_mask: Callable[[...], Tensor]) Tensor[源代码]

局部关联结果源于高斯核计算分支.全局关联结果源于自注意力分支计算。

参数
  • queries (paddle.Tensor) – query的投影层。

  • keys (paddle.Tensor) – key的投影层。

  • values (paddle.Tensor) – value的投影层。

  • sigma (paddle.Tensor) – 高斯核的一个可学习参数,使局部关联适应各种时间序列模式。

  • attn_mask (Callable[..., paddle.Tensor]|None) – 编码层中是否使用掩码。

返回

AnomalyAttention的输出。series:来自高斯内核分支的局部关联。prior:来自自我注意的先验关联。sigma:高斯核的可学习参数.

返回类型

V(paddle.Tensor)

class AttentionLayer(attention: Callable[[...], Tensor], d_model: int, n_heads: int, d_keys: Optional[int] = None, d_values: Optional[int] = None)[源代码]

基类:Layer

anomaly transformer模型的注意力层。

参数
  • attention (Callable[..., paddle.Tensor]) – anomaly transformer模型的注意力层。

  • d_model (int) – anomaly transformer模型输入数据的特征维度。

  • n_heads (int) – 模型多头的数量。

  • d_keys (int) – key的特征尺度。

  • d_values (int) – value的特征尺度。

_nn

神经网络。

Type

paddle.nn.Sequential

forward(queries: Tensor, keys: Tensor, values: Tensor, attn_mask: Callable[[...], Tensor]) Tensor[源代码]

全局关联和局部关联。

参数
  • queries (paddle.Tensor) – query的投影层张量。

  • keys (paddle.Tensor) – key的投影层张量。

  • values (paddle.Tensor) – value的投影层张量。

  • sigma (paddle.Tensor) – 高斯核中的一个可学习参数。

  • attn_mask (Callable[..., paddle.Tensor]) – 编码层中是否使用掩码。

返回

模型预测结果.series:全局关联输出.prior:局部关联输出.sigma:高斯核中的一个可学习参数。

返回类型

self.out_projection(out)(paddle.Tensor)