Subclass-balancing Contrastive Learning for Long-tailed Recognition
- 核心公式解析
- 溫度參數 τ \tau τ的作用
- 公式5解析
核心公式解析
L S B C L = ? ∑ i = 1 N ( 1 ∣ M ~ i ∣ ∑ z p ∈ M ~ i log ? exp ? ( z i ? z p ? / τ 1 ) ∑ z a ∈ V ~ i exp ? ( z i ? z a ? / τ 1 ) + β 1 ∣ P ~ i ∣ ? ∣ M i ∣ ∑ z p ∈ P ~ i / M i log ? exp ? ( z i ? z p ? / τ 2 ) ∑ z a ∈ V ~ i / M i exp ? ( z i ? z a ? / τ 2 ) ) \begin{align*} & \mathcal{L}_{S B C L}=-\sum_{i=1}^{N}\left(\frac{1}{\left|\tilde{M}_{i}\right|} \sum_{z_{p} \in \tilde{M}_{i}} \log \frac{\exp \left(z_{i} \cdot z_{p}^{\top} / \tau_{1}\right)}{\sum_{z_{a} \in \tilde{V}_{i}} \exp \left(z_{i} \cdot z_{a}^{\top} / \tau_{1}\right)}\right. \\ & \left.+\beta \frac{1}{\left|\tilde{P}_{i}\right|-\left|M_{i}\right|} \sum_{z_{p} \in \tilde{P}_{i} / M_{i}} \log \frac{\exp \left(z_{i} \cdot z_{p}^{\top} / \tau_{2}\right)}{\sum_{z_{a} \in \tilde{V}_{i} / M_{i}} \exp \left(z_{i} \cdot z_{a}^{\top} / \tau_{2}\right)}\right) \tag{4} \end{align*} ?LSBCL?=?i=1∑N? ? ?M~i? ?1?zp?∈M~i?∑?log∑za?∈V~i??exp(zi??za??/τ1?)exp(zi??zp??/τ1?)?+β ?P~i? ??∣Mi?∣1?zp?∈P~i?/Mi?∑?log∑za?∈V~i?/Mi??exp(zi??za??/τ2?)exp(zi??zp??/τ2?)? ??(4)?
公式4里面的負號是針對里面的兩項的
所以,它有兩個意思:
-
term1: 針對相同簇標簽的實例之間的對比損失。這部分損失函數在計算時,比較了當前實例 x i x_i xi?和同一簇中的正樣本 z p z_p zp?之間的相關性。具體而言,它通過計算它們的內積,并初一一個溫度參數 τ 1 \tau_1 τ1?來衡量它們的相似度,然后利用softmax函數來計算它們之間的相對概率。整個損失函數的目標是使同一簇中的實例在特征空間中更加接近。
-
term2: 針對不同簇中的相同類別標簽實例之間的對比損失。這部分損失函數考慮了當前實例 x i x_i xi?和其他不在同一簇中的同一類別標簽的正樣本 z p z_p zp?之間的相關性。與第一部分不同的是,這里通過將同一類別標簽的實例從損失計算中排除來確保實例的多樣性。同樣,這部分也利用內積和softmax函數來計算相對概率
-
超參數 b e t a beta beta在公式中用于平衡這兩部分損失。它可以調整兩種損失對模型訓練的影響程度,以便更好地優化特征空間。第二部分的損失函數的目的是促使不同簇中的同一類別標簽實例之間在特征空間中更加相似,以幫助模型更好地學習到數據的結構和特征。
綜上所述,這個公式的目的是通過結合簇標簽和類別標簽的對比損失來優化模型的特征表示,使得相同簇內的實例更加相似,同時確保不同簇中的同一類別標簽實例之間也能保持一定的相似度。
在公式4的第二部分中,通過將同一類別標簽的實例從損失計算中排除,即只考慮不在同一簇中的同一類別標簽的正樣本,從而促使模型在學習時注重實例的多樣性。具體來說,這種設計可以確保模型不會過于集中在同一簇內的實例之間的相似性,而是更加關注不同簇中的同一類別標簽實例之間的相似性。
通過排除同一簇中的實例,模型被迫在學習時關注不同簇中的實例之間的關系,從而更好地學習到數據的全局結構和特征。這種方法有助于提高模型的泛化能力,使其能夠更好地區分不同類別的實例,并增強對數據的表征能力。因此,通過排除同一簇中的實例,可以確保模型在學習時考慮到不同類別標簽之間的多樣性,從而提高模型的性能和表現。
也就是說“通過將同一類別標簽的實例從損失計算中排除,即只考慮不在同一簇中的同一類別標簽的正樣本,”這樣可以使得模型更加關注同一class的不同層次結構,而不是同一簇。把關注重心放在同一類,不同簇的層級結構上去。
是的,您理解的非常正確。通過將同一類別標簽的實例從損失計算中排除,即只考慮不在同一簇中的同一類別標簽的正樣本,有助于使模型更加關注同一類別的不同層次結構,而不是僅限于同一簇內的實例。這樣的設計可以幫助模型更好地理解和學習類別之間的層級結構和關系,從而提高模型對數據的表征能力和泛化能力。
通過重點關注同一類別標簽的不同簇中的實例之間的關系,模型可以更好地捕捉類別之間的多樣性和差異性,從而更好地區分不同類別。這種方法有助于模型學習到更加豐富和全面的數據特征,提高模型的性能和泛化能力。因此,將關注重心放在同一類別的不同層次結構上,而不僅限于同一簇內的實例,可以幫助模型更好地理解數據的類別結構和特征,從而提高模型的訓練效果。
溫度參數 τ \tau τ的作用
對于監督對比學習,溫度參數 τ \tau τ的大小會影響特征分布的懲罰程度。具體來說,當溫度較低時,對特征分布的懲罰較高,這實際上鼓勵特征更加集中分布在一起。隨著溫度的增加,相對懲罰趨向更加均勻,這會使得特征的分布更加均勻。
溫度參數 τ \tau τ在對比損失函數中的作用是控制樣本之間的相似性度量。較低的溫度值會增加樣本之間的差異性,導致特征更加集中在一起,因為相似的樣本對會更加突出,而不相似的樣本對會有更大的懲罰。這會導致特征分布更加尖銳,即特征更加集中在一些特定的區域。
相反,較高的溫度值會減少對樣本之間差異性的強調,導致更加均勻的特征分布。這是因為相似性度量相對均勻,不同樣本對之間的差異性減少,特征分布更加均勻。
因此,當溫度較小時,對比損失函數更加強調樣本之間的差異性,導致特征更加集中;而當溫度較大時,對比損失函數更加均勻化樣本之間的相似性度量,導致特征分布更加均勻。
溫度越低,feature distribution越緊致。為了使得同一subclass越緊致,那就讓 τ 1 < τ 2 \tau_1 < \tau_2 τ1?<τ2?
公式5解析
根據引用的參考文獻[40],對于類別 c c c,我們定義 ? ( c ) \phi(c) ?(c)如下所示:
? ( c ) = ∑ i = 1 n c ∣ z i ? t c ∣ 2 n c log ? ( n c + α ) (5) \phi(c)=\frac{\sum_{i=1}^{n_{c}}\left|z_{i}-t_{c}\right|{2}}{n{c} \log \left(n_{c}+\alpha\right)} \tag{5} ?(c)=nclog(nc?+α)∑i=1nc??∣zi??tc?∣2?(5)
? ( c ) \phi(c) ?(c)是用來衡量類別 c c c內實例與類別中心點之間的平均距離的度量。具體來說, ? ( c ) \phi(c) ?(c)的計算方式是將類別內每個實例與類別中心點的歐氏距離求和,然后除以類別中實例數量 n c n_c nc?和一個對數項,以此來表示平均距離。在公式中, t c t_c tc?代表類別 c c c的中心點, z i z_i zi?代表類別 c c c的實例, α \alpha α是一個超參數用于調節公式的縮放,確保 ? ( c ) \phi(c) ?(c)不會過大。
通過計算 ? ( c ) \phi(c) ?(c),我們可以了解類別 c c c內實例與類別中心點的平均距離,從而衡量類別內實例的聚集程度。如果 ? ( c ) \phi(c) ?(c)較小,則表示類別內實例更加緊密地聚集在一起;而如果 ? ( c ) \phi(c) ?(c)較大,則表示類別內實例分布較散,距離類別中心點較遠。
? ( c ) \phi(c) ?(c)的值被用來計算類別 c c c的溫度 τ 2 ( c ) \tau_{2}(c) τ2?(c),以便根據類別內實例的聚集程度調整溫度值,從而影響特征的分布,使得類別內實例的特征形成比子類別更松散的聚類。因此, ? ( c ) \phi(c) ?(c)在這里起到了指導調整溫度值以控制特征分布的作用。
其中, t c t_{c} tc?是類別 c c c的中心點(centroid), α \alpha α是一個超參數,用于確保 ? ( c ) \phi(c) ?(c)不會過大,而 z i z_{i} zi?對應于屬于類別 c c c的實例。從這個公式可以看出,如果當前到類別中心的平均距離較大,或者類別包含的數據較少,那么溫度將會被設置為較大的值,以便在訓練過程中采用類別 c c c的特征分布。接著,我們定義類別 c c c的溫度為:
τ 2 ( c ) = τ 1 ? exp ? ( ? ( c ) 1 C ∑ i = 1 C ? ( i ) ) (6) \tau_{2}(c)=\tau_{1} \cdot \exp \left(\frac{\phi(c)}{\frac{1}{C} \sum_{i=1}^{C} \phi(i)}\right) \tag{6} τ2?(c)=τ1??exp(C1?∑i=1C??(i)?(c)?)(6)
這樣, τ 2 ( c ) \tau_{2}(c) τ2?(c)對于類別標簽始終大于 τ 1 \tau_{1} τ1?對于簇標簽(因為 ? ( c ) > 0 \phi(c)>0 ?(c)>0),并且能反映類別中實例集中程度的當前水平。具體來說,提出的 τ 2 ( c ) \tau_{2}(c) τ2?(c)鼓勵類別 c c c中實例的特征形成比子類別更松散的聚類(通過 τ 2 ( c ) > τ 1 \tau_{2}(c)>\tau_{1} τ2?(c)>τ1?),同時自適應地調整溫度以避免過度松散或過度密集的聚類。