Embeddings
التضمينات متجهات متعلّمة تضع النصوص أو الصور أو العناصر المتشابهة بالقرب بعضها من بعض. يتناول هذا الموضوع كيفية إنشائها ومقارنتها والبحث فيها على نطاق واسع.
التضمين هو متجه من الأعداد يتعلّمه النموذج لتمثيل عنصر، مثل كلمة أو صورة أو منتج أو مستخدم، بحيث تحصل العناصر المتشابهة في المعنى أو المحتوى على متجهات متقاربة. وتصبح المسافة في هذا الفضاء المتجهي مقياسًا للتشابه، ما يتيح للبرمجيات البحث عن العناصر وتجميع العناصر والتوصية بها وتصنيفها بمقارنة المتجهات بدلًا من البكسلات الخام أو السلاسل النصية. والتضمينات هي أيضًا التمثيل الذي تعمل به الشبكات العصبية: إذ يحوّل نموذج لغوي كبير (LLM) كل رمز إلى تضمين قبل أول طبقة Transformer فيه، ويحوّل نموذج الرؤية الصورة إلى متجهات سمات عبر العمود الفقري الخاص بنموذج الرؤية. وتتراوح أبعاد التضمينات المستخدمة في البحث عادةً بين بضع مئات وبضعة آلاف، وهي أقل بكثير من عدد القيم في المُدخل الخام.
كيفية إنشاء التضمينات#
تنتج التضمينات عن نوعين من المكوّنات المتعلَّمة:
- جداول البحث: بالنسبة إلى العناصر المنفصلة مثل الرموز المميزة أو معرّفات المنتجات أو معرّفات المستخدمين، تخزّن طبقة التضمين صفًا قابلًا للتعلّم لكل عنصر، ويؤدي البحث عن عنصر إلى إرجاع صفه. إن الجدول
nn.Embeddingفي PyTorch مثال على ذلك. تبدأ صفوفه عشوائية، ثم تُحدَّث بواسطة الانتشار العكسي مع بقية النموذج، ولذلك تتقارب العناصر التي تؤدي أدوارًا متشابهة في مهمة التدريب نحو متجهات متشابهة. - المُرمِّزات: بالنسبة إلى الصور والصوت والنصوص الحرة، تحوّل الشبكة المدخل بأكمله إلى متجه واحد، غالبًا عبر تجميع خرائط السمات لشبكة CNN أو قراءة رموز الإخراج المميزة في Transformer. تنتج عن المُرمِّزات المدرَّبة لمهمة مثل التصنيف تضمينات مفيدة بوصفها ناتجًا جانبيًا، بينما تشكّل المُرمِّزات المدرَّبة باستخدام التعلّم التبايني فضاء التضمين مباشرةً، كما يفعل CLIP بوضع الصور وتعليقاتها التوضيحية في فضاء مشترك واحد.
أظهر Word2vec، الذي نشره توماس ميكولوف وزملاؤه في Google عام 2013، مقدار البنية التي يلتقطها هذا النوع من التدريب. ففي متجهات الكلمات، يكون المتجه("King") − المتجه("Man") + المتجه("Woman") أقرب إلى المتجه("Queen")، وتغطي متجهات Google News المدرَّبة مسبقًا التي أُتيحت معه 3 ملايين كلمة وعبارة ضمن 300 بُعد.
مقارنة التضمينات#
تقارن مشابهة جيب التمام اتجاهَي متجهين، وتتراوح قيمتها من −1 إلى 1. ويراعي الضرب النقطي أطوال المتجهين أيضًا، أما المسافة الإقليدية فتقيس المسافة المستقيمة بينهما. تطبّع أنظمة كثيرة التضمينات إلى طول وحدة، ما يجعل مشابهة جيب التمام والضرب النقطي متطابقين، ويرتّب الجيران بالترتيب نفسه الذي ترتّبهم به المسافة الإقليدية. تنتج نماذج YOLO26 تضمينات الصور عبر embed()، الذي يتجاوز رأس التنبؤ ويُرجع متجهًا واحدًا لكل صورة عن طريق التجميع بالمتوسط لمخرجات الطبقة قبل الأخيرة من النموذج:
import torch.nn.functional as F
from ultralytics import YOLO
from ultralytics.utils import ASSETS
# Load a YOLO26 classification model trained on ImageNet
model = YOLO("yolo26n-cls.pt")
# embed() returns one pooled feature vector per image instead of predictions
bus, zidane = model.embed([ASSETS / "bus.jpg", ASSETS / "zidane.jpg"])
print(f"Embedding length: {bus.shape[0]}")
# Higher cosine similarity means the model sees more similar content
print(f"Cosine similarity: {F.cosine_similarity(bus, zidane, dim=0).item():.3f}")بالنسبة إلى YOLO26n-cls، يكون التضمين متجهًا ذا 256 بُعدًا، وهو خرج مجمّع لكتلة الانتباه التي تنهي شبكته الأساسية، ويطبع السطر الثاني تشابه جيب التمام بين صورتي العينة المرفقتين. وتُرتب نتائج البحث عن الصور بالتشابه عبر إجراء المقارنة نفسها على التضمينات المخزنة لمجموعة كاملة.
البحث في التضمينات على نطاق واسع#
تكون مقارنة استعلام بملايين المتجهات المخزنة واحدًا تلو الآخر بطيئة جدًا، لذا تنشئ قواعد بيانات المتجهات فهارس تقريبية لأقرب الجيران، مثل فهارس HNSW القائمة على الرسوم البيانية أو فهارس الملفات المعكوسة، للعثور على المطابقات القريبة مع فحص جزء صغير من المجموعة. تُضمَّن المجموعة مرة واحدة، ويُضمَّن كل استعلام عند وقت البحث باستخدام المُرمِّز نفسه، أو باستخدام مُرمِّز النص المقترن عند البحث عن الصور بالنص:
يؤثر شكل التخزين في التصميم بقدر تأثير الدقة فيه. يدرّب التعلّم التمثيلي ماتريوشكا تضمينات تكون أبعادها الأولى مفيدة بمفردها، ما يتيح اقتطاع المتجهات لتوفير المساحة، بينما يضغط تكميم المتجهات كل متجه في بضعة بايتات. ويجمع البحث الهجين بين تشابه التضمينات ومطابقة الكلمات المفتاحية.
التطبيقات#
- البحث الدلالي والتوليد المعزّز بالاسترجاع (RAG): تسترجع تضمينات النصوص المقاطع حسب معناها، لذا يعثر استعلام عن «مطالبات تأمين السيارات» أيضًا على مستندات تتحدث عن «وثيقة تأمين المركبات»، ثم يمرّر RAG المقاطع المسترجعة إلى نموذج لغوي كبير بوصفها سياقًا.
- أنظمة التوصية: يُضمَّن المستخدمون والعناصر في فضاء واحد، وتصبح العناصر الأقرب إلى متجه المستخدم مرشحة للتوصية.
- التصنيف من دون أمثلة: تصنّف النماذج ذات فضاء مشترك للصور والنصوص صورةً بمقارنة تضمينها بتضمينات أسماء الفئات المكتوبة نصيًا.
- إعادة التعرّف على الكائنات: تربط تضمينات المظهر الشخص أو المركبة نفسيهما عبر الكاميرات والفجوات في المسار.
- استكشاف مجموعات البيانات: يكشف إسقاط التضمينات إلى بُعدين باستخدام t-SNE أو UMAP عن العناقيد والعناصر شبه المكررة والقيم الشاذة في مجموعة بيانات، كما تفعل لوحة التجميع لمجموعات بيانات Ultralytics Platform.
التضمينات والمصطلحات ذات الصلة#
- الفضاء الكامن: فضاء المتجهات الذي تشغله التضمينات. وغالبًا ما يُستخدم مصطلحا «التمثيل الكامن» و«التضمين» مترادفين.
- استخراج السمات: أي عملية تحوّل البيانات الخام إلى سمات. والتضمين متجه سمات متعلَّم بحيث تحمل المسافات بين المتجهات معنى.
- تجزئة النص إلى رموز: تقسّم النص إلى رموز مميزة وتحوّل كلًّا منها إلى معرّف صحيح. ثم تحوّل طبقة التضمين كل معرّف إلى متجه.
- ترميز الواحد الساخن: يمثّل العنصر i من مفردات ما بمتجه من الأصفار، مع قيمة 1 في الموضع i، فتكون المسافة بين كل زوج من العناصر متساوية ولا يحمل الترميز أي تشابه. ويؤدي ضرب متجه الواحد الساخن في مصفوفة أوزان جدول التضمين إلى اختيار صف واحد بالضبط؛ وهذه هي النتيجة التي يعيدها البحث في التضمين من دون إجراء الضرب.










