16 Transformer 的编码器(Encodes)——我在做更优秀的词向量
Transformer 框架
seq(编码器)2seq(解码器)
- 通过编码器对序列进行向量化(词向量)
- 把词向量输入到解码器,得到结果(生成单词)
编码器概略图

编码器包括两个子层,Self-Attention、Feed Forward
每一个子层的传输过程中都会有一个(残差网络+归一化)
编码器详细图

Thinking
--》得到绿色的 x1(词向量,可以通过 one-hot、word2vec 得到)+ 叠加位置编码(给 x1 赋予位置属性)得到黄色的 x1
--》输入到 Self-Attention 子层中,做注意力机制(x1、x2 拼接起来的一句话做),得到 z1(x1 与 x1,x2拼接起来的句子做了自注意力机制的词向量,表征的仍然是 thinking),也就是说 z1 拥有了位置特征、句法特征、语义特征的词向量
--》残差网络(避免梯度消失,w3(w2(w1x+b1)+b2)+b3,如果 w1,w2,w3 特别小,0.0000000000000000……1,x 就没了,【w3(w2(w1x+b1)+b2)+b3+x】),归一化(LayerNorm),做标准化(避免梯度爆炸),得到了深粉色的 z1
--》Feed Forward,Relu(w2(w1x+b1)+b2),(前面每一步都在做线性变换,wx+b,线性变化的叠加永远都是线性变化(线性变化就是空间中平移和扩大缩小),通过 Feed Forward中的 Relu 做一次非线性变换,这样的空间变换可以无限拟合任何一种状态了),得到 r1(是 thinking 的新的表征)
总结下(这是重点,上面听不懂都没关系):做词向量,只不过这个词向量更加优秀,让这个词向量能够更加精准的表示这个单词、这句话
16 Transformer 的编码器(Encodes)——我在做更优秀的词向量的更多相关文章
- Ubuntu 16.04 LTS安装好之后需要做的15件事
看到这篇文章说明你已经从老版本升级到 Ubuntu 16.04 或进行了全新安装,在安装好 Ubuntu 16.04 LTS 之后建议大家先做如下 15 件事.无论你是刚加入 Ubuntu 行列的新用 ...
- 【UXPA工作坊小记】郎学明:做更“有用”的用户研究
xueminglang@google.com 本来做了一些笔记,但郎老师后来发了相关教材.内容比现场PPT详细的多.由于,本人在网上也没有搜索到相关文章,还是决定做一回码字工,稍作精简后分享给大家. ...
- EdgeFormer: 向视觉 Transformer 学习,构建一个比 MobileViT 更好更快的卷积网络
前言 本文主要探究了轻量模型的设计.通过使用 Vision Transformer 的优势来改进卷积网络,从而获得更好的性能. 欢迎关注公众号CV技术指南,专注于计算机视觉的技术总结.最新技术跟 ...
- 如何做更好的Android驱动project师
随着智能手机的飞跃发展,特别是Android智能机的爆炸性发展,Android驱动project师是越来越受欢迎的一个职位,并且是一个非常值得人期待的职位,由于可能你參与研发的一款手机就能改变 ...
- 做更好的自己 ——读《我是IT小小鸟》有感
转眼间大一已经过了一大半了,到了大学,才发现初高中时父母所说的“到了大学你就轻松了···”都是骗人的.但我脑海里却一直被这个观点所支配,以至于我在大一上学期里无所事事,不知道干些什么.学习也没重视,分 ...
- iOS----------APP怎样做更安全
1 网络请求的安全方案 1.1 https请求,最好有安全交互平台. 1.2 对重要的参数请求进行加密(推荐AES,ERSA加密). 1.3 服务器返回数据时,对重要数据进行加密. 1.4 不要把密钥 ...
- 努力做一个优秀的programmer [ C# 影院售票系统]
Cinema.cs类 [Serializable] // 电影院类 public class Cinema { public Cinema() { //二进制 SoldTickets = new Li ...
- Generative Pre-trained Transformer(GPT)模型技术初探
一.Transformer模型 2017年,Google在论文 Attention is All you need 中提出了 Transformer 模型,其使用 Self-Attention 结构取 ...
- 三大特征提取器(RNN/CNN/Transformer)
目录 三大特征提取器 - RNN.CNN和Transformer 简介 循环神经网络RNN 传统RNN 长短期记忆网络(LSTM) 卷积神经网络CNN NLP界CNN模型的进化史 Transforme ...
- NLP教程(2) | GloVe及词向量的训练与评估
作者:韩信子@ShowMeAI 教程地址:http://www.showmeai.tech/tutorials/36 本文地址:http://www.showmeai.tech/article-det ...
随机推荐
- PyCharm2024 专业版激活设置中文
PyCharm2024 专业版激活设置中文 官网下载最新版:https://www.jetbrains.com/zh-cn/pycharm/download 「hack-jet激活idea家族.zip ...
- faster-fifo:C++实现的python多进程通信队列 —— 强化学习ppo算法库sample-factory的C++实现的python多进程通信队列 —— python3.12版本下成功通过测试
项目地址: https://github.com/alex-petrenko/faster-fifo 需要注意,该项目给出了两种安装方法,一种是pip从pypi官网安装,一种是从GitHub上的源码安 ...
- 从分布式计算的角度看pytorch和TensorFlow哪个更优?
背景: pytorch框架是一个从学术圈出来的框架,因此pytorch并不原生支持分布式计算,而且在大模型火爆的今年以外好像在深度学习领域使用分布式计算的场景确实不多,所以pytorch并不原生支持分 ...
- pytorch的显存释放机制torch.cuda.empty_cache()
参考: https://cloud.tencent.com/developer/article/1626387 据说在pytorch中使用torch.cuda.empty_cache()可以释放缓存空 ...
- 使用Redis时的vm.overcommit_memory内存分配控制
最近在使用Redis的时候遇到了linux系统中的vm.overcommit_memory参数设置,对此不是很了解,于是研究了一下,有了本文. ============================ ...
- 【转载】 linux中umask命令介绍
版权声明:本文为CSDN博主「立二拆四i」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明.原文链接:https://blog.csdn.net/weixin_4408 ...
- springboot接口入参下划线转驼峰以及返回参数驼峰转下划线实现
1.背景 在实际开发中,通常来说java里面是使用驼峰的命名规则; 但是有时候在对接其他三方平台的接口时,要求使用下划线的命名规则,这时候就涉及到如何让自己的接口满足三方平台的下划线; 实现方式有 1 ...
- Apache SeaTunnel 社区 3 月月报
各位热爱 SeaTunnel 的小伙伴们,SeaTunnel 社区 3 月月报来啦!这里将记录 SeaTunnel 社区每个月的重要更新,并评选出月度之星,欢迎关注. SeaTunnel 月度 Mer ...
- Fluent Editor:一个基于 Quill 2.0 的富文本编辑器,功能强大、开箱即用!
你好,我是 Kagol,个人公众号:前端开源星球. 今年4月份,听到 Quill 2.0 正式发布的消息,我心情非常激动,立马体验了下,并写了一篇文章. 重回铁王座!时隔5年!Quill 2.0 终于 ...
- C# 菜单项添加复选标记
在网上查找都是说直接用菜单项的Checked属性, toolMenuItem.Checked=!toolMenuItem.Checked; 但是我用了也切换不过来. 有点晕菜了,我用的是vs2017. ...