一、举例:餐点推荐

1. 实际问题场景

        假设我们正在开发一款餐点推荐应用,用户输入自己喜欢的餐点,应用会推荐相似的餐点。例如:"因为您喜欢煎饼,所以我们推荐可丽饼"。

数据准备

  • 收集5000种热门餐点数据集

  • 包括罗宋汤、热狗、沙拉、披萨、沙瓦玛等

  • 需要找到合适的数值表示方法

 

2. 独热编码(one-hot)的局限性

独热编码表示
        每种餐点用一个长度为5000的向量表示,只有对应位置为1,其他为0:

独热编码的问题

权重数量爆炸

  • 输入向量维度:5000

  • 第一隐藏层节点数:N

  • 需要训练的参数:5000 × N

  • 参数量随数据规模线性增长

计算资源挑战

  • 数据需求:参数越多,训练所需数据量越大

  • 计算复杂度:超出硬件处理能力

  • 内存占用:加速器内存需求巨大

  • 设备端部署困难:难以在移动设备运行

 

二、嵌入的基本概念

1. 什么是嵌入

        嵌入是稀疏数据的低维向量表示法,通过将高维空间投影到低维空间来发现数据的潜在结构。

核心思想

  • 用n个浮点数表示n维空间中的每个项

  • 数值范围通常介于-1到1或0到1之间

  • 显著降低数据维度,提升计算效率

 

2. 嵌入空间的理解

一维空间示例:"三明治度"维度

二维空间扩展:添加"甜点度"维度

  • 苹果馅饼:(0.5, 0.3) - 中等三明治度,较高甜点度

  • 热狗:(0.2, -0.5) - 较低三明治度,非甜点

  • 沙瓦玛:(0.9, -0.6) - 高三明治度,非甜点

三维空间完善:添加"液体度"维度

  • 罗宋汤:(0.0, -0.3, 0.9) - 非三明治,非甜点,高液体度

  • 汤圆:(0.1, 0.8, 0.7) - 低三明治度,高甜点度,中高液体度

相似度计算:在嵌入空间中可以通过数学方法计算任意两项之间的距离,距离越近表示相似度越高

  • 热狗与沙瓦玛:距离较近,相似度高

  • 苹果馅饼与罗宋汤:距离较远,相似度低

 

三、静态嵌入技术

1. 传统嵌入方法

降维技术

  • 主成分分析(PCA):找到高度相关可合并的维度

  • 其他数学方法:在低维空间捕获高维结构

神经网络训练嵌入


在为目标任务训练神经网络时创建嵌入:

  • 设置大小为d的隐藏层作为嵌入层

  • d表示隐藏层节点数和嵌入维度数

  • 在训练过程中优化嵌入层参数

 

2. Word2Vec原理

基本概念
Word2Vec通过预测词语上下文来学习词嵌入,假设在类似上下文中出现的词语在语义上相关。

训练示例

  • "They rode a burro down into the Grand Canyon"

  • "They rode a horse down into the canyon"

  • 表明"horse"和"burro"出现在类似上下文中,语义相关

静态嵌入特点

  • 每个词语有唯一的全局嵌入向量

  • 适用于一般语言任务

  • 但无法处理一词多义情况

 

四、上下文嵌入

1. 静态嵌入的局限

一词多义问题

  • "Yeah":单独使用表示肯定,"Yeah, right"表示否定

  • "Post":可表示邮件、支柱、张贴、后期等不同含义

  • "Orange":既表示颜色又表示水果

无法结合语境
        静态嵌入为每个词语分配固定向量,无法根据上下文调整含义,导致语义理解不准确。

 

2. 上下文嵌入的优势

动态语义表示
        上下文嵌入为同一词语在不同上下文中生成不同的嵌入向量,更好地捕捉语义。

实现方法

  • ELMo等模型:基于静态嵌入,通过周围词语信息进行转换

  • 生成上下文相关的嵌入表示

应用扩展

  • 自然语言处理:理解词语在具体语境中的含义

  • 计算机视觉:结合像素位置和相邻像素信息

  • 多模态任务:融合不同类型的数据上下文

 

 

 


总结

        本文探讨了嵌入技术在数据处理中的应用。首先分析了独热编码在高维数据场景下的局限性,指出其会导致参数爆炸和计算资源挑战。接着介绍了嵌入技术的基本概念,通过将高维数据投影到低维空间来发现潜在结构,并以餐点为例说明如何在低维空间表示和计算相似度。然后比较了静态嵌入(如Word2Vec)和上下文嵌入的区别,前者为每个项目分配固定向量,后者能根据上下文生成动态表示。最后指出上下文嵌入在多模态任务中的优势,能更准确地捕捉语义信息。嵌入技术通过降维和语义表示,有效解决了高维数据处理难题。

 

Logo

中国智能体开发者社区,聚焦智能体与大模型开发,提供前沿资讯、实用工具链、开源项目及行业案例。通过技术沙龙、开发者大赛等活动,促进经验交流与协作,助力开发者快速构建创新智能应用。

更多推荐