顶点小说 > 都市小说 > 重生学神有系统 >第233章 误差反向传播算法
    在原本的世界里,“误差反向传播算法”(error Back-Propagation,简称BP)出现得很早。

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

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

    到了1986年,Rumelhart、 Hinton 和 Williams三人发表了《Learning representations by back-propagating errors》,重新报道了这一方法。

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

    BP算法的本质,其实是LMS(Least Mean Square)算法的推广。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    投往1区期刊IEEE TEC(TRANSAS ON EVOLUTIONARY PUTATION,电气与电子工程师协会主办,进化计算杂志)的《马尔可夫随机场》;

    以及用小号Dr.X投稿给AMC的《论感知机的局限——异或问题的无解》。

    总共价值7个学术点。

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

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

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

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

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

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

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

    与此相比,脸皮什么的,一点都不重要。

    14个学术点的债务,才还了一半,安全起见,最好尽快将手头的论文扔出去才行。

    这需要等待“多层感知机”和“带隐藏层的神经网络”问世。

    可就这么干等着,始终拿不到准信,又让人心里有点不踏实。

    如果能让更多人关注到神经网络技术,应该可以提高一些论文的发表率吧?

    那么,如何引起别人关注呢?

    江寒琢磨了一下,别说,还真让他想到了一个办法。

    那就是参加机器学习方面的各种竞赛活动。

    只要在竞赛中拿到好名次,成为黑马,想让业界忽视“人工神经网络”都不太可能。

    说干就干,江寒马上打开电脑,上网查了起来,很快就找到了一大堆,各种各样的比赛都有。

    机器学习方面的竞赛,这些年里层出不穷。

    什么大学生信息技术创新应用大赛、国际大学生类脑计算比赛(iccbc)、国际智能语音及人工智能产品创新大赛、机器理解技术竞赛……

    此外还有各种计算机视觉、机器学习方面的顶级会议:cvpr,iccv,eips……

    不过,仔细一分析,江寒就发现,绝大部分都去不了。

    首先Pass掉举办地点在国外的比赛和会议,忒麻烦,一没护照,二没邀请函,怎么去?

    其次,凡是大学生专属的比赛,不走后门的话,目前也基本没法参加。

    最后,还要排除读理解、智能语音等领域的各种比赛。

    目前的人工神经网络,还处于雏形阶段,在图形、图像识别之外的领域,还打不过其他技术路线的成熟算法。

    而且,江寒本人对其他领域的涉猎也极为有限,去了也是白去,拿不到像样的成绩,怎么“一鸣惊人”?

    所以,最好是计算机视觉相关的比赛,而且比赛时间不能太遥远,同时影响力还不能太小……

    这样一来,江寒经过一番筛选之后,结果就发现……

    竟然一个能去的都没有!

    这就有点悲催了。

    不过幸好,还有各种互联网比赛。

    国内的网络巨头,如腾讯、滴滴、京东、蚂蚁金服、百度等都会定期举办各种机器学习方向的比赛。

    国外也有DataCastle、Datafountaia、Kesci、Codab、Crowdai等平台。

    其中阿里巴巴的天池平台和Kaggle分别是国内、国外的主流比赛平台。

    江寒登录各个官网一看,还真有两家平台,近期就将举办机器学习方向的比赛。

    其中距离最近的,是Kaggle面向全世界机器学习爱好者,举行的“全球机器学习业余爱好者大奖赛”。

    时间就在11月13日,比赛内容也是非常亲民的MNIST手写数字识别,赛事的规模和档次也足够。

    这简直就是为“人工神经网络”的初次亮相,量身定做的一场比赛。

    除了赛事被冠名以“业余”两字,让人感觉有点Low之外,一切都很颇费。

    再一看网站首页的公告,明天21点就截止报名了。

    江寒当机立断,马上点击了【报名】按钮,然后注册了个人信息。

    搞定了这件事之后,他就开始整理行装。

    前几天,老高打来电话,商量参加NOIP复赛的事情。

    今年的比赛时间定于11月10日,而今天已经是11月8日。

    两人约好了11月9日,也就是明天上午在学校集合,然后坐火车出发。

    NOIP的复赛,一般每个省只设一个考点。

    本省的考点就设在省会合江市。

    江寒没准备带太多东西,反正又不是很远的地方。

    而且,去了那边也是住宾馆,即使什么也不带,也能住得很舒服。

    所以,带上点儿毛巾、牙具什么的,就可以轻装上路了。

    正忙着,有人轻轻地敲了敲门。

    “进来吧。”江寒随口应了一声。

    房门轻轻推开,夏雨菲苗条的身影,轻盈地飘了进来。