典型的自注意机制可以被视为根据Key和Query提取Value中的有用信息,其中Key、Query和Value是输入数据的不同表示。适当的自注意机制表征(Key、Query和Value)可以大大提升模型的性能。然而,如图2(a)所示,以前的工作都是完全依靠手工设计来获得自注意力表征,大部分工作依赖于通过手工堆叠和组合CNN、RNN、GAT和GCN等各种功能组件,来从输入数据中获得有效的Key、Query和Value表征。这些手工制作的表征设计需要花费大量人力物力来进行实验和归纳,并且由于人类的偏见而处于次优状态,从而使它们难以适应现实世界的应用。
为了解决这个问题,我们提出自注意力的自动表示方法(图2(b))。主要需要解决一下两个问题:(1) 如何获得最合适的搜索空间?一个合适的注意力表征搜索空间应该是:i)支持联合搜索注意力表征和其他功能成分,以达到全局最优的结果;ii)足够灵活,以涵盖大多数最先进的注意力表征设计 iii)具有较低的复杂性以简化搜索。(2) 如何在参数共享中考虑每个子结构的特殊性?在上述搜索空间中,即使是同一组参数,在处理或输出不同含义的张量时,也会有不同的功能(例如,Key、Query、Value等)。直接应用广泛使用的参数共享策略而不考虑这些特殊的特性将无法提供可靠的架构评估。
为了应对这些挑战,我们提出了一种自动注意力搜索方法AutoAttend[3],以搜索具有最佳注意力表征的模型。我们将深度网络视为一组连接层,然后将注意力表征重新表述为源层选择和操作选择过程,以构建一个灵活的、表达能力强的、统一的搜索空间。我们进一步依据人工设计注意力机制的先验约束了搜索空间,在不损失表现力的情况下降低了搜索空间复杂性。我们构建了超网络来搜索所提出的搜索空间中的最佳架构,并提出了上下文感知的参数共享机制来提供可靠的架构评估。这样的机制可以考虑到每个子架构的特点,只在它们具有相同的上下文时共享参数。
实验证明,AutoAttend能够有效提高注意力模型的泛化性。针对不同的目标任务,AutoAttend总能构造适合的注意力模型。这进一步提高了自动机器学习的表达能力,为后续更精细化地自动化注意力模型设计指出了方向。