import torch# Create tensors with gradient tracking enabledx = torch.tensor(2.0, requires_grad=True)w = torch.tensor(3.0, requires_grad=True)b = torch.tensor(1.0, requires_grad=True)# Build a simple equation: y = w*x + by = w * x + bprint(y)# Output: tensor(7., grad_fn=<AddBackward0>)# Compute gradients automaticallyy.backward()# Gradient of y with respect to each variableprint(x.grad) # dy/dx = w = 3.0print(w.grad) # dy/dw = x = 2.0print(b.grad) # dy/db = 1.0
نقوم بتمرير البيانات عبر النموذج للحصول على التنبؤات .
حساب الخطأ - Loss Function
نقارن التنبؤات بالقيم الحقيقية لمعرفة مدى دقة النموذج , وكلما كان الخطأ أصغر كلما كان النموذج أفضل في الأداء .
تصفير المشتقات - zero_grad
خطوة مهمة جداً , لأن باي تورش يقوم بتراكم المشتقات بشكل افتراضي , فإذا لم نقم بتصفير المشتقات في كل دورة فإن المشتقات سيتم جمعها من الدورات السابقة ولا ينتج لدينا نتيجة صحيحة من خلال التدريب .
التمرير الخلفي - Backward Pass
من خلال استدعاء الدالة البرمجية في المكتبة :
loss.backward()
تقوم الدالة بحساب مشتقات دالة الخطأ بالنسبة لجميع الأوزان في الشبكة بشكل تلقائي .
تحديث الأوزان - Optimizer and Updating weights :
من خلال استدعاء الدالة :
optimizer.step()
يقوم بتحديث الأوزان باستخدام المشتقات المحسوبة والخوارزمية المختارة
هنا استخدمنا وهي خوارزمية الانحدار التدرجي العشوائي أو ماتعرف بـ :
هذا المقال الوحيد في المدونة الذي تم الإعتماد فيه على جزئية بسيطة جداً فقط على الذكاء الاصطناعي في الكتابة والشرح وأستخدمت أوبوس من النموذج اللغوي الشهير كلود , أيضاً للتعليم الشخصي والتجارب الخاصة في مكتبة باي تورش.