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

机器学习:Transformer

Transformer

sequence-to-sequence(seq2seq)

在这里插入图片描述
很大语音没有文本,7000种中超半数没有文字。
在这里插入图片描述
遇到的问题:
在这里插入图片描述
遇到问题时候可以先不管它,先出一个baseline看看效果,后续再进行提升。

tts: 文本转语音,语音合成
目前是两阶段:先用文本转成中文音标,再转成声音信号。
在这里插入图片描述


Seq2seq for chatbot

在这里插入图片描述
在这里插入图片描述

可以将大多数的NLP任务看做是Question Answering任务(QA),QA问题可以用seq2seq解决。定制化的模型比单一模型效果要好一点,但随着大模型的到来,效果可能会越好越好。感兴趣的可以继续学习下面课程。

在这里插入图片描述

Seq2seq for syntactic parsing

在这里插入图片描述


Seq2seq for Multi-label classification

在这里插入图片描述
机器自己决定输出多少个类别。


Seq2seq for object detection

在这里插入图片描述
硬解目标检测问题,输入是图像,输出是文本框及类别

Seq2seq 基本原理

包含两个部件,编码器encoder和译码器decoder
在这里插入图片描述
最早起源于14年,目前成熟结构是transformer结构。

Seq2seq’s Encoder

在这里插入图片描述
encoder的作用是将一个向量编码成另外一个向量,有很多部件都能完成该功能,比如self-attention,RNN,CNN,目前流行的是transformer。

在这里插入图片描述
在这里插入图片描述

block中的过程要更加复杂一点,将block的输出与输入叠加送到下一层,类似于残差结构,然后进行normalizaition,使用的是layer norm, 对每一层计算均值和标准差。

在这里插入图片描述
有很多变体:
在这里插入图片描述
在transformer中,batch normalization表现没有layer normalization表现好,作者又提出了PowerNorm。


Decoder-Autoregressive(AT)

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
begin是special token,然后经过softmax得到最大分数的结果“机”, 基于这两个输入输出“器”。以此类推,输入变多,再预测输出。decode的输入是前一个的输出。
在这里插入图片描述
中间有可能识别错误导致输出变错,但是会继续往下传下去。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

将decoder中间状态遮盖起来后,encoder和decoder是差不多,只是multi-head上面加了mask。

在这里插入图片描述
之前的self-attention得到的时候需要考虑所有的信息。现在变成masked-self-attention, 就是不能考虑右边的信息。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
为什么要加masked,是计算a2时候不知道a3,a4…,没法考虑右边的信息。
在这里插入图片描述
另外不知道输出的正确长度。
在这里插入图片描述
在这里插入图片描述
增加一个stop token 让其不一直无限推理下去。

在这里插入图片描述

Decoder-Non-autoregressive(NAT)

在这里插入图片描述

NAT不知道什么时候停,有两种方式:

  • 训练一个长度分类器
  • 直接输出,如果遇到end就忽略后续的结果

好处就是并行化,能一下子输出结果,比较能够控制输出的长度,但实际应用上一般而言NAT的效果比AT的效果要差,原因是Multi-modality。

Cross attention

在这里插入图片描述
encoder和decoder连接,通过cross attention进行连接
在这里插入图片描述
kv来自encoder,q来自decoder。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述


Train

在这里插入图片描述
每次decoder产生中文字时候做了一次分类问题。
在这里插入图片描述
每一个输出都会有cross entropy,所有的cross entropy的总和最小。
end也会参与计算。
在这里插入图片描述
输入的时候是给的正确答案,teacher forcing,正确答案当作decoder的输入。

Tips

Copy Mechanism

  • char-bot
    在这里插入图片描述
  • summarization
    在这里插入图片描述
    在这里插入图片描述

Guided Attention

在这里插入图片描述
可以通过monotonic attention等方式避免上述这种问题。

Beam Search

在这里插入图片描述
每次选最大的是贪心的方式,如红色所示;但是如果走绿色的是最优的方式。
可以用beam search方法找到一个不是完全精准的解决方法。
在这里插入图片描述
beam search有时候是有用的,有时候是无用的。可以加一些随机性在decoder里面。
tts的时候,decoder中加一点noise,可能效果会变好。模型训练好后,测试的时候也要加noise。
Accept that nothing is perfect, true beauty lies in the cracks of imperfection.

optimizing Evaluation Metrics

在这里插入图片描述
blue score不好计算,遇到无法优化的时候,使用reinforcement learning(RL)硬来训练。
在这里插入图片描述
给一些错误的输入。
在这里插入图片描述
在这里插入图片描述

相关文章:

机器学习:Transformer

Transformer sequence-to-sequence(seq2seq) 很大语音没有文本,7000种中超半数没有文字。 遇到的问题: 遇到问题时候可以先不管它,先出一个baseline看看效果,后续再进行提升。 tts: 文本转语音,语音合成…...

pytorch-模型构建,参数访问,模型存取API接口,对比学习

多层感知机的简洁实现pytorch-多层感知机,最简单的深度学习模型,将非线性激活函数引入到模型中。_羞儿的博客-CSDN博客中含单隐藏层的多层感知机的实现方法。首先构造Sequential实例,然后依次添加两个全连接层。其中第一层的输出大小为256&am…...

javaEE 初阶 — 数据链路层中的以太网数据帧

文章目录以太网帧格式1. MAC 地址2. MAC 地址是如何与 IP 地址相互配合的3. 以太网帧格式中的类型MTU(了解)以太网帧格式 数据链路层主要考虑的是相邻的两个结点之间的传输。 这里最知名的协议就是 以太网。 一个以太网数据帧有三个部分组成。帧头载荷…...

泼辣修图Polarr5.11.4 版,让你的创意无限延伸

泼辣修图是一款非常实用的图片处理软件,它不仅拥有丰富的图片处理功能,而且还能够轻松地实现自定义操作。泼辣修图的操作界面非常简洁,功能也非常丰富,使用起来非常方便快捷。 泼辣修图拥有非常丰富的图片处理功能,包括…...

leetcode打卡-深度优先遍历和广度优先遍历

200.岛屿数量 leetcode题目链接:https://leetcode.cn/problems/number-of-islands leetcode AC记录: 思路:深度优先遍历,从0,0开始遍历数组,使用boolean类型数组used记录是否被访问过,进行一…...

【0177】Linux中POSIX信号量实现机制

文章目录 1. 信号量概念1.1 信号量类比1.2 重要的观察1.3 信号量分类2. POSIX与System V信号量3. 信号量API4. 代码演示5. 信号量内核实现1. 信号量概念 在计算机科学中,信号量(semaphores )是一种变量或抽象数据类型,用于控制多个进程对公共资源的访问,并避免并发系统(如…...

跳表--C++实现

目录 作者有话说 为何要学习跳表?为了快,为了更快,为了折磨自己..... 跳表作用场景 1.不少公司自己会设计哈希表,如果解决哈希冲突是不可避免的事情。通常情况下会使用链址,很好理解,当有冲突产生时&#…...

c#:System.Text.Json 的使用一

环境: .net 6.0vs2022 参考: 从 Newtonsoft.Json 迁移到 System.Text.Json System.Text.Json 常规用法 一、写入时的控制 1.1 非ascii码转换 直接看代码: var str System.Text.Json.JsonSerializer.Serialize(new Model { Id 1, Name …...

kaggle数据集下载当中所遇到的问题

kaggle数据集下载当中所遇到的问题报错分析pip install kagglethe SSL module is not available解决方法pip的版本升级解决办法下载kaggle包kaggle数据集下载问题解决参考内容报错分析 今天在尝试使用pip install kaggle的方法去下载我需要的数据集的时候遇到了一些报错的问题…...

TEX:高阶用法

文章目录定制LATEX记数器创建记数器改变记数器的值显示记数器的值长度橡皮长度用户定义命令用户定义的环境标题定制正文中标题设置使用titlesec宏包设置标题格式目录中标题设置LATEX 2ε\varepsilonε程序设计语言命令的层次文件识别上载其他类和宏包输入文件检测文件选项的处理…...

UML 类图

车的类图结构为<>&#xff0c;表示车是一个抽象类&#xff1b; 它有两个继承类&#xff1a;小汽车和自行车&#xff1b;它们之间的关系为实现关系&#xff0c;使用带空心箭头的虚线表示&#xff1b; 小汽车为与SUV之间也是继承关系&#xff0c;它们之间的关系为泛化关系…...

项目实战典型案例1——redis只管存不管删除 让失效时间删除的问题

redis只管存不管删除 让失效时间删除的问题一&#xff1a;背景介绍二&#xff1a;思路&方案三&#xff1a;代码模拟1.错误示范通过班级id查询课程名称执行结果通过班级id修改课程名称&#xff08;并没有删除对应缓存&#xff09;执行结果2.正确示范在错误示范的更新接口上添…...

@RequestParam和@PathVariable的用法与区别

PathVariable PathVariable 映射 URL 绑定的占位符带占位符的 URL 是 Spring3.0 新增的功能&#xff0c;该功能在SpringMVC 向 REST 目标挺进发展过程中具有里程碑的意义通过 PathVariable 可以将 URL 中占位符参数绑定到控制器处理方法的入参中&#xff1a;URL 中的 {xxx} 占…...

【大数据 AI 人工智能】数据科学家必学的 9 个核心机器学习算法

如今,机器学习正改变着我们的世界。借助机器学习(ML),谷歌在为我们推荐搜索结果,奈飞在为我们推荐观看影片,脸书在为我们推荐可能认识的朋友。 机器学习从未像在今天这样重要。但与此同时,机器学习这一领域也充斥着各种术语,晦涩难懂,各种机器学习的算法每年层出不穷…...

IronPDF for .NET 2023.2.4 Crack

适用于 .NET 2023.2.4 的 IronPDF 添加对增量 PDF 保存的支持。 2023 年 3 月 2 日 - 10:23新版本 特征 添加了对 IronPdfEngine Docker 的支持。 添加了对增量 PDF 保存的支持。 重新设计了 PDF 签名和签名。 删除了 iTextSharp 依赖项。 在文本页眉/页脚中添加了 DrawDivider…...

3.4-前端的10个问题

01、null和undefined undefined是全局对象的一个属性&#xff0c;当一个变量没有赋值或者访问一个对象不存在的属性&#xff0c;这时候都是undefined。 null&#xff1a;表示是一个空对象。在需要释放一个对象的时候&#xff0c;直接赋值为null即可。 02、箭头函数 箭头函数…...

开发手册——一、编程规约_9.其他

这篇文章主要梳理了在java的实际开发过程中的编程规范问题。本篇文章主要借鉴于《阿里巴巴java开发手册终极版》 下面我们一起来看一下吧。 1. 【强制】在使用正则表达式时&#xff0c;利用好其预编译功能&#xff0c;可以有效加快正则匹配速度。 说明&#xff1a;不要在方法…...

23.3.4打卡 AtCoder Beginner Contest 291(Sponsored by TOYOTA SYSTEMS)A~E

F题题面都看不懂嘞!开摆! 没找到合适的markdown, 截图网页翻译了我真是天才 比赛链接: https://atcoder.jp/contests/abc291 A题 题意 给出一个字符串, 找到第一个大写字母的下标 简单题就不多说了, 直接放代码 代码 void solve() {cin>>str;nstr.size();str"…...

Gem5模拟器,一些运行的小tips(十一)

一些基础知识&#xff0c;下面提到的东西与前面的文章有一定的关系&#xff0c;感兴趣的小伙伴可以看一下&#xff1a; (21条消息) Gem5模拟器&#xff0c;全流程运行Chiplet-Gem5-SharedMemory-main&#xff08;十&#xff09;_好啊啊啊啊的博客-CSDN博客 Gem5模拟器&#xf…...

【JAVA】List接口

&#x1f3c6;今日学习目标&#xff1a;List接口 &#x1f603;创作者&#xff1a;颜颜yan_ ✨个人主页&#xff1a;颜颜yan_的个人主页 ⏰本期期数&#xff1a;第四期 &#x1f389;专栏系列&#xff1a;JAVA List接口一、ArrayList二、LinkedList总结一、ArrayList ArrayLis…...

QML与QWidget混合开发:实现高效UI集成的实战指南

1. 为什么需要QML与QWidget混合开发 在Qt开发中&#xff0c;QML和QWidget是两种完全不同的UI构建方式。QML凭借其声明式语法和强大的动画效果&#xff0c;在现代UI开发中越来越受欢迎。但现实情况是&#xff0c;很多成熟的功能模块都是基于QWidget开发的&#xff0c;比如一些第…...

别再只盯着mAP50了!手把手教你修改YOLOv8的best模型保存逻辑(附代码)

突破mAP50局限&#xff1a;YOLOv8模型保存策略深度定制指南 在目标检测领域&#xff0c;mAP50&#xff08;mean Average Precision at IoU0.5&#xff09;长期被作为模型性能的黄金标准。但当我们面对工业质检中微米级缺陷识别&#xff0c;或是自动驾驶场景中对行人检测的严苛要…...

Cortex-M能否运行Linux?架构与系统需求解析

1. Cortex-M与Linux的兼容性解析作为一名嵌入式开发工程师&#xff0c;我经常被问到"Cortex-M能不能跑Linux"这个问题。要回答这个问题&#xff0c;我们需要从处理器架构和操作系统需求两个维度来分析。Cortex-M系列是ARM公司推出的微控制器内核&#xff0c;主要面向…...

DLSS Swapper技术解析:3层架构实现游戏性能优化自动化

DLSS Swapper技术解析&#xff1a;3层架构实现游戏性能优化自动化 【免费下载链接】dlss-swapper 项目地址: https://gitcode.com/GitHub_Trending/dl/dlss-swapper DLSS Swapper作为一款专注于DLSS、FSR和XeSS动态链接库管理的开源工具&#xff0c;通过创新的三层架构…...

Pixel Couplet Gen入门指南:8-bit UI无障碍访问(色盲模式支持)

Pixel Couplet Gen入门指南&#xff1a;8-bit UI无障碍访问&#xff08;色盲模式支持&#xff09; 1. 项目介绍 Pixel Couplet Gen是一款融合传统春节文化与现代像素艺术风格的AI春联生成器。通过ModelScope大模型驱动&#xff0c;它将中国传统的春联创作转化为充满怀旧游戏美…...

CLAP模型量化压缩实战:8位整数量化指南

CLAP模型量化压缩实战&#xff1a;8位整数量化指南 1. 引言 如果你正在为嵌入式设备部署音频AI模型而苦恼&#xff0c;那么CLAP模型的量化压缩可能就是你要找的解决方案。CLAP&#xff08;对比语言-音频预训练&#xff09;模型虽然功能强大&#xff0c;但其庞大的参数量让在资…...

CYBER-VISION零号协议Markdown文档大师:替代Typora的智能写作体验

CYBER-VISION零号协议Markdown文档大师&#xff1a;替代Typora的智能写作体验 如果你和我一样&#xff0c;每天都要和Markdown文档打交道&#xff0c;那你肯定知道那种感觉&#xff1a;面对一个空白文档&#xff0c;脑子里有想法&#xff0c;但就是敲不出满意的句子&#xff1…...

Linux上的蓝牙架构

我给你捋 Linux 5.x 官方标准蓝牙架构&#xff0c;和 Wi-Fi 架构高度对称&#xff0c;你看完会发现&#xff1a;蓝牙和 Wi-Fi 在 Linux 里设计几乎一模一样。蓝牙架构全程从硬件 → 驱动 → 内核 → 用户态&#xff0c;一层一层讲透。一、一句话总架构&#xff08;和 Wi-Fi 对照…...

【数据结构与算法】第19篇:树与二叉树的基础概念

一、什么是树1.1 树的定义树是 n&#xff08;n ≥ 0&#xff09;个节点的有限集合。当 n 0 时称为空树。任意非空树满足&#xff1a;有且仅有一个根节点其余节点可分为 m 个互不相交的子树现实中的例子&#xff1a;文件系统、公司组织架构、网页DOM树。1.2 树的术语画一棵树来…...

热门AI命理工具盘点:星座、运势、排盘工具一次看

很多朋友对传统命理文化感兴趣&#xff0c;却怕找不对专业靠谱的工具&#xff0c;今天我们就整理了10款不同方向的AI命理相关工具&#xff0c;涵盖星座、面相、运势测算、专业排盘等不同需求&#xff0c;大家可以按需选择。 一、专业命理首选&#xff1a;天府 Agent 链接&#…...