一种多头金字塔分块自注意力方法

之前去亚丁,遇到的日照金山

公司项目,已申请专利

Transformer的自注意力机制Self-Attention作为一种新型的深度学习模型,它在处理序列问题上取得了引人注目的成绩,自注意力模块也逐渐成为了深度学习中不可或缺的一个底层模块拼图,且是目前发展最强势的一个模块,它在CNN、RNN擅长的领域攻城掠地,甚至实现了超越。

自注意力机制在图像领域发展的最大制约因素是计算量太大,不同于语音数据,图像数据以像素为单位,需要计算每个像素和其他所有像素的自注意力,这样计算量太大,资源消耗无法接受。且一张图像中,某个像素和它附近区域内的其他像素有较紧密的关系,而和离它较远区域的像素之间的关系并不大。因此,对整张图像所有像素进行自注意力计算是低效的,且极大浪费时间以及计算资源,限制了自注意力技术在图像领域的广泛使用。

本专利提出一种新的多头金字塔分块自注意力方法,第一步,将图像划分为不重叠的小区块,在各自区块中进行自注意力计算,然后将计算结果按区块位置拼接起来,第二步,对图像使用可分离卷积进行金字塔操作,在每一层将图像划分为同样大小不重叠的小区块,在这些上一层级的小区块中再次进行自注意力计算,同样将计算结果按区块位置拼接起来,第三步,从上到下将各层自注意力结果进行双线性插值,使得该层自注意力张量尺寸和下一层的自注意力张量尺寸一致,然后两者按元素相加。每一层图像只在各个区块中进行自注意力计算,只关注关系紧密的像素之间的自注意力,不去计算关系不大的像素之间的自注意力,使得像素自注意力的结果更加精准,计算量大大降低。通过金字塔结构,提取图像像素之间的特征,使得图像尺寸减小,像素特征更加紧密,然后在相同尺寸的区块内再次进行自注意力计算,相当于扩大了自注意力的感受野,在不增加计算量的同时,变相地计算了更大范围内的像素自注意力,增加了较远处像素的全局信息,通过层级结构,最终得到的自注意力结果等同于对整张图像进行了自注意力计算,但计算量大大减小。

多次进行上述金字塔分块注意力方法,即使用多头分块方式,即不同区域划分方法,能够得到图像不同角度的自注意力结构,增加不同像素之间注意力的全面性和准确性,将各个头的自注意力结果按通道分别拼接在一起,再使用一个1*1卷积进行降维,把降维结果拼接起来做为最终输出。

金字塔分块自注意力在得到整张图像像素自注意力的同时,大大减小了计算量,使用多头机制增加了像素自注意力的多样性,增加了准确性。

本专利为一种多头金字塔分块自注意力方法,通过分块方式,将图像分割成不重叠的小块,在这些小块图像中独立进行自注意力计算,避免较远处相关性较小像素的干扰,大大减小计算量;通过使用可分离卷积对图像进行金字塔分层处理,然后对每层图像使用尺寸相同的分块,进行再次各自区块内的自注意力计算,使得每次每个区块,在不增加计算量的同时,对更大感受野内的像素进行自注意力计算,保证区块内像素自注意力精准度的同时加入了更全局的信息;从金字塔最上层开始,将自注意力计算结果由上往下做双线性插值,将其尺寸扩大成和下一层的自注意力计算结果相同,而后两者对应元素相加,直到最底层。通过这种将更高层更全局的自注意力叠加到下一层,使得原本一个只在各自区块内计算自注意力的像素,能够得到更大范围内像素信息,最终相当于在整张图像内所有像素进行自注意力计算,而计算量则大大减小。金字塔结构每一层都包含下一层区块边界处的像素,因此不存在区块交界处的信息丢失。使用多头机制,通过不同位置的分块方式,能够更全面的包含图像中的特征,得到多角度的像素自注意力信息,提高像素自注意力的准确性和全面性,提升模型性能。

多头金字塔分块自注意力方法

本专利改进了一般自注意力方法计算整张图像上所有像素自注意力,或是计算简单分块图像上的自注意力,采用多头金字塔分块的方式进行图像像素自注意力的计算,对原始图像进行像素不重叠的区块划分,对各个区块内的像素进行自注意力计算;然后对原始图像使用可分离卷积进行特征金字塔处理,提取特征并减小图像尺寸,对每一层特征图各自进行同样尺寸的像素不重合区块划分,对各个区块内的像素进行自注意力计算;从金字塔最上层开始,将自注意力计算结果由上往下做双线性插值,将其尺寸扩大成和下一层的自注意力计算结果相同,而后两者对应元素相加,直到最底层。使用多头机制,使用不同位置的分块方式,能够更全面的包含图像中的特征,得到多角度的像素自注意力信息,提高像素自注意力的准确性和全面性,提升模型性能。

目录

1.金字塔分块自注意力计算

2.特征图区块划分

金字塔分块自注意力计算

 

如图所示,假设输入原始图像为512*512,分块大小为16*16,即原始图像分为32*32块,对这32*32块内的像素各自进行自注意力计算,然后将结果按分块的位置拼接起来。对原始图像进行深度可分离卷积,尺寸大小减半,通道数不变,对得到的256*256图像,使用16*16的分块大小按同样的位置进行分块,得到16*16小块,对这16*16块内的像素各自进行自注意力计算。以此类推,对原始图像进行多次深度可分离卷积,对每一次的特征图像使用相同大小的分块尺寸,以同样的方式处进行分块,每一分块中的像素各自进行自注意力计算;最后从金字塔顶端往下,将上层自注意力结果进行上线性插值,尺寸变大一倍,通道数不变,然后和下一层自注意力结果按元素相加,依次到最底层。

特征图区块划分

针对输入特征图的尺寸,使用合适大小的窗口(比如16×16)将特征图划分为不重合的块状区域图,周围不足部分使用0值填充,比如原特征图尺寸为512×512,使用16×16的窗口,将原特征图划分为32×32块,如图2.3.1所示,每个窗口之间像素不重合。

 第二种划分方式使用和第一种划分方式大小相同的窗口(比如16×16),只是窗口中心位置比第一种划分方式向右和向下偏移1/2窗口大小(8×8),使得两种区域划分方式的窗口各自重叠,如图2.3.2所示。

图中,红色线为第一种划分方式,绿色线为第二种划分方式,周围浅色部分为0值填充。不同区块划分方式,会将不同的像素分到一个区块中,进行金字塔分块自注意力计算时,会得到不同像素之间注意力关系,即像素不同角度的特征,有利于到达图像像素之间更全面的特征。

本专利使用多头,即不同的分块方式,各自进行金字塔分块自注意力计算,得到多个结果按通道维度各自拼接,然后对各个通道的特征使用一个1*1卷积进行将维,最后将各个通道的结果拼接起来。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

千穹凌帝

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值