当前位置: 首页 > article >正文

【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算法(尤其是表征学习、检索系统、生成模型)的核心前提。

相关文章:

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

在人工智能(AI)算法中,向量(Vector)是一种将现实世界中的数据(如图像、文本、音频等)转化为计算机可处理的数值型特征表示的工具。它是连接人类认知(如语义、视觉特征)与…...

基于Docker Compose部署Java微服务项目

一. 创建根项目 根项目&#xff08;父项目&#xff09;主要用于依赖管理 一些需要注意的点&#xff1a; 打包方式需要为 pom<modules>里需要注册子模块不要引入maven的打包插件&#xff0c;否则打包时会出问题 <?xml version"1.0" encoding"UTF-8…...

Psychopy音频的使用

Psychopy音频的使用 本文主要解决以下问题&#xff1a; 指定音频引擎与设备&#xff1b;播放音频文件 本文所使用的环境&#xff1a; Python3.10 numpy2.2.6 psychopy2025.1.1 psychtoolbox3.0.19.14 一、音频配置 Psychopy文档链接为Sound - for audio playback — Psy…...

反射获取方法和属性

Java反射获取方法 在Java中&#xff0c;反射&#xff08;Reflection&#xff09;是一种强大的机制&#xff0c;允许程序在运行时访问和操作类的内部属性和方法。通过反射&#xff0c;可以动态地创建对象、调用方法、改变属性值&#xff0c;这在很多Java框架中如Spring和Hiberna…...

Spring Boot面试题精选汇总

&#x1f91f;致敬读者 &#x1f7e9;感谢阅读&#x1f7e6;笑口常开&#x1f7ea;生日快乐⬛早点睡觉 &#x1f4d8;博主相关 &#x1f7e7;博主信息&#x1f7e8;博客首页&#x1f7eb;专栏推荐&#x1f7e5;活动信息 文章目录 Spring Boot面试题精选汇总⚙️ **一、核心概…...

VTK如何让部分单位不可见

最近遇到一个需求&#xff0c;需要让一个vtkDataSet中的部分单元不可见&#xff0c;查阅了一些资料大概有以下几种方式 1.通过颜色映射表来进行&#xff0c;是最正规的做法 vtkNew<vtkLookupTable> lut; //值为0不显示&#xff0c;主要是最后一个参数&#xff0c;透明度…...

linux 下常用变更-8

1、删除普通用户 查询用户初始UID和GIDls -l /home/ ###家目录中查看UID cat /etc/group ###此文件查看GID删除用户1.编辑文件 /etc/passwd 找到对应的行&#xff0c;YW343:x:0:0::/home/YW343:/bin/bash 2.将标红的位置修改为用户对应初始UID和GID&#xff1a; YW3…...

vue3 定时器-定义全局方法 vue+ts

1.创建ts文件 路径&#xff1a;src/utils/timer.ts 完整代码&#xff1a; import { onUnmounted } from vuetype TimerCallback (...args: any[]) > voidexport function useGlobalTimer() {const timers: Map<number, NodeJS.Timeout> new Map()// 创建定时器con…...

现代密码学 | 椭圆曲线密码学—附py代码

Elliptic Curve Cryptography 椭圆曲线密码学&#xff08;ECC&#xff09;是一种基于有限域上椭圆曲线数学特性的公钥加密技术。其核心原理涉及椭圆曲线的代数性质、离散对数问题以及有限域上的运算。 椭圆曲线密码学是多种数字签名算法的基础&#xff0c;例如椭圆曲线数字签…...

Module Federation 和 Native Federation 的比较

前言 Module Federation 是 Webpack 5 引入的微前端架构方案&#xff0c;允许不同独立构建的应用在运行时动态共享模块。 Native Federation 是 Angular 官方基于 Module Federation 理念实现的专为 Angular 优化的微前端方案。 概念解析 Module Federation (模块联邦) Modul…...

微服务商城-商品微服务

数据表 CREATE TABLE product (id bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT 商品id,cateid smallint(6) UNSIGNED NOT NULL DEFAULT 0 COMMENT 类别Id,name varchar(100) NOT NULL DEFAULT COMMENT 商品名称,subtitle varchar(200) NOT NULL DEFAULT COMMENT 商…...

论文解读:交大港大上海AI Lab开源论文 | 宇树机器人多姿态起立控制强化学习框架(一)

宇树机器人多姿态起立控制强化学习框架论文解析 论文解读&#xff1a;交大&港大&上海AI Lab开源论文 | 宇树机器人多姿态起立控制强化学习框架&#xff08;一&#xff09; 论文解读&#xff1a;交大&港大&上海AI Lab开源论文 | 宇树机器人多姿态起立控制强化…...

【Web 进阶篇】优雅的接口设计:统一响应、全局异常处理与参数校验

系列回顾&#xff1a; 在上一篇中&#xff0c;我们成功地为应用集成了数据库&#xff0c;并使用 Spring Data JPA 实现了基本的 CRUD API。我们的应用现在能“记忆”数据了&#xff01;但是&#xff0c;如果你仔细审视那些 API&#xff0c;会发现它们还很“粗糙”&#xff1a;有…...

C# 类和继承(抽象类)

抽象类 抽象类是指设计为被继承的类。抽象类只能被用作其他类的基类。 不能创建抽象类的实例。抽象类使用abstract修饰符声明。 抽象类可以包含抽象成员或普通的非抽象成员。抽象类的成员可以是抽象成员和普通带 实现的成员的任意组合。抽象类自己可以派生自另一个抽象类。例…...

【git】把本地更改提交远程新分支feature_g

创建并切换新分支 git checkout -b feature_g 添加并提交更改 git add . git commit -m “实现图片上传功能” 推送到远程 git push -u origin feature_g...

【配置 YOLOX 用于按目录分类的图片数据集】

现在的图标点选越来越多&#xff0c;如何一步解决&#xff0c;采用 YOLOX 目标检测模式则可以轻松解决 要在 YOLOX 中使用按目录分类的图片数据集&#xff08;每个目录代表一个类别&#xff0c;目录下是该类别的所有图片&#xff09;&#xff0c;你需要进行以下配置步骤&#x…...

从零实现STL哈希容器:unordered_map/unordered_set封装详解

本篇文章是对C学习的STL哈希容器自主实现部分的学习分享 希望也能为你带来些帮助~ 那咱们废话不多说&#xff0c;直接开始吧&#xff01; 一、源码结构分析 1. SGISTL30实现剖析 // hash_set核心结构 template <class Value, class HashFcn, ...> class hash_set {ty…...

Robots.txt 文件

什么是robots.txt&#xff1f; robots.txt 是一个位于网站根目录下的文本文件&#xff08;如&#xff1a;https://example.com/robots.txt&#xff09;&#xff0c;它用于指导网络爬虫&#xff08;如搜索引擎的蜘蛛程序&#xff09;如何抓取该网站的内容。这个文件遵循 Robots…...

css的定位(position)详解:相对定位 绝对定位 固定定位

在 CSS 中&#xff0c;元素的定位通过 position 属性控制&#xff0c;共有 5 种定位模式&#xff1a;static&#xff08;静态定位&#xff09;、relative&#xff08;相对定位&#xff09;、absolute&#xff08;绝对定位&#xff09;、fixed&#xff08;固定定位&#xff09;和…...

令牌桶 滑动窗口->限流 分布式信号量->限并发的原理 lua脚本分析介绍

文章目录 前言限流限制并发的实际理解限流令牌桶代码实现结果分析令牌桶lua的模拟实现原理总结&#xff1a; 滑动窗口代码实现结果分析lua脚本原理解析 限并发分布式信号量代码实现结果分析lua脚本实现原理 双注解去实现限流 并发结果分析&#xff1a; 实际业务去理解体会统一注…...

2025盘古石杯决赛【手机取证】

前言 第三届盘古石杯国际电子数据取证大赛决赛 最后一题没有解出来&#xff0c;实在找不到&#xff0c;希望有大佬教一下我。 还有就会议时间&#xff0c;我感觉不是图片时间&#xff0c;因为在电脑看到是其他时间用老会议系统开的会。 手机取证 1、分析鸿蒙手机检材&#x…...

什么是EULA和DPA

文章目录 EULA&#xff08;End User License Agreement&#xff09;DPA&#xff08;Data Protection Agreement&#xff09;一、定义与背景二、核心内容三、法律效力与责任四、实际应用与意义 EULA&#xff08;End User License Agreement&#xff09; 定义&#xff1a; EULA即…...

【决胜公务员考试】求职OMG——见面课测验1

2025最新版&#xff01;&#xff01;&#xff01;6.8截至答题&#xff0c;大家注意呀&#xff01; 博主码字不易点个关注吧,祝期末顺利~~ 1.单选题(2分) 下列说法错误的是:&#xff08; B &#xff09; A.选调生属于公务员系统 B.公务员属于事业编 C.选调生有基层锻炼的要求 D…...

DBAPI如何优雅的获取单条数据

API如何优雅的获取单条数据 案例一 对于查询类API&#xff0c;查询的是单条数据&#xff0c;比如根据主键ID查询用户信息&#xff0c;sql如下&#xff1a; select id, name, age from user where id #{id}API默认返回的数据格式是多条的&#xff0c;如下&#xff1a; {&qu…...

04-初识css

一、css样式引入 1.1.内部样式 <div style"width: 100px;"></div>1.2.外部样式 1.2.1.外部样式1 <style>.aa {width: 100px;} </style> <div class"aa"></div>1.2.2.外部样式2 <!-- rel内表面引入的是style样…...

uniapp微信小程序视频实时流+pc端预览方案

方案类型技术实现是否免费优点缺点适用场景延迟范围开发复杂度​WebSocket图片帧​定时拍照Base64传输✅ 完全免费无需服务器 纯前端实现高延迟高流量 帧率极低个人demo测试 超低频监控500ms-2s⭐⭐​RTMP推流​TRTC/即构SDK推流❌ 付费方案 &#xff08;部分有免费额度&#x…...

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

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

ElasticSearch搜索引擎之倒排索引及其底层算法

文章目录 一、搜索引擎1、什么是搜索引擎?2、搜索引擎的分类3、常用的搜索引擎4、搜索引擎的特点二、倒排索引1、简介2、为什么倒排索引不用B+树1.创建时间长,文件大。2.其次,树深,IO次数可怕。3.索引可能会失效。4.精准度差。三. 倒排索引四、算法1、Term Index的算法2、 …...

【Zephyr 系列 10】实战项目:打造一个蓝牙传感器终端 + 网关系统(完整架构与全栈实现)

🧠关键词:Zephyr、BLE、终端、网关、广播、连接、传感器、数据采集、低功耗、系统集成 📌目标读者:希望基于 Zephyr 构建 BLE 系统架构、实现终端与网关协作、具备产品交付能力的开发者 📊篇幅字数:约 5200 字 ✨ 项目总览 在物联网实际项目中,**“终端 + 网关”**是…...

Linux-07 ubuntu 的 chrome 启动不了

文章目录 问题原因解决步骤一、卸载旧版chrome二、重新安装chorme三、启动不了&#xff0c;报错如下四、启动不了&#xff0c;解决如下 总结 问题原因 在应用中可以看到chrome&#xff0c;但是打不开(说明&#xff1a;原来的ubuntu系统出问题了&#xff0c;这个是备用的硬盘&a…...