chainer.functions.
contrastive
(x0, x1, y, margin=1,
reduce='mean')[source]¶
Contrastive lossを計算する。
入力として、サンプルとラベルのペアをとります。このラベルはこれらのサンプルが 同類である場合\(1\) 、類似していない場合 \(0\) となります。
\(N\) はミニバッチサイズ 、\(K\) は入力値の次元を示します。入力値x0
と x1
のshapeは両方とも (N, K)
です。
\(n\)番目のサンプルペア \(L_n\) のロス値は
ただし \(d_n = \| {\bf x_0}_n - {\bf x_1}_n \|_2\), \({\bf x_0}_n\) and \({\bf x_1}_n\)
は x0
と x1
の\(n\)-番目のK-次元ベクトルです。
出力変数の値はreduce
オプションの値に依存します。 'no'
が設定されている場合、要素ごとのロス値を保持します。
'mean'
が設定されている場合、この関数はロス値の平均をとります。
Parameters: |
|
---|---|
Returns: |
上記の等式で計算されたロス値を保持するVariable。 |
Return type: |
このコストはsiamese networksの訓練に使用することが可能です。詳細は. Learning a Similarity Metric Discriminatively, with Application to Face Verification をお読みください。