深度学习入门 & 王木头学科学

发布时间 2024-01-05 15:48:29作者: 代码改变头发

感知机 perceptron

  • 线性函数 + 阶跃函数; 分界线 + 判断处于分界线的哪一边.

  • 感知机的提出: 解决非解析问题的简单模板.

  • 感知机的缺陷: 异或问题. 通过增加层, 提高维度.

  • 多层感知机与神经网络的区别: 激活函数是否连续. 连续光滑的函数是学习的一个关键要素.

损失函数

为何需要损失函数

既然通过预测精度即可衡量模型的好坏, 为何还要引入损失函数呢?

这是因为模型在学习的过程中, 需要导数(确切来讲是梯度,即偏导数向量). 神经网络的学习过程 -- 更新参数的过程 -- 使用梯度随机下降法,
此时一个光滑的损失函数(以参数作为输入, 衡量模型好坏)非常重要. 因为光滑的函数意味着, 我们修改一点参数, 损失也会改变一点(连续性),
反之亦然.

如果使用预测精度,假设某时刻预测精度为\(20%\), 微调参数,很可能识别结果不变,即预测精度仍是\(20%\), 此时参数的导数为\(0\).
即使精度出现变化, 也是离散跳变,无法计算导数. 这也是神经网络不使用感知机中的阶跃函数的原因.

可以用一个实际场景理解: 在学习投篮时,好在物理世界的投篮过程是光滑抛物线,当你第一次投篮太近时,通过增加一点投篮力度,
你可以预期投篮会朝向篮筐一点距离. 通过不断微调投篮力度、方向,最终你能够学习投篮.

如何设计损失函数