常耀斌:深度学习和大模型原理与实战(深度好文)

news2024/12/19 18:47:51

目录

机器学习

深度学习

Transformer大模型架构

人工神经元网络

卷积神经网络


深度学习是革命性的技术成果,有利推动了计算机视觉、自然语言处理、语音识别、强化学习和统计建模的快速发展。

深度学习在计算机视觉领域上,发展突飞猛进,尤其是图像分类中成绩斐然。2012年, Alex和Hinton在ImageNet大规模图像识别竞赛ILSVRC中夺冠,以83.6%的Top5精度,超过传统的计算机视觉计算的74.2%,深度学习开始发力,卷积神经网络一战成名。2013年,ImageNet大规模图像识别竞赛以88.8%成绩获得冠军。2014年,VGG网络战绩达到92.7%, GoogLeNet网络战绩达到93.3%。2015年,在1000类的图像识别中,微软提出的残差网(ResNet)以96.43%的Top5正确率,达到了超过人类的94.9%水平。

深度学习在图像检测方面上,聚焦在如何把物体用矩形框准确圈起来。2014年以来,检测平均精度MAP经历了多次升级迭代,包括R-CNN的53.3%、Fast R-CNN的68.4%、Faster R-CNN的75.9%、 Faster RCNN结合残差网(Resnet-101)的83.8%精度、YOLO的52.7%、SSD的75.1%。

深度学习在自然语言处理技术上,发展前景广阔。技术架构包含了文本预处理和清洗、词嵌入和表示学习、语法分析和句法树、命名实体识别、情感分析、机器翻译以及问答系统等关键步骤通过这些技术,计算机能够更好地理解和处理人类语言,为我们提供更智能化、便捷化的服务和体验。

深度学习在AI大模型的落地应用上,由“数据、算法、算力”演变为“场景、产品、算力”从技术架构上看,Transformer架构是AI大模型领域主流的算法架构基础,形成了GPT和BERT两条主要的技术路线,其中BERT最有名的是谷歌的AlphaGo。在GPT3.0发布后,GPT逐渐成为大模型的主流路线。目前,几乎所有参数规模超过千亿的大型语言模型都采取GPT模式,如百度文心一言,阿里通义千问等。从模态支持上看,AI大模型可分为自然语言处理大模型,CV大模型、科学计算大模型等。AI大模型支持的模态更加多样,从支持文本、图片、图像、语音单一模态下的单一任务,逐渐发展为支持多种模态下的多种任务。从应用领域上看,大模型可分为通用大模型和行业大模型两种。通用大模型是具有强大泛化能力, ChatGPT、华为的盘古都是通用大模型。行业大模型则是利用行业知识对大模型进行微调,让AI完成“专业教育”,以满足不同领域的需求,如金融领域的BloombergGPT、百度携手中国航天发布的大模型“航天-百度文心大模型”等。

   

 机器学习

机器学习是一种人工智能技术,主要使用算法来让计算机从数据中学习,以便能够自动地进行决策和预测。机器学习的目的是通过数据来提高预测或决策的准确性,而不需要人工干预。

深度学习

    深度学习(Deep Learning,简称DL)是机器学习的一种特定形式,它使用具有多层非线性处理单元的神经网络来学习和表示数据。深度学习的核心是使用深度神经网络,这些网络可以自动从数据中提取出复杂的特征,并且在各种任务上表现出色,例如图像识别、语音识别和自然语言处理等。

  1. 卷积神经网络(Convolutional Neural Networks,CNN):主要用于图像和视频相关的任务,通过局部连接和权值共享来提取空间特征。
  2. 递归神经网络(Recurrent Neural Networks,RNN):能够处理序列数据,如自然语言处理和语音识别等任务。RNN能够利用过去的信息作为上下文来进行预测。
  3. 长短期记忆网络(Long Short-Term Memory,LSTM):一种特殊的RNN变体,通过门控机制来解决传统RNN的梯度消失和梯度爆炸问题。
  4. 生成对抗网络(Generative Adversarial Networks,GAN):由生成器和判别器组成,生成器试图生成逼真的样本,而判别器试图区分真实样本和生成样本,二者通过对抗学习进行优化。
  5. 注意力机制网络(Attention Mechanism):能够在处理变长序列数据时,为模型赋予自主选择和关注重要信息的能力。

     深度神经网络是一种层次化的模型,由多个神经网络层组成。每个神经网络层由多个神经元组成,每个神经元接受上一层的输入并进行线性变换和非线性激活,输出给下一层。深度神经网络的训练依赖于反向传播算法(Backpropagation),通过最小化损失函数来优化网络权重,使其能够更好地适应训练数据和测试数据。

Transformer大模型架构

    Transformer是一种基于自注意力机制(Self-Attention)的序列到序列(Sequence-to-Sequence, Seq2Seq)模型,用于处理序列数据,如自然语言文本。Transformer模型由编码器和解码器组成,编码器将输入序列转换为上下文向量,解码器使用上下文向量生成输出序列。对于每个位置,Transformer模型通过计算输入序列中所有位置的加权和来计算上下文向量。这种加权和的权重由自注意力机制计算得出,自注意力机制可以捕捉输入序列中不同位置之间的依赖关系。

    深度神经网络通常需要对输入数据进行预处理和特征提取,以便网络能够更好地学习数据的表示。而在Transformer中,输入数据被转换为多头注意力机制的查询、键和值,这些查询、键和值可以被用来计算自注意力权重。深度神经网络和Transformer都可以用于处理自然语言处理任务,它们的性能和适用场景有所不同。深度神经网络在处理文本分类、情感分析和命名实体识别等任务上表现出色,而Transformer在机器翻译、文本生成和阅读理解等任务上表现出色。

    机器学习(Machine Learning,ML)是指从业务的历史数据中学习或者抽取数据规律,并利用数据规律对未知业务数据进行预测的方法是人工智能的一个重要分支传统的机器学习主要聚焦在如何学习一个预测模型。第一,将数据表示为一组特征(Feature),特征的表示形式可以是连续的数值、离散的符号或其他形式。第二,将这些特征输入到预测模型,并输出预测结果机器学习主要靠人工经验或特征转换方法来抽取特征,使用机器学习模型包含步:

  1. 数据预处理:经过数据的预处理,如去除噪声等比如在文本分类中,抽取词条
  2. 特征提取:从原始数据中提取一些有效的特征比如在图像分类中,提取边缘、尺度、纹理等不变特征变换特征等
  3. 特征工程:对特征进行一定的加工和处理,比如降维和升维降维包括特征抽取和特征选择两种途径常用的特征转换方法有主成分分析等
  4. 目标预测:机器学习的核心部分,就是学习一个方程,再进行预测

    监督学习(Supervised Learning)是机器学习中的一种训练方式,是指利用一组已知类别的样本调整分类器的参数,使其达到所要求性能的过程。监督学习是从标记的训练数据来推断一个功能的机器学习任务。通俗讲,给定一个带标签的数据集,来训练网络,从而得到一个最优的模型。无人驾驶应用,收集在不同路况下驾驶员行为,并进行打标签进行模型训练当新司机驾驶时,根据不同路况来指导驾驶员的行为,训练模型能支撑行为预测能力。监督学习主要解决两类问题:回归和分类。解决图像分类任务,用分类模型;解决预测类问题,用回归模型。

    深度学习,其是从数据中自动学习到有效的特征表示。它通过多层的特征转换,把原始数据变成更高层次、更抽象的表示,目的是把这些学习到的表示可以替代人工设计的特征,从而避免“特征工程”深度学习采用的模型主要是神经网络模型,其主要原因是神经网络模型可以使用误差反向传播算法,有效解决贡献颗粒问题

人工神经元网络

    人脑神经系统是一个非常复杂的组织,包含近亿个神经元每个神经元有上千个突触和其他神经元相连接.神经元分为细胞体和细胞突起,其中赫布理论指出:“当神经元A的一个轴突和神经元B很近,足以对它产生影响,并且持续地、重复地参与了对神经元B的兴奋,那么在这两个神经元或其中之一会发生某种生长过程或新陈代谢变化,以致神经元A作为能使神经元B兴奋的细胞之一,它的效能加强了。” 人工神经网络模拟人脑神经网络,用节点替代人工神经元,进行互相连接,不同节点之间的连接被赋予了不同的权重,每个权重代表了一个节点对另一个节点的影响大小每个节点代表一种特定函数

人工神经元网络是由大量神经元连接而构成的自适应非线性系统,这个自适应就是不断调整权重到最优,使得网络的预测效果最佳。神经元的个数越多越好吗?实际上,有利有弊,可以分类或者预测复杂数据,但是容易造成过拟合,过拟合就是泛化能力不足,对非训练数据的噪声拟合能力弱。

80年代,Fukushima在感受野概念的基础之上提出了神经认知机的概念,可以看作是卷积神经网络的第一个实现网络,神经认知机将一个视觉模式分解成许多子模式(特征),然后进入分层递阶式相连的特征平面进行处理,它试图将视觉系统模型化,使其能够在即使物体有位移或轻微变形的时候,也能完成识别。

卷积神经网络

卷积神经网络(Convolutional Neural Networks, CNN)是多层感知机的变种。由生物学家休博尔和维瑟尔在早期关于猫视觉皮层的研究发展而来。视觉皮层的细胞存在一个复杂的构造。这些细胞对视觉输入空间的子区域非常敏感,我们称之为感受野,以这种方式平铺覆盖到整个视野区域。

CNN由纽约大学的Yann LeCun于1998年提出。CNN本质上是一个多层感知机,如下图1-2所示,其成功的原因关键在于它所采用的稀疏连接权值共享的方式,一方面减少了的权值的数量使得网络易于优化,另一方面降低了过拟合的风险。

目前的卷积神经网络一般是由卷积层、汇聚层和全连接层交叉堆叠而成的前馈神经网络,使用反向传播算法进行训练卷积神经网络有三个结构上的特性:局部连接,权重共享以及汇聚。这些特性使得卷积神经网络具有一定程度上的平移、缩放和旋转不变性。和前馈神经网络相比,卷积神经网络的参数更少。卷积神经网络主要使用在图像和视频分析的各种任务上,比如图像分类、人脸识别、物体识别、图像分割等,其准确率一般也远远超出了其它的神经网络模型。

    在人工智能自然语言处理领域,transformer是大语言模型的基础。Transformers最初是用于机器翻译领域,但是现在已经逐渐取代了主流NLP中的RNNs。该架构采用了一种全新的表示学习方法,它完全抛弃了递归的方法,Transformers使用注意力机制构建每个词的特征,从而找出句子中所有其他单词对上述单词的重要性。如今大火ChatGPT中的 T 指的就是transformer。transformer基于自注意力机制,由编码器(encoder)和解码器(decoder)组成。它可以说是一个完全基于自注意力机制的模型,不依赖于CNN、RNN等模型,但可以做并行计算、相比LSTM更好地解决了长距离依赖问题,综合了RNN和LSTM的优点。RNN可以并行计算,但无法解决长时依赖问题;LSTM在一定程度上能解决长距离依赖问题,但太长的还是不行。在Sequence to Sequence机器翻译任务中,一般采用的是基于CNN或RNN的encoder-decoder框架,在encoder和decoder之间使attention机制进行语义信息的连接,但这存在着一些问题。

    论文《attention is all you need》提出的transformer做的就是这件事。它在机器翻译任务上,遵循encoder-decoder框架,不使用CNN/RNN,完全使用attention机制来捕捉输入和输出序列之间的全局依赖,允许并行化,训练时间短,取得的翻译效果好。Transformer不仅设计了多头自注意力机制(Multi-Head Self-Attentiom),而且结合了CNN、RNN的优点,一是CNN的多通道机制(从多个角度去提取数据特征)和并行计算能力;二是RNN理论上的长时依赖建模能力(捕捉长距离的语义关联)。为了对序列的词序order进行建模,引入了位置编码position embedding。

本文摘自《深度学习和大模型原理与实战》 2024年发行

作者:常耀斌,王文惠

清华大学出版社-图书详情-《深度学习和大模型原理与实践》

京东:《深度学习和大模型原理与实践 常耀斌 王文惠 人工智能前沿实践丛书 大语言模型技术书 清华大学出版社》【摘要 书评 试读】- 京东图书

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

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

相关文章

不能通过 ip 直接访问 共享盘 解决方法

from base_config.config import OpenSMB, SMB import os, time, calendar, requests, decimal, platform, fs.smbfsinfo_dict SMB.EPDI_dict info_dict[host] (FS03,10.6.12.182) info_dict[direct_tcp] True# smb OpenSMB(info_dict)print(ok)# 根据 ip 查询电脑名 impor…

Mapbox-GL 的源码解读的一般步骤

Mapbox-GL 是一个非常优秀的二三维地理引擎,随着智能驾驶时代的到来,应用也会越来越广泛,关于mapbox-gl和其他地理引擎的详细对比(比如CesiumJS),后续有时间会加更。地理首先理解 Mapbox-GL 的源码是一项复…

HIVE4.0.1在Hadoop HA部署hiveserver2模式

本文基于CENTOS7,在Hadoop3.4.0版本vm虚拟机3节点HA集群的基础上进行的搭建。 一、前置条件 本文使用MySQL8.0.26作为HIVE数据库,不使用hive自带的derby数据库,因为其不支持多客户端访问,也不方便查询。 所以必须先安装MySQL。版本…

Visual Studio 使用 GitHub Copilot 协助调试

🎀🎀🎀【AI辅助编程系列】🎀🎀🎀 Visual Studio 使用 GitHub Copilot 与 IntelliCode 辅助编码Visual Studio 安装和管理 GitHub CopilotVisual Studio 使用 GitHub Copilot 扩展Visual Studio 使用 GitHu…

C10.【C++ Cont】字符数组和万能头

目录 1.字符数组 1.初始化 1.按字符串初始化 2.按字符初始化 2.字符串的输入 1.无空格的字符串 2.带空格的字符串 解决方法 1.gets(了解即可) gets不安全的原因 2.fgets 3.改良后的scanf 4.getchar 3.字符数组的输出 2.C万能头 1.字符数组 C语言风格的字符串:用…

[C++]C++工具之对异常情况的处理(throw、catch、try)以及用命名空间避免同名冲突

一、C 异常处理😊 1.1 定义 C 中的异常处理用于应对程序运行中的异常情况(如除零、数组越界等),通过 try-catch 机制捕获和处理错误,防止程序崩溃。 异常是程序运行时意外发生的事件,可以通过抛出&#xf…

番外篇 | Hyper-YOLO:超图计算与YOLO架构相结合成为目标检测新的SOTA !

前言:Hello大家好,我是小哥谈。Hyper-YOLO,该方法融合了超图计算以捕捉视觉特征之间复杂的高阶关联。传统的YOLO模型虽然功能强大,但其颈部设计存在局限性,限制了跨层特征的融合以及高阶特征关系的利用。Hyper-YOLO在骨干和颈部的联合增强下,成为一个突破性的架构。在COC…

IDEA搭建springboot demo

如下所示创建SpringBootTest18项目,我选的maven,创建完成项目后,maven会自动下载一些依赖库到maven的repository目录中。 创建的项目结构如下图所示 接下来在项目中加入Framework支持,右击项目,弹出的菜单如下图所示&a…

vscode不同项目使用不同插件

转载请注明出处:小帆的帆的博客 在使用vscode开发不同项目时可能会用到不同的插件。手动管理不够优雅,本文介绍使用Profiles的方式的来管理不同项目的插件。 手动管理不同项目的插件 本来vscode安装了有三个插件 这时需要新建一个项目,新…

【FFmpeg】解封装 ① ( 封装与解封装流程 | 解封装函数简介 | 查找码流标号和码流参数信息 | 使用 MediaInfo 分析视频文件 )

文章目录 一、解封装1、封装与解封装流程2、解封装 常用函数 二、解封装函数简介1、avformat_alloc_context 函数2、avformat_free_context 函数3、avformat_open_input 函数4、avformat_close_input 函数5、avformat_find_stream_info 函数6、av_read_frame 函数7、avformat_s…

PDFMathTranslate 一个基于AI优秀的PDF论文翻译工具

PDFMathTranslate 是一个设想中的工具,旨在翻译PDF文档中的数学内容。以下是这个工具的主要特点和使用方法: 链接:https://www.modelscope.cn/studios/AI-ModelScope/PDFMathTranslate 功能特点 数学公式识别:利用先进的OCR&…

20241218_segmentation

参考: 使用SA模型 https://ai.meta.com/research/publications/segment-anything/讲解生物学意义 https://www.nature.com/articles/s41593-024-01714-3#Sec13 x.0 workflow 图像分割方法识别出重要的ROI区域计算ROI区域个数(需要计算机算法&#xff…

Ubuntu22.04配置3D gaussian splatting

这篇博客提供了3D gaussian splatting在新安装Ubuntu上的配置过程。 1.拉仓库 2.安装显卡驱动和cuda版本 3.安装Pytorch 4.安装Pycharm和配置Python 5.安装附加依赖项(方法一) 6.安装Anaconda(方法二) 7.测试 1.拉仓库 # HT…

Apache Kylin最简单的解析、了解

官网:Overview | Apache Kylin 一、Apache Kylin是什么? 由中国团队研发具有浓厚的中国韵味,使用神兽麒麟(kylin)为名 的一个OLAP多维数据分析引擎:(据官方给出的数据) 亚秒级响应&#xff…

【现代服务端架构】传统服务器 对比 Serverless

在现代开发中,选择合适的架构是至关重要的。两种非常常见的架构模式分别是 传统服务器架构 和 Serverless。它们各有优缺点,适合不同的应用场景。今天,我就带大家一起对比这两种架构,看看它们的差异,并且帮助你选择最适…

CVE-2024-32709 WordPress —— Recall 插件存在 SQL 注入漏洞

漏洞描述 WordPress 是一款免费开源的内容管理系统,适用于各类网站,包括个人博客、电子商务系统、企业网站。其插件 WP-Recall 的 account 存在 SQL 注入漏洞,攻击者可以通过该漏洞获取数据库敏感信息。 WP-Recall 版本 <= 16.26.5 漏洞复现 搭建环境、安装插件、完成…

vue+net使用stripe支付开发流程

文章目录 前言用到的语言和技术整体流程stripe平台vue前端Net后端遇到的问题思考总结 前言 公司最近做到了国外支付功能&#xff0c;最后选型使用stripe进行支付&#xff0c;实现目标&#xff1a;使用stripe支付可以让国外用户自己选择支付方式并订阅支付。 用到的语言和技术…

什么?Flutter 可能会被 SwiftUI/ArkUI 化?全新的 Flutter Roadmap

在刚刚过去的 FlutterInProduction 活动里&#xff0c;Flutter 官方除了介绍「历史进程」和「用户案例」之外&#xff0c;也着重提及了未来相关的 roadmap &#xff0c;其中就有 3.27 里的 Swift Package Manager 、 Widget 实时预览 和 Dart 与 native 平台原生语言直接互操作…

随机森林算法原理

随机森林算法原理 算法流程随机森林的生成随机森林的预测 算法总结随机森林的优点随机森林的缺点 算法流程 随机森林的生成 输入训练数据 D&#xff0c;样本个数为 m &#xff0c;待学习的决策树数量为 T。 对于 t 1,2,…,T&#xff0c;从 D 中有放回地采样 m 次&#xff0c…

游戏AI实现-寻路算法(Dijkstra)

戴克斯特拉算法&#xff08;英语&#xff1a;Dijkstras algorithm&#xff09;&#xff0c;又称迪杰斯特拉算法、Dijkstra算法&#xff0c;是由荷兰计算机科学家艾兹赫尔戴克斯特拉在1956年发现的算法。 算法过程&#xff1a; 1.首先设置开始节点的成本值为0&#xff0c;并将…