في الشكبات العصبية Dot Product

– مقدمة:

الـ dot product هو أحد أهم العمليات الرياضية المستخدمة في أي شبكة عصبية. وعن طريقه نستطيع حساب الكلمات المتشابهة في NLP مثلا. والذي يستخدم بشكل مباشر في مرحلة الـ forward pass (شاهد المراحل المتسخدمة في الشبكة العصبية ). في هذه المقالة، سنجيب على التالي:

  • ما هي وظيفة الـ dot product على مستوى الـ NLP وكيف تُمثل لنا الكلمات المتشابهة (التي لها معنى متقارب)؟
  • ما هيا الاشكال المختلفة في كتابة الـ dot product؟ وما هي المغالطات عند قرائتها في الأوراق العملية؟

– التشابه والاختلاف للمُتُّجهات (vectors):

هناك طريقتين لكتابة الـ dot product. واحد على مستوى الـ geometry والثانية على مستوى algebra. حنستعرض الاولى لانها أسهل في الفهم ومن ثم سنستعرض الثانية.

صورة رقم ١ : تعريف dot product من ناحية الـ geometry
كما نشاهد في الصورة رقم ١، طريقة تعريفنا لـ dot product من ناحية الـ geometry للـمُتَّجه (vecotr) a والـمُتَّجه (vecotr) b تعني حساب الكمية التي فيها الـمُتَّجه (vecotr) a يتجه في نفس اتجاه الـمُتَّجه (vecotr) b. على سبيل المثال،افرض انه عندنا مُتُّجهين a و b يتجهون (يؤشرون) إلى نفس الاتجاه كما في الصورة رقم ٢ (الصورة اليسرى)، حيث أن مُتُّجه المدينة على نفس اتجاه مُتُّجه مكة. بالتالي، تستطيع أن نقول انهم متشابهين لان ببساطة كلهم يتجهون في نفس الاتجاه. والعكس صحيح لو كان كل مُتُّجه يشير إلى جهة اخرى كما الصورة اليمنى في صورة رقم ٢، سوف نستنتج أنهم لا يتشابهون لان كل واحد يشير إلى اتجاه.
صورة رقم ٢ : التشابه والاختلاف للمُتُّجهات
نتيجة حساب معادلة الـ dot product في صورة رقم واحد ستعطينا scalar value (قيمة واحد) وهذه القيمة ستكون موجب أو سالبة. الموجبة تعني أن كِلا المُتُّجهين يشيرون إلى نفس الاتجاه (متشابهيين). والعكس صحيح، القيمة .السالبة تعني أن كِلا المُتُّجهين يشيرون إلى اتجاهين مختلفين (غير متشابهيين)

  قيمة الزواية cos (theta) في المعادلة في صورة رقم ٣ هيا التي تحدد لنا القيمة الفعلية للاتجاه بالاضافة إلى طول المُتُّجهات.

– تمثيل الكلمات (word vector representations) :

الان وبعد تّعرفنا على ما هو التشابه والاختلاف للمُتُّجهات، تعال نشاهد كيف نحسب اذا كلمة معينة هيا مشابهة لكلمة اخرى في المعنى كما يحدث في NLP.
صورة رقم ٣ : التشابه والاختلاف في معاني الكلمات

طريقة تحديد هل كلمة معينة مشابهة لكملة اخرى في المعنى مثل الكلمة “قلم” مشابهة في المعنى للكلمة “مرسام” وليست مشابهة في المعنى لكلمة “سيارة” عن طريق حساب قيمة الزاوية theta (وهيا الاوزان) كما نرى في الصورة رقم ٣. مقدار الزواية يوضح مدى تشابه الكلمتين. على سبيل المثال (صورة رقم ٣)، افترضنا أنه عندنا ٣ مُتُّجهات: الاول يمثل الشاهي الأحمر، الثاني يمشل الشاهي الاخضر والثالث يمثل الكبسة. فعند حساب الـ dot product لمُتُّجه الشاهي الاحمر والشاهي الاخضر، نجد أنهما متشابهيين وعلى العكس بين الشاهي الاحمر والكبسة.

  قيمة الزاوية (Theta) هيا نفسها الاوزان في شبكات التعلم العميق. وهذه تُتعلم خلاص مرحلة التدريب. فإذا ظهرت الكلمتين في الكثير من النصوص مع بعض، يعني أن الزاوية بينهم صغيرة. والتي تعني أنهم يؤشرون إلى نفس الاتجاه (متشابهين).

– طرق كتابة dot product :

صورة رقم ٤ : طرق كتابة الـ dot product

الخطوة رقم ٢ في الصورة رقم ٤ هيا طريقة حساب الـ dot product من ناحية algebraically، بينما الخطوة رقم ١ هيا التي تكلمنا عنها سابقا. اذاً، التعاريف التي في صورة رقم ٤ جميعها تعني نفس الكلام الذي شرحناه ولكن تختلف طريقة الكتابة. الخطوة رقم ٣ في صورة رقم ٤ هيا أشهر الطرق الكتابية والمستخدمة في أغلب الأوراق العلمية حيث العلامة هيا علامة الجمع. أيضا الخطوة رقم هو طريقة كتابة اخرى لـ dot product عن طريقة اضافة الـ transpose (شاهد هنا لتفاصيل اكثر).

صورة رقم ٥ : العلاقات التبادلية (commutative) و dot product
أيضا، نستطيع أن نقول المُتُّجهين a و b بينهم علاقة تبادلية كما في الخطوة الاولى الصورة رقم ٥. هذا يحدث فقط في حال كان a و b عرفو كمُتُّجهات (vectors). لكن هذه العلاقة التبادلية لا تنطبق في حال عُرفت المُتُّجهات كـمصفوفات (matrices) وذلك لان عملية ضربهم تعطي نتائج مختلفة (شاهد هنا لتفاصيل اكثر)

– الخاتمة :

الـ dot product تعتبر من أهم العمليات الرياضية المستخدمة في الشبكات العصبية. قد لا تكون المعادلات الرياضية واضحة لأول وهلة، ولكن مع قراءة المعادلة مرة اخرى ومحاول فهم الجانب التصوري لها ستصل إلى المفهوم.

ان اصبت فمن الله وان اخطات فمن نفسي .. لا تنسى مشاركة المقالة اذا أعجبتك .. اخوكم رائد الحربي
ولاي ملاحضات او استفسارات يرجى مراسلتي على تويتر @raedalharbi14 أو كتابة التعليق هنا

Leave a Reply

Your email address will not be published.