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'还是共享的

相关推荐
聚梦小课堂几秒前
3D生成软件Rodin 2.0 简单测试案例
人工智能·图形图像·3d生成·rodin·产品体验
CLubiy6 分钟前
【研究生随笔】PyTorch中的概率论
人工智能·pytorch·深度学习·概率论
第六五23 分钟前
DPC和DPC-KNN算法
人工智能·算法·机器学习
Xxtaoaooo25 分钟前
OCR文字识别前沿:PaddleOCR/DBNet++的端到端文本检测与识别
人工智能·ai·ocr·文本检测·dbnet++
taxunjishu26 分钟前
DeviceNet 转 MODBUS TCP:倍福 CX 系列 PLC 与 MES 系统在 SMT 回流焊温度曲线监控的通讯配置案例
运维·人工智能·物联网·自动化·区块链
小烤箱32 分钟前
自动驾驶工程师面试(定位、感知向)
人工智能·面试·自动驾驶
IT_陈寒35 分钟前
《Redis性能翻倍的7个冷门技巧,90%开发者都不知道!》
前端·人工智能·后端
龙俊杰的读书笔记1 小时前
《小白学随机过程》第一章:随机过程——定义和形式 (附录1 探究随机变量)
人工智能·机器学习·概率论·随机过程和rl
长空任鸟飞_阿康1 小时前
在 Vue 3.5 中优雅地集成 wangEditor,并定制“AI 工具”下拉菜单(总结/润色/翻译)
前端·vue.js·人工智能
滑水滑成滑头1 小时前
**发散创新:多智能体系统的探索与实践**随着人工智能技术的飞速发展,多智能体系统作为当今研究的热点领域,正受到越来越多关注
java·网络·人工智能·python