QUARTERNION RECURRENT NEURAL NETWORKS

文章来源:
Parcollet T, Ravanelli M, Morchid M, et al. Quaternion Recurrent Neural Networks[C]//International Conference on Learning Representations. 2018.
在四元数密集层(desne layer)中,所有参数都是四元数,包括输入、输出、权重和偏移。QRNN的方法是本文提出的,在全连接的推论过程中,使用了与普遍操作不同的定义过程,之前的可以理解为矩阵相乘,这里为四元数矩阵的哈密顿乘积(矩阵中的每一项是一个四元数)。
如果输入向量为 N N N,输出向量为 M M M,维度可以被划分为四个部分:第一个部分是 r r r, 第二个部分是 x i x_i xi,第三个部分是 y j y_j yj, 第四个部分是 z k z_k zk。四元数被表示为:
Q = r 1 + x i + y j + z k Q=r1+x_\mathbf{i}+y_\mathbf{j}+z_\mathbf{k} Q=r1+xi+yj+zk
四元数的共轭表示为:
Q = r 1 − x i − y j − z k Q=r1-x_\mathbf{i}-y_\mathbf{j}-z_\mathbf{k} Q=r1xiyjzk
两种方法以矩阵方式表示四元数。第一种是通过二阶复数矩阵。第二种是以四阶实数矩阵表示四元数:
Q mat = [ r − x − y − z x r − z y y z r − x z − y x r ] Q_{\text {mat}}=\left[\begin{array}{cccc} r & -x & -y & -z \\ x & r & -z & y \\ y & z & r & -x \\ z & -y & x & r \end{array}\right] Qmat= rxyzxrzyyzrxzyxr
标准化的四元数表示为:
Q ◃ = Q r 2 + x 2 + y 2 + z 2 Q^\triangleleft = \frac{Q}{{\sqrt {{r^2} + {x^2} + {y^2} + {z^2}} }} Q=r2+x2+y2+z2 Q
两个四元数的哈密顿积表示为:
Q 1 ⊗ Q 2 = ( r 1 r 2 − x 1 x 2 − y 1 y 2 − z 1 z 2 ) + ( r 1 x 2 + x 1 r 2 + y 1 z 2 − z 1 y 2 ) i + ( r 1 y 2 − x 1 z 2 + y 1 r 2 + z 1 x 2 ) j + ( r 1 z 2 + x 1 y 2 − y 1 x 2 + z 1 r 2 ) k \begin{aligned} Q_{1} \otimes Q_{2}=&\left(r_{1} r_{2}-x_{1} x_{2}-y_{1} y_{2}-z_{1} z_{2}\right)+\left(r_{1} x_{2}+x_{1} r_{2}+y_{1} z_{2}-z_{1} y_{2}\right) \boldsymbol{i}+\\ &\left(r_{1} y_{2}-x_{1} z_{2}+y_{1} r_{2}+z_{1} x_{2}\right) \boldsymbol{j}+\left(r_{1} z_{2}+x_{1} y_{2}-y_{1} x_{2}+z_{1} r_{2}\right) \boldsymbol{k} \end{aligned} Q1Q2=(r1r2x1x2y1y2z1z2)+(r1x2+x1r2+y1z2z1y2)i+(r1y2x1z2+y1r2+z1x2)j+(r1z2+x1y2y1x2+z1r2)k
输入是一个四元数,输出是一个四元数,权重是四元数,偏置也是四元数
在这里插入图片描述
四元数有三个虚部,并且 i 2 = j 2 = k 2 = i j k \mathbf{i}^2=\mathbf{j}^2=\mathbf{k}^2=\mathbf{ijk} i2=j2=k2=ijk
依据RNN的前向传播(注意拼接和加)表示为,
h t = α ( W h h h t − 1 + W h x x t + b h ) h_{t}=\alpha\left(W_{h h} h_{t-1}+W_{h x} x_{t}+b_{h}\right) ht=α(Whhht1+Whxxt+bh)
四元数的前向传播表示为:
h t = α ( W h h ⊗ h t − 1 + W h x ⊗ x t + b h ) h_{t}=\alpha\left(W_{h h} \otimes h_{t-1}+W_{h x} \otimes x_{t}+b_{h}\right) ht=α(Whhht1+Whxxt+bh)
一个四元数的激活函数表示为:
α ( Q ) = f ( r ) + f ( x ) i + f ( y ) j + f ( z ) k \alpha(Q)=f(r)+f(x) \mathbf{i}+f(y) \mathbf{j}+f(z) \mathbf{k} α(Q)=f(r)+f(x)i+f(y)j+f(z)k
f ( ⋅ ) f(\cdot) f()是一个标准的激活函数。

四元数的几何意思

为什么要用四元数?

https://zhuanlan.zhihu.com/p/27471300?group_id=862339882582945792

向量之间具有内积和外积之分,这种乘法是不完美的,因为不满足群条件。
四元数可以解决万向节死锁问题。

https://blog.csdn.net/junshen1314/article/details/43085003

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值