感知模型的网络架构往往受限于特定模型,例如:卷积神经网络只能处理2D图片视觉信息。然而,现实世界往往需要处理多种模态,而只是把每个模型的特征concat到一起是不合理的。Perceiver是一个可以处理不同模态的网络架构,且该架构不具有特定的推断偏差,网络架构可见图1所示。同时,为了引入模态中的时空信息,利用Fourier特征增加位置信息。

图1 Perceiver网络架构

网络架构

网络架构主要由两个模块构成,分别是:交叉注意力模块和Transformer tower。其中,交叉注意力模块把一个byte数组,例如:图片的所有像素,与latent 数组映射为latent array,且属于非对称注意力;Transformer tower把隐式数组映射为隐式数组。byte数组的大小取决于输入数据的大小,例如:ImageNet图片的分辨率$224\times224$的有50176个像素;隐式数组的大小属于超参数,通常很小,常取为512。该模型交替的应用交叉注意力模块和Transformer,且相同模块之间选择性的共享权重,可视为利用相同输入在深度上展开的RNN。值得一提的是,所有注意力模块属于非因果的,因此没有利用掩码。

总的来说,该网络架构拥有两个特性,分别是:利用交叉注意力降低注意力机制的二次复杂度、解网络深度与Transformer之间耦合以提高模型的扩展性。其中,解网络深度与Transformer之间耦合主要是指降低了Transformer模型的计算复杂度;利用交叉注意力降低注意力机制的二次复杂度是指非对称交叉注意力机制降低了注意力的计算复杂度。

Fourier特征位置编码

简单来说,对于输入数据的$d^{th}$维度值$x_d$,其Fourier特征编码为$[sin(f_k\pi x_d),cos(f_k\pi x_d)]$。其中,$f_k$为以步长$1-\frac{\mu}{2}$的频率库的第$k$个波段。通过把特征编码与原始值$x_d$进行concat,形成大小为$d(2K+1)$的最终编码。

标签: none

版权: 本篇博文采用《CC BY-NC-ND 4.0》,转载必须注明作者和本文链接

添加新评论