作者majaja8787 (馬奇亞米)
看板DataScience
標題[問題] 為什麼使用local self attention 取代cnn
時間Sun May 22 20:03:35 2022
主要的問題是從這篇問題而來
scaling local self-attention for parameter efficient visual backbones
cnn 模型的參數量與 receptive field 大小成平方關係
而這裡提到因為 self-attention 是一種 parameter-independent 的架構
所以在調整 receptive field 時,參數量不太會增加
我這邊的理解是self-attention 運算時若 receptive field 太大
會導致QKV矩陣跟著變大,參數量也會變大
所以這邊不太明白為什麼self-attention
會比cnn使用的參數量還少
請求各位幫忙指點指點
-----
Sent from JPTT on my iPhone
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 223.137.31.29 (臺灣)
※ 文章網址: https://webptt.com/m.aspx?n=bbs/DataScience/M.1653221020.A.D42.html
1F:→ chang1248w: 你沒睡醒吧,receptive field 變大可是 feature 05/22 21:01
2F:→ chang1248w: dimension不會變多 05/22 21:01
3F:→ chang1248w: score計算成本才會隨著square of receptive field 05/22 21:02
4F:→ chang1248w: 增長 05/22 21:02
5F:→ majaja8787: 感謝您,雖然我這邊還是沒有很懂.. 因為我對nlp研究比 05/22 22:25
6F:→ majaja8787: 較多,對cv其實不太了解,可能我再多看一些基礎的知識 05/22 22:25
7F:→ majaja8787: .. 05/22 22:25
8F:→ chang1248w: 就像nlp裡面的transformer,你序列拉長qkv計算成本增 05/22 23:50
9F:→ chang1248w: 加但參數量不變 05/22 23:50
10F:→ majaja8787: oh ok!我知道了,感謝您 05/23 08:46
11F:→ yoyololicon: 這邊的參數指模型自帶的參數 QKV矩陣不是 05/23 12:54
12F:推 OnePiecePR: 2. 基本上 self-attention,的輸入經過幾次網路轉成 06/01 19:07
13F:→ OnePiecePR: QKV,所有的參數都在形成 QKV 前發生了。所以所有的 06/01 19:07
14F:→ OnePiecePR: 輸入都要做 QKV 轉換。然後有了 QKV 後,我們會去做 06/01 19:07
15F:→ OnePiecePR: self-attention,這時候的 self-attention 都是數學 06/01 19:07
16F:→ OnePiecePR: 定義計算,沒有參數。如果一個 self-attention 沒有 06/01 19:07
17F:→ OnePiecePR: 全域 attent,而有 receptive field,這時候如果 rec 06/01 19:07
18F:→ OnePiecePR: eptive field 比較小,只是 self-attention 少一點計 06/01 19:07
19F:→ OnePiecePR: 算,這些都是關於計算量,跟參數無關。 06/01 19:07
20F:→ OnePiecePR: 1. CNN 的卷積功能參數是記錄在 filter 的內容,所以 06/01 19:08
21F:→ OnePiecePR: 只跟 receptive field 有關。我們常常說,參數量跟 r 06/01 19:08
22F:→ OnePiecePR: eceptive field 的大小平方成正比。正確來說是:與re 06/01 19:08
23F:→ OnePiecePR: ceptive field 的大小成正比。比如 filter 是 (3, 3) 06/01 19:08
24F:→ OnePiecePR: 就是守 3x3 的範圍,(5, 5) 就是守 5x5 的範圍。所 06/01 19:08
25F:→ OnePiecePR: 以是跟 “邊” 成平方比例,或尺寸 9、25 成正比。標 06/01 19:08
26F:→ OnePiecePR: 準 CNN 卷積層的參數量是 (輸入層數 x L x L x filt 06/01 19:08
27F:→ OnePiecePR: er 數量 N + filter 數量),當我們用了 (L, L)的 06/01 19:08
28F:→ OnePiecePR: filter. 06/01 19:08