关键观点
神经网络本质上是数学表达式
神经网络接收数据和参数作为输入,经由加法、乘法、非线性等运算产生预测,再由损失函数评价预测质量。它并不是独立于普通微积分的特殊对象,而是一类结构化、规模较大的复合函数。理解这一点后,训练问题就…展开观点收起观点
神经网络接收数据和参数作为输入,经由加法、乘法、非线性等运算产生预测,再由损失函数评价预测质量。它并不是独立于普通微积分的特殊对象,而是一类结构化、规模较大的复合函数。理解这一点后,训练问题就可以转化为计算损失对各参数的导数。
为什么重要: 这种视角消除了神经网络的神秘感,并把模型训练统一为可组合函数的求导与优化问题。
支撑证据
neural networks are just mathematical expressions
导数表示局部敏感度
导数回答的是:当某个输入沿正方向发生极小变化时,输出会上升还是下降,以及变化速度有多大。教程用有限差分近似导数,并通过二次函数和多输入表达式验证符号与数值。数值差分也可以作为梯度检查,验证手写…展开观点收起观点
导数回答的是:当某个输入沿正方向发生极小变化时,输出会上升还是下降,以及变化速度有多大。教程用有限差分近似导数,并通过二次函数和多输入表达式验证符号与数值。数值差分也可以作为梯度检查,验证手写反向传播是否正确。
为什么重要: 只有正确理解梯度的方向和大小,才能理解参数更新为何能够改变损失。
支撑证据
how does the function respond with what sensitivity does it respond what is the slope at that point