transform-xl翻译

本文介绍Transformer-XL,一种解决语言模型中长期依赖问题的新架构。通过引入段落级循环机制和相对位置编码,该模型能有效利用历史信息,克服上下文碎片问题,实现更长依赖关系的建模。

 

1.介绍

语言建模是需要对长期依赖关系建模的重要问题之一,它具有成功的应用程序,如无监督的训练(Peters et al., 2018; Devlin et al.,2018)。然而,如何使神经网络具备在序列数据中建模长期依赖关系的能力,一直是一个挑战。递归神经网络(RNNs),尤其是LSTM(Hochreiter & Schmidhuber, 1997),已经成为语言建模的标准解决方案,并在多个基准上取得了很好的效果。尽管具有广泛的使用,RNNs由于梯度消失和梯度爆炸问题导致难以优化(Hochreiter et al., 2001),在LSTMs中引入控制门和提督裁剪技术(Graves,
2013; Pascanu et al., 2012)也许不能有效的解决这个问题。根据经验先前的工作经验,LSTM语言模型平均使用200个上下文词汇(Khandelwal et al.,2018),这表明了有进一步改进的余地。

另一方面,注意力机制中的长距离词对之间的直接联系可以简化优化,并使学习长期依赖关系成为可能(Bahdanau et al.,2014; Vaswani et al., 2017).。最近,Al-Rfou et al. (2018)设计了一套辅助损失用于训练深层transformer networks 用于字符级语言建模,它的表现远远超过了LSTM。尽管在Al-Rfou et al. (2018)的训练取得成功,但是是在几百个字符的分隔固定长度段上执行的,在segments之间没有任何信息流通。由于固定上下文长度,模型不能捕获任何长期依赖超过????。此外,固定长度的segments是在相关句子或者其它语义边界的情况下选择一些连续的字符来创建的。因此,模型预测前几个字符缺乏必要的上下文信息,导致模型优化没有效率和不好的执行效果。我们将这个上下文问题称为上下文碎片。

为了解决上述固定长度上下文的局限性,我们提出了一种新的体系结构,Transformer-XL (meaning extra long).我们在把这个概念引入深层的自我注意力网络。特别是,我们不再从零开始计算每个新段的隐藏状态,而是重用在以前的段中获得的隐藏状态。重用的隐藏状态用作当前段的内

`transform-origin` 是 CSS 中的一个属性,用于控制元素变形(如旋转、缩放、倾斜等)的**原点**。默认情况下,变形的原点是元素的中心点(50% 50%),但你可以通过 `transform-origin` 来改变这个原点位置,从而影响变形效果。 --- ## ✅ 基本语法 ```css transform-origin: [x-axis] [y-axis] [z-axis]?; ``` - `x-axis`:水平方向的原点,可以是 `left`、`center`、`right`,也可以是百分比或长度值。 - `y-axis`:垂直方向的原点,可以是 `top`、`center`、`bottom`,也可以是百分比或长度值。 - `z-axis`(可选):用于 3D 变换,通常是一个长度值。 --- ## ✅ 示例代码 ### 示例 1:默认变形原点(中心) ```html <!DOCTYPE html> <html> <head> <style> .box { width: 100px; height: 100px; background: red; margin: 100px auto; transition: transform 0.5s; } .box:hover { transform: rotate(45deg); } </style> </head> <body> <div class="box"></div> </body> </html> ``` > 默认情况下,旋转是以中心为原点进行的。 --- ### 示例 2:设置变形原点为左上角 ```css transform-origin: left top; ``` ```html <!DOCTYPE html> <html> <head> <style> .box { width: 100px; height: 100px; background: blue; margin: 100px auto; transition: transform 0.5s; transform-origin: left top; } .box:hover { transform: rotate(45deg); } </style> </head> <body> <div class="box"></div> </body> </html> ``` > 这时旋转会以左上角为原点进行,效果明显不同。 --- ### 示例 3:使用百分比和像素设置原点 ```css transform-origin: 20% 80%; ``` ```html <!DOCTYPE html> <html> <head> <style> .box { width: 150px; height: 150px; background: green; margin: 100px auto; transition: transform 0.5s; transform-origin: 20% 80%; } .box:hover { transform: scale(1.5) skew(10deg); } </style> </head> <body> <div class="box"></div> </body> </html> ``` > 元素将以 20% 宽度和 80% 高度的位置为原点进行缩放和倾斜。 --- ### 示例 4:3D 变换设置 Z 轴原点 ```css transform-origin: center center 100px; ``` ```html <!DOCTYPE html> <html> <head> <style> .box { width: 100px; height: 100px; background: purple; margin: 100px auto; transition: transform 0.5s; transform-origin: center center 100px; } .box:hover { transform: rotateY(45deg); } </style> </head> <body> <div class="box"></div> </body> </html> ``` > 设置了 Z 轴的原点,这样在 3D 旋转时会产生透视效果。 --- ## ✅ 注意事项 - `transform-origin` 的值可以是关键字(如 `left`, `top`)、百分比或长度值。 - 改变 `transform-origin` 会影响 `transform` 的视觉效果。 - `transform-origin` 是 **CSS3** 的属性,现代浏览器都支持。 - 如果使用了 `transform-box`,会影响 `transform-origin` 的参考坐标系。 --- ## ✅ 相关问题
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值