Изучите контрастивное обучение в машинном обучении. Узнайте, как оно использует самоконтролируемые данные для создания надежных функций искусственного интеллекта для Ultralytics и компьютерного зрения.
Контрастивное обучение — это парадигма машинного обучения, которая учит модели понимать данные путем сравнения похожих и непохожих образцов. В отличие от традиционного обучения с учителем, которое в значительной степени опирается на наборы данных с ручной маркировкой, контрастивное обучение часто используется в контексте самообучения. Основная идея проста, но эффективна: модель учится сближать представления связанных элементов (положительные пары) в векторном пространстве, одновременно отдаляя несвязанные элементы (отрицательные пары). Этот процесс позволяет алгоритмам создавать надежные, обобщаемые характеристики из огромных объемов немеченых данных, что имеет решающее значение для масштабирования систем искусственного интеллекта (ИИ).
В основе контрастивного обучения лежит концепция обучения путем сравнения. Вместо того, чтобы запоминать, что конкретное изображение является «кошкой», модель учится, что две разные фотографии кошки более похожи друг на друга, чем любая из них на фотографию собаки. Обычно это достигается путем увеличения объема данных. Входное изображение, часто называемое «якорем», преобразуется в две разные версии с помощью таких техник, как кадрирование, переворот или изменение цвета . Эти две версии образуют положительную пару. Затем модель обучается минимизировать расстояние между их вложениями, одновременно максимизируя расстояние до других случайных изображений (отрицательных образцов) в пакете.
Такой подход помогает нейронной сети сосредоточиться на высокоуровневых семантических особенностях, а не на низкоуровневых деталях пикселей. Например, независимо от того, красный автомобиль или синий, обращен он влево или вправо, основное понятие «автомобиль» остается неизменным. Игнорируя эти поверхностные различия, модель развивает более глубокое понимание визуального мира, что значительно облегчает выполнение последующих задач, таких как обнаружение и классификация объектов.
Контрастивное обучение стало краеугольным камнем для многих современных приложений искусственного интеллекта, особенно там, где меченые данные являются дефицитными или их получение требует больших затрат.
Полезно отличать контрастивное обучение от схожих методов, чтобы понять его уникальную роль в сфере машинного обучения (ML).
Хотя обучение контрастивной модели с нуля требует значительных ресурсов, вы можете легко использовать предварительно обученные модели для
извлечения признаков. В следующем примере показано, как загрузить модель и извлечь вектор признаков (вложение)
для изображения с помощью ultralytics пакет. Это встраивание представляет семантическое содержание, усвоенное с помощью
методов, сходных с контрастивным предварительным обучением.
from ultralytics import YOLO
# Load a pre-trained YOLO26 classification model
model = YOLO("yolo26n-cls.pt")
# Run inference on an image to get the results
# The 'embed' argument can be used in advanced workflows to extract feature layers
results = model("https://ultralytics.com/images/bus.jpg")
# Access the top predicted class probability
# This prediction is based on the learned feature representations
print(f"Top class: {results[0].names[results[0].probs.top1]}")
print(f"Confidence: {results[0].probs.top1conf:.4f}")
Эта способность извлекать богатые и значимые характеристики делает контрастивное обучение незаменимым для создания современных систем компьютерного зрения (CV), обеспечивающих эффективный поиск изображений и расширенную аналитику. Для управления наборами данных и обучения пользовательских моделей, которые используют преимущества этих передовых архитектур, Ultralytics предоставляет оптимизированную среду для развертывания и мониторинга.