center loss的完全理解以及實現

2021-10-08 15:59:15 字數 589 閱讀 5050

最近專案中需要 center loss 提公升模型的效果,但是 center loss 的實現就有點不確定,看了很多的部落格,基本都是臆測,還是看原始碼來的實在。

下面就大致說下 center loss 的實現:

類別中心是動態變化的麼?如何進行變化?

(1)是每個epoch結束後使用所有的樣本重新聚類計算得到樣本中心麼?

(2)在每個batch內計算動態變化得到聚類中心

當然是第二種方式,第一種方式太過於直白,最大的問題就是更新的太滯後了,基本上業界沒有這樣用的。

那麼第二種方式該如何實現?每個batch內不一定包含所有的類別影象,維護乙個引數矩陣?如何初始化?如何得到類別中心點(聚類還是求均值?)?

確實需要乙個引數矩陣來維護並更新我們得到的聚類中心,常規能想到的方式就是自定義乙個layer,然後再layey種定義引數矩陣等等,最終加入模型進行訓練.

還有一種更為簡潔的方式就是使用 embedding 層的方式進行輔助訓練,embedding 層不僅僅可以實現乙個維度的對映,而且最重要的是該層裡面也有引數,是乙個可以被訓練的層,因此一切到這裡就可以結束了ÿ

完全理解窗函式

乙個星期終於搞懂了窗函式。以下為我的理解過程。當輸入乙個訊號x t 我們需要擷取它其中的一段來進行研究,就可以用加窗來實現,這裡窗長就是擷取長度。但因為之後我們會研究擷取訊號的頻譜,需要對其進行傅利葉變換,而傅利葉變換又是作用於正負無窮的,所以要先對擷取訊號進行週期擴充套件。此時,若擷取為整週期擷取...

01 ,完全 揹包 理解篇

pku3624 f v 把第i件物品放入容量為v的揹包所獲得的價值 include include includeusing namespace std int max int a,int b int val 3405 c 3405 f 100 3500 int main for j v j 0 j...

C指標不完全理解

例子 include int main 以下3行效果相同 char p a char p a 0 char p a 0 char pp p printf a p,a p,a p,sizeof a d n a,a,a,sizeof a printf a 0 p,a 0 p,sizeof a 0 d n...