【人工智能基础2】Tramsformer架构、自然语言处理基础、计算机视觉总结

文章目录

    • 七、Transformer架构
      • 1. 替代LSTM的原因
      • 2. Transformer架构:编码器 - 解码器架构
      • 3. Transformer架构原理
    • 八、自然语言处理基础
      • 1. 语言模型基本概念
      • 2. 向量语义
      • 3. 预训练语言模型的基本原理与方法
      • 4. DeepSeek基本原理
    • 九、计算机视觉

七、Transformer架构

1. 替代LSTM的原因

处理极长序列时,效率下降:

虽然LSTM设计的初衷是解决长期依赖问题,即让模型能够有效利用序列中较长距离的信息,但在处理极长序列时,它仍然可能面临性能下降的情况。

复杂的门操作使得计算成本高,效率差:

LSTM在处理序列数据时,每个时间步都需要进行复杂的门控操作,这导致其计算成本较高,尤其是在处理大规模数据和长序列时,训练和推理速度较慢。

无法并行计算

LSTM是顺序处理序列数据的,难以在硬件上进行并行计算,这限制了其在现代并行计算设备(如GPU)上的性能发挥。

 

2. Transformer架构:编码器 - 解码器架构

Transformer由编码器和解码器两部分组成。
编码器负责将输入序列编码成向量表示,解码器则根据编码器的输出以及之前生成的输出序列来生成下一个输出。

  • 编码器:由多个堆叠的编码器层组成。每个编码器层包含两个子层,一个是多头自注意力机制,另一个是前馈神经网络。在这两个子层之间还有残差连接和层归一化操作。
  • 解码器:同样由多个堆叠的解码器层组成。每个解码器层除了包含与编码器类似的多头自注意力机制和前馈神经网络外,还包含一个额外的多头注意力机制,用于对编码器的输出进行注意力计算,以获取与当前生成位置相关的信息。

 

3. Transformer架构原理

自注意力机制:解决序列长期依赖关系:每个位置能关注到其他位置

  • 这是Transformer的核心创新点之一。它允许模型在处理每个位置的信息时,能够同时关注输入序列中的其他位置,从而更好地捕捉序列中的长期依赖关系。
  • 自注意力机制通过计算输入序列中各个位置之间的相似度得分,来确定每个位置对其他位置的关注程度,然后根据这些得分对输入进行加权求和,得到每个位置的新表示。

多头自注意力机制:并发与丰富表达:同时(并行)关注序列的不同方面,捕获更丰富的语义,最后将多个头的输出拼接到一起。

为了进一步提高模型的表示能力,Transformer使用了多个头的自注意力机制。每个头都使用不同的参数进行计算,从而能够捕捉到不同方面的信息。最后,将多个头的输出拼接在一起,并通过一个线性变换得到最终的输出。

前馈神经网络:增加表达力,并提高模型泛化能力。具体表现为:非线性变换增加表达力,融合所有位置的特征,进一步增强表达;非线性模型,防止模型简单导致过拟合,提高模型泛化能力。

在自注意力机制之后,每个编码器层和解码器层都包含一个前馈神经网络。它由两个线性变换和一个非线性激活函数(如ReLU)组成,用于对自注意力机制的输出进行进一步的特征提取和变换。

位置编码:感知序列位置。

由于Transformer本身不具有对序列顺序的内在感知能力,因此需要引入位置编码来将序列中的位置信息融入到模型中。
常见的位置编码方法是使用正弦和余弦函数来生成不同位置的编码向量,这些向量与输入序列的嵌入向量相加后作为模型的输入。

通过这些架构和原理,Transformer能够有效地处理长序列数据,并且在并行计算和捕捉长期依赖关系方面具有显著优势,因此在许多自然语言处理任务中取得了比LSTM更好的性能,成为了当前主流的序列建模方法之一。

 

八、自然语言处理基础

1. 语言模型基本概念

  • n-gram模型:基于统计,通过统计文本中连续n个单词或字符出现频率预测下一个单词或字符出现概率,分为unigram(只考虑单个字符概率,忽略上下文)、bigram(考虑当前字符和前一个字符一起出现概率)、trigram(考虑当前字符和前两个字符出现概率)等。
  • 评价指标:困惑度衡量模型对测试集的预测正确性,越低越好;交叉熵衡量模型预测概率分布与真实数据分布差异,越低模型性能越好。
  • 训练中的特殊字符:OOV问题通过引入<unk>字符处理,可替换训练集中频次少或测试集中新出现的字符;起始字符引入<start>,结束字符引入<end>处理出现概率。
  • 字模型与词模型:词模型处理序列长度短、准确度高,但字典大、需大规模语料。短句子或短语可字为单位,长语句或专业术语多的场合以词为单位。

 

2. 向量语义

词向量
用高维向量表示词,即词向量或词嵌入,将词映射到d维空间的点,维度对应不同含义。语义接近的词向量相似,用向量夹角余弦值衡量相似度,值越小语义越接近。应用于文本相似度计算、情感分析、语义理解等领域。

 

Word2Vec
Word2Vec提出了两种分类问题的建模方式,即连续词袋模型(continuous bag-of-words model)(给定上下文判断中间词)和跳跃模型(skip-gram model)(给定中间词判断上下文词出现概率)。

采用负采样优化训练,定义正、负样本,按概率采样负样本,训练时关注正、负样本,最大化正样本概率、最小化负样本概率。

 

3. 预训练语言模型的基本原理与方法

  • GPT:基于Transformer架构,利用大量无标注文本预训练,仅需解码部分,用掩码自注意力计算。参数量大,引领预训练模型潮流,支持零样本和少样本学习,能根据输入前缀补全句子或根据少量例子给出输出。
  • BERT双向Transformer编码器表示,为非生成式任务设计。针对GPT仅依赖前缀词信息的局限,通过掩码语言模型(预测掩盖词)和下一句预测(判断句子连续性)学习语言表示,刷新多项NLP任务成绩,推动领域发展。

 

4. DeepSeek基本原理

DeepSeek是基于深度学习和数据挖掘技术的智能搜索与分析系统,其原理主要基于以下几个方面:

  1. 专家混合模型(Mixture of Experts, MoE):将大模型拆分为多个专家子模型,通过门控机制,动态激活一部分专家模块,并能让不同专家协同处理,提高计算效率与精度。
  2. 多头潜在注意力机制(Multi - Head Latent Attention):基于Transformer结构,扩展了标准的多头注意力。允许多个注意力头并行关注不同层次的特征,如局部语义和全局信息,并额外引入隐变量,使模型能学习数据的深层次表示,通过不同注意力头学习到的特征,采用加权融合或自适应调整机制,以强化最有价值的信息,提高多模态理解和生成能力。
  3. 多Token预测(Multi - Token Prediction):在生成任务中能够同时预测多个Token,而非逐字生成。通过联合预测多个Token,模型可以捕捉更完整的上下文信息,减少生成误差,提高文本生成的连贯性和效率。

 

九、计算机视觉

  1. 计算机视觉:研究让计算机理解图像与视频高层次语义信息,用摄影机和计算机代替人眼对目标进行识别、跟踪和测量。图像形成分物体间物理交互和光与物体相互作用两步,计算机视觉是求解图像形成前向模型的逆。常见视觉识别任务有光学字符识别、语义分割、物体分类、物体检测等,细分领域还包括光流估计、运动捕捉、三维场景重建等。
  2. 图像的形成原理:小孔成像中,小孔相机模型基于光线沿直线传播,物体光线通过针孔在成像面成倒立影像,针孔到成像面距离为焦距,小孔直径越小成像越清晰,越大成像亮度越大。三维空间点投影到相机成像平面坐标可通过相似三角形计算。
  3. 数字图像:数码相机成像时,光敏元件上像素点将光线转化为电信号,光线通过红、绿、蓝滤色片二维滤波器阵列,像素点捕获特定颜色光,信号经相机处理器处理生成数字图像,原始图像常以RAW格式存储,也会转换为JPEG等压缩格式。
  4. 线性滤波器
    • 图像像素映射成函数:灰度图像可定义二维函数f(x,y)表示像素光强值,彩色图像每个像素用RGB三个通道表示,f(x,y)是三个值的向量。
    • 图像处理类型:包括图像滤波(改变图像像素值,颜色改变,不改变位置)和图像扭曲(改变像素位置,不改变颜色)。图像滤波器用于提取信息、增强特征、消除噪声等。
    • 滤波器分类:分为线性滤波器(如均值滤波、高斯滤波等,对邻域像素线性运算,通过窗口函数或卷积运算,不同线性滤波器模版系数不同)和非线性滤波器(如最值滤波器、中值滤波器,利用原始图像和模版逻辑关系得到结果)。
  5. 边缘检测:图像边缘是不连续点,由表面法线、颜色、深度等不连续性引起,重要原因是能推断语义和形状信息且比像素紧凑。可通过图像强度分布图定位边缘,强度函数一阶导数局部极值处表示有边缘,图像看作二维函数,其偏导数可表示光强度突变程度,通过阈值和二值化确定边缘位置,因图像噪声需用高斯函数去除噪声后定位边缘。
  6. 物体检测
    • R-CNN:能检测物体并确定位置,步骤包括输入图像、生成候选框、缩放候选框、提取特征向量、分类和微调边界。缺点是训练复杂、检测速度慢。
    • Fast RCNN:提高检测速度,减少计算量,引入单个金字塔池化层模型,解决候选框重复计算问题,将SVM分类器改为softmax分类器。步骤为输入图像、提取特征和生成候选框、池化候选区域、分类和微调边界。
    • Faster RCNN:极大提高检测速度,使用区域提议网络RPN代替选择性搜索生成候选区域,全卷积神经网络RPN共享特征提取提议,核心是直接用CNN生成候选区域,训练时任务协作共享参数。步骤为输入图像、提取特征和生成物体提议、滑动网络定位窗口并生成候选区域、ROI Pooling获得固定大小特征图、分类和回归确定物体类别和位置。RPN使Faster RCNN集成多步骤成为端到端训练,但不适合小目标检测。
    • 三者区别:候选区域生成上,R-CNN和Fast RCNN用选择性搜索算法,Faster RCNN用RPN;特征提取上,R-CNN对每个候选区域单独提取,Fast RCNN和Faster RCNN对整个图像提取一次;训练过程上,R-CNN分阶段训练,Fast RCNN和Faster RCNN端到端训练;检测速度上,R-CNN慢,Fast RCNN较快,Faster RCNN快。
  7. 语义分割
    • 定义与概念:将图像每个像素分配到特定类别标签,与物体检测不同,要精确划分物体边界。
    • 应用场景:自动驾驶领域区分道路等元素辅助驾驶;医学影像分析分割组织辅助诊断和手术规划;图像编辑与内容生成用于智能抠图等。

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【计算机网络】2物理层

物理层任务:实现相邻节点之间比特(或)的传输 1.通信基础 1.1.基本概念 1.1.1.信源,信宿,信道,数据,信号 数据通信系统主要划分为信源、信道、信宿三部分。 信源:产生和发送数据的源头。 信宿:接收数据的终点。 信道:信号的传输介质。 数据和信号都有模拟或数字…

kubernetes|云原生|部署单master的kubernetes 1.25.5版本集群完全记录(使用contained 运行时)

一、 部署目标: kubernetes版本1.19,1.23的前后差异还是比较巨大的,到1.25版本,为了追求高性能,自然还是需要使用containerd,本文将主要讲述在centos7虚拟机下部署kubernetes 1.25.5集群,使用…

DeepSeek+Dify本地部署私有化知识库

1.Windows安装docker Windows安装Docker-CSDN博客 2.安装olloma https://ollama.com/ 安装完成,可以在桌面右下角看到olloma图标 3.安装deepseekR1模型 ollama官网(deepseek-r1),找到deepseek模型 选择合适大小的模型&#xff…

[Linux][经验总结]Ubuntu6.11.0 docker更换镜像源(实操可用的正确方法)

一、前言 关于Ubuntu更换docker镜像源,网上有很多的教程,但在实操中发现,更换的源无法生效——原因是我的docker是在系统安装时,选择附加安装的package的方式安装的。 现将处理过程记录如下。 二、获取镜像源 在网上随便找个几…

NHANES指标推荐:BRI!

文章题目:Association of body roundness index with cardiovascular disease in patients with cardiometabolic syndrome: a cross-sectional study based on NHANES 2009-2018 DOI:10.3389/fendo.2025.1524352 中文标题:心脏代谢综合征患者…

3.水中看月

前言 这篇文章讲解套接字分配IP地址和端口号。这部分内容也相对有些枯燥,但并不难,而 且是学习后续那些有趣内容必备的基础知识(计算机网络基础)。 一、分配给套接字的IP地址与端口号 IP是InternetProtocol(网络协议…

Linux驱动开发-①pinctrl 和 gpio 子系统②并发和竞争③内核定时器

Linux驱动开发-①pinctrl 和 gpio 子系统②并发和竞争③内核定时器 一,pinctrl 和 gpio 子系统1.pinctrl子系统2.GPIO子系统 二,并发和竞争1.原子操作2.自旋锁3.信号量4.互斥体 三,按键实验四,内核定时器1.关于定时器的有关概念1.…

奇安信二面

《网安面试指南》https://mp.weixin.qq.com/s/RIVYDmxI9g_TgGrpbdDKtA?token1860256701&langzh_CN 5000篇网安资料库https://mp.weixin.qq.com/s?__bizMzkwNjY1Mzc0Nw&mid2247486065&idx2&snb30ade8200e842743339d428f414475e&chksmc0e4732df793fa3bf39…

Python库安装报错解决思路以及机器学习环境配置详细方案

文章目录 概要第三方库gdalpymoltalibmahotasgraphviznltk-datalazypredictscikit-surprisenb_extensionspyqt5-toolsspacy、en_core_web_sm 机器学习GPU-torch安装torch_geometric安装ubuntu安装显卡驱动dlib安装torch-cluster、torch-scatter、torch-sparse和torch-geometric…

Power Apps 技术分享:连接SharePoint列表数据源

前言 在使用Power Apps的时候,使用列表作为数据源是非常方便和经济的,列表创建简单,SharePoint的存储也不像Dataverse需要按照容量付费。 正文 1.我们先在SharePoint中建一个列表,添加一些测试数据,如下图:…

【Linux】learning notes(4)cat、more、less、head、tail、vi、vim

文章目录 catmore 查看整个文件less 查看整个文件head 查看部分文件tail 查看部分文件vim / vi cat cat 命令在 Linux 和 Unix 系统中非常常用,它用于连接文件并打印到标准输出设备(通常是屏幕)。虽然 cat 的基本用法很简单,但它…

C++11函数包装器

目录 std::function 注意事项 包装静态成员函数 包装非静态成员函数 std::bind 用法 应用场景 std::function function是C11引入的类,可以用任何可调用对象作为参数,构造出一个新对象。 可调用对象有函数指针,仿函数,lamb…

maven的安装配置

目录 一、官网下载压缩包 二、配置环境变量 设置 MAVEN_HOME 添加 MAVEN_HOME\bin 到 PATH 三、配置本机仓库和远程仓库 四、配置idea 一、官网下载压缩包 Download Apache Maven – Maven 如上图。选择这个压缩包 选择好文件,下载完后,配置环境变…

分布式事务

1 事务 众所周知,事务具有ACID四大特性: 原子性(Atomicity):事务作为一个整体被执行,包含在其中的对数据库的操作要么全部被执行,要么都不执行。 一致性(Consistency)&a…

Postman中Authorization和Headers的区别

案例 笔者在进行token验证的时候碰到的问题 一般如果是进行token验证,大部分是在Headers下面添加token名称及token的值 这样:后端提取请求头的token即可 还有一种是,左侧选择Bearer Token,右侧添加token的值,后端传递的 大概…

1.备战SISAP 2025挑战:调研2024挑战

简介 紧张刺激的SISAP 2025 challenge发布了,此博客用于记录备战的一些准备,思路和实验。 25年挑战介绍 详细信息参考SISAP Indexing challenge 2025 Task 1:内存受限索引 这项任务要求参与者开发具有reranking(重排&#xf…

FPGA学习(二)——实现LED流水灯

FPGA学习(二)——实现LED流水灯 目录 FPGA学习(二)——实现LED流水灯一、DE2-115时钟源二、控制6个LED灯实现流水灯1、核心逻辑2、代码实现3、引脚配置4、实现效果 三、模块化代码1、分频模块2、复位暂停模块3、顶层模块 四、总结 一、DE2-115时钟源 DE2-115板子包含一个50MHz…

进程间通信--匿名管道

进程间通信介绍 进程间通信目的 数据传输:一个进程需要将它的数据发送给另一个进程资源共享:多个进程之间共享同样的资源。通知事件:一个进程需要向另一个或一组进程发送消息,通知它(它们)发生了某种事件&…

【鸿蒙开发】Hi3861学习笔记-Visual Studio Code安装(New)

00. 目录 文章目录 00. 目录01. Visual Studio Code概述02. Visual Studio Code下载03. Visual Studio Code安装04. Visual Studio Code插件05. 附录 01. Visual Studio Code概述 vscode是一种简化且高效的代码编辑器,同时支持诸如调试,任务执行和版本管…

人工智能 Day06 pandas库进阶

1.处理缺失数据 总体流程是这样的, 归根在于如何处理NAN,接下来详细赘述 1.1. 处理缺失值的相关函数 判断缺失值 pd.isnull(df):用于判断 DataFrame df 中的元素是否为缺失值(NaN ),返回一个与df 形状相同…