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

Embedding原理

Embedding(嵌入)是将离散符号(如单词)映射到连续向量空间的核心技术,其本质是语义的数学化表示。以下是其核心原理详解:


一、基础概念图解

graph LR
    A[单词`猫`]  -->  B[索引5] --> C[向量[0.2, -1.3, 0.7...]]
    D[单词`狗`] --> E[索引8] --> F[向量[0.3, -1.1, 0.6...]]

二、工作原理分步解析

1. 建立词汇表映射
  • 为每个单词分配唯一ID(如:"猫"→5,"狗"→8)
  • 词汇表示例:
    vocab = {"<PAD>":0, "<UNK>":1, "猫":2, "狗":3, ...}
    
2. 创建嵌入矩阵
  • 矩阵维度:(词汇表大小, 嵌入维度)
    # 假设 vocab_size=10000, embedding_dim=300
    embedding_matrix = np.random.randn(10000, 300) 
    
3. 向量查找过程
  • 输入:单词索引 [2, 3] → 输出:对应行向量
    输入索引2 → 获取第2行向量:[0.2, -0.5, ..., 1.1]
    输入索引3 → 获取第3行向量:[0.3, -0.4, ..., 0.9]
    

三、关键特性解析

1. 语义捕捉能力
  • 通过向量空间中的距离反映语义相似性
    # 相似词向量距离近
    cosine_sim(,) = 0.92
    cosine_sim(, 汽车) = 0.15
    
2. 可学习性
  • 嵌入矩阵作为神经网络参数,通过反向传播自动优化
  • 训练过程示例:
    输入句子
    嵌入层
    神经网络
    预测结果
    计算损失
    反向传播更新嵌入矩阵

四、与传统方法的对比

方法维度语义表达计算效率示例
One-Hot高维[0,0,1,0]
Embedding低维[0.2, -1.3]

五、实际应用场景

  1. 文本分类:将词序列转换为向量序列输入RNN/CNN
  2. 推荐系统:用户ID/物品ID的嵌入表示
  3. 知识图谱:实体关系的向量化表示
  4. 预训练模型:BERT/GPT的输入基础层

六、PyTorch实现细节

在您看到的代码中:

self.embedding = nn.Embedding(vocab_size, embedding_dim)
  • vocab_size:词汇表总词量(如:50000)
  • embedding_dim:词向量维度(如:300)
  • 前向传播时:
    # 输入形状:(batch_size, seq_len)
    input_ids = torch.LongTensor([[1, 23, 45], [9, 2, 0]]) 
    
    # 输出形状:(batch_size, seq_len, embedding_dim)
    embedded = self.embedding(input_ids) 
    

七、可视化理解

通过t-SNE降维可视化示例:

动物
交通工具
汽车
飞机

相关文章:

  • zk基础—1.一致性原理和算法一
  • 《算法:递归+记忆化搜索》
  • 【计算机视觉】OpenCV实战项目- 抖音动态小表情
  • ESP32移植Openharmony外设篇(11) mfrc522射频读卡器
  • 数据处理与机器学习入门
  • MyBatisPlus不等于如何使用
  • qml 中的anchors
  • dfs复习
  • 内核自旋锁
  • 从0到1:Rust 如何用 FFmpeg 和 OpenGL 打造硬核视频特效
  • 如何使用分块策略生成高覆盖率测试用例:需求文档与接口文档的最佳实践
  • 力扣125.验证回文串
  • 标题:Linux系统文件句柄优化全攻略:彻底解决“Too Many Open Files”错误
  • 【算法竞赛】动态规划+记忆化搜索(作物杂交问题)
  • 31天Python入门——第18天:面向对象三大特性·封装继承多态
  • nacos 2.x使用java语言实现自定义Loadbalance
  • 了解可观察性指标:类型、黄金信号和最佳实践
  • SpringBoot框架—classpath、Bean、容器的概念
  • 【Text2reward】code_generation/single_flow/results/gpt-4-0331/maniskill-zeroshot
  • 私有知识库 Coco AI 实战(一):Linux 平台部署
  • 想自己做网站该学些什么/怎么推广一个app
  • 江西建设工程信息网站/口碑营销案例简短
  • 彩票娱乐网站建设开发/太原竞价托管公司推荐
  • 现在网站建设 如何保证安全/百度关键词查询工具免费
  • 手机适配网站/企业seo优化服务
  • 芜湖网站优化公司/小说推广平台有哪些