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

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



