最新的中文版telegram下载网址在哪里

  Transformer是一种用于自然语言处理(NLP)和其他序列到序列(sequence-to-sequence)任务的深度学习模型架构,它在2017年由Vaswani等人首次在《Attention is All You Need》提出。Transformer架构引入了自注意力机制(self-attention mechanism),能够有效地捕捉文本中的长距离依赖关系,并在并行计算方面具有显著优势。

  注意:理解本文需要有一定的深度学习的知识,比如全连接神经网络、残差神经网络、LSTM、word embedding、AutoEncoder等等。

  Transformer在诸多领域都有出色的表现,主要包含如下基本任务:

  机器翻译:例如我们常用的google翻译文本生成:例如ChatGPT语音系统:例如将语音转换为文字多模态处理:例如图文生成

  可以看到,相比于专用于时间序列的一些深度学习模型(LSTM、RNN),或者专用于计算机视觉(Computer Vision)的模型(如CNN),Transformer横跨两大领域,简直逆天。

  所以,你能用它在你的领域产生什么样的火花?后面我们继续讨论

  总体来说,Transformer与全连接神经网、CNN或者LSTM一样,是一种深度神经网络结构最新的官方的telegram下载入口在哪呢。Transformer的主体是Encoder-Decoder架构(AutoEncoder自编码器其实也是这种结构),即包含了Encoder和Decoder两个部分。如下图所示。简单理解就是:输入X->Encoder->潜在表示(抽象的概念)->Decoder->输出Y

  当预测目标Y与X一致的时候,那Encoder-Decoder就变成了AutoEncoder了。

  

  尽管各类教程都用原论文当中的这个图来表示Transformer架构,但是对于新手来说可能不太友好,因此这里对该结构进行一个简化表示,如下图所示。

  原文中的Transformer结构

  本文简化的Transformer结构

  可以发现该结构包含如下特征:

  左侧包含6个Encoder,右侧6个Decoder(至于为什么是6个,原文就是6个)。左侧的大框是一个大Encoder,最终会输出一个编码信息(抽象概念,无物理意义)。这个编码信息会作为右侧大Decoder的输入,且会输入到每一个小Decoder。右侧大Decoder最终会输出一个序列将预测的输出序列和我们的真实结果一对比,再优化,训练就开始了。

  接下来,我将会按照:输入-Encoder-Decoder-输出,四个部分,逐一详细讲解。

  由于Transformer很多时候都是用于自然语言处理类的任务,故本文也用常见的机器翻译任务来进行讲解。

  所以,我们的输入是什么?请关注下图中红色方框的部分。

  带有两个关键内容的输入部分

  方框中有两个主要内容:①input embedding②positional encoding,对应了序列任务中包含的两个主要特征,一个是序列内容,一个是序列位置。一句话,比如:我爱你,包含了“我”“爱”“你”三个内容,以及三者的前后顺序信息。因此,这两种信息应该都要输入给Transformer。
官网最新版telegram的下载的网址在哪里
  序列内容embedding: 对于数字序列,模型能识别数字;但是对于语言呢?机器没办法识别文字,因此只能将文字转化为数字。这里就要用到word embedding技术了。比如

  将“我”变成01,“爱”变成23,“你”变成45;这里的数字是随便取的,真实的word embedding肯定不是这个结果;但是需要注意的是,由1个”我“字,变成了0和1共计2个字符,这就是embedding的魅力(升维)。

   无障碍中文版telegram下载的入口哪里有

  序列位置embedding: 和内容的embedding一样,将位置信息也变成数字。具体怎么实现的,暂时可以不用去学习,其实就是几个公式或者训练出来的。

  具体word embedding怎么实现的可以后面再详细了解,这里只需要知道它是做什么的就行了。最后将内容和位置的embedding矩阵结果逐一对应相加就行了。

  Transformer中的Encoder是大名鼎鼎Bert的主体结构

  Encoder中,包含了两个最主要的内容,一个是大名鼎鼎的Attention, 一个就是残差网络了。

  4.1 Attention是什么?

  总结来说,Attention就是一个公式。当然,transformer结构中是Muti-Head Attention,其实本质无任何区别,多头自注意力就是单头的叠加(矩阵纵向的叠加)。
telegram中文版的下载的网站在哪里
  

  在自然语言处理的任务当中,我们需要结合上下文的信息来输出结果,因此,位置信息尤为重要。Attention就是来解决这个问题的,它引入了三个神奇的向量:、、。上图中,由下至上的三个箭头就是表示、和。

  Q:Query,即查询向量K:Key,即键向量V:Value,即值向量

  以Query为例,示意如下。

  

  在上图中,X为由各个词向量堆叠而成,WQ为待训练的权重值,两者矩阵相乘即可获得Q向量。K和V也是一样的操作方法。但三者的用处不一样。

  获取了Q、K和V之后,利用下面的公式计算就行了。PS:就是一个归一化的操作,就一个拍脑袋出来的数(原文中是QKV的维度)。

  利用这个公式,得到的就是Attention。【PS:一些教程利用图片来解释这个公式,其实没必要,只需要知道这样计算就行】

  我们来探索一下这个公式所得到的矩阵维度:(深度学习中矩阵维度的把握很重要)

  定义几个矩阵的维度:,。为句子的长度,为embedding后升高的维度数(可自定),为权重矩阵的维度(可自定)可得到的维度为。同理和,三者的维度是一致的经过上式计算:可以发现:的维度与、和是保持一致的

  至此,我们已经可以很清楚,**经过Attenion之后的包含了一个句子上下文的所有信息,**这也是attention的奇妙之处。

  那,Multi-Head Attention(多头注意力) 呢?

 telegram中文版的最新在哪呢 其实是一样的,我们多加几个并行的就可以了。具体操作如下:

  假设我们使用8头注意力机制,则为横向拼接8个,变成一个大的。单个的维度为,的维度为。我们再将乘以一个,得到了可以看到,的维度和是一致的。也就是说,得到的多头Attention是经过一系列变换后的结果。

  引自https://blog.csdn.net/weixin_42475060/article/details/121101749

  4.2 残差结构Add & Norm最新官方telegram的下载网址是多少

  残差网络是在深度学习中一种很常见的网络。发明它的主要目的在于解决模型层数增加后梯度消失或爆炸的问题。

  这种操作其实很简单,就是将上一层网络的输出,再叠加上输入x,变成,然后继续训练。

  PS:深度学习中有很多类似的神奇莫名其妙的操作,但确实有效。

  

  这个神奇的操作也用在了transformer当中,如下图所示(和的维度相同,这不正好相加了嘛)。

  

  再后面就是常规的Feed Forward和normalization了,没啥好讲的,都比较基础了。最后会得到一个输出,这个是Encoder的输出,后面会作为Decoder的输入。

  【transformer用到的是Layer normalization, LN,都差不多,不难】

  Decoder是GPT作为预训练的主体,无标签数据,只得到了最终的语义表示

  5.1 Decoder的结构特征

  Decoder的主体结构其实和Encoder差不多(如下图),也用到了多头注意力机制,但需要注意几个点:

  Decoder最下方是有我们标签数据(真实输出)作为输入的Decoder有两个Multi-head Attention结构的。注意:第一个加入了MaskedEncoder的输出是在第二个Multi-head Attention作为输入的,而且只放入了和。第2个Multi-head Attention的和是根据encoder的输出来计算出来的,是根据第一个Multi-head Attention计算出来的。此时,信息已融合!

  

  5.2 Masked multi-head attention

  所以,什么是Masked multi-head attention呢?

  其实很简单的理解,如下:

  Decoder中是有我们的真实标签作为输入的,如果一股脑的把真实标签输入进去,那相当于信息泄露了,模型还训练个啥?直接啥权重都不用调了masked就是加了个面具,把真实标签加了个面具。这个面具只允许真实标签数据的一个词一个词的进入Decoder,所以信息并没有泄露,而仅仅作为一个引导作用。

  下图很形象地描述了这个特征:

  假设我们的真实标签为I love you baby。但是我们会加入一个起始标记 <begin> ,即: <begin> I love you baby,分别对应0,1,2,3,4对于第一步,我们输入一个起始标记 <begin> (用0表示)对于第二步,我们使用 <begin> 和 ‘I’ ,即(0和1)对于第三步,我们使用 <begin>、‘I’、‘Love’, 即(0, 1, 2)。依次类推。

  在算法层面上,我们使用一个上三角为0的矩阵即可实现这种masked的效果。

  引自https://zhuanlan.zhihu.com/p/338817680?utm_medium=social&utm_psn=1792584580756283393&utm_source=wechat_session

  对于有标签的数据,我们将Decoder的输出结果,与真实标签的结果求一个损失,再梯度下降,即可实现整套训练流程。

  问题一:transformer能输入不同长度的句子吗?

  答:可以,但是是经过操作的。我刚开始以为句子长度的维度会淹没在attention中,经过仔细分析发现长度并没有淹没。原来我们在训练的时候会尽量让句子保持一致的长度,如果长度不一致,则会使用两种操作:填充(padding) 和截断(truncation) 。填充就是在句子末尾增加一些标记,如,输出的时候去掉这些标记即可。

  问题二:训练的时候我们有真实标签,那预测的时候呢?我们没有真实标签,那Decoder下方的输入该怎么解决呢?

  答:其实很好解决。我们只需要添加引导词标记即可实现整个句子的预测。具体预测流程是:

  我爱你+= I我爱你+I = I love我爱你+I love = I love you

  这其中的奥妙需要自己去理解了。

  提示:“我爱你”就是Encoder的输出。就是引导词。Decoder将上一步预测出来的"I"又作为下一步的输入了,依次推进。这就是masked multi-head attention的作用。

  Transformer很玄妙,用处也很多,关官方的最新版telegram下载入口在哪里键在于如何去针对自己的应用场景来使用它。以下是我个人能想到的学术界的一些应用场景:

  时间序列数据压缩异常数据诊断常规的回归任务应该都能胜任