返回第233章 误差反向传播算法(1 / 2)一碗酸梅汤首页

关灯 护眼     字体:

上一章 目录 下一页

在原本的世界里,“误差反向传播算法”出现得很早。

1974年,哈佛大学的ulerbs,在博士论文中首次发明了算法,可惜没有引起重视。

1982年,vidrker重新发现了算法,然而,仍然没有太大的反响。

到了1986年,uelhrt、intn和illis三人发表了erningrepresenttinsbybkprpgtingerrrs,重新报道了这一方法。

从那之后,人工神经网络中的误差反向传播学习算法,才得到了应有的重视,并逐渐广泛应用起来,奠定了神经网络走向完善和实用的基础。

算法的本质,其实是算法的推广。

试图最小化网络输出的均方差,用于激活函数可微的感知机的训练。

只要将推广到由非线性可微神经元组成的多层前馈神经网络,就得到了算法。

因此,算法也被称为广义规则。

算法有很多优点,理论依据坚实、推导过程严谨、物理概念清楚、通用性强

可以说,它为多层神经网络的训练与实现,提供了一条切实可行的解决途径,功不可没。

但是也要看到,也有着自身的局限性,比如收敛速度缓慢、易陷入局部极小等。

慢点倒还不怕,可以通过调整超参数,或者升级硬件性能来解决。

可一旦陷入局部最优,就有可能无法得到全局最优解,这才是真正要命的问题。

有时可以通过选择恰当的学习速率,有限度地改善这个问题。

也有些时候无法彻底避免,只能“凑合着用”。

幸运的是,尽管理论上存在着种种不足,但在绝大多数情景下,算法的实际表现都还不错。

算法的基本思想,是将学习过程分为两个过程。

在进行训练时,首先正向传播。

将数据送入输入层,然后从前往后,送入各个隐藏层进行处理,最后将结果送到输出层,得到计算结果。

若计算结果与期望不符,则开始进行误差反向传播。

在这一步,通过损失函数计算实际输出与期望输出的误差,然后从后往前,运用链式法则,逐层计算每个参数相对于误差的偏导数。

这个过程就是反向传播,从输出层开始,一直进行到输入层为止。

主要目的是将误差分摊给各层所有单元,从而获得各层单元的误差信号。

然后以此为基准,调整各神经元的权重和偏置,直到网络的总误差达到精度要求。

江寒只花了3天,就理清了算法的思路,又花了两天,就将论文写了出来。

这篇论文用到的数学公式相当多,但写作的困难程度其实也就那样。

复合函数连续求偏导,任何学过一点高数的人,都能很熟练地完成。

而且,江寒重生前,在算法上着实下了点功夫,理解得还算透彻。

因此很轻松就将其复原了出来。

写完神经网络训练中的误差反向传播算法之后,江寒就开始琢磨,如何将手里的这一批论文发表出去。

也不知道怎么回事,那两篇投往三区期刊的“多层感知机”和“人工神经网络”论文,迄今没有任何回音。

既没有拒稿,也没有进入同行评议。

如果不是对投稿系统多少有点了解,江寒差点就要怀疑,编辑是不是根本没看到自己的论文?

目前已经投稿出去的十几篇论文里,已经确定发表的,只有3篇。

分别是:投往4区期刊的论如何高效判定数据是否线性可分

投往1区期刊的马尔可夫随机场

以及用小号r投稿给的论感知机的局限异或问题的无解。

总共价值7个学术点。

江寒的系统上,现在很明确地显示着学术点:14,7。

从这也能看出,用小号投稿是完全没问题的。

其余的论文大部分都在审稿中,有的已经进入了同行评议环节,但迟迟没有进入下一步。

也有几篇关于“感知机”应用的水货论文,没能通过同行评议,被杂志社拒稿了。

江寒随便改改,然后国内拒稿的,投给了国外,国外打回来的,投给国内。

反正不管怎么样,但凡有一点机会,都要试一试。

万一发表了,学术点它不香吗?

『加入书签,方便阅读』

上一章 目录 下一页