美文网首页
mxnet之算法理解

mxnet之算法理解

作者: 黎明的烬 | 来源:发表于2018-05-23 08:43 被阅读0次

    1.为什么self.dense0(x)这个没有报错,已经在初始化之后指定了参数,而且nn.Dense反返回的是张量。

    Dense里面的参数到底是什么?

    不懂这种用法:不过可以理解为256是定义网络的节点个数,下面的x表示网络的输入

    mili的回答:dense0是一个class的实例。dense0(x)属于operator 重载,它实际上是调用dense0.forward(x)

    2.卷积神经网络的通道

    卷积操作的过程这个通道是如何变化的:【以mxnet中四维的矩阵为例】

    需要理解卷积操作,卷积核大小,作用(降维),在mxnet中的nn.conv2D函数中第一个参数channels是卷积的输出通道数,或者是nn.Convlution函数中的num-filter表示输出通道数;而通道有这样的性质:多个通道的时候,每个通道会  n有对应的权重;此处的权重形状与卷积核的形状相同【第一个参数是输出通道数,第二个参数是输入通道数,第三四个参数就是卷积核的宽、高】,按元素进行运算之后加和得到新的矩阵。且下一层卷积的输入通道数需要等于上一层卷积输出的通道数!

    3.在numpy和mxnet的ndaray中的数组都会出现轴的概念,axis

    牢记一点:只要按照axis=1的运算或者操作,那么axis=1的结果1轴的维度必然改变。从两个2×3变成4×3的矩阵

    3.GooLeNet的组成:

    goolenet的图 Inception的组成

    1*1表示提取最细的信息,3*3提取稍大块的信息,5*5提取更大的信息;maxpool以里外一种方式来取信息;

    绿色的卷积是为了转换输入,改变通道数;使得最后可以按照通道数concat在一起

    4.反向传播和正向传播【相辅相成,反向传播有时候需要正向传播的值  】

    正向传播的计算图

    前向传播:假设输入X形状是x×1,h形状是h×1,o的形状是y×1,那么可以知道w(1)的形状是h×x;

    其中h的函数是对结果z,按照元素来进行操作!

    s是正则化项:w的各个元素平方和,j是损失和正则化的加和,也就是总误差!

    反向传播:从最后开始,就是先s和L,再o。。。。。

    左边是反向传播,对各求导的式子

    ①让J 对 s 和 L求导,如图

    ②对o求导;利用①

    ③对w(2)求导,其中h的转置是因为其它参数的形状固定了,所以需要将h转置

    ④对z求导,利用到了元素乘法,即对两个矩阵对应的元素相乘得到的。

    在循环神经网络上运用反向传播:

    循环神经网络的反向传播

    其中L对Ht的求导函数的通项公式是:通过递推公式进行归纳!

    相关文章

      网友评论

          本文标题:mxnet之算法理解

          本文链接:https://www.haomeiwen.com/subject/ylaftftx.html