首页 > 其他分享 >时间embedding

时间embedding

时间:2024-09-11 21:46:50浏览次数:10  
标签:嵌入 正弦 余弦 时间 embedding 维度 生成


左边的公式和 time_embedding(1) 的区别在于它们表示的维度不同。公式中的左边部分是一个概括性公式,用来说明如何为每个时间步 ( t ) 生成时间嵌入。而具体的 time_embedding(1) 展示的是当 ( t = 1 ) 时,如何生成一个更长维度的时间嵌入向量。

1. 左边公式的含义

左边的公式表示的是时间步 ( t ) 在不同维度上生成的正弦和余弦值。它用到了参数 ( i ) 和 ( d ),其中:

  • ( i ) 是当前的维度索引(不同的 ( i ) 值代表不同的维度),
  • ( d ) 是总的嵌入维度。

公式实际上表示,对于嵌入维度的每一个索引 ( i ),我们分别生成正弦和余弦值。这个公式表达了时间步 ( t ) 在不同的维度上如何映射到正弦和余弦值。

2. time_embedding(1) 的具体表示

time_embedding(1) 展示了当 ( t = 1 ) 时,具体的时间嵌入向量是什么样的。因为时间嵌入是通过正弦和余弦函数生成的,所以它会在嵌入维度的每个索引 ( i ) 上生成两个值:一个是正弦值,另一个是余弦值。

  • 对于 ( i = 0 ),我们计算 $ \sin(1) ) 和 ( \cos(1) $,它们是第一个维度的正弦和余弦表示。
  • 对于 ( i = 1 ),我们计算 $ \sin\left(\frac{1}{10000^{2 \cdot 1/d}}\right) ) 和 ( \cos\left(\frac{1}{10000^{2 \cdot 1/d}}\right) $,这是第二个维度的正弦和余弦表示。

如此类推,我们继续为后续维度生成对应的正弦和余弦值。每个维度 ( i ) 都会生成一对正弦和余弦值,因此时间嵌入的维度将会是总维度 ( d ) 的两倍。

3. 时间嵌入的维度解释

具体来说,如果时间嵌入的总维度是 ( d ),那么它将包含 ( d/2 ) 对正弦和余弦值。例如,如果我们生成 6 维的时间嵌入,那么:
\( \text{time_embedding}(1) = \left[ \sin(1), \cos(1), \sin\left(\frac{1}{10000^{2 \cdot 1 / 6}}\right), \cos\left(\frac{1}{10000^{2 \cdot 1 / 6}}\right), \dots \right] \)
总共会包含 6 个元素,即 3 对正弦和余弦值。

总结:

左边的公式是一个概括的生成时间嵌入的方式,而右边展示的是一个具体例子,当时间步 ( t = 1 ) 时,如何生成多对正弦和余弦值。每一对正弦和余弦值都对应着嵌入向量的一个维度,因此最终生成的时间嵌入向量的长度是总维度的两倍。

标签:嵌入,正弦,余弦,时间,embedding,维度,生成
From: https://www.cnblogs.com/csjywu01/p/18409057

相关文章

  • springboot时间管理系统的设计与实现
    大家好,我是永钊,一个混迹在java圈的码农,今天要和大家聊的是一款基于springboot的时间管理系统,项目源码请联系永钊,目前有各类成品毕设javawebsshssmspringboot等等项目框架,源码丰富。专业团队,咨询就送开题报告,活动限时免费,有需要的朋友可以来留言咨询。本网站系统采用jav......
  • DBeaver clickhouse 时区不对 时间少了8小时
    现象:确认过clickhouse时区配置是正确的(时区配置参考:https://blog.csdn.net/vkingnew/article/details/107227037)然而通过DBeaver连接后查询当前时间却慢了8小时,通过命令行连接clickhouse查看时间又是准确的命令行查询DBeaver查询原因:是DBeaver配置问题解决方法:......
  • 两个时间戳的时间差
     在Hive中,您可以使用`unix_timestamp`函数来获取时间的秒级时间戳,并计算两个时间之间的差值。以下是创建Hive表、插入数据以及计算两个时间之间的秒级时间差的示例。###1.创建Hive表首先,创建一个表来存储时间数据。---sql--创建时间表CREATETABLETimeDifferences(i......
  • 【麒麟+win双系统配置保留启动选项及更改grub页面等待时间】
    需求:安装了麒麟+win双系统,每次开机要手动选择进入哪个系统、等待页面时间过短,想要修改等待时长且默认记住上次进入的系统选项,以实现不用操作即可进入上次关机的系统1.快捷键“Ctrl+Alt+T”打开终端窗口,如下图所示2.如下图所示,在终端输入sudo  vim  /etc/default/grub......
  • LeetCode: 673.最长子序列的数量 动态规划 时间复杂度O(n*n)
    673.最长子序列的数量LeetCode原题连接673.最长子序列的数量题目描述给定一个未排序的整数数组,找到最长递增子序列的个数。示例1:输入:[1,3,5,4,7]输出:2解释:有两个最长递增子序列,分别是[1,3,4,7]和[1,3,5,7]。示例2:输入:[2,2,2,2,2]输出:5......
  • 981. 基于时间的键值存储
    题目链接981.基于时间的键值存储思路哈希+二分题解链接哈希表+二分关键点理解题意时间复杂度\(O(\logn)\)空间复杂度\(O(n)\)代码实现:classTimeMap:def__init__(self):self.dct=defaultdict(list)defset(self,key:s......
  • 0基础开始Pine量化 多重时间框架EMA+Supertrend策略(附代码)
    0基础开始Pine量化多重时间框架EMA+Supertrend策略(附代码)基于金叉动量捕捉策略:多重时间框架指数移动平均线交叉系统和三重超级趋势交叉策略在发明者量化网站上回测试验啥是EMA(指数移动平均线)EMA(ExponentialMovingAverage)是一种用于金融市场技术分析的趋势跟踪指标。与简......
  • Java中日期时间类的学习
    日期时间类目录日期时间类Date类(日期时间)SimpleDateFormat类(格式化)Calendar类(日历)Date类(日期时间)序号方法和描述1booleanafter(Datedate)若当调用此方法的Date对象在指定日期之后返回true,否则返回false。2booleanbefore(Datedate)若当调用此方法的Date......
  • LeetCode: 2552. 统计上升四元组 动态规划 时间复杂度O(n*n)
    2552.统计上升四元组today2552.统计上升四元组题目描述给你一个长度为n下标从0开始的整数数组nums,它包含1到n的所有数字,请你返回上升四元组的数目。如果一个四元组(i,j,k,l)满足以下条件,我们称它是上升的:0<=i<j<k<l<n且nums[i]<nums[k]<num......
  • Ts+正则表达式格式化时间
     1.padStart:padStart(targetLength,padString):用另一个字符串填充当前字符串(如果需要会重复填充),直到达到给定的长度。填充是从当前字符串的开头开始的。最后返回一个新的字符串。targetLength:当前str填充后的长度。如果该值小于或等于str.length,则会直接返回当前str。pa......