You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

单神经元神经网络中derivative变量的来源及推导逻辑咨询

单个神经元中导数的推导与逻辑解析

核心目标:最小化平方误差损失

这段代码是用梯度下降法优化单个线性神经元的权重,目标是让预测值尽可能接近目标值。我们选择**平方误差(sq_error)**作为损失函数,因为它连续可导,适合梯度下降,还能对大误差施加更大惩罚。

导数的具体推导

我们要求的是平方误差损失函数关于权重weight的导数——只有知道损失随权重变化的斜率,才能确定该往哪个方向调整权重来减小误差。一步步拆解:

  1. 预测值公式:prediction = weight * input(单个线性神经元的输出,无激活函数)
  2. 原始误差:clear_error = prediction - goal(预测与目标的差值)
  3. 平方损失函数:sq_error = (prediction - goal)² = clear_error²(我们要最小化的目标)

用链式法则对weight求导:

d(sq_error)/d(weight) = d(sq_error)/d(clear_error) * d(clear_error)/d(prediction) * d(prediction)/d(weight)
  • 第一项:d(sq_error)/d(clear_error) = 2 * clear_error(x²的导数是2x)
  • 第二项:d(clear_error)/d(prediction) = 1(clear_error是prediction减常数goal,导数为1)
  • 第三项:d(prediction)/d(weight) = input(prediction是weight乘常数input,导数为input)

三项相乘得到完整导数:2 * clear_error * input

为什么代码里是input * clear_error?

代码里省略了系数2,是因为这个系数可以合并到学习率alpha中——alpha是控制权重更新步长的超参数,2*alpha依然是一个可调整的小常数,不影响梯度下降的方向(只影响步长),所以为了简化计算就直接省略了,本质逻辑和完整导数一致。

权重更新的逻辑

梯度的方向是损失函数增大的方向,所以用weight = weight - derivative * alpha,就是沿着损失减小的方向调整权重,每次迭代都让权重更接近最优值。

内容的提问来源于stack exchange,提问作者GreenOwl

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.29 03:13:14