WEBVTT

00:00.330 --> 00:04.950
مرحبًا ومرحبًا بكم في هذا البرنامج التعليمي ، وهو برنامج تعليمي نهائي تقريبًا لهذه الوحدة.

00:04.950 --> 00:10.200
سأشرح فقط الكود الرئيسي الذي سينفذ الأمر برمته قبل أن نحصل على النتائج المثيرة

00:10.200 --> 00:11.870
ونشاهد مقاطع الفيديو.

00:11.880 --> 00:15.690
إذن هذا هو الكود الرئيسي وكما ترى ، هذا قصير جدًا.

00:15.690 --> 00:21.060
نبدأ باستيراد المكتبات والوحدات النمطية وأيضًا الفئات والوظائف المختلفة التي

00:21.060 --> 00:27.450
أنشأناها مثل الناقد النشط من ملف النموذج الخاص بنا ووظيفة القطار من ملف القطار ووظيفة الاختبار

00:27.450 --> 00:28.680
من ملف الاختبار.

00:28.680 --> 00:31.200
وبالطبع نقوم باستيراد المحسن الخاص بنا.

00:31.710 --> 00:39.510
ثم نبدأ بالقسم الأول الذي ندخل فيه إلى فصل دراسي ، كل المعلمات وهذه هي المعلمات.

00:39.510 --> 00:46.440
تذكر ، هذا هو كائن المعلمات الذي أنشأناه من فئة البارامترات هذه في كل مرة حصلنا فيها على متغير

00:46.440 --> 00:48.720
مثل معدل التعلم أو جاما أو تاو.

00:48.930 --> 00:50.610
لذلك دعونا نراجعهم بسرعة.

00:50.610 --> 00:54.270
هذا أول واحد R هنا هو معدل التعلم.

00:54.270 --> 00:56.610
لذا كما ترون ، نختار معدل تعليمي صغير.

00:56.820 --> 00:59.010
الثاني هو معلمة جاما.

00:59.010 --> 01:01.920
مرة أخرى ، نعتبرها 8. 99.

01:01.920 --> 01:10.620
نأخذ معلمة من نوع واحد ، مجموعة من 116 عملية ، 20 خطوة ، بحد أقصى 10000.

01:10.620 --> 01:12.210
تذكر أننا تحدثنا عن ذلك.

01:12.330 --> 01:18.870
هذه هي المعلمة التي حددناها للتأكد من أن الوكيل لا يعلق إلى أجل غير مسمى في حالة البيئة.

01:18.870 --> 01:24.630
لذلك سيؤدي هذا إلى إيقاف اللعبة إذا تجاوز طول الحلقة الحد الأقصى لطول الحلقة.

01:24.750 --> 01:30.780
وفي النهاية بالطبع ، نحصل على اسم بيئتنا ، ونكسر الصفر.

01:30.780 --> 01:37.710
وبالمناسبة ، يمكنك أيضًا اللعب في بعض البيئات الأخرى فقط عن طريق تغيير اسم البيئة

01:37.710 --> 01:38.130
هنا.

01:38.130 --> 01:43.800
لذا إذا كنت ترغب في اللعب مع بعض الإصدارات الأخرى أو حتى بعض ألعاب Atari الأخرى ، حسنًا ،

01:43.800 --> 01:50.670
يمكنك ببساطة استبدال هذا الاختراق البصري هنا ببعض الألعاب الأخرى ، لكن يمكنني أن أخبرك أن الفيديو الاختراق

01:50.670 --> 01:52.890
يمثل بالفعل تحديًا كبيرًا.

01:53.580 --> 01:53.910
حسنا.

01:53.910 --> 01:59.250
لذا فإن جميع المعلمات هنا ثم هناك الكود الرئيسي للتشغيل الرئيسي.

01:59.250 --> 02:02.610
والآن ، دعونا نرى ما سنفعله في هذا السطر الأول.

02:02.610 --> 02:05.100
وضعنا خيطًا واحدًا لكل نواة.

02:05.130 --> 02:12.540
ثم في السطر الثاني نحصل على جميع المعلمات الخاصة بنا عن طريق إنشاء كائن من فئة params والتي

02:12.540 --> 02:13.950
ستتم تهيئتها.

02:13.980 --> 02:19.380
كل هذه المعلمات هنا لأن هناك متغيرات مرتبطة بكائن المعلمة هذا.

02:19.380 --> 02:27.630
ثم نضع البذرة ، ثم نحصل على بيئتنا باستخدام إدخال الإنشاء والوظيفة مع اسم بيئتنا

02:27.630 --> 02:29.910
الخارجة من الصفر.

02:29.910 --> 02:35.100
ترى هذا الاسم env وبالتالي فإن المعلمات التي تحمل اسم env تنفجر مع الصفر.

02:35.100 --> 02:37.650
لذلك سيوفر لنا ذلك بيئة الاختراق.

02:37.650 --> 02:42.540
وبالمناسبة ، ليست هذه هي الطريقة المعتادة لإنشاء بيئة ، ولكن ،

02:42.540 --> 02:49.740
كما تعلمون ، لتحسين العملية برمتها وتحسين الأداء أثناء استخدامنا هذا لإنشاء بيئة محسّنة بالفعل

02:49.740 --> 02:52.560
، وهذا ما نقوم به بفضل الكون.

02:52.560 --> 02:57.150
Universe عبارة عن حزمة تأتي مع جميع الحزم التي قمت بتثبيتها في الهواء الطلق.

02:57.630 --> 03:01.380
حسنًا ، بفضل Universe ، نحصل على بيئة مُحسَّنة.

03:01.380 --> 03:03.240
هذا هو كل شيء هنا.

03:03.860 --> 03:09.050
ثم نحصل على نموذجنا المشترك من خلال إنشاء كائن من فئة الناقد النشط.

03:09.050 --> 03:14.990
ومن المهم هنا أن نفهم أن هذا النموذج المشترك هو النموذج المشترك بين الوكلاء المختلفين.

03:14.990 --> 03:17.690
لذلك لدينا خيوط مختلفة في نوى مختلفة.

03:17.990 --> 03:25.370
وبالحديث عن الخيوط في السطر التالي هنا ، النموذج المشترك الذي يشترك في الذاكرة ، ما نقوم به هو تخزين النموذج

03:25.370 --> 03:31.220
في الذاكرة المشتركة للكمبيوتر بحيث يمكن لجميع الخيوط الوصول إليها ، حتى لو كانت

03:31.220 --> 03:32.780
في نوى مختلفة.

03:32.780 --> 03:34.400
هذا ما نفعله هنا.

03:34.400 --> 03:36.440
هذا هو تمكين هذا.

03:36.620 --> 03:43.670
ثم نربط المُحسِّن الخاص بنا بمعلمات نموذجنا المشترك وبمعدل تعلم

03:43.670 --> 03:45.440
يبلغ 0. 01.

03:45.650 --> 03:50.870
ومرة أخرى ، من المهم أن نفهم أن المُحسِّن مشترك أيضًا لأنه سيعمل على النموذج

03:50.870 --> 03:55.940
المشترك ونفس الشيء في السطر التالي يحسن مشاركة الذاكرة.

03:55.940 --> 04:02.330
نقوم بتخزين المُحسِّن في الذاكرة المشتركة حتى يتمكن جميع الوكلاء من الوصول إليه لتحسين النموذج.

04:02.720 --> 04:10.190
ثم نقوم بتهيئة عملياتنا حتى لا تقوم عملية الاختبار بتحديث النموذج المشترك ، ولكنها تستخدمه فقط لتجربته

04:10.190 --> 04:14.660
على جزء واحد وطباعة النتيجة وتسجيل مقاطع الفيديو.

04:14.660 --> 04:17.720
هذا هو بالضبط ما يتم القيام به هنا باستخدام اختبار Target Equals.

04:17.720 --> 04:24.230
هذه هي عملية الاختبار وهذه العملية هنا تنتقل من مرحلة المعالجة المتعددة.

04:24.230 --> 04:31.490
إذن هنا وما يفعله هو أنه يدير وظيفة في سلسلة رسائل مستقلة.

04:31.580 --> 04:38.060
إذن ، عندما نبدأ P ، نبدأ عملية جديدة والتي تمت تهيئتها هنا عند هذا السطر.

04:38.060 --> 04:44.990
ثم بهذه العملية التي تلحق P ، نضيف العملية في قائمة العمليات.

04:44.990 --> 04:52.190
وأخيرًا في هذه الحلقة هنا ، نقوم فقط بعمل حلقة لتشغيل جميع العمليات الأخرى التي سيتم تدريبها من خلال

04:52.190 --> 04:54.230
تحديث النموذج المشترك.

04:54.470 --> 04:57.860
وهذا ما يحدث أساسًا في الأسطر الأخيرة من التعليمات البرمجية هنا.

04:58.130 --> 05:03.350
لذلك إذا كنت لا ترغب في الدخول في تفاصيلها ، فالشيء المهم الذي يجب فهمه هو أن هذا سيؤدي

05:03.350 --> 05:09.230
إلى تشغيل العمليات بالطريقة المثلى ، وبالتالي يجب علينا جميعًا أن نكون جيدين في تنفيذ هذا الرمز

05:09.230 --> 05:12.530
والحصول على نموذج مدرب وفي النهاية شاهد النتائج.

05:12.530 --> 05:14.060
لذلك لا أطيق الانتظار لفعل ذلك.

05:14.060 --> 05:15.830
سيكون هذا مثيرًا جدًا.

05:15.830 --> 05:19.130
سأحاول أن أجد دورًا رئيسيًا الآن حتى نتمكن جميعًا من مشاهدته معًا.

05:19.130 --> 05:21.560
وهكذا حتى في المرة القادمة ، استمتع بـ i.
