随写transformer

作为针对序列建模的模型,RNN,LSTM在以序列为主要呈现形式的NLP任务上展现出远超CNN的卓越性能。但是仍有缺陷:

  • RNN为单向依序计算,序列需要依次输入,串行计算,限制了计算机的并行计算能力,导致时间成本过高。
  • RNN难以捕捉长期依赖 问题,即对于极长的序列,RNN难以捕捉远距离输入 之间的关系。虽然LSTM通过门机制对此进行了一定优化,但RNN对长期依赖问题的捕捉能力仍然不如人意。

针对上述两个问题,2017年,Vaswani 等人发表了论文**《Attention Is All You Need》** ,抛弃了传统的 CNN、RNN 架构,提出了一种全新的完全基于 attention 机制 的模型------Transformer ,解决了上述问题,在较小的时间成本下取得了多个任务的 the-state-of-art效果,并为自然语言处理任务提供了新的思路。

自此,attention 机制进入自然语言处理任务的主流架构,在 Transformer 的基础上,诞生了预训练-微调范式 的多种经典模型如 Bert、GPT、T5 等。当然,同样是在 Transformer 的肩膀上,引入了 RLHF 机制 、实现了大量参数建模的 ChatGPT 则带领 NLP 进入了全新的大模型时代。

但不管是预训练-微调范式的主流模型 Bert,还是大模型时代的主流模型 ChatGPT、LLaMA,Transformer 都是其最坚实的基座。

注意力公式Q与K乘积进行放缩的原因:

如果Q和K对应的维度比较大,softmax放缩时就非常容易受影响,使不同值之间的差异较大,从而影响梯度的稳定性,因此,要将Q和K乘积的结果做一个放缩。

相关推荐
麦麦大数据1 天前
F047 vue3+flask微博舆情推荐可视化问答系统
python·flask·知识图谱·neo4j·推荐算法·舆情分析·舆情监测
MediaTea1 天前
Python 第三方库:Flask(轻量级 Web 框架)
开发语言·前端·后端·python·flask
java干货1 天前
Spring Boot 为什么“抛弃”了 spring.factories?
spring boot·python·spring
2501_941111821 天前
使用Python进行网络设备自动配置
jvm·数据库·python
源码之家1 天前
基于python租房大数据分析系统 房屋数据分析推荐 scrapy爬虫+可视化大屏 贝壳租房网 计算机毕业设计 推荐系统(源码+文档)✅
大数据·爬虫·python·scrapy·数据分析·推荐算法·租房
源码之家1 天前
机器学习:基于python租房推荐系统 预测算法 协同过滤推荐算法 房源信息 可视化 机器学习-线性回归预测模型 Flask框架(源码+文档)✅
大数据·python·算法·机器学习·数据分析·线性回归·推荐算法
循环过三天1 天前
7.7、Python-常用内置函数
笔记·python·学习
闲人编程1 天前
【指南】为你的开源Python项目编写完善的文档(Sphinx)
python·开源·文档·sphinx·算法改进·codecapsule
Hello_WOAIAI1 天前
4.2 python多线程编程:threading 模块深度解析
开发语言·python