深度学习:词嵌入embedding和Word2Vec

目录

前言

一、词嵌入(Embedding)

1.传统自然语言处理问题

2.什么是词嵌入

二、Word2vec模型

1.Word2Vec的基本原理

三、CBOW模型训练过程


前言

在机器学习里的自然语言处理,是将语料库中的词语转换成词向量矩阵,再使用朴素贝叶斯算法对其进行预测。这篇文章要讲的是深度学习里关于自然语言处理的一些概念

一、词嵌入(Embedding)

1.传统自然语言处理问题

  • 早期的模型没有考虑到词序和上下文关系,使得模型无法捕捉句子中词之间更复杂的语义联系
  • 某些传统算法可能需要大量的计算和存储资源,影响其可扩展性

例如:

  1. 一个语料库4960个词语
  2. 每个词语的独热编码都是4959个0和1个1按顺序组成
  3. 第一个词语就是[000000...0001],第二个[0000...0010],依此类推
  4. 将其转换成词向量矩阵就是(4960*4960)
  5. 每一行数据就是一个词
  6. 如果语料库很大,那么就会出现维度灾难
  7. 使用词嵌入解决这种情况

2.什么是词嵌入

例如将一个词向量为(1*4960)的词语乘以一个(4960*300)的矩阵,将其变成(1*300)的词向量矩阵,从而达到降维的目的,解决了维度灾难。

二、Word2vec模型

  • Word2Vec是由Google的研究团队提出的一种用于词嵌入的模型,旨在将单词转换为向量,以便于计算机理解和处理自然语言。
  • 它能够捕捉词与词之间的语义关系,并在许多自然语言处理任务中得到了广泛应用。

1.Word2Vec的基本原理

连续词袋模型(CBOW):

  1. 目标是在给定上下文(周围词)的情况下预测中心词。
  2. 例如,在句子"我喜欢学习"中,如果上下文是"我"和"学习",模型的目标是预测"喜欢"。
  3. 即输入"我"、"学习"的独热编码,"喜欢"当做被预测的值

跳字模型(Skip-gram):

  1. 目标是根据中心词预测其上下文。
  2. 例如,在句子"我喜欢学习"中,如果中心词是"喜欢",模型的目标是预测"我"和"学习"。
  3. 输入"喜欢"的独热编码,"我"、"学习"当做被预测的值

三、CBOW模型训练过程

  1. 当前词的上下文词语的one-hot编码输入到输入层。
  2. 这些词分别乘以同一个矩阵W(V*N)后分别得到各自的1*N 向量。
  3. 将多个这些1*N 向量取平均为一个1*N 向量。
  4. 将这个1*N 向量乘矩阵 W'(N*V) ,变成一个1*V 向量。
  5. 将1*V 向量softmax归一化后输出取每个词的概率向量1*V
  6. 概率值最大 的数对应的词作为预测词
  7. 将预测的结果1*V 向量和真实标签1*V 向量(真实标签中的V个值中有一个是1,其他是0)计算误差
  8. 在每次前向传播之后反向传播误差,不断调整 W(V*N)和 W'(N*V)矩阵的值。

拿一个词语为4960个的语料库来举例,使用CBOW模型完成词嵌入:

  1. 假设选取上下各选两个词语,输入层每一个神经元接收一个词语的独热编码,然后将其乘以第一个权重w1(4960*300)的矩阵,将结果(1*300)的矩阵传入中间层
  2. 中间层将输入层传入的四个结果组合成一个(4*300)的矩阵,然后再对每一列进行求和得到(1*300)的矩阵,将该矩阵传入输出层
  3. 输出层接收到输入层传入的(1*300)的矩阵,将其乘以第二个权重w2(300*4960)的矩阵,得到(1*4960)的矩阵,每一行就是每个词语的预测结果
  4. 对矩阵进行归一化,得到的每一行都是一个词语的概率值
  5. 概率值最大的即为预测词
  6. 然后将该词的预测结果与真实标签进行误差计算
  7. 在每次前向传播之后反向传播误差,不断调整w1和w2的值
相关推荐
NAGNIP24 分钟前
大模型框架性能优化策略:延迟、吞吐量与成本权衡
算法
聚客AI32 分钟前
🌟大模型为什么产生幻觉?预训练到推理的漏洞全揭秘
人工智能·llm·掘金·日新计划
Juchecar38 分钟前
一文讲清 nn.Sequential 等容器类
人工智能
阿里云云原生1 小时前
如何快速看懂「祖传项目」?Qoder 强势推出新利器
人工智能
美团技术团队1 小时前
LongCat-Flash:如何使用 SGLang 部署美团 Agentic 模型
人工智能·算法
程序员小袁3 小时前
基于C-MTEB/CMedQAv2-rerankingv的Qwen3-1.7b模型微调-demo
人工智能
飞哥数智坊4 小时前
AI 编程一年多,我终于明白:比技巧更重要的,是熟练度
人工智能·ai编程
新智元4 小时前
收手吧 GPT-5-Codex,外面全是 AI 编程智能体!
人工智能·openai
IT_陈寒4 小时前
Java 性能优化:5个被低估的JVM参数让你的应用吞吐量提升50%
前端·人工智能·后端
阿里云云原生5 小时前
阿里云基础设施 AI Tech Day AI 原生,智构未来——AI 原生架构与企业实践专场
人工智能