# Contrastive [loss](../Tag%20Pages/loss.md)
- Minimize distance between similar inputs [Gradient Descent](Gradient%20Descent.md), maximize between dissimilar [Gradient Ascent](Gradient%20Ascent.md)
- Learn [Embedding](Embedding.md)/Feature space using neighbors
- dim(Embedding d) < dim(input Space D)
- Encoded using a learnable function(NN) $G_\theta(x) : \mathcal{R}^D \rightarrow \mathcal{R}^d$
- Binary labels : similar or not
- $D_\theta(x_1, x_2) = ||G_\theta(x_1) - G_\theta(x_2)||_2$
- $L(\theta, y, x_1, x_2) = \frac{(1-y)(D_\theta(x_1, x_2))^2}{2} + \frac{y(max(0,m-D\theta(x_1, x_2)))^2}{2}$
- m is enforced margin between similar and dissimilar (m>0)
- Labeled points $(y,x_1,x_2)$ are generated