对向量,矩阵,张量求导
来源:互联网 发布:python自然语言分析 编辑:程序博客网 时间:2024/05/18 16:14
对向量,矩阵,张量求导
- 对向量矩阵张量求导
- 展开公式到更详细的求和等式
- 移除求和符号
- 处理两维与更高维度
- X为矩阵时
英文原文:Vector, Matrix, and Tensor Derivatives.
在看RNN处理语言序列时发现其矩阵在计算时处理的很好,包括如何存储,所以学习了一下。。
展开公式到更详细的求和等式
举例: 假设我们有一列长度为C的向量
假设我们想要计算Y对X的导数,由于y有C个组成,x有D个组成,我们将会得到C*D个计算值,我们开始计算其中的一个,我们将y3对x7求导
可以看到这就是一元对一元的求导。之后要做的是写下计算
这里我们已经计算了最初的计算等式,这使得计算期望的梯度更简单。
移除求和符号
之后最好将求和展开来写确保everything is right
当然,根据前面要求
通过集中在y的一个组成和x的一个组成上,我们已经尽可能的对计算进行了简化,在之后的学习中,当你感到困惑的时候,它能够通过到这种最基本的公式中去看哪里出了错,帮助你快速解决一个问题。
回忆我们最初的目标是为了计算y的每一个组成的导数根据每一个x的组成,并且我们注意到,这会有C*D个组合,他们可以被写成
其叫做jacobian矩阵,但是这个术语对我们的目的来说不重要,注意到
这意味着偏微分矩阵是:
当然这就是W本身
因此,在这个例子之后,我们总结
处理两维与更高维度
让我们考虑另一个相关的问题,计算
在这种情况下,y沿着一个坐标方向变化,而W沿两个坐标方向变化。 因此整个导数很自然地包含在三维阵列中。 由于不清楚矩阵乘法和矩阵操作在三维阵列上是如何定义的,定义在三维阵列上,所以我们避免 “三维矩阵”这个词
处理三维阵列时,尝试找到一种显示它的方式可能比它的价值更麻烦。相反,我们应该简单地将我们的结果定义为一个可以用于计算所需三维的任何元素的数组。
举例子,对于行向量的形式
让我们写下一个等式,来表达y3是怎么来的,
然而,我们可以到,
换句话说
然而,y3关于W第三列的部分导数是非零的,如
通常,当y的索引等于w第二个索引分量时候,导数就是非零的,否则为0,我们可以写成:
但是第三列的元素可以为0,如果我们让F代表y对W的导数
然后
然后其他的元素全是0,
最后我们定义一个新的二维矩阵,G
所有F的信息都包含在了G当中,没有冗余位子的F矩阵就是个二维的,不是个三维的。通过一种紧凑的方式代表微分数据的重要信息对于神经网络的实施很关键。
X为矩阵时
重复一些之前的例子是一个好习惯,让我们还是以行向量为例,假设,X的每一个个体都是一个长度为D的行向量,并且X是一个N行D列的二维矩阵,W将是一个D行C列的矩阵(跟之前一样)Y,可以表示为:
可以看到Y也是个矩阵,N行,C列,因此,每一行Y都与X的一行相关.我们可以写出:
我们可以看到,
除非a=c,其他都为0(导数是一个四维的。。。。)因为,y只由相应行的x所计算。
不同行的Y与X的组合之间的微分都是0
进一步,我们可以看到
实际上,矩阵W保存了这些部分作为他自己,我们只需要记住索引就能获得对应位置导数
5链式法则结合矩阵向量
现在让我们看一个链式法则的例子,假设,x和y都是列向量
试着计算y对x的导数,我们可以简单的观察到V和W的乘积就是另外一个矩阵,我们叫他U,因此
让我们定义中间结果:
然后
然后我们可以写出:
让我们用之前的方法一次分析一个,对于y的一个组成和x的一个组成,有:
但是我们如何想i想的描述等式右侧的乘积,链式法则的想法是,将y对每一个中间变量的导数乘以每一个中间变量对x的导数,我们假设中间变量m有M个组成,则可以写出:
回忆我们之前一个向量对另一个向量求导的结果
所以我们可以写
- 对向量,矩阵,张量求导
- 向量,矩阵,张量求导
- 矩阵对向量求导
- 向量,矩阵,张量----基本概念
- 向量对向量求导
- 矩阵(向量)求导
- 矩阵、向量求导法则
- 矩阵-向量求导法则
- 矩阵、向量求导法则
- 矩阵向量求导法则
- 矩阵、向量求导法则
- 矩阵、向量求导法则
- 矩阵、向量求导法则
- 矩阵、向量求导法则
- 矩阵 向量 求导运算
- 矩阵、向量求导法则
- 矩阵、向量求导法则
- 矩阵、向量求导法则
- VCL多重继承
- hadoop2.7.3 eclipse环境搭建
- 文本处理命令
- 数组一切操作
- Unity基础.003MonoBehavior常用事件函数
- 对向量,矩阵,张量求导
- 上楼梯(动态规划)
- 英文单词统计程序
- iptables
- tensorflow初学之SGD
- LeetCode-394. Decode String (JAVA)解码字符串
- Item39 Consider void futures for one-shot event communication
- Intent和IntentFilter
- 设计模式12-断路器模式