兰亭集势网站模板手游充值代理平台

bicheng/2026/1/18 13:39:24/文章来源:
兰亭集势网站模板,手游充值代理平台,北京市专业网站建设,网站托管服务合同目录 前言 一、背景 传统序列模型的问题 Transformer的动机 二、组成部分 自注意力机制#xff08;Self-Attention#xff09; 编码器和解码器 位置编码 前馈神经网络 三、训练和推理 训练过程 推理过程 四、应用 自然语言处理任务 图像处理和其他领域 BERT和…目录 前言 一、背景 传统序列模型的问题 Transformer的动机 二、组成部分 自注意力机制Self-Attention 编码器和解码器 位置编码 前馈神经网络 三、训练和推理 训练过程 推理过程 四、应用 自然语言处理任务 图像处理和其他领域 BERT和其他变体 五、用python构建transformer的训练脚本 六、总结 前言 Transformer是一种用于自然语言处理和其他序列到序列任务的深度学习模型。它于2017年由Vaswani等人在论文《Attention is All You Need》中首次提出并很快成为了自然语言处理领域的主流模型之一。 一、背景 在介绍Transformer之前让我们先了解一下传统的序列模型存在的问题以及推动Transformer出现的动机。 传统序列模型的问题 传统的序列模型如循环神经网络RNN和长短期记忆网络LSTM在处理长序列时存在一些问题 长距离依赖问题Long-Term Dependencies RNN和LSTM等模型在处理长序列时往往会出现梯度消失或梯度爆炸的问题导致难以捕捉到远距离之间的依赖关系。串行计算限制 RNN和LSTM等模型的计算是顺序的无法充分利用并行计算的优势导致训练和推理速度较慢。 Transformer的动机 Transformer的出现解决了传统序列模型的一些问题 自注意力机制Self-Attention Transformer引入了自注意力机制使得模型可以在处理序列时同时关注到所有位置而无需考虑它们的距离从而更好地捕捉上下文信息。并行计算 由于自注意力机制的引入Transformer可以高效地进行并行计算加速了训练和推理过程。位置编码 由于Transformer不具备显式的循环结构或卷积操作因此需要一种方式来提供输入序列中各个元素的位置信息这就引入了位置编码。 二、组成部分 自注意力机制Self-Attention 自注意力机制是Transformer的核心。在自注意力机制中每个输入元素例如词嵌入都与序列中的其他所有元素进行交互以计算每个元素的注意力分数。这些注意力分数用来加权求和其他元素的表示以获得每个元素的上下文表示。自注意力机制可以被形式化地表示为一组查询query、键key和值value的线性映射然后计算注意力分数并将其应用于值以获得最终的输出。 编码器和解码器 Transformer包含编码器和解码器两个部分它们都由多层堆叠的自注意力层和前馈神经网络层组成。编码器负责将输入序列编码为一系列隐藏表示而解码器则将这些隐藏表示解码为输出序列。在训练过程中编码器和解码器都被并行地训练通过最小化损失函数来学习输入序列到输出序列的映射关系。 位置编码 由于Transformer不具备显式的循环结构或卷积操作因此需要一种方式来向模型提供输入序列中各个元素的位置信息。位置编码通过向输入嵌入中添加一些特定的位置信息来实现这一点使模型能够区分不同位置的词汇。通常位置编码使用正弦和余弦函数来生成固定的位置编码向量并将其与输入嵌入相加。 前馈神经网络 Transformer中的前馈神经网络Feed-Forward Neural Network层由两个线性变换和一个非线性激活函数组成通常是ReLU。这个前馈网络在每个位置上独立地作用以提供对每个位置的非线性变换。 三、训练和推理 训练过程 在训练过程中Transformer模型通常使用标准的监督学习方法例如使用交叉熵损失函数和反向传播算法。编码器和解码器分别接收输入序列和目标序列并通过最小化损失函数来优化模型参数。训练过程中可以使用优化器如Adam来更新模型的参数以减小损失函数。 推理过程 在推理阶段使用已经训练好的模型对新的输入序列进行编码和解码。推理时可以使用束搜索Beam Search等技术来生成输出序列以选择最可能的翻译或生成序列。 四、应用 自然语言处理任务 Transformer模型已被广泛用于各种自然语言处理任务包括但不限于 机器翻译文本摘要问答系统语言建模语义理解 图像处理和其他领域 Transformer的思想也被应用到其他领域例如 图像处理用于图像分类、目标检测和图像生成等任务。音频处理用于语音识别、语音合成和音乐生成等任务。推荐系统用于个性化推荐和内容推荐等任务。 BERT和其他变体 Transformer的一个流行变体是BERTBidirectional Encoder Representations from Transformers它在预训练阶段使用了Transformer的编码器部分成为了许多自然语言处理任务的先导模型。BERT在文本分类、命名实体识别和语义相似度计算等任务中取得了良好的性能。 五、用python构建transformer的训练脚本 以下是一个简单的用Python实现的Transformer模型训练脚本。这个脚本使用了PyTorch库来构建和训练Transformer模型并以机器翻译任务为例进行演示。请注意这只是一个基本示例实际应用中可能需要根据具体任务进行调整和优化。 import torch import torch.nn as nn import torch.optim as optim import torch.nn.functional as F from torch.utils.data import DataLoader, Dataset# Define Transformer model class Transformer(nn.Module):def __init__(self, src_vocab_size, tgt_vocab_size, src_pad_idx, tgt_pad_idx, d_model512, n_heads8, n_encoder_layers6, n_decoder_layers6):super(Transformer, self).__init__()self.encoder Encoder(src_vocab_size, d_model, n_heads, n_encoder_layers)self.decoder Decoder(tgt_vocab_size, d_model, n_heads, n_decoder_layers)self.src_pad_idx src_pad_idxself.tgt_pad_idx tgt_pad_idxdef forward(self, src, tgt):src_mask self.make_src_mask(src)tgt_mask self.make_tgt_mask(tgt)encoder_output self.encoder(src, src_mask)decoder_output self.decoder(tgt, encoder_output, src_mask, tgt_mask)return decoder_outputdef make_src_mask(self, src):src_mask (src ! self.src_pad_idx).unsqueeze(1).unsqueeze(2)return src_maskdef make_tgt_mask(self, tgt):tgt_pad_mask (tgt ! self.tgt_pad_idx).unsqueeze(1).unsqueeze(2)tgt_len tgt.shape[1]tgt_sub_mask torch.tril(torch.ones((tgt_len, tgt_len), dtypetorch.uint8, devicetgt.device))tgt_mask tgt_pad_mask tgt_sub_maskreturn tgt_maskclass Encoder(nn.Module):def __init__(self, vocab_size, d_model, n_heads, n_layers):super(Encoder, self).__init__()self.embedding nn.Embedding(vocab_size, d_model)self.pos_encoding PositionalEncoding(d_model)self.layers nn.ModuleList([EncoderLayer(d_model, n_heads) for _ in range(n_layers)])def forward(self, src, src_mask):src_embedded self.embedding(src)src_embedded self.pos_encoding(src_embedded)for layer in self.layers:src_embedded layer(src_embedded, src_mask)return src_embeddedclass EncoderLayer(nn.Module):def __init__(self, d_model, n_heads):super(EncoderLayer, self).__init__()self.self_attn MultiHeadAttention(d_model, n_heads)self.linear1 nn.Linear(d_model, 4 * d_model)self.linear2 nn.Linear(4 * d_model, d_model)self.norm nn.LayerNorm(d_model)def forward(self, src_embedded, src_mask):attn_output self.self_attn(src_embedded, src_embedded, src_embedded, src_mask)residual1 src_embedded attn_outputnorm1 self.norm(residual1)linear_output self.linear2(F.relu(self.linear1(norm1)))residual2 norm1 linear_outputnorm2 self.norm(residual2)return norm2class MultiHeadAttention(nn.Module):def __init__(self, d_model, n_heads):super(MultiHeadAttention, self).__init__()self.d_model d_modelself.n_heads n_headsself.head_dim d_model // n_headsassert d_model % n_heads 0, d_model must be divisible by n_headsself.linear_q nn.Linear(d_model, d_model)self.linear_k nn.Linear(d_model, d_model)self.linear_v nn.Linear(d_model, d_model)self.linear_out nn.Linear(d_model, d_model)def forward(self, query, key, value, maskNone):batch_size query.shape[0]Q self.linear_q(query)K self.linear_k(key)V self.linear_v(value)Q Q.view(batch_size, -1, self.n_heads, self.head_dim).permute(0, 2, 1, 3)K K.view(batch_size, -1, self.n_heads, self.head_dim).permute(0, 2, 1, 3)V V.view(batch_size, -1, self.n_heads, self.head_dim).permute(0, 2, 1, 3)energy torch.matmul(Q, K.permute(0, 1, 3, 2)) / torch.sqrt(torch.tensor(self.head_dim, dtypetorch.float32))if mask is not None:energy energy.masked_fill(mask 0, float(-inf))attention F.softmax(energy, dim-1)x torch.matmul(attention, V)x x.permute(0, 2, 1, 3).contiguous().view(batch_size, -1, self.d_model)x self.linear_out(x)return xclass PositionalEncoding(nn.Module):def __init__(self, d_model, max_len10000):super(PositionalEncoding, self).__init__()pe torch.zeros(max_len, d_model)position torch.arange(0, max_len, dtypetorch.float).unsqueeze(1)div_term torch.exp(torch.arange(0, d_model, 2).float() * (-torch.log(torch.tensor(10000.0)) / d_model))pe[:, 0::2] torch.sin(position * div_term)pe[:, 1::2] torch.cos(position * div_term)pe pe.unsqueeze(0)self.register_buffer(pe, pe)def forward(self, x):return x self.pe[:, :x.size(1)].detach()class Decoder(nn.Module):def __init__(self, vocab_size, d_model, n_heads, n_layers):super(Decoder, self).__init__()self.embedding nn.Embedding(vocab_size, d_model)self.pos_encoding PositionalEncoding(d_model)self.layers nn.ModuleList([DecoderLayer(d_model, n_heads) for _ in range(n_layers)])def forward(self, tgt, encoder_output, src_mask, tgt_mask):tgt_embedded self.embedding(tgt)tgt_embedded self.pos_encoding(tgt_embedded)for layer in self.layers:tgt_embedded layer(tgt_embedded, encoder_output, src_mask, tgt_mask)return tgt_embeddedclass DecoderLayer(nn.Module):def __init__(self, d_model, n_heads):super(DecoderLayer, self).__init__()self.self_attn MultiHeadAttention(d_model, n_heads)self.src_attn MultiHeadAttention(d_model, n_heads)self.linear1 nn.Linear(d_model, 4 * d_model)self.linear2 nn.Linear(4 * d_model, d_model)self.norm nn.LayerNorm(d_model)def forward(self, tgt_embedded, encoder_output, src_mask, tgt_mask):self_attn_output self.self_attn(tgt_embedded, tgt_embedded, tgt_embedded, tgt_mask)residual1 tgt_embedded self_attn_outputnorm1 self.norm(residual1)src_attn_output self.src_attn(norm1, encoder_output, encoder_output, src_mask)residual2 norm1 src_attn_outputnorm2 self.norm(residual2)linear_output self.linear2(F.relu(self.linear1(norm2)))residual3 norm2 linear_outputnorm3 self.norm(residual3)return norm3# Define dataset and dataloader class MyDataset(Dataset):def __init__(self, data):self.data datadef __len__(self):return len(self.data)def __getitem__(self, index):return self.data[index]# Example training function def train(model, train_loader, criterion, optimizer, device):model.train()total_loss 0for src, tgt in train_loader:src, tgt src.to(device), tgt.to(device)optimizer.zero_grad()output model(src, tgt[:, :-1]) # Ignore last token for inputoutput_dim output.shape[-1]output output.contiguous().view(-1, output_dim)tgt tgt[:, 1:].contiguous().view(-1) # Ignore first token for outputloss criterion(output, tgt)loss.backward()optimizer.step()total_loss loss.item()return total_loss / len(train_loader)# Example usage if __name__ __main__:# Example configurationsrc_vocab_size 1000tgt_vocab_size 1000src_pad_idx 0tgt_pad_idx 0d_model 512n_heads 8n_encoder_layers 6n_decoder_layers 6batch_size 64num_epochs 10# Dummy datatrain_data [(torch.randint(1, src_vocab_size, (10,)), torch.randint(1, tgt_vocab_size, (12,))) for _ in range(1000)]dataset MyDataset(train_data)train_loader DataLoader(dataset, batch_sizebatch_size, shuffleTrue)# Initialize model, optimizer, and criterionmodel Transformer(src_vocab_size, tgt_vocab_size, src_pad_idx, tgt_pad_idx, d_model, n_heads, n_encoder_layers, n_decoder_layers)optimizer optim.Adam(model.parameters())criterion nn.CrossEntropyLoss(ignore_indextgt_pad_idx)# Train loopdevice torch.device(cuda if torch.cuda.is_available() else cpu)model.to(device)for epoch in range(num_epochs):train_loss train(model, train_loader, criterion, optimizer, device)print(fEpoch {epoch1}/{num_epochs}, Train Loss: {train_loss:.4f})六、总结 Transformer作为一种强大的序列模型通过引入自注意力机制和并行计算等技术解决了传统序列模型的一些问题并在自然语言处理和其他领域取得了巨大成功。Transformer的应用范围广泛不仅局限于自然语言处理还涉及到图像处理、音频处理和推荐系统等领域。随着Transformer及其变体的不断发展相信它将在更多任务中发挥重要作用并推动人工智能领域的进一步发展。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/89195.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

和17做网店一样的货源网站北京网站建设站建设

文章目录一、时间序列综述二、时间序列数据以及基本概念三、时间序列分解四、指数平滑模型五、一元时间序列分析的模型六、AR(p)模型七、MA(q)模型八、ARMA(p, q)模型九、模型选择:AIC 和 BIC 准…

域名和网站的建设实训报告小程序开发公司价格表

unity不同版本的升级URP的方式不一样,但是大体流程是相似的 首先是加载URP包 Windows -> package manager,在unity registry中找到Universal RP 2023版本: 更早的版本: 创建URP资源和渲染器​​ 有些版本在加载时会自动创建&#…

网站背景色代码上海网络营销网站建设

第一章 C语言概述 1.1 C语言的发展史 1.1.1程序语言简述 1、机器语言 低级语言,又称二进制代码语言。一种使用0、1表示的二进制代码编写指令以执行计算机操作的语言。 特点:计算机可以直接识别,不需要进行任何翻译。 2、汇编语言 为了减…

做淘宝需要知道什么网站短网址压缩

《软件工程》期末复习提纲 第一章 第二章 第三章 第四章 第五章 第六章 第七章 第八章 第九章 第十章 第十一章 第十二章 第十三章 第十四章 小题参考 大题参考 《软件工程》期末复习提纲 第一章 1.在下列选项中,( )不是软…

企业网站策划建设方案静态网站html模板下载

11.1Spring基础(核心概念,创建和使用,简单读取) 11.2SpringBoot 11.3SpringMVC 11.4MyBatis(基础) 11.5MyBatis(进阶) 11.6AOP 11.7统一功能处理 11.8事务 11.9密码加密,加盐算法(手动实现) 11.10Redis基础​​​​​​​

贵州建设厅考试网站安全员网站举报

1. 简介 目前响应式编程的学习中很多时候都用到了Lambda表达式和StreamAPI,那么今天就在这里记录一下一些最基本的使用方法。 StreamAPI中引入了流的概念,其将集合看作一种流,流在管道中传输(动态的),可以…

网页网站怎么做的seo整站优化公司持续监控

计算机视觉(Computer Vision)是一门研究如何让计算机能够理解和分析数字图像或视频的学科。简单来说,计算机视觉的目标是让计算机能够像人类一样对视觉信息进行处理和理解。为实现这个目标,计算机视觉结合了图像处理、机器学习、模…

怎么测网站流量吗贵阳建设厅网站

目录 ​编辑一、HTTP 协议是什么 二、抓包工具的使用 三、HTTP 请求 1、认识 URL 2、认识方法 3、认识请求 “报头” HOST : Content-Length 和 Content-Type​编辑 User-Agent Referer Cookie 四、HTTP 响应 1、认识状态码 2、通过 form 表单构造 H…

建设网站需要些什么手续实体电商app定制开发

1 matlab 2ask close all clear all clcL =1000;Rb=2822400;%码元速率 Fs =Rb*8; Fc=Rb*30;%载波频率 Ld =L*Fs/Rb;%产生载波信号 t =0:1/Fs:L/Rb;carrier&

企业网站的常见类型有学网站建设工作室

我们平时经常会有一些数据运算的操作,需要调用sqrt,exp,abs等函数,那么时候你有没有想过:这个些函数系统是如何实现的?就拿最常用的sqrt函数来说吧,系统怎么来实现这个经常调用的函数呢&#xf…

阜宁做网站工作室网站设计说明

电子电器架构车载软件 —— 集中化架构软件开发 我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师。 老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 屏蔽力是信息过载时代一个人的特殊竞争力,任…

做网站卖水果哪里进货建立拼音

本文地址:https://blog.csdn.net/t163361/article/details/135024136 针对工作中遇到的优化问题,记录一下,给大家优化自己的项目提供一些思路。 公司产品最近正给国内某大型赛事做支撑服务暴露出不少问题。 使用环境 Unity 2021.3.0f1 cpu…

国内免费建站网站天津网站备案

参考 HTTP发展史 HTTP/0.9 - 单行协议 问世于1990年,那时的HTTP非常简单: 只支持GET方法; 没有首部; 只能获取纯文本 HTTP/1.0 - 搭建协议的框架 1996年,HTTP正式被作为标准公布,版本为HTTP/1.0。1.0版本增加了首部、状态码、权限、缓存、长连接(默认短连接)等规范,可以说搭建…

成都网页设计与网站建设网页设计作业报告范文

公众号:全干开发 。 专注分享简洁但高质量的动图技术文章! 回顾 在上节内容中,我们实现了用户开户的功能createAccount public void start(){System.out.println("欢迎您进入到了ATM系统");System.out.println("1、用户登录&…

福州网站建设seo什么网站做h5没有广告

P5748 集合划分计数 求解从1到1e5的所有贝尔数,我们可以利用生成函数求解,就是利用指数型生成函数求解 代码细节: 首先虽然exe^xex代表全是1,但是多项式下面还有阶乘逆元的系数,然后乘完之后,我们还有乘…

网站主色调简介怎么说宁波seo行者seo09

题目描述 小张是软件项目经理,他带领3个开发组。工期紧,今天都在加班呢。为鼓舞士气,小张打算给每个组发一袋核桃(据传言能补脑)。他的要求是: 各组的核桃数量必须相同各组内必须能平分核桃(当…

wordpress做商城网站php网站开发环境的设置

errAxiosError: Request failed with status code 405 前端调用接口的方法跟后台定义接口的方法不一致

网站技术开发文档模板免费个人网页模板

并查集 Tarjan 算法 并查集是一种用于找出一个森林(图)中树(连通分支)的个数的算法,也可用于判断两个节点是否在同一棵树上。它在每一棵树(连通分支)上选择一个节点作为本棵树(连通…

电商网站开发企业黄岛网站建设公司哪家好

传送门 文章目录题意&#xff1a;思路&#xff1a;题意&#xff1a; 思路&#xff1a; 首先有一个贪心策略就是每次都找一个叶子节点最多的点&#xff0c;让后删掉他的kkk个叶子节点&#xff0c;现在我们就来考虑如何模拟这个过程。 我们整一个vector<set<int>>ve…

想要网站推广页网站需要维护

cdh 5.12.1 安装 目前还未成功&#xff0c;仅供个人记录。【下载必备工具】当前系统为win7_x641、vmware虚拟机12.52、ubuntu16.04服务器版本3、windows下的ssh工具&#xff0c;采用git bash4、jdk安装包jdk-8u144-linux-x64.tar.gz5、mysql java驱动包 mysql-connector-java-5…