ViT为何引入cls_token
生活随笔
收集整理的這篇文章主要介紹了
ViT为何引入cls_token
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
Vision Transformer在一些任務(wù)上超越了CNN,得益于全局信息的聚合。在ViT論文中,作者引入了一個cls_token作為分類特征。
如果沒有cls_token,我們使用哪個patch token做分類呢?根據(jù)自注意機制,每個patch token一定程度上聚合了全局信息,但是主要是自身特征。ViT論文還使用了所有token取平均的方式,這意味每個patch對預(yù)測的貢獻相同,似乎不太合理。實際上,這樣做的效果基本和引入cls_token差不多。
cls_token的作用
- cls_token與圖像無關(guān)。它是隨機生成的,不基于圖像內(nèi)容,因此可以避免對sequence中某個特定token的偏向性。
- cls_token 對所有其他token上的信息做匯聚(全局特征聚合),cls_token(第0個token)使用固定的位置編碼能夠避免輸出受到位置編碼的干擾。
- 采用attention機制來做全局特征聚合而言表達能力比token取平均的方式更強。因為采用attention機制來做特征聚合,能夠根據(jù)query和key之間的關(guān)系來自適應(yīng)地調(diào)整特征聚合的權(quán)重,而采用求平均的方式的權(quán)重是相同的。
總結(jié)
以上是生活随笔為你收集整理的ViT为何引入cls_token的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java版我的世界快速建造_1分钟教你建
- 下一篇: Admob设置Android设备为测试设