Embedding And Word2vec

Embedding与向量数据库:

Embedding 简单地说就是 N 维数字向量 ,可以代表任何东西,包括文本、音乐、视频等等。要创建一个Embedding有很多方法,可以使用Word2vec,也可以使用OpenAI 的 Ada。创建好的Embedding,就可以存入向量数据库中

这里举个例子,比如"你好",用W2做Em后,可以表示为[0.1,0.5,0.7],而"嗨"用W2做Em后,可以表示为[0.2,0.5,0.6],我们可以使用余弦相似度的方法来计算他们的相似度:

Cosine Similarity(A,B) = A·B / |A|*|B|,其中A和B分别表示两个不同维度的embedding,|A|和|B|分别表示A和B的模长

余弦相似度的值越接近1,表示两个向量的方向越接近,即两个embedding越相似。大概就如下图所示

word2Vec:

  • Word2Vec是语言模型中的一种,它是从大量文本预料中以无监督方式学习语义知识的模型,被广泛地应用于自然语言处理中。
  • Word2Vec是用来生成词向量的工具,而词向量与语言模型有着密切的关系。
  • Word2Vec是轻量级的神经网络,其模型仅仅包括输入层、隐藏层和输出层,模型框架根据输入输出的不同,主要包括CBOW和Skip-gram模型

CBOW:

就是"完形填空",知道词w上下文的情况下,预测w是什么词。

1.简单CBOW,输入一个词,预测输出一个词

从上图可以看出,实际上是很简单的一个BP神经网络,输入就是一个一维的向量,然后和第一个权重矩阵w进行乘法,获取隐含层的值h,然后h再和第二个权重矩阵W',相乘后得到输出(有多少个字,就有多少种输出),最后的输出经过softMax函数,就可以得到每个字的概率,概率最大的,就是我们预测的字。

2.复杂CBOW,输入多个词,预测一个词

和simple CBOW不同之处在于,输入由1个词变成了C个词,每个输入到达隐藏层都会经过相同的权重矩阵W,隐藏层h的值变成了多个词乘上权重矩阵之后加和求平均值。

3.CBOW的训练

CBOW模型的训练目标是最大化给定上下文时中心单词出现的概率,即最大化y[t]。这等价于最小化交叉熵损失函数

交叉熵损失函数可以通过反向传播算法来求导,并通过随机梯度下降法来更新参数。参数包括输入层到隐藏层之间的权重矩阵W(大小为V×N),以及隐藏层到输出层之间的权重矩阵U(大小为N×V)。

Skip-gram Model:

Skip-gram model是通过输入一个词去预测多个词的概率。输入层到隐藏层的原理和simple CBOW一样,不同的是隐藏层到输出层,损失函数变成了C个词损失函数的总和,权重矩阵W'还是共享的

相关推荐
sali-tec5 小时前
C# 基于halcon的视觉工作流-章66 四目匹配
开发语言·人工智能·数码相机·算法·计算机视觉·c#
这张生成的图像能检测吗5 小时前
(论文速读)ParaDiffusion:基于信息扩散模型的段落到图像生成
人工智能·机器学习·计算机视觉·文生图·图像生成·视觉语言模型
新程记5 小时前
2025年,上海CAIE认证报考指南:把握AI机遇的实用起点
人工智能·百度
unicrom_深圳市由你创科技5 小时前
汽修AI智能体V1.0——从模型微调到应用部署
人工智能
路边草随风5 小时前
milvus向量数据库使用尝试
人工智能·python·milvus
irizhao5 小时前
基于深度学习的智能停车场系统设计与实现
人工智能·深度学习
九河云6 小时前
华为云 ECS 弹性伸缩技术:应对业务峰值的算力动态调度策略
大数据·服务器·人工智能·物联网·华为云
IT空门:门主7 小时前
Spring AI的教程,持续更新......
java·人工智能·spring·spring ai
美狐美颜SDK开放平台7 小时前
美颜sdk是什么?如何将美颜SDK接入安卓/iOS直播平台?
人工智能·美颜sdk·直播美颜sdk·美颜api·美狐美颜sdk
AI营销资讯站7 小时前
AI营销内容生产:哪些平台支持全球多语言内容同步生产?
大数据·人工智能