没有合适的资源?快使用搜索试试~ 我知道了~
7304用于3D旋转群深度学习的四元数乘积单位张璇1、秦少飞1、徐毅1、徐宏腾21MoE人工智能重点实验室,人工智能研究所2Infinia ML,Inc.1上海交通大学,中国上海2杜克大学,美国{floatlazer,1105042987,xuyi}@ sjtu.edu.cn,hongteng. duke.edu摘要我们提出了一种新的四元数产品单位(QPU)表示数据的三维旋转组。QPU利用四元数代数和三维旋转群的规律,将三维旋转数据表示为四元数,并通过加权的Hamilton积链将它们合并。我们证明了QPU的表示可以分解为“旋转不变”特征和“旋转等变”特征,这在理论上我们基于QPU设计了四元数神经网络,并使我们的模型与现有的深度学习模型兼容。在合成数据和真实数据上的实验结果表明,该算法对于需要旋转鲁棒性的学习任务是有效的。1. 介绍表示点云和骨架等3D数据对于许多现实世界的应用是必不可少的,例如自动驾驶[17,37]、机器人[30]和游戏[2,16]。在实践中,我们经常将这些3D数据建模为3D旋转群SO(3)上的点的集合,例如。,骨架可以由相邻关节之间的旋转来表示因此,隐藏在这些数据中的不确定性通常是由旋转的随机性例如,在动作识别中,具有不同方向的人体骨架可能表示相同的动作[27,35];在自动驾驶中,具有不同方向的点云可能捕获相同的车辆[37]。面对这种旋转差异的三维数据,我们往往要求相应的表示方法对旋转具有鲁棒性。目前的情况, 许多 深 基于学习的表示方法已经努力增强它们对旋转的鲁棒性[4,6,29,3,26]。然而,他们的模型架构是为欧几里得空间中的数据而不是3D旋转数据量身定制的特别地,3D旋转数据在其模型中使用的代数运算下不是闭合的(即,加法和乘法)。1数据与模型的不匹配使得这些方法难以定量分析旋转对其输出的影响。虽然这种不匹配问题可以通过使用额外的旋转来增加训练数据来缓解[18],但这种解决方案并没有给我们提供理论保证。为了克服上述挑战,我们提出了一种新的用于3D旋转数据的四元数乘积单元(QPU),它建立了一种有效且可解释的机制,以增强深度学习模型对旋转的鲁棒性如图1a所示,对于每个3D旋转,我们将其表示为单位四元数,其虚部表示其旋转轴的方向,实部对应于其旋转角的余弦。以N个四元数作为输入,QPU首先对每个输入应用四元数幂运算,分别缩放然后,它应用一个哈密尔顿积链来合并加权四元数并输出相应的旋转。QPU的参数由缩放系数和引入到旋转角度的偏差组成。所提出的QPU利用四元数代数和3D旋转组的定律,将输入合并为一个四元数。由于3D旋转组在我们的QPU中使用的操作下是闭合的,因此输出仍然是有效的旋转。 此外,给定数据集X SO(3)N,其中每个x=[x1,...,x N]∈ X包含N个旋转,我们可以一个映射函数的两种优良旋转鲁棒性f:SO(3)N<$→SO(3):旋转不变性f(R(x))=f(x),<$x∈ X.旋转等方差f(R(x))=R(f(x)),nx∈ X.本文通讯作者为徐毅(xuyi@sjtu.edu.cn)。这项工作得到了NSFC 61671298,STCSM 18DZ2270700和111计划B07022的部分支持。1例如,将两个3D旋转矩阵相加或将标量与3D旋转矩阵相乘将不会产生有效的旋转矩阵。7305VVq=[q1,q2,q3]>2H3q1=[s1,v1]四元数乘积单位加权链式Hamilton积q1=[s1,v1]层1QPU层2q2=[s 2,v 2]q3=[s3,v3]旋转不变qout=[sout,vout]2H旋转等变q2=[s2,v2]q3=[s3,v3]QPUQPUQPUQPU实值层(a) 单个四元数乘积单元(b)具有2个基于QPU的FC层+实值层的QMLP图1:(a)我们的QPU模型的说明。SO(3)中的每个旋转都可以通过超复空间H中的单位四元数来表示,其实部和虚部分别表示旋转角度和旋转轴的方向QPU通过加权的Hamilton乘积链合并输入旋转,并导出旋转作为其输出,其实部和虚部分别产生旋转不变性和旋转等变性。(b)我们可以进一步使用多个QPU来构建全连接(FC)层。这些基于QPU的FC层的堆叠导致四元数多层感知器(QMLP)模型,并且该模型可以由现有的实值层遵循。这 里 , R 是 任 意 旋 转 操 作 , 并 且 R ( x ) =[R(x1),.,R(x N)]。我们证明了QPU导出的四元数是自然解纠缠成一个旋转不变量的实部和旋转等变虚部。所提出的QPU与现有的深度学习模型高度兼容。如图1b所示,我们基于QPU构建全连接(FC)层,并将其堆叠为四元数多层感知器模型(QMLP)。我们还设计了一个基于QPU的四元数图卷积层这些基于QPU的层可以与标准实值层组合在合成数据和真实数据上的实验表明,所提出的基于QPU的模型可以用标准的反向传播有效地训练,并且在许多需要旋转鲁棒性的应用中优于传统的实值模型。2. 拟定四元数乘积单位设计一种产生某种旋转鲁棒性的表示方法借助四元数代数,我们提出了一种四元数乘积单元来实现这一目的。2.1. 四元数和3D旋转四元数q=s+ix+jy+kz∈H是一类具有一维实部s和三 维 虚 部 ( x , y , z ) 的 超 复 数 。 虚 部 满 足i2=j2=k2=ijk=-1,ij =-ji= k,ki =-ik= j,jk =-kj= i。为了…我们忽略了想象中的符号,四元数是标量和向量的组合,q=[s,v]=[s,(x,y,z)]。当配备有作为乘法的Hamilton乘积(记为)和标准向量加法时,四元数形成一个代数。特别地,两个四元数q1=[s1,v1]之间的Hamilton积且q2=[s2,v2]定义为q1<$q2=[s1s2−<$v1,v2<$,v1×v2+s1v2+s2v1]许多3D数据可以表示为3D旋转组上的点。以3D骨架数据为例。的3D=ML(q1)q2(二)=MR(q2)q1,骨架是与图形结构相关联的3D点云,其中对于四元数q=[s,(x,y,z)],我们有是的。 我们可以用一组三维旋转来表示骨架,使用边缘之间的相对旋转(即,关节旋转)。在数学上,从向量v1∈R3到ML( q)=Σ s-x-y-zXS− zY Y Zs −x z − yXSΣ,MR( q)=Σ s-x-y-zXSz −yy −zSxz y − x sΣ.(三)另一个向量v2∈R3可以被描述为绕轴u以角度θ旋转:旋转轴:u=v1×v2,1×2×3 ×4 ×在Eq中的第二行。(2)使用矩阵向量乘法,其中我们将一个四元数视为4D向量,并基于另一个四元数计算矩阵。注意,哈密尔顿积是非交换的-乘以av1,v2旋转角度:θ = arccos()。ǁ1ǁ2 ǁ2 ǁ2(一)左边或右边的四元数给出不同的矩阵。四元数代数为我们提供了一种新的表示形式-3D旋转。 具体来说,假设我们旋转这里,v1×v2表示叉积,而v1×v2× v 1表示内积。鉴于这样的3D旋转数据,我们希望3D矢量v1到另一个3D矢量v2,并且3D旋转具有轴u和角度θ,如等式(1)所示(一).7306i=1我们可以将3D旋转表示为单位四元数q=[s,v]=[cos(θ),sin(θ)u],其中,u=1,其中对于qi=[si,vi]2 2s2+vs2=cos2(θ)+sin2(θ)=1。 代表qpow(qi;wi,b)22 2vi两个3D向量作为两个纯四元数,即,[0,v1]和[0,v2],我们可以通过以下方式实现从v1到v2的旋转:=[cos(wi(arccos(si)+b)),1992年sin(wi(arccos(si)+b))]对应四元数的Hamilton乘积:[0,v]=q<$[0,v]<$q<$,(4)表示具有权重wi和偏置b的关于旋转角的加权函数。21与Eq.(5)我们给b加上一个偏置,其中q=[s,−v]表示q的共轭。另外,旋转矩阵的组合也可以用单位四元数的Hamilton积表示。例如,给定两个单位四元数q1和q2,对 应 于 两 个 旋 转 , ( q2<$q1 ) <$[0 , v1]<$$> ( q<$$>q<$)起源arccos的输出包含±1的无限梯度。 我们通过将输入标量部分s箝位在−1+和1 −之间来解决这个问题,其中是一个小数字。2.3. QPU的旋转不变性和等变性1.2下列命题证明了意味着通过两次旋转顺序地旋转V1注意单位四元数是SO(3)的双重覆盖由于q和-q表示相同的3D旋转(相反方向)。如等式1所示。(1)利用内积和反余弦函数生成单位四元数,并通过选择具有正实部的四元数有关单位四元数和3D旋转的更多详细信息,请参见[52.2.四元数乘积单位在标准深度学习模型中,它们的每个神经元可以表示为加权求和单元,即,、我们的QPU实现旋转鲁棒性。1.提案QPU的输出是包含旋转不变实部和旋转等变虚部的四元数。证据 这个命题直接由哈密尔顿积的性质所遵循。给定两个四元数[s1,v1]和[s2,v2],我们应用一个Hamilton乘积,即,[s1,v1]n[s2,v1]=[s0,v0].在向量部分上应用旋转R,我们有y =σ(N)wx+b),其中{w}N和b是学习的。i=1我我able参数,{xi}Nii=1是输入,σ(·)是非线性的。[s1,R(v1)][s2,R(v2)]=[s1s2− <$R(v1),R(v2)<$,(七)耳激活功能如前所述,当输入xi∈SO(3),这样的单元不能将输出y也保持在SO(3)上。为了设计一个保证SO(3)封闭性的计算单元,我们提出了一个基于上述四元数代数的替代计算单元。具体地,给定N个单位四元数{qi=[si,vi]}NR(v1)× R(v2)+s1R(v2)+s2R(v1)]。因为<$R(v1),R(v2)<$=v1,v2 R(v1)×R(v2)=R(v1×v2),我们有i=1表示3D旋转,我们可以定义一个加权链Hamilton产品作为ON[s1,R(v1)][s2,R(v2)]=[s1s2−v1,v2v,R(v1×v2+s1v2+s2v1)]=[s o,R(vo)].(八)y=qwi=qw1<$qw2<$. (5)第一章i=1i1 2N其中四元数q=[s,v]的幂,标量为w定义为[5]:.[cos(warccos(s)),vsin(warccos(s))],vf=0,因此,两个四元数的哈密尔顿积给出一个旋转不变实部和一个旋转等变像部。同样的性质也适用于加权哈密尔顿乘积链。上面的证明表明,qw:=[1,0],否则。简体中文SO(3)的群律自然地提供了旋转不变性和旋转等变性。没有强迫的技巧或手工制作的代表性策略,原则性的去-请注意,四元数的幂仅缩放旋转角度,不改变旋转轴。这里,我们用一个Hamilton乘积的加权链来代替加权求和,使得SO(3)在该运算下是闭的。基于Eq.(5)提出了四元数乘积单位:ON7307i=1i=1QPU的符号使其灵活地用于对旋转鲁棒性具有不同要求的广泛应用。图2进一步可视化了我们的QPU的属性。给定一个QPU,我们分别用一个人体骨架和它的旋转版本喂它我们比较了它们的输出,发现它们的输出的虚部继承了它们之间的旋转离散,而它们的输出QPU({qi}N;{wi}N,b)=i=1 qpow(qi;wi,b),(6)都是一样的7308T Ti=1NX321012332MT表示矩阵M的转置。因此,梯度1Y011.023对于qk,损失L被给定为32100.8Z123联系我们=M(A)M(B)N。(十一)(a) 原始(c)vo0.6qkRkL2016年10月20日,iqi)X0.4计算Bk和Ak,我们首先计算累积量,0.2逆Hamilton积C=(c,c,.,C),其中c =N*1 2∗0.0Z0 10 20 30 40 50 60四元数的指数j≤k q j. 然后Bk=ck 克兰克和k=ck N.我们注意到(b)旋转(d) vo(e) so梯度取决于累积的哈密尔顿积除了第k个四元数之外的所有四元数。这是-图2:QPU的旋转不变性和旋转等变性的说明。对于每个骨架,我们将其关节之间的相对旋转表示为单位四元数,并将这些四元数视为QPU的输入。到可视化旋转差异,对于(c)中的v0和(d)中的相应v0,我们通过红线将它们中的每一个(标准化为球体)与原点连接。2.4. QPU的反向传播QPU的 前 向 传 递 涉 及 N 个 独 立 的 权 函 数 和 一 个Hamilton乘积链。而权函数的梯度计算比较容易[5],而哈密尔顿乘积链的梯度计算却不简单。给定四元数{qi}N 首先,我们要区分不同的k-thN四元数qk的元素,其重N方向为链与标准加权求和单元不同的是,在标准加权求和单元中,通过加法的反向传播仅涉及微分变量而不涉及其他输入。相反,有趣的是,梯度是除了给定微分变量的项之外的所有其他输入到QPU的联合结果。3. 实施和进一步分析3.1. 基于QPU的神经网络如图1b所示,接收相同输入四元数的多个QPU形成全连接(FC)层。基于QPU的FC层的参数包括QPU中使用的权重和偏置。我们使用Xavier统一初始化[8]初始化它们。与实值加权求和不同,QPU本身是非线性的。因此,不需要引入额外的非线性激活函数。如前所述,QPU的输出Hamilton积Ni=1 1,表示为d(iqi)qk(·),省略-仍然是一个单位四元数,这样我们就可以连接多个为简单起见,将N设为。 由于Hamilton乘积是双线性的,我们有基于QPU的FC层顺序。因此,多个基于QPU的FC层的堆叠建立四元数O(1)A(1)A(2)A(3)A(我OJ K 2019 -05 -2200:00:00(Oj>k qj)多层感知器(QMLP)模型的三维旋转数据。注意,哈密尔顿积不是可交换的,即,、=ML(OJ K 1999年10月20日,中国人民解放军(Oj>k qj)h(九)q1q2一般来说,两个基于QPU的堆叠=M L(B k)M R(A k)h。其中h表示第k个输入四元数的一个小变量Nn,Bk=jkqj和Ak=j>kqj是第k个输入四元数前后的Hamilton积的链。
下载后可阅读完整内容,剩余1页未读,立即下载
cpongm
- 粉丝: 5
- 资源: 2万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 黑板风格计算机毕业答辩PPT模板下载
- CodeSandbox实现ListView快速创建指南
- Node.js脚本实现WXR文件到Postgres数据库帖子导入
- 清新简约创意三角毕业论文答辩PPT模板
- DISCORD-JS-CRUD:提升 Discord 机器人开发体验
- Node.js v4.3.2版本Linux ARM64平台运行时环境发布
- SQLight:C++11编写的轻量级MySQL客户端
- 计算机专业毕业论文答辩PPT模板
- Wireshark网络抓包工具的使用与数据包解析
- Wild Match Map: JavaScript中实现通配符映射与事件绑定
- 毕业答辩利器:蝶恋花毕业设计PPT模板
- Node.js深度解析:高性能Web服务器与实时应用构建
- 掌握深度图技术:游戏开发中的绚丽应用案例
- Dart语言的HTTP扩展包功能详解
- MoonMaker: 投资组合加固神器,助力$GME投资者登月
- 计算机毕业设计答辩PPT模板下载
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功