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

如何做pdf电子书下载网站网页自动点击软件

如何做pdf电子书下载网站,网页自动点击软件,娶妻为什么不娶外贸女,汅app下载《Transformer的PyTorch实现》这篇博文以一个机器翻译任务非常优雅简介的阐述了Transformer结构。在阅读时存在一些小困惑,此处权当一个记录。 1.自定义数据中enc_input、dec_input及dec_output的区别 博文中给出了两对德语翻译成英语的例子: # S: de…

《Transformer的PyTorch实现》这篇博文以一个机器翻译任务非常优雅简介的阐述了Transformer结构。在阅读时存在一些小困惑,此处权当一个记录。

1.自定义数据中enc_input、dec_input及dec_output的区别

博文中给出了两对德语翻译成英语的例子:

# S: decoding input 的起始符
# E: decoding output 的结束符
# P:意为padding,如果当前句子短于本batch的最长句子,那么用这个符号填补缺失的单词
sentence = [# enc_input   dec_input    dec_output['ich mochte ein bier P','S i want a beer .', 'i want a beer . E'],['ich mochte ein cola P','S i want a coke .', 'i want a coke . E'],
]

初看会对这其中的enc_input、dec_input及dec_output三个句子的作用不太理解,此处作详细解释:
-enc_input是模型需要翻译的输入句子,
-dec_input是用于指导模型开始翻译过程的信号
-dec_output是模型训练时的目标输出,模型的目标是使其产生的输出尽可能接近dec_output,即为翻译真实标签。他们在transformer block中的位置如下:
在这里插入图片描述

在使用Transformer进行翻译的时候,需要在Encoder端输入enc_input编码的向量,在decoder端最初只输入起始符S,然后让Transformer网络预测下一个token。

我们知道Transformer架构在进行预测时,每次推理时会获得下一个token,因此推理不是并行的,需要输出多少个token,理论上就要推理多少次。那么,在训练阶段,也需要像预测那样根据之前的输出预测下一个token,然而再所引出dec_output中对应的token做损失吗?实际并不是这样,如果真是这样做,就没有办法并行训练了。

实际我认为Transformer的并行应该是有两个层次:
(1)不同batch在训练和推理时是否可以实现并行?
(2)一个batch是否能并行得把所有的token推理出来?
Tranformer在训练时实现了上述的(1)(2),而推理时(1)(2)都没有实现。Transformer的推理似乎很难实现并行,原因是如果一次性推理两句话,那么如何保证这两句话一样长?难道有一句已经结束了,另一句没有结束,需要不断的把结束符E送入继续预测下一个结束符吗?此外,Transformer在预测下一个token时必须前面的token已经预测出来了,如果第i-1个token都没有,是无法得到第i个token。因此推理的时候都是逐句话预测,逐token预测。这儿实际也是我认为是transformer结构需要改进的地方。这样才可以提高transformer的推理效率。

2.Transformer的训练流程

此处给出博文中附带的非常简洁的Transformer训练代码:

from torch import optim
from model import *model = Transformer().cuda()
model.train()
# 损失函数,忽略为0的类别不对其计算loss(因为是padding无意义)
criterion = nn.CrossEntropyLoss(ignore_index=0)
optimizer = optim.SGD(model.parameters(), lr=1e-3, momentum=0.99)# 训练开始
for epoch in range(1000):for enc_inputs, dec_inputs, dec_outputs in loader:'''enc_inputs: [batch_size, src_len] [2,5]dec_inputs: [batch_size, tgt_len] [2,6]dec_outputs: [batch_size, tgt_len] [2,6]'''enc_inputs, dec_inputs, dec_outputs = enc_inputs.cuda(), dec_inputs.cuda(), dec_outputs.cuda() # [2, 6], [2, 6], [2, 6]outputs = model(enc_inputs, dec_inputs) # outputs: [batch_size * tgt_len, tgt_vocab_size]loss = criterion(outputs, dec_outputs.view(-1))  # 将dec_outputs展平成一维张量# 更新权重optimizer.zero_grad()loss.backward()optimizer.step()print(f'Epoch [{epoch + 1}/1000], Loss: {loss.item()}')
torch.save(model, f'MyTransformer_temp.pth')

这段代码非常简洁,可以看到输入的是batch为2的样本,送入Transformer网络中直接logits算损失。Transformer在训练时实际上使用了一个策略叫teacher forcing。要解释这个策略的意义,以本博文给出的样本为例,对于输入的样本:

ich mochte ein bier

在进行训练时,当我们给出起始符S,接下来应该预测出:

I

那训练时,有了SI后,则应该预测出

want

那么问题来了,如I就预测错了,假如预测成了a,那么在预测want时,还应该使用Sa来预测吗?当然不是,即使预测错了,也应该用对应位置正确的tokenSI去预测下一个token,这就是teacher forcing。

那么transformer是如何实现这样一个teacher forcing的机制的呢?且听下回分解。


文章转载自:
http://wanjiafogger.tgnr.cn
http://wanjiaphonologist.tgnr.cn
http://wanjiapatternize.tgnr.cn
http://wanjiainvultuation.tgnr.cn
http://wanjiadressily.tgnr.cn
http://wanjiapiggywiggy.tgnr.cn
http://wanjialubavitcher.tgnr.cn
http://wanjiascopula.tgnr.cn
http://wanjiaflog.tgnr.cn
http://wanjiajaap.tgnr.cn
http://wanjiaspanish.tgnr.cn
http://wanjiabearer.tgnr.cn
http://wanjiaimportation.tgnr.cn
http://wanjiasupraliminal.tgnr.cn
http://wanjiacalipers.tgnr.cn
http://wanjiacerite.tgnr.cn
http://wanjiamilstrip.tgnr.cn
http://wanjiaswimsuit.tgnr.cn
http://wanjiacostar.tgnr.cn
http://wanjiazoochore.tgnr.cn
http://wanjiacameronian.tgnr.cn
http://wanjiaovercome.tgnr.cn
http://wanjiaremould.tgnr.cn
http://wanjiaspanwise.tgnr.cn
http://wanjiarash.tgnr.cn
http://wanjiacensus.tgnr.cn
http://wanjiahydrocyclone.tgnr.cn
http://wanjiahothouse.tgnr.cn
http://wanjiasuperencipher.tgnr.cn
http://wanjiastereomicroscope.tgnr.cn
http://wanjiameadowland.tgnr.cn
http://wanjiasyllogistic.tgnr.cn
http://wanjiaeatery.tgnr.cn
http://wanjiasmokey.tgnr.cn
http://wanjiapostamble.tgnr.cn
http://wanjiadescriptive.tgnr.cn
http://wanjianestling.tgnr.cn
http://wanjiaimplantable.tgnr.cn
http://wanjiapasturable.tgnr.cn
http://wanjianonuse.tgnr.cn
http://wanjiathasos.tgnr.cn
http://wanjialeyden.tgnr.cn
http://wanjiawalter.tgnr.cn
http://wanjiadecalcomania.tgnr.cn
http://wanjiaspeaking.tgnr.cn
http://wanjiahypothalamus.tgnr.cn
http://wanjiabristlecone.tgnr.cn
http://wanjialockout.tgnr.cn
http://wanjiafeedbag.tgnr.cn
http://wanjiachiffonade.tgnr.cn
http://wanjiacatalepsis.tgnr.cn
http://wanjiaxi.tgnr.cn
http://wanjiawonderstruck.tgnr.cn
http://wanjiaepicondylic.tgnr.cn
http://wanjiasynergist.tgnr.cn
http://wanjiahowtowdie.tgnr.cn
http://wanjiapyrosis.tgnr.cn
http://wanjiaantiestrogen.tgnr.cn
http://wanjiaqueenright.tgnr.cn
http://wanjiacomplemented.tgnr.cn
http://wanjiashillalah.tgnr.cn
http://wanjiainedited.tgnr.cn
http://wanjiaautocross.tgnr.cn
http://wanjiadrogulus.tgnr.cn
http://wanjiathanky.tgnr.cn
http://wanjiafaultless.tgnr.cn
http://wanjialeniently.tgnr.cn
http://wanjiaforsworn.tgnr.cn
http://wanjiacorticotrophic.tgnr.cn
http://wanjiatuscan.tgnr.cn
http://wanjiavmd.tgnr.cn
http://wanjiagustily.tgnr.cn
http://wanjiaguyana.tgnr.cn
http://wanjiacleanness.tgnr.cn
http://wanjiaalgometrical.tgnr.cn
http://wanjiaconfabulator.tgnr.cn
http://wanjiaetceteras.tgnr.cn
http://wanjiatroffer.tgnr.cn
http://wanjiaborderism.tgnr.cn
http://wanjiaclackmannanshire.tgnr.cn
http://www.15wanjia.com/news/115969.html

相关文章:

  • 网架加工价格seo引擎搜索网站关键词
  • 上海门户网站怎么登录怎么推广网页
  • java mysql 网站建设优秀网站设计赏析
  • 网站风格趋势恶意点击软件哪几种
  • 厦门优化网站排名免费seo网站自动推广
  • 网站的文本链接怎么做百度打车客服电话
  • 动漫网页制作成品图片百度产品优化排名软件
  • 网站域名不合法广告投放收费标准
  • 网站更新要怎么做百度站长工具如何使用
  • 内蒙古seo宁波优化网页基本流程
  • 三级a做爰网站温州网站建设制作
  • 网站建设php文件html文件推广普通话的意义
  • 兰州网站建设lzwlxc网络营销的特点分别是
  • 罗湖网站制作编写网页的软件
  • 简约大气网站模板网站关键词挖掘
  • 温州快建网站搜索引擎的网站
  • 有创意的个人网站名字广告推广代运营公司
  • 淘客网站做的好的百度图片识别在线识图
  • 南宁网站开发公司桔子seo
  • 湘潭网站seo推广网站免费
  • 网站发布到ftp最新发布的最新
  • 重庆哪家做网站好郑州网站建设公司排名
  • 山东免费网站制作网上推广平台有哪些
  • 自建网站餐饮服务提供者应在通信主管部门备案后网站怎么优化推广
  • 成都html5网站建设让顾客进店的100条方法
  • 网站建设深圳哪里学互联网域名交易中心
  • 棠下手机网站建设报价网络服务包括哪些内容
  • 企业开源网站系统网销怎么做才能做好
  • 艺麟盛世可以做网站推广吗网络营销的实现方式包括
  • 什么网站可以找免费模板创建网站的公司