WEBVTT

00:00.240 --> 00:03.300
أهلا ومرحبا بكم في الخطوة الأخيرة من هذا الجزء.

00:03.300 --> 00:04.620
مبنى واحد في I.

00:04.650 --> 00:10.200
الآن ، الشيء الوحيد الذي يتعين علينا القيام به هو جعل هذه الوظيفة الأمامية الكبيرة

00:10.200 --> 00:16.110
التي ستنشر الإشارة من البداية عندما يأخذ الدماغ الصورة حتى النهاية ، عندما تلعب العين

00:16.140 --> 00:17.160
الحركة.

00:17.160 --> 00:21.060
لذا سنجعل هذه الوظيفة كاملة ، وستكون هذه هي خطوتنا الأخيرة.

00:21.090 --> 00:26.430
قبل أن ننتقل إلى الجزء الثاني ، نقوم بتدريب الذكاء الاصطناعي لدينا على التعلم التلافيفي العميق.

00:26.670 --> 00:27.840
لذلك دعونا نفعل هذا.

00:27.840 --> 00:33.600
سنأخذ استدعاء الدالة الذي يشبه في الواقع وظيفة init.

00:33.600 --> 00:39.240
هذه وظيفة موجودة ، لكن هذه المرة نستخدمها لاستدعاء بعض الوظائف الأخرى تلك التي صنعناها

00:39.240 --> 00:44.070
من قبل لأنك تعلم ، سنستخدم وظيفة الأمام من الدماغ والوظيفة الأمامية

00:44.070 --> 00:45.390
من الجسم.

00:45.390 --> 00:50.070
ولذا فإننا نستخدم وظيفة الاستدعاء هذه الآن لاستدعاء هذه الوظائف أساسًا.

00:50.280 --> 00:53.040
لذا فإن Call سوف تأخذ حجتين.

00:53.040 --> 00:55.830
الأول هو الذات ، بالطبع ، الموضوع.

00:55.830 --> 01:00.120
والحجة الثانية التي حسب رأيك ، ماذا ستكون؟

01:00.120 --> 01:02.700
حسنًا ، نحن نقوم بعملية التكاثر هذه المرة.

01:02.700 --> 01:08.370
إذن ما نريد أن نأخذه كمدخلات هو ، بالطبع ، مدخلات الصور لأن هذه بالطبع هي نقطة البداية

01:08.370 --> 01:14.010
عندما يلعب الذكاء الاصطناعي اللعبة ، فهو يتخيل أولاً صور اللعبة ، ثم ينشر الإشارات

01:14.010 --> 01:16.680
في الدماغ ثم يلعب العمل.

01:17.010 --> 01:24.360
لذلك ، ستكون الحجة الثانية عبارة عن مدخلات ، ونحن الآن على استعداد للقيام بهذا التكاثر بأكمله.

01:24.600 --> 01:25.830
لذلك دعونا نفعل هذا.

01:25.860 --> 01:27.750
حسنًا ، الخطوة الأولى ، ما هي؟

01:27.750 --> 01:31.740
الخطوة الأولى هي تلقي الصور المدخلة من اللعبة.

01:31.950 --> 01:37.320
وبما أن هذه الصور ستدخل الشبكة العصبية ، حسنًا ، يمكنك أن تتخيل أنه يتعين

01:37.320 --> 01:39.570
علينا تنسيقها في بنية خاصة.

01:39.570 --> 01:42.480
والهيكل ، بالطبع ، هيكل شعلة.

01:42.570 --> 01:48.510
لذا فإن أول شيء سيحدث هو أننا سنحول هذه الصور إلى مصفوفة ، ثم سنحول المصفوفة

01:48.510 --> 01:54.330
الصغيرة إلى موتر شعلة ، ثم أخيرًا سنضع موتر الشعلة داخل متغير الشعلة

01:54.330 --> 01:58.140
الذي سيحتوي على كل من الموتر و التدرج.

01:58.140 --> 02:04.350
هذا من أجل الرسوم البيانية الديناميكية لدينا لحساب طبقة التدرج بكفاءة عالية لنسب التدرج العشوائي.

02:04.350 --> 02:06.090
هذه هي خطوتنا الأولى.

02:06.090 --> 02:12.180
وبعد ذلك بمجرد أن نحصل على التنسيق الصحيح لصورنا ، حسنًا ، سيكونون قادرين على الدخول إلى الشبكة العصبية

02:12.180 --> 02:15.510
وبعد ذلك سنقوم بالانتشار الكامل للإشارات.

02:16.150 --> 02:20.200
لنقم بهذه الخطوة الأولى ، بتحويل الصورة إلى التنسيق الصحيح.

02:20.200 --> 02:22.980
لذا فإن صورنا هي مدخلات حتى الآن.

02:22.990 --> 02:26.620
سنقوم الآن بإنشاء متغير جديد ، والذي أسميه المدخلات.

02:26.620 --> 02:29.290
إذن هذا هو المدخل الحقيقي للشبكة العصبية.

02:29.290 --> 02:31.690
وهذه المدخلات ، أين ستكون؟

02:31.690 --> 02:34.300
حسنًا ، علينا أولاً أن نأخذ مدخلاتنا.

02:34.300 --> 02:36.580
هذه هي صورنا الأصلية.

02:36.580 --> 02:42.130
ثم ، كما قلنا ، نريد تحويل هذه الصور إلى مصفوفات غير مرتبة.

02:42.130 --> 02:49.150
للقيام بذلك ، يمكننا ببساطة استخدام NumPy ، الذي يحتوي على اختصار ثم P ثم مصفوفة الدالة.

02:49.240 --> 02:52.660
لذا نضع المدخلات بين أقواس مصفوفة الدالة.

02:52.690 --> 02:53.260
هناك نذهب.

02:53.260 --> 02:55.930
الآن يتم تحويله إلى شيء بواسطة المصفوفات.

02:55.930 --> 03:02.740
ولكن بما أن خلايا المصفوفات الفارغة ستحتوي على وحدات البكسل ، فمن الأكثر أمانًا

03:02.740 --> 03:04.330
تحديد نوع تعويم.

03:04.360 --> 03:11.680
من الأفضل التأكد من أن لدينا بعض العوامات الآن وللتأكد من ذلك يمكننا استخدام NP float 32

03:11.710 --> 03:12.160
هنا.

03:12.550 --> 03:13.180
حسنا.

03:13.180 --> 03:17.080
حتى الآن لا يزال لدينا مصفوفات حكم ولكن من النوع float.

03:17.680 --> 03:18.040
حسنا.

03:18.040 --> 03:19.510
وهذا أيضًا لسبب آخر.

03:19.510 --> 03:24.040
وهي أن المستشعرات هي بالتعريف مصفوفات من نوع واحد.

03:24.040 --> 03:27.340
ولذا اخترنا النوع الفردي ليكون عددًا عشريًا ، عائمًا 32.

03:27.910 --> 03:28.210
حسنا.

03:28.210 --> 03:33.730
والآن بعد أن أصبح لدينا مصفوفاتنا الصفرية ، فإن الخطوة التالية هي تحويل ذلك إلى موتر شعلة.

03:33.730 --> 03:42.610
وللقيام بذلك ، يمكننا ، على سبيل المثال ، استخدام المصباح الكهربائي ، ثم وظيفة من الشرطة السفلية numpy

03:42.610 --> 03:44.920
حتى نحولها إلى موتر شعلة.

03:45.160 --> 03:46.000
هناك نذهب.

03:46.000 --> 03:52.240
والآن الخطوة الأخيرة هي وضع مستشعرات الشعلة هذه في متغير شعلة يحتوي على كل من الموتر

03:52.240 --> 03:53.140
والتدرج.

03:53.140 --> 03:54.850
وأنت تعرف كيف تفعل ذلك.

03:54.850 --> 04:03.340
بالطبع ، نأخذ صنف المتغير لأن كل ما بداخل هذا المتغير هو في الواقع مدخلات

04:03.340 --> 04:05.470
لفئة المتغير.

04:05.470 --> 04:11.530
لكنني أردت أن أوضح ذلك لكم بهذه الطريقة لأننا نبدأ بالصور المدخلة ، ثم نقوم بتحويلها

04:11.530 --> 04:15.880
إلى مصفوفات عددية ، ثم إلى مستشعرات مشعلة ثم إلى متغير.

04:15.880 --> 04:17.020
والآن نحن بخير.

04:17.020 --> 04:23.350
يُسمح لهم بالدخول إلى الشبكة العصبية التي هي عيون الذكاء الاصطناعي أولاً ثم الطبقات المتصلة

04:23.350 --> 04:25.450
بالكامل لتؤدي إلى التنبؤات.

04:25.930 --> 04:30.100
لذا بالحديث عن العيون ، هذا بالضبط ما سنفعله الآن.

04:30.280 --> 04:37.210
سنقوم بنشر هذه الصور المسموح بها الآن في عيون العيون من خلال الطبقات التلافيفية

04:37.210 --> 04:38.590
الثلاث.

04:38.590 --> 04:41.410
وللقيام بذلك ، سترون الآن كيف أن الأمر بسيط للغاية.

04:41.410 --> 04:46.030
هذا لأننا لدينا بالفعل دماغنا في أجسامنا من وظيفة البادئة.

04:46.030 --> 04:55.780
نحتاج ببساطة أن نأخذ دماغنا بحيث يكون دماغنا ذا نقطة ذاتية ونطبق هذا الدماغ على الصور المدخلة وسوف ينتشر

04:55.780 --> 05:03.160
ذلك بفضل الوظيفة الأمامية هنا من الدماغ التي ستنشر الإشارات داخل الدماغ.

05:03.160 --> 05:08.740
وبما أن الوظيفة الرابعة للدماغ تعود ، فإن إشارات الخرج هي الخلايا العصبية لطبقة المخرجات

05:08.740 --> 05:11.170
التي تحتوي على قيم الإشارات.

05:11.170 --> 05:17.770
حسنًا ، هذه الذات ، مدخلات الدماغ هنا ستعيد إشارة الخرج هذه ، وبالتالي سنضعها

05:17.770 --> 05:23.230
هنا عندما تعود إلى متغير وسنسميها ببساطة ، المخرجات.

05:24.040 --> 05:26.570
وهذا الخرج هو إشارة الإخراج للدماغ.

05:26.590 --> 05:31.930
والآن بعد أن أصبح لدينا إشارة خرج من الدماغ ، حسنًا ، علينا نشر إشارة الخرج هذه إلى

05:31.930 --> 05:32.690
الجسم.

05:32.710 --> 05:36.790
ولفعل ذلك ، سنستخدم الدالة الثانية للأمام من الجسم.

05:36.790 --> 05:45.250
وللقيام بذلك ، نحتاج ببساطة أن نأخذ أجسادنا ونطبقها ، بالطبع ، على المخرجات ، لأن الوظيفة

05:45.250 --> 05:50.470
الأمامية للجسم تأخذ كمدخلات إشارات الإخراج للدماغ.

05:50.470 --> 05:55.780
هذا هو بالضبط الناتج الآن ويعيد الإجراءات.

05:55.780 --> 06:03.340
وبالتالي ، نظرًا لأنه يُرجع الإجراءات ، حسنًا ، سنضيف هنا أفعالًا تساوي ناتج الجسم الذاتي.

06:03.760 --> 06:04.090
حسنا.

06:04.090 --> 06:09.670
الآن يمكنك أن ترى ذلك بكل بساطة ، لقد نشرنا الإشارات داخل الدماغ ثم من الدماغ

06:09.670 --> 06:16.000
إلى الجسم أولاً باستخدام الوظيفة الكاملة من الدماغ ، والتي تأخذ كمدخلات الصور

06:16.000 --> 06:19.660
ثم نوزعها في الدماغ للعودة قيم جديلة.

06:19.960 --> 06:25.420
ثم ننشر إشارة الخرج هذه في الجسم مع الوظيفة الأمامية لجسمنا للحصول على الإجراء

06:25.420 --> 06:26.530
المطلوب.

06:26.590 --> 06:32.260
والآن الشيء الوحيد المتبقي الذي يتعين علينا القيام به ، وهو آخر سطر من التعليمات البرمجية لهذا

06:32.260 --> 06:34.150
الجزء الأول ، بناء العين.

06:34.180 --> 06:39.040
حسنًا ، يجب أن نعيد الإجراء للعب ، وهذه هي الأفعال.

06:39.310 --> 06:45.040
ومع ذلك ، في الوقت الحالي ، تحتوي الإجراءات على تنسيق torch ونحتاج إلى تحويلها مرة أخرى إلى مصفوفة numpy.

06:45.040 --> 06:51.640
وللقيام بذلك ، سنأخذ بنية البيانات لهذه الإجراءات ثم نضيف هنا الدالة

06:51.640 --> 06:53.650
non pi وهناك نبدأ.

06:53.650 --> 06:56.470
الآن لدينا الإجراءات التي عادت بالتنسيق الصحيح.

06:56.470 --> 06:57.910
لذا تهانينا.

06:57.910 --> 07:00.520
لقد انتهينا الآن من هذا الجزء الأول.

07:00.520 --> 07:03.190
قمنا ببناء الذكاء الاصطناعي في ثلاث خطوات.

07:03.190 --> 07:06.640
أولاً ، صنعنا الدماغ ، وثانيًا ، صنعنا الجسم.

07:06.640 --> 07:13.390
وثالثًا ، قمنا بتجميع الدماغ في الجسم ونشرنا الإشارة بأكملها من العين إلى اللحظة التي

07:13.390 --> 07:14.860
نلعب فيها الحركة.

07:15.310 --> 07:16.960
هذه هي الخطوة الأولى.

07:16.960 --> 07:18.280
كانت تلك خطوة كبيرة.

07:18.280 --> 07:22.030
لكن الآن ، كما فهمت ، نبني ذكاءً اصطناعيًا ، لكنه لا يزال غبيًا.

07:22.030 --> 07:26.410
نحن بحاجة إلى تدريبه ليكون ذكيًا ، لذلك نحتاج إلى تدريبه للقيام بما نريد القيام به.

07:26.410 --> 07:31.450
وللقيام بذلك ، سنستخدم المكافأة بعد بيئة غبية لأنها نتعلم من المكافأة

07:31.450 --> 07:37.570
من خلال التعزيز عندما تحصل على مكافأة جيدة وبأن نعاقب أو نضعف عندما تحصل على مكافأة

07:37.570 --> 07:38.500
سيئة.

07:38.530 --> 07:41.410
هذا هو المكان الذي ستلعب فيه Q learning.

07:41.410 --> 07:47.260
وهذا بالضبط ما سنفعله في هذا الجزء الثاني لتدريب الذكاء الاصطناعي على التعلم التلافيفي العميق.

07:47.260 --> 07:50.440
لا أطيق الانتظار للبدء وحتى ذلك الحين ، استمتع بالذكاء الاصطناعي.
