时间embedding

news/2024/9/19 15:33:41/文章来源:https://www.cnblogs.com/csjywu01/p/18409057


左边的公式和 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 ) 时,如何生成多对正弦和余弦值。每一对正弦和余弦值都对应着嵌入向量的一个维度,因此最终生成的时间嵌入向量的长度是总维度的两倍。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/795685.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

微信小程序开发系列8----页面配置--事件绑定

源码获取方式(免费):(1)登录-注册:http://resources.kittytiger.cn/(2)签到获取积分(3)搜索:6-wxmlevent事件绑定

LeetCode算法—滑动窗口

纵有疾风起;人生不言弃!一:滑动窗口 滑动窗口分为定长滑动窗口和非定长滑动窗口 定义:滑动窗口的题目一般都是非定长的;一般需要定义两个指针left,right;用来限制窗口的左边界和右边界;二:LeetCode 209 长度最小的数组 (1)题目:求连续最小的字串和大于目标值的最小长…

一文看懂什么是架构

对程序员来说,架构是一个常见词汇。如果想成为一名架构师,对架构概念的理解必须清晰。否则,在制定架构方案时,肯定会漏洞百出,问题频发,这将对你的面试、晋升和团队领导产生负面影响。 我们看下维基百科关于架构的定义:软件架构是抽象描述系统的一组结构,以及构建这些结…

【图论】Johnson全源最短路算法

2024-9-11 最后更新时间 2024-9-11 作者学会了一个叫做\(Johnson\)的算法,所以就有了这篇博客...... Johnson算法是一个高效处理全源最短路的算法 其实也很慢,但目前是最高效的 为了更加方便你们接下来的学习我希望你们已经掌握了基本的最短路算法(SPFA,Dijsktra,Bellman-…

更新mstsc

这次遇到的问题是系统远程程序mstsc故障,又不想重装系统, 于是通过挂载windows的ISO,想获取system32下的原版程序和相关文件, 挂载ISO后,sources文件夹下有一install.wim文件,通过以下命令提取所有系统安装文件至E盘临时目录temp下 dism /mount-wim /wimfile:"G:\so…

MySQL原理之UUID主键分析,插入或更新语法分析

目录1 MySQL不能用UUID做主键1.1 前言1.2 mysql和程序实例1.2.1 准备工作1.2.2 开始测试1.2.3 程序写入结果1.2.4 效率测试结果1.3 使用uuid和自增id的索引结构对比1.3.1 自增id1.3.2 uuid1.4 自增id缺点1.5 雪花算法2 插入或更新2.1 on duplicate key2.1.1 定义2.1.2 values函…

图与网路——最大流问题精解

容量网络(Capacity Network)是一种特殊的有向图结构,其中每条边都有一个容量(Capacity),表示该边上可以通过的最大流量。在这种网络中,流量(Flow)是指从源点(Source)通过边到达汇点(Sink)的实际传输量。容量网络中的边具有方向性,且每条边的流量不能超过其容量。…

C++中的数组,字符串数组,pair数组

1.C++中的字符串数组: 2. C++中的常量数组 这个const pair<int, string> valueSymbols[]定义了一个常量数组,数组中的每个元素都是一个pair<int, string>类型的对象。pair是C++标准模板库(STL)中的一个模板类,用于将两个值组合成一个单一的对象。在这个特定的…