
人工智能
文章平均质量分 71
雨微尘
只要专注于某一项事,就一定会做出使自己感到吃惊的成绩来——成功源于坚持。
展开
-
时间序列(Time-Series)SelfAttention_Family.py代码解析
前向传播函数,首先处理时间序列数据并使用注意力机制,然后通过一个路由器(router)处理数据的维度。#前向传播函数,和DSAttention类似,计算注意力分数,并应用掩码和dropout。#在初始化函数中,设置了一些基础的参数,如缩放因子、掩码标志、是否输出注意力矩阵等。#前向传播函数,先对查询、键、值进行线性变换,然后通过内部注意力机制计算输出。#定义了一个内部函数,用于调整查询长度,以适应LSH自注意力要求的特定长度。#定义了一个内部函数,用于从K中对Q进行采样,并选出Q中的top-k项。原创 2024-02-06 15:15:41 · 1440 阅读 · 0 评论 -
时间序列(Time-Series)Pyraformer_EncDec.py代码解析
定义了一个函数来获取注意力掩码,这个掩码用于PAM-Naive(Pyramid Attention Mechanism)的注意力层。#定义了编码器层,由两个子层组成:一个自注意力层和一个位置前馈网络。#定义了一个瓶颈卷积层结构,用于构造跨尺度卷积(CSCM)。# #最终反转掩码矩阵以创建实际使用的掩码。#定义了一个函数来收集来自PAM层级结构序列的特征。#初始化一个列表,用于存放每一层的尺寸。#定义了一个包含自注意力机制的编码器模型。#定义了一个卷积层类,用于降低序列的维度。#定义了一个常规掩码类。原创 2024-02-06 15:14:24 · 968 阅读 · 0 评论 -
时间序列(Time-Series)MultiWaveletCorrelation.py代码解析
定义了一个执行多小波变换卷积操作的神经网络模块。这个类结合了多小波变换和卷积操作,用于深度学习模型中的特征提取。#定义了一个基于傅里叶变换的交叉注意力模块。#定义了一个基于多小波变换的交叉注意力模块。这个类结合了交叉注意力和多小波变换,用于捕捉序列间的关系。#定义了一个执行稀疏核傅里叶变换的神经网络模块。#定义了一个基于多小波变换的神经网络模块。这个类执行多小波变换,用于深度学习模型中的特征变换。#这两行导入了PyTorch的神经网络模块和函数模块。#这个函数计算多项式基函数和关于基base的检验函数。原创 2024-02-06 14:48:04 · 912 阅读 · 0 评论 -
时间序列(Time-Series)FourierCorrelation.py代码解析
modes是频率域关注的模式数,mode_select_method是选择这些模式的方法,默认为'random'。#这行定义了一个名为get_frequency_modes的函数,它接受序列长度seq_len,模式数modes,和模式选择方法mode_select_method作为参数。#返回处理后的结果x和一个占位符None,因为通常注意力机制会返回一个额外的输出,例如注意力权重,但在这里并未使用。#在FourierBlock的实例中,调用get_frequency_modes函数来获取频率模式的索引。原创 2024-02-06 14:01:22 · 838 阅读 · 2 评论 -
时间序列(Time-Series)ETSformer_EncDec.py代码解析
self.conv1和self.conv2、self.norm1、self.norm2、self.norm3、self.dropout:与编码层类似,定义相应的卷积层、归一化层和dropout层。#self.self_attention和self.cross_attention:定义自注意力机制和交叉注意力机制。#self.conv1和self.conv2:定义两个1维卷积层用于在注意力操作后对特征进行转换。#self.norm1和self.norm2:定义两个层归一化操作用于稳定网络输出。原创 2024-02-04 18:36:04 · 647 阅读 · 0 评论 -
时间序列(Time-Series)Embed.py代码解析
x = self.tokenConv(x.permute(0, 2, 1)).transpose(1, 2) #在前向传播中,对输入x进行维度交换,应用卷积,然后再次交换维度,使其回到原始的形状。# position = torch.arange(0, max_len).float().unsqueeze(1) 创建一个0到max_len的连续值,并增加一个维度。# x = self.value_embedding(x) + self.position_embedding(x) 应用值嵌入和位置嵌入。原创 2024-01-30 17:18:44 · 990 阅读 · 1 评论 -
时间序列(Time-Series)AutoCorrelation.py代码解析
它接受查询 (queries),键 (keys),值 (values) 以及注意力掩码 (attn_mask),应用傅立叶变换来发现周期性依赖,然后使用聚合函数来处理时间延迟。self.dropout = nn.Dropout(attention_dropout) #注意力机制的dropout率。self.mask_flag = mask_flag #掩码。#实现自相关的训练聚合,该方法首先要找到最重要的时间延迟,然后根据延迟进行聚合。#提供完整的注意力层接口。原创 2024-01-24 17:03:18 · 533 阅读 · 1 评论 -
时间序列(Time-Series)TimesNet.py代码解析
top_list = top_list.detach().cpu().numpy() #从gpu转移cpu并转换为numpy数组。return period, abs(xf).mean(-1)[:, top_list] #返回周期和这些周期对应的平均振幅。_, top_list = torch.topk(frequency_list, k) #找到top k个频率成分。frequency_list = abs(xf).mean(0).mean(-1) #计算变换后振幅的均值。原创 2024-01-24 11:45:11 · 1515 阅读 · 3 评论 -
向量矩阵学习笔记一20211028
1、向量 vector2、矩阵matrix3、张量(多维数组)tensor谷歌开源的神经学框架tensorflowtopology graph (神经网络,拓扑图)tensor在神经网络中流动input->神经网络->output->loss(损失)->求梯度->推导前期的神经网络的参数每行表示一个样本samp 用Xi表示;每列表示一个特征feature 用Yi表示;向量只有两个维度:Xi =(Xi1,Xi2)36.56...原创 2021-11-01 14:11:23 · 180 阅读 · 0 评论