神经网络学习中的导数与梯度下降
1. 导数的直观理解
想象你面前有一个纸板箱,箱子上有两个小孔,分别伸出蓝色和红色的圆形杆。蓝色杆伸出箱子 2 英寸,红色杆伸出 4 英寸,且这两根杆是相连的,但连接方式未知,需要通过实验来找出它们的关系。
当你将蓝色杆向箱子内推进 1 英寸时,红色杆也会向箱子内移动 2 英寸;把蓝色杆向外拉出 1 英寸,红色杆同样会向外拉出 2 英寸。由此可以发现,红色杆移动的距离是蓝色杆的两倍,即存在关系: red_length = blue_length * 2 。
这里就引出了导数的概念,导数是指“当拉动一个部分时,另一个部分移动多少”。在红蓝杆的例子中,“拉动蓝色杆时红色杆移动多少”的导数是 2,这是由上述公式所决定的乘法关系。
导数总是存在于两个变量之间,它表示当改变一个变量时,另一个变量的变化情况。如果导数为正,两个变量的变化方向相同;若导数为负,两个变量的变化方向相反。例如,红色杆与蓝色杆长度的导数为 2,意味着它们变化方向相同,且红色杆的移动量是蓝色杆的两倍;若导数为 -1,则红色杆会向相反方向移动相同的距离。
导数的作用总结如下:
| 导数正负 | 变量变化关系 |
| ---- | ---- |
| 正 | 两个变量变化方向相同 |
| 负 | 两个变量变化方向相反 |
2. 从函数图像理解导数
除了通过变量间的变化关系理解导数,还可以从函数图像的斜率角度来认识。以函数 error = ((input * weight) - goal_pred) ** 2 为例
超级会员免费看
订阅专栏 解锁全文
961

被折叠的 条评论
为什么被折叠?



