【AI学习】三、AI算法中的向量

在人工智能(AI)算法中,向量(Vector)是一种将现实世界中的数据(如图像、文本、音频等)转化为计算机可处理的数值型特征表示的工具。它是连接人类认知(如语义、视觉特征)与机器数学运算(如矩阵乘法、距离计算)的桥梁,广泛应用于机器学习、深度学习、自然语言处理(NLP)、计算机视觉(CV)等领域。

一、AI中向量的核心作用:数据的数学化表征

AI算法(尤其是深度学习)无法直接处理文本、图像等非结构化数据,必须先将其转换为数值向量,使数据具备以下特性:

  1. 可计算性:向量支持数学运算(如点积、余弦相似度),便于算法提取特征、衡量数据关联度。
  2. 语义表达:向量的每个维度可隐含数据的潜在特征(如文本的情感倾向、图像的颜色纹理),相近语义的数据在向量空间中距离更近。
  3. 泛化能力:通过模型训练(如神经网络),向量能捕捉数据的高层抽象特征(如“猫”的图像向量可编码“有毛、四条腿”等共性)。

二、AI中向量的常见类型与生成方式

1. 文本向量(Text Vectors)
  • 作用:将词语、句子或文档转换为数值向量,用于语义理解、文本分类、信息检索等。
  • 生成方法
    • 传统方法
      • 独热编码(One-Hot Encoding):用稀疏向量表示词语(如“苹果”→[1,0,0,…],“香蕉”→[0,1,0,…]),优点是简单直接,缺点是无法体现词语相关性(所有向量正交,余弦相似度为0)。
      • TF-IDF向量:结合词频(TF)和逆文档频率(IDF),衡量词语在文档中的重要性,向量维度为词典大小,缺点是高维稀疏、缺乏语义关联。
    • 深度学习方法
      • 词嵌入(Word Embedding):通过神经网络训练生成稠密向量(如Word2Vec、GloVe),例如“国王”−“男人”+“女人”≈“女王”,体现语义类比关系。
      • 句/文档嵌入:如BERT的CLS向量、Sentence-BERT生成的句向量,通过预训练模型捕捉上下文语义。
2. 图像向量(Image Vectors)
  • 作用:将图像像素转换为特征向量,用于图像分类、目标检测、图像检索等。
  • 生成方法
    • 传统特征工程:手工设计特征(如HOG特征、SIFT特征),向量维度固定(如HOG特征常为36维)。
    • 深度学习方法:通过卷积神经网络(CNN)提取高层特征,例如:
      • 在ResNet中,输入图像经多层卷积后,最终全连接层的输出即为图像向量(如1000维,对应分类类别);
      • 图像检索场景中,可通过对比学习训练模型,生成更具区分度的向量(如FaceNet生成的人脸特征向量)。
3. 音频向量(Audio Vectors)
  • 作用:将音频信号转换为向量,用于语音识别、音乐分类等。
  • 生成方法
    • 传统方法:提取声学特征(如MFCC、梅尔频谱),向量维度通常为几十维。
    • 深度学习方法:通过循环神经网络(RNN)或Transformer处理音频序列,生成上下文相关的向量(如语音识别模型Wav2Vec的输出)。
4. 结构化数据向量(Tabular Vectors)
  • 作用:将表格数据(如用户信息、传感器数据)中的数值型/分类型特征转换为向量,用于传统机器学习模型(如随机森林、XGBoost)或深度学习模型(如Wide & Deep)。
  • 处理方式
    • 数值型特征:直接作为向量分量(如年龄、收入);
    • 分类型特征:通过独热编码、标签编码等转换为数值向量。

三、向量在AI算法中的关键应用

1. 相似度计算与检索
  • 核心逻辑:将查询数据(如文本、图像)转换为向量,在向量数据库中检索与查询向量最相似的样本。
  • 相似度度量方法
    • 余弦相似度:适用于高维稀疏向量(如文本),衡量向量方向的相似性,公式:
      [
      \text{cosine相似度} = \frac{\mathbf{a} \cdot \mathbf{b}}{|\mathbf{a}| |\mathbf{b}|}
      ]
    • 欧氏距离:适用于稠密向量(如图像特征),衡量向量空间中的绝对距离,公式:
      [
      d(\mathbf{a}, \mathbf{b}) = \sqrt{\sum_{i=1}^n (a_i - b_i)^2}
      ]
  • 应用场景
    • 推荐系统:计算用户向量与物品向量的相似度,推荐相似物品;
    • 图像检索:输入一张图片,检索数据库中相似的图片(如Google图片搜索);
    • 语义搜索:将用户查询转换为向量,匹配文档向量(如BERT + 向量数据库的组合)。
2. 模型输入与特征学习
  • 作用:向量是深度学习模型的输入基础,模型通过多层神经网络对向量进行特征变换,提取更抽象的表示。
  • 示例
    • 在NLP中,词向量作为Transformer的输入,经自注意力机制生成上下文相关的句向量;
    • 在CV中,图像向量(像素值)经CNN卷积层后,逐步提取边缘、纹理、物体部件等特征。
3. 生成模型与向量操作
  • 在生成对抗网络(GAN)中,随机噪声向量(如服从正态分布的低维向量)经生成器转换为高维数据(如图像、文本);
  • 在文本生成中,通过向量插值(如“男人”向量 + “皇室”向量 ≈ “国王”向量)实现语义编辑。

四、向量的关键技术挑战

1. 维度灾难(Curse of Dimensionality)
  • 问题:当向量维度极高时(如百万维),传统距离度量方法效率低下,且数据在高维空间中变得稀疏,相似度计算失去意义。
  • 解决方案
    • 降维:通过PCA、t-SNE、UMAP等技术降低向量维度;
    • 近似最近邻搜索(ANN):使用向量数据库(如Milvus、Faiss)实现高效检索,通过哈希算法(如LSH)或树结构(如KD树)近似查找相似向量。
2. 向量的语义鸿沟
  • 问题:不同模型生成的向量可能存在“语义空间不兼容”问题(如Word2Vec的词向量与BERT的词向量分布不同)。
  • 解决方案
    • 迁移学习:在预训练向量基础上,针对特定任务微调模型;
    • 跨模态对齐:通过对比学习训练模型,使不同模态数据(如文本和图像)的向量映射到同一语义空间(如CLIP模型)。
3. 向量的可解释性
  • 问题:深度学习生成的向量通常是黑箱输出,难以解释每个维度的具体含义。
  • 解决方案
    • 可视化技术:通过降维(如t-SNE)将高维向量映射到二维空间,观察数据分布;
    • 注意力机制分析:利用模型的注意力权重,分析向量中哪些维度对决策起关键作用(如NLP中的注意力热力图)。

五、总结:向量为何是AI的基石?

在AI领域,向量是数据的“数字指纹”

  • 它将复杂的现实世界数据转化为计算机可处理的数学对象;
  • 它通过数值运算实现数据的语义关联度量;
  • 它是连接传统算法(如KNN、SVM)与深度学习模型(如Transformer、CNN)的通用语言。
    理解向量的本质(结构化的数值表征)和技术细节(生成方法、相似度计算、维度处理),是掌握AI算法(尤其是表征学习、检索系统、生成模型)的核心前提。

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

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

相关文章

基于算法竞赛的c++编程(28)结构体的进阶应用

结构体的嵌套与复杂数据组织 在C中,结构体可以嵌套使用,形成更复杂的数据结构。例如,可以通过嵌套结构体描述多层级数据关系: struct Address {string city;string street;int zipCode; };struct Employee {string name;int id;…

leetcode题解450:删除BST中的结点!调整二叉树的结构最难!

一、题目内容 题目要求删除二叉搜索树(BST)中值为 key 的节点,并保证删除后二叉搜索树的性质不变。返回删除节点后的二叉搜索树的根节点的引用。一般来说,删除节点可分为两个步骤:首先找到需要删除的节点;如…

让 Kubernetes (K8s) 集群 使用 GPU

要让 Kubernetes (K8s) 集群 使用 GPU,并且节点是 KVM 虚拟化 出来的,需要确保以下几点: KVM 虚拟机透传 GPU(PCIe Passthrough) 宿主机和 K8s 节点正确安装 NVIDIA 驱动 K8s 集群安装 nvidia-device-plugin Pod 配…

Android第十七次面试总结(Java数据结构)

一、Java 集合体系核心架构与高频考点 1. 集合体系架构图 Java集合框架 ├─ Collection(单列集合) │ ├─ List(有序、可重复) │ │ ├─ ArrayList(动态数组,随机访问快) │ │ ├─…

Linux 删除登录痕迹

本文介绍相对彻底的删除 Linux 的登录痕迹,操作前确保已经可以拿到能提权ROOT令牌的系统管理权限。 当然,仍可以先查阅以下文章。 Linux 删除用户终端命令行操作记录-CSDN博客 1、清楚当前会话记录 history -c # 清空当前终端内存中的历史命令 2、永…

Lighttpd 配置选项介绍

根据提供的 Lighttpd 配置选项文档(https://redmine.lighttpd.net/projects/lighttpd/wiki/Docs_ConfigurationOptions ),以下是所有配置选项的详细解释、作用及适用场景,按模块分组说明: 以下是对 Lighttpd 配置选项 …

解决本地部署 SmolVLM2 大语言模型运行 flash-attn 报错

出现的问题 安装 flash-attn 会一直卡在 build 那一步或者运行报错 解决办法 是因为你安装的 flash-attn 版本没有对应上,所以报错,到 https://github.com/Dao-AILab/flash-attention/releases 下载对应版本,cu、torch、cp 的版本一定要对…

Python 训练营打卡 Day 40-训练和测试的规范写法

一.单通道图片的规范写法 以之前的MNIST数据集为例 import torch import torch.nn as nn import torch.optim as optim from torch.utils.data import DataLoader , Dataset # DataLoader 是 PyTorch 中用于加载数据的工具 from torchvision import datasets, transforms # t…

Java 枚举(Enum)的使用说明

在 Java 中,枚举(Enum)是一种特殊的数据类型,用于定义一组固定的命名常量。它比传统的常量(如 public static final)更安全、更灵活,且支持面向对象特性。以下是枚举的详细用法: 1. …

Docker部署Nginx-UI

使用如下命令拉取运行nginx-ui软件 docker run -dit \ --namenginx-ui \ --restartalways \ -e TZAsia/Shanghai \ -v /mnt/user/appdata/nginx:/etc/nginx \ -v /mnt/user/appdata/nginx-ui:/etc/nginx-ui \ -v /var/run/docker.sock:/var/run/docker.sock \ -…

OkHttp 3.0源码解析:从设计理念到核心实现

本文通过深入分析OkHttp 3.0源码,揭示其高效HTTP客户端的实现奥秘,包含核心设计理念、关键组件解析、完整工作流程及实用技巧。 一、引言:为什么选择OkHttp? 在Android和Java生态中,OkHttp已成为HTTP客户端的标准选择…

洛谷P12170 [蓝桥杯 2025 省 Python B] 攻击次数

题目传送门 思路 首先定义一个数 n n n ,初值为 2025 2025 2025,从第一回合开始,三个英雄持续攻击,攻击方式为: 第一个英雄: 每回合攻击 5 5 5

百度之星2021——BD202104 萌新

输入格式: 本题有多组测试数据。 第一行一个数 T (1 ≤ T ≤ 1000) 表示一共有 T 组数据。对于每一组数据,输入一行两个数 a,b (1 ≤ a,b ≤ 1000000000)。 输出格式: 对每组数据,输出一行两个数分别表示最小与最大的 c&#xff0…

R语言ICU患者死亡率预测实战

【图书推荐】《R语言医学数据分析实践》-CSDN博客 《R语言医学数据分析实践 李丹 宋立桓 蔡伟祺 清华大学出版社9787302673484》【摘要 书评 试读】- 京东图书 (jd.com) 预测ICU患者死亡率对比较药物的疗效、比较护理的有效性、比较手术的有效性有重要意义,利用机…

leetcode240-搜索二维矩阵

leetcode 240 思路 1. 矩阵特性 首先,利用矩阵的特性是解题的关键: 每行的元素递增每列的元素递增 这意味着,如果我们在矩阵中从右上角或左下角开始搜索,可以有效缩小搜索范围 2. 从右上角开始搜索 将搜索的起点定位在矩阵…

Linux相关概念和易错知识点(42)(TCP的连接管理、可靠性、面临复杂网络的处理)

目录 1.TCP的连接管理机制(1)三次握手①握手过程②对握手过程的理解 (2)四次挥手(3)握手和挥手的触发(4)状态切换①挥手过程中状态的切换②握手过程中状态的切换 2.TCP的可靠性&…

【web应用】若依框架:若依框架中的页面跳转简介

文章目录 ⭐前言1. 后端控制器跳转2. 前端路由跳转3. 菜单配置跳转4. 权限控制跳转5. 常见跳转路径 ⭐一、主目录页面跳转⭐二、菜单目录跳转⭐总结 标题详情作者JosieBook头衔CSDN博客专家资格、阿里云社区专家博主、软件设计工程师博客内容开源、框架、软件工程、全栈&#x…

MS9292+MS9332 HD/DVI转VGA转换器+HD环出带音频

MS9292MS9332是一款HD/DVI转VGA转换器HD环出带音频的视频转换方案。支持HD/DVI输入,VGA输出和HD环出,HD/DVI输入最高支持1920120060Hz,VGA输出最高支持1920120060Hz,HD环出最高支持4K30Hz。该方案已实现量产,并提供完善…

C++初阶-list的模拟实现(难度较高)

1.list(容器,不是类)模拟实现基本结构 这个实现是和源码的实现不同的,不要进行强制类型转换了,很麻烦。我们把定义放在.h文件中,在.cpp中放测试代码。 注:这个基本结构之后会改变,…

【ROS】Nav2源码之nav2_behavior_tree-行为树节点列表

1、行为树节点分类 在 Nav2(Navigation2)的行为树框架中,行为树节点插件按照功能分为 Action(动作节点)、Condition(条件节点)、Control(控制节点) 和 Decorator(装饰节点) 四类。 1.1 动作节点 Action 执行具体的机器人操作或任务,直接与硬件、传感器或外部系统…