WEBVTT

00:00.270 --> 00:03.890
أهلا ومرحبا بكم مرة أخرى في الوحدة الثانية الموت.

00:03.900 --> 00:07.830
سنجهزنا الآن لبدء تنفيذ الذكاء الاصطناعي الخاص بنا.

00:07.860 --> 00:13.230
وكالعادة ، فإن أول شيء يتعين علينا القيام به هو تعيين المجلد الصحيح كدليل عمل.

00:13.350 --> 00:17.310
لنفعل هذا الآن حتى ننتقل إلى ما هو أكثر إثارة للاهتمام.

00:17.310 --> 00:23.580
كالمعتاد ، أبدأ على سطح المكتب الخاص بي ، ثم أذهب إلى ذكاء الاصطناعي الخاص بي وهو ذلك المجلد ، ثم

00:23.580 --> 00:25.380
الوحدة الثانية الآن هلاك.

00:25.380 --> 00:29.190
وها نحن ذا ، هذا هو المجلد الذي يتعين علينا تعيينه كدليل عمل.

00:29.220 --> 00:30.120
لذلك دعونا نفعل هذا.

00:30.120 --> 00:35.880
الآن نضغط على هذين الزرين هنا ، ثم نعيد تشغيل kernel ثم نعم ، وها نحن ذا.

00:35.880 --> 00:38.820
لدينا الآن المجلد الصحيح كدليل عمل.

00:39.210 --> 00:42.210
الآن كما ترى ، لدينا أربعة ملفات.

00:42.210 --> 00:45.990
حسنًا ، مجلد 3001 بالفعل في مجلد دليل العمل هذا.

00:45.990 --> 00:47.460
لنبدأ بالأول.

00:47.460 --> 00:49.980
الأول هو ADP.

00:50.010 --> 00:54.270
هذا بالطبع هو الملف الذي سيحتوي على ذكاءنا الاصطناعي.

00:54.270 --> 00:56.670
وهذا ليس سوى هذا الملف هنا.

00:56.670 --> 01:04.650
هذا هو ملف ADP الذي سنقوم فيه بتنفيذ كل ما يتعلق ببناء API وخاصة بناء AI باستخدام

01:04.650 --> 01:08.430
نموذج التعلم التلافيفي العميق.

01:09.060 --> 01:11.730
هذا هو المكان الذي سنخوض فيه المغامرة الكبيرة.

01:11.970 --> 01:13.330
ثم لدينا بعض الملفات الأخرى.

01:13.330 --> 01:17.130
إذن لدينا الملف الثاني هنا ، وهو تجربة إعادة تشغيل هذا pi.

01:17.130 --> 01:23.460
ولذا هذه المرة أضع تجربة الاستبدال بشكل منفصل فقط لأننا طبقناها بالفعل.

01:23.460 --> 01:25.740
والآن نريد التركيز على ما هو جديد.

01:25.740 --> 01:32.280
وثق بي ، لدينا الكثير من الأشياء الجديدة التي يجب القيام بها مع هذا الذكاء الاصطناعي الجديد لأننا لا نريد فقط

01:32.280 --> 01:36.450
بناء ذكاء اصطناعي ، ولكننا نريد بناء ذكاء اصطناعي للتغلب على Doom.

01:36.450 --> 01:40.920
لذا يمكنك أن تتخيل أن هذا سيتطلب بعض التعليمات البرمجية المتقدمة جدًا.

01:41.370 --> 01:42.360
لذلك لا تقلق.

01:42.360 --> 01:46.620
لدينا رمز كبير ينتظرنا وسوف تتعلم الكثير من الحيل الجديدة.

01:46.620 --> 01:53.370
هذا هو السبب في أن خدعة إعادة العرض هذه التي تعرفها بالفعل والتي أذكرها تعمل على تحسين الكثير من التدريب.

01:53.370 --> 01:55.950
حسنًا ، دعنا نضعها بشكل منفصل في هذه التجربة.

01:55.950 --> 02:01.500
نقوم بتشغيل ملف PI هذا حتى نتمكن الآن من التركيز على جميع المفاهيم والتقنيات والحيل الجديدة

02:01.500 --> 02:02.430
التي تنتظرنا.

02:02.880 --> 02:03.300
حسنا.

02:03.300 --> 02:06.750
ثم لدينا الصورة التي تعالج ملف pi مسبقًا.

02:06.750 --> 02:12.270
إذن هذا ملف Python آخر سيهتم بمعالجة صورنا مسبقًا لأنه ، كما تعلمون ، هذه المرة

02:12.270 --> 02:18.810
سيكون للذكاء الاصطناعي أعين وهذا لأن حالات الإدخال لم تعد مشفرة بواسطة متجه ، ولكن هذه المرة

02:18.810 --> 02:21.360
حالات الإدخال هي الصور.

02:21.360 --> 02:27.180
إذن الطبقة الأولى من الشبكة العصبية الكبيرة التي سنصنعها ستكون العيون ، وستكون تلك الطبقات

02:27.180 --> 02:30.210
التلافيفية للشبكة العصبية التلافيفية.

02:30.240 --> 02:36.090
ولكن للتأكد من إمكانية قبول هذه الصور كمدخلات للشبكة العصبية التلافيفية ، حسنًا ، نحتاج

02:36.090 --> 02:37.650
إلى معالجتها مسبقًا.

02:37.650 --> 02:43.920
ولذا فإن هذا الملف سيهتم بمعالجة هذه الصور مسبقًا حتى يتمكنوا من الدخول إلى الشبكة العصبية.

02:43.920 --> 02:48.720
ولذا قمت بفصل هذا الملف لأن هذا لا يرتبط مباشرة بالذكاء الاصطناعي.

02:48.720 --> 02:55.170
ومرة أخرى ، نريد الحفاظ على الحد الأقصى من عقولنا وذاكرتنا وتركيزنا على كل ما يتعلق بالذكاء

02:55.170 --> 02:56.430
الاصطناعي.

02:56.460 --> 03:02.370
لذلك نحن نضع هذا بشكل منفصل حتى نتمكن من معالجة الصور مسبقًا في مصباح يدوي وتوفير بعض

03:02.370 --> 03:03.510
الطاقة للباقي.

03:03.660 --> 03:05.340
يمكنك إلقاء نظرة عليه إذا كنت تريد.

03:05.340 --> 03:10.350
وإذا كان لديك أيضًا دورة التعلم العميق ، فيمكنك إلقاء نظرة على البرامج التعليمية العملية.

03:10.350 --> 03:15.240
نتحدث عن المعالجة المسبقة للصور ، ولكن هنا مرة أخرى ، نريد حقًا التركيز على الذكاء الاصطناعي.

03:15.240 --> 03:17.130
صدقني ، لدينا الكثير لنفعله.

03:17.610 --> 03:21.540
وأخيرًا المجلد الأخير ، حسنًا ، هذا هو مجلد مقاطع الفيديو.

03:21.540 --> 03:24.540
إذن هذا المجلد فارغ الآن كما ترى.

03:24.540 --> 03:31.050
ولكن عندما ننفذ الكود ، ستتم إضافة بعض مقاطع الفيديو لعذاب تشغيل AI إلى هذا المجلد.

03:31.050 --> 03:36.660
لذلك سيكون هذا مثيرًا للغاية لأننا سنرى في بعض مقاطع الفيديو مدى جودة أداء الذكاء الاصطناعي.

03:36.660 --> 03:41.910
لذلك سنرى حرفياً الذكاء الاصطناعي وهو يقتل الوحوش ويحاول الركض نحو الهدف.

03:42.090 --> 03:44.310
لذلك سترون أن هذا سيكون مثيراً للغاية.

03:44.310 --> 03:50.700
لذلك بالطبع ، ستكون مقاطع الفيديو الأولى سيئة للغاية لأن الذكاء الاصطناعي لن يتم تدريبه كثيرًا حتى الآن ، وبالتالي

03:50.700 --> 03:52.170
سيُقتل بسرعة كبيرة.

03:52.170 --> 03:58.470
ولكن بعد ذلك سترى أنه مع تقدم التدريب بشكل جيد ، سوف يتحسن الذكاء الاصطناعي بشكل أفضل

03:58.470 --> 04:04.200
وفي النهاية سوف يتمكن من قتل بعض الوحوش التي تُقتل الآن ونأمل أن نتمكن من الوصول

04:04.200 --> 04:05.730
إلى الهدف.

04:06.480 --> 04:06.900
حسنا.

04:06.900 --> 04:10.680
لذا دعنا نعود إلى AFL الخاص بنا ، وهو هذا.

04:10.680 --> 04:16.200
وكما ترون ، فقد اهتممت بالفعل باستيراد جميع المكتبات والحزم الأساسية التي

04:16.200 --> 04:17.820
نحتاجها للعب الموت.

04:17.820 --> 04:19.980
لذلك دعونا نلقي نظرة سريعة عليهم واحدة تلو الأخرى.

04:19.980 --> 04:23.820
لدينا ، بالطبع ، numpy لأننا سنعمل مع المصفوفات.

04:23.820 --> 04:25.440
هذا أمر لا مفر منه.

04:25.440 --> 04:29.310
ثم لدينا التعذيب بالطبع ، لأننا نطبق الذكاء الاصطناعي باستخدام pytorch.

04:29.340 --> 04:34.980
ثم لدينا الشعلة والوحدة التي تحتوي على جميع الأدوات اللازمة لتنفيذ الشبكة العصبية.

04:34.980 --> 04:41.430
على سبيل المثال ، ستحتوي الوحدة النمطية على الطبقات التلافيفية التي ستكون جزءًا من شبكتنا العصبية المستقبلية.

04:41.520 --> 04:48.360
ثم لدينا الحزمة الوظيفية التي تحتوي على الاختصار F والتي تحتوي على جميع الوظائف المستخدمة

04:48.360 --> 04:50.790
في الشبكة العصبية.

04:50.790 --> 04:57.090
عادةً ما تكون وظائف التنشيط ، سنستخدم بعض وظائف تنشيط المعدل ، ولكن أيضًا بعض

04:57.090 --> 04:59.970
وظائف التجميع القصوى للتلافيف.

05:00.060 --> 05:03.600
الشبكة العصبية وجميع هذه الوظائف واردة وظيفية.

05:04.020 --> 05:07.730
ثم لدينا Optim ، وهو بالطبع لـ Optimizer.

05:07.740 --> 05:15.480
أعتقد أننا سنستخدم مُحسِّن الذرة وهذا المُحسِّن موجود في Optim ثم أفضل ما في

05:15.480 --> 05:20.220
PyTorch ، الفئة المتغيرة من وحدة grad الأخرى.

05:20.220 --> 05:26.010
وهذه هي كل قوة PyTorch لأن هذا هو ما يحتوي على الرسوم البيانية الديناميكية التي تسمح بإجراء

05:26.010 --> 05:30.570
عمليات حسابية سريعة جدًا للتدرج ، حتى التدرج اللوني لوظائف التكوين.

05:30.570 --> 05:32.710
لذلك سنستخدمه بالتأكيد.

05:32.730 --> 05:37.680
بالنسبة للسيارة ذاتية القيادة ، لكن ثق بي من أجل الهلاك ، سنحتاجها بشدة.

05:38.460 --> 05:40.890
هذا كل شيء للمكتبات الأساسية.

05:40.890 --> 05:46.530
ثم نحتاج إلى استيراد بعض الحزم المتعلقة بـ Openai و gym و dom.

05:46.530 --> 05:53.520
لذلك بالطبع نستورد Jim ، ثم نستورد بعض وحدات الأغلفة من مكتبة Jim وأحد هذه الأغلفة

05:53.520 --> 05:55.260
هو Kip wrapper.

05:55.290 --> 05:58.770
لذلك هذا أساسًا لاستيراد جميع الأدوات والبيئات الخاصة بـ Jim.

05:59.040 --> 06:04.590
وأخيرًا ، لدينا هذه الحزمة التي نحتاج إلى استيرادها والتي ترتبط ارتباطًا مباشرًا

06:04.590 --> 06:11.400
بالعذاب ، وهي مساحة العمل واثنان منفصلان من غلاف الموت الذي يحتوي أساسًا على بيئة العذاب وبشكل

06:11.400 --> 06:17.850
أكثر تحديدًا ، الإجراءات التي يمكن لعبها ، عدد الإجراءات الخاصة بلعبة Doom المحددة التي

06:17.850 --> 06:19.470
سنلعبها.

06:19.470 --> 06:21.570
وأذكر أن هناك ستة إجراءات.

06:21.570 --> 06:24.210
تحرك يسارا ، تحرك يمينا ، انعطف يسارا ، انعطف يمينا.

06:24.210 --> 06:25.950
تقدم للأمام واطلاق النار.

06:25.950 --> 06:26.640
هجوم.

06:27.330 --> 06:27.690
حسنا.

06:27.690 --> 06:30.470
لذلك هذا أساسًا ما تحتاجه لاستيراده من أجل الهلاك.

06:30.480 --> 06:37.680
ثم أخيرًا ، بالطبع ، نحتاج إلى استيراد تجربة ملفين داخليين لدينا لإعادة تشغيل تلك الفطيرة

06:37.710 --> 06:44.400
للتجربة وإعادة التشغيل والمعالجة المسبقة للصور لمعالجة الصور التي ليست سوى صور

06:44.400 --> 06:47.130
الشاشة عند لعب اللعبة.

06:47.130 --> 06:53.640
وستتم معالجة هذه الصور مسبقًا ، وتحويلها إلى مصفوفات غير متجانسة ، وإعادة تشكيلها إلى تنسيق معين ، وبعد ذلك

06:53.640 --> 06:57.420
ستنتقل إلى الشبكة العصبية ، الشبكة العصبية التلافيفية.

06:58.160 --> 06:58.610
حسنا.

06:58.610 --> 07:07.610
لذا أعتقد الآن أننا جاهزون لبدء التنفيذ الكبير لهذا أنا والآن من المهم جدًا بالنسبة لي أن أخبرك أن

07:07.610 --> 07:12.170
هذا يقودني إلى النقطة المهمة جدًا في هذه الوحدة.

07:12.200 --> 07:17.290
إنه منذ أن أخبرتك ، كما تعلم ، لدينا تنفيذ كبير في انتظارنا.

07:17.300 --> 07:21.560
حسنًا ، لكي لا نضيع في كل هذا ، نحتاج إلى هيكل جيد.

07:21.650 --> 07:24.860
ولذا فقد أبرزت الهيكل بالفعل.

07:24.890 --> 07:27.750
سنقوم بتنفيذ هذا في جزأين.

07:27.770 --> 07:30.830
سيتعلق الجزء الأول ببناء الذكاء الاصطناعي.

07:30.860 --> 07:34.460
هذا هو المكان الذي سنصنع فيه دماغ الذكاء الاصطناعي.

07:34.460 --> 07:38.130
والدماغ ، كما فهمت ، ليس سوى الشبكة العصبية.

07:38.150 --> 07:45.320
كما تعلم ، تتكون شبكة CNN الكبيرة هذه من بعض الطبقات التلافيفية ومن ثم بعض الطبقات المتصلة بالكامل للتنبؤ بالمخرجات

07:45.320 --> 07:48.140
التي لا تزال تمثل القيم الأساسية.

07:48.140 --> 07:50.300
ثم نصنع جسم الذكاء الاصطناعي.

07:50.300 --> 07:53.180
وهذا تمثيل جديد سأقدمه لكم.

07:53.180 --> 07:55.370
وهذا ، مرة أخرى ، لا تضيع.

07:55.370 --> 08:01.190
سترى أنه كلما تقدمنا في الكود ، سترى الهيكل وسيصبح كل شيء منطقيًا

08:01.190 --> 08:02.600
في النهاية.

08:02.600 --> 08:06.380
وللتأكد من أن ذلك منطقي ، نحتاج إلى تمثيل للذكاء الاصطناعي.

08:06.410 --> 08:12.570
وسيتكون الجزء الأول من بناء الذكاء الاصطناعي بشكل أساسي من ثلاثة أقسام.

08:12.590 --> 08:17.030
القسم الأول سيكون حول تكوين الدماغ الذي هو الشبكة العصبية.

08:17.180 --> 08:22.580
القسم الثاني سيكون حول صنع الجسد ، وأنا أطلق عليه اسم الجسد لأن هذا هو الجزء الذي سيخبر

08:22.580 --> 08:24.980
الذكاء الاصطناعي كيف يلعب الإجراء.

08:24.980 --> 08:30.860
لذا ، كما تعلم ، أولاً لديك الدماغ الذي يكتشف الصور ويتنبأ بقيم الإشارات ، ولكن بعد ذلك تحتاج

08:30.860 --> 08:37.640
إلى تحديد كيف يجب أن يلعب الذكاء الاصطناعي الإجراء وأنه يفعل ذلك بجسده كما يفعل جسم الإنسان.

08:37.820 --> 08:43.790
لذلك سيكون الجسم هو الجزء الذي سنحدد فيه طريقة تشغيل الحركة.

08:43.790 --> 08:49.520
لذلك ، على سبيل المثال ، مع سيارتنا ذاتية القيادة ، كان الدماغ هو الشبكة العصبية التي صنعناها والجسم

08:49.520 --> 08:51.380
هو كيف تم تشغيل الحركة.

08:51.380 --> 08:53.300
هذا هو ، كانت طريقة soft max.

08:53.420 --> 08:54.650
وهنا نفس الشيء.

08:54.650 --> 08:59.000
سنصنع دماغًا وسنصنع جسمًا يلعب الإجراء.

08:59.000 --> 09:00.290
سأدعك تكتشف

09:00.290 --> 09:06.140
لكن النقطة الأساسية في كل هذا هي أنه سيكون لدينا رمز منظم للغاية بحيث لا يمكنك فقط الرجوع

09:06.140 --> 09:11.660
خطوة إلى الوراء وفهم ما يحدث حقًا ، ولكن أيضًا ستكون قادرًا على استخدامه كإطار عمل

09:11.660 --> 09:14.870
عندما تريد إنشاء ذكاء اصطناعي لأغراض أخرى.

09:15.170 --> 09:15.830
حسنا.

09:15.830 --> 09:21.950
وبعد بناء الذكاء الاصطناعي في الجزء الأول ، سننتقل إلى الجزء الثاني ، والذي سيكون حول تنفيذ

09:21.950 --> 09:24.320
نموذج التعلم التلافيفي العميق.

09:24.320 --> 09:29.660
وهناك مرة أخرى ، سيكون لدينا أقسام مختلفة وسيكون أحدها بالطبع لتدريب الذكاء الاصطناعي.

09:29.960 --> 09:32.030
لذا لا أطيق الانتظار حتى أغوص فيه.

09:32.030 --> 09:38.060
الآن سنبدأ بالجزء الأول ، من الواضح ، وسنبدأ بجعل دماغ الذكاء الاصطناعي

09:38.060 --> 09:38.840
لدينا.

09:39.050 --> 09:42.170
لذلك لا يمكنني الانتظار وحتى ذلك الحين ، استمتع بالذكاء الاصطناعي.
