深度学习模型参数计算:深度学习之Attention模型详解
深度学习模型参数计算:深度学习之Attention模型详解b)multi-level。注意力可以按顺序应用于输入序列的多个抽象层次[例如在两个不同的抽象层次(即单词级别和句子级别)上使用了注意力模型来完成文档分类任务]。a)single-level。只为原始输入序列计算注意权重;c)inner attention。使用注意力来学习输入序列中对应于相同输入序列中的每个标记的相关标记.(例如self attention)。2,Number of abstraction levels按照输入特征的抽象层次来分,这里的抽象层次可以是词粒度、短语粒度、句子粒度、文档粒度。
本文给attention作出了分类,分为四种分类方法:
1,number of sequences
a)distinctive。只考虑了涉及单个输入和相应输出序列的情况(例如seq2seq中的attention);
b)co-attention。同时对多个输入序列进行操作,并共同学习它们的注意权重,以捕获这些输入之间的交互(例如前面介绍的ABCNN);
c)inner attention。使用注意力来学习输入序列中对应于相同输入序列中的每个标记的相关标记.(例如self attention)。
2,Number of abstraction levels
按照输入特征的抽象层次来分,这里的抽象层次可以是词粒度、短语粒度、句子粒度、文档粒度。
a)single-level。只为原始输入序列计算注意权重;
b)multi-level。注意力可以按顺序应用于输入序列的多个抽象层次[例如在两个不同的抽象层次(即单词级别和句子级别)上使用了注意力模型来完成文档分类任务]。
3,Number of positions
a)soft attention。它使用输入序列所有隐藏状态的加权平均值来构建上下文向量;
b)hard attention。其中上下文向量是从输入序列中随机采样的隐藏状态计算出来的;
c)global attention。与soft attention一样;
d)local attention。是hard attention和soft attention的一种折中。
4,Number of representations
a)multi-Representational Attention model。通过多个特征表示捕捉输入的不同方面 注意可以用来为这些不同的表示分配重要权重,这些表示可以确定最相关的方面,而忽略输入中的噪声和冗余;
b)multi-dimensional。这种attention 作用在维度上,attention的权重表示各个维度上的重要性。
然后作者又对带有attention的网络结构进行饿了分类。
1,Encoder-Decoder
2,Memory Networks
像问答和聊天机器人这样的应用程序需要能够从事实数据库中的信息中学习。网络的输入是一个知识数据库和一个查询,其中一些事实比其他事实更与查询相关。端到端memory networks通过使用一组内存块存储事实数据库来实现这一点,并使用attention在回答查询时在内存中为每个事实建立关联模型。
使用attention还提供了计算优势,使目标连续,并通过反向传播支持端到端训练。端到端内存网络可以看作是AM的一种泛化,它不是只在单个序列上建模注意力,而是在一个包含大量序列(事实)的数据库上建模注意力。
3,Networks without RNNs 最具代表性的就是Transformer。
未完待续
其实还有很多要补充的,比如Memory Network中的attention(外部记忆作为V)以及Graph neural network里的attention,尽管理论上都是一个道理,但是还要对的起标题的all。待补充。
— 完 —
关注清华-青岛数据科学研究院官方微信公众平台“THU数据派”及姊妹号“数据派THU”获取更多讲座福利及优质内容。