【Machine Learning Q and AI 读书笔记】- 01 嵌入、潜空间和表征
Machine Learning Q and AI
中文译名 大模型技术30讲,主要总结了大模型相关的技术要点,结合学术和工程化,对LLM从业者来说,是一份非常好的学习实践技术地图.
本文是Machine Learning Q and AI
读书笔记的第1篇,对应原书第一章 《嵌入、潜空间和表征》.
TL;DR
本文介绍嵌入向量,表征,和潜空间这些概念, 核心是嵌入向量.
术语
- 嵌入向量(Embedding Vector)
- 表征 (Representations)
- 潜空间 (Latent Space)
嵌入向量 (Embeddings)
Embedding vectors, or embeddings for short, encode relatively high-dimensional data into relatively low-dimensional vectors.
嵌入向量,是把高维的数据通过encode的方法,转换成低维的向量. 如果有BERT
使用经验,会第一反应,embedding vector算是低维吗,BERT输出的向量是有768维的. 弄清这个问题,我们可以借助AI
实际上,高维和低维的转换取决于具体的应用场景和目标。下面我来详细解释一下为什么会有这种“低维嵌入”的说法,以及它和高维映射的区别。
1. 为什么要把数据编码成低维向量?
在机器学习和数据处理中,数据往往具有很高的维度。例如,一张图片可能有数百万个像素,每个像素是一个维度;一个文本数据可能包含成千上万个单词或字符,每个单词或字符也可以看作一个维度。这种高维数据在实际处理中会面临很多问题:
- 计算复杂度高:高维数据的处理需要大量的计算资源,尤其是在进行复杂的数学运算(如矩阵乘法、优化算法等)时。
- 存储成本高:高维数据需要占用大量的存储空间。
- “维度灾难”:随着维度的增加,数据的稀疏性会变得非常严重,即数据点在高维空间中变得非常分散,很难找到有效的模式或规律。
为了解决这些问题,我们通常会将高维数据映射到低维空间,这就是所谓的“嵌入”(embedding)。通过嵌入,我们可以保留数据的重要特征,同时减少计算和存储成本,并且更容易发现数据中的模式。
2. 嵌入是如何工作的?
嵌入的目的是将数据从一个高维空间映射到一个低维空间,同时尽量保留原始数据的结构和语义信息。例如:
- 文本嵌入:在自然语言处理中,每个单词可以被表示为一个高维的独热编码(one-hot encoding),其维度等于词汇表的大小。但这种表示方式维度很高且稀疏。通过嵌入技术(如Word2Vec、GloVe等),可以将每个单词映射到一个低维的稠密向量空间中,这些低维向量能够更好地捕捉单词之间的语义关系。
- 图像嵌入:在计算机视觉中,一张图片可以被表示为一个高维的像素矩阵。通过卷积神经网络(CNN)等技术,可以将图片映射到一个低维的特征空间,这些特征向量能够更好地表示图片的语义内容(如物体类别、场景等)。
3. 为什么不是映射到高维空间?
你提到的“映射到高维空间”也有其应用场景,比如在某些核方法(kernel methods)中,会将数据映射到一个更高维的特征空间,以便更好地处理非线性关系。但这种高维映射通常是为了找到更好的特征表示,而不是为了减少维度。例如:
- 核方法:通过核函数将数据映射到一个高维的希尔伯特空间,在这个空间中,数据可能更容易被线性分割。但这种高维空间通常是隐式的,我们并不直接计算高维空间中的坐标,而是通过核函数来计算高维空间中的内积,从而避免了高维空间带来的计算复杂度问题。
4. 总结
- 低维嵌入:是为了减少数据的维度,降低计算和存储成本,同时保留数据的重要特征和语义信息。这是数据预处理和特征工程中的一个重要步骤,广泛应用于自然语言处理、计算机视觉等领域。
- 高维映射(如核方法):是为了更好地处理非线性关系,通过映射到高维空间来找到更好的特征表示,但这种高维空间通常是隐式的,不会直接计算高维坐标。
潜空间
潜空间和嵌入空间是同义词
表征
原文的表征表述太简洁了,这里做一下补充。
在机器学习领域,“表征”(Representation)是指数据的表示形式或编码方式。它描述了如何将原始数据转换为机器学习模型可以理解和处理的形式。表征的质量直接影响模型的性能,因为好的表征能够更好地捕捉数据中的关键特征和模式。
1. 表征的重要性
在机器学习中,数据的表征决定了模型能够学习到的信息。如果表征能够有效地捕捉数据中的重要特征,模型就更容易学习到有用的模式;反之,如果表征不佳,即使模型再复杂,也可能无法取得好的效果。因此,表征学习(Representation Learning)是机器学习中的一个重要研究方向。
2. 表征的类型
表征可以有不同的形式,具体取决于数据的类型和应用场景。以下是一些常见的表征方式:
(1)数值表征
- 连续数值:对于数值型数据(如温度、价格等),可以直接使用其原始数值作为表征。
- 离散数值:对于离散型数据(如类别标签),可以使用独热编码(One-Hot Encoding)或整数编码(Integer Encoding)等方式将其转换为数值形式。
(2)文本表征
- 词嵌入(Word Embedding):将单词或短语映射到低维向量空间中,常见的方法有Word2Vec、GloVe和BERT等。这些嵌入向量能够捕捉单词之间的语义关系。
- 文本序列:将文本表示为单词或字符的序列,例如在自然语言处理中,可以将句子表示为单词的序列,或者将文档表示为句子的序列。
(3)图像表征
- 像素表征:将图像表示为像素矩阵,每个像素的值可以是灰度值或RGB值。
- 特征提取:通过卷积神经网络(CNN)等方法提取图像的高级特征,将图像表示为特征向量。这些特征向量能够更好地捕捉图像的语义内容。
(4)图结构表征
- 节点嵌入(Node Embedding):将图中的节点映射到低维向量空间中,常见的方法有Node2Vec、DeepWalk等。这些嵌入向量能够捕捉节点之间的结构关系。
- 图嵌入(Graph Embedding):将整个图映射到低维向量空间中,用于图分类、图匹配等任务。
3. 表征学习
表征学习是指自动学习数据的有效表征,而不是手动设计表征。这是深度学习的核心思想之一。例如:
- 自编码器(Autoencoder):通过编码器将输入数据压缩为低维表征,然后通过解码器重建输入数据。编码器的输出就是数据的低维表征。
- 卷积神经网络(CNN):通过卷积层和池化层提取图像的特征,这些特征就是图像的表征。
- Transformer架构:通过自注意力机制学习文本的上下文表征,BERT和GPT等模型都是基于Transformer架构的。
4. 好的表征应该具备哪些特性?
好的表征应该能够满足以下条件:
- 信息保留:能够保留原始数据中的关键信息。
- 低冗余:表征中的特征应该是独立的,避免冗余信息。
- 可解释性:表征的含义应该是可解释的,便于理解和分析。
- 泛化能力:表征应该能够泛化到新的数据上,而不仅仅是拟合训练数据。
5. 总结
表征是机器学习中的一个核心概念,它决定了数据如何被模型理解和处理。通过有效的表征学习,我们可以将复杂的数据转换为模型更容易处理的形式,从而提高模型的性能。
相关文章:
【Machine Learning Q and AI 读书笔记】- 01 嵌入、潜空间和表征
Machine Learning Q and AI 中文译名 大模型技术30讲,主要总结了大模型相关的技术要点,结合学术和工程化,对LLM从业者来说,是一份非常好的学习实践技术地图. 本文是Machine Learning Q and AI 读书笔记的第1篇,对应原…...
[Agent]AI Agent入门02——ReAct 基本理论与实战
ReAct介绍 ReAct(Reasoning and Acting)是一种通过协同推理(Reasoning)与行动(Acting)提升大语言模型(LLM)任务解决能力的技术。其核心思想是在解决复杂问题时交替生成推理和动作&a…...
uniapp自定义头部(兼容微信小程序(胶囊和状态栏),兼容h5)
很早之前就写过自定义头部,但是那时偷懒写死了,现在用插槽重新写了个 有两种形式: type1是完全自定义的,可以自己去组件改也可以用插槽改 type2是正常的返回标题和右边按钮,使用就是 title"标题" rightClic…...
mybatis的xml ${item}总是更新失败
场景 代码如下 void updateStatus(Param("deviceSerialIdCollection") Collection<String> deviceSerialIdCollection, Param("status") Integer status);<update id"updateStatus">UPDATE gb_monitor SET online#{status} WHERE d…...
数据库- JDBC
标题目录 JDBC基本概念JDBC 接口JDBC 工作原理 JDBC APIJDBC工作过程Driver 接口及驱动加载Connection 接口Statemen 接口ResultSet 接口PreparedStatement 接口 JDBC 基本概念 Java Database Connectivity:java访问数据库的解决方案希望用相同的方式访问不同的数…...
[26] cuda 应用之 nppi 实现图像格式转换
[26] cuda 应用之 nppi 实现图像格式转换 讲述 nppi 接口定义通过nppi实现 bayer 格式转rgb格式官网参考信息:http://gwmodel.whu.edu.cn/docs/CUDA/npp/group__image__color__debayer.html#details1. 接口定义 官网关于转换的原理是这么写的: Grayscale Color Filter Array …...
MYSQL-OCP官方课程学习截图
第一节 介绍...
医院信息管理系统全解析
目录 一、医院信息管理系统是什么 1. 概念阐释 2. 核心功能概述 二、医院信息管理系统的种类 1. 医院信息系统(HIS) 2. 电子病历系统(EMR) 3. 实验室信息管理系统(LIS) 三、医院信息管理系统的实际…...
模型上下文协议(MCP):技术解析与生态发展
一、概念与目标 模型上下文协议(Model Context Protocol,MCP)是由Anthropic于2024年11月推出的开源协议,旨在为大语言模型(LLM)与外部工具、数据源提供标准化的双向通信框架。其核心目标是打破数据孤岛&am…...
laravel中layui的table翻页不起作用问题的解决
本地测试是好的,部署的时候就发现,翻页不起作用了。但lay_num序号是可以变化的,查看api接口传递的数据,发现数据没有变化,加上page2等翻页,也是不起作用,看来是url参数返回给后台,后…...
python上测试neo4j库
安装完了neo4j库后,如何使用。用python来小试牛刀 1.从其他博客上找来demo #coding:utf-8 from py2neo import Graph,Node,Relationship##连接neo4j数据库,输入地址、用户名、密码 graph Graph(bolt://xx.xx.xx.xx:7687,userneo4j,passwordneo4j1234)…...
云原生周刊:Kubernetes v1.33 正式发布
开源项目推荐 Robusta Robusta 是一个开源的 K8s 可观测性与自动化平台,旨在增强 Prometheus 告警的智能化处理能力。它通过规则和 AI 技术对告警进行丰富化处理,自动附加相关的 Pod 日志、图表和可能的修复建议,支持智能分组、自动修复和高…...
网络安全入门综述
引言 在数字化时代,网络安全(Cybersecurity)已成为保护个人、企业和政府机构免受数字威胁的关键领域。随着互联网的普及、云计算的兴起以及物联网(IoT)设备的激增,网络攻击的频率和复杂性不断增加。从数据…...
LLaMA-Factory部署以及大模型的训练(细节+新手向)
LLaMA-Factory 经过一段时间的探索,从手动编写训练代码到寻求框架辅助训练,遇到了各种各样的问题。前面我介绍了dify的部署,但是并没有详细介绍使用方式,是因为我在尝试利用dify的时候碰到了很多困难,总结下来首先就是…...
ASP.NET MVC 入门指南四
21. 高级路由配置 21.1 自定义路由约束 除了使用默认的路由约束,你还可以创建自定义路由约束。自定义路由约束允许你根据特定的业务逻辑来决定一个路由是否匹配。例如,创建一个只允许特定年份的路由约束: csharp public class YearRouteCo…...
rabbitmq-集群部署
场景:单个pod,部署在主节点,基础版没有插件,进阶版多了一个插件 基础版本: --- apiVersion: v1 kind: PersistentVolume metadata:name: rabbitmq-pv spec:capacity:storage: 5GiaccessModes:- ReadWriteOncestorage…...
明远智睿SSD2351开发板:开启工业控制新征程
在工业控制领域,对开发板的性能、稳定性和扩展性有着极高的要求。明远智睿的SSD2351开发板凭借其卓越的特性,为工业控制带来了全新的解决方案。 SSD2351开发板搭载四核1.4GHz处理器,强大的运算能力使其在处理工业控制中的复杂任务时游刃有余。…...
RISCV学习(5)GD32VF103 MCU架构了解
RISCV学习(5)GD32VF103 MCU架构了解 1、芯片内核功能简介 GD32VF103 MCU架构,采用Bumblebee内核,芯来科技(Nuclei System Technology)与台湾晶心科技(Andes Technology)联合开发&am…...
IDEA2022.3开启热部署
1、开启IDEA的自动编译 1.1 具体步骤:打开顶部工具栏 File -> Settings -> Build,Execution,Deployment -> Compiler 然后勾选 Build project automatically 。 1.2 打开顶部工具栏 File -> Settings -> Advanced Settings -> Compiler -> 然…...
《算法吞噬幻想乡:GPT-4o引发的艺术平权运动与版权核爆》
一、引言:现象级AI艺术事件的社会回响 GPT - 4o吉卜力风格刷屏现象 在当今数字化浪潮中,GPT - 4o吉卜力风格的作品在网络上掀起了一阵刷屏热潮。吉卜力工作室以其独特的水彩质感、奇幻氛围和孤独美学,在全球范围内拥有大量粉丝。而GPT - 4o强…...
yolov5 源码 +jupyter notebook 笔记 kaggle
YOLOv5 | Kaggle 直接用的githuab的源码,git clone 后output才有文件 直接gitclone他的源码用Vscode看 好久没见过16g了 怎么这么便宜 https://gadgetversus.com/graphics-card/nvidia-tesla-p100-pcie-16gb-vs-nvidia-geforce-rtx-4060/#google_vignette 好的&am…...
聊天室系统:多任务版TCP服务端程序开发详细代码解释
1. 需求 目前我们开发的TCP服务端程序只能服务于一个客户端,如何开发一个多任务版的TCP服务端程序能够服务于多个客户端呢? 完成多任务,可以使用线程,比进程更加节省内存资源。 2. 具体实现步骤 编写一个TCP服务端程序,循环等…...
Python(15)迭代器和生成器
在 Python 编程领域中,迭代器和生成器是两个强大且独特的概念,它们为处理数据序列提供了高效且灵活的方式。这篇博客将结合菜鸟教程内容,通过丰富的代码示例,深入学习 Python3 中的迭代器与生成器知识,方便日后复习回顾…...
无刷空心杯电机及机器人灵巧手的技术解析与发展趋势
一、无刷空心杯电机结构与技术解析 1. 核心结构设计 无刷空心杯电机的核心设计突破在于无铁芯转子与电子换向系统的结合。其结构由以下关键部分构成: 定子组件:采用印刷电路板(PCB)或柔性电路板(FPC)作为绕组载体,通过三维绕线技术形成空心杯状绕组,彻底消除齿槽效应…...
如何修复卡在恢复模式下的 iPhone:简短指南
Apple 建议使用恢复模式作为最后的手段,以便在 iPhone 启动循环或显示 Apple 标志时恢复 iPhone。这是解决持续问题的简单方法,但您很少使用。但是,当您的 iPhone 卡住恢复模式本身时,您会怎么做?虽然 iPhone 卡在这种…...
蒋新松:中国机器人之父
名人说:路漫漫其修远兮,吾将上下而求索。—— 屈原《离骚》 创作者:Code_流苏(CSDN)(一个喜欢古诗词和编程的Coder😊) 蒋新松:中国机器人之父 一、生平简介 1. 早年经历与求学道路 蒋新松出生…...
[Windows] MousePlus 5.5.9
[Windows] MousePlus 链接:https://pan.xunlei.com/s/VOOwKJ281kDaZV5_MpP1COd_A1?pwdn69c# MousePlus是一款轻便小巧的鼠标右键增强工具,使用鼠标右键拖动即可唤醒鼠标轮盘,这个功能界面和quicker的轮盘软件界面一样,操作逻辑…...
BT131-ASEMI无人机专用功率器件BT131
编辑:ll BT131-ASEMI无人机专用功率器件BT131 型号:BT131 品牌:ASEMI 封装:TO-92 批号:最新 引脚数量:3 特性:双向可控硅 工作温度:-40℃~150℃ 在智能化浪潮中,…...
ETL架构、数据建模及性能优化实践
ETL(Extract, Transform, Load)和数据建模是构建高性能数据仓库的核心环节。下面从架构设计、详细设计、数据建模方法和最佳实践等方面系统阐述如何优化性能。 一、ETL架构设计优化 1. 分层架构设计 核心分层: 数据源层:对接O…...
30分钟上架鸿蒙原生应用,即时通信IM UI组件库全面适配HarmonyOS 原
自去年 10 月 8 日鸿蒙5开启公测以来,鸿蒙操作系统不断迭代,生态趋向稳健。当前,支持HarmonyOS操作系统的设备数量已超过 10 亿,上架HarmonyOS 5 应用市场的鸿蒙原生应用和元服务已超过2万个。这无疑为广大开发者提供了丰富的应用…...
【虚幻5蓝图Editor Utility Widget:创建高效模型材质自动匹配和资产管理工具,从3DMax到Unreal和Unity引擎_系列第二篇】
虚幻5蓝图Editor Utility Widget 一、基础框架搭建背景:1. 创建Editor Utility Widget2.根控件选择窗口3.界面功能定位与阶段4.查看继承树5.目标效果 二、模块化设计流程1.材质替换核心流程:2.完整代码如下 三、可视化界面UI布局1. 添加标题栏2. 构建滚动…...
机器学习第三篇 模型评估(交叉验证)
Sklearn:可以做数据预处理、分类、回归、聚类,不能做神经网络。原始的工具包文档:scikit-learn: machine learning in Python — scikit-learn 1.6.1 documentation数据集:使用的是MNIST手写数字识别技术,大小为70000,数据类型为7…...
php数据库连接
前言 最近在学习php,刚好学习到了php连接数据库记录一下 总结 //1、与mysql建立连接$conn mysql_connect("127.0.0.1","root","root");//设置编码mysql_set_charset(utf8);//2、选择要操作的数据库mysql_select_db("xuesheng…...
Android Studio学习记录1
Android Studio打包APK 本文为个人学习记录,仅供参考,如有错误请指出。本文主要记录在Android Studio中开发时遇到的问题和回答。 随着学习的深入,项目完成并通过测试之后免不了需要进入打包环节。这篇文章主要记录一下尝试打包APK的过程。我…...
【JAVA ee初阶】多线程(3)
一、出现线程安全的原因 1.【根本原因】线程的调度执行时随机的(抢占式执行)->罪魁祸首 2.多个线程同时修改同一个变量 如果是一个线程修改一个变量 或者 多个线程读取同一个变量 或者 多个线程修改不同变量 这些都没事。 3.修改操作不是原子的&a…...
【Java ee初阶】多线程(4)
一、java是怎么做到可重入的 java中,通过synchronized进行加锁,指定一个()包含了一个锁对象。(锁对象本身是一个啥样的对象,这并不重要,重点关注锁对象是不是同一个对象) 后面搭配…...
Day15(贪心算法)——LeetCode121.买卖股票的最佳时机55.跳跃游戏
1 LeetCode121.买卖股票的最佳时机(LeetCode121) 1.1 题目描述 题目描述如下: 示例如下: 1.2 问题分析及解决 要求最大利润,即当天与之前天的价格之差最大值。因此我们可以遍历数组,记录下当前遇到的最小值,然后用当天的价…...
2025汽车制造企业数字化转型路径参考
以应用场景作为切入点,引导相关企业推进数字化深度转型和规模化改造,是目前实践探索出来的一条可行路径。 汽车制造行业是相对集聚的制造业领域,通过搭建“转型场景图谱——转型通用工具——转型路径指引”分析框架,聚焦需求侧共…...
雷池WAF的身份认证 - GitHub
雷池支持通过 GitHub 认证的方式,让用户使用 GitHub 身份安全登录应用或网站。使用此功能需要 GitHub 账号 。 第一步:在 GitHub 创建一个 OAuth 应用 可参阅 GitHub 官方文档,创建一个 GitHub OAuth 应用,并获取应用的 ClientI…...
【Linux】第十二章 安装和更新软件包
目录 1. 什么是RPM? 2. dnf是什么,它和rpm有什么联系和区别? 3. RHEL 中如何做才能启用对第三方存储库的支持? 4. 怎么理解RHEL9中的应用流(Application Streams)和模块(Modules)? 5. RHEL9 有两个必要的软件存储…...
【权限模型】RBAC模型详解
大家好,我是jstart千语。今天给大家介绍一下鉴权模型RBAC,传统的鉴权模式就是基于用户和权限之间的多对多关系。而RBAC就更加的精准,更好管理。 RBAC介绍 RBAC(Role-Based Access Control)是一种通过角色(…...
tree命令
tree [选项] [目录...] 指定要显示的目录。如果没有指定目录,tree 会显示当前目录及其子目录结构。 常用选项 -a 显示所有文件和目录,包括隐藏文件(以 . 开头的文件)。 -d 只显示目录,不显示文件。 -L LEVEL …...
【Vue.js】组件数据通信:基于Props 实现父组件→子组件传递数据(最基础案例)
概览 前言父子通信流程关键技术点关键规则 实战1. 在父组件中注册子组件2. 子组件接收父组件传入的数据补充与总结 前言 在 Vue 3 中,父组件向子组件传递数据是通过props实现的。父组件在子组件的标签上绑定数据,子组件通过定义props接收这些数据。这种…...
信创时代技术栈选择与前景分析:国产替代背景下的战略路径与实践指南
🧑 博主简介:CSDN博客专家、CSDN平台优质创作者,高级开发工程师,数学专业,10年以上C/C, C#, Java等多种编程语言开发经验,拥有高级工程师证书;擅长C/C、C#等开发语言,熟悉Java常用开…...
Python内置方法干货总结
如果你还在为提升Python代码能力发愁,那么掌握内置方法就是你的捷径!很多初学者和进阶者忽略了这一“宝藏”,其实,Python的内置方法不仅能让你代码更简洁,还能大幅提升开发效率。今天,咱们就来一次系统梳理…...
小草GrassRouter多卡聚合路由器聚合卫星、MESH网络应用解决方案
一、多网融合解决方案 卫星网络融合 支持接入卫星通信模块,在无地面网络覆盖的极端场景(如偏远山区、海洋救援)下,形成“5G卫星”双链路冗余传输,卫星链路可作为核心通信备份,确保关键指令和视频数据实…...
Spring反射机制
Spring反射机制 反射机制是加载类时,在运行时动态地获取类的信息,并且可以操作类或对象的属性、方法、构造函数等成员的能力。在 Java 里,反射机制的实现主要依赖于 java.lang.reflect 包下的多个类,以及 java.lang 包中的 Class…...
PCB硬件电路设计_pcb布线设计
1.MCU最小系统电路 这些电路都会非常接近MCU,他们的可靠性决定了MCU能否正常工作。 外围电路,为了布线整齐美观,尽量避免打过多的通孔。在布局的时候走线的顺序和元器件顺序尽可能的保持一直避免走线交叉。 2.晶振电路布线 一般情况下我们…...
Qt开发:XML文件的写入与读取
文章目录 一、使用 QDomDocument操作节点1.1 将信息写入XML文件中1.2.从XML文件中读取信息 二、使用 QXmlStreamWriter操作节点2.1 将信息写入XML文件中2.2 从XML文件中读取信息 三、总结 一、使用 QDomDocument操作节点 1.1 将信息写入XML文件中 #include <QDomDocument&…...
PCI/PXI 总线的可编程电阻卡
701X 系列是阿尔泰科技基于 PCI/PXI 总线的可编程电阻卡,多种电阻范围可选,稳定性好;准确 度低至 0.2%;分辨率设置精细,可低至 0.125Ω,适用于传感器仿真应用。 701X 系列高精度程控电阻模块具有高设置分辨…...