أهلا ومرحبا بكم في هذا البرنامج التعليمي.
حسنًا ، في الدروس السابقة ، صنعنا الدماغ أو إذا كنت تريد العقول لـ a3c ، فنحن الآن بحاجة
إلى تدريب هذا الدماغ.
ولكن من أجل تدريب هذه العقول ، نحتاج إلى مُحسِّن.
سيستخدم هذان الاثنان في نزول التدرج العشوائي لتحديث الأوزان
وفقًا لمدى مساهمتها في الخطأ بين التوقعات والأهداف وما فعلناه حتى الآن في الوحدة الأولى
والثانية ، استخدمنا محسن الذرة عن طريق الشعلة في التدريب.
لكن كما أخبرتك ، نحن نتعامل مع مشكلة صعبة للغاية وهي الاختراق وخوارزمية a3c في حد ذاتها
ليست كافية لحل هذه المشكلة.
نحتاج إلى بعض المحسّنين المخصصين والكثير من الحيل المختلفة لحل هذه المشكلة دون انتظار
الأعمار.
هذا هو الغرض من القيام بذلك ، ولهذا السبب لدينا مُحسِّن مخصص منفصل يعتمد على مُحسِّن
الذرة والموجود في فئة الذرة المشتركة هذه.
ولماذا تشارك الذرة؟
هذا لأنه في الواقع مُحسِّن الذرة ، لكن هذا سيعمل على الدول المشتركة.
لذلك سنقوم بشرح كيفية عملها في هذا البرنامج التعليمي.
لذلك سنستعرض الوظائف المختلفة هنا بدون تشفيرها لأننا ، كما تعلمون ، نريد الاحتفاظ
ببعض الطاقة من أجل التنفيذ التالي.
هذا هو القطار ، ملف PI الذي سيتطلب أكثر من 100 سطر من التعليمات البرمجية.
لذا كن مستعدًا لذلك.
وبالتالي سنحاول شرح ما يحدث هنا في درس تعليمي واحد ، هذا البرنامج التعليمي.
ولنبدأ الآن.
حسنا.
لذلك نقدم أولاً هذا العنصر المشترك للفصل الذي سيحتوي على ثلاث وظائف هي وظيفة init ووظيفة
الذاكرة المشتركة ووظيفة الخطوة.
إذن ما نفعله أولاً هو أننا ورثنا من الذرة ، تلك الذرة ، والتي هي بالطبع محسن الذرة ، والتي
نحصل عليها من وحدة Optim ، من مكتبة الشعلة.
لذلك نحن هنا نطبق الوراثة للحصول على جميع الأدوات المتعلقة بمحسن الذرة.
ثم نبدأ بالدالة init.
إذن ماذا يحدث هنا؟
أولاً ، استخدمنا وظيفة فائقة للتوريث من جميع الأدوات وجميع المعلمات الأساسية من فئة الذرة.
وهذه المعلمات الأساسية هنا هي المعلمات ، ومعدل التعلم ، والبيتا ، والإبسيلون ، وتناقص الوزن.
ثم نبدأ حلقة for وهي أول حلقة for للمجموعة في الذات.
مجموعات بارامز.
إذن أولاً ، ما هي مجموعات البارامز؟
تحتوي الذات التي تقوم بتعليم المجموعات على جميع سمات المُحسِّن.
ومن بين هذه السمات لدينا المعلمات التي يتعين علينا تحسينها.
هذه المعلمات التي نريد تحسينها هي أوزان الشبكة المضمنة في معلمات مجموعات معلمات
النقطة الذاتية.
لذا ها نحن ذا.
المجموعة تنتمي إلى الذات التي تحدد المجموعات.
وهنا لدينا حلقة for الثانية هذه والتي ستحصل على هذه المعلمات التي نريد تحسينها والمضمنة
بالضبط في معلمات مجموعات معلمات النقطة الذاتية.
لذلك بشكل أساسي ، نمر على الذات التي تحدد المجموعات التي تحتوي على جميع المعلمات ولكل مجموعة من
المعلمات في مجموعات معلمات النقطة الذاتية ، سنقوم بالمرور عبر المعلمات التي نريد
تحسينها.
لذلك فإن المعلمات p في المجموعة تعني هنا لكل مستشعر من الأوزان التي نريد تحسينها.
لذلك لكل موتر من الأوزان نريد تحسينها.
ثم ماذا يحدث داخل هذه الحلقة مع هذه الأسطر الأربعة من التعليمات البرمجية؟
ما يحدث أساسًا هو أن التحديث الذي تم إجراؤه بواسطة Atom Optimizer يعتمد على متوسط متحرك
أسي للتدرج اللوني.
هذا هو سطر الكود هنا.
هذا هو المتوسط المتحرك الأسي للتدرج اللوني للحظة ، وهو المتوسط المتحرك من الرتبة الأولى.
لكن التحديث الذي أجراه Atom لا يعتمد فقط على ذلك ، بل يعتمد أيضًا على متوسط متحرك أسي للجذر
التربيعي للتدرج.
هذا هو المتوسط المتحرك الأسي لتدرج الحركة اثنين أو الاثنين.
إذن ، هذا هو المتوسط المتحرك الأسي للطلب الأول وهنا متوسط الحركة الأسي للرتبة الثانية
لكل منهما ، المتوسط المتحرك الأسي للتدرج.
إذن ، ما يحدث هنا والآن إذا كنت ترغب في الحصول على مزيد من العمق حول كيفية عمل
المتوسط المتحرك الأسي ، حسنًا ، أنا أشجعك بشدة على إلقاء نظرة على ورقة البحث هذه ،
آدم طريقة للتحسين العشوائي ، لأن محسن الذرة أساسًا الذي نطبقه الآن يعتمد على الخوارزمية الموجودة
هنا.
لذلك إذا كنت ترغب في الحصول على مزيد من التفاصيل حول كيفية عمل الخوارزمية ، حسنًا ، ستكون هذه الورقة مفيدة
بالتأكيد.
وبعد ذلك لديك بعض التفسيرات الإضافية حول الخوارزمية بقواعد تحديث الذرات.
وهكذا ، كما تعلمون ، هذا فقط إذا كنت تريد مهاجمة هذا قبل مهاجمة وظيفة القطار الكبيرة التي
سنقوم بها بعد ذلك.
حسنًا ، دعنا نعود إلى Python والآن لننتقل إلى الوظيفة الثانية ، مشاركة الذاكرة.
لذا الآن سأقول بضع كلمات.
إن فكرة وظيفة ذاكرة المشاركة هذه تشبه إلى حد ما الموتر الذي Cuda ، كما تعلمون ، CUDA هو مسرّع يعتمد على وحدة معالجة
الرسومات.
وما يحدث هنا بشكل أساسي هو أن لدينا هذه المستشعرات للحالات التي تشترك في الذاكرة
هنا ، وهنا وهنا تتصرف قليلاً مثل Tensor ، هذا Cuda.
لذا ، كما تعلم ، قم بتسريع العمليات الحسابية.
لكن الاختلاف هنا هو أن الموتر هنا هو ذاك تشارك الذاكرة ، ويرسل الحسابات إلى جزء من وحدة معالجة الرسومات أو
وحدة المعالجة المركزية التي يمكن الوصول إليها من جميع الخيوط المشلولة.
لذلك هذا ما تم القيام به هنا بشكل أساسي.
هذا يشبه إلى حد ما Tensor Cuda ، لكنه يتم إرساله فقط إلى جزء من وحدة معالجة الرسومات أو وحدة المعالجة المركزية التي يمكن الوصول إليها من خلال
سلاسل الخطوط المتوازية.
حسنا.
ثم لدينا خطوة الوظيفة الأخيرة.
لذا ، كما تعلمون ، هذه الوظيفة ، تشبه طريقة الخطوة لمحسن الذرة الذي استخدمناه بالفعل في
هذه الدورة.
ومرة أخرى ، هذا يعتمد على الخوارزمية ، واحدة من نفس الأوراق التي رأيناها من قبل.
إذن هذه الخوارزمية.
مرة أخرى ، إذا كنت تريد أن تفهم بالتفصيل سطور التعليمات البرمجية التالية ، حسنًا ، مرة أخرى
، أشجعك على إلقاء نظرة على هذه الخوارزمية من خلال هذه الورقة.
وإلى جانب ذلك ، ما يتم القيام به هنا ليس إلزاميًا تمامًا لأن هذا في الواقع عبارة عن نسخة لصق من
طريقة الخطوة لفئة الذرة المحسّنة.
إذن ما الذي يتم عمله هنا بشكل أساسي؟
كان بإمكاننا فعل ذلك باستخدام ميراثنا لأننا هنا نرث من الذرة المحسنة.
ومن أجل استخدام ميراثنا جيدًا ، ما يمكننا فعله بدلاً من القيام بكل هذا هو فقط سأكتب
هنا كتعليق.
إنها فقط تستخدم الوظيفة الفائقة التي نطبقها على مشاركتنا.
فئة الذرة ثم كائننا الذاتي.
وهنا نضيف الخطوة مع الأقواس.
الخطوة هي طريقة فئة العنصر المحسّنة وهي نفسها تمامًا.
لهذا السبب كنت أقول فقط هنا مجرد نسخة من لصق طريقة الخطوة لفئة Optim atom.
لذلك أعتقد أنك إذا استبدلت كل هذا بهذه الوظيفة الفائقة المطبقة لمشاركة الذرة وطريقة الخطوة ، حسنًا
، قد نحصل على نفس الشيء تمامًا.
حسنا.
لذلك كان من الممتع إلقاء نظرة سريعة عليه.
في الأساس ، يمكنك أن ترى هذا على أنه مُحسِّن الذرة.
يبدو الأمر كما لو أننا ألقينا نظرة أعمق عليه.
لكن مرة أخرى ، إذا كنت تريد الدخول في مزيد من التفاصيل حول هذا الأمر وإذا كنت تريد أن تفهم ما
يحدث وراء الكواليس ، حسنًا ، أشجعك على إلقاء نظرة على هذه الورقة البحثية.
سأضع الرابط في التعليقات هنا.
كما تعلم ، تذكر ، سيتم التعليق على جميع الرموز بتفاصيل رائعة.
لذلك من الجيد حقًا إذا كان بإمكانك إلقاء نظرة عليها.
والآن أتمنى أن يكون لديك بعض الطاقة الكبيرة لأننا سننتقل إلى ملف القطار الذي سيحتوي على وظيفة القطار
الضخمة هذه والتي ستدرب أدمغتنا بشكل أساسي ، وهو ما يمكننا فعله الآن لأن
لدينا مُحسِّننا.
لذا احصل على استراحة جيدة الآن ، واستمتع بنوم جيد.
وكلما شعرت أنك بحالة جيدة ، دعنا ننتقل إلى الخطوة التالية.
حتى ذلك الحين ، استمتع.
أنا.