محتويات الدورة

التعلم العميق / أسس الموترات والتعلم / الدرس 1

الموترات والمحاور والدفعات

اقرأ الموتر بوصفه عقداً يحدد المشاهدات والسمات والعمليات قبل تفسير أرقامه.

وقت القراءة التقريبي: 4 دقيقةتاريخ مراجعة المحتوى
في هذه الصفحة

أهداف الدرس

  • تمييز الشكل العددي عن معنى كل محور.
  • حساب أشكال الطبقة الكثيفة وعدد معاملاتها.
  • فحص استقلال صفوف الدفعة والحفاظ على هوية المشاهدة.

لكل محور معنى يتجاوز طوله

الموتر مجموعة أعداد متعددة الأبعاد؛ ويشير المصطلح في هذا المساق إلى الكائن الرياضي، لا إلى صنف في مكتبة بعينها. يحدد الشكل أطوال المحاور، بينما يشرح عقد المحاور معنى تلك الأطوال. قد يعني الشكل (3, 2) ثلاث مشاهدات لكل منها سمتان. وترتيب الأعداد الستة نفسها في الشكل (2, 3) ينشئ عقداً مختلفاً. احتفظ بأسماء السمات وترتيبها ووحداتها ومعرّفات المشاهدات بجوار المصفوفة. نجاح إعادة التشكيل يثبت تساوي عدد العناصر، لكنه لا يثبت بقاء معنى الأمثلة أو القنوات أو الخطوات الزمنية صحيحاً.

تحول الطبقة الكثيفة محور السمات

عندما تمثل الصفوف المشاهدات، تحسب الطبقة الكثيفة Y = XW + b. إذا كان شكل X هو (B, F)، وشكل W هو (F, H)، ويحتوي b على H عناصر، كان شكل Y هو (B, H). تستخدم كل مشاهدة المعاملات نفسها؛ لذا يغير تكبير B مقدار الحساب وتخزين التنشيطات، ولا يغير عدد المعاملات. يوضح العدد FH + H هذا الفرق. قد تستخدم مراجع أخرى ترتيباً مختلفاً أو تخزن مصفوفة الأوزان منقولة، وتظل الصيغة صحيحة عند اتساق الاصطلاح. حدد محور السمات الذي يجري الجمع عليه ومحور المشاهدات الذي يبقى في الناتج قبل كتابة العملية.

احسب مروراً أمامياً صغيراً وكاملاً

يعامل البرنامج الأول قائمتين بوصفهما مشاهدتين، ويضرب كل واحدة في مصفوفة مشتركة. تبين الحلقات أي فهرس يجمع وأي فهرس يبقى وأين يضاف الانحياز. ترفض عبارة التحقق مشاهدة ناقصة السمات بدلاً من السماح لعملية مثل zip باقتطاعها بصمت. الحلقات مناسبة لإظهار الحساب في هذا المثال، وليست توصية لتنفيذ الأحمال العددية الكبيرة. افحص العنصر الأول يدوياً: واحد في واحد، زائد اثنين في ثلاثة، زائد واحد، يساوي ثمانية. يمنح هذا الفحص دليلاً مستقلاً على صحة الحساب واتجاه المصفوفة.

python حساب حتمي بالمكتبة القياسية
X = [[1, 2], [3, 4]]
W = [[1, 0], [3, 2]]
b = [1, -1]
assert all(len(row) == len(W) for row in X)
Y = [[sum(row[k] * W[k][j] for k in range(2)) + b[j]
      for j in range(2)] for row in X]
print(Y)
print("parameters", sum(map(len, W)) + len(b))
الناتج المتوقع
[[8, 3], [16, 7]]
parameters 6

تبقى الصفوف مشاهدات مستقلة، وتشترك سمتا الخرج في ستة معاملات عددية قابلة للتعلم.

يجب أن يحافظ الاختزال على المقارنة المقصودة

يجمع الاختزال عناصر محور باستخدام المجموع أو المتوسط أو قاعدة أخرى. يعطي متوسط السمات عبر الدفعة إحصاء لكل سمة، بينما يعطي المتوسط عبر السمات إحصاء لكل مشاهدة. لا تتكافأ العمليتان حتى لو أعادتا العدد نفسه من القيم في حالة خاصة. يستخدم المثال الثاني دفعة غير مربعة كي يظهر النقل العرضي بوضوح. افحص الشكل وبعض القيم المعروفة بعد تكديس البيانات أو حشوها أو تسطيحها أو نقل محاورها. قد تخفي مصفوفة اختبار مربعة خطأ المحور لأن أبعادها تظل متوافقة بعد النقل الخاطئ.

python حساب حتمي بالمكتبة القياسية
batch = [[1, 10], [3, 30], [5, 50]]
feature_means = [sum(row[j] for row in batch) / len(batch) for j in range(2)]
row_means = [sum(row) / len(row) for row in batch]
print(feature_means)
print(row_means)
الناتج المتوقع
[3.0, 30.0]
[5.5, 16.5, 27.5]

يختلف متوسطا السمات في المعنى والطول عن المتوسطات الثلاثة الخاصة بالمشاهدات.

تحقق من العقود قبل تحسين التنفيذ

تضيف مكتبات الموترات البث التلقائي والتخزين المتخصص والتفاضل التلقائي والتنفيذ على أجهزة مختلفة. لا تلغي هذه المزايا ضرورة توضيح دلالات المحاور. فقد يؤدي بث متجه الأهداف مقابل عمود التنبؤات إلى فروق بين جميع الأزواج بدلاً من فرق واحد لكل مثال. سجل الأشكال المتوقعة عند حدود البيانات والطبقة والخسارة والمقياس. احتفظ بمعرّف خارج موتر السمات لتدقيق التصفية والخلط. تثبت أمثلة المكتبة القياسية هنا صحة الفهرسة والحساب فقط؛ وتشرح مساقات الأطر اللاحقة واجهات الموترات ومحملات البيانات والأجهزة والحفظ ضمن افتراضات تنفيذ مستقلة.

الأخطاء الشائعة وإصلاحها

ظهر محور إضافي غير متوقع في الخسارة

لماذا يحدث؟
أنتج بث عمود التنبؤ ومتجه الهدف مقارنات بين الأزواج.
كيف تصلحه؟
وحّد شكليهما وفق عقد الأمثلة قبل الطرح.
كيف تتجنب تكراره؟
افحص شكل الخسارة قبل الاختزال باستخدام دفعة غير مربعة.

بدت إعادة التشكيل وكأنها تصلح التدريب

لماذا يحدث؟
فُحص عدد العناصر فقط فتغير معنى المحاور.
كيف تصلحه؟
تتبع التخطيط الأصلي واستخدم تبديل محاور مقصوداً عند الحاجة.
كيف تتجنب تكراره؟
وثق المحاور وافحص قيماً مميزة معروفة.

يزداد عدد معاملات الطبقة عند تكبير الدفعة

لماذا يحدث؟
اختلط تخزين التنشيطات بأوزان النموذج المشتركة.
كيف تصلحه؟
احسب أوزان السمات والانحيازات بصورة مستقلة عن الأمثلة.
كيف تتجنب تكراره؟
وثق حجم المعاملات وحجم التنشيطات كلّاً على حدة.

اختبر فهمك

1. إذا كان B=4 وF=3 وH=2، فما أشكال المدخل والوزن والانحياز والخرج وعدد المعاملات؟

اعرض الحل المشروح

الأشكال هي (4,3) و(3,2) و(2,) و(4,2). عدد المعاملات يساوي ثلاثة في اثنين زائد اثنين، أي ثمانية. تعيد المشاهدات الأربع استخدام المعاملات نفسها؛ وإذا أصبحت المشاهدات ثماني كان شكل الخرج (8,2) وبقي عدد المعاملات ثمانية.

2. صمم مثالاً يكشف تبديل محوري الدفعة والسمات خطأً.

اعرض الحل المشروح

استخدم ثلاث مشاهدات بسمتين تختلف مقاييسهما بوضوح، كما في برنامج الاختزال. افحص متوسطَي السمات والمتوسطات الثلاثة للمشاهدات بصورة منفصلة. يغير النقل الأطوال والقيم المتوقعة، بينما يكون الاقتصار على فحص شكل مربع أضعف.

أهم ما تعلمته

  • يحدد الشكل الأطوال ويحدد العقد المعنى.
  • تشترك صفوف الدفعة في معاملات الطبقة الكثيفة.
  • افحص الخسارة قبل الاختزال وأمثلة غير مربعة.

المراجع الرسمية