在傳統的siamese network中一般使用contrastive loss作為損失函式,這種損失函式可以有效的處理孿生神經網路中的paired data的關係。
siamese network-孿生神經網路
contrastive loss的表示式如下:
# tensorflow偽**
def contrastive_loss(self, y,d,batch_size):
tmp= y *tf.square(d)
#tmp= tf.mul(y,tf.square(d))
tmp2 = (1-y) *tf.square(tf.maximum((1 - d),0))
return tf.reduce_sum(tmp +tmp2)/batch_size/2
即原本相似的樣本,如果在特徵空間的歐式距離較大,則說明當前的模型不好,因此加大損失。
而當y=0時(即樣本不相似)時,損失函式為
即當樣本不相似時,其特徵空間的歐式距離反而小的話,損失值會變大,這也正好符號我們的要求。
這張圖表示的就是損失函式值與樣本特徵的歐式距離之間的關係,其中紅色虛線表示的是相似樣本的損失值,藍色實線表示的不相似樣本的損失值。個人見解:歐式距離表示兩個文字向量在空間之間的距離,如果距離很**明樣本相似;反過來,兩個文字越相似,那麼它們之間的歐式距離越小;從上面圖中我們可以看出,x軸為d(歐式距離),以紅色虛線為例,它們描述了兩個相似文字loss與歐式距離之間的關係,因為歐式距離越大與"兩個文字相似"這個事實事與願違,那麼我們就對它們懲罰越大(即loss越大)。
來自文章:
Contrastive Loss 對比損失
在caffe的孿生神經網路 siamese network 中,其採用的損失函式是contrastive loss,這種損失函式可以有效的處理孿生神經網路中的paired data的關係。contrastive loss的表示式如下 l 12n n 1n yd2 1 y max mar gin d,...
10kv線損計算公式 線損以及線損率的計算公式
線損率計算公式 線損率 線損電量 供電量 100 供電量 售電量 供電量 100 1 輸電線路損耗 1 單一線路有功功率損失計算公式為 p i2r 式中 p 損失功率,w i 負荷電流,a r 導線電阻,2 三相電力線路 線路有功損失為 p pa十 pb十 pc 3i2r 3 溫度對導線電阻的影響 ...
止損 鱷魚原則
當鱷魚咬住了乙個人的腳,如果這個人用手臂去跟鱷魚搏鬥的話,鱷魚的嘴巴就會同時咬住他 的手,並且越掙扎陷的越深,直到最後被鱷魚吃掉。在這種情況下,唯一的生存機會就是立刻 把這只腳犧牲掉。講到做交易,乙個重要的原則就是止損,鱷魚原則講的就是止損理念。鱷魚在吞食獵物的時候,每咬一口的動作都非常迅速,通常獵...