Kozinüs benzerliğinin yapay zekada vektör benzerliğini nasıl ölçtüğünü öğrenin. Ultralytics ile görsel gömmeleri hesaplayın ve Ultralytics ile ölçeklendirin.
Kosinüs benzerliği, makine öğrenimi (ML) ve yapay zeka (AI) alanlarında, boyutları veya büyüklükleri ne olursa olsun iki çok boyutlu dizinin veya vektörün birbirine ne kadar benzediğini ölçmek için kullanılan temel bir matematiksel ölçüttür. Vektör uzayındaki iki nokta arasındaki açıyı hesaplayarak, bu noktaların kabaca aynı yöne işaret edip etmediklerini belirler. Bu açısal yaklaşım, yönelimin toplam uzunluktan daha önemli olduğu verilerin işlenmesinde kritik öneme sahiptir ve bu da onu, gömülmeler gibi soyut veri temsillerini karşılaştırmak için son derece etkili kılar.
Bu ölçütü hesaplamak için, iki vektörün iç çarpımını hesaplayıp bunu, her birinin büyüklüğünün (uzunluğunun) çarpımına bölersiniz. Elde edilen puan her zaman -1 ile 1 arasındaki sabit bir aralıkta yer alır:
Bilgisayar görme (CV) için tasarlanmış birçok modern derin öğrenme çerçevesinde, bu matematiksel işlem için optimize edilmiş işlevlere, örneğin PyTorch functional modülüne veya TensorFlow kolayca erişebilirsiniz.
Kosinüs benzerliğini, ne zaman kullanılması gerektiğini anlamak için sıkça kullanılan diğer veri analizi ölçütlerinden ayırt etmek faydalıdır:
Kosinüs benzerliği, sayısız modern yazılım ürününün temel motoru olarak işlev görür ve ham veriler ile insan niyeti arasındaki boşluğu doldurur.
En yeni görüntü işleme modellerini kullanarak görsel verilerden doğrudan yüksek boyutlu özellik vektörleri çıkarabilirsiniz. Aşağıdaki Python , görüntü sınıflandırması için bir Ultralytics modelinin nasıl yükleneceğini, iki görüntü için gömülü vektörlerin nasıl oluşturulacağını ve görsel benzerliklerini ölçmek üzere kosinüs benzerlik hesaplamasının nasıl gerçekleştirileceğini göstermektedir.
import torch
import torch.nn.functional as F
from ultralytics import YOLO
# Load a pre-trained YOLO26 classification model
model = YOLO("yolo26n-cls.pt")
# Generate embedding vectors for two separate images
results = model.embed(["bus.jpg", "car.jpg"])
# Calculate the cosine similarity between the two visual embeddings
similarity = F.cosine_similarity(torch.tensor(results[0]), torch.tensor(results[1]), dim=0)
print(f"Visual Similarity Score: {similarity.item():.4f}")
Bu anlamsal arama yeteneklerini ölçeklendirmeyi hedefleyen geliştiriciler için, yüksek doğrulukta temel modellerin eğitilmesi hayati önem taşır. Ultralytics , veri etiketleme, ölçeklenebilir bulut eğitimi ve sorunsuz model dağıtımı için sağlam araçlar sunarak bu süreci kolaylaştırır ve temel gömülü özelliklerinizin mümkün olduğunca doğru ve anlamlı olmasını sağlar.
Makine öğreniminin geleceği ile yolculuğunuza başlayın