IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 人工智能 -> 为什么Transformer / ViT 中的Position Encoding能和Feature Embedding直接相加? -> 正文阅读

[人工智能]为什么Transformer / ViT 中的Position Encoding能和Feature Embedding直接相加?

前言

刚开始学习Transformer / ViT的时候会发现为什么作者会将Position Encoding直接和Feature Embedding相加?当时的第一反应是,为什么不是concat,因为两者分明是两种异构的信息,为什么能放在一起相加呢?不应该concat才合理么?最近对一些工作做收尾的时候发现了这个后来被我遗漏的问题。(如果不知道Position Encoding是啥的建议先去阅读一下原论文)

问题

从向量空间的角度来看,我原本有一个Feature Embedding向量矩阵,我再加上一个Position Encoding,那不就意味着我原本的Feature Embedding向量的大小和方向都发生了变化么?而Positon Encoding代表的是Feature Embedding中的每个feature的相对/绝对位置,直觉上来讲,在通道维上concat是一个符合深度学习逻辑的操作,那么为什么原文作者最后选择了直接对两者做相加呢?

推理

以语句为例,首先,我们先尝试用concat的方法。我们给原始输入向量的每个位置x^i \in R^{(d,1)}?concat上一个代表位置信息的向量p^i \in R^{(N,1)}?(N代表共有N个位置)形成x^i_p \in R^{(d+N, 1)},它也可以表示为[[x^i]^T, [x^p]^T]^T这个形式。

接着,对这个新形成的向量做变化,比如linear projection。

记变换矩阵?W \in R^{(d, d+N)}d?就是需要变换到的维度(这里为了方便,直接假设原输入的维度与嵌入维度一致,都是d),它也可以表示为[W^I, W^P],其中W^I \in R^{d,d}, W^P \in R^{d,N}

现在进行变换:

W \cdot x_p^i = [W^I, W^P] \cdot [[x^i]^T, [x^p]^T]^T = W^I \cdot x^i + W^P \cdot x^p = embed^i + pos^i

其中,embed^i就是对原始输入做了嵌入之后的向量,而pos^i就是对位置向量做了嵌入之后的表示。即 Feature Embedding 和 Position Encoding。

于是,由变换结果可知,在原始向量上concat一个代表位置信息的向量,再经过变换,最终的效果等价于:先对原始输入向量做变换,然后再加上位置嵌入。

另一方面,concat会使网络进入深层之后参数量剧增,这是很不划算的。

  人工智能 最新文章
2022吴恩达机器学习课程——第二课(神经网
第十五章 规则学习
FixMatch: Simplifying Semi-Supervised Le
数据挖掘Java——Kmeans算法的实现
大脑皮层的分割方法
【翻译】GPT-3是如何工作的
论文笔记:TEACHTEXT: CrossModal Generaliz
python从零学(六)
详解Python 3.x 导入(import)
【答读者问27】backtrader不支持最新版本的
上一篇文章      下一篇文章      查看所有文章
加:2022-05-06 11:03:14  更:2022-05-06 11:05:03 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 7:29:09-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码