导图社区 Transformer 和 序列到序列(Seq2Seq)
比较详细的Transformer和Seq2Seq解释,注意只包含NLP的解释,没有ViT的transformer
这是我的mysql学习笔记,主要是基础篇入门的各项指令等,具体是看的黑马程序员的mysql视频,然后边学边自己整理出来的,希望对大家有帮助。
Segment Anything Model的论文行文思路,SAM是一个通过海量训练形成的分割模型,感兴趣可以看看。
DA-DETR的文章深度解读,解决方案DA-DETR可以使用一级探测器、使用单个鉴别器进行域间对齐网络、引入混合注意力机制确定应对其功能的模块,简化了领域自适应通道。
社区模板帮助中心,点此进入>>
互联网9大思维
安全教育的重要性
组织架构-单商户商城webAPP 思维导图。
个人日常活动安排思维导图
域控上线
西游记主要人物性格分析
17种头脑风暴法
python思维导图
css
CSS
Transformer 和 序列到序列(Seq2Seq)
序列到序列
序列到序列(或 Seq2Seq)是一种神经网络,它将给定的元素序列(例如句子中的单词序列)转换为另一个序列
Seq2Seq模型特别擅长翻译,即将一种语言的单词序列转换为另一种语言的不同单词序列
Seq2Seq模型的编码器和解码器的一个非常基本的选择是每个都使用一个长短期记忆(LSTM)模型
LSTM模块
一种循环网络模块(注意这个信息)
可以利用序列相关数据,赋予序列意义,同时记住(或忘记)它认为重要(或不重要)的部分
例如,句子是顺序相关的,因为单词的顺序对于理解句子至关重要。LSTM是此类数据的自然选择
编码器获取输入序列并将其映射到更高维空间(n 维向量)。该抽象向量被输入解码器,解码器将其转换为输出序列。输出序列可以是另一种语言、符号、输入的副本等
注意“我很快乐”和“I am very happy”都是序列,现在seq2seq要进行中英文转换的话
形象点来说一句话“我很快乐”在编码器编码为1000110110后,解码器能通过这一串数字转换为“I am very happy”
Attention(注意力机制)
注意力机制查看输入序列,并在每一步决定序列的哪些其他部分重要(类似于人)
类似于阅读本文时,你总是专注于你读到的单词,但同时你的大脑仍然保留着文本中的重要关键词,以提供上下文
例如“衬衫的价格是9块25”,你会认为“衬衫”和“9块25”是比较重要的,这就是对这句话的几个关键词进行了注意后的结果
对于给定序列,注意力机制知道哪些词是句子中的关键信息,那么这个翻译就变得很简单,即使忽略掉一小部分的信息,大致的意思也会相同
总结
LSTM(编码器)每读取一个输入时,注意力机制会同时考虑其他几个输入,并根据情况为它们分配不同的权重,以决定哪些输入是重要的
然后,解码器将编码的句子和注意力机制提供的权重作为输入
Transformer
论文“Attention Is All You Need”描述了 Transformer
相较于前人的工作,它没有任何循环网络,而仅仅使用注意力机制可以改善任何翻译任务结果
解释
编码器在左侧,解码器在右侧
均是由可堆叠的模块组成
inputs首先输入粉色框“input embedding”,这个就是将序列拆分为每个词组,对词组进行映射
比如“我是大帅哥”--->我 是 大帅哥,三个词组,每个词组映射0,1,2,那么输入进网络就是”012“这样
白色那个太极图是位置嵌入,说的是你的输入的词组有个先来后到,要给这个词组额外赋予位置信息
还比如“我是大帅哥”,那么三个词组输入进网络“012”,还有个位置编码,也是按照顺序,001002003,分别对应序列的位置信息
多头注意力模块 Multi-Head Attention(重头戏)
展开如上图所示
这个最重要的原理就在这里,简单来说就是输入一段序列,然后通过三次并行的注意力取平均注意力,类似于对一件事看法,三个人进行投票表决,毕竟三个臭皮匠顶个诸葛亮。一般这里是八个臭皮匠
具体数学原理需要自己学习,在此不做展开
Feed Forward前馈网络
这玩意就是普通的网络结构,比如全连接啊,卷积等操作,我前面有,不细讲了,可以自己看看