【学习笔记】关于transformer

news2024/12/30 3:56:02

1.Embedding

一文读懂Embedding的概念,以及它和深度学习的关系 - 知乎

one-hot编码当矩阵过于稀疏时计算开销大,于是加上Embedding层,通过Embedding层(矩阵乘法)实现降维。

Embedding层将一个一个词(词源,token)转为向量

2.self_attention

2.1.attention

一文看懂 Attention(本质原理+3大优点+5大类型) - 知乎

Attention 机制最早是在计算机视觉里应用的,随后在NLP领域也开始应用了,真正发扬光大是在 NLP 领域,因为 2018 年BERT和 GPT 的效果出奇的好,进而走红。而 Transformer和 Attention 这些核心开始被大家重点关注.

一句话说明注意力机制(Attention Mechanism)用于在神经网络中处理序列数据的机制,允许模型集中关注输入序列的不同部分,根据输入的重要性来加权计算。这使得模型能够动态地选择性地关注与当前任务相关的信息。

小白都能看懂的超详细Attention机制详解 - 知乎

机器翻译中,不同语言之间的语序有别,于是有了Encoder-Decoder结构的循环神经网络,以中间隐藏层为媒介处理不同语言词的输出位置和形式。随着输入数据的维度增加,Encoder-Decoder网络的中间层容量达到上限,于是有了循环神经网络中的Attention机制。

Transformer也采用Encoder-Decoder结构

如何分配权重?

2.2.self_attention

超详细图解Self-Attention - 知乎

左:XX^T计算两个向量的相关度(向量的内积表征两个向量的夹角,表征一个向量在另一个向量上的投影),通过softmax归一化(每个字都有自己[0,1]之内的关注度),再和自己X相乘。

一句话说明自注意力(Self-Attention)Transformer中的注意力机制称为自注意力(Self-Attention),因为它允许模型在输入序列内部进行注意力计算,而不仅限于与其他输入序列之间的关系。

自注意力机制的主要组成部分是查询(Query)、键(Key)和值(Value)的计算。对于每个输入位置,通过将该位置的嵌入表示分别作为查询、键和值,计算出每个位置与其他位置之间的注意力分数。然后,根据注意力分数对值进行加权求和,生成最终的输出表示。

注意力机制使得模型能够根据输入序列的不同部分之间的相关性,对信息进行加权聚合,从而更好地捕捉上下文信息和序列中的长距离依赖关系。这有助于提高模型的性能,并在处理序列数据时取得更好的结果。

3.Transformer

3.1.评价指标

Attention Is All You Need

bleu采用了一种N-gram的匹配规则,去比较议文和参考译文n组词的相似比。分母取决于原文N(N是多少就画几个框),分子是翻译准确的个数。

但是仅采用bleu不合理,如下图所示,原文和译文相似度低,但是1-gram下的bleu都是1。

Count指的是参考译文的词'the'出现在译文里面的次数Count=2,Max_Ref_Count=4表示'the'在参考译文里面出现的次数。所以Count_{clip} = 2

3.2.历史意义

Reference

1.Transformer(Attention is all you need)自然语音处理.【B站深度之眼镜】【论文复现代码数据集见评论区】Transformer(Attention is all you need)自然语音处理必读论文,为你提供论文复现+代码精讲_哔哩哔哩_bilibili

2.Transformer - Attention is all you need.【知乎】Transformer - Attention is all you need - 知乎

3.超详细图解Self-Attention.【知乎】超详细图解Self-Attention - 知乎

4.从Transformer到Bert.【知乎】从Transformer到Bert - 知乎

5.Transformer论文逐段精读.【B站】Transformer论文逐段精读【论文精读】_哔哩哔哩_bilibili

6.Transformer论文逐段精读--笔记.【B站】Transformer论文逐段精读【论文精读】 - 哔哩哔哩

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

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

相关文章

Spring Boot 如何使用 Spring Security 进行认证和授权

Spring Boot 如何使用 Spring Security 进行认证和授权 在 Web 应用程序中,认证和授权是非常重要的功能。Spring Security 是一个基于 Spring 框架的强大的安全框架,它提供了完整的认证和授权解决方案,并且可以轻松地集成到 Spring Boot 应用…

gtk_table_attch与gtk_grid_attach的区别

gtk_table_attch与gtk_grid_attach的区别 button gtk_button_new_with_label (“Short fat button”); gtk_table_attach (GTK_TABLE (table), button, 0, 2, 3, 4, xoptions, yoptions, 0, 0); 0—2–3—4 左 右 上 下 /* 横线从左边的0移到右边的2,竖线从上边的…

3 python进阶篇

文章目录 面向对象类属性和类方法类属性类方法静态方法 单例模式__new__ 方法类实现单例模式 异常 、模块和包异常自定义异常 模块和包模块的搜索顺序包的init文件发布模块(了解) 文件seek文件/目录的常用管理操作eval函数 补充性知识位运算小技巧 参考我…

软考A计划-系统集成项目管理工程师-一般补充知识-中

点击跳转专栏>Unity3D特效百例点击跳转专栏>案例项目实战源码点击跳转专栏>游戏脚本-辅助自动化点击跳转专栏>Android控件全解手册点击跳转专栏>Scratch编程案例点击跳转>软考全系列 👉关于作者 专注于Android/Unity和各种游戏开发技巧&#xff…

【LeetCode热题100】打卡第27天:二叉树的前序、中序、后序遍历

文章目录 【LeetCode热题100】打卡第27天:二叉树的前序、中序、后序遍历⛅前言📕二叉树的前序遍历🔒题目🔑题解 📕二叉树的中序遍历🔒题目🔑题解 📕二叉树的后序遍历🔒题…

(万字长文)React 18 源码与原理解读 —— 看这一篇就够了

写在专栏开头(叠甲) 作者并不是前端技术专家,也只是一名喜欢学习新东西的前端技术小白,想要学习源码只是为了应付急转直下的前端行情和找工作的需要,这篇专栏是作者学习的过程中自己的思考和体会,也有很多参…

django中模板的使用

django中模板的使用 第一步 创建模板文件夹第二步 把模板存放进去第三步 把模板路径 加入到setting.py第四步 在视图函数处理第五步 路由挂载第六步 网页访问 第一步 创建模板文件夹 在项目的同层级下 新建模板文件夹 第二步 把模板存放进去 index.html <!DOCTYPE html&…

【Docker】一文了解Docker

文章目录 什么是Docker?为什么要使用Docker&#xff1f;与虚拟机的比较Docker架构Docker使用场景Docker安装阿里云镜像加速器1、登录阿里云2、找到镜像加速器3、配置使用 如今Docker的使用已经非常普遍&#xff0c;特别在一线互联网公司。使用Docker技术可以帮助企业快速水平扩…

C++ 自己动手实现简单的文件操作 (2023.6.23)

C 自己动手实现简单的文件操作 2023.6.23 引言1、文件简介2、各式各样的文件格式2.1 不同类型文件的扩展名2.1.1 文本文件2.1.2 数据文件2.1.3 音频文件2.1.4 视频文件2.1.5 电子书文件2.1.6 3D图像文件2.1.7 位图文件2.1.8 矢量图文件2.1.9 相机原始文件2.1.10 页面布局文件2.…

自监督对比学习框架SimCLR原理

目录 一、前言 人工智能发展近况 对比学习 二、数据集介绍 STL-10数据集 三、无监督图像表征对比学习 SimCLR SimCLR算法基本原理 数据增强与正负样本匹配 编码器 损失函数 对比学习全过程 四、有监督的图像下游任务迁移 替换下游任务网络层 有监督训练 五、实…

环境配置 | Git的安装及配置[图文详情]

Git是一个开源的分布式版本控制系统&#xff0c;可以有效、高速地处理从小到大的项目版本管理。下面介绍了基础概念及详细的用图文形式介绍一下git安装过程. 目录 1.Git基础概念 2.Git的下载及安装 3.常见的git命令 Git高级技巧 Git与团队协作 1.Git基础概念 仓库&#…

Charm-Crypto在Anaconda虚拟环境下的安装教程--基于Ubuntu20.04

第零步 VMware虚拟机设置和安装Anaconda虚拟环境 因为后面要编译源码&#xff0c;所以最好把CPU设置为最大&#xff0c;例如我的电脑是4核8线程&#xff0c;则&#xff1a; 关于Anaconda虚拟环境&#xff0c;这里不再赘述&#xff0c;后面都假设已经安装好虚拟环境&#xff0c;…

包装类--Math 类--Arrays 类--System 类

包装类–Math 类–Arrays 类–System 类 包装类 包装类的分类 包装类和基本数据的转换 演示包装类和基本数据类型的相互转换&#xff0c;这里以int和Integer演示。 1&#xff09;jdk5前的手动装箱和拆箱方式&#xff0c;装箱&#xff1a;基本类型&#xff0d;>包装类型&…

OpenAI收费标准,ChatGPT调用须知!

OpenAI收费标准&#xff0c;ChatGPT调用须知&#xff01; 免费镜像站价格说明GPT4GPT3.5图片模型如何付费 免费镜像站 ChatGPT有很多镜像站&#xff0c;需要输入API-KEY才可以使用&#xff0c;镜像站不会进行收费&#xff0c;而是OpenAI会对您进行收费。本文主要说明OpenAI的收…

【好书精读】网络是怎样连接的 —— IP 与以太网的包收发操作

&#xff08; 该图由AI制作 &#xff09; 目录 包的基本知识 包收发操作概览 生成包含接收方 IP 地址的 IP 头部 生成以太网用的 MAC 头部 通过 ARP 查询目标路由器的 MAC 地址 以太网的基本知识 将 IP 包转换成电或光信号发送出去 给网络包再加 3 个控制数据 向集线…

代码随想录算法训练营第四十一天 | 背包问题(一维、二维)、416. 分割等和子集

01背包&#xff1a;n种物品&#xff0c;每种物品只有1个&#xff0c;有相应的重量和价值 最多只能装m的重量&#xff0c;最多价值为多少&#xff1f; dp[i][j] : [0, i]物品任取放进容量为j的背包里 不放物品i&#xff1a;dp[i-1][j] 放物品i&#xff1a;dp[i-1][j-weight[…

如何系统性的学习Python语言

零基础同学的福音来了&#xff0c;如果你对Python语言的学习感兴趣&#xff0c;接下来可以由浅入深的了解下Python语言&#xff0c;哪怕你是零基础的小白也完全可以学会的&#xff0c;最后也会给大家放出学习和实例相结合的教程及方法&#xff0c;给到各位同学系统性的教学&…

ES-索引管理

前言 数据类型 ​ 搜索引擎是对数据的检索&#xff0c;所以我们先从生活中的数据说起。我们生活中的数据总体分为两种&#xff1a; 结构化数据非结构化数据 结构化数据&#xff1a; 也称作行数据&#xff0c;是由二维表结构来逻辑表达和实现的数据&#xff0c;严格地遵循数…

<C语言> 数组

1.一维数组的创建和初始化。 1.1 数组的创建 数组是一组相同类型元素的集合。 使用以下方式声明一个一维数组&#xff1a; type arrayName[arraySize];type是数组中元素的类型&#xff0c;arrayName是数组的名称&#xff0c;arraySize是数组的大小&#xff08;即元素的个数&a…

linux系统中如何制作rootfs?详细教程

如何制作rootfs&#xff1f;安排&#xff01;想直奔主题的&#xff0c;直接跳到第四部分。 一、分析 1. 文件系统简介 理论上说一个嵌入式设备如果内核能够运行起来&#xff0c;且不需要运行用户进程的话&#xff0c;是不需要文件系统的&#xff0c;文件系统简单的说就是一种…