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

信誉好的大良网站建设旅游包车网站最新模板

信誉好的大良网站建设,旅游包车网站最新模板,建设银行温州分行网站,建设监督网站首页文章目录 一、完整代码二、论文解读2.1 注意力机制2.2 绝对位置编码2.3 相对位置编码2.4 旋转位置编码Long-term decayAdaption for linear attention 2.5 模型效果 三、过程实现四、整体总结 论文#xff1a;ROFORMER: ENHANCED TRANSFORMER WITH ROTARY POSITION EMBEDDING … 文章目录 一、完整代码二、论文解读2.1 注意力机制2.2 绝对位置编码2.3 相对位置编码2.4 旋转位置编码Long-term decayAdaption for linear attention 2.5 模型效果 三、过程实现四、整体总结 论文ROFORMER: ENHANCED TRANSFORMER WITH ROTARY POSITION EMBEDDING 作者Jianlin Su, Yu Lu, Shengfeng Pan, Ahmed Murtadha, Bo Wen, Yunfeng Liu 时间2021 地址https://huggingface.co/docs/transformers/model_doc/roformer 一、完整代码 由于Transformer是老生常谈了这里我们只简要实现RoPE # 完整代码在这里 class RotaryEmbedding(tf.keras.layers.Layer):def __init__(self,max_wavelength10000,scaling_factor1.0,sequence_axis1,feature_axis-1,**kwargs):super().__init__(**kwargs)self.max_wavelength max_wavelengthself.sequence_axis sequence_axisself.feature_axis feature_axisself.scaling_factor scaling_factorself.built Truedef call(self, inputs, start_index0):rotary_dim tf.shape(inputs)[-1]cos_emb, sin_emb self._compute_cos_sin_embedding(inputs, rotary_dim, start_index)return self._apply_rotary_pos_emb(inputs, cos_emb, sin_emb)def _apply_rotary_pos_emb(self, tensor, cos_emb, sin_emb):x1, x2 tf.split(tensor, 2, axisself.feature_axis)half_rot_tensor tf.concat((-x2, x1), axisself.feature_axis)return (tf.matmul(tensor,cos_emb)) (tf.matmul(half_rot_tensor, sin_emb))def _compute_cos_sin_embedding(self, x, rotary_dim, start_index):freq_range tf.range(0, rotary_dim, 2, dtypefloat32)freq_range tf.cast(freq_range, self.compute_dtype)freq_range freq_range / tf.cast(self.scaling_factor, self.compute_dtype)inverse_freq 1.0 / (self.max_wavelength** (freq_range / tf.cast(rotary_dim, self.compute_dtype)))seq_len tf.shape(x)[self.sequence_axis]tensor tf.range(seq_len, dtypefloat32) start_indextensor tf.cast(tensor, dtypeinverse_freq.dtype)freq tf.einsum(i, j - ij, tensor, inverse_freq)embedding tf.concat((freq, freq), axisself.feature_axis)def get_axis(axis):return axis if axis 0 else len(x.shape) axisfeature_axis get_axis(self.feature_axis)sequence_axis get_axis(self.sequence_axis)for axis in range(len(x.shape)):if axis ! sequence_axis and axis ! feature_axis:embedding tf.expand_dims(embedding, axis)return tf.cos(embedding), tf.sin(embedding)二、论文解读 RoPE通过其特性优先于现有的位置编码方法包括序列长度的灵活性、随着相对距离的增加而减少的标记间依赖性以及用相对位置编码装备线性自注意的能力。在各种长文本分类基准数据集上的实验结果表明具有RoPE嵌入的Transformer即RoFormer具有更好的性能 RoPE的关键思想是通过将上下文表示与一个旋转矩阵相乘来获取元素的相对位置 2.1 注意力机制 下面是注意力机制的公式老生常谈了给个图就行 2.2 绝对位置编码 这个是最普通的Transformer采取的编码方式非常的经典 2.3 相对位置编码 下图是Transformer-XL采取的编码方式其目的是为了避免在循环机制中出现位置混淆 下面两个是Exploring the Limits of Transfer Learning with a Unified Text-to-Text Transformer采取的编码方式 可以看到这里直接把位置编码转化为一个要学习的参数 b i , j b_{i,j} bi,j​进行嵌入自由度非常大 这里和上图的不同是这里另外添加了绝对位置编码的信息 DeBERTa: Decoding-enhanced BERT with Disentangled Attention这篇论文中认为常规注意力机制中的 p m T ⋅ W q T ⋅ W k ⋅ p n p_m^T·W_q^T·W_k·p_n pmT​⋅WqT​⋅Wk​⋅pn​并没有表达相对信息只是做一个bias的作用而bias在 q , k , v q,k,v q,k,v时就已经体现不需要bias采取删除的方法然后把绝对位置信息转化为相对位置信息 论文说Radford and Narasimhan(这两货是GPT模型的提出者)在2018年的时候对这四种变体进行了比较发现第四个相对位置编码即删除了bias的相对位置编码最为合理但让我纳闷的是这不是2020年的论文吗 2.4 旋转位置编码 旋转位置编码RoPE的关键思想是通过将上下文表示与一个旋转矩阵相乘来编码相对位置 所以RoPE本质上也是一种相对位置编码那么其目标肯定 q m T k n q_m^Tk_n qmT​kn​ 只与 x m x_m xm​ x n x_n xn​ 以及其相对位置 m − n m-n m−n 有关公式如下 但凡提到旋转Rotary肯定是离不开三角函数的这种方法是把一串序列绕成一个圆如图所示 这是我随便从网上下载的图片简单了解方式即可第一个位置从3点钟方向开始把所有的序列逆时针打满一圈这就是旋转位置编码论文中有一张图很形象如图所示 下面便是上图的公式化表达 论文中得出这一公式有一个推导有意思但同时有点长我把他贴在下面 不得不感慨还是咱们中国人把文章写得明白和透彻 这样做有什么优势呢 Long-term decay 这里的推理其实很简单最后一个公式是由图像说明的 ∑ i 1 d / 2 ∣ S i ∣ \sum_{i1}^{d/2}|S_i| ∑i1d/2​∣Si​∣在 n − m n-m n−m上虽然不是单调递减但是其总体趋势是递减的 Adaption for linear attention 其相对位置不需要学习不需要训练参数只需要乘以一个旋转矩阵类似于绝对编码但是其实质有相对性 2.5 模型效果 从下图中可以看到RoPE的效果要比Sinusoidal positional encoding要好 三、过程实现 class RotaryEmbedding(tf.keras.layers.Layer):def __init__(self,max_wavelength10000,scaling_factor1.0,sequence_axis1,feature_axis-1,**kwargs):super().__init__(**kwargs)self.max_wavelength max_wavelengthself.sequence_axis sequence_axisself.feature_axis feature_axisself.scaling_factor scaling_factorself.built Truedef call(self, inputs, start_index0):rotary_dim tf.shape(inputs)[-1]cos_emb, sin_emb self._compute_cos_sin_embedding(inputs, rotary_dim, start_index)return self._apply_rotary_pos_emb(inputs, cos_emb, sin_emb)def _apply_rotary_pos_emb(self, tensor, cos_emb, sin_emb):x1, x2 tf.split(tensor, 2, axisself.feature_axis)half_rot_tensor tf.concat((-x2, x1), axisself.feature_axis)return (tf.matmul(tensor,cos_emb)) (tf.matmul(half_rot_tensor, sin_emb))def _compute_cos_sin_embedding(self, x, rotary_dim, start_index):freq_range tf.range(0, rotary_dim, 2, dtypefloat32)freq_range tf.cast(freq_range, self.compute_dtype)freq_range freq_range / tf.cast(self.scaling_factor, self.compute_dtype)inverse_freq 1.0 / (self.max_wavelength** (freq_range / tf.cast(rotary_dim, self.compute_dtype)))seq_len tf.shape(x)[self.sequence_axis]tensor tf.range(seq_len, dtypefloat32) start_indextensor tf.cast(tensor, dtypeinverse_freq.dtype)freq tf.einsum(i, j - ij, tensor, inverse_freq)embedding tf.concat((freq, freq), axisself.feature_axis)def get_axis(axis):return axis if axis 0 else len(x.shape) axisfeature_axis get_axis(self.feature_axis)sequence_axis get_axis(self.sequence_axis)for axis in range(len(x.shape)):if axis ! sequence_axis and axis ! feature_axis:embedding tf.expand_dims(embedding, axis)return tf.cos(embedding), tf.sin(embedding)四、整体总结 中国人牛逼
http://www.zqtcl.cn/news/214286/

相关文章:

  • 网站设计思路文案范文专业手机网站建设多少钱
  • 有部分网站打不开网站服务内容怎么写
  • 百度安全网站检测好看的免费的小说网站模板
  • 锡山区住房和城乡建设局网站免费ppt模板下载简约
  • 建设银行 杭州招聘网站建设工程有限公司是干什么的
  • 做网站必须购买空间吗?3点新闻发布
  • 济南集团网站建设流程东莞做网站公司首选
  • 有需要做网站推广找我网站怎么 备案
  • 怎么把网站放到服务器上站长工具seo综合查询外部链接数量
  • 做网站上市的公司开一家公司最低注册资金
  • 仙居谁认识做网站的有哪些好的网站建设
  • 互动广告机网站建设怀集网站建设
  • 好的 做网站的软件公司pinterest app下载
  • 公司网站报价邯郸软件定制
  • 产品毕业设计代做网站资料库网站源码
  • 交易类网站做支付宝功能建设银行网站收款怎么打明细
  • 广州找人做网站做网站网关备案
  • 网站的布局方式有哪些内容免费ppt模板下载公众号
  • 色91Av做爰网站获胜者网站建设
  • 企业做网站要多少钱简单网页设计模板网站
  • 住宅城乡建设部门户网站seo主管的seo优化方案
  • 商洛做网站电话北京做网站比较大的公司
  • 某俄文网站电脑做网站服务器
  • 广州网站建设开发团队江苏省建设招标网站
  • 南昌建设工程质量监督网站wordpress菜单登录
  • 网站设计贵不贵网站seo设置是什么
  • 不属于企业网站建设基本标准的是南通网站建设知识
  • 玉树州wap网站建设公司做试玩网站
  • 商城网站怎么建保定网络营销网站建设
  • 检索类的网站建设公司的网站建设规划书