WEBVTT

00:00.360 --> 00:02.490
مرحبًا ومرحبًا بكم في برنامج Python التعليمي هذا.

00:02.520 --> 00:07.530
سنقوم الآن بعمل الوظيفة الأمامية التي ستعيد توجيه الإشارة في جميع

00:07.530 --> 00:13.050
أنحاء الدماغ من البداية مع إدخال الصور حتى الإخراج ، والتي ستحتوي على قيم جديلة

00:13.050 --> 00:17.920
للممثل وقيمة V وهي القيمة المأخوذة بواسطة وظيفة V للناقد.

00:17.940 --> 00:23.720
لذا سيكون الأمر مشابهًا تمامًا لما فعلناه مع Doom ، لكن شيئًا ما سيتغير هذه المرة.

00:23.730 --> 00:29.040
الشيء الرئيسي الذي سيتغير هو أنه لدينا الآن جهاز صراف آلي في الدماغ ، لذلك علينا جميعًا أن

00:29.040 --> 00:32.280
نفعل شيئًا أكثر لنشر الإشارة وأن نكون حذرين في ذلك.

00:32.580 --> 00:38.220
والشيء الآخر الأقل أهمية ، ولكن لا يزال هذا يتغير مقارنة بالسابق ، هو

00:38.220 --> 00:43.800
أننا لن نستخدم وظيفة تنشيط الحلقة ، كما تعلمون ، وظيفة التنشيط غير الخطي

00:43.800 --> 00:48.770
، لكننا سنستخدم الحلقة ، وهي نوع من وظيفة أكثر تطورا.

00:48.780 --> 00:51.210
سنرى ذلك في وثائق بايثون.

00:51.630 --> 00:52.770
لذلك دعونا نفعل هذا.

00:52.770 --> 00:54.180
دعونا نجعل هذه الوظيفة.

00:54.180 --> 00:55.800
نبدأ مع مواطنه.

00:55.890 --> 00:58.980
هذه في الواقع الوظيفة الأخيرة لهذه الفئة النشطة.

00:58.980 --> 01:02.400
لذلك سوف نسميها للأمام مثل المرة السابقة.

01:02.400 --> 01:09.930
وهذه الوظيفة الرابعة ستأخذ ذاتيًا الكائن لأننا سنستخدم الكائن والمدخلات.

01:09.930 --> 01:13.320
من المهم جدًا أن نفهم ماذا ستكون هذه المدخلات؟

01:13.350 --> 01:19.110
لن تكون هذه مدخلات الصور فحسب ، بل ستحتوي هذه المدخلات أيضًا على العقد المخفية وعقد

01:19.110 --> 01:20.810
الخلية الخاصة بالفريق.

01:20.850 --> 01:24.300
لهذا السبب أردت أن أوضح أن بعض الأشياء ستتغير.

01:24.300 --> 01:30.020
الآن ، في الأساس ، نحن ندرس في الوظيفة الأمامية العقد المخفية في العقد الخلوية

01:30.040 --> 01:30.720
لـ STM.

01:30.930 --> 01:38.760
وبالحديث عنهم الآن ، ما سنفعله هو فصل هذين المُدخَلين في هذه الحجة ، والمدخلات في الدالة إلى الأمام

01:38.760 --> 01:41.440
، وكيف يمكننا الفصل بينهما؟

01:41.460 --> 01:46.050
حسنًا ، يمكننا أن نتذكر متغيرًا جديدًا ، وهو الصور المدخلة.

01:46.050 --> 01:55.110
هذه المرة ، الصور المدخلة ونفصلها عن المجموعة H و X و C x ، وهي عبارة عن حالتين مخفيتين

01:55.110 --> 02:02.520
وحالات الخلية في lsg m ، لذا فإن h x هي الحالات المخفية و c x هي حالات الخلية

02:02.550 --> 02:03.720
.

02:04.440 --> 02:04.800
حسنا.

02:04.800 --> 02:07.470
وهذا سيساوي المدخلات.

02:07.470 --> 02:09.030
هذه هي الحجة هنا.

02:09.420 --> 02:15.000
الآن نقوم بهذا الفصل وبالتالي يمكننا البدء في نشر الإشارة في جميع أنحاء الدماغ.

02:15.000 --> 02:21.030
وللقيام بذلك ، سوف نحصل على الطبقات المختلفة تباعا من الأولى إلى الأخيرة

02:21.030 --> 02:30.060
باستخدام الوصلات التي هي التلافيف ، ووصلة lshtm والاتصال الخطي هنا ، والوصلات الكاملة.

02:30.210 --> 02:31.650
لذلك دعونا نفعل هذا الآن.

02:31.650 --> 02:33.470
ستكون كما كانت من قبل.

02:33.480 --> 02:39.060
سنحصل على الطبقة الأولى التي سنطلق عليها اسم X ، ولحصول على هذه الطبقة الأولى ، نحتاج

02:39.060 --> 02:44.880
إلى نشر الإشارة من الإدخال إلى هذه الطبقة الأولى ، وبالتالي نحتاج إلى استخدام الالتفاف

02:44.880 --> 02:51.660
الأول لأنه هذا الالتواء الأول الذي ينشر الإشارة من الصور المدخلة إلى الطبقة الأولى.

02:51.840 --> 02:58.020
إذن ما سنفعله الآن هو نسخ هذا لأن هذا هو الالتفاف الأول الذي نقوم بلصقه هنا ونطبق

02:58.020 --> 03:04.710
هذا الالتفاف الأول على صور الإدخال لدينا والتي هي الآن المدخلات الصحيحة.

03:04.710 --> 03:05.640
وها نحن ذا.

03:05.640 --> 03:09.480
يقوم ذلك بنشر الإشارة من الصور المدخلة إلى الطبقة الأولى.

03:09.600 --> 03:16.170
لكن تذكر الآن ، علينا استخدام وظيفة تنشيط غير خطية لكسر الخطية حتى نتمكن

03:16.170 --> 03:20.040
من تعلم العلاقات غير الخطية داخل الصور.

03:20.040 --> 03:25.830
وللقيام بذلك ، سنستخدم ، كما قلنا ، وظيفة تنشيط ALU التي نحن على وشك رؤيتها

03:25.830 --> 03:27.990
الآن في PyTorch doc.

03:27.990 --> 03:29.940
لكن قبل ذلك ، دعنا نحصل عليه.

03:29.940 --> 03:36.450
للحصول عليها ، يبدو الأمر كما لو أننا نأخذ الوحدة الوظيفية التي تحتوي على مقطع قصير

03:36.450 --> 03:45.750
F ثم نقطة ثم Alu ثم نضع كل هذا بين قوسين لأننا نريد تنشيط الخلايا العصبية لهذه الطبقة الأولى هنا بشكل غير خطي والتي نحصل

03:45.750 --> 03:50.730
عليها من خلال التطبيق الالتفاف الأول على المدخلات.

03:50.970 --> 03:55.050
الآن دعنا نذهب إلى PyTorch ، دوج ، لفهم ما هو ALU.

03:55.080 --> 04:02.130
هنا يمكنك الوصول إليه إلى pytorch dot org slash doug slash rn dot html.

04:02.130 --> 04:04.860
ومن ثم عليك أن تجد عمليات التنشيط غير الخطية.

04:05.310 --> 04:10.470
وفي وظيفة التنشيط غير الخطية ستجد جيدًا ، لو ، هذه هي الطريقة الكلاسيكية التي نعرفها.

04:10.470 --> 04:16.500
إذن ، هو مجرد حد أقصى للصفر و x ، لديك التمثيل البياني في الاعتبار ، ثم لديك إصدار ستة ، وهو

04:16.500 --> 04:17.100
هذا.

04:17.100 --> 04:19.260
لذلك قليلا أكثر تطورا.

04:19.260 --> 04:20.040
وها نحن ذا.

04:20.040 --> 04:21.060
لدينا لو.

04:21.330 --> 04:26.400
وكما ترى ، الحلقة هي حلقة بالإضافة إلى عنصر إضافي.

04:26.400 --> 04:29.130
لذلك فهي مثل قيمة أكثر تعقيدًا.

04:29.130 --> 04:33.960
وهذا هو ما نستخدمه لتنشيط الخلايا العصبية في الطبقات المختلفة بشكل غير خطي.

04:33.960 --> 04:39.030
وبالمناسبة ، فإن وظيفة تنشيط الحلقة هذه تسمى الوحدة الخطية الأسية.

04:39.300 --> 04:40.170
لذا ها نحن ذا.

04:40.170 --> 04:46.170
نطبق الحلقة على الطبقة التلافيفية الأولى والآن ستكون الأمور سهلة.

04:46.170 --> 04:52.230
سننتقل إلى الانتشار الرابع التالي للإشارة ، والذي يبدأ من الطبقة التلافيفية الأولى

04:52.230 --> 04:58.980
إلى الطبقة التلافيفية الثانية ، والتي سنسميها X ، لأننا في الأساس نقوم بتحديث X الآن ، x هي

04:58.980 --> 05:05.430
أول تلافيف طبقة ومن خلال نشر الإشارة من الطبقة التلافيفية الأولى إلى الطبقة التالية

05:05.430 --> 05:09.060
، ستصبح x الطبقة التلافيفية التالية.

05:09.270 --> 05:15.120
ومن أجل نشر الإشارة من الطبقة التلافيفية الأولى إلى الطبقة الثانية ، يمكننا

05:15.120 --> 05:20.310
ببساطة نسخها ولصقها هنا واستبدال conf واحد بـ conf اثنين.

05:20.310 --> 05:25.920
والآن بالطبع لا يتم تطبيق الالتفاف الثاني على الصور المدخلة بل على x.

05:25.920 --> 05:29.400
هذه هي الطبقة التلافيفية الأولى الموجودة هنا.

05:29.670 --> 05:30.630
حسنًا ، رائع.

05:30.630 --> 05:36.720
الآن نحصل على الطبقة التلافيفية الثانية ، والآن لننشر الإشارة مرة أخرى من الطبقة التلافيفية الثانية إلى

05:36.720 --> 05:37.950
الطبقة الثالثة.

05:37.950 --> 05:45.660
وبالتالي ، يمكننا نسخ هذا مباشرة ووضعه في الأساس هنا والتعويض عن اثنين في ثلاثة.

05:45.810 --> 05:46.710
هناك نذهب.

05:46.710 --> 05:52.740
وآخرها الآن لنشر الإشارة من الطبقة التلافيفية الثالثة إلى الطبقة الرابعة والأخيرة

05:52.740 --> 05:58.620
، يمكننا فقط نسخ هذا مرة أخرى ، ولصقه هنا واستبدال المعسكر ثلاثة بأربعة.

05:58.650 --> 05:59.460
هناك نذهب.

06:00.000 --> 06:01.560
لذلك دعونا نلخص.

06:01.590 --> 06:03.240
نبدأ بمدخلاتنا.

06:03.240 --> 06:06.930
نطبق الالتفاف الأول للحصول على الطبقة التلافيفية الأولى.

06:07.080 --> 06:12.090
ثم نطبق الالتفاف الثاني على الطبقة التلافيفية الأولى للحصول على الطبقة التلافيفية

06:12.090 --> 06:12.720
الثانية.

06:12.720 --> 06:18.300
ثم نطبق الالتفاف الثالث على الطبقة التلافيفية الثانية للحصول على الطبقة التلافيفية الثالثة.

06:18.300 --> 06:24.570
وأخيرًا قمنا بتطبيق الالتفاف الرابع على الطبقة التلافيفية الثالثة للحصول على الطبقة التلافيفية

06:24.570 --> 06:29.700
الرابعة ، وهذه هي الطريقة التي تنتشر بها الإشارة عبر عيون الذكاء الاصطناعي.

06:29.820 --> 06:30.600
لذا ها نحن ذا.

06:30.600 --> 06:35.550
لدينا الآن إشارة الخرج بعد التلافيف الأربعة والآن أنت تعرف ماذا تفعل.

06:35.550 --> 06:40.710
نحتاج إلى توسيع إشارة الخرج هذه بالكامل في متجه أحادي الأبعاد.

06:40.710 --> 06:42.570
هذه هي خطوة التسطيح.

06:42.630 --> 06:45.060
لذلك سنقوم بتحديث X مرة أخرى.

06:45.090 --> 06:48.690
سيصبح X الآن هذا المتجه ذو البعد الواحد المسطح.

06:49.050 --> 06:55.110
وللقيام بذلك ، علينا أن نأخذ X ، وهي الطبقة التلافيفية الرابعة

06:55.620 --> 06:57.180
x نقطة حتى الآن.

06:57.330 --> 07:03.720
ثم نستخدم الدالة Vue ونُدخل أولاً ناقص واحد لنقول إننا نريد.

07:03.800 --> 07:05.240
المتجه أحادي البعد.

07:05.240 --> 07:10.940
ثم كحجة ثانية ، نحتاج إلى إدخال عدد العناصر في هذا المتجه ، أي تذكر

07:10.940 --> 07:16.280
، 32 مرة ، ثلاثة في ثلاثة ، وبالتالي فإننا ندخل هنا 32.

07:17.060 --> 07:19.670
ضرب ثلاثة ضرب ثلاثة.

07:20.120 --> 07:20.650
هناك نذهب.

07:20.660 --> 07:24.290
الآن لدينا المتجه المسطح الخاص بنا ويتم تنفيذ خطوة التسطيح.

07:24.530 --> 07:25.290
في احسن الاحوال.

07:25.310 --> 07:27.980
الآن دعنا نعتني بالجزء الأخير.

07:27.980 --> 07:31.610
لذا كما فهمت ، فإن Lshtm يأخذنا إلى المدخلات.

07:31.610 --> 07:36.830
المتجه المسطح ، هذا المتجه أحادي الأبعاد المكون من ثلاثة ، مرتين ، ثلاثة في ثلاثة عناصر.

07:36.950 --> 07:40.250
لذلك فهو جاهز بالفعل ومجهز جيدًا لـ Lshtm.

07:40.250 --> 07:47.120
أصبح Lshtm جاهزًا الآن لأخذ هذا المتجه المسطح كمدخل ، وبالتالي يمكننا أخذ

07:47.240 --> 07:49.820
lshtm والمدخلات كحجة.

07:49.820 --> 07:55.820
أول X عبارة عن متجه مسطح جاهز هذا هو الأشعة السينية التي أنفقناها للتو.

07:56.000 --> 08:00.620
ولكن أيضًا وهنا يأتي دور هذا الثنائي.

08:00.650 --> 08:08.660
نحتاج إلى إدخال H و X و C و x ويمكننا استخدام x ونرى x هنا لأننا قمنا بعمل الفواصل من وسيطة

08:08.660 --> 08:12.230
الإدخال الأصلية للدالة الأمامية.

08:12.740 --> 08:19.010
لذا lshtm x متجه الإخراج المسطح حتى التلافيف الأربعة وهذا الجدول للعقد المخفية

08:19.010 --> 08:19.940
والخلية.

08:20.330 --> 08:21.230
لذا ها نحن ذا.

08:21.230 --> 08:26.030
إذن يجب ألا ننسى الذات لأن lshtm هو متغير في وظيفة النهاية.

08:26.030 --> 08:33.560
لذا فإن المتغيرات تعلق على الكائن بحيث يكون ذاتيًا LCM وهذا سيعود في الواقع إلى مخرجات جدول من اثنين من المخرجات

08:33.560 --> 08:37.670
والتي ستكون عقد صحة الإخراج وعقد خلية الإخراج.

08:37.670 --> 08:46.130
إذن فهي في الواقع مجموعة ، وبالتالي يمكننا تحديث h x العقد المخفية ورؤية x العقد الخلوية لأن هذا

08:46.130 --> 08:48.920
هو بالضبط ناتج lshtm هذا هنا.

08:49.930 --> 08:50.380
رائعة.

08:50.380 --> 08:52.660
لذلك نحن على وشك الانتهاء الآن.

08:52.660 --> 08:58.780
الآن بعد أن أصبح لدينا مخرجات فريق LLS ، نحتاج إلى الحصول على المخرجات المفيدة لأن الملاحظات

08:58.780 --> 09:05.230
الهندوسية فقط هي المفيدة في الواقع ، وبالتالي سنحصل عليها بتحديث x مرة أخرى ، وستكون x الآن

09:05.230 --> 09:06.970
مساوية لـ h x.

09:07.270 --> 09:13.810
العنصر الأول من الزوج الناتج لـ LSB x يساوي h x وقد انتهينا تقريبًا.

09:14.020 --> 09:18.580
تذكر أن لدينا عقلين ، عقل للممثل وعقل للناقد.

09:18.580 --> 09:24.340
وبالتالي علينا إخراج إشارات لإرجاع إشارة خرج الممثل وإشارة خرج

09:24.340 --> 09:25.150
الناقد.

09:25.330 --> 09:29.350
وبالتالي ، ما سنفعله الآن هو إرجاع إشارات الخرج هاتين.

09:29.350 --> 09:30.640
وكيف يمكننا فعل ذلك؟

09:30.640 --> 09:31.870
حسنًا ، هذا سهل جدًا.

09:31.870 --> 09:35.230
نحتاج ببساطة إلى أخذ اتصالاتنا الخطية الكاملة.

09:35.230 --> 09:39.880
لكن بشكل منفصل ، هناك الارتباط الخطي الكامل للناقد والاتصال الكامل الخطي

09:39.880 --> 09:40.660
للممثل.

09:40.960 --> 09:47.800
ونطبق كل من هذه الوصلات على المخرج x الذي يمثل الناتج المفيد لـ lshtm وسيكون هذا

09:47.800 --> 09:50.170
كل ما سيكون إشارة الخرج.

09:50.170 --> 09:51.730
ها نحن ذا ، لنفعل ذلك.

09:51.730 --> 09:58.990
نأخذ أنفسنا أولاً في موضوعنا ، ثم نحصل على اتصال القدم الخطي للناقد ،

09:59.140 --> 10:06.730
وهو عبارة عن خط سفلي للناقد نطبقه على x ، إشارة خرج lshtm ثم نأخذ الذات مرة

10:06.730 --> 10:13.750
أخرى ، ثم ذلك ، ثم نأخذ الاتصال الكامل الخطي للممثل ، وهو الممثل الخطي

10:13.750 --> 10:16.090
الذي نطبقه على x.

10:16.090 --> 10:17.020
هناك نذهب.

10:17.920 --> 10:19.520
لذلك هذا هو الشيء الرئيسي الذي نحتاجه.

10:19.540 --> 10:25.780
ولكن بعد ذلك سنقوم أيضًا بإرجاع الجزء العلوي من جميع الملاحظات المخفية ونرى X لبيع الملاحظات لأننا

10:25.780 --> 10:28.990
سنستخدمها لاحقًا في الحلقة الرجعية لمشهد LSB.

10:29.350 --> 10:30.340
حسنًا ، رائع.

10:30.340 --> 10:36.070
لقد انتهينا الآن من الدماغ أو هل ينبغي أن أقول الأدمغة ، لأننا صنعنا بالفعل عقلين ، أحدهما

10:36.070 --> 10:37.950
للممثل والآخر للناقد.

10:37.960 --> 10:41.900
لذا تهانينا على صنع أدمغة a3c.

10:41.920 --> 10:48.160
آمل ألا يكون ذلك صعبًا جدًا على الجمع بين CNN و LCM ، ولكن الخبر السار على الأقل هو

10:48.160 --> 10:51.070
أننا نعمل حقًا مع أفضل وأقوى نموذج.

10:51.070 --> 10:52.810
لذا ها نحن ذا.

10:52.840 --> 10:56.590
لقد انتهينا بالفعل من نموذج الملف الأول ، تلك الكعكة.

10:56.620 --> 11:02.050
وهكذا في البرنامج التعليمي التالي ، سنهتم بالمحسِّن لأننا سنصنع مُحسِّنًا

11:02.050 --> 11:03.010
منفصلاً.

11:03.040 --> 11:08.170
لن نقوم بترميز كل سطر من التعليمات البرمجية لأن الكثير منه يأتي من الأوراق البحثية.

11:08.170 --> 11:10.270
وهذا في الواقع محدد جدًا.

11:10.270 --> 11:16.450
وإذا دخلنا في التفاصيل العميقة لما يحدث مع هذا المُحسِّن ، فقد يكون هذا مربكًا جدًا

11:16.450 --> 11:22.360
لما سيحدث بعد ذلك لأنه لا يزال لدينا وظيفة القطار التي يجب القيام بها ، والتي ستكون

11:22.360 --> 11:26.750
وظيفة ضخمة والتي تحتوي على الخوارزمية من المخاطر.

11:26.800 --> 11:31.570
لذا ثق بي ، فأنت تريد الاحتفاظ ببعض الطاقة من أجل ذلك ، وبالتالي لن نقضي الكثير من الوقت في

11:31.570 --> 11:32.260
هذا الأمر.

11:32.260 --> 11:37.630
لكن مع ذلك ، سأشرح الكود وستفهم الفكرة الكاملة وراء هذا المُحسِّن.

11:37.960 --> 11:43.540
لذا ، تهانينا مرة أخرى على إنشاء فصل إبداعي نشط وسأراكم في البرنامج التعليمي التالي لإنشاء

11:43.540 --> 11:44.470
المحسن.

11:44.500 --> 11:45.670
حتى ذلك الحين ، استمتع.

11:45.670 --> 11:45.970
أنا.
