WEBVTT

00:00.500 --> 00:02.810
مرحبًا ومرحبًا بكم في برنامج Python التعليمي هذا.

00:02.960 --> 00:08.150
حسنًا ، الآن في الوظيفة التالية التي نحن على وشك تنفيذها ، سنقوم بتدريب الشبكة العصبية

00:08.150 --> 00:11.230
العميقة الموجودة داخل ذكاءنا الاصطناعي.

00:11.240 --> 00:16.700
لذلك بشكل أساسي ، سنقوم بالعملية الكاملة للانتشار الأمامي ثم التكاثر

00:16.700 --> 00:20.630
الخلفي حتى نحصل على مخرجاتنا ، وسنحصل على الهدف.

00:20.630 --> 00:24.290
سنقارن الناتج بالهدف لحساب الخطأ الأخير.

00:24.290 --> 00:28.400
ثم سنعيد نشر هذا الخطأ الأخير في الشبكة العصبية.

00:28.400 --> 00:33.590
وباستخدام النسب المتدرج العشوائي ، سنقوم بتحديث الأوزان وفقًا لمقدار مساهمتها

00:33.590 --> 00:34.700
في تقليل الخطأ.

00:34.910 --> 00:36.290
لذلك دعونا نفعل كل هذا.

00:36.290 --> 00:41.360
بالنسبة لأولئك القادمين من دورة التعلم العميق ، ستكون هذه أشياء أطفال ، لكن بالنسبة للآخرين

00:41.360 --> 00:43.580
، لا تقلق ، سأشرح ذلك مرة أخرى.

00:43.880 --> 00:47.240
لذلك سنسمي هذه الوظيفة الجديدة "تعلم".

00:47.390 --> 00:51.350
وستتطلب وظيفة التعلم هذه عدة حجج.

00:51.350 --> 00:57.260
الذات الأولى ، بالطبع ، ستشير إلى موضوع الطبقة المختلفة.

00:57.260 --> 01:08.780
ثم سنأخذ حالة الدُفعات الخاصة بنا للحالة الحالية ، ثم الحالة التالية للدفعة ، ثم مكافأة المجموعة

01:08.780 --> 01:14.810
، وأخيرًا إجراء المجموعة الخاص بنا.

01:15.350 --> 01:16.790
فلماذا نأخذ هذا؟

01:16.790 --> 01:19.700
ربما تعرفت على ما هو المسلسل؟

01:19.700 --> 01:25.430
حسنًا ، هذا ، بالطبع ، انتقال ، انتقال لعملية اتخاذ قرار ماركوف التي هي

01:25.430 --> 01:27.290
أساس التعلم العميق.

01:27.290 --> 01:30.350
ولماذا نأخذهم جميعًا في بعض الدفعات؟

01:30.350 --> 01:36.140
حسنًا ، هذا بسبب ، تذكر ، أننا لا نأخذ في الاعتبار التحولات من خلال سلسلة من أعلى الحالة الحالية

01:36.140 --> 01:39.410
، والمكافأة الحالية ، والإجراء الحالي.

01:39.410 --> 01:43.940
لقد أنشأنا بعض دفعات العينات هنا بفضل وظيفة العينة.

01:43.940 --> 01:49.400
والآن أصبحت انتقالاتنا في النموذج ، الدفعة الأولى للحالة ، الدفعة الثانية للتاريخ

01:49.400 --> 01:53.120
التالي ، مجموعة المكافأة ، ومجموعة الإجراء.

01:53.300 --> 01:58.880
هذا هو شكل انتقالاتنا الآن ، وكلها متوافقة جيدًا فيما يتعلق بالوقت ، بفضل

01:58.880 --> 02:03.620
هذا التسلسل الذي قمنا به هنا فيما يتعلق بالبعد الأول.

02:03.980 --> 02:10.130
لذا فالنقطة الآن لدينا هذا الانتقال من الدُفعات ، دفعة واحدة لكل ولاية ، ومكافأة الحالات

02:10.130 --> 02:11.450
التالية والعمل.

02:11.450 --> 02:17.150
ونفعل كل هذا لأننا نستخدم خدعة التجربة هذه في إعادة العرض حتى تتمكن شبكتنا العصبية العميقة

02:17.150 --> 02:18.410
من تعلم شيء ما.

02:18.410 --> 02:24.110
تذكر ، إذا كانت لدينا التحولات فقط من تلقاء نفسها ، فسيكون ذلك بمثابة تعلم فوري.

02:24.110 --> 02:28.850
أو إذا كنت تريد تعلم ذاكرة قصيرة جدًا ، وبالتالي لن يتعلم النموذج شيئًا.

02:28.850 --> 02:35.540
لذلك علينا أن نأخذ هذه الدُفعات من الذاكرة التي أصبحت انتقالاتنا ، وبعد ذلك في النهاية سنحصل على المخرجات

02:35.540 --> 02:39.320
المختلفة لكل حالة من حالات حالة دفعة الإدخال.

02:39.320 --> 02:44.810
وسنفعل ذلك من أجل حالة الدُفعة والحالة التالية للدفعة لأننا سنحتاج إلى كليهما لحساب

02:44.810 --> 02:45.470
الخسارة.

02:45.470 --> 02:51.080
سأذكر قريبًا معادلة التوازن الموجودة في قلب خوارزمية التعلم العميق.

02:51.680 --> 02:56.930
لننتقل الآن إلى الدالة ودعنا نحصل أولاً على مخرجات حالة الدُفعة.

02:56.930 --> 02:59.600
لذلك سأسمي هذا أول مخرجات متغيرة.

03:00.480 --> 03:04.980
وبعد ذلك سنأخذ بالطبع نموذجنا الذاتي.

03:05.190 --> 03:14.230
لذا فإن النموذج الذي يدرس ذاتيًا لأننا نريد الحصول على مخرجات نموذجنا لحالات الإدخال لحالة الدُفعة.

03:14.250 --> 03:22.200
ونظرًا لأن نموذجنا يتوقع في الواقع مجموعة من حالات الإدخال ، حسنًا ، يمكننا تمامًا إدخال حالة الدُفعات

03:22.440 --> 03:25.080
الآن لإدخال النموذج.

03:25.110 --> 03:31.470
هذا هو بالضبط كيف قمنا بتهيئة الحالات التي تدخل الشبكة مع موتر الشعلة بهذا

03:31.470 --> 03:33.390
البعد المزيف للدفعة.

03:33.780 --> 03:34.900
لذلك هذا مثالي.

03:34.920 --> 03:40.550
نحصل الآن على مخرجات النموذج ، ولكن هناك خدعة فنية أخرى.

03:40.560 --> 03:47.730
إذا قمنا فقط بأنفسنا بأن هذه الدُفعة النموذجية جيدة ، فسنحصل على مخرجات جميع الإجراءات الممكنة ، كما تعلمون

03:47.730 --> 03:49.140
، صفر واحد واثنان.

03:49.260 --> 03:50.700
لكن هذا ليس ما نريده.

03:50.730 --> 03:56.850
نحن مهتمون فقط بالأفعال التي تم اختيارها ، الإجراءات التي قررت الشبكة

03:56.850 --> 03:58.600
أن تلعبها في كل مرة.

03:58.620 --> 04:03.060
ومن أجل الحصول على هذه الإثارة التي نحن مهتمون بها ، فهذه هي الإجراءات التي يتم لعبها بشكل جيد.

04:03.060 --> 04:11.640
علينا استخدام وظيفة التجميع هذه حيث نقوم بإدخال واحدة لأننا نريد فقط الإجراء الذي تم اختياره.

04:12.000 --> 04:20.880
ثم نضيف إجراءً دفعيًا مع هذا الإجراء ، الإجراء الواحد والدُفعي الذي سنجمعه في كل مرة أفضل إجراء يتم تشغيله لكل

04:20.880 --> 04:24.390
حالة من حالات الإدخال لحالة الدُفعات.

04:24.540 --> 04:30.180
نريد فقط الإجراء الذي يتم لعبه ، الإجراء الذي تم اختياره ، ونحصل على هذا من خلال إجراء التجميع

04:30.180 --> 04:31.650
واحد والدُفعات.

04:31.920 --> 04:33.150
ولكن بعد ذلك كن حذرا.

04:33.180 --> 04:39.540
حالة الدُفعات هنا لها هذا البعد المزيف المطابق للإجراء الدُفعي ولم يتم استعادته مرة

04:39.540 --> 04:41.040
أخرى ، هل تعرفه؟

04:41.040 --> 04:46.230
لأننا نستخدم الإدخالات هنا ، لكننا لم نستخدم أيًا منها عند الضغط على الإجراءات.

04:46.230 --> 04:52.740
لذلك يتعين علينا إضافته هنا بحيث يكون لإجراء الدُفعة نفس بُعد حالة الدُفعة بالضبط.

04:52.890 --> 04:57.000
إذن سنضيف نقطة على الضغط صفر.

04:57.730 --> 04:58.780
هنا.

04:58.900 --> 05:05.620
وفي الواقع ، هذا ليس صفراً ، ولكنه واحد لأن الصفر يتوافق مع البعد الإيماني للدولة وسيتوافق

05:05.620 --> 05:09.050
المرء مع البعد الوهمي للأفعال.

05:09.070 --> 05:16.000
وأخيرًا ، آخر شيء يتعين علينا القيام به هنا هو أننا بحاجة إلى قتل هذه المجموعة المزيفة بضغطة واحدة.

05:16.300 --> 05:17.910
ولماذا نحن بحاجة للقيام بذلك؟

05:17.920 --> 05:19.990
لأننا الآن خارج الشبكة العصبية.

05:19.990 --> 05:22.840
لدينا مخرجاتنا ، لكننا لا نريدها دفعة واحدة.

05:22.840 --> 05:27.460
نريدهم في موتر بسيط ، متجه بسيط ، متجه للإخراج.

05:27.610 --> 05:32.800
الدفعة هي فقط عندما نعمل في الشبكة العصبية ، لأن الشبكة العصبية تتوقع تنسيق

05:32.800 --> 05:34.750
المستشعرات في دفعة.

05:34.780 --> 05:40.420
لكن الآن لدينا مخرجاتنا وفي المعادلة المتوازنة التالية للتعلم العميق ، لن نحتاجها

05:40.420 --> 05:41.290
في دفعة.

05:41.290 --> 05:43.090
لذلك أنا أقتل الدفعة هنا.

05:43.090 --> 05:47.920
أنا أقتل البعد الزائف لاستعادة الشكل البسيط لمخرجاتنا.

05:47.920 --> 05:50.710
لذلك أنا فقط أضيف هنا ، نقطة ثم ضغط.

05:51.320 --> 05:56.000
ثم منذ ذلك الحين أريد أن أقتل البعد المزيف المقابل لمجموعة العمل.

05:56.000 --> 06:01.130
حسنًا ، نظرًا لأن هذا البعد الزائف يحتوي على فهرس واحد ، فأنا أضيف واحدًا هنا.

06:01.370 --> 06:01.940
حسنا.

06:01.940 --> 06:03.500
والآن ، ها نحن ذا.

06:03.500 --> 06:05.810
لدينا مخرجاتنا ، OC.

06:05.810 --> 06:06.860
لدينا القليل من التحذير.

06:06.860 --> 06:07.670
ما هذا؟

06:07.700 --> 06:10.940
يتم تعيين مخرجات المتغير المحلي ولكن لم يتم استخدامها أبدًا.

06:10.940 --> 06:11.750
حسنا.

06:11.750 --> 06:13.220
سوف نستخدمه بسرعة كبيرة.

06:13.670 --> 06:15.410
إذن هذه هي مخرجاتنا.

06:15.410 --> 06:18.560
والآن نريد أن نحصل على التالي.

06:19.360 --> 06:20.260
النواتج.

06:20.260 --> 06:23.560
الآن ربما تفكر ، لماذا نحتاج إلى الناتج التالي؟

06:23.590 --> 06:28.840
حسنًا ، لفهم هذا ، نحتاج إلى العودة إلى خوارزمية التعلم العميق ، الموجودة هنا.

06:28.840 --> 06:31.600
هذا جزء من كتيب المنطق.

06:31.600 --> 06:33.730
هذه هي عملية التعلم العميق برمتها.

06:33.730 --> 06:38.470
في البداية ، نقوم بتهيئة جميع القيم ثم في كل مرة.

06:38.470 --> 06:40.090
تي حسنا ، ها نحن ذا.

06:40.090 --> 06:42.190
نختار الإجراء باستخدام soft max.

06:42.190 --> 06:44.560
هذا ما فعلناه بوظيفة Select Action.

06:44.590 --> 06:50.890
ثم نلحق الانتقال ثم كما ترى ، نحصل على التنبؤ ، نحصل على الهدف ونحسب

06:50.890 --> 06:51.940
الخسارة.

06:51.940 --> 06:54.130
فلماذا نحتاج إلى النواتج التالية أيضًا؟

06:54.130 --> 06:55.780
هذا بسبب الهدف.

06:55.990 --> 07:02.680
الهدف يساوي أوقات جاما ، الناتج التالي بالإضافة إلى المكافأة ، وسوف نحسب الهدف بعد

07:02.680 --> 07:03.670
ذلك مباشرة.

07:03.670 --> 07:07.360
ولكن نظرًا لأننا نحتاج إلى الناتج التالي للهدف ، فلنحسب هذا أولاً.

07:07.540 --> 07:10.780
لذا مرة أخرى ، للحصول على الناتج التالي ، هذا بسيط للغاية.

07:10.780 --> 07:17.710
سيكون الإخراج التالي نتيجة لشبكتنا العصبية عندما يتم إدخالها في التاريخ التالي

07:17.710 --> 07:18.790
كمدخلات.

07:18.910 --> 07:26.830
ببساطة شديدة ، نأخذ نموذجنا الذي هو شبكتنا العصبية ، ثم هذه المرة ستكون مدخلات الشبكة

07:26.830 --> 07:30.640
العصبية هي المجموعة في التاريخ التالي.

07:31.540 --> 07:32.940
تاريخ الدفعة التالي.

07:32.950 --> 07:39.580
لكن الآن ، تذكر ، إذا عدنا إلى خوارزمية التعلم العميق ، حسنًا ، يمكنك أن ترى أن الناتج التالي هو

07:39.580 --> 07:45.430
الحد الأقصى لقيم قائمة الانتظار للمجموعة التالية فيما يتعلق بجميع الإجراءات.

07:45.460 --> 07:49.920
الآن ، للحصول على الناتج التالي ، نحتاج إلى الحصول على الحد الأقصى لقيم Q هذه.

07:49.930 --> 07:57.910
وبالتالي ، سأفعل هنا فصلًا ، كما تعلمون ، لفصل جميع مخرجات النموذج لأن لدينا العديد من الحالات في

07:57.910 --> 08:04.210
هذه الدفعة التالية ، وهذه هي مجموعة جميع الحالات التالية في جميع الانتقالات

08:04.210 --> 08:07.510
المأخوذة من عينة عشوائية من ذاكرتنا.

08:07.600 --> 08:14.440
لذا أقوم بفصلهم جميعًا باستخدام وظيفة الفصل ، ثم أقوم بأخذ الحد الأقصى لجميع قيم قائمة الانتظار

08:14.440 --> 08:15.100
هذه.

08:15.100 --> 08:20.350
ونظرًا لأننا نأخذ الحد الأقصى من قيم Q هذه فيما يتعلق بالإجراء ، حسنًا ، علينا

08:20.350 --> 08:22.810
أن نحدد أنه فيما يتعلق بالإجراء.

08:22.810 --> 08:29.320
ونظرًا لأن الإجراء يمثله المؤشر الأول ، حسنًا ، مرة أخرى ، علينا وضع الفهرس

08:29.650 --> 08:36.010
هنا ثم علينا تحديد أننا نأخذ قيم Q لـ s t زائد واحد وهي الحالة التالية.

08:36.010 --> 08:42.250
ويتم تمثيل الحالة التالية بالرقم القياسي صفر لأن مؤشر الصفر يتوافق مع الحالة.

08:42.250 --> 08:47.140
ومن ثم ، علينا هنا إضافة قوسين بحيث يكون الفهرس صفرًا.

08:47.590 --> 08:54.310
بهذه الطريقة نحصل على الحد الأقصى لقيم Q للحالة التالية التي يمثلها مؤشر الصفر وفقًا لجميع

08:54.310 --> 08:57.430
الإجراءات التي يمثلها الفهرس واحد.

08:58.000 --> 08:59.080
والآن مثالي.

08:59.080 --> 09:01.400
نحصل على ناتجنا التالي.

09:01.420 --> 09:02.770
هذه دولة جديدة.

09:02.770 --> 09:04.120
هذا هو المكان الذي تلقينا فيه التحذير.

09:04.120 --> 09:04.930
لكن هذا جيد.

09:04.930 --> 09:07.690
سنستخدمه الآن لحساب الهدف.

09:08.170 --> 09:12.160
وبالحديث عن الهدف ، هذه هي الخطوة التالية لوظيفة التعلم هذه.

09:12.310 --> 09:13.060
لذا ها نحن ذا.

09:13.090 --> 09:15.400
الهدف يساوي.

09:15.430 --> 09:18.140
الآن دعنا نعود إلى كتيب الذكاء الاصطناعي الخاص بنا.

09:18.160 --> 09:22.090
الهدف يساوي المكافأة بالإضافة إلى أوقات جاما.

09:22.090 --> 09:27.160
الإخراج التالي هو الحد الأقصى لقيم Q في التاريخ التالي وفقًا للإجراءات.

09:27.430 --> 09:28.030
لذا ها نحن ذا.

09:28.030 --> 09:29.080
دعونا نحسب ذلك.

09:29.080 --> 09:36.730
لذلك هذا يساوي الذات ، تلك الجاما والذات ، تلك الجاما تمت تهيئتها هنا يتم تقديمها.

09:36.730 --> 09:46.960
إذن ، هذا متغير من GQ وذات الكائن الذي يضاعف جاما الناتج التالي كما قلنا للتو بالإضافة إلى المكافأة التي هي مكافأة

09:47.110 --> 09:53.170
الدُفعات التي نعمل بها مع الدُفعات هنا بالإضافة إلى الدُفعات.

09:54.570 --> 09:55.290
جائزة.

09:55.620 --> 09:59.190
وهذا هو الهدف في عينة واحدة من الذاكرة.

09:59.580 --> 10:03.360
ضرب جاما في النواتج التالية ، بالإضافة إلى المكافأة.

10:03.720 --> 10:04.980
حسنًا ، رائع.

10:04.980 --> 10:06.890
والآن لدينا مخرجاتنا.

10:06.900 --> 10:08.670
لدينا أيضا هدفنا.

10:08.670 --> 10:14.240
وبالتالي ، يمكننا حساب الخسارة ، الخسارة التي تمثل خطأ التنبؤ.

10:14.250 --> 10:15.690
لذلك دعونا نسمي هذه الخسارة.

10:15.720 --> 10:23.850
خسارة TD هي ، بالطبع ، للاختلاف الزمني الذي هو مرة أخرى في قلب تعلم CU وستكون خسارة

10:24.270 --> 10:30.290
TD هذه مساوية لخسارة Huber التي تحسن كثيرًا من تعلم Q.

10:30.300 --> 10:34.350
هذه هي الوظيفة الأخيرة التي سنختارها لذكائنا الاصطناعي.

10:34.560 --> 10:39.000
بالنسبة لأولئك القادمين من دورة التعلم العميق ، هذه هي الخسارة التي أوصي بها إذا كنت

10:39.000 --> 10:40.620
ترغب في تنفيذ التعلم العميق.

10:40.620 --> 10:43.260
فكيف سنحصل على خسارة هوبر هذه؟

10:43.260 --> 10:49.110
حسنًا ، مرة أخرى ، سنأخذ دالة من الوحدة الوظيفية التي تمثلها F.

10:49.710 --> 10:57.660
وبالتالي ، سأستخدم الوحدة الوظيفية F dot و Hubble كما يمكن الحصول عليها بفضل الوظيفة

10:57.660 --> 11:05.850
السلسة لخسارة واحدة يتم الضغط على إدخال واحد وهي حقًا أفضل وظيفة مفقودة أوصي بها للتعلم

11:05.850 --> 11:07.710
العميق.

11:07.740 --> 11:10.650
إنه يحسن حقًا تعلم Q ، لكن هذه وظيفة.

11:10.650 --> 11:17.010
لذلك أقوم بإضافة بعض الأقواس والآن لا يوجد شيء أكثر بساطة من الحجج التي نحتاجها لإدخال

11:17.250 --> 11:19.200
توقعاتنا والأهداف.

11:19.200 --> 11:24.000
لذا فإن التنبؤات هي بالطبع مخرجاتنا لأن هذا هو ناتج الشبكة العصبية.

11:24.000 --> 11:27.480
كما تعلمون ، ناتج الشبكة العصبية هو ما تتوقعه الشبكة العصبية.

11:27.480 --> 11:28.950
إذن هذا هو التوقع.

11:28.950 --> 11:31.860
لذا فإن الحجة الأولى هنا هي المخرجات.

11:32.250 --> 11:35.730
ثم الحجة الثانية ، بالطبع ، هي الهدف.

11:35.910 --> 11:43.530
الشيء الذي نحاول الحصول عليه وقد تم حسابه بشكل مثالي بالفعل ، يمكننا إدخال الهدف بشكل مثالي والآن

11:43.530 --> 11:45.180
لدينا الخسارة.

11:45.210 --> 11:47.520
فقط نسيت قليلا ر هنا.

11:48.060 --> 11:48.690
هناك نذهب.

11:48.690 --> 11:50.340
الآن يجب أن يختفي التحذير.

11:50.670 --> 11:52.020
نعم ممتاز.

11:52.020 --> 11:57.900
والآن بعد أن حصلنا على الخطأ الأخير ، يمكننا إعادة نشر هذا الخطأ مرة أخرى في الشبكة لتحديث الأوزان

11:57.900 --> 12:00.270
باستخدام نزول متدرج عشوائي.

12:00.270 --> 12:03.150
وهذا بالضبط ما سنفعله في الخطوة التالية.

12:03.240 --> 12:09.600
لذلك بالطبع ، ما يتعين علينا فعله الآن ، كما قد تتخيل ، هو استخدام المُحسِّن الخاص بنا.

12:10.050 --> 12:17.190
مُحسِّننا ، الذي قدمناه هنا مرة أخرى ، قمنا بتهيئته ، وهو مُحسِّن الذرة ، وهو في

12:17.190 --> 12:23.580
الواقع كائن من فئة الذرة ومُزود بالفعل بمعلمات نموذجنا وقد اخترنا بالفعل

12:23.580 --> 12:27.570
معدل التعلم 0. 1 بالمائة.

12:27.570 --> 12:34.830
مثالي جدًا ، مُحسِّننا جاهز ، لكننا الآن بحاجة إلى تطبيقه على الخطأ الأخير لإجراء النسب المتدرج

12:34.830 --> 12:36.960
العشوائي وأوزان البيانات.

12:36.960 --> 12:43.980
لذلك عند العمل مع PyTorch ، فإن أول شيء يتعين علينا القيام به هو إعادة تهيئته في كل تكرار للحلقة.

12:43.980 --> 12:50.940
يجب إعادة تهيئة المُحسِّن من تكرار إلى آخر في حلقة هبوط التدرج العشوائي

12:50.940 --> 12:54.780
وإعادة تهيئته في كل مدة الحلقة.

12:54.930 --> 12:59.700
حسنًا ، سنستخدم الطريقة التالية وهي الشبكة الصفرية.

12:59.730 --> 13:05.010
هنا نبدأ ، ستعيد الشبكة الصفرية تهيئة المحسن الخاص بك في كل تكرار للحلقة.

13:05.010 --> 13:06.990
ثم دعونا لا ننسى الأقواس.

13:07.380 --> 13:08.040
في احسن الاحوال.

13:08.040 --> 13:14.700
والآن بعد أن تمت إعادة تهيئته ، حسنًا ، يمكننا إجراء نشر عكسي باستخدام مُحسِّننا.

13:15.000 --> 13:16.290
وكيف لنا أن نفعل ذلك؟

13:16.290 --> 13:23.100
حسنًا ، نأخذ خسارة TD الخاصة بنا وسنعيد نشرها مرة أخرى في الشبكة ولإعادة نشرها

13:23.100 --> 13:27.720
في الشبكة ، نحتاج إلى استخدام الوظيفة الخلفية.

13:27.960 --> 13:35.220
وداخل هذه الوظيفة العكسية ، أوصي بإدخال المتغيرات والاحتفاظ بها وتأكيدها وتعيينها على

13:35.220 --> 13:36.510
أنها صحيحة.

13:37.080 --> 13:40.950
أوصي بالقيام بذلك لأن هذا سيؤدي إلى تحسين التكاثر الخلفي.

13:40.980 --> 13:46.350
استخدام متغيرات الإرجاع يساوي صحيحًا لتحرير بعض الذاكرة ونحتاج إلى تحرير

13:46.350 --> 13:48.900
الذاكرة لأننا سنخسر عدة مرات.

13:48.900 --> 13:52.650
لذلك سيؤدي ذلك بالتأكيد إلى تحسين أداء التدريب.

13:52.650 --> 13:58.890
وأخيرًا ، تتمثل الخطوة الأخيرة في وظيفة التعلم هذه في تحديث الأوزان وفقًا للانتشار الخلفي

13:58.890 --> 14:02.550
، أي وفقًا لمقدار الوزن الذي ساهم في حدوث الخطأ.

14:02.550 --> 14:11.160
وللقيام بذلك ، نأخذ مُحسِّننا مرة أخرى ، والذي تمت تهيئته وإعادة تهيئته ونستخدم وظيفة الخطوة وببساطة

14:11.160 --> 14:19.110
مع هذا السطر من التعليمات البرمجية باستخدام وظيفة الخطوة ، سيؤدي ذلك إلى تحديث الأوزان.

14:19.260 --> 14:21.630
هذا هو سطر التعليمات البرمجية الذي يقوم بتحديث الوزن.

14:21.660 --> 14:28.710
ينشر هذا السطر من التعليمات البرمجية الخطأ في الشبكة العصبية ويستخدم هذا السطر من التعليمات البرمجية المُحسِّن

14:28.710 --> 14:29.940
لتحديث الأوزان.

14:30.210 --> 14:31.290
وها نحن ذا.

14:31.290 --> 14:33.990
لدينا شبكة التعلم العصبية.

14:35.030 --> 14:35.360
حسنا.

14:35.360 --> 14:36.650
لذا تهانينا.

14:36.650 --> 14:42.200
ربما كان هذا هو الجزء الأكثر تقنية وصعوبة في كل نموذج التعلم العميق هذا.

14:42.200 --> 14:47.750
أعلم أن PyTorch يمكن أن تكون خادعة في بعض الأحيان مع هؤلاء والضغط والضغط ، لكن في

14:47.750 --> 14:54.110
النهاية أعدك أنك ستحصل على شبكة عصبية وظيفية للغاية وبالتالي نموذج التعلم العميق وفي النهاية

14:54.110 --> 14:55.850
ذكاء اصطناعي رائع.

14:56.360 --> 15:02.300
لذا دعنا الآن ننتقل إلى الخطوة التالية من نموذج التعلم العميق الخاص بنا ، والتي ستكون وظيفة التحديث

15:02.300 --> 15:06.950
التي سيتم تحديثها بوضوح عندما يكتشف الذكاء الاصطناعي الحالة الجديدة.

15:06.950 --> 15:12.140
لذلك ، كما تعلم ، سوف يكتشف الحالة الجديدة وبعد ذلك سيحصل على المكافأة اعتمادًا على الإجراء

15:12.140 --> 15:14.960
الذي لعبته للتو وهذه الحالة الجديدة.

15:14.960 --> 15:19.460
لذلك سنهتم بهذا من خلال وظيفة التحديث وسنفعل ذلك في البرنامج التعليمي التالي.

15:19.460 --> 15:20.810
حتى ذلك الحين ، استمتع.

15:20.810 --> 15:21.290
أنا.
