我试图理解ViT文件的体系结构,并注意到它们使用了类似于BERT的类标记。
据我所知,此令牌用于收集整个类的知识,然后仅用于预测图像的类。我的问题是-为什么这个令牌作为输入存在于所有的转换器块中,并且与单词/修补程序标记相同?
将类令牌与其他令牌一样对待意味着其他令牌可以处理它。我希望类令牌能够在其他令牌无法出席的情况下出席。
另外,特别是在ViT中,为什么类令牌接收位置编码?它代表整个类,因此没有任何特定的位置。
谢谢!
发布于 2022-05-04 10:57:03
我的问题是-为什么这个令牌作为输入存在于所有的转换器块中,并且与单词/修补程序标记相同?
在默认情况下,变压器是按顺序排列的网络。由于ViT中没有解码器层,所以输入序列的长度(补丁数)等于输出序列的长度。因此,如果目标是分类,那么有两个选择:
将类令牌与其他令牌一样对待意味着其他令牌可以处理它。我希望类令牌能够在其他令牌无法出席的情况下出席。
不确定,但我认为如果其他令牌可以处理类令牌,那么它们可以在较低层使用一些有关图像类的中间信息!只是一个猜测,它值得测试不同的场景!
另外,特别是在ViT中,为什么类令牌接收位置编码?它代表整个类,因此没有任何特定的位置。
我认为主要的原因是,这样的网络可以区分类嵌入和补丁嵌入,并以不同的方式对待它们!
发布于 2021-03-27 19:13:12
我的问题是-为什么这个令牌作为输入存在于所有的转换器块中,并且与单词/修补程序标记相同?
类令牌以可学习嵌入的输入形式存在,并加上输入补丁嵌入,所有这些都作为输入到第一个转换器层的输入。类令牌使用多头自我关注(MSA)从所有补丁中收集信息。它基本上与补丁令牌相同,但在进行分类时,只使用类令牌的隐藏输出作为分类层的输入。
将类令牌与其他令牌一样对待意味着其他令牌可以处理它。我希望类令牌能够在其他令牌无法出席的情况下出席。
我认为,这将有助于训练所有的重量在后背支柱,包括权重的嵌入层的输入补丁。
另外,特别是在ViT中,为什么类令牌接收位置编码?它代表整个类,因此没有任何特定的位置。
位置编码表明这是序列的第一个元素。如果你有一个像伯特这样的双向变压器模型会有帮助。
https://datascience.stackexchange.com/questions/90649
复制相似问题