前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【思考】为什么我们需要一个比反向传播更好的学习算法?

【思考】为什么我们需要一个比反向传播更好的学习算法?

作者头像
WZEARW
发布2018-04-13 15:58:35
1.3K0
发布2018-04-13 15:58:35
举报
文章被收录于专栏:专知专知

【导读】如今,反向传播算法(Backpropagation)可以说是神经网络模型的标配学习方法,可以在网络的学习过程中计算损失函数的偏导数,从而进一步用随机梯度下降等算法来求解参数。但是,本文作者Kailash Ahirwar表示,我们在深度学习过程中需要一个比反向传播更好的学习算法。为什么呢?因为反向传播有种种缺陷:速度慢、存在梯度消失和爆炸问题,容易出现过拟合和欠拟合现象。本文并未提出一个新的替代方法,旨在揭露反向传播的不足,希望能有助于读者的理解。

Why we need a better learning algorithm than Backpropagation in Deep Learning

我们都知道,反向传播是一个革命性的学习算法。它能帮助我们训练几乎所有的神经网络架构。 在GPU的帮助下,反向传播将训练时间从几个月缩短到了几个小时/几天。 它允许对神经网络进行有效的训练。

它之所以被广泛使用我认为有两个主要原因:(1)我们没有比反向传播更好的方法,(2)它能起作用。 反向传播是基于微分的链式规则(chain rule ofdifferentiation)。

问题在于反向传播算法本身的实现。 要计算当前层的梯度,我们需要知道下一层的梯度,所以当前层就被锁定了,因为我们无法计算当前层的梯度,除非我们有下一层的梯度。如果我们的网络中有1000个层,第一层必须等到最后一层梯度计算完之后才能更新权重。 因此,神经网络中最初的几层不能正确更新。有时候,在Sigmoid激活函数的情况下,当梯度传播回来时,梯度将会消失或爆炸。

当我们做决定的时候,我们根据当前的观察和以前的学习来做出决定。 目前的神经网络或深度学习算法与我们做决定的方式并不一样。我们是根据经验来做决定的,例如,当我们走路时,我们使用视觉,音频等感官输入来做出决定。我们也从一个任务学习其他任务。

反馈算法有以下限制:

  • 它很慢,所有先前的层都会被锁定,直到计算出当前层的梯度;
  • 存在梯度消失和梯度爆炸问题;
  • 存在过拟合和欠拟合问题;
  • 它仅考虑预测值和实际值来计算误差并计算与目标函数相关的梯度,部分梯度与反向传播算法有关;
  • 它没有考虑类间的空间相关性和空间不相关性,而只是计算与目标函数有关的错误(部分与Backpropagation算法有关);

DeepMind的合成梯度(syntheticgradients)是一个变通方法,但它称不上一个解决方案。 在我看来,我们必须从头开始思考,设计一个新的学习算法,可以有效地学习,并可以帮助我们的网络实时学习。

关于作者(Kailash Ahirwar):

https://towardsdatascience.com/@kailashahirwar

我是MateLabs的联合创始人,在那里我们建立了Mateverse,一个ML平台,它使每个人都可以轻松地构建和训练机器学习模型,而无需编写一行代码。

参考链接:

https://towardsdatascience.com/why-we-need-a-better-learning-algorithm-than-backpropagation-in-deep-learning-2faa0e81f6b

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2018-02-06,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 专知 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档