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

news2024/9/24 5:21:04

向量与矩阵

上个章节的神经网络是为了解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。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1678077.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【完美恢复】修复计算机中丢失emp.dll的多个详细方法

最近,在尝试运行某款游戏时,我遭遇了一个令人头痛的问题——“emp.dll文件丢失”。这个错误通常意味着游戏的某个关键文件没有被正确加载或已损坏。以下是我解决问题的步骤和一些心得体会,希望对遇到类似问题的玩家们有所帮助。 emp.dll是一…

BI软件超实用功能揭秘

面对海量数据、复杂的指标计算和分析,BI软件都能轻而易举地达成,并且所用时间远远低于一般的分析软件。这背后自然是得益于一众强大的功能,接下来就来一起了解下BI软件那些超实用的功能。 1、标准化方案,更新数据源,立…

Anaconda下载安装

看到这篇文章的同学们,说明你们是要下载Anaconda,这篇文章讲的就是下载安装教程。 Anaconda下载网址: Download Now | Anaconda 根据我们需要的系统版本下载,我的电脑是window,所以选择第一个,如下图&am…

MIT 6.5840(6.824) Lab2:Key/Value Server 设计实现

1 实验要求 在本次 Lab 中,你将在单机上构建一个键/值服务器,以确保即使网络出现故障,每个操作也只能执行一次,并且操作是可线性化的。 客户端可以向键/值服务器发送三个不同的 RPC: Put(key, value) 、 Append(key,…

项目中使用Elasticsearch的API相关介绍

项目中使用Elasticsearch的API相关介绍 0、域映射类型 text:会分词,不支持聚合对当前搜索关键词,先自身分词,分成多个词,然后去一个一个的词去利用倒排索引去查询es索引库一般应用在搜索关键字匹配的字段的类型。 商…

如何解决 CentOS 双网卡配置的内外网通信问题?

🐯 如何解决 CentOS 双网卡配置的内外网通信问题?🐾 博主猫头虎的技术世界 🌟 欢迎来到猫头虎的博客 — 探索技术的无限可能! 专栏链接: 🔗 精选专栏: 《面试题大全》 — 面试准备的…

Spring学习①__Spring初识

Spring Spring初识一、框架二、Spring(春天)简介Spring官网Spring是什么?Spring介绍拓展 Spring初识 一、框架 ​框架就是一些类和接口的集合,通过这些类和接口协调来完成一系列的程序实现。 JAVA框架可以分为三层: 表示层业务…

【网络安全】【Frida实战案例】某图xx付费功能逆向分析(二)

文章目录 一、目标应用二、环境三、步骤1、重打包2、运行打包后apk3、找到签名信息(1)、查看apk签名信息(2)、hook Android方法获取apk签名信息(3)、转为md5验证 4、hook apk签名信息 四、总结五、相关源码…

【稳定检索|投稿优惠】2024年医学、药学与生物工程国际会议(ICMPB 2024)

2024年医学、药学与生物工程国际会议(ICMPB 2024) 2024 International Conference on Medicine, Pharmacy, and Biotechnology 【会议简介】 2024年医学、药学与生物工程国际会议将于长沙召开。此次会议将汇聚全球医学、药学与生物工程领域的顶尖学者…

【BOSS直聘爬取系统功能介绍】

完整代码关注公众号 : 爬取网站:BOSS直聘:https://www.zhipin.com/ 难点 1. boss直聘不论什么岗位都只会展示10页数据,就算在网页里加到了11,内容也会和10一样。 2.多次访问会有验证码需要登录,这部分需…

香港电讯高效网络,助力新消费品牌抓住拓展香港市场新风口

自今年初香港与内地全面恢复通关,两地同胞跨境消费热潮持续升温。港人“北上”消费掀起风潮的同时,香港市场也成为内地新消费品牌拓展的热门目标。从糕点、茶饮、连锁餐饮到服饰,越来越多内地品牌进驻香港。新消费品牌要想在香港开设门店&…

jdk安装多个版本,但是java -version显示最早安装的版本,换掉Path或者JAVA_HOME不生效问题

问题一:当你的电脑上又多个jdk版本,如17 或者8时,使用命令行 java -version显示最早安装的,如下图所示:环境变量配置的17,但是命令行显示的是8。 原因:windows电脑装jdk17后 会在你的环境变量…

【吊打面试官系列】Java高并发篇 - 并发编程三要素?

大家好,我是锋哥。今天分享关于 【并发编程三要素?】面试题,希望对大家有帮助; 并发编程三要素? 1、原子性 原子性指的是一个或者多个操作,要么全部执行并且在执行的过程中不被其他操作打断,要…

2024年5月18日(星期六)骑行香杆箐

2024年5月18日 (星期六)骑行香杆箐,早8:30到9:00,郊野公园西门集合,9:30准时出发【因迟到者,骑行速度快者,可自行追赶偶遇。】 偶遇地点:郊野公园西门集合 ,家住东,西,南…

字节跳动发布豆包大模型,主力模型比行业价格低99.3%

5月15日,字节跳动豆包大模型在火山引擎原动力大会上正式发布。火山引擎是字节跳动旗下云服务平台,据火山引擎总裁谭待介绍,经过一年时间的迭代和市场验证,豆包大模型正成为国内使用量最大、应用场景最丰富的大模型之一&#xff0c…

Chromium 调试指南2024 Windows11篇-条件断点、函数断点(十一)

1. 前言 在调试过程中,步进代码和条件断点/函数断点是非常有用的工具和技术,它们可以帮助开发者更加精确地定位和解决问题。本文将介绍步进代码的常用工具以及条件断点/函数断点的设置方法,帮助开发者更加高效地进行调试工作。 2. 步进代码…

MySQL创建索引报错 Specified key was too long;max key length is 1000 bytes.

MySQL对创建索引的大小有限制,一般索引键最大长度总和不能超过1000个字节。 问题描述 MySQL创建索引时报错 Specified key was too long;max key length is 1000 bytes. 解决办法 (1) 修改存储引擎 InnoDB的索引字段长度限制大于MyISAM,可以尝试改成…

欧拉公式的讲解

啊,哈喽,小伙伴们大家好。我是#张亿,今天呐,学的是欧拉公式 在不同的学科中有着不同的含义和应用。在复变函数中,欧拉公式表述为e^(ix)(cos xisin x),其中e是自然对数的底,i是虚数单位&#x…

Springboot+Vue项目-基于Java+MySQL的制造装备物联及生产管理ERP系统(附源码+演示视频+LW)

大家好!我是程序猿老A,感谢您阅读本文,欢迎一键三连哦。 💞当前专栏:Java毕业设计 精彩专栏推荐👇🏻👇🏻👇🏻 🎀 Python毕业设计 &…

Linux连接文件那点事

什么是连接文件 将一个文件和另一个文件建立联系,分为硬链接和软连接(符号连接)。 硬链接 Linux中,所有的文件都有一个inode,这个东西就是文件的ID号,硬链接的方式就是通过这个inode来产生新的文件名来建…