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

多模态学习( 二 )——Token与Embedding的区别:从文本到向量空间的旅程

前言

在自然语言处理(NLP)中,我们常常听到“Token”和“Embedding”这两个术语。它们看似相似,却扮演着完全不同的角色。理解它们的区别,是入门NLP模型(如BERT、GPT)的关键一步。本文将通过类比和实例,带你彻底搞懂这两个概念。

一、Token:文本的“积木块”

定义:Token是文本分割后的最小单位,相当于语言模型的“积木”。
核心作用:将人类可读的文本转换为模型可处理的离散符号。

关键特性

  1. 离散性:Token本身是符号(如单词、子词或字符),没有数值意义。
    • 示例:句子"Let's learn NLP!" → Tokens ["Let", "'s", "learn", "NLP", "!"]
  2. 分割策略
    • 单词级:直接按空格分割(简单但词汇表庞大)。
    • 子词级(如BPE算法):将长词拆分为子词(例如"unhappy"["un", "happy"]),平衡词汇表大小与语义保留。

为什么需要Token?

模型无法直接处理原始文本,Token化是将文本“翻译”为模型语言的第一步。

二、Embedding:Token的“数学化身”

定义:Embedding是将Token映射到连续向量空间的稠密向量,赋予符号数学意义。
核心作用:让模型能够计算Token之间的语义关系(如相似性、关联性)。

关键特性

  1. 连续性:每个Token对应一个高维浮点数向量(如300维)。
    • 示例:"cat"[0.2, -1.3, 0.8, ...]
  2. 语义编码:通过训练(如Word2Vec、Transformer),相似的Token向量距离更近。
    • 例如:"king" - "man" + "woman" ≈ "queen"

Embedding如何生成?

  • 静态Embedding(如Word2Vec):每个Token的向量固定。
  • 动态Embedding(如BERT):同一Token在不同上下文中的向量不同。

三、Token与Embedding的关系

处理流程

  1. 文本 → Token化:拆解为离散符号。
  2. Token → Embedding层:查表或模型生成向量。
  3. Embedding → 模型计算:输入神经网络进行训练或推理。

类比理解

  • Token 像字母表中的字母,Embedding 则是每个字母的摩斯电码。
  • Token 是书店里的书名,Embedding 是书的内容摘要。

四、常见问题

1. 为什么不用One-Hot编码代替Embedding?

One-Hot向量稀疏且维度高(词汇表多大维度就多高),无法表达语义关系;Embedding是低维稠密向量,可计算相似性。

2. 同一个Token的Embedding会变化吗?

  • 在Word2Vec中不会(静态)。
  • 在BERT中会(动态,依赖上下文)。

五、总结

维度TokenEmbedding
本质离散符号(文本/ID)连续数值向量
是否含语义
生成方式分词算法(如BPE)训练学习(如神经网络)

一句话记忆

Token是文本的“形式”,Embedding是文本的“灵魂”。

http://www.xdnf.cn/news/6879.html

相关文章:

  • 手动实现 Transformer 模型
  • QT+EtherCAT 主站协议库—SOEM主站
  • 什么是差分传输?
  • 免费代理IP服务有哪些隐患?如何安全使用?
  • 智力题整理汇总版
  • 高频面试题(含笔试高频算法整理)基本总结回顾61
  • 浅谈前端架构设计与工程化
  • 【降维】t-SNE
  • 腾讯 CodeBuddy 杀入 AI 编程赛道,能否撼动海外工具霸主地位?
  • 力扣-283-移动零
  • 中文分词与数据可视化01
  • 板对板连接器极限测试:振动、温差与盐雾三重挑战下的生存实录
  • 我的世界模组开发——特征(2)
  • 【Linux内核】设备驱动之块设备介绍
  • 连续赋值?多变量初始化?变量初始化?赋值运算符?
  • Kotlin 作用域函数(let、run、with、apply、also)对比
  • OCC笔记:Brep格式
  • 文章记单词 | 第94篇(六级)
  • Java 面向对象进阶:抽象类与接口的舞蹈
  • 基于C语言的歌曲调性检测技术解析
  • TTS:F5-TTS 带有 ConvNeXt V2 的扩散变换器
  • bitmap/hyperloglog/GEO详解与案例实战
  • 永久免费!专为 Apache Doris 打造的可视化数据管理工具 SelectDB Studio V1.1.0 重磅发布!
  • C语言程序设计期末复习
  • 初探Reforcement Learning强化学习【QLearning/Sarsa/QCN】
  • 强化学习中,frames(帧)和 episodes(回合)
  • 【Mysql】详解InnoDB存储引擎以及binlog,redelog,undolog+MVCC
  • 多指标组合策略
  • 微信小程序开发
  • 数学复习笔记 18