На пальцах это выглядит так:
Нейронка "сжимает" картинку ну вектора чисел. При обучению её заставляют для картинок одних и тех же предметов давать близкие друг к другу вектора. Т.е. условно если взять двумерный вектор (плоскость - XY) то верхний правый угол займут белые собаки, а в нижнем чёрные, а между ними что-то среднее - смешанных цветов.
В итоге остаётся только искать близкие между собой вектора.
В реальности используют многомерные вектора в сотни измерений. Поэтому там найдутся уголки для более мелких характеристик - собак с чёрными ушами и белым носом полосатой спиной и серой лапой.
Проблема обычно только в обучающем материале.