--- title: 2023/10/12 tags: meeting # 簡報的標籤 slideOptions: # 簡報相關的設定 theme: black # 顏色主題 transition: 'fade' # 換頁動畫 spotlight: enabled: true --- ### 5.5 Method for combining Features 再多標籤分類方法中,有一大部分的工作是對於標籤之間的相關性進行建模,這之中不乏包含各種不同的 Transformer 和 GNN (Graph Neural Netowork) 方法,基於這些理念,我們參照其方法,提出用 Transformer 和 GNN 來考慮模型輸出之間的相關性方法。由於 transformer 和 GNN 要求輸入特徵向量維度需相同,因此我們使用 homogeneous 的 $f_1,\cdots,f_K$ 作為 backbone 來提取特徵,具體的說,$f_1,\cdots,f_K$ 都是 EfficientNet B0 的 backbone 模塊,只是在訓練參數上略顯不同,除了在 $f_i$ 的訓練過程使用 $0.0001 * i$ 作為模型學習率之外,其他超參數設定皆相同。Homogeneous classifier 輸出常常會因為 backbone 的相似性而抓取到相同的特徵,這對於 ensemble 來說並不是好事,我們希望能夠盡量抓取到更多的特徵,因此我們比較我們的訓練方法與一班訓練方法的變異數差別,我們計算變異數的方法為 $$ \text{Var}_{p(f)}[\textbf{f}(x)] = \frac{1}{C}\sum_{i=1}^C\text{Var}_{p(f)}[f^{(i)}(x)] $$ 其中,$f^{(i)}$ 表示第 $i$ 個類別的預測機率,我們假設 $p(f)$ 為均勻分配,也就是傳統的多數決機率加總方法。 我們將結果列在下圖  XY 座標分別表示 sample variance 以及 sample variance 的 density。圖中橘色線表示使用我們的方法訓練,且 backbone 為 homogeneous classifier,我們可以發現,我們的方法也可以有效的提高模型方差,也就是使得不同 backbone 關注於影像的不同語義特徵。皆下來我們定義怎麼使用 attention 方法來結合不同 backbone 的輸出 1. 得到 $K$ 個 backbone 的輸出特徵向量,有大小 $o$ (output channels) 2. 連接 $K$ 個向量,大小為 $(K,c)$,記做 $X_{K*o}$ 3. 計算 $Q=XW^q, K=XW^k, V=XW^v$ 4. 計算 query 和 key 的相似度 $\text{softmax}(\frac{QK^T}{\sqrt{d_k}})$ 5. 計算加權和 $X_{K*o} = \text{softmax}(\frac{QK^T}{\sqrt{d_k}})V$ 6. 最後計算輸出 $Y=\text{Flatten}(X)W_{\{K*o\}*C}+B_{C}$ 簡單來說,該方法把模型輸出看做是一個文字向量,我們把 $K$ 個模型輸出結合成一個文本,計算文本之間的相關性,最後把經過相關性運算的 self-attention 輸出通過全連接層得到輸出。除此之外,我們也可以用 GNN 的方式考慮模型之間的相關性,步驟如下 1. 使用 cosine similarity 計算 $f_1,\cdots,f_K$ 之間的相關性作為鄰階矩陣 $A_{K*K}$ 2. 將鄰接矩陣通過簡易的 attention 模塊得到輸出 $A_{K*K}=\text{Attention}(A_{K*K})$ 3. 計算加權和 $Y=A_{K*K}X_{K*o}W^g_{o*o}$ 4. 最後計算輸出 $Y=\text{Flatten}(X)W_{\{K*o\}*C}+B_{C}$ 在上述的方法中,我們把每個 backbone 的輸出看成是一個圖上的節點,利用節點之間的相關性作為圖上的邊,最後在得到考慮過不同 backbone 特徵向量的輸出。我們將 attention 和 GNN 機制的結果列在表 6. 中 | Model | FC | MHA | GNN | | ------- | ---- | ---- | ---------- | | Model 2 | 84.2 | 83.8 | 84.12 | | Model 3 | 84.97 | 84.98 | 83.97 | | Model 4 | 85.69 | 85.67 | 85.34 | | Model 5 | 86.19 | 86.64 | 86.34 | | Model 6 | 86.69 | 86.8 | 86.08 | | Model 7 | 86.94 | 87.09 | 86.86 | | Model 8 | 86.91 | 87.62 | 87.34 | 可以看到,隨著 $K$ 的上升,MHA 和 GNN 的表現會越來越好,甚至比起原先使用 fully connected 的方法要多出許多,我們在 $K=8$ 時,MHA 相較於原本方法漲點 $0.71$,這對於原本方法是個巨大提升,不過該方法仍然需要輸出之間都維持大小相同,所以並不是很泛用,一種解決這種問題的方案是在每一個 $f_i$ 後都加上一個 linear projector,將所有 $f_1,\cdots,f_K$ 維度投影到統一維度上,就可以使用 MHA 和 GNN 方法,但是該方法會增加參數量,所以訓練的難度會上升。
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up