Cosine Similarity
Kosinüs benzerliğinin yapay zekada vektör benzerliğini nasıl ölçtüğünü öğren. Ultralytics YOLO26 ile görsel yerleştirmeleri hesapla ve Ultralytics Platform ile ölçeklendir.
Kosinüs benzerliği, iki machine learning (ML) ve artificial intelligence (AI) vektörünün veya multi-dimensional arrays bileşeninin boyut veya büyüklüklerinden bağımsız olarak ne kadar benzer olduğunu ölçmek için kullanılan temel bir matematiksel metriktir. Bir vector space içindeki iki nokta arasındaki açıyı hesaplayarak kabaca aynı yöne işaret edip etmediklerini belirler. Bu açısal yaklaşıverme, yönelimin genel uzunluktan daha önemli olduğu verileri işlemek için çok önemlidir ve embeddings gibi soyut veri temsillerini karşılaştırmayı son derece etkili kılar.
Metriğin Arkasındaki Matematiği Anlamak#
Bu metriği hesaplamak için iki vektörün dot product değerini hesaplar ve bunu bireysel magnitudes (uzunluklar) değerlerinin çarpımına bölersin. Elde edilen puan her zaman -1 ile 1 arasında sabit bir aralığa düşer:
- 1 puanı, vektörlerin tam olarak aynı yöne baktığını ve maksimum benzerliği gösterdiğini ifade eder.
- 0 puanı, vektörlerin tamamen orthogonal olduğunu (90 derecelik bir açıyla), yani hiçbir yönsel benzerlik olmadığını ifade eder.
- -1 puanı, tam olarak zıt yönlere baktıklarını ifade eder.
computer vision (CV) için tasarlanmış birçok modern derin öğrenme çerçevesinde, PyTorch's functional module veya TensorFlow metrics gibi bu matematiksel işlem için optimize edilmiş fonksiyonlara kolayca erişebilirsin.
İlgili Kavramları Ayırt Etme#
Ne zaman kullanılacağını anlamak için kosinüs benzerliğini sıkça kullanılan diğer data analytics ölçümlerinden ayırmak faydalıdır:
- Cosine Distance: Yakından ilişkili olmalarına rağmen, bu terimler ters orantılıdır. Kosinüs mesafesi basitçe 1 eksi kosinüs benzerliği olarak hesaplanır. Bu nedenle, daha küçük bir mesafe vektörler arasında daha yüksek bir benzerliğe işaret eder.
- Öklid Uzaklığı: Bu metrik, iki nokta arasındaki düz hat fiziksel mesafesini ölçer ve bu da onu vektörlerin genel boyutuna veya büyüklüğüne karşı oldukça duyarlı hale getirir. Buna karşılık, kosinüs benzerliği sadece açı ile ilgilenir. Örneğin, metin analizinde uzun bir belge ile kısa bir cümle büyük bir Öklid uzaklığına sahip olabilir, ancak aynı konuyu paylaşıyorlarsa kosinüs benzerlikleri yüksek kalmaya devam edecektir.
Yapay Zekada Gerçek Dünya Uygulamaları#
Kosinüs benzerliği, ham veri ile insan niyeti arasındaki boşluğu doldurarak birçok modern yazılım ürününün temel motoru işlevini görür.
- Vector Search and RAG: Sohbet botları gibi Natural Language Processing (NLP) uygulamalarında, kullanıcı sorguları ve dahili belgeler yoğun gömmelere dönüştürülür. Sistem, Retrieval-Augmented Generation (RAG) sürecinde çok önemli bir adım olan bir vector database kaynağından bağlamsal olarak en alakalı belgeleri almak için kosinüs benzerliğini hızla hesaplar.
- Recommendation Systems: E-ticaret ve yayın hizmetleri, kullanıcı tercihlerini ve katalog öğelerini vektörler olarak temsil etmek için Scikit-learn and SciPy gibi araçları kullanır. Bir alışverişçinin profili ile farklı ürünler arasındaki benzerlik puanını ölçerek sistemler, görsel veya tematik olarak ilgili öğeleri doğru bir şekilde önerebilir.
Ultralytics ile Görsel Benzerliği Ölçme#
Son teknoloji görüş modellerini kullanarak görsel verilerden doğrudan yüksek boyutlu özellik vektörleri çıkarabilirsin. Aşağıdaki Python kodu, bir Ultralytics YOLO26 modelini image classification için nasıl yükleyeceğini, iki görüntü için gömmeler oluşturacağını ve görsel benzerliklerini ölçmek için bir kosinüs benzerliği hesaplaması gerçekleştireceğini gösterir.
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 semantic search yeteneklerini ölçeklendirmeyi amaçlayan geliştiriciler için son derece doğru taban modelleri eğitmek çok önemlidir. Ultralytics Platform, data annotation için güçlü araçlar, ölçeklenebilir bulut eğitimi ve kesintisiz model deployment sunarak bu hattı kolaylaştırır ve alttaki gömmelerinin olabildiğince doğru ve anlamlı olmasını sağlar.






