أهلا ومرحبا بكم في هذا البرنامج التعليمي.
حسنا.
لذلك سنبدأ بالملف الأول لنموذجنا والملف الأكثر أهمية الذي تم تصميمه على
نموذج PI.
وفي هذا الملف سنقوم بتنفيذ دماغ النموذج بأكمله ، كما تعلمون ، الدماغ
في قلب نموذج a3c.
هذا في هذا الملف هو أننا سنصنع الشبكة العصبية ، والتي ستحتوي بالطبع على بعض الشبكات العصبية
التلافيفية ، لأننا بالطبع ما زلنا نقوم ببعض التعلم التعزيزي العميق.
لذا فإن الذكاء الاصطناعي الخاص بنا سيظل له أعين.
وداخل هذه الشبكة العصبية ، سنقوم بدمج كل ما يتعلق بنموذج الناقد النشط.
وهناك مكافأة.
كما أخبرتك ، نحن ننفذ واحدًا من أقوى ثلاثة موديلات C.
وما يجعلها قوية أنها ستحتوي على سجل للشبكة العصبية وبشكل أكثر دقة في الذاكرة
طويلة المدى وقصيرة المدى ، حتى نتمكن من معرفة الخصائص الزمنية لما يحدث في اللعبة.
هذا هو في الواقع الخصائص الزمنية للمدخلات بحيث يمكن أن تكون التنبؤات أفضل.
لذا ها نحن ذا.
نحن ننفذ نموذجًا قويًا للغاية يجمع بشكل أساسي جميع الشبكات العصبية التي رأيناها في دورة
التعلم العميق.
هذه شبكة عصبية اصطناعية وشبكة عصبية تلافيفية وشبكة عصبية متكررة.
وفي قلب كل هذه الشبكات ، يوجد بالطبع نموذج a3c الذي سيجعل الذكاء الاصطناعي
قويًا للغاية.
لذلك دعونا نفعل هذا.
دعونا نهاجم هذا النموذج ونطبقه.
لذلك سنبدأ بعمل وظيفتين ما هما إلا بعض الوظائف التي ستهتم بكيفية تهيئة الأوزان
لأننا سنمتلك بعض الشبكات العصبية ، وبالتالي سيكون لدينا
أوزان.
ونريد فقط أن نجعل هاتين الوظيفتين أولاً حتى يكون لدينا بالفعل أداة للتكامل بسهولة
داخل النموذج بأكمله ، الشبكة العصبية.
لذلك فإن هاتين الوظيفتين ستتم تهيئتهما في الأعمدة العادية.
هذه في الأساس وظيفة لا يمكنها فقط تهيئة بعض الأوزان ولكن أيضًا تعيين تباين معين لموتّر
الأوزان.
هذا هو بالضبط ما نحن بصدد تنفيذه الآن.
وبعد ذلك سنقوم بتنفيذ وظيفة ثانية ، والتي ستكون الأوزان في وظيفة تكنولوجيا المعلومات
، والتي ستقوم أساسًا بتهيئة الأوزان بالطريقة المثلى للتعلم.
حسنا.
وبعد ذلك بمجرد أن ننتهي من هاتين الوظيفتين ، سنبدأ في تنفيذ الشبكة العصبية.
لنفعلها اذا.
دعنا نجعل هاتين الوظيفتين بسرعة.
لذلك أنا أبدأ مع مواطنه هنا.
ثم سأعطي اسم هذه الوظيفة التي تم تسويتها.
تسطير أسفل الأعمدة ، تسطير أسفل السطر ، قم بتهيئتها.
هناك نذهب.
وستأخذ هذه الدالة مدخلين فقط.
الأول سيكون الأوزان التي نريد تهيئتها والانحراف المعياري ، لأنه كما قلت للتو ،
نريد تعيين تباين محدد لأوزان الموتر الخاصة بنا.
وإذا كنت تريد أن تفهم لماذا يتعين علينا القيام بذلك ، فذلك لأنه ، كما تعلمون ، عندما
نصنع الشبكة العصبية ، سيكون هناك الممثل والناقد وفقًا لنموذج C الثلاثة ، وسنقوم بعمل اثنين منفصلين
ومتصلين تمامًا طبقات ، واحدة للممثل وواحدة للناقد.
وهاتان الطبقتان المتصلتان بالكامل سيكون لهما أوزان ، وسنضع انحرافًا معياريًا لكل مجموعة من هاتين
المجموعتين من الأوزان.
وما سنفعله هو أننا سنضع انحرافًا معياريًا صغيرًا للممثل.
سيكون حوالي 0. 01 وانحراف معياري كبير للناقد ، والذي سيكون حول واحد ، على ما أعتقد.
لهذا السبب نجعل هذه الوظيفة ، حتى نتمكن بسهولة من تحديد الانحراف المعياري للأوزان
التي سنبدأها لاحقًا للممثل والناقد.
لهذا السبب نقوم بذلك.
لذا سنقوم الآن بتعيين قيمة افتراضية ، لكن هذا سيتغير بعد ذلك عندما نبدأ الأوزان.
لذلك دعونا نختار ذلك لـ 1. 0.
حسنا.
والآن نحن جاهزون لتحديد ما بداخل هذه الوظيفة.
إذن ما سنعده أولًا هو الناتج الذي سنقوم باستدعاؤه.
لذا فإن متغير الإخراج هذا هو ما ستُعيده هذه الدالة.
وهكذا أولاً ، ما سنفعله هو تهيئته.
كما فهمت ، سيكون هذا الناتج موترًا للوزن سيكون له انحراف معياري محدد.
لكن قبل أن نعتني بتعيين الانحراف المعياري ، نريد فقط تهيئته ثم سنقوم بتعيين
الانحراف المعياري هنا ، وهو الحجة التي تمثل مدخلات هذه الوظيفة.
لذلك ، في تهيئة أوزانه الحساسة ، قد تعرف كيفية القيام بذلك.
لقد فعلنا ذلك بالفعل.
سنستخدم مكتبة الشعلة الخاصة بنا ومن مكتبة التخزين سنأخذ وظيفة Rand M التي ستهيئ موتر
الشعلة بأوزان عشوائية تتبع التوزيع الطبيعي.
لهذا السبب يطلق عليه Run NW وهو طبيعي.
والآن ، ما نحتاجه ببساطة هو إدخال عدد العناصر التي سيحتويها هذا الموتر.
وهذا العدد من العناصر هو بالطبع عدد الأوزان لأننا نقوم بالفعل بتهيئة موتر
لهذه الأوزان هنا.
ومن أجل الحصول على هذا العدد من العناصر ، يمكننا ببساطة أخذ أوزاننا.
وأضف نقطة للحصول على الحجم بالأقواس.
وهذا سيعطي عدد العناصر في الأوزان بحيث يتم إنشاء موتر شعلة بنفس عدد العناصر لجميع
الأوزان ، وسيتم تهيئته بأوزان عشوائية بعد التوزيع الطبيعي.
حسنا.
والآن حان الوقت لضبط الانحراف المعياري الذي نريده.
هذا هو الانحراف المعياري هنا.
إذن ما سنفعله الآن هو تطبيع بسيط.
لدينا موتر شعلة من الأوزان والآن نريد تطبيعه.
ولتطبيعه ، سنكتب ببساطة الحساب الصريح.
وبالتالي ، ما علينا فعله هنا هو أخذ الناتج ، ثم تحديثه بضربه في الانحراف المعياري
الذي نريد قسمة الناتج على المجموع الذي ذكرته للتو.
ومن أجل الحصول على هذا المجموع ، سنستخدم دالة الجذر التربيعي بالشعلة.
وهذا ما أتناوله هنا تجاه هذا الانحراف أو DT وهو دالة الجذر التربيعي.
وفي الداخل سنقوم بإدخال الجذر التربيعي ، بعض أوزان المتجه.
وهكذا نأخذ الناتج ، ثم نستخدم دالة القوة التي أدخلناها لأننا نريد أن نأخذ
مربع المجموع.
ثم نأخذ المجموع.
وفي الداخل سنقوم بتحديد فهرس العمود الذي يحتوي على الوزن المطلوب جمعه.
ثم الحصول على هذه الأوزان بشكل منفصل لأننا نريد جمعها جيدًا.
نستخدم التوسيع على الدرجة كدالة لمخرجاتنا.
حسنا.
سيحصل هذا على أوزان alt ، والتي تمت تهيئتها حتى الآن كأوزان حساسة للمس.
حتى تحصل على كل هذه الأوزان.
نأخذ مجموع التربيع ثم نأخذ الجذر التربيعي لتطبيق التسوية.
وحقيقة أن لدينا هذا الانحراف المعياري عند البسط ستضمن أنه يمكننا كتابته
هنا.
سيكون تباين القيم البديلة مساويًا لمربع الانحراف المعياري.
ستضمن هذه الصيغة هنا أن موتر الأوزان الذي قمنا بتهيئته سيكون له تباين يساوي
مربع الانحراف المعياري الذي ندخله كوسيطات.
وهذه هي الطريقة التي يمكننا بها وضع انحراف معياري محدد للممثل والناقد المستقبلي الذي سنقوم به
قريبًا.
وسنختار انحرافًا معياريًا صغيرًا للممثل وانحرافًا كبيرًا للناقد.
وسنفعل ذلك بسهولة بالغة بفضل هذه الوظيفة.
حسنا.
والآن لدينا شيء واحد فقط لنفعله.
ترك الأمر ، بالطبع ، لإرجاع الإخراج الذي تم تطبيعه الآن مع هذا الانحراف المعياري المحدد.
حسنا.
مثالي جدا.
هذه هي الوظيفة الأولى التي كان علينا القيام بها.
هذه هي الأداة الأولى التي سنكون سعداء جدًا لاستخدامها في صنع عقل ثلاثي الأبعاد.
لدينا الآن وظيفة أخرى.
ستكون الأوزان في هذه الوظيفة ، وهذه مجرد وظيفة سأذكرها بتهيئة الأوزان
لجعل التعلم مثاليًا.
لذلك دعونا نفعل هذا في البرنامج التعليمي التالي.
وحتى ذلك الحين ، استمتع.
أنا.