- 深度学习程序设计实战
- 方林 陈海波编著
- 569字
- 2025-02-25 14:02:53
2.3 结束语
本章从求解函数最小值和在特定值下的解出发,介绍了导数、梯度下降法和反向传播算法;介绍了全微分公式和链式法则在反向传播算法中的应用,并由此引出了表达式的概念,给出了对表达式自动求值、求偏导的方法,最终导出能够求解任意方程组的解或者任意方程组最小值的通用框架。这是我们走向深度学习和人工智能框架的第一步。只有真正理解了这些基本概念和基本算法,才能够理解深度学习和人工智能框架,理解它们背后深刻的数学本质。
[1] 后面我们会看到,函数在定义域区间内必须处处可导,这个要求可以进一步降低为处处连续。
[2] 当一个y对应多个x时,只有其中一个被求出,具体是哪个取决于我们选定的初值。一般情况下,离初值最近的x将被求出。
[3] 之所以要对log()函数进行修改,是因为对数操作没有对应运算符。用户使用对数时直接调用log()即可。
[4] Python语法中,形式参数∗∗env表示env是一个字典(dict),称为参数字典。函数被调用时,实参列表中有名字的参数及其对应的值会被加入这个字典中,传给env。例如,假设我们调用exp.eval(x=123,y=456),则形参env={′x′:123,′y′:456}。 env中的键都是字符串,不是变量x或者y。
[5] 不同于上节讲的eval()函数,该函数是类的成员函数,且是我们自己定义的;上节讲的eval()函数是Python内部定义的全局函数。
[6] 当然,这不是什么本质区别。我们可以很容易把Exp扩展到向量和高维矩阵上。