مصادم هادرون الكبير و Odnoklassniki

استمرارًا لموضوع مسابقات التعلم الآلي على حبري، نود أن نقدم للقراء منصتين إضافيتين. من المؤكد أنها ليست ضخمة مثل kaggle، لكنها بالتأكيد تستحق الاهتمام.

مصادم هادرون الكبير و Odnoklassniki

شخصيا لا أحب الكسل كثيرا لعدة أسباب:

  • أولا، غالبا ما تستمر المسابقات هناك لعدة أشهر، والمشاركة النشطة تتطلب الكثير من الجهد؛
  • ثانياً، النوى العامة (الحلول العامة). ينصح أتباع Kaggle بمعاملتهم بهدوء الرهبان التبتيين، ولكن في الواقع إنه لأمر مخز للغاية عندما يتم فجأة وضع شيء كنت تعمل من أجله لمدة شهر أو شهرين على طبق من الفضة للجميع.

ولحسن الحظ، تقام مسابقات للتعلم الآلي على منصات أخرى، وسيتم مناقشة اثنتين من هذه المسابقات.

ايداو هاكاثون سنا 2019
اللغة الرسمية: الإنجليزية،
المنظمون: ياندكس، سبيربنك، HSE
اللغة الروسية الرسمية،
المنظمون: مجموعة Mail.ru
الجولة عبر الإنترنت: 15 يناير - 11 فبراير 2019؛
النهائي في الموقع: 4-6 أبريل 2019
عبر الإنترنت - من 7 فبراير إلى 15 مارس؛
غير متصل بالإنترنت - من 30 مارس إلى 1 أبريل.
باستخدام مجموعة معينة من البيانات حول جسيم في مصادم الهادرونات الكبير (المسار، والزخم، وغيرها من المعلمات الفيزيائية المعقدة إلى حد ما)، يمكنك تحديد ما إذا كان هذا الجسيم ميونًا أم لا
ومن هذا البيان تم تحديد مهمتين:
- في واحدة كان عليك فقط إرسال توقعاتك،
- وفي الآخر - الكود والنموذج الكامل للتنبؤ، وكان التنفيذ يخضع لقيود صارمة إلى حد ما على وقت التشغيل واستخدام الذاكرة
بالنسبة لمسابقة SNA Hackathon، تم جمع سجلات المحتوى المعروض من المجموعات المفتوحة في خلاصات أخبار المستخدمين للفترة من فبراير إلى مارس 2018. تحتوي مجموعة الاختبار على الأسبوع ونصف الأخير من شهر مارس. يحتوي كل إدخال في السجل على معلومات حول ما تم عرضه ولمن، بالإضافة إلى كيفية تفاعل المستخدم مع هذا المحتوى: تقييمه أو التعليق عليه أو تجاهله أو إخفائه من الموجز.
يتمثل جوهر مهام SNA Hackathon في تصنيف كل مستخدم لشبكة التواصل الاجتماعي Odnoklassniki في خلاصته، ورفع تلك المشاركات التي ستحصل على "فئة" إلى أعلى مستوى ممكن.
في المرحلة الإلكترونية، تم تقسيم المهمة إلى 3 أجزاء:
1. ترتيب المشاركات حسب الخصائص التعاونية المختلفة
2. ترتيب المشاركات بناءً على الصور التي تحتويها
3. ترتيب المشاركات حسب النص الذي تحتويه
مقياس مخصص معقد، مثل ROC-AUC متوسط ​​ROC-AUC حسب المستخدم
جوائز المرحلة الأولى - تيشيرتات للأماكن N العبور للمرحلة الثانية حيث تم دفع تكاليف الإقامة والوجبات خلال المسابقة
المرحلة الثانية - ؟؟؟ (لأسباب معينة لم أكن حاضرا في حفل توزيع الجوائز ولم أتمكن من معرفة ما هي الجوائز في النهاية). لقد وعدوا بأجهزة كمبيوتر محمولة لجميع أعضاء الفريق الفائز
جوائز المرحلة الأولى - قمصان لأفضل 100 مشارك، العبور إلى المرحلة الثانية، حيث تم دفع تكاليف السفر إلى موسكو والإقامة والوجبات خلال المسابقة. أيضًا، في نهاية المرحلة الأولى، تم الإعلان عن جوائز الأفضل في 3 مهام في المرحلة الأولى: فاز الجميع ببطاقة فيديو RTX 1 TI!
المرحلة الثانية كانت مرحلة فريق، تتكون الفرق من 2 إلى 5 أشخاص، الجوائز:
المركز الأول - 1 روبل
المركز الأول - 2 روبل
المركز الأول - 3 روبل
جائزة لجنة التحكيم - 100 روبل
مجموعة البرقية الرسمية، حوالي 190 مشاركًا، التواصل باللغة الإنجليزية، كان على الأسئلة الانتظار عدة أيام للحصول على إجابة المجموعة الرسمية في التليجرام، حوالي 1500 مشارك، مناقشة نشطة للمهام بين المشاركين والمنظمين
قدم المنظمون حلين أساسيين، بسيط ومتقدم. يتطلب الأمر البسيط أقل من 16 جيجابايت من ذاكرة الوصول العشوائي، والذاكرة المتقدمة لا تتناسب مع 16. في الوقت نفسه، وبالنظر إلى الأمام قليلاً، لم يتمكن المشاركون من التفوق بشكل كبير على الحل المتقدم. ولم تكن هناك صعوبات في إطلاق هذه الحلول. تجدر الإشارة إلى أنه في المثال المتقدم كان هناك تعليق مع تلميح حول مكان البدء في تحسين الحل. تم توفير الحلول البدائية الأساسية لكل مهمة، والتي تم تجاوزها بسهولة من قبل المشاركين. في الأيام الأولى للمسابقة، واجه المشاركون عدة صعوبات: أولاً، تم تقديم البيانات بتنسيق Apache Parquet، ولم تعمل جميع مجموعات Python وحزمة الباركيه بدون أخطاء. أما الصعوبة الثانية فكانت تنزيل الصور من سحابة البريد، ففي الوقت الحالي لا توجد طريقة سهلة لتنزيل كمية كبيرة من البيانات مرة واحدة. ونتيجة لذلك، أدت هذه المشاكل إلى تأخير المشاركين لبضعة أيام.

ايداو. المرحلة الأولى

كانت المهمة هي تصنيف جسيمات الميون/غير الميون وفقًا لخصائصها. كانت الميزة الرئيسية لهذه المهمة هي وجود عمود الوزن في بيانات التدريب، والذي فسره المنظمون أنفسهم على أنه ثقة في الإجابة على هذا السطر. كانت المشكلة أن عددًا لا بأس به من الصفوف يحتوي على أوزان سالبة.

مصادم هادرون الكبير و Odnoklassniki

بعد التفكير لبضع دقائق في الخط الذي يحتوي على التلميح (التلميح ببساطة لفت الانتباه إلى هذه الميزة في عمود الوزن) وبناء هذا الرسم البياني، قررنا التحقق من 3 خيارات:

1) عكس هدف الخطوط ذات الأوزان السالبة (والأوزان وفقًا لذلك)
2) تحويل الأوزان إلى القيمة الدنيا بحيث تبدأ من 0
3) لا تستخدم الأوزان الخيطية

تبين أن الخيار الثالث هو الأسوأ، لكن الخيارين الأولين حسّنا النتيجة، وكان الأفضل هو الخيار رقم 1، والذي أوصلنا على الفور إلى المركز الثاني الحالي في المهمة الأولى والأول في الثانية.
مصادم هادرون الكبير و Odnoklassniki
وكانت خطوتنا التالية هي مراجعة البيانات بحثًا عن القيم المفقودة. لقد قدم لنا المنظمون بالفعل بيانات تم تمشيطها، حيث كان هناك عدد لا بأس به من القيم المفقودة، وتم استبدالها بـ -9999.

لقد وجدنا قيمًا مفقودة في أعمدة MatchedHit_{X,Y,Z[N] وMatchedHit_D{X,Y,Z[N]، وفقط عندما تكون N=2 أو 3. وكما نفهم، فإن بعض الجسيمات لم يتم العثور عليها مرر جميع أجهزة الكشف الأربعة، وتوقف إما على اللوحة الثالثة أو الرابعة. تحتوي البيانات أيضًا على أعمدة Lextra_{X,Y}[N]، والتي تصف على ما يبدو نفس الشيء مثل MatchedHit_{X,Y,Z}[N]، ولكن باستخدام نوع من الاستقراء. اقترحت هذه التخمينات الهزيلة إمكانية استبدال Lextra_{X,Y[N] بالقيم المفقودة في MatchedHit_{X,Y,Z}[N] (لإحداثيات X وY فقط). تمت تعبئة MatchedHit_Z[N] جيدًا بالوسيط. سمحت لنا هذه التلاعبات بالوصول إلى المركز المتوسط ​​الأول في كلتا المهمتين.

مصادم هادرون الكبير و Odnoklassniki

مع الأخذ في الاعتبار أنهم لم يقدموا أي شيء للفوز بالمرحلة الأولى، كان من الممكن أن نتوقف عند هذا الحد، لكننا واصلنا ورسمنا بعض الصور الجميلة وتوصلنا إلى ميزات جديدة.

مصادم هادرون الكبير و Odnoklassniki

على سبيل المثال، وجدنا أنه إذا قمنا برسم نقاط تقاطع جسيم مع كل لوحة من لوحات الكاشف الأربعة، يمكننا أن نرى أن النقاط الموجودة على كل لوحة تم تجميعها في 5 مستطيلات بنسبة عرض إلى ارتفاع 4 إلى 5 وتتمركز في النقطة (0,0)، وفي عدم وجود نقاط في المستطيل الأول.

رقم اللوحة / أبعاد المستطيل 1 2 3 4 5
لوحة 1 500 × 625 1000 × 1250 2000 × 2500 4000 × 5000 8000 × 10000
لوحة 2 520 × 650 1040 × 1300 2080 × 2600 4160 × 5200 8320 × 10400
لوحة 3 560 × 700 1120 × 1400 2240 × 2800 4480 × 5600 8960 × 11200
لوحة 4 600 × 750 1200 × 1500 2400 × 3000 4800 × 6000 9600 × 12000

وبعد تحديد هذه الأبعاد، أضفنا 4 ميزات فئوية جديدة لكل جسيم - عدد المستطيل الذي يتقاطع فيه مع كل لوحة.

مصادم هادرون الكبير و Odnoklassniki

لاحظنا أيضًا أن الجسيمات تبدو متناثرة على الجانبين من المركز، ونشأت فكرة تقييم "جودة" هذا التشتت بطريقة أو بأخرى. من الناحية المثالية، ربما يكون من الممكن التوصل إلى نوع من القطع المكافئ "المثالي" اعتمادًا على نقطة الإقلاع وتقدير الانحراف عنها، لكننا اقتصرنا على الخط المستقيم "المثالي". وبعد إنشاء مثل هذه الخطوط المستقيمة المثالية لكل نقطة دخول، تمكنا من حساب الانحراف المعياري لمسار كل جسيم من هذا الخط المستقيم. نظرًا لأن متوسط ​​الانحراف للهدف = 1 كان 152، وللهدف = 0 كان 390، فقد قمنا بتقييم هذه الميزة مبدئيًا على أنها جيدة. وبالفعل، وصلت هذه الميزة على الفور إلى قمة الميزات الأكثر فائدة.

لقد سعدنا وأضفنا انحراف جميع نقاط التقاطع الأربع لكل جسيم عن الخط المستقيم المثالي كأربع ميزات إضافية (وقد عملت أيضًا بشكل جيد).

دفعت روابط المقالات العلمية التي قدمها لنا المنظمون حول موضوع المسابقة إلى فكرة أننا لسنا أول من حل هذه المشكلة وربما يكون هناك نوع من البرامج المتخصصة. بعد اكتشاف مستودع على جيثب حيث تم تنفيذ الطرق IsMuonSimple، IsMuon، IsMuonLoose، قمنا بنقلها إلى موقعنا مع تعديلات طفيفة. كانت الطرق نفسها بسيطة للغاية: على سبيل المثال، إذا كانت الطاقة أقل من عتبة معينة، فهي ليست ميونًا، وإلا فهي ميون. من الواضح أن مثل هذه الميزات البسيطة لا يمكن أن تعطي زيادة في حالة استخدام تعزيز التدرج، لذلك أضفنا "مسافة" مهمة أخرى إلى العتبة. كما تم تحسين هذه الميزات بشكل طفيف. ربما، من خلال تحليل الأساليب الحالية بشكل أكثر شمولاً، كان من الممكن العثور على أساليب أقوى وإضافتها إلى العلامات.

وفي نهاية المسابقة، قمنا بتعديل الحل "السريع" للمشكلة الثانية قليلاً، وفي النهاية اختلف عن الحل الأساسي في النقاط التالية:

  1. في الصفوف ذات الوزن السلبي تم عكس الهدف
  2. تم ملء القيم المفقودة في MatchedHit_{X,Y,Z}[N]
  3. تم تقليل العمق إلى 7
  4. انخفاض معدل التعلم إلى 0.1 (كان 0.19)

ونتيجة لذلك، جربنا المزيد من الميزات (لم تكن ناجحة جدًا)، والمعلمات المحددة وتدريبنا على catboost وlightgbm وxgboost، وجربنا مزيجًا مختلفًا من التنبؤات وقبل فتح القطاع الخاص، فزنا بثقة في المهمة الثانية، وفي المهمة الأولى كنا من بين القادة.

بعد فتح الخاص، كنا في المركز العاشر للمهمة الأولى والثالثة للمهمة الثانية. اختلط الأمر على جميع القادة، وكانت السرعة على انفراد أعلى منها على لوحة الليبورد. يبدو أن البيانات كانت طبقية بشكل سيئ (أو على سبيل المثال لم تكن هناك صفوف ذات أوزان سلبية في القطاع الخاص) وكان هذا محبطًا بعض الشيء.

SNA Hackathon 2019 - النصوص. المرحلة الأولى

كانت المهمة هي ترتيب منشورات المستخدم على شبكة Odnoklassniki الاجتماعية بناءً على النص الذي تحتوي عليه، بالإضافة إلى النص، كانت هناك بعض الخصائص الإضافية للمنشور (اللغة والمالك وتاريخ ووقت الإنشاء وتاريخ ووقت المشاهدة ).

كأساليب كلاسيكية للتعامل مع النص، أود أن أسلط الضوء على خيارين:

  1. تعيين كل كلمة في مساحة متجهة ذات أبعاد n بحيث تحتوي الكلمات المتشابهة على ناقلات مماثلة (اقرأ المزيد في مقالنا)، ثم إما العثور على الكلمة المتوسطة للنص أو استخدام الآليات التي تأخذ في الاعتبار الموقع النسبي للكلمات (CNN، LSTM/GRU).
  2. استخدام النماذج التي يمكنها العمل على الفور مع جمل كاملة. على سبيل المثال، بيرت. ومن الناحية النظرية، ينبغي لهذا النهج أن يعمل بشكل أفضل.

وبما أن هذه كانت تجربتي الأولى مع النصوص، فسيكون من الخطأ تعليم شخص ما، لذلك سأقوم بتعليم نفسي. هذه هي النصائح التي سأقدمها لنفسي في بداية المسابقة:

  1. قبل أن تقوم بتدريس شيء ما، انظر إلى البيانات! بالإضافة إلى النص نفسه، كانت البيانات تحتوي على عدة أعمدة وكان من الممكن الضغط عليها أكثر بكثير مما فعلت. أبسط شيء هو القيام بترميز الهدف لبعض الأعمدة.
  2. لا تتعلم من كل البيانات! كان هناك الكثير من البيانات (حوالي 17 مليون صف) ولم يكن من الضروري على الإطلاق استخدامها جميعًا لاختبار الفرضيات. كان التدريب والمعالجة المسبقة بطيئين للغاية، ومن الواضح أنه كان لدي الوقت لاختبار فرضيات أكثر إثارة للاهتمام.
  3. <نصيحة مثيرة للجدل> لا حاجة للبحث عن نموذج قاتل. قضيت وقتًا طويلاً في التعرف على إلمو وبيرت، على أمل أن يأخذوني على الفور إلى مكان مرتفع، ونتيجة لذلك استخدمت تضمينات FastText المدربة مسبقًا للغة الروسية. لم أتمكن من تحقيق سرعة أفضل مع إلمو، وما زلت لا أملك الوقت لاكتشاف ذلك مع بيرت.
  4. <نصيحة مثيرة للجدل> لا داعي للبحث عن ميزة قاتلة واحدة. وبالنظر إلى البيانات، لاحظت أن حوالي 1 بالمائة من النصوص لا تحتوي في الواقع على نص! لكن كانت هناك روابط لبعض الموارد، وقمت بكتابة محلل بسيط فتح الموقع وأخرج العنوان والوصف. بدت فكرة جيدة، ولكن بعد ذلك انجرفت وقررت تحليل جميع الروابط لجميع النصوص وفقدت الكثير من الوقت مرة أخرى. كل هذا لم يقدم تحسنا كبيرا في النتيجة النهائية (على الرغم من أنني اكتشفت النبع، على سبيل المثال).
  5. تعمل الميزات الكلاسيكية. نحن جوجل، على سبيل المثال، "ميزات النص kaggle"، نقرأ ونضيف كل شيء. قدم TF-IDF تحسنًا، كما فعلت الميزات الإحصائية مثل طول النص والكلمات وكمية علامات الترقيم.
  6. إذا كانت هناك أعمدة DateTime، فمن المفيد تحليلها إلى عدة ميزات منفصلة (ساعات، أيام الأسبوع، وما إلى ذلك). ما هي الميزات التي يجب تسليط الضوء عليها والتي يجب تحليلها باستخدام الرسوم البيانية/بعض المقاييس. هنا، لمجرد نزوة، فعلت كل شيء بشكل صحيح وسلطت الضوء على الميزات الضرورية، لكن التحليل العادي لن يضر (على سبيل المثال، كما فعلنا في النهائي).

مصادم هادرون الكبير و Odnoklassniki

نتيجة للمنافسة، قمت بتدريب نموذج keras مع تحويل الكلمات، ونموذج آخر يعتمد على LSTM وGRU. استخدم كلاهما عمليات تضمين FastText المدربة مسبقًا للغة الروسية (جربت عددًا من عمليات التضمين الأخرى، ولكن هذه هي التي عملت بشكل أفضل). وبعد حساب متوسط ​​التوقعات، حصلت على المركز السابع الأخير من بين 7 مشاركًا.

بعد المرحلة الأولى تم نشره مقال بقلم نيكولاي أنوخين، الذي احتل المركز الثاني (شارك خارج المنافسة)، وحله حتى مرحلة ما كرر حلي، لكنه ذهب أبعد من ذلك بسبب آلية الاهتمام بالمفتاح والقيمة.

المرحلة الثانية OK & IDAO

جرت المراحل الثانية من المسابقات بشكل متتابع تقريبًا، لذلك قررت أن ننظر إليها معًا.

أولاً، انتهى بي الأمر أنا والفريق المكتسب حديثًا في المكتب المثير للإعجاب لشركة Mail.ru، حيث كانت مهمتنا هي الجمع بين نماذج من ثلاثة مسارات من المرحلة الأولى - النص والصور والتعاون. تم تخصيص ما يزيد قليلاً عن يومين لهذا الغرض، والذي تبين أنه قليل جدًا. وفي الواقع، لم نتمكن من تكرار نتائج المرحلة الأولى إلا دون الحصول على أي مكاسب من الاندماج. وفي النهاية حصلنا على المركز الخامس، لكننا لم نتمكن من استخدام النموذج النصي. بعد النظر في حلول المشاركين الآخرين، يبدو أنه كان من المفيد محاولة تجميع النصوص وإضافتها إلى نموذج التعاون. وكان من الآثار الجانبية لهذه المرحلة الانطباعات الجديدة والاجتماع والتواصل مع المشاركين والمنظمين الرائعين، فضلاً عن قلة النوم الشديدة، والتي ربما أثرت على نتيجة المرحلة النهائية من IDAO.

كانت المهمة في المرحلة النهائية لـ IDAO 2019 هي التنبؤ بوقت انتظار طلب سائقي سيارات الأجرة Yandex في المطار. في المرحلة الثانية، تم تحديد 2 مهام = 3 مطارات. يتم تقديم بيانات دقيقة بدقيقة لكل مطار عن عدد طلبات سيارات الأجرة لمدة ستة أشهر. وكبيانات اختبارية، تم تقديم بيانات الشهر التالي وبيانات دقيقة بدقيقة للطلبات خلال الأسبوعين الماضيين. كان هناك القليل من الوقت (3 يوم)، وكانت المهمة محددة تماما، وجاء شخص واحد فقط من الفريق إلى المنافسة - ونتيجة لذلك، كان مكانا حزينا في النهاية. تضمنت الأفكار المثيرة للاهتمام محاولات استخدام البيانات الخارجية: الطقس والاختناقات المرورية وإحصائيات طلب سيارات الأجرة في ياندكس. على الرغم من أن المنظمين لم يذكروا ما هي هذه المطارات، إلا أن العديد من المشاركين افترضوا أنها مطارات شيريميتيفو ودوموديدوفو وفنوكوفو. على الرغم من دحض هذا الافتراض بعد المنافسة، إلا أن الميزات، على سبيل المثال، من بيانات الطقس في موسكو، حسنت النتائج سواء في التحقق من الصحة أو في لوحة الصدارة.

اختتام

  1. مسابقات ML رائعة ومثيرة للاهتمام! ستجد هنا استخدام المهارات في تحليل البيانات، وفي النماذج والتقنيات الماكرة، كما أن الفطرة السليمة هي موضع ترحيب.
  2. يعد تعلم الآلة بالفعل مجموعة ضخمة من المعرفة التي يبدو أنها تنمو بشكل كبير. لقد حددت لنفسي هدفًا للتعرف على المجالات المختلفة (الإشارات والصور والجداول والنصوص) وأدركت بالفعل مقدار ما يجب دراسته. على سبيل المثال، بعد هذه المسابقات، قررت أن أدرس: خوارزميات التجميع، والتقنيات المتقدمة للعمل مع مكتبات تعزيز التدرج (على وجه الخصوص، العمل مع CatBoost على GPU)، وشبكات الكبسولة، وآلية الاهتمام بقيمة مفتاح الاستعلام.
  3. ليس عن طريق kaggle وحده! هناك العديد من المسابقات الأخرى حيث يكون من الأسهل الحصول على قميص على الأقل، وهناك فرص أكبر للحصول على جوائز أخرى.
  4. يتواصل! يوجد بالفعل مجتمع كبير في مجال التعلم الآلي وتحليل البيانات، وهناك مجموعات مواضيعية في telegram وslack وأشخاص جادون من Mail.ru وYandex وغيرها من الشركات يجيبون على الأسئلة ويساعدون المبتدئين والذين يواصلون طريقهم في هذا المجال من المعرفة.
  5. أنصح كل من استلهم النقطة السابقة بالزيارة com.datafest — مؤتمر مجاني كبير في موسكو، والذي سيعقد في الفترة من 10 إلى 11 مايو.

المصدر: www.habr.com

إضافة تعليق