Узнайте, как метод обучения представлений «Матрешка» (MRL) позволяет создавать вложения с несколькими уровнями детализации. Узнайте, как оптимизировать поиск и развертывание на периферийных устройствах с помощью Ultralytics .
Обучение представлению «матрешка» (MRL) — это метод обучения в об ласти искусственного интеллекта (ИИ) и машинного обучения (МО), который заставляет нейронную сеть обучаться многоуровневым вложениям в рамках одного выходного вектора. Вдохновленный русскими матрешками, метод MRL структурирует вложение таким образом, что важная семантическая информация располагается в начале вектора. Это означает, что вектор высокой размерности (например, 1024 измерения) можно сократить до более мелких вложенных подмножеств (таких как 512, 256 или 64 измерения) без потери его базового представления. Такая гибкость значительно снижает вычислительную нагрузку, обычно связанную с задачами поиска информации.
Традиционно модель вложения обучается с целью оптимизации конкретной функции потерь для фиксированного размера выходных данных. Если системе требуется вектор меньшего размера для экономии памяти, необходимо обучить совершенно новую модель. MRL решает эту проблему за счет применения вложенной функции потерь на этапе обучения. Она совместно оптимизирует полное представление и его вложенные подмножества. Такие организации, как OpenAI, внедрили MRL в свои современные API встраивания, что позволяет разработчикам динамически удалять размерности с конца вектора, сохраняя при этом точные оценки косинусного сходства.
MRL обеспечивает ряд преимуществ при поиске оптимального соотношения между точностью, затратами на хранение данных и пропускной способностью памяти.
Чтобы правильно использовать MRL, полезно отличать его от более старых методов сжатия данных.
Усечение вложения MRL чрезвычайно просто и не требует сложной логики семантической индексации. Поскольку наиболее важные признаки имеют высокий вес в самых ранних измерениях, массив можно просто разрезать. В следующем примере показано усечение смоделированного мультимодального вывода YOLO26 с помощью базовых tensor PyTorch .
import torch
# Simulate a full 1024-dimensional MRL embedding returned by a model
full_embedding = torch.rand(1, 1024)
# To deploy on memory-constrained hardware, simply slice the first 256 dimensions
# Because the model was trained with MRL, this subset remains highly accurate
truncated_embedding = full_embedding[:, :256]
print(f"Original size: {full_embedding.shape[1]}, Compressed size: {truncated_embedding.shape[1]}")
Начните свой путь в будущее машинного обучения