Formalizing the description of a Neural Network that takes some input and maps it to a Euclidean embedding which is optimized for class separation

15 Views Asked by At

I have a neural network which we can just think as some function $f$ with learned parameters $\theta$ that takes as an input an image which we can think of as a matrix $M_i \in \mathbb{R}^{3 \times 224 \times 224}$ and outputs a vector $P \in \mathbb{R}^{512}$.

The matrix $M_i$ has an associated label $y_j$ and is a part of some larger set $M_i \in \mathcal{M}$ and $y_j \in \mathcal{Y}$ where $j \leq i$ as multiple matrices can map to a label.

Our parameters $\theta$ are then "learned" so that their optimal value is such that $\forall j$, $f(M_{i, j=k} | \theta) - f(M_{i, j\neq k} | \theta) > f(M_{i, j=k} | \theta) - f(M_{i, j = k} | \theta)$, $\forall k \in j$.

So essentially the outputs are close together (in the Euclidean sense) when belonging to the same class but are separated as much as possible to other classes (essentially forming their own clusters).

So my question is, how do I write this more correctly, as well as how do I discuss the notion of separability (quality of the clusters).