إن تدريب الشبكات العصبية العميقة من نقطة الصفر ليس بالأمر السهل.
يستغرق الكثير من البيانات والوقت للتعلم ، ولكن بعض الحيل يمكن أن تساعد في تسريع العملية ، والتي سأتحدث عنها في إطار الخفض.
مظاهرة مرور متاهة بسيطة باستخدام الحيل. مدة تدريب الشبكة: 1 ساعة 06 دقيقة. تسجيل تسارع بنسبة 8 مرات.
لكل مهمة ، تحتاج إلى تطوير مجموعة من الحيل الخاصة بك لتسريع تعلم الشبكة. سوف أشارك بعض الحيل التي ساعدتني في تدريب الشبكة بشكل أسرع بكثير.
للمعرفة النظرية ، أوصي
بالانتقال إلى قناة
sim0nsays .
وسأتحدث عن نجاحاتي المتواضعة في تدريب الشبكات العصبية.
بيان المشكلة
لتقريب وظيفة التقارب من خلال تقليل وظيفة الخسارة التربيعية عن طريق الانتشار الخاطئ للخطأ بواسطة الشبكات العصبية العميقة.كان لدي خيار إستراتيجي حول كيفية تدريب شبكة عصبية.
شجّع على إتمام المهمة بنجاح أو شجعك وأنت تقترب من إتمام المهمة.
اخترت الطريقة الثانية ، لسببين:
- إن احتمال وصول الشبكة إلى خط النهاية من تلقاء نفسها ضئيل للغاية ، لذلك سيكون مصيرها تلقي الكثير من التعزيزات السلبية. سيؤدي ذلك إلى إعادة تعيين أوزان جميع الخلايا العصبية ولن تكون الشبكة قادرة على مزيد من التدريب.
- الشبكات العصبية العميقة قوية. لا أستبعد أن الطريقة الأولى كانت ستنجح لو كان لديّ قوة حوسبية ضخمة ووقت كثير للتدريب. أخذت الطريق بأقل تكلفة من خلال تطوير الحيل.
بنية الشبكة العصبية
يتم تطوير العمارة بشكل تجريبي ، بناءً على خبرة المهندس المعماري وحظاً سعيداً.
العمارة لحل المشكلة:
- 3 الخلايا العصبية المدخلة - إحداثيات العامل وقيمة الخلية مرت (نطبيع في المدى من 0 إلى 1).
- طبقتان مخفيتان من 256 و 128 خلية عصبية (نقوم بتقليل بعد الطبقات نحو إخراج الشبكة).
- 1 طبقة إسقاط الخلايا العصبية العشوائية لشبكة التعلم الاستدامة.
- 4 الخلايا العصبية الإخراج - احتمال تحديد أي جانب لاختيار للخطوة التالية.
- وظيفة تنشيط الخلايا العصبية: السيني. محسن: آدم.
يعطي sigmoid 4 احتمالات عند الإخراج في النطاق من 0 إلى 1 ، مع اختيار الحد الأقصى ، نحصل على الجانب للخطوة التالية: [jumpTop ، jumpRight ، jumpBottom ، jumpLeft].
تطوير العمارة
يحدث إعادة التدريب عند استخدام نماذج معقدة للغاية.
هذا عندما تتذكر الشبكة بيانات التدريب والبيانات الجديدة التي لم تشاهدها الشبكة بعد ، ستعمل بشكل سيئ لأن الشبكة لم تكن بحاجة للبحث عن التعميمات ، حيث كان لديها ذاكرة كافية لحفظها.
نقص التعليم - مع نماذج غير معقدة بشكل كاف. هذا عندما يكون لدى الشبكة بيانات تدريب قليلة للعثور على التعميمات.
الخلاصة: كلما زاد عدد الطبقات والخلايا العصبية فيها ، زادت الحاجة إلى مزيد من البيانات للتدريب.
ميدان اللعب

قواعد اللعبة
0 - دخول هذه الخلية ، يتم تدمير العامل.
1..44 - الخلايا التي تزيد قيمها مع كل خطوة.
كلما ذهب الوكيل ، زادت المكافأة التي سيحصل عليها.
45 - النهاية. في الوقت نفسه ، لا يحدث التدريب ، إنه فقط عندما يتم تدمير جميع العوامل ، ويكون خط النهاية استثناءً يستخدم ببساطة الشبكة المدربة بالفعل للتنبؤ التالي من بداية المتاهة.
وصف المعلمات
يحتوي العامل على "هوائيات" في أربعة اتجاهات منه - يلعبون دور الذكاء البيئي ويشكلون وصفًا لإحداثيات العامل وقيمة الخلية التي يقف عليها.
يلعب الوصف دور التنبؤ بالاتجاه التالي لحركة الوكيل. أي أن العامل يقوم بمسح ما هو التالي ، وبالتالي ، بمرور الوقت ، تتعلم الشبكة التحرك في اتجاه زيادة قيمة الخلية وعدم تجاوز حدود الحركة المسموح بها.
الغرض من الشبكة العصبية: للحصول على المزيد من المكافآت.
غرض التعلم: للتشجيع على اتخاذ الإجراءات الصحيحة ، كلما كان العامل أقرب إلى حل المهمة ، زادت المكافأة للشبكة العصبية.
حيل
استغرقت المحاولات الأولى للتعلم بدون حيل عدة ساعات من التدريب وكانت النتيجة بعيدة عن الاكتمال. بتطبيق تقنيات معينة ، تم تحقيق النتيجة في ساعة واحدة وست دقائق فقط!
حلقات العميل
أثناء التدريب ، بدأت الشبكة في اتخاذ القرارات ، واتخاذ خطوات ذهابًا وإيابًا - مشكلة "الاستخدام". كلتا الحركتين تعطي الشبكة مكافأة إيجابية ، والتي أوقفت عملية استكشاف المتاهة ولم تسمح بالخروج من الحد الأدنى المحلي.
كانت المحاولة الأولى لإيجاد حل هي الحد من عدد تحركات العامل ، ولكن هذا لم يكن الأمثل ، حيث قضى الوكيل الكثير من الوقت في حلقة قبل التدمير الذاتي. كان أفضل حل هو تدمير العامل إذا ذهب إلى الزنزانة بقيمة أقل من القيمة التي يقف عليها - الحظر المفروض على الاتجاه المعاكس.
البحث أو الاستخدام
تم استخدام خدعة بسيطة لاستكشاف المسارات حول الوضع الحالي للعامل: في كل خطوة ، سيكون 5 وكلاء باحثين "طوعيين". وسيتم اختيار مسار هذه العوامل بشكل عشوائي ، وليس من خلال توقعات الشبكة العصبية.
وبالتالي ، لدينا احتمالية متزايدة بأن يتقدم أحد الوكلاء الخمسة أكثر من الآخرين ويساعد في تدريب الشبكة على تحقيق نتائج أفضل.
الخوارزمية الجينية
في كل عصر ، يشارك 500 وكيل في الملعب. يتم تنفيذ التنبؤات لجميع العوامل في وضع غير متزامن لجميع العوامل في وقت واحد ، علاوة على ذلك ، يتم تفويض العمليات الحسابية إلى gpu. وبالتالي ، نحصل على استخدام أكثر كفاءة لقوة الحوسبة للكمبيوتر ، مما يؤدي إلى تقليل الوقت للتنبؤ بشبكة عصبية لـ 500 وكيل في وقت واحد.
يعمل التوقع بشكل أسرع من التدريب ، وبالتالي فإن الشبكة لديها المزيد من الفرص للمضي قدمًا في المتاهة بأقل قدر من الوقت وأفضل نتيجة.
تعلم الأفضل في الجيل
طوال الحقبة ، لـ 500 عميل ، يتم الحفاظ على نتائج تقدمهم عبر المتاهة. عندما يتم تدمير العميل الأخير ، يتم اختيار أفضل خمسة عملاء من أصل 500 - والذين وصلوا إلى المتاهة الأبعد.
بناءً على أفضل نتائج العصر ، سيتم تدريب شبكة عصبية.
وبالتالي ، سوف نقوم بتقليل مقدار الذاكرة المستخدمة من خلال عدم حفظ الشبكة وعدم تدريبها على العوامل التي لا تقدم الشبكة.
اكتمال
ولأنني لست متخصصًا في هذا المجال ، فقد تمكنت من تحقيق بعض النجاح في تدريب الشبكة العصبية ، وسوف تنجح في تحقيق ذلك!
نسعى جاهدين للتعلم بشكل أسرع من أجهزة الكمبيوتر ، بينما نقوم بعمل أفضل.
المواد
مستودع مع رمزإطلاق تدريب المتصفحوثائق tensorflow.js ، حيث يمكنك أيضًا العثور على موارد إضافية للتعلم.
الكتب
- التعلم العميق. الانغماس في عالم الشبكات العصبية
S. Nikolenko و A. Kadurin و E. Arkhangelskaya
- تعلم الآلة و TensorFlow
ن. شاكلا
- نظم التعلم الذاتي
S. I. Nikolenko، A. L. Tulupyev
- التدريب التعزيز
ر. سوتون ، ج. بارتو
- بطاقات التنظيم الذاتي
تي. كوهونين
شكرا لاهتمامكم!