Велики хадронски колајдер и Одноклассники

Настављајући тему такмичења у машинском учењу на Хабреу, желели бисмо да упознамо читаоце са још две платформе. Они сигурно нису тако огромни као каггле, али свакако заслужују пажњу.

Велики хадронски колајдер и Одноклассники

Лично, не волим превише каггле из неколико разлога:

  • прво, тамо такмичења често трају и по неколико месеци, а активно учешће захтева много труда;
  • друго, јавна језгра (јавна решења). Присталице Каггле саветују да се према њима односите са смиреношћу тибетанских монаха, али у стварности је велика штета када се нешто на чему сте радили месец или два одједном испостави да је свима положено на сребрни тањир.

На срећу, такмичења у машинском учењу се одржавају на другим платформама, а о неколико ових такмичења ће бити речи.

ИДАО СНА хакатон 2019
Службени језик: енглески,
организатори: Иандек, Сбербанк, ХСЕ
Службени руски језик,
организатори: Маил.ру Гроуп
Онлине рунда: 15. јануар — 11. фебруар 2019.;
Финале на лицу места: 4.-6. април 2019
онлајн - од 7. фебруара до 15. марта;
ван мреже - од 30. марта до 1. априла.
Користећи одређени скуп података о честици у Великом хадронском сударачу (трајекторија, импулс и други прилично сложени физички параметри), одредите да ли је то мион или не
Из ове изјаве идентификована су 2 задатка:
— у једном сте управо морали да пошаљете своје предвиђање,
- а у другом - комплетан код и модел за предвиђање, а извршење је било подвргнуто прилично строгим ограничењима времена рада и употребе меморије
За такмичење СНА Хацкатхон, прикупљени су дневници приказа садржаја из отворених група у корисничким вестима за фебруар-март 2018. године. Комплет за тестирање садржи последњу недељу и по марта. Сваки унос у дневнику садржи информације о томе шта је приказано и коме, као и како је корисник реаговао на овај садржај: оценио га, коментарисао, игнорисао или сакрио из фида.
Суштина задатака СНА Хацкатхон-а је да сваког корисника друштвене мреже Одноклассники рангира његов феед, подижући што је више могуће оне постове који ће добити „класу“.
У онлајн фази, задатак је подељен на 3 дела:
1. рангирати радна места према различитим сарадничким карактеристикама
2. рангирајте постове на основу слика које садрже
3. рангирајте постове према тексту који садрже
Сложена прилагођена метрика, нешто попут РОЦ-АУЦ Просечан РОЦ-АУЦ по кориснику
Награде за прву етапу - мајице за Н места, пролазак у другу етапу, где су у току такмичења плаћени смештај и исхрана
Друга фаза - ??? (Из одређених разлога нисам био присутан на додели награда и нисам успео да сазнам које су награде на крају). Свим члановима победничког тима обећали су лаптоп рачунаре
Награде за прву етапу – мајице за 100 најбољих учесника, пролазак у другу етапу, где је плаћен пут до Москве, смештај и исхрана током такмичења. Такође, пред крај прве етапе, проглашене су награде за најбоље у 3 задатка на етапи 1: сви су освојили РТКС 2080 ТИ видео картицу!
Друга етапа је била тимска, тимови су били од 2 до 5 људи, награде:
1. место - 300 рубаља
2. место - 200 рубаља
3. место - 100 рубаља
награда жирија - 100 рубаља
Званична телеграм група, ~190 учесника, комуникација на енглеском, питања су морала да чекају неколико дана на одговор Званична група у телеграму, ~1500 учесника, активна дискусија о задацима између учесника и организатора
Организатори су дали два основна решења, једноставно и напредно. За једноставно је било потребно мање од 16 ГБ РАМ-а, а напредна меморија се није уклапала у 16. Истовремено, гледајући мало унапред, учесници нису били у могућности да значајно надмаше напредно решење. Није било потешкоћа у покретању ових решења. Треба напоменути да је у напредном примеру био коментар са наговештајем одакле да се почне са побољшањем решења. За сваки од задатака дата су основна примитивна решења која су учесници лако превазишли. У првим данима такмичења, учесници су наишли на неколико потешкоћа: прво, подаци су дати у Апацхе Паркет формату, а нису све комбинације Питхон-а и пакета паркета радиле без грешака. Друга потешкоћа је било преузимање слика из облака поште у овом тренутку не постоји једноставан начин за преузимање велике количине података одједном. Као резултат тога, ови проблеми су одложили учеснике на неколико дана.

ИДАО. Прва фаза

Задатак је био класификовати мионске/не-мионске честице према њиховим карактеристикама. Кључна карактеристика овог задатка било је присуство колоне тежине у подацима о обуци, што су сами организатори протумачили као поверење у одговор за ову линију. Проблем је био у томе што је доста редова садржало негативне тежине.

Велики хадронски колајдер и Одноклассники

Након што смо неколико минута размишљали о линији са наговештајем (наговештај је једноставно скренуо пажњу на ову особину колоне тежине) и изградили овај графикон, одлучили смо да проверимо 3 опције:

1) обрни циљ линија са негативним тежинама (и сходно томе)
2) померити тежине на минималну вредност тако да почињу од 0
3) не користите тегове за жице

Трећа опција се показала најлошијом, али су прве две поправиле резултат, најбоља је била опција број 1, која нас је одмах довела на тренутно друго место у првом задатку и прво у другом.
Велики хадронски колајдер и Одноклассники
Наш следећи корак је био да прегледамо податке за вредности које недостају. Организатори су нам дали већ прочешљане податке, где је недостајало доста вредности, а замењене су са -9999.

Пронашли смо вредности које недостају у колонама МатцхедХит_{Кс,И,З}[Н] и МатцхедХит_Д{Кс,И,З}[Н] и то само када је Н=2 или 3. Како разумемо, неке честице нису прође сва 4 детектора и заустави се на 3. или 4. плочи. Подаци су такође садржали колоне Лектра_{Кс,И}[Н], које очигледно описују исту ствар као МатцхедХит_{Кс,И,З}[Н], али користећи неку врсту екстраполације. Ова оскудна нагађања сугеришу да би Лектра_{Кс,И}[Н] могла бити замењена вредностима које недостају у МатцхедХит_{Кс,И,З}[Н] (само за координате Кс и И). МатцхедХит_З[Н] је био добро попуњен медијаном. Ове манипулације су нам омогућиле да дођемо до 1. средњег места у оба задатка.

Велики хадронски колајдер и Одноклассники

С обзиром да нису ништа дали за победу у првој етапи, могли смо ту да станемо, али смо наставили, нацртали лепе слике и смислили нове карактеристике.

Велики хадронски колајдер и Одноклассники

На пример, открили смо да ако нацртамо тачке пресека честице са сваком од четири детекторске плоче, можемо видети да су тачке на свакој од плоча груписане у 5 правоугаоника са односом ширине и висине од 4 до 5 и центрираним на тачка (0,0), а у У првом правоугаонику нема тачака.

Плоча бр / правоугаоник димензије 1 2 3 4 5
Плоча 1 КСНУМКСхКСНУМКС КСНУМКСхКСНУМКС КСНУМКСхКСНУМКС КСНУМКСхКСНУМКС КСНУМКСхКСНУМКС
Плоча 2 КСНУМКСхКСНУМКС КСНУМКСхКСНУМКС КСНУМКСхКСНУМКС КСНУМКСхКСНУМКС КСНУМКСхКСНУМКС
Плоча 3 КСНУМКСхКСНУМКС КСНУМКСхКСНУМКС КСНУМКСхКСНУМКС КСНУМКСхКСНУМКС КСНУМКСхКСНУМКС
Плоча 4 КСНУМКСхКСНУМКС КСНУМКСхКСНУМКС КСНУМКСхКСНУМКС КСНУМКСхКСНУМКС КСНУМКСхКСНУМКС

Након што смо одредили ове димензије, за сваку честицу смо додали 4 нове категоричке карактеристике - број правоугаоника у којем сече сваку плочу.

Велики хадронски колајдер и Одноклассники

Такође смо приметили да се чинило да се честице распршују на стране од центра и појавила се идеја да се некако процени „квалитет“ овог расејања. У идеалном случају, вероватно би било могуће смислити неку врсту „идеалне“ параболе у ​​зависности од тачке уласка и проценити одступање од ње, али смо се ограничили на „идеалну“ праву линију. Након што смо конструисали такве идеалне праве линије за сваку тачку уласка, могли смо да израчунамо стандардну девијацију путање сваке честице од ове праве линије. Пошто је просечно одступање за циљ = 1 било 152, а за циљ = 0 390, ову особину смо провизорно оценили као добру. И заиста, ова функција је одмах доспела на врх најкориснијих.

Били смо одушевљени и додали смо одступање све 4 тачке пресека за сваку честицу од идеалне праве линије као додатне 4 карактеристике (и оне су такође добро функционисале).

Линкови на научне чланке на тему такмичења, које су нам дали организатори, подстакли су идеју да смо далеко од првих који су решили овај проблем и да, можда, постоји нека врста специјализованог софтвера. Откривши репозиторијум на гитхуб-у где су имплементиране методе ИсМуонСимпле, ИсМуон, ИсМуонЛоосе, пренели смо их на наш сајт уз мање измене. Саме методе су биле веома једноставне: на пример, ако је енергија мања од одређеног прага, онда то није мион, иначе је мион. Такве једноставне карактеристике очигледно нису могле да дају повећање у случају коришћења градијента, па смо прагу додали још једну значајну „удаљеност“. Ове карактеристике су такође мало побољшане. Можда је, детаљнијом анализом постојећих метода, било могуће пронаћи јаче методе и додати их знацима.

На крају такмичења смо мало дотерали „брзо” решење за други проблем, на крају се разликовало од основне линије у следећим тачкама:

  1. У редовима са негативном тежином циљ је био обрнут
  2. Попуњене вредности које недостају у МатцхедХит_{Кс,И,З}[Н]
  3. Смањена дубина на 7
  4. Смањена стопа учења на 0.1 (била је 0.19)

Као резултат тога, испробали смо више функција (не баш успешно), одабрали параметре и увежбали цатбоост, лигхтгбм и кгбоост, испробали различита мешања предвиђања и пре отварања приватног смо самоуверено победили на другом задатку, а на првом смо били међу Вође.

Након отварања приватног били смо на 10. месту за 1. задатак и 3. за други. Сви лидери су се помешали, а брзина приватно је била већа него на таблу. Чини се да су подаци били лоше стратификовани (или на пример није било редова са негативним тежинама у приватном) и то је било помало фрустрирајуће.

СНА Хацкатхон 2019 - Текстови. Прва фаза

Задатак је био рангирање постова корисника на друштвеној мрежи Одноклассники на основу текста који су садржали, поред текста било је још неколико карактеристика објаве (језик, власник, датум и време креирања, датум и време прегледа; ).

Као класичне приступе раду са текстом, издвојио бих две опције:

  1. Пресликавање сваке речи у н-димензионални векторски простор тако да сличне речи имају сличне векторе (прочитајте више у наш чланак), затим или проналажење просечне речи за текст или коришћење механизама који узимају у обзир релативну позицију речи (ЦНН, ЛСТМ/ГРУ).
  2. Коришћење модела који могу одмах да раде са целим реченицама. На пример, Берт. У теорији, овај приступ би требало да функционише боље.

Пошто ми је ово било прво искуство са текстовима, било би погрешно да учим некога, па ћу ја да учим себе. Ово су савети које бих себи дао на почетку такмичења:

  1. Пре него што трчите да нешто подучавате, погледајте податке! Поред самог текста, подаци су имали неколико колона и из њих је било могуће истиснути много више него ја. Најједноставније је да урадите средње циљно кодирање за неке колоне.
  2. Немојте учити из свих података! Било је много података (око 17 милиона редова) и апсолутно није било неопходно користити их све за тестирање хипотеза. Обука и претходна обрада су били прилично спори, и очигледно бих имао времена да тестирам занимљивије хипотезе.
  3. <Контроверзни савет> Нема потребе да тражите модел убице. Провео сам дуго времена откривајући Елма и Берта, надајући се да ће ме одмах одвести на високо место, и као резултат тога користио сам ФастТект унапред обучене ембеддинге за руски језик. Нисам могао да постигнем бољу брзину са Елмом, а још увек нисам имао времена да то схватим са Бертом.
  4. <Контроверзни савет> Нема потребе да тражите једну убиствену карактеристику. Гледајући податке, приметио сам да око 1 одсто текстова заправо не садржи текст! Али постојале су везе до неких ресурса, а ја сам написао једноставан парсер који је отворио сајт и извукао наслов и опис. Деловало је као добра идеја, али онда сам се занео и одлучио да рашчланим све линкове за све текстове и опет изгубио доста времена. Све ово није дало значајније побољшање коначног резултата (иако сам схватио стемминг, на пример).
  5. Класичне карактеристике раде. Ми Гоогле, на пример, „текстуалне функције каггле“, читамо и додајемо све. ТФ-ИДФ је обезбедио побољшање, као и статистичке карактеристике као што су дужина текста, речи и количина интерпункције.
  6. Ако постоје колоне ДатеТиме, вреди их рашчланити на неколико одвојених карактеристика (сати, дани у недељи, итд.). Које карактеристике треба истакнути треба анализирати помоћу графикона/неких метрика. Овде сам, из хира, све урадио како треба и истакао потребне карактеристике, али нормална анализа не би шкодила (на пример, као што смо урадили у финалу).

Велики хадронски колајдер и Одноклассники

Као резултат такмичења, обучио сам један керас модел са конволуцијом речи, а други заснован на ЛСТМ и ГРУ. Обојица су користила унапред обучене уградње ФастТект-а за руски језик (пробао сам низ других уградњи, али су ове биле оне које су најбоље функционисале). После усредњавања предвиђања, заузео сам коначно 7. место од 76 учесника.

После прве фазе је објављен чланак Николаја Анохина, који је заузео друго место (учествовао је ван такмичења), и његово решење је до неке фазе поновило моје, али је отишао даље захваљујући механизму пажње упит-кључ-вредност.

Друга фаза ОК & ИДАО

Друге фазе такмичења су се одвијале готово узастопно, па сам одлучио да их заједно погледамо.

Прво смо ја и новостечени тим завршили у импресивној канцеларији компаније Маил.ру, где је наш задатак био да комбинујемо моделе три нумере из прве фазе – текст, слике и сарадњу. За ово је било предвиђено нешто више од 2 дана, што се показало врло мало. У ствари, успели смо само да поновимо наше резултате из прве фазе без икаквих добитака од спајања. На крају смо заузели 5. место, али нисмо успели да користимо текстуални модел. Након што смо погледали решења других учесника, чини се да је вредело покушати груписати текстове и додати их у модел сарадње. Споредни ефекат ове фазе су били нови утисци, сусрети и комуникација са цоол учесницима и организаторима, као и озбиљан недостатак сна, што је можда утицало на резултат завршне фазе ИДАО-а.

Задатак у завршној фази ИДАО 2019 био је да се предвиде време чекања на поруџбину за Иандек таксисте на аеродрому. У фази 2 идентификована су 3 задатка = 3 аеродрома. За сваки аеродром се из минута у минут дају подаци о броју такси налога за шест месеци. А као тестни подаци дати су следећи месец и подаци из минута по минут о поруџбинама за последње 2 недеље. Било је мало времена (1,5 дана), задатак је био прилично специфичан, само једна особа из тима је дошла на такмичење - и као резултат, било је тужно место пред крај. Занимљиве идеје укључивале су покушаје коришћења екстерних података: временске прилике, гужве у саобраћају и статистику Иандек такси налога. Иако организатори нису рекли који су то аеродроми, многи учесници су претпоставили да су то Шереметјево, Домодедово и Внуково. Иако је ова претпоставка оповргнута након такмичења, карактеристике, на пример, из московских временских података побољшале су резултате и на валидацији и на табели.

Закључак

  1. МЛ такмичења су кул и занимљива! Овде ћете наћи употребу вештина у анализи података, лукавим моделима и техникама, а здрав разум је добродошао.
  2. МЛ је већ огромно знање које изгледа експоненцијално расте. Поставио сам себи циљ да се упознам са различитим областима (сигнали, слике, табеле, текст) и већ сам схватио колико тога има за проучавање. На пример, након ових такмичења одлучио сам да проучим: алгоритме кластеровања, напредне технике за рад са библиотекама за повећање градијента (посебно рад са ЦатБоост-ом на ГПУ), мреже капсула, механизам пажње за упит-кључ-вредност.
  3. Не само на лицу! Много је других такмичења на којима је лакше добити бар мајицу, а више су шансе за друге награде.
  4. Комуницирајте! Већ постоји велика заједница у области машинског учења и анализе података, постоје тематске групе у телеграму, слацку, а озбиљни људи из Маил.ру, Иандек и других компанија одговарају на питања и помажу почетницима и онима који настављају свој пут у овој области знања.
  5. Саветујем свима који су били инспирисани претходном тачком да посете датафест — велика бесплатна конференција у Москви, која ће се одржати 10-11.

Извор: ввв.хабр.цом

Додај коментар