@TOC


前言

刚进公司,需要学开发需要的新框架及现成框架,完成自己的需求。那么在此期间,遇到新东西,就可以以此为基础,学习新语言新框架新工具…,可能会学到一些新技术、新知识,总结一下,以供后面参考学习,查看。肯定大家都有一定差异啦,大家作为参考哦,与诸君共勉。

一、注意力机制:

1、在衣服母亲哺乳图中,看完这幅画,相信首先映入你眼帘的是圣母玛利亚以及正在接受祈祷的婴儿耶稣。如果不回看这幅画,你的脑海里是否对右下角的一头驴和一头牛有印象?如果你没有印象,这其实是一种非常正常的现象。

  • 因为人的注意力是有限的,无论是观看图像还是阅读文字,人们都会有选择性地关注一小部分重点内容,并忽略另一部分不重要的内容。
    • 从数学的角度来说,可以将“注意力”理解为一种“权重”,在理解图片或文本时,大脑会赋予对于认知有重要意义的内容高权重,赋予不重要的内容低权重,在不同的上下文中专注不同的信息,这样可以帮助人们更好地理解信息,同时还能降低信息处理的难度。这就是注意力机制,这种机制被应用在人工智能领域,帮助机器更好地解决图像处理和文本处理方面的一些问题。

2、看一句话–“究研明表,早上饭吃很要重”:

  • 阅读完这段话之后,你一定发现,虽然图片上的语句是乱序的,但是并没有干扰你的阅读,这种现象原理与人工智能的自注意力(Self-Attention)机制非常相近
    • 首先,你的眼睛捕捉到了第一个字“研”,并且扫过那一行的后续文字“表”“究”“明”。然后,大脑在过去学习的认知库里去搜寻“研表”“研究”“研明”等,发现“研究”两个字关联最为紧密,所以就给了它较高的权重进行编码计算,并按类似的方式完成后续内容的编码。编码完毕后,按照权重对内容进行重新组装,信息也就组合成了“研究表明”这一常见用法。通过这种自注意力机制,人工智能可以很好地捕捉文本内在的联系并进行再表示。
    • 而除了自注意力机制,另外一种广泛应用于人工智能领域的注意力机制叫作多头注意力(Multi-Head Attention)机制。多头注意力机制主要通过多种变换进行加权计算,然后将计算结果综合起来,增强自注意力机制的效果。

二、Transformer与Seq2Seq模型

1、Transformer与Seq2Seq模型类似,也采用了编码器-解码器结构,通常会包含多个编码器和多个解码器。

  • 在编码器内有两个模块:一个多头注意力机制模块和一个前馈神经网络模块,这里的前馈神经网络是一种最简单的人工神经网络形式。
    • 以英译汉机器翻译为例,编码器的工作过程大概是这样的:
      • 首先,用户输入一个英文句子,编码器会将这个句子的每个单词拆解,转化成向量的形式,并在多头注意力机制模块中加权计算,最后整个编码器会输出一个向量集,输入解码器中。
      • 在解码过程中,解码器首先读取一个开始标记,然后解码器会生成并输出一个向量,这个向量会包含所有可能的输出汉字,同时,每个数值会有一个得分,这个得分代表着汉字出现的可能性,得分最高的汉字会出现在第一个位置。
        • 例如,如果要把“I love you”翻译成中文,那第一个得分最高的汉字可能就是“我”。接下来,把“我”作为解码器的新的输入,接下来得分最高的可能是“爱”,以此类推,直到完全输出了“我爱你”,再输出一个结束符号。解码器内部的结构也和编码器类似,最开始包含一个多头注意力机制模块,最后包含一个前馈神经网络模块。
      • 需要注意的是,解码器中的多头注意力机制模块使用了掩码(Mask)机制,其核心思想是:因为解码器的生成物是一个个产生的,所以生成时只让参考已经生成的部分,而不允许参考未生成的部分。还是以前面的“我爱你”为例,当翻译到“爱”时,模型只能参考前面输入的开始标记和“我”这个字的信息,而后面的所有信息都会被遮掩住。
  • 此外,在两个模块中间,还有一个多头注意力机制模块,刚刚提到的来自编码器的向量集就会输入这里,让解码器在解码过程中能够充分关注到上下文的信息。

三、ViT(Vision Transformer,视觉变换器)模型:

1、BERT(Bidirectional Encoder Representations from Transformers,变换器的双向编码器表示)模型由谷歌在2018年提出,其基本思想是既然编码器能够将语义很好地抽离出来,那直接将编码器独立出来也许可以很好地对语言做出表示。此外,BERT模型的训练过程也别出心裁,它设计了两个有趣的任务。

  • 掩码语言模型:随机覆盖15%的单词,让BERT模型猜测掩盖的内容是什么,这有利于促进模型对语境的理解。
  • 下句预测:输入成组的句子让BERT模型判定它们是否相连,让模型更好地了解句子之间的联系。
    • 不过,当执行不同的自然语言处理任务时,训练好的BERT模型需要根据具体的任务类型增加不同的算法模块才能执行任务。除了自然语言处理任务,BERT模型也可以应用于机器视觉领域。在输入阶段,将图片分割成一个个小块,每个小块图片就可以看作一个个单词,这样就可以像处理句子一样去处理图片了。基于这样的思想,ViT(Vision Transformer,视觉变换器)模型也就诞生了:

巨人的肩膀

  • 周志明老师的凤凰架构
  • AIGC智能创作时代