глоссарий

Triplet loss

Triplet loss

Triplet loss — это функция потерь для обучения нейросетей сравнивать объекты. Она работает с тройкой примеров: якорь, положительный (тот же класс) и отрицательный (другой класс). Модель переводит объекты в векторы-эмбеддинги, а triplet loss требует, чтобы якорь был ближе к положительному, чем к отрицательному, на заданный отступ.

Зачем это важно? В задачах вроде распознавания лиц, поиска похожих товаров или сверки документов нужно не назвать объект, а понять, похож ли он на другой. Triplet loss строит пространство признаков, где одинаковые объекты лежат рядом, а разные — далеко, и оно работает даже для новых людей.

Объясним интуитивно. Фотограф показывает ученику три снимка: вы, ваш близнец и незнакомец. Он учит понимать, что близнец ближе к вам, чем незнакомец. Нейросеть делает то же самое: притягивает якорь к положительному примеру и отталкивает от отрицательного.

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

Итог: triplet loss — это простой и мощный способ научить модель сравнивать, а не классифицировать. Он не требует фиксированного числа классов и используется в биометрии, рекомендациях и поиске. Важно лишь подбирать трудные отрицательные примеры, чтобы сеть действительно обучалась.