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

【StableDiffusion】Embedding 底层原理,Prompt Embedding,嵌入向量

Embedding 是什么?

Embedding 是将自然语言词汇,映射为 固定长度 的词向量 的技术

在这里插入图片描述

· 说到这里,需要介绍一下 One-Hot 编码 是什么。

· One-Hot 编码 使用了众多 5000 长度的1维矩阵,每个矩阵代表一个词语。

· 这有坏处,它不仅计算量更大,而且,它是 不可移植的,因为每个词汇表中,每个 One-Hot 矩阵对应的 prompt 都不同。

· Embedding 能够将 One-Hot 编码的高维稀疏向量(矩阵) 转化为 低维连续的向量(矩阵),请看下面的例子

在这里插入图片描述

来看看,降维算法能够将这些被 Embedding 转化了的向量在 2维 坐标系上展现成什么样:

很明显,意思越是不相同的词语,他们的向量距离在二维平面上也相距越远

越是意思相近的词语(cat,猫;kitten,小猫),它们的向量在二维平面上的距离越近

在这里插入图片描述

而且,有语义关联的一些词语,它们的向量也是有特殊的数学关系的:

在这里插入图片描述

Embedding 将 text → vector 的具体过程

1.首先对句子进行处理,将句子切成单独的词语

2.被切的词语以 One-Hot 的编码格式存储

在这里插入图片描述

3.让代表你的词语的 One-Hot 编码的矩阵 和 嵌入矩阵(图中的矩阵E) 相乘,得到这句话的嵌入向量。

请注意,“嵌入矩阵”是提前被训练好的,也就是 Embedding 处理器 的本体。

在相乘之后,我们的自然语言句子的向量就从 4x5000的矩阵 → 4x128的矩阵

也就是,从 高维稀疏矩阵 → 低维稠密矩阵

这就是 Embedding 的作用机制!

在这里插入图片描述

http://www.lryc.cn/news/370894.html

相关文章:

  • 计算机网络(2) 网络层:IP服务模型
  • 新人学习笔记之(初识C语言)
  • Unity EasyRoads3D插件使用
  • Redis 地理散列GeoHash
  • vim 显示行号
  • C++:调整数组顺序使奇数位于偶数前面【面试】
  • WPF/C#:程序关闭的三种模式
  • 登录/注册- 滑动拼图验证码(IOS/Swift)
  • MyBatis进行模糊查询时SQL语句拼接引起的异常问题
  • 网站调用Edge浏览器API:https://api-edge.cognitive.microsofttranslator.com/translate
  • css实现优惠券样式
  • 函数递归(C语言)(详细过程!)
  • uniapp 接口请求封装
  • C++中的观察者模式
  • conda虚拟环境,安装pytorch cuda cudnn版本一致,最简单方式
  • 第 5 章:面向生产的 Spring Boot
  • 在 Windows 操作系统中,可以通过命令行工具来杀死进程
  • uni-app文件下载 h5 xls 乱码 锟斤拷 Blob pdf打不开
  • Vue25-内置指令02:v-text指令
  • stable diffusion中的negative prompt是如何工作的
  • STM32项目分享:智能小区充电桩系统
  • PDU模块中浪涌保护模块与空开模块的应用
  • 19、Go Gin框架集成Swagger
  • 自动同步库数据——kettle开发36
  • MSOCache在电脑中可以删除吗?
  • 数据网格和视图入门
  • 雨的轮回与生命的律动
  • CANopen for Python 使用教程(二)
  • 前方碰撞缓解系统技术规范(简化版)
  • 数据赋能(117)——体系:数据收集——实施过程、应用特点