大模型面试题:能简单说下attention中存在的问吗?

news/2024/11/27 14:57:20/

我整理了1000道算法面试题:

获取

先说结论:从Attention is not all you need 这篇论文来看,单纯的不加残差连接且不加MLP的多层多头的Attention堆叠会导致模型输出的秩坍缩到rank-1的矩阵,也就是最后所有的表征都趋向于同一个向量了;论文还说明了加上残差连接和MLP会减缓这种衰减,但是也仅仅是减缓。

证明过程是比较复杂的,作者在文章中花了大量的篇幅来进行推导,这里我不菜,就照葫芦画瓢说一下整体的思路,部分图片来自论文,有兴趣的小伙伴可以看下原文。

论文的证明从简单到复杂,从简答的单头单层,到多头多层以及加上残差和MLP的这么一个过程。我们只说到多层单头的情况的推导,然后推广到多头多层以及加上残差和MLP的过程大家可以看paper.

首先看过来,作者先给了res(X)的定义,这个res可以理解为残差,表达式如下

图片

这个res(X)就是可以理解为X和一个向量相减以保证减去后的||||最小,如果res(X)=0表述啥?就表示X里面的向量都是一样的了,也就是大家都长的一毛一样,这样的X做表征有个屁用,所以res(X)最好别太小。

我们直接到文章A.1 Single-layer and single-head这个部分去看,首先我们要考察的是经过attention计算后的X'的res,因此我们先得到X'是啥

图片

这样样子好理解吧,P就是A经过softmax后的值,X是输入,Wv是value weight. 那么A是啥,A是如下:

图片

二话不说先展开得到

图片

其中

图片

图片

则A可以表示为:

图片

好,左边一个东西乘以了1^T, 乘完后是个常数,干掉它,然后保留右边那几项,得到如下P=softmax(A)=如下

图片

其中

图片

图片

可以得到

图片

这个过程很复杂,作者估计也没弄懂,我们直接忽略

然后得到

图片

这东西就是R(X')了

再近似一波得到1范数和∞的形式

图片

从1直接推到2,然后1结合2得到3,得到3之后我们先后可以基于D的不等式,得到只关于R的表达式

图片

上面推导了单层单头,多层多头的情况如下

图片

可以看到如果res(X)小于1,我滴乖乖,那直接res(X**L)不得飞起到渣都没有了,也就论文说的输出的秩呈现双指数下降,太可怕...

后面作者做了一些实验,我截个图,大概也能看出随着层数增加输出秩的衰减

图片


http://www.ppmy.cn/news/1550370.html

相关文章

训练的decoder模型文本长度不一致,一般设置为多大合适,需要覆盖最长的文本长度么

在训练解码器模型时,文本长度不一致是常见的情况,需要根据任务的特性和数据集的长度分布来设置合理的最大长度 (max_length)。以下是一些指导原则,帮助你设置合适的最大长度: 1. 是否需要覆盖最长文本长度 覆盖最长文本长度: 如果任务对完整性要求很高(例如生成数学公式、…

银行卡OCR 识别 API 接口如何用Java如何调用

银行卡 OCR 识别是利用光学字符识别技术,对银行卡上的卡号、有效期、持卡人姓名等信息进行快速、准确识别的过程。而银行卡 OCR 识别 API 接口则是将这种识别能力以接口的形式提供给开发者,使其能够轻松地集成到各种应用程序中,实现对银行卡信…

Mac——鼠标增强插件Mos

功能说明: 能够解决鼠标断续、不灵敏等鼠标问题。 下载地址: Mac——鼠标增强插件Mos

【面试题】2025年百度校招Java后端面试题

文章目录 前言一、网络IO1、服务器处理并发请求有哪几种方式?2、说一下select,poll,epoll的区别?3、Java 有一种现代的处理方式,属于异步I/O,是什么?redis,nginx,netty 是…

深度学习——激活函数

一、人工神经元 1.1 构建人工神经元 人工神经元接受多个输入信息,对它们进行加权求和,再经过激活函数处理,最后将这个结果输出。 1.2 组成部分 输入(Inputs): 代表输入数据,通常用向量表示,每…

MySQL 索引详解

在数据库的世界中,索引就像是一本巨大书籍的目录,它能够极大地提高数据检索的效率。在 MySQL 中,索引的合理使用对于数据库的性能至关重要。本文将深入探讨 MySQL 索引的各个方面。 一、索引的概念与作用 1. 什么是索引? 索引是一…

[STM32]从零开始的STM32 FreeRTOS移植教程

一、前言 如果能看到这个教程的话,说明大家已经学习嵌入式有一段时间了。还记得嵌入式在大多数时候指的是什么吗?是的,我们所说的学习嵌入式大部分时候都是在学习嵌入式操作系统。从简单的一些任务状态机再到复杂一些的RTOS,再到最…

oracle中的多选查询条件匹配

动态多选参数查询数据时&#xff0c;需要动态生成sql&#xff0c;通常面临两种情况(两种传参可以在服务代码层中进行转换)&#xff1a; 1、查询条件以列表collection的形式转入配置的xml中 比如传入条件参数[02,04],就需要下面方式实现 <iterate open"(" clo…