Gwrthdarwr Hadron Mawr a Odnoklassniki

Gan barhau â thema cystadlaethau dysgu peirianyddol ar Habré, hoffem gyflwyno darllenwyr i ddau blatfform arall. Yn sicr nid ydynt mor enfawr â kaggle, ond maent yn bendant yn haeddu sylw.

Gwrthdarwr Hadron Mawr a Odnoklassniki

Yn bersonol, dydw i ddim yn hoffi kaggle gormod am sawl rheswm:

  • yn gyntaf, mae cystadlaethau yno yn aml yn para am sawl mis, ac mae cyfranogiad gweithredol yn gofyn am lawer o ymdrech;
  • yn ail, cnewyllyn cyhoeddus (atebion cyhoeddus). Mae ymlynwyr Kaggle yn cynghori eu trin â thawelwch mynachod Tibet, ond mewn gwirionedd mae'n dipyn o drueni pan fydd rhywbeth rydych chi wedi bod yn gweithio tuag ato ers mis neu ddau yn sydyn yn troi allan i gael ei osod allan ar blât arian i bawb.

Yn ffodus, cynhelir cystadlaethau dysgu peirianyddol ar lwyfannau eraill, a bydd cwpl o’r cystadlaethau hyn yn cael eu trafod.

IDAO SNA Hackathon 2019
Iaith swyddogol: Saesneg,
trefnwyr: Yandex, Sberbank, HSE
Iaith swyddogol Rwsieg,
trefnwyr: Grŵp Mail.ru
Rownd Ar-lein: Ionawr 15 - Chwefror 11, 2019;
Rownd Derfynol ar y Safle: Ebrill 4-6, 2019
ar-lein - o Chwefror 7 i Fawrth 15;
all-lein - rhwng Mawrth 30 ac Ebrill 1.
Gan ddefnyddio set benodol o ddata am ronyn yn y Gwrthdarwr Hadron Mawr (taflwybr, momentwm, a pharamedrau corfforol eithaf cymhleth eraill), penderfynwch a yw'n muon ai peidio.
O’r datganiad hwn, nodwyd 2 dasg:
- mewn un roedd yn rhaid i chi anfon eich rhagfynegiad,
- ac yn y llall - y cod cyflawn a'r model ar gyfer rhagfynegi, ac roedd y gweithredu yn destun cyfyngiadau eithaf llym ar amser rhedeg a defnydd cof
Ar gyfer cystadleuaeth Hackathon SNA, casglwyd logiau o arddangosiadau cynnwys o grwpiau agored mewn ffrydiau newyddion defnyddwyr ar gyfer Chwefror-Mawrth 2018. Mae'r set prawf yn cynnwys wythnos a hanner olaf mis Mawrth. Mae pob cofnod yn y log yn cynnwys gwybodaeth am yr hyn a ddangoswyd ac i bwy, yn ogystal â sut ymatebodd y defnyddiwr i'r cynnwys hwn: ei raddio, gwneud sylwadau, ei anwybyddu, neu ei guddio o'r porthiant.
Hanfod tasgau’r SNA Hackathon yw graddio pob defnyddiwr rhwydwaith cymdeithasol Odnoklassniki ei borthiant, gan godi mor uchel â phosibl y swyddi hynny a fydd yn derbyn “dosbarth”.
Ar y cam ar-lein, rhannwyd y dasg yn 3 rhan:
1. swyddi rheng yn ôl nodweddion cydweithredol amrywiol
2. rhestru swyddi yn seiliedig ar y delweddau sydd ynddynt
3. graddio swyddi yn ôl y testun sydd ynddynt
Metrig arferiad cymhleth, rhywbeth fel ROC-AUC ROC-AUC cyfartalog yn ôl defnyddiwr
Gwobrau ar gyfer y cam cyntaf - crysau T ar gyfer lleoedd N, taith i'r ail gam, lle talwyd llety a phrydau bwyd yn ystod y gystadleuaeth
Ail gam - ??? (Am resymau penodol, nid oeddwn yn bresennol yn y seremoni wobrwyo ac nid oeddwn yn gallu darganfod beth oedd y gwobrau yn y diwedd). Fe wnaethon nhw addo gliniaduron i bob aelod o'r tîm buddugol
Gwobrau ar gyfer y cam cyntaf - crysau-T ar gyfer y 100 o gyfranogwyr gorau, taith i'r ail gam, lle talwyd teithio i Moscow, llety a phrydau bwyd yn ystod y gystadleuaeth. Hefyd, tua diwedd y cam cyntaf, cyhoeddwyd gwobrau am y gorau mewn 3 tasg yng ngham 1: enillodd pawb gerdyn fideo RTX 2080 TI!
Roedd yr ail gam yn gam tîm, roedd timau'n cynnwys 2 i 5 o bobl, gwobrau:
lle 1af - 300 rubles
lle 2af - 200 rubles
lle 3af - 100 rubles
gwobr rheithgor - 100 rubles
Grŵp telegram swyddogol, ~190 o gyfranogwyr, cyfathrebu yn Saesneg, bu'n rhaid i gwestiynau aros sawl diwrnod am ateb Grŵp swyddogol mewn telegram, ~1500 o gyfranogwyr, trafodaeth weithredol ar dasgau rhwng cyfranogwyr a threfnwyr
Darparodd y trefnwyr ddau ateb sylfaenol, syml ac uwch. Roedd angen llai na 16 GB o RAM ar syml, ac nid oedd cof uwch yn ffitio i mewn i 16. Ar yr un pryd, wrth edrych ymlaen ychydig, nid oedd y cyfranogwyr yn gallu perfformio'n well na'r datrysiad datblygedig yn sylweddol. Nid oedd unrhyw anawsterau wrth lansio'r atebion hyn. Dylid nodi bod sylw yn yr enghraifft ddatblygedig gydag awgrym ar ble i ddechrau gwella'r datrysiad. Darparwyd atebion cyntefig sylfaenol ar gyfer pob un o'r tasgau, y byddai'r cyfranogwyr yn rhagori arnynt yn hawdd. Yn nyddiau cynnar y gystadleuaeth, cafodd y cyfranogwyr sawl anhawster: yn gyntaf, rhoddwyd y data ar ffurf Apache Parquet, ac nid oedd pob cyfuniad o Python a'r pecyn parquet yn gweithio heb wallau. Yr ail anhawster oedd lawrlwytho lluniau o'r cwmwl post; ar hyn o bryd nid oes ffordd hawdd i lawrlwytho llawer iawn o ddata ar unwaith. O ganlyniad, roedd y problemau hyn wedi achosi oedi i'r cyfranogwyr am ychydig ddyddiau.

IDAO. Cam cyntaf

Y dasg oedd dosbarthu gronynnau muon/di-muon yn ôl eu nodweddion. Nodwedd allweddol y dasg hon oedd presenoldeb colofn bwysau yn y data hyfforddi, a ddehonglwyd gan y trefnwyr eu hunain fel hyder yn yr ateb ar gyfer y llinell hon. Y broblem oedd bod cryn dipyn o resi yn cynnwys pwysau negyddol.

Gwrthdarwr Hadron Mawr a Odnoklassniki

Ar ôl meddwl am ychydig funudau am y llinell gyda'r awgrym (tynnodd yr awgrym sylw at y nodwedd hon o'r golofn pwysau) ac adeiladu'r graff hwn, penderfynasom wirio 3 opsiwn:

1) gwrthdroi targed y llinellau â phwysau negyddol (a phwysau yn unol â hynny)
2) symudwch y pwysau i'r isafswm gwerth fel eu bod yn dechrau o 0
3) peidiwch â defnyddio pwysau llinynnol

Trodd y trydydd opsiwn i fod y gwaethaf, ond fe wnaeth y ddau gyntaf wella'r canlyniad, y gorau oedd opsiwn Rhif 1, a ddaeth â ni ar unwaith i'r ail safle presennol yn y dasg gyntaf a'r cyntaf yn yr ail.
Gwrthdarwr Hadron Mawr a Odnoklassniki
Ein cam nesaf oedd adolygu'r data ar gyfer gwerthoedd coll. Rhoddodd y trefnwyr ddata cribo i ni eisoes, lle roedd cryn dipyn o werthoedd coll, a chawsant eu disodli gan -9999.

Canfuom werthoedd coll yn y colofnau MatchedHit_{X,Y,Z}[N] a MatchedHit_D{X,Y,Z}[N], a dim ond pan fydd N=2 neu 3. Fel y deallwn, ni wnaeth rhai gronynnau pasio pob un o'r 4 synhwyrydd , a stopio naill ai ar y 3ydd neu'r 4ydd plât. Roedd y data hefyd yn cynnwys colofnau Lextra_{X,Y}[N], sydd i bob golwg yn disgrifio'r un peth â MatchedHit_{X,Y,Z}[N], ond gan ddefnyddio rhyw fath o allosodiad. Roedd y dyfaliadau prin hyn yn awgrymu y gellid amnewid Lextra_{X,Y}[N] am y gwerthoedd coll yn MatchedHit_{X,Y,Z}[N] (ar gyfer cyfesurynnau X ac Y yn unig). Roedd MatchedHit_Z[N] wedi'i lenwi'n dda â'r canolrif. Roedd y triniaethau hyn yn ein galluogi i gyrraedd y lle canolradd 1af yn y ddwy dasg.

Gwrthdarwr Hadron Mawr a Odnoklassniki

O ystyried na wnaethant roi unrhyw beth am ennill y cam cyntaf, gallem fod wedi stopio yno, ond fe wnaethom barhau, tynnu lluniau hardd a chreu nodweddion newydd.

Gwrthdarwr Hadron Mawr a Odnoklassniki

Er enghraifft, canfuom os ydym yn plotio pwyntiau croestoriad gronyn gyda phob un o'r pedwar plât canfod, gallwn weld bod y pwyntiau ar bob un o'r platiau wedi'u grwpio'n 5 petryal gyda chymhareb agwedd o 4 i 5 ac wedi'u canoli ar y pwynt (0,0), ac yn Nid oes unrhyw bwyntiau yn y petryal cyntaf.

Rhif plât / dimensiynau petryal 1 2 3 4 5
Plât 1 500h625 1000h1250 2000h2500 4000h5000 8000h10000
Plât 2 520h650 1040h1300 2080h2600 4160h5200 8320h10400
Plât 3 560h700 1120h1400 2240h2800 4480h5600 8960h11200
Plât 4 600h750 1200h1500 2400h3000 4800h6000 9600h12000

Ar ôl pennu'r dimensiynau hyn, fe wnaethom ychwanegu 4 nodwedd bendant newydd ar gyfer pob gronyn - nifer y petryal y mae'n croestorri pob plât.

Gwrthdarwr Hadron Mawr a Odnoklassniki

Sylwasom hefyd fod y gronynnau i'w gweld yn gwasgaru i'r ochrau o'r canol a chododd y syniad rywsut i werthuso “ansawdd” y gwasgariad hwn. Yn ddelfrydol, mae’n debyg y byddai’n bosibl llunio rhyw fath o barabola “delfrydol” yn dibynnu ar y pwynt esgyn ac amcangyfrif y gwyriad oddi wrtho, ond fe wnaethom gyfyngu ein hunain i’r llinell syth “ddelfrydol”. Ar ôl adeiladu llinellau syth delfrydol ar gyfer pob pwynt mynediad, roeddem yn gallu cyfrifo gwyriad safonol taflwybr pob gronyn o'r llinell syth hon. Gan mai'r gwyriad cyfartalog ar gyfer targed = 1 oedd 152, ac ar gyfer targed = 0 roedd yn 390, fe wnaethom asesu'n betrus fod y nodwedd hon yn dda. Ac yn wir, daeth y nodwedd hon ar unwaith i frig y rhai mwyaf defnyddiol.

Roeddem wrth ein bodd ac wedi ychwanegu gwyriad pob un o'r 4 pwynt croestoriad ar gyfer pob gronyn o'r llinell syth ddelfrydol fel 4 nodwedd ychwanegol (ac fe wnaethant weithio'n dda hefyd).

Mae dolenni i erthyglau gwyddonol ar bwnc y gystadleuaeth, a roddwyd i ni gan y trefnwyr, wedi ysgogi'r syniad ein bod ymhell o fod y cyntaf i ddatrys y broblem hon ac, efallai, bod yna ryw fath o feddalwedd arbenigol. Ar ôl darganfod ystorfa ar github lle gweithredwyd y dulliau IsMuonSimple, IsMuon, IsMuonLoose, fe wnaethom eu trosglwyddo i'n gwefan gyda mân addasiadau. Roedd y dulliau eu hunain yn syml iawn: er enghraifft, os yw'r egni yn llai na throthwy penodol, yna nid yw'n muon, fel arall mae'n muon. Yn amlwg ni allai nodweddion syml o’r fath roi cynnydd yn achos defnyddio hwb graddiant, felly fe wnaethom ychwanegu “pellter” sylweddol arall at y trothwy. Mae'r nodweddion hyn hefyd wedi'u gwella ychydig. Efallai, trwy ddadansoddi dulliau presennol yn fwy trylwyr, ei bod yn bosibl dod o hyd i ddulliau cryfach a'u hychwanegu at yr arwyddion.

Ar ddiwedd y gystadleuaeth, fe wnaethom newid ychydig ar yr ateb “cyflym” ar gyfer yr ail broblem; yn y diwedd, roedd yn wahanol i'r llinell sylfaen yn y pwyntiau canlynol:

  1. Mewn rhesi gyda phwysau negyddol gwrthdrowyd y targed
  2. Wedi llenwi'r gwerthoedd coll yn MatchedHit_{X,Y,Z}[N]
  3. Lleihau dyfnder i 7
  4. Cyfradd ddysgu is i 0.1 (roedd yn 0.19)

O ganlyniad, fe wnaethom roi cynnig ar fwy o nodweddion (ddim yn llwyddiannus iawn), paramedrau dethol a catboost hyfforddedig, lightgbm a xgboost, rhoi cynnig ar gyfuniadau gwahanol o ragfynegiadau a chyn agor y preifat fe wnaethom ennill yn hyderus ar yr ail dasg, ac ar y cyntaf roeddem ymhlith y arweinwyr.

Ar ôl agor y preifat roeddem yn y 10fed safle ar gyfer y dasg 1af a 3ydd am yr ail. Cymysgodd yr holl arweinwyr, ac roedd y cyflymder yn breifat yn uwch nag ar yr libboard. Mae'n ymddangos bod y data wedi'i haenu'n wael (neu er enghraifft nid oedd unrhyw resi â phwysau negyddol yn y preifat) ac roedd hyn ychydig yn rhwystredig.

SNA Hackathon 2019 - Testunau. Cam cyntaf

Y dasg oedd graddio postiadau defnyddwyr ar rwydwaith cymdeithasol Odnoklassniki yn seiliedig ar y testun a oedd ynddo; yn ogystal â'r testun, roedd ychydig mwy o nodweddion y post (iaith, perchennog, dyddiad ac amser creu, dyddiad ac amser gwylio ).

Fel dulliau clasurol o weithio gyda thestun, hoffwn dynnu sylw at ddau opsiwn:

  1. Mapio pob gair i mewn i ofod fector n-dimensiwn fel bod gan eiriau tebyg fectorau tebyg (darllenwch fwy yn ein herthygl), yna naill ai dod o hyd i'r gair cyfartalog ar gyfer y testun neu ddefnyddio mecanweithiau sy'n ystyried safle cymharol geiriau (CNN, LSTM/GRU).
  2. Defnyddio modelau a all weithio ar unwaith gyda brawddegau cyfan. Er enghraifft, Bert. Mewn egwyddor, dylai'r dull hwn weithio'n well.

Gan mai hwn oedd fy mhrofiad cyntaf gyda thestunau, byddai'n anghywir addysgu rhywun, felly byddaf yn addysgu fy hun. Dyma’r awgrymiadau y byddwn yn eu rhoi i mi fy hun ar ddechrau’r gystadleuaeth:

  1. Cyn i chi redeg i ddysgu rhywbeth, edrychwch ar y data! Yn ogystal â’r testun ei hun, roedd gan y data sawl colofn ac roedd modd gwasgu llawer mwy allan ohonyn nhw nag oeddwn i. Y peth symlaf yw gwneud amgodio targed cymedrig ar gyfer rhai o'r colofnau.
  2. Peidiwch â dysgu o'r holl ddata! Roedd llawer o ddata (tua 17 miliwn o resi) ac nid oedd angen defnyddio pob un ohonynt i brofi damcaniaethau. Roedd hyfforddiant a rhagbrosesu yn eithaf araf, ac yn amlwg byddwn wedi cael amser i brofi damcaniaethau mwy diddorol.
  3. <Cyngor dadleuol> Nid oes angen chwilio am fodel llofrudd. Treuliais amser hir yn darganfod Elmo a Bert, gan obeithio y byddent yn mynd â mi ar unwaith i le uchel, ac o ganlyniad defnyddiais mewnosodiadau wedi'u hyfforddi ymlaen llaw FastText ar gyfer yr iaith Rwsieg. Ni allwn gyflawni gwell cyflymder gydag Elmo, a doedd gen i ddim amser o hyd i ddarganfod hynny gyda Bert.
  4. <Cyngor dadleuol> Nid oes angen chwilio am un nodwedd llofrudd. Wrth edrych ar y data, sylwais nad yw tua 1 y cant o'r testunau yn cynnwys testun mewn gwirionedd! Ond roedd yna ddolenni i rai adnoddau, ac ysgrifennais ddosran syml a agorodd y safle a thynnu'r teitl a'r disgrifiad allan. Roedd yn ymddangos fel syniad da, ond yna fe wnes i gario i ffwrdd a phenderfynu dosrannu'r holl ddolenni ar gyfer yr holl destunau a cholli llawer o amser eto. Nid oedd hyn i gyd yn darparu gwelliant sylweddol yn y canlyniad terfynol (er fy mod yn cyfrifedig yn deillio, er enghraifft).
  5. Mae nodweddion clasurol yn gweithio. Rydym ni Google, er enghraifft, “nodweddion testun kaggle”, yn darllen ac yn ychwanegu popeth. Darparodd TF-IDF welliant, fel y gwnaeth nodweddion ystadegol megis hyd testun, geiriau, a swm yr atalnodi.
  6. Os oes colofnau DateTime, mae'n werth eu dosrannu'n sawl nodwedd ar wahân (oriau, dyddiau'r wythnos, ac ati). Dylid dadansoddi pa nodweddion y dylid eu hamlygu gan ddefnyddio graffiau/rhai metrigau. Yma, ar fympwy, gwnes bopeth yn gywir a thynnu sylw at y nodweddion angenrheidiol, ond ni fyddai dadansoddiad arferol wedi brifo (er enghraifft, fel y gwnaethom yn y rownd derfynol).

Gwrthdarwr Hadron Mawr a Odnoklassniki

O ganlyniad i'r gystadleuaeth, fe wnes i hyfforddi un model keras gyda convolution geiriau, ac un arall yn seiliedig ar LSTM a GRU. Defnyddiodd y ddau ohonynt fewnosodiadau FastText a hyfforddwyd ymlaen llaw ar gyfer yr iaith Rwsieg (ceisiais nifer o ymgorfforiadau eraill, ond dyma'r rhai a weithiodd orau). Ar ôl cyfartaleddu'r rhagfynegiadau, cymerais y 7fed safle olaf allan o 76 o gyfranogwyr.

Ar ôl y cam cyntaf fe'i cyhoeddwyd erthygl gan Nikolai Anokhin, a gymerodd yr ail safle (mae'n cymryd rhan allan o gystadleuaeth), ac mae ei ateb hyd at ryw gam dro ar ôl tro fy un i, ond aeth ymhellach oherwydd y mecanwaith sylw ymholiad-allweddol-werth.

Ail gam Iawn & IDAO

Digwyddodd ail gamau’r cystadlaethau bron yn olynol, felly penderfynais edrych arnynt gyda’n gilydd.

Yn gyntaf, fe wnes i a'r tîm newydd ddod i ben yn swyddfa drawiadol y cwmni Mail.ru, lle ein tasg oedd cyfuno'r modelau o dri thrac o'r cam cyntaf - testun, lluniau a chydweithrediad. Neilltuwyd ychydig yn fwy na 2 ddiwrnod ar gyfer hyn, a oedd yn troi allan i fod yn ychydig iawn. Mewn gwirionedd, dim ond o'r cam cyntaf yr oeddem yn gallu ailadrodd ein canlyniadau heb dderbyn unrhyw enillion o'r uno. Yn y diwedd, daethom yn 5ed, ond ni allem ddefnyddio'r model testun. Ar ôl edrych ar atebion cyfranogwyr eraill, mae'n ymddangos ei bod yn werth ceisio clystyru'r testunau a'u hychwanegu at y model cydweithio. Sgîl-effaith y cam hwn oedd argraffiadau newydd, cyfarfod a chyfathrebu â chyfranogwyr a threfnwyr cŵl, yn ogystal â diffyg cwsg difrifol, a allai fod wedi effeithio ar ganlyniad cam olaf IDAO.

Y dasg yng ngham Terfynol IDAO 2019 oedd rhagweld yr amser aros am orchymyn i yrwyr tacsi Yandex yn y maes awyr. Yng ngham 2, nodwyd 3 tasg = 3 maes awyr. Ar gyfer pob maes awyr, rhoddir data munud-wrth-munud ar nifer yr archebion tacsi am chwe mis. Ac fel data prawf, rhoddwyd y mis nesaf a data munud-wrth-munud ar orchmynion am y 2 wythnos ddiwethaf. Ychydig o amser (1,5 diwrnod), roedd y dasg yn eithaf penodol, dim ond un person o’r tîm ddaeth i’r gystadleuaeth – ac o ganlyniad, roedd yn lle trist tua’r diwedd. Roedd syniadau diddorol yn cynnwys ymdrechion i ddefnyddio data allanol: tywydd, tagfeydd traffig ac ystadegau archebion tacsis Yandex. Er na ddywedodd y trefnwyr beth oedd y meysydd awyr hyn, roedd llawer o gyfranogwyr yn cymryd yn ganiataol mai Sheremetyevo, Domodedovo a Vnukovo oeddent. Er bod y rhagdybiaeth hon wedi'i gwrthbrofi ar ôl y gystadleuaeth, fe wnaeth nodweddion, er enghraifft, o ddata tywydd Moscow wella'r canlyniadau ar ddilysu ac ar y bwrdd arweinwyr.

Casgliad

  1. Mae cystadlaethau ML yn cŵl a diddorol! Yma fe welwch y defnydd o sgiliau dadansoddi data, ac mewn modelau a thechnegau cyfrwys, ac yn syml, mae synnwyr cyffredin i'w groesawu.
  2. Mae ML eisoes yn gorff enfawr o wybodaeth sy'n ymddangos fel pe bai'n tyfu'n esbonyddol. Gosodais nod i mi fy hun i ddod yn gyfarwydd â gwahanol feysydd (signalau, lluniau, tablau, testun) a sylweddolais eisoes faint sydd i'w astudio. Er enghraifft, ar ôl y cystadlaethau hyn penderfynais astudio: algorithmau clystyru, technegau uwch ar gyfer gweithio gyda llyfrgelloedd hybu graddiant (yn benodol, gweithio gyda CatBoost ar y GPU), rhwydweithiau capsiwl, y mecanwaith sylw ymholiad-allweddol-gwerth.
  3. Nid trwy gagl yn unig! Mae yna lawer o gystadlaethau eraill lle mae'n haws cael crys T o leiaf, ac mae mwy o siawns am wobrau eraill.
  4. Cyfathrebu! Mae yna eisoes gymuned fawr ym maes dysgu peiriannau a dadansoddi data, mae yna grwpiau thematig mewn telegram, slac, a phobl ddifrifol o Mail.ru, Yandex a chwmnïau eraill i ateb cwestiynau a helpu dechreuwyr a'r rhai sy'n parhau â'u llwybr yn y maes hwn o wybodaeth.
  5. Rwy'n cynghori pawb a gafodd eu hysbrydoli gan y pwynt blaenorol i ymweld datafest - cynhadledd fawr am ddim ym Moscow, a gynhelir ar Fai 10-11.

Ffynhonnell: hab.com

Ychwanegu sylw