مرحبًا ومرحبًا بكم في برنامج Python التعليمي هذا.
حسنًا ، لقد قمنا للتو ببناء بنية الشبكة العصبية بوظيفة init الخاصة بفئة الشبكة الخاصة
بنا ، وسنقوم الآن بعمل وظيفة ثانية ، والتي ستكون وظيفة الأمام.
وهذه هي الوظيفة التي ستنشط الخلايا العصبية.
أي أنها الوظيفة التي ستقوم بالانتشار الأمامي.
لذلك دعونا نفعل هذا.
لنجعل هذه الوظيفة ، دعنا نسميها إلى الأمام ، كما قلنا للتو.
وستأخذ هذه الوظيفة حجتين.
الأول هو ، كالعادة ، الذات ، كما تعلم ، لتكون قادرًا على استخدام متغيرات الكائن
لأننا سنستخدم FC واحد و FC 2.
لذلك نحن بحاجة إلى الذات.
لتتمكن من استخدام هذه المتغيرات.
ومن ثم سنحتاج إلى حجة ثانية ، وهي مدخلاتنا ، وسنسميها الحالة لأن الحالة
هي بالضبط مدخلات شبكاتنا العصبية.
هذه هي الحالات التي هي المدخلات التي تدخل الشبكة العصبية.
وبعد ذلك ، كمخرجات ، سيكون لدينا قيم الإشارة التي تشير إلى أن الإجراءات الثلاثة الممكنة تتحرك يسارًا أو مستقيمًا
أو يمينًا.
لكننا لسنا بحاجة إلى إدخاله كحجة هنا لأن هذا هو بالضبط ما نريد العودة إليه.
لذلك لن تقوم وظيفة التوجيه هذه بتنشيط الخلايا العصبية فحسب ، بل ستعيد أيضًا في الغالب
قيم التلميح لكل إجراء محتمل اعتمادًا على حالة الإدخال هنا.
حسنًا ، هذه هي الحجتان اللتان نحتاجهما.
والآن دعنا ننتقل إلى داخل الدالة ونحدد ما نريده أن يفعله.
تمام.
لذا فإن أول شيء سنفعله هو تنشيط الخلايا العصبية المخفية وسنقوم باستدعاء الخلايا العصبية
المخفية بواسطة المتغير X.
إذن X تمثل الخلايا العصبية المخفية.
فكيف سنقوم بتنشيطها؟
حسنًا ، بالطبع ، سنأخذ الخلايا العصبية المدخلة.
سنستخدم أول اتصال كامل باتصال FC للحصول على الخلايا العصبية المخفية ، ثم سنقوم
بتطبيق وظيفة تنشيط عليها ، والتي ستكون وظيفة المعدل.
إذن كيف سنفعل ذلك؟
تذكر أننا قمنا باستيراد الوحدة الوظيفية torch dot net dot التي تحتوي على جميع الوظائف في PyTorch لتنفيذ
شبكة عصبية وأعطيناها الاختصار.
F في الواقع ، ما سنفعله الآن هو أننا سنستخدم إحدى هذه الوظائف من الوحدة الوظيفية
وهذه الوظيفة هي الوظيفة الحقيقية.
إذن ما هي القيمة؟
القيمة هي وظيفة المعدل التي رأيتها في محاضرات الحدس.
هذا مجرد الاسم الذي يطلق على وظيفة المعدل.
ولكن بما أن هذه الوظيفة مأخوذة من دالة في تلك الوظيفة التي أعطيت الاختصار f ، فنحن
بحاجة إلى كتابة f نقطة أولاً ، ومن ثم يمكننا أخذ هذه الوظيفة.
وفي الواقع ، إذا قمت بكتابة r e ، فهنا نبدأ ، لدينا دالة القيمة.
هذه هي وظيفة المعدل التي ستنشط الخلايا العصبية المخفية وهي X.
إذن في دالة القيمة هذه ، نفهم الآن تمامًا ما يتعين علينا إدخاله.
هذه هي الخلايا العصبية التي نريد تنشيطها ، تلك هي الخلايا العصبية المخفية.
ومن أجل الحصول على هذه الخلايا العصبية المخفية ، سنأخذ أول اتصال كامل لنا.
FC One الذي سنطبقه على الخلايا العصبية المدخلة للانتقال من الخلايا العصبية المدخلة إلى الخلايا العصبية المخفية.
لذلك لنأخذ أول اتصال كامل.
FC one لكن أول اتصال كامل لدينا هو متغير من موضوعنا.
لذلك علينا أن نكتب هنا أول نقطة ذاتية FC واحدة هنا.
هذا هو أول اتصال كامل لشبكتنا العصبية.
وداخل هذا الاتصال الأول ، سنقوم بإدخال حالات الإدخال الخاصة بنا للانتقال من الخلايا العصبية المدخلة إلى الخلايا
العصبية المخفية.
وبما أننا أعطيناها حالة الاسم ، حسنًا هنا علينا إدخال الحالة وهناك نذهب.
نحصل الآن على تنشيط الخلايا العصبية المخفية.
حسنا.
والآن بعد أن أصبح لدينا الخلايا العصبية المخفية ، سنعيد الخلايا العصبية الناتجة.
إذن السطر التالي وكما فهمت ، تتوافق الخلايا العصبية الناتجة مع أفعالنا.
لكن هذه ليست الأفعال مباشرة.
هذه هي قيم Q ، لأننا نبني نموذج التعلم العميق الذي يجمع بين نموذج التعلم العميق
لمواصلة التعلم.
وبالتالي ، فإننا نستخدم التعلم الأساسي هنا للحصول على قيم Q لكل إجراء من أعمالنا.
وبعد ذلك باستخدام soft max أو ARG max ، سنحصل على الإجراء النهائي.
إذن هنا المتغير الذي أنا بصدد تقديمه سوف يتوافق مع الخلايا العصبية الناتجة.
وبما أن الخلايا العصبية الناتجة هي قيم Q ، حسنًا ، سأطلق على هذا المتغير قيم Q.
هناك نذهب.
إذن قيم جديلة والآن نأخذ مباشرة اتصالنا الكامل ، وهو المتغير.
FC two لكن متغير من كائننا.
لذلك نحن نأخذ الذات هنا.
FC two وبالطبع هنا نقوم بإدخال الخلايا العصبية في الجانب الأيسر من هذا الاتصال.
هذا ما حصلنا عليه من السطر الأول ، وهو x.
إذن X ، ها نحن ذا.
نحصل الآن على قيم Q الخاصة بنا.
هذه هي الخلايا العصبية الناتجة من شبكتنا العصبية.
ثم السطر الأخير من الرموز.
بالطبع ، تُستخدم هذه الوظيفة الرابعة لإرجاع قيم Q هذه ، لذلك علينا فقط إضافة
إرجاع و Q ببساطة.
القيم والتي ستعيد قيم Q لكل إجراء محتمل.
إتجه يسارا ، إذهب مباشرة أو إتجه يمينا.
حسنًا ، تهانينا.
لقد انتهينا من صفنا الأول.
وفي الواقع ، انتهينا من صنع بنية الشبكة العصبية.
تذكر ، هذه ليست وظيفة منتهية.
يمكنك دائمًا تحسين بنية الشبكة العصبية من خلال تجربة شبكات مختلفة.
لذلك لا تتردد في القيام بذلك عن طريق إضافة المزيد من الخلايا العصبية هنا.
على سبيل المثال ، إذا كنت تريد إضافة 50 خلية عصبية مخفية ، يمكنك فقط استبدال
30 هنا و 30 هنا بـ 50 و 50 و 50.
وبعد ذلك يمكنك إضافة المزيد من الطبقات المخفية عن طريق إجراء بعض الاتصالات الكاملة الجديدة.
حسنًا ، هذه حقًا وظيفة الفنان.
لا توجد قاعدة عامة لما يمكن أن يكون أفضل تصميم معماري في كل موقف.
لهذا السبب علينا أن نجرب.
لكن دعونا نجرب ذلك بالفعل.
سترى أننا سنحصل في النهاية على سيارة ذاتية القيادة جيدة جدًا.
حسنا.
والآن سنحضر الفصل التالي ، وهو عبارة عن إعادة التجربة.
وسوف نقوم بذلك في الدروس الثلاثة القادمة.
حتى ذلك الحين ، استمتع.
أنا.