NLP领域大火的注意力机制依然可以使用在计算机视觉领域。
我们知道计算机视觉领域中,要处理一张图片的计算量是极其的大,若直接把图片的像素来依次排开作为一个数据序列来计算注意力机制,那么其注意力的计算更是前所未有的庞大,那么vision transformer是如何来处理计算机视觉中的图片任务的呢?
首先VIT模型把一张224*224的图片分成不同的patch,而一个patch的尺寸为16*16,这样图片就会被分割成14*14,一共196个pach来进行注意力机制的计算。这样跟224*224 相比。14*14的patch尺寸维度的计算机量就很小了。
跟NLP领域类似,我们可以把VIT模型的一个patch看作是一个单词,而整张照片就可以看作是一个句子,这样,这个句子就有196个单词组成,虽然此句子的单词数量比较大,但是这样来比喻,更容易理解。
这样经过patch的操作,我们的图片尺寸维度就是[1,196,768],1便是batch size的维度,196便是我们的14*14个patch,而768是我们单个patch的尺寸维度16*16*3,这里默认图片为RGB3色。处理完patch后,就可以进行一次线性变换来进行相关数据维度的转换。#动图详解Transformer
...全文