Calculus on Computational Graphs: Backpropagation
计算图上的微积分:反向传播(翻译)
作者:Chris Olah’s
英文地址:http://colah.github.io/posts/2015-08-Backprop/
描述:
小亮最近在看以色列大佬的NLP书籍《Neural Network Methods for Natural Language Processing 》这里是第五章里面的内容中的推荐部分:关于微分的资料,详情请见下文!
这里是小亮的blog地址:https://legendtianjin.github.io/NextLegend.github.io/
笔者信息:Next_Legend QQ:1219154092 机器学习 深度学习 模式识别 自然语言处理 计算机视觉
——2018.9.5于天津大学
一、介绍
反向传播是一种关键的算法,它可以使训练深度模型在计算上易于处理。对于现代神经网络来说,相对于一个简单的实现,它可以使梯度下降的训练速度达到1000万倍。这就是一周训练和用20万年时间训练的模型之间的区别。
除了在深度学习中使用之外,反向传播在许多其他领域是一个强大的计算工具,从天气预报到分析数字稳定性,它只是在不同的领域用不同的名字。事实上,该算法在不同的领域至少被重新改造了几十次(见Griewank(2010))。一般,应用程序独立,名称是“反向模式区分”。
从根本上说,这是一种快速计算微分的技术。在你的包里,这是一个很重要的技巧,不仅在深度学习中,而且在各种各样的数字计算环境中。
二、计算图
计算图是一种思考数学表达式的好方法。例如,考虑表达式e =(a + b)∗(b + 1)。这里有三个操作:两个加法和一个乘法。为了帮助我们讨论这个问题,让我们引入两个中间变量,
c和d,所以每个函数的输出都有一个变量。我们现在有:
c=a + b
d=b + 1
e=c * d
为了创建