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

【机器学习】Transformer

Transformer:

  • 输入序列和输出序列的长度没有绝对的关系,输出序列长度由机器自己决定
  • 使用自注意力机制来解决seq2seq问题

整个过程原理图:

  1. Encoder:处理输入
  2. Decoder:输出结果
  3. Cross attention:联系二者

image-20241225182509863

Encoder:处理输入

输入一排向得到另外一排向量

每个Encoder包含多个Block:

image-20241225175811540

每个Block具体做的事情:

image-20241225175859860

总的来说:每个Block

  • 自注意力机制(多Head&考虑位置关系)
    • Add(residual connection):自注意力结果+自身输入
    • Nom(layer normalization):只考自身的正则化
  • 前馈全连接网络
    • Add & Nom

Decoder:输出结果

Auto regressive(AT):后依赖前

  • BEGIN:输入一个Special token,开始工作
  • 中间输出:依赖于前一个结果,得分最高的输出
  • END:结束

image-20241225181457990

不常用的Decoder:Non-Auto regressive(NAT):平行化。AT比NAT慢。NAT有另外的机制给定一个输出长度

Masked Multi-Head attention

当前的自注意力计算只考虑前面的输入向量

Encode和Decoder如何联系:Cross Attention

image-20241225182259355

seq2seq训练技巧

  • 复制:特有名词不需练
  • 指导机器如何做Self-Attention
  • Beam Search:毒死自己一步,后面反而赢了
  • Schedule Sampling:偶尔给Decoder一些错误的训练集

http://www.kler.cn/a/457512.html

相关文章:

  • OWASP ZAP之API 请求基础知识
  • 07-ArcGIS For JavaScript--隐藏参数qualitySettings(memory和lod控制)
  • HackMyVM-Airbind靶机的测试报告
  • RP2K:一个面向细粒度图像的大规模零售商品数据集
  • TT100K数据集, YOLO格式, COCO格式
  • TP8 前后端跨域访问请求API接口解决办法
  • 代码随想录算法训练营第六十天 | 图 | A星算法
  • Bash语言的并发编程
  • 算法排序算法
  • 【每日学点鸿蒙知识】worker线程数量、判断用户是否进行权限决定、图片上传类型错误、request锁释放时机、H5问题
  • Zynq PS端外设之中断控制器
  • FFmpeg来从HTTP拉取流并实时推流到RTMP服务器
  • 自学记录鸿蒙API 13:实现智能文本识别Core Vision Text Recognition
  • Django中使用 `formfield_for_choice_field` 和 `get_form` 方法自定义管理后台表单
  • 26、使用StreamPark管理Flink作业中,关于flink on k8s部分的提交处理
  • driftingblues6靶机
  • Oracle数据库高级应用与优化策略
  • 2-194基于matlab的四足机器人行走程序设计
  • [ffmpeg]编译 libx264
  • FFmpeg:详细安装教程与环境配置指南
  • 【Rust自学】7.4. use关键字 Pt.1:use的使用与as关键字
  • 基于Python的企业招聘管理系统
  • UniApp 打开文件工具,获取文件类型,判断文件类型
  • QT中使用OpenGL function
  • uDDS源程序subscriber
  • Web漏洞知识梳理笔记--XSS漏洞原理、类型、危害、利用方式、权限维持、防御措施等