WEBVTT

00:00.210 --> 00:06.870
مرحبًا ومرحبًا بكم في الوحدة الثالثة من الخطاب ، قانون A3 C غير المتزامن لنقد الوكيل.

00:06.870 --> 00:11.760
والآن يمكنني حقًا أن أقول مرحبًا بكم في أحدث تقنيات التعلم الآلي.

00:11.910 --> 00:16.500
حسنًا ، في ذلك الوقت أقول هذا لأنه ربما سيأخذ بعضكم الدورة في غضون عام أو عامين.

00:16.500 --> 00:23.070
لكن في الوقت الذي أقول فيه هذا في عام 2017 ، بينما أنت على وشك العمل على واحد من أقوى النماذج في

00:23.070 --> 00:28.530
الذكاء الاصطناعي ، ولكن هناك المزيد ليس الشيء الوحيد المميز في هذه الوحدة.

00:28.560 --> 00:34.620
لسنا فقط على وشك العمل مع أقوى نموذج ذكاء اصطناعي ، ولكننا سنقوم بتنفيذ أقوى إصدار

00:34.620 --> 00:42.180
من هذه الخوارزمية وهو الإصدار الأكثر تحسينًا ، والإصدار المطبق من نموذج a3c ، لأنه يمكنك أن تتخيل وجود

00:42.180 --> 00:47.550
القلب من خوارزمية C الثلاثة ، ولكن هناك الكثير من الأدوات التي يمكننا استخدامها

00:47.550 --> 00:50.730
لتحسين النموذج بأكمله.

00:50.730 --> 00:55.650
وبالتالي لن يكون لديك جوهر الخوارزمية فحسب ، بل ستنفذ أيضًا كل

00:55.650 --> 00:59.340
هذه الأدوات حولها لجعل النموذج فائق القوة.

00:59.340 --> 01:01.380
ولماذا أردت أن أفعل ذلك؟

01:01.380 --> 01:02.900
حسنًا ، هذا لسببين.

01:02.910 --> 01:06.090
السبب الأول هو أننا نقترب من نهاية هذه الدورة.

01:06.090 --> 01:11.550
هذه الدورة هي أعلى مستوى بين الدورات الثلاث ML و DL و AI و Z.

01:11.550 --> 01:14.160
لذا أعتقد الآن أنك جاهز للانتقال إلى المستوى التالي.

01:14.160 --> 01:18.900
والسبب الثاني هو أن حل الاختراق يمثل تحديًا كبيرًا في الواقع.

01:18.930 --> 01:24.210
تذكر في الفيديو الترويجي ، أننا أردنا وضع Breakout كوحدة نمطية أولى لأننا اعتقدنا أنه سيكون

01:24.210 --> 01:26.490
التحدي الأسهل ، ولكن ليس على الإطلاق.

01:26.490 --> 01:28.680
كان في الواقع التحدي الأصعب.

01:28.710 --> 01:35.460
طريقة سهلة لشرح ذلك هي أن الوحوش كبيرة في العذاب وبالتالي يسهل اكتشافها وبالتالي

01:35.460 --> 01:37.560
يسهل قتلها أو تجنبها.

01:37.560 --> 01:44.100
لكن في حالة الاختراق ، لدينا هذه الكرة الصغيرة التي يتعين على الذكاء الاصطناعي اكتشافها أيضًا ، لأن الذكاء الاصطناعي سيظل لديه

01:44.100 --> 01:44.850
أعين هنا.

01:44.850 --> 01:47.640
ما زلنا نقوم بالتعلم المعزز العميق.

01:47.640 --> 01:53.670
لذا فهو في الواقع صعب للغاية ولهذا السبب ليس لدينا حقًا خيار تنفيذ أقوى

01:53.670 --> 01:55.740
إصدار من الثلاثة C.

01:55.770 --> 01:58.980
الآن ، لماذا أقول أن هذا هو الإصدار الأقوى؟

01:58.980 --> 02:00.240
هذا لسبب معين.

02:00.240 --> 02:05.670
ليس الأمر كما لو أنني سأقوم بتنفيذ أقوى نسخة من الثلاثة سي الآن ليس

02:05.670 --> 02:06.330
هذا.

02:06.330 --> 02:11.490
السبب في قولي هذا هو أن الإصدار الذي كنا على وشك تنفيذه وهذا شيء

02:11.490 --> 02:18.030
خاص جدًا سنفعله ، هو في الواقع نسخة من C تم تنفيذها بواسطة شخص ما ولكن تم تصحيحها بواسطة

02:18.030 --> 02:24.300
أحد أكثر الأشخاص تأثيرًا في التعلم الآلي اليوم من هو مبتكر PyTorch.

02:24.600 --> 02:26.790
اسمه آدم باكر.

02:27.420 --> 02:33.120
إذن ما سنفعله الآن ، سنذهب إلى GitHub في صفحة PyTorch الرئيسية ، وإذا قمت بالتمرير

02:33.120 --> 02:40.560
لأسفل ، لأسفل حتى النهاية ، لأسفل إلى أسفل ، فسترى الفريق ، فريق PyTorch المبدعين والمساهمين.

02:40.560 --> 02:45.390
ويمكنك أن ترى هنا أن شركة PyTorch تتم صيانتها حاليًا بواسطة Adam Pascal.

02:45.420 --> 02:51.260
هذا هو الشخص الذي يجب أن نكون ممتنين له حقًا لأن هناك إصدارات قليلة جدًا من المفاتيح الثلاثة التي

02:51.270 --> 02:53.040
تعمل بشكل جيد مع Breakout.

02:53.040 --> 02:58.020
وقام بتصحيح أحد الرموز الخاصة بـ RC لجعل الاختراق يعمل بشكل جيد.

02:58.170 --> 03:03.450
لذا فإن آدم باسكال لا يقوم فقط بالحفاظ على PyTorch ، ولكنه أيضًا أحد المبدعين.

03:03.630 --> 03:07.980
وكما قلت اليوم ، فهو من بين العشرة الأوائل الأكثر تأثيراً في التعلم الآلي.

03:07.980 --> 03:13.440
لذلك يمكننا أن نشعر بالثقة في أن الإصدار الذي نحن على وشك تنفيذه هو على الأرجح أقوى إصدار

03:13.440 --> 03:14.670
من C الثلاثة اليوم.

03:14.970 --> 03:17.490
فما هو هذا التنفيذ؟

03:17.490 --> 03:22.900
حسنًا ، في الأصل يأتي من مطور يسمى Ilia Stoichkov.

03:22.920 --> 03:29.310
وكما ترون ، قام بتنفيذ PyTorch لـ a3c ، والذي لم يعمل في الأصل بشكل جيد للاختراق

03:29.310 --> 03:32.820
، ولكن بعد ذلك قام شخص ما بطلب السحب.

03:32.820 --> 03:38.670
إذا انتقلنا إلى طلب السحب هنا ، فيمكننا أن نرى في أقرب طلب ننتقل إليه ، فلدينا هذا

03:38.670 --> 03:40.950
، وهو حل أنظف لمشكلة التخرج.

03:40.950 --> 03:43.560
وتخمين من الذي تم تقديم طلب التجمع هذا منه؟

03:43.770 --> 03:47.220
تم صنعه من آدم باسكال ، مبتكر PyTorch.

03:47.220 --> 03:53.850
وقد أدى ذلك إلى حل المشكلة التي جعلت HRC يعمل بشكل جيد للغاية على Breakout دون انتظار لأيام

03:53.850 --> 03:54.480
وأيام.

03:54.930 --> 04:01.470
وبالتالي ، إذا عدنا إلى هذا التنفيذ ، يمكننا أن نرى المساهمين الأربعة لهذا التطبيق

04:01.470 --> 04:04.410
الأقوى وإليكم المساهمون.

04:04.410 --> 04:06.450
لذا شكراً جزيلاً لهم جميعاً.

04:06.450 --> 04:12.570
ويمكننا أن نقول شكراً جزيلاً وخاصاً لآدم باشكي لإصلاحه مشكلة مشاركة التدرج.

04:12.570 --> 04:18.030
بدأ بعمل فورك ، وهو فرع فرعي من الكود ، ثم قام بطلب سحب للمطور لإصلاح

04:18.030 --> 04:25.080
هذه المشكلة التي كانت في الكود ، وهي مشكلة مشاركة كبيرة ، وهكذا أصبح مساهمًا رئيسيًا

04:25.080 --> 04:30.210
من هذا التنفيذ ، مما يجعل كل شيء يعمل بشكل جيد.

04:30.450 --> 04:34.290
وثق بي ، لقد أجريت الكثير من التجارب على نموذج C الثلاثة.

04:34.350 --> 04:36.240
لقد قمت بالفعل بتنفيذ خمسة نماذج.

04:36.240 --> 04:40.920
كنت يائسًا حتى من أن ذلك لم يعمل بشكل جيد ، لذلك قمت بعمل اختراق خاص بي على المنحنى

04:40.920 --> 04:44.070
للحصول على كرة أكبر وبالتالي معالجة أسهل للصور.

04:44.070 --> 04:51.180
ثم عدت لفتح API وقمت بتطبيق HRC الخاص بي ، لكن ذلك استغرق وقتًا طويلاً للتشغيل والتدريب على

04:51.180 --> 04:53.220
جهاز كمبيوتر قوي جدًا.

04:53.220 --> 04:56.760
لذلك أردت أن أجد طريقة أفضل وهذا هو الحال.

04:56.760 --> 04:59.820
هذا التنفيذ القوي للغاية لطراز a3c.

05:00.130 --> 05:04.090
أحد المساهمين الرئيسيين هو مبتكر PyTorch.

05:04.300 --> 05:10.900
إذن ما سنفعله في هذه الوحدة ، أعتقد أنك مستعد لذلك ، هو تنفيذ رمز

05:10.900 --> 05:13.800
المستوى الأعلى لتنفيذ RC.

05:13.810 --> 05:19.660
لذلك سنقوم بشكل أساسي بإعادة تنفيذ كل هذه الملفات وسنصر في الغالب على الملفات

05:19.660 --> 05:24.410
المرتبطة مباشرة بـ RC لجميع الأجزاء التي ترتبط مباشرة بـ RC.

05:24.430 --> 05:27.670
سنقوم بتنفيذ الكود سطرًا سطرًا للآخرين.

05:27.670 --> 05:29.220
سأشرح فقط الكود.

05:29.230 --> 05:33.460
لذلك يجب أن نكون قادرين على معالجة هذا دون أن نجده مرهقًا للغاية.

05:33.580 --> 05:34.560
لذا ها نحن ذا.

05:34.570 --> 05:36.040
وحدة خاصة جدا.

05:36.040 --> 05:41.650
لا نعمل فقط على أحدث نموذج للذكاء الاصطناعي ، ولكن أيضًا في الوقت الذي أتحدث

05:41.650 --> 05:45.550
فيه ، أنا واثق تمامًا من أننا نطبق أقوى إصدار من RC.

05:45.820 --> 05:46.890
لنفعلها اذا.

05:46.900 --> 05:50.230
دعنا نعود إلى بايثون ودعنا نبدأ كل هذا.

05:50.500 --> 05:55.150
قبل أن نبدأ ، سنقوم بأبسط شيء سنفعله في هذه الوحدة ، وهو إعداد

05:55.150 --> 05:56.770
مجلد دليل العمل.

05:56.860 --> 05:59.580
لذلك دعنا ننتقل إلى مجلد القالب A-Z الخاص بنا.

05:59.590 --> 06:03.700
الوحدة الثالثة ، اخترع أكثرها تحديًا وها نحن ذا.

06:03.700 --> 06:05.050
هذا كل ملفاتنا.

06:05.050 --> 06:11.500
لذلك دعونا نرى أيها يرتبط ارتباطًا مباشرًا بـ a3c ، لذا دعونا نرى أيها سنقوم بتنفيذها

06:11.500 --> 06:14.200
سطراً سطراً ونركز طاقتنا عليها.

06:14.590 --> 06:16.270
لذلك يوجد بالفعل ملفان.

06:16.270 --> 06:19.390
تم تصميم النموذج الأول في PI ، وهو هذا.

06:19.390 --> 06:22.840
لذا سنعيد تنفيذه سطراً سطراً لأن هذا هو الأهم.

06:22.840 --> 06:25.330
هذا هو المكان الذي نصنع فيه العقول الرئيسية الثلاثة.

06:25.330 --> 06:30.550
وأهم شيء يجب فهمه هنا هو أنه سيكون لدينا نموذج مشترك سيكون

06:30.550 --> 06:34.150
له نفس تحديث الأوزان للممثل والناقد.

06:34.150 --> 06:39.550
هذا هو جزء من الإصدار الخاص من RC ، النموذج المشترك مع التحديث المشترك للأوزان.

06:39.880 --> 06:47.140
ثم الملف الآخر الأكثر أهمية الذي سنقوم بتنفيذه سطراً بسطر هو القطار الذي

06:47.140 --> 06:51.160
سقط PI ، بالطبع بعد أن صنعنا أدمغة RC.

06:51.280 --> 06:55.870
حسنًا ، يجب أن ندربهم ونقوم بتدريبهم في هذا القطار ، ملف PI هذا.

06:55.870 --> 07:02.410
إذن هذا رمز طويل جدًا ، لكن هذا ما يحتوي على قلب نموذج a3c ، والذي سيكون

07:02.410 --> 07:09.010
له خسارتان لتقليل خسارة القيمة ، وهي الخسارة المتعلقة بتنبؤات الناقد

07:09.010 --> 07:14.590
وخسارة السياسة ، وهي آخر ما يتعلق بتنبؤات الممثل.

07:14.590 --> 07:15.700
لذلك هذا جديد تمامًا.

07:15.700 --> 07:21.400
لكن كما تعلم ، هذا لأنه في a3t ، نحن نعمل أساسًا مع عدة وكلاء ، كل واحد لديه نسخته

07:21.400 --> 07:23.050
الخاصة من البيئة.

07:23.050 --> 07:28.540
لكن لدينا أيضًا هذه الطبقة المتصلة بالكامل والتي تُخرج قيمة دالة V ، وهذه في الأساس

07:28.540 --> 07:31.270
رؤية مشتركة لما يحدث في اللعبة.

07:31.270 --> 07:34.060
لذلك سيكون هذا صعبًا للغاية.

07:34.060 --> 07:38.170
لذا تأكد من أن تكون في حالة جيدة وبقية الملفات.

07:38.170 --> 07:43.210
حسنًا ، سأشرحها بالتفصيل فقط ، لكن ليس بقضاء الكثير من الوقت عليها.

07:43.210 --> 07:45.670
صدقني ، أنت تريد الاحتفاظ بطاقتك من أجل هذا.

07:45.670 --> 07:47.020
سيكون هذا بالفعل كثيرًا.

07:47.020 --> 07:55.330
إذن هذه الملفات ضد PI ، وهو تحسين لبيئة الصالة الرياضية بفضل الكون.

07:55.330 --> 08:00.880
لذلك ، يعمل هذا الملف بشكل أساسي على تحسين بيئة الصالة الرياضية مع الكون

08:00.880 --> 08:07.090
وهذا يسمح بإجراء معالجة مسبقة مثالية للصور وأيضًا لتطبيع جميع قيم البيئة ، مثل

08:07.090 --> 08:10.030
شدة الألوان أو شدة المكافآت.

08:10.030 --> 08:12.070
حسنًا ، كل قيم البيئة.

08:12.070 --> 08:17.890
يعمل هذا الملف على تطبيع كل هذه القيم والتأكد أيضًا من أن لدينا معالجة مسبقة مثالية للصور.

08:17.890 --> 08:24.610
وكما ترون ، هذا مأخوذ من صفحة Openai GitHub حيث وكيل متجر الكون.

08:24.610 --> 08:27.340
لذلك لن نقضي الكثير من الوقت في هذا الأمر.

08:27.340 --> 08:28.720
سنتوقف هنا في الواقع.

08:28.720 --> 08:35.200
تحتاج فقط إلى فهم أننا نقوم بتحسين بيئة الصالة الرياضية مع الكون للحصول على المعالجة المسبقة

08:35.200 --> 08:36.220
المثلى للصور.

08:36.220 --> 08:39.520
الباقي ليس بهذه الأهمية ، خاصة بالنسبة لثلاثة C.

08:40.120 --> 08:45.040
ثم لدينا واجهة برمجة التطبيقات الرئيسية ، وهي الكود الذي سينفذ الأمر برمته.

08:45.040 --> 08:50.140
لذا فأنت تعرف الكود الذي سيشغل كل شيء ، وإنشاء الدماغ ، وتدريب الدماغ وإخراج مقاطع الفيديو.

08:50.140 --> 08:53.680
وذلك لأنه سيتم تشغيل كل هذه الأكواد هنا.

08:54.070 --> 08:56.710
لذا فقد رأينا نموذجًا ما كان عليه آنذاك.

08:56.710 --> 09:00.130
بي الأمثل هو مُحسِّن خاص.

09:00.130 --> 09:06.070
هذا هو محسن الذرة بشكل أساسي ، لكن قم بتكييفه مع هذا النموذج المشترك الذي نطبقه.

09:06.070 --> 09:08.860
لذلك سنشرح كل هذا الرمز في درس واحد.

09:09.040 --> 09:11.380
ثم قمنا باختبار باي.

09:11.410 --> 09:12.790
هذا في الواقع آخر واحد.

09:12.790 --> 09:17.290
لذا فإن اختبار pi هو في الأساس الملف الذي سينفذ عامل اختبار.

09:17.290 --> 09:22.270
هذا هو الوكيل الذي سيلعب دون تحديث النموذج.

09:22.270 --> 09:24.670
هذا مستقل تمامًا عن التدريب.

09:24.670 --> 09:27.370
وسنشرح أيضًا هذا الرمز بالتفصيل.

09:27.370 --> 09:33.550
علاوة على ذلك ، فإن الخبر السار هو أنه سيكون لديك رمزان رمز واحد ، والذي سيكون الرمز الذي نطبقه في البرامج

09:33.550 --> 09:36.010
التعليمية ولكن بدون أي تعليق.

09:36.010 --> 09:41.860
وأحد الكود الذي هو أحد مجلدات الكود الذي يحتوي على جميع الرموز يأمر به ، لذلك مع كل هذه

09:41.860 --> 09:47.800
الملفات الستة ، كلها أوامر جيدة ، بحيث إذا فاتتك شيء ما في أي برنامج تعليمي ، فستتمكن من

09:47.800 --> 09:50.950
إلقاء نظرة على الأوامر في الكود لفهم ما يحدث.

09:50.950 --> 09:51.970
لذا ها نحن ذا.

09:51.970 --> 09:54.340
أتمنى أن تكون متحمسًا لتنفيذ ذلك.

09:54.340 --> 09:58.960
أنت حقًا في قمة الجبل الآن أو أسفل القمة لأنك تحتاج إلى فهم هذا

09:58.960 --> 09:59.530
أولاً.

10:00.010 --> 10:02.860
أنت تصل إلى هناك لتتنفس جيدًا من الأكسجين.

10:02.860 --> 10:05.410
وهناك نذهب في هذه الرحلة المثيرة للغاية.

10:05.470 --> 10:06.810
حتى ذلك الحين ، استمتع.

10:06.820 --> 10:07.360
أنا.
