大语言模型中one-hot编码和embedding之间的区别?
- 创业
- 2025-09-09 06:00:02

1. 维度与稀疏性 One-Hot编码
定义:每个词被表示为一个高维稀疏向量,维度等于词汇表大小。例如,词汇表有10,000个词,每个词对应一个10,000维的向量,其中仅有一个位置为1(表示当前词),其余为0。 缺点: 维度灾难:词汇表越大,向量维度越高,导致存储和计算成本激增。 稀疏性:向量中大部分元素为0,难以有效利用数据中的统计规律。 Embedding
定义:将词映射到一个低维稠密向量(如300维),所有元素均为实数。 优点: 低维稠密:显著降低计算复杂度,适合深度学习模型。 可学习性:向量值通过训练动态调整,捕捉词之间的语义关系。 2. 语义信息 One-Hot编码
无语义关联:所有词向量相互正交(点积为0),无法表达词之间的相似性。例如,“猫”和“狗”的One-Hot向量无任何关联。 Embedding
语义捕捉:通过训练,语义或语法相似的词在向量空间中距离更近。例如,“猫”和“狗”的向量可能在高维空间中邻近。 上下文感知:在Transformer等模型中,Embedding可结合位置编码,动态适应不同上下文(如“苹果”在“水果”和“公司”中的不同含义)。 3. 计算效率 One-Hot编码
矩阵运算低效:与神经网络权重矩阵相乘时(如全连接层),需要处理高维稀疏矩阵,计算资源浪费严重。 Embedding
高效计算:通过查表(Lookup Table)直接获取低维向量,避免了高维矩阵乘法。例如,词汇表索引i直接映射到嵌入矩阵的第i行。 4. 参数数量 One-Hot编码
参数爆炸:若词汇表大小为V,模型输入层到第一隐藏层的权重矩阵尺寸为V × H(H为隐藏层大小),当V=10^5时,参数数量极大。 Embedding
参数可控:嵌入矩阵尺寸为V × D(D为嵌入维度,通常D=300),参数量远小于One-Hot方案。例如,V=10^5, D=300时仅需3千万参数。 5. 应用场景 One-Hot编码
传统机器学习(如逻辑回归、SVM)中的简单特征表示。 类别型数据预处理(如标签编码)。 Embedding
几乎所有深度学习模型(如RNN、CNN、Transformer)的标配。 支持迁移学习(如复用预训练的Word2Vec、BERT嵌入)。 直观对比示例 One-Hot: 猫 → [0, 0, 1, 0, …, 0](10,000维) 狗 → [0, 1, 0, 0, …, 0](10,000维)
Embedding: 猫 → [0.2, -0.5, 1.3, …, 0.7](300维) 狗 → [0.3, -0.4, 1.1, …, 0.6](300维)
总结 特性 One-Hot编码 Embedding 维度 高维稀疏(V维) 低维稠密(D维,D≪V) 语义信息 无 可捕捉语义和语法关系 计算效率 低(稀疏矩阵运算) 高(直接查表) 参数数量 巨大(V×H) 较小(V×D) 主要用途 传统机器学习、简单分类 深度学习、语义相关任务 在大语言模型中,Embedding因其高效性和语义表达能力成为主流,而One-Hot编码仅在某些特定场景(如输出层的概率分布)中保留符号意义。
大语言模型中one-hot编码和embedding之间的区别?由讯客互联创业栏目发布,感谢您对讯客互联的认可,以及对我们原创作品以及文章的青睐,非常欢迎各位朋友分享到个人网站或者朋友圈,但转载请说明文章出处“大语言模型中one-hot编码和embedding之间的区别?”