Cosine Similarity
تعلم كيف يقيس تشابه جيب التمام (cosine similarity) تشابه المتجهات في الذكاء الاصطناعي. احسب التضمينات البصرية مع Ultralytics YOLO26 ووسع نطاقها مع منصة Ultralytics.
تشابه جيب التمام هو مقياس رياضي أساسي يُستخدم في machine learning (ML) وartificial intelligence (AI) لقياس مدى تقارب multi-dimensional arrays أو المتجهات، بغض النظر عن حجمها أو مقدارها. من خلال حساب الزاوية بين نقطتين في vector space، يحدد ما إذا كانا يشيران تقريبًا في نفس الاتجاه. هذا النهج الزاوي بالغ الأهمية لمعالجة البيانات التي يكون فيها الاتجاه أكثر أهمية من الطول الإجمالي، مما يجعله فعالًا للغاية لمقارنة تمثيلات البيانات المجردة مثل embeddings.
فهم الرياضيات الكامنة وراء هذا المقياس#
لحساب هذا المقياس، تقوم بحساب dot product لمتجهين وتقسيمه على حاصل ضرب magnitudes الفردية الخاصة بهما (الأطوال). تقع النتيجة الناتجة دائمًا ضمن نطاق ثابت من -1 إلى 1:
- درجة 1 تعني أن المتجهات تشير في نفس الاتجاه تماماً، مما يشير إلى أقصى درجات التشابه.
- درجة 0 تعني أن المتجهات orthogonal تمامًا (بزاوية 90 درجة)، مما يعني عدم وجود تشابه في الاتجاه.
- درجة -1 تعني أنها تشير في اتجاهات متقابلة تماماً.
في العديد من أطر عمل التعلم العميق الحديثة المصممة لـ computer vision (CV)، يمكنك الوصول بسهولة إلى الدوال المُحسّنة لهذه العملية الرياضية، مثل PyTorch's functional module أو TensorFlow metrics.
التمييز بين المفاهيم ذات الصلة#
من المفيد التمييز بين تشابه جيب التمام وقياسات data analytics الأخرى المستخدمة بشكل متكرر لفهم متى يتم استخدامه:
- Cosine Distance: على الرغم من ارتباطهما الوثيق، فإن هذين المصطلحين يتناسبان عكسياً. يتم حساب مسافة جيب التمام ببساطة على أنها 1 ناقص تشابه جيب التمام. لذلك، تشير المسافة الأصغر إلى تشابه أعلى بين المتجهات.
- المسافة الإقليدية: يقيس هذا المقياس المسافة المادية في خط مستقيم بين نقطتين، مما يجعله حساساً للغاية للحجم الإجمالي أو مقدار المتجهات. في المقابل، يهتم تشابه جيب التمام بالزاوية فقط. على سبيل المثال، في تحليل النصوص، قد يكون لمستند طويل وجملة قصيرة مسافة إقليدية كبيرة، ولكن إذا كانا يتناولان نفس الموضوع، فسيظل تشابه جيب التمام بينهما مرتفعاً.
تطبيقات العالم الحقيقي في الذكاء الاصطناعي#
يعمل تشابه جيب التمام كمحرك أساسي للعديد من البرمجيات الحديثة، مما يسد الفجوة بين البيانات الخام والمقصد البشري.
- Vector Search and RAG: في تطبيقات Natural Language Processing (NLP) مثل روبوتات المحادثة، يتم تحويل استعلامات المستخدمين والوثائق الداخلية إلى تضمينات كثيفة. يحسب النظام بسرعة تشابه جيب التمام لاسترجاع المستندات الأكثر صلة من الناحية السياقية من vector database، وهي خطوة حاسمة في التوليد المعزز بالاسترجاع (RAG).
- Recommendation Systems: تستخدم التجارة الإلكترونية وخدمات البث أدوات مثل Scikit-learn and SciPy لتمثيل تفضيلات المستخدمين وعناصر الكتالوج كمتجهات. من خلال قياس درجة التشابه بين ملف تعريف المتسوق ومنتجات مختلفة، يمكن للأنظمة التوصية بدقة بعناصر ذات صلة بصرية أو موضوعية.
قياس التشابه البصري باستخدام Ultralytics#
يمكنك استخراج متجهات ميزات عالية الأبعاد مباشرة من البيانات المرئية باستخدام نماذج الرؤية المتطورة. يوضح كود Python التالي كيفية تحميل نموذج Ultralytics YOLO26 لـ image classification، وتوليد التضمينات لصورتين، وإجراء حساب تشابه جيب التمام لقياس تشابههما البصري.
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}")للمطورين الذين يهدفون إلى توسيع نطاق قدرات semantic search هذه، يعد تدريب نماذج أساسية عالية الدقة أمرًا بالغ الأهمية. تعمل Ultralytics Platform على تبسيط خط الأنابيب هذا من خلال توفير أدوات قوية لـ data annotation، والتدريب السحابي القابل للتطوير، وmodel deployment السلس، مما يضمن أن التضمينات الأساسية الخاصة بك دقيقة وذات معنى قدر الإمكان.






