AI预测相关目录
AI预测流程,包括ETL、算法策略、算法模型、模型评估、可视化等相关内容
最好有基础的python算法预测经验
- EEMD策略及踩坑
- VMD-CNN-LSTM时序预测
- 对双向LSTM等模型添加自注意力机制
文章目录
- AI预测相关目录
- 一、自注意力机制
- 二、代码示例
- 总结
一、自注意力机制
注意力机制从本质上讲和人类的选择性注意力机制类似,核心目标也是从众多信息中选出对当前任务目标更加关键的信息。
深度学习中,注意力机制通常应用于序列数据的处理,注意力机制允许模型对输入序列的不同位置分配不同的权重,以便在处理每个序列元素时专注于最相关的部分。
二、代码示例
def attention_function(inputs, single_attention_vector=False):
TimeSteps = K.int_shape(inputs)[1] # 获取输入的时间步数
input_dim = K.int_shape(inputs)[2] # 获取输入的特征维度
a = Permute((2, 1))(inputs) # 对输入进行维度置换,将特征维度放在前面
a = Dense(TimeSteps, activation='softmax')(a) # 在特征维度上应用全连接层,并使用softmax激活函数
if single_attention_vector:
a = Lambda(lambda x: K.mean(x, axis=1))(a) # 如果指定单个注意力向量,将在时间步维度上取平均值
a = RepeatVector(input_dim)(a) # 将注意力向量复制到每个时间步上
a_probs = Permute((2, 1))(a) # 对注意力权重进行维度置换,恢复原始维度顺序
output_attention_mul = Multiply()([inputs, a_probs]) # 将输入与注意力权重相乘
return output_attention_mul # 返回加权后的输出
上述函数可作为tf中layer层加入network进行算法模型设计。
总结
完结,撒花!