优雅谈论大模型8:神经网络与矩阵

向量与矩阵

上个章节的神经网络是为了解Transformer或者Mamba做好铺垫,在和后辈交流过程中发现有个障碍,那就是向量和矩阵。其实向量和矩阵的表达方式不是所有人都很习惯。在继续下面的章节之前小编认为有必要将向量、矩阵和神经网络做下补充解释。

向量是具有方向和大小的量,用箭头表示。向量具有下面的性质:

有好事者翻出来内积的几何含义,其实就是两个向量的长度乘以它们的夹角,那么上面代数的表达方式和下面的带有cosθ的表达式一样么。是一样的,推导过程略过一千字。

下图则为矩阵运算,请读者快速温习一下。m*n和n*p的矩阵相乘之后一定是m*p维度的。

神经网络的矩阵表示

先来看一个例子,上图一个简单的神经网络,这套变量的标识方式小编比较认可,上标l代表第几层,下面代表某一层的第几个神经元。w的两个下标mn分别代表第m个输出节点和第n个下游节点的权重。一般用z代表没有经过激活函数的数值,而a(ctivation)代表经过激活函数的输出。

上图是层1到层2的计算公式,可以将这样的运算直接转化为矩阵表示。矩阵表达方式十分简洁清爽,而下图中的w矩阵就是传说中的参数,这些矩阵通过样本训练而得到。

于是到了这里,基本上从较为抽象的角度,将基于神经网络的大模型做了简单的抽象。大模型其实就是多层级深度的神经网络,通过不断地累加参数,不断地优化结构,不断地调整样本,让神经网络的信息编码和激活更加的合理和高效。从另一个侧面来看深度学习,其实也是一种复杂的概率转移矩阵。

损失函数

为了评估每个训练之后,真实值和预测值之间的差异,需要一个函数来评估差异化。这个函数有很多种称呼,比如“误差函数”、“损失函数”、“代价函数”等。代价函数是深度学习的重要组成部分,因为它提供了神经网络在给定任务上执行情况的衡量标准。训练深度学习模型的最终目标是最小化损失函数,这意味着模型能够做出更准确的预测并更好地泛化到新数据。

例如在回归问题中采用的MSE来评估代价函数。

假定在某个批次的数据输入,得到预测数据

[7.6, 8.0, 6.8, 8.9, 7.2, 8.3, 7.0, 8.8, 7.0, 7.6]。

而真实的数据为

[7.8, 8.2, 6.5, 9.1, 7.0, 8.5, 6.9, 8.7, 7.2, 7.8]。

两者其实相当的接近。

采用MSE(Mean squared error loss)的评估模式,MSE=(1/n)*Σ(yi - ŷi)^2。yi为正确值,ŷi为预测值,cost = (1/20) * Σ(yi - ŷi)^2 = 0.045

损失函数一方面指导训练过程,用于计算预测输出与真实输出之间的误差。神经网络使用该误差信号来调整其权重和偏差,以减少损失。这个过程称为反向传播,它允许神经网络从错误中学习并在未来做出更好的预测。另一方面它有助于避免过度拟合,当模型的过度拟合则无法泛化到新数据。通过选择合适的损失函数,可以防止过度拟合并确保模型能够很好地泛化到未见过的数据。最后损失函数的选择会对模型的性能产生重大影响。通过使用相同损失函数比较不同模型的性能,可以确定哪个模型对于给定任务最有效。深度学习的不同类型任务则采用不同的损失(评估)函数。下面展示的这些代价函数将会在LLM背后的基础模型专栏中展开详细的讲解。

  • 回归问题一般为均方误差(MSE)、平均绝对误差(MAE)损失、Huber loss和Log-cosh loss。

  • 二元分类问题一般为Binary cross-entropy loss二元交叉熵损失、Hinge loss、Focal loss和Dice loss。

  • 多类分类问题则为分类交叉熵损失、稀疏分类交叉熵损失、Kullback-Leibler (KL)散度损失和Sparsemax loss。

  • 自动编码器问题:均方误差(MSE)损失、二元交叉熵损失和Perceptual loss感知损失。

  • 生成对抗网络损失则一般采用Adversarial loss、L1 or L2 loss、Wasserstein loss和Least squares loss。

  • 物体检测问题对应的有Intersection over Union (IoU) loss、Focal loss、Smooth L1 loss、GIoU loss。

  • Embedding问题则采用Triplet loss、Contrastive loss、Center loss和Angular loss。

  • 24
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值