Líníochtaí lámhscríofa a rangú. Tuairisciú i Yandex

Cúpla mí ó shin, ár gcomhghleacaithe ó Google caite ar Kaggle comórtas chun aicmitheoir a chruthú d'íomhánna a fhaightear sa sensational an cluiche "Gasta, Tarraing!" Ghlac an fhoireann, lena n-áirítear forbróir Yandex Roman Vlasov, an ceathrú háit sa chomórtas. Ag oiliúint meaisínfhoghlama Eanáir, roinn Roman smaointe a fhoireann, cur i bhfeidhm deiridh an aicmitheora, agus cleachtais suimiúla a chomhraic.


- Dia duit gach duine! Roma Vlasov is ainm dom, inniu inseoidh mé duit faoi Thapa, Tarraing! Dúshlán Aitheantais Doodle.

Líníochtaí lámhscríofa a rangú. Tuairisciú i Yandex

Bhí cúigear ar ár bhfoireann. Chuaigh mé isteach díreach roimh an spriocdháta cumaisc. Bhí mí-ádh orainn, bhí muid croith beagán, ach chroith muid as an suíomh airgid, agus chroith siad as an suíomh óir. Agus ghlacamar an ceathrú háit onórach.

(Le linn an chomórtais, thug na foirne faoi deara iad féin i rátáil, a bunaíodh bunaithe ar na torthaí a thaispeántar ar chuid amháin den tacar sonraí molta. Cruthaíodh an rátáil deiridh, ar a seal, ar chuid eile den tacar sonraí. Déantar é seo amhlaidh nach ndéanann rannpháirtithe an chomórtais a n-halgartaim a choigeartú le sonraí sonracha.Mar sin, sna cluichí ceannais, agus iad ag aistriú idir rátálacha, croith na poist beagán (ón mBéarla shake up - to mix): ar shonraí eile, d'fhéadfadh an toradh dul amach. a bheith difriúil Bhí foireann na Róimhe sa chéad trí cinn Sa chás seo, is iad na trí cinn is fearr ná airgead, crios rátála airgeadaíochta, ós rud é nár bronnadh duais airgid ach ar na chéad trí áit Tar éis an shake-up, bhí an fhoireann cheana féin i ceathrú háit. Ar an mbealach céanna, chaill an fhoireann eile an bua, an suíomh óir. - Ed.)

Líníochtaí lámhscríofa a rangú. Tuairisciú i Yandex

Bhí an comórtas suntasach freisin sa mhéid is go bhfuair Evgeniy Babakhnin máistir mhór, fuair Ivan Sosin máistir, d'fhan Roman Soloviev ina mhórmháistir, fuair Alex Parinov máistir, tháinig mé ina shaineolaí, agus anois tá mé ina mháistir cheana féin.

Líníochtaí lámhscríofa a rangú. Tuairisciú i Yandex

Cad é seo Quick, Tarraing? Seo seirbhís ó Google. Bhí sé mar sprioc ag Google tóir a fháil ar AI agus leis an tseirbhís seo bhí sé ag iarraidh a thaispeáint conas a oibríonn líonraí néaracha. Téann tú ann, cliceáil Déanaimis a tharraingt, agus tagann leathanach nua aníos nuair a deirtear leat: tarraing zigzag, tá 20 soicind agat chun é seo a dhéanamh. Tá tú ag iarraidh zigzag a tharraingt i 20 soicind, mar atá anseo, mar shampla. Má éiríonn leat, deir an líonra gur zigzag é agus bogann tú ar aghaidh. Níl ach sé phictiúr den sórt sin.

Má theip ar líonra Google an méid a tharraing tú a aithint, cuireadh cros ar an tasc. Níos déanaí inseoidh mé duit cad a bheidh i gceist sa todhchaí cibé an n-aithníonn an líonra líníocht nó nach n-aithníonn.

Bhailigh an tseirbhís seo líon measartha mór úsáideoirí, agus logáladh na pictiúir go léir a tharraing úsáideoirí.

Líníochtaí lámhscríofa a rangú. Tuairisciú i Yandex

D’éirigh linn beagnach 50 milliún íomhá a bhailiú. As seo, cuireadh dáta traenach agus tástála le chéile dár gcomórtas. Dála an scéil, aibhsítear méid na sonraí sa triail agus líon na ranganna i gcló trom ar chúis. Inseoidh mé duit mar gheall orthu beagán níos déanaí.

Seo a leanas formáid na sonraí. Ní íomhánna RGB amháin iad seo, ach, go garbh, loga de gach rud a rinne an t-úsáideoir. Is é an focal ár sprioc, is é an cód tíre an t-údar as an doodle, is é stampa ama. Léiríonn an lipéad aitheanta cé acu ar aithin an líonra an íomhá ó Google nó nár aithin. Agus is seicheamh é an líníocht féin, comhfhogasú ar chuar a tharraingíonn an t-úsáideoir le pointí. Agus amanna. Seo é an t-am ó thús líníocht an phictiúir.

Líníochtaí lámhscríofa a rangú. Tuairisciú i Yandex

Cuireadh na sonraí i láthair i dhá fhormáid. Is é seo an chéad fhormáid, agus tá an dara simplithe. Ghearr siad amach na hamanna as sin agus rinne siad an tacar pointí seo a neasú le sraith níos lú pointí. Chun seo a úsáid siad algartam Douglas-Pecker. Tá sraith mhór pointí agat nach bhfuil ann ach líne dhíreach a chomhfhogasú, ach i ndáiríre is féidir leat an líne seo a chomhfhogasú gan ach dhá phointe. Is é seo an smaoineamh ar an algartam.

Scaipeadh na sonraí mar seo a leanas. Tá gach rud aonfhoirmeach, ach tá roinnt asluitigh ann. Nuair a réitigheamar an fhadhb, níor fhéachamar uirthi. Is é an rud is mó ná nach raibh ranganna ar bith a bhí fíor-bheag, ní raibh orainn samplálaithe ualaithe agus ró-shampláil sonraí a dhéanamh.

Líníochtaí lámhscríofa a rangú. Tuairisciú i Yandex

Cén chuma a bhí ar na pictiúir? Seo an rang “eitleáin” agus samplaí uaidh agus na lipéid aitheanta agus neamhaitheanta. Bhí a gcóimheas áit éigin timpeall 1 go 9. Mar a fheiceann tú, tá na sonraí go leor noisy. Dhéanfainn buille faoi thuairim gur eitleán é. Má fhéachann tú ar nach bhfuil aitheanta, i bhformhór na gcásanna tá sé ach torann. Rinne duine iarracht fiú "eitleán" a scríobh, ach is cosúil i bhFraincis.

Thóg formhór na rannpháirtithe greillí, tharraing siad sonraí ón seicheamh línte seo mar phictiúir RGB, agus chaith siad isteach sa líonra iad. Tharraing mé thart ar an mbealach céanna: ghlac mé pailéad dathanna, tharraing mé an chéad líne le dath amháin, a bhí ag tús an pailéad seo, an líne dheireanach le ceann eile, a bhí ag deireadh an pailéad, agus eatarthu. Idirshuiteáil mé i ngach áit ag baint úsáide as an pailéad seo. Dála an scéil, thug sé seo toradh níos fearr ná má tharraingíonn tú amhail ar an gcéad sleamhnán - díreach i dubh.

Bhain baill foirne eile, mar shampla Ivan Sosin, triail as cur chuige beagán difriúil maidir le líníocht. Le cainéal amháin tharraing sé pictiúr liath, le cainéal eile tharraing sé gach stróc le grádán ó thús go deireadh, ó 32 go 255, agus leis an tríú cainéal tharraing sé grádán thar gach stró ó 32 go 255.

Rud suimiúil eile ná gur uaslódáil Alex Parinov faisnéis chuig an líonra ag baint úsáide as cód tíre.

Líníochtaí lámhscríofa a rangú. Tuairisciú i Yandex

Is é an Mhéadrach a úsáidtear sa chomórtas ná Meán-Bheachtais. Cad é croílár na méadrach seo don iomaíocht? Is féidir leat trí thuar a thabhairt, agus mura bhfuil tuar ceart sna trí cinn seo, gheobhaidh tú 0. Má tá ceann ceart ann, cuirtear a ord san áireamh. Agus déanfar an spriocthoradh a chomhaireamh mar 1 arna roinnt ar ord do thuar. Mar shampla, rinne tú trí thuarthóir, agus is é an ceann ceart an chéad cheann, ansin roinneann tú 1 ar 1 agus gheobhaidh tú 1. Má tá an réamhaithriseoir ceart agus is é 2 an t-ord, ansin roinn 1 ar 2, gheobhaidh tú 0,5. Bhuel, etc.

Líníochtaí lámhscríofa a rangú. Tuairisciú i Yandex

Le réamhphróiseáil sonraí - conas pictiúir a tharraingt agus mar sin de - tá beagán socraithe againn. Cad iad na hailtireachtaí a d'úsáideamar? Rinneamar iarracht ailtireachtaí saille cosúil le PNASNet, SENet, agus ailtireachtaí clasaiceacha mar SE-Res-NeXt a úsáid, agus tá siad ag dul isteach i gcomórtais nua níos mó ná riamh. Bhí ResNet agus DenseNet ann freisin.

Líníochtaí lámhscríofa a rangú. Tuairisciú i Yandex

Líníochtaí lámhscríofa a rangú. Tuairisciú i Yandex

Líníochtaí lámhscríofa a rangú. Tuairisciú i Yandex

Conas a mhúin muid é seo? Bhí na samhlacha go léir a ghlacamar réamh-oilte ar imagenet. Cé go bhfuil go leor sonraí, 50 milliún íomhánna, ach fós, má ghlacann tú líonra réamh-oilte ar imagenet, léirigh sé torthaí níos fearr ná má tá tú oilte go simplí é ó scratch.

Cad iad na teicníochtaí teagaisc a d’úsáideamar? Is é seo Cosing Annealing le Warm Restarts, a labhróidh mé faoi beagán níos déanaí. Is teicníocht í seo a úsáidim i mbeagnach gach comórtas a bhí agam le déanaí, agus in éineacht leo tarlaíonn sé go n-oileoidh mé na heangacha sách maith, chun íosmhéid maith a bhaint amach.

Líníochtaí lámhscríofa a rangú. Tuairisciú i Yandex

Ar Aghaidh Laghdaigh an Ráta Foghlama ar Ardchlár. Tosaíonn tú ag oiliúint an líonra, socraíonn tú ráta foghlama áirithe, leanann tú ag múineadh dó, agus de réir a chéile tagann do chaillteanas le luach áirithe. Seiceálann tú é seo, mar shampla, le deich n-réimhse níor athraigh an caillteanas ar chor ar bith. Laghdaíonn tú do ráta foghlama de réir luacha agus leanann tú ag foghlaim. Titeann sé beagán arís, coinbhéirseacht sé ar a laghad, agus íslíonn tú an ráta foghlama arís, agus mar sin de, go dtí go dtagann do líonra le chéile ar deireadh.

Is teicníc spéisiúil é seo chugainn: Ná meath ar an ráta foghlama, méadaigh méid an bhaisc. Tá alt leis an ainm céanna. Nuair a dhéanann tú oiliúint ar líonra, ní gá duit an ráta foghlama a laghdú, is féidir leat méid an bhaisc a mhéadú.

An teicníc seo, dála an scéil, a bhí in úsáid ag Alex Parinov. Thosaigh sé le baisc comhionann le 408, agus nuair a shroich a líonra ardchlár éigin, rinne sé ach méid an bhaisc a dhúbailt, etc.

Go deimhin, ní cuimhin liom cén luach a bhain a mhéid baisce amach, ach is é an rud atá suimiúil ná go raibh foirne ar Kaggle a bhain úsáid as an teicníc chéanna, ba é méid a mbaisc thart ar 10000. Dála an scéil, creataí nua-aimseartha don fhoghlaim dhomhain, mar shampla Ceadaíonn PyTorch, mar shampla, duit é seo a dhéanamh go han-éasca. Gineann tú do bhaisc agus cuireann tú isteach sa líonra é, ní mar atá sé, ina iomláine, ach roinneann tú ina smután é ionas go n-oireann sé isteach i do chárta físeáin, ríomh na grádáin, agus tar éis duit an grádán don bhaisc iomlán a ríomh, nuashonraigh na meáchain.

Dála an scéil, bhí méideanna baisc mhóra fós san áireamh sa chomórtas seo, toisc go raibh na sonraí go leor noisy, agus chabhraigh méid bhaisc mhór leat an grádán a chomhfhogasú níos cruinne.

Baineadh úsáid as lipéadú pseudo freisin, a d'úsáid Roman Soloviev den chuid is mó. Rinne sé sampláil ar thart ar leath de na sonraí ón tástáil i mbaisceanna, agus rinne sé oiliúint ar an eangach ar bhaisceanna den sórt sin.

Bhí méid na bpictiúr tábhachtach, ach is é an bhfíric go bhfuil go leor sonraí agat, ní mór duit oiliúint a dhéanamh ar feadh i bhfad, agus má tá méid do phictiúr sách mór, ansin beidh tú ag traenáil ar feadh tréimhse an-fhada. Ach níor chuir sé seo mórán le cáilíocht do aicmitheora deiridh, agus mar sin b'fhiú trádáil de shaghas éigin a úsáid. Agus rinneamar iarracht ach pictiúir nach raibh an-mhór i méid.

Conas a foghlaimíodh é go léir? Ar dtús, tógadh pictiúir beagmhéide, ritheadh ​​roinnt epochs orthu, thóg sé seo go leor ama. Ansin tugadh pictiúir mórmhéide, cuireadh oiliúint ar an líonra, ansin fiú níos mó, fiú níos mó, ionas nach gcuirfí oiliúint air ó thús agus gan a lán ama a chaitheamh.

Maidir le optimizers. D’úsáideamar SGD agus Adam. Ar an mbealach seo bhí sé indéanta múnla amháin a fháil, rud a thug luas 0,941-0,946 ar an gclár ceannairí poiblí, atá sách maith.

Má ensemble tú na samhlacha ar bhealach éigin, gheobhaidh tú áit éigin timpeall 0,951. Má úsáideann tú teicníc amháin eile, gheobhaidh tú scór deiridh de 0,954 ar an mbord poiblí, díreach mar a fuair muid. Ach níos mó ar sin níos déanaí. Ansin inseoidh mé duit conas a chuireamar na samhlacha le chéile, agus conas a d'éirigh linn luas deiridh den sórt sin a bhaint amach.

Ar Aghaidh Ba mhaith liom labhairt faoi Cosing Annealing le Warm Atosaithe nó Stochastic Gradient Descent le Warm Atosaithe. Thart ar labhairt, i bprionsabal, is féidir leat aon optimizer a úsáid, ach is é an pointe seo: má dhéanann tú oiliúint ach líonra amháin agus de réir a chéile a chéile go dtí roinnt íosta, ansin tá gach rud ceart go leor, gheobhaidh tú líonra amháin, déanann sé botúin áirithe, ach tú. is féidir é a oiliúint beagán difriúil. Socróidh tú roinnt ráta foghlama tosaigh, agus ísleoidh tú de réir a chéile é de réir na foirmle seo. Íslíonn tú é, tagann íosmhéid éigin ar do líonra, ansin sábhálann tú na meáchain, agus socraíonn tú arís an ráta foghlama a bhí ag tús na hoiliúna, rud a théann áit éigin aníos ón íosmhéid seo, agus laghdaítear do ráta foghlama arís.

Mar sin, is féidir leat cuairt a thabhairt ar roinnt íosta ag an am céanna, ina mbeidh do chaillteanas, móide nó lúide, mar an gcéanna. Ach is é an fírinne ná go dtabharfaidh líonraí leis na meáchain seo earráidí éagsúla ar do dháta. Trí mheán iad, gheobhaidh tú comhfhogasú de chineál éigin, agus beidh do luas níos airde.

Líníochtaí lámhscríofa a rangú. Tuairisciú i Yandex

Faoi mar a chuireamar ár múnlaí le chéile. Ag tús an chur i láthair, dúirt mé aird a thabhairt ar an méid sonraí sa tástáil agus ar líon na ranganna. Má chuireann tú 1 le líon na spriocanna sa triail atá leagtha síos agus má roinntear tú ar líon na ranganna, gheobhaidh tú an uimhir 330, agus scríobhadh é seo ar an bhfóram - go bhfuil na ranganna sa triail cothrom. D’fhéadfaí é seo a úsáid.

Bunaithe ar seo, tháinig Roman Soloviev suas le méadrach, thugamar Scór Proxy air, a chomhghaolaigh go maith leis an gclár ceannairí. Is é an pointe: déanann tú tuar, tóg an 1 is airde de do thuarthóir agus comhaireamh líon na n-ábhar do gach rang. Ansin, bain 330 ó gach luach agus suimigh na luachanna absalóideacha mar thoradh air sin.

Fuarthas na luachanna seo a leanas. Chabhraigh sé seo linn gan clár ceannródaithe fiosrach a chruthú, ach comhéifeachtaí a bhailíochtú go háitiúil agus a roghnú dár ensembles.

Le ensemble d'fhéadfá luas den sórt sin a fháil. Cad eile a d'fhéadfainn a dhéanamh? Cuir i gcás gur úsáid tú an t-eolas go bhfuil na ranganna i do thástáil cothrom.

Bhí an chothromú difriúil. Sampla de cheann acu - cothromaíocht ó na guys a ghlac an chéad áit.

Cad a rinne muid? Bhí ár gcothromú simplí go leor, mhol Evgeny Babakhnin é. Rinneamar ár dtuar a shórtáil ar dtús de réir barr 1 agus roghnaigh iarrthóirí uathu - ionas nach raibh líon na ranganna níos mó ná 330. Ach i gcás roinnt ranganna beidh níos lú ná réamhaisnéiseoirí 330 agat. Maith go leor, déanaimis sórtáil freisin de réir barr 2 agus an 3 barr , agus roghnóimid iarrthóirí freisin.

Cén difríocht a bhí idir ár gcothromaíocht agus an chothromú sa chéad áit? D’úsáid siad cur chuige atriallach, ag tógáil an ranga ba mhó ráchairt orthu agus ag laghdú na ndóchúlachtaí don rang sin de réir líon beag éigin go dtí nach raibh an rang sin ar an rang ba mhó éileamh. Thógamar an chéad rang eile is coitianta. Lean siad dá ísliú go dtí gur tháinig líon na ranganna go léir ar chomhchéim.

Bhain gach duine úsáid as cur chuige amháin móide nó lúide maidir le líonraí traenach, ach níor bhain gach duine úsáid as cothromú. Ag baint úsáide as cothromú, d'fhéadfá dul isteach in ór, agus má bhí an t-ádh ort, ansin isteach in airgead.

Conas dáta a réamhphróiseáil? Rinne gach duine réamhphróiseáil ar an dáta, móide nó lúide, ar an mbealach céanna - ag déanamh gnéithe lámhdhéanta, ag iarraidh uainiúcháin a ionchódú le dathanna éagsúla stróc, etc. Is é seo go díreach a labhair Alexey Nozdrin-Plotnitsky, a ghlac an 8ú háit.

Líníochtaí lámhscríofa a rangú. Tuairisciú i Yandex

Rinne sé go difriúil é. Dúirt sé nach n-oibríonn na gnéithe lámhdhéanta seo go léir de do chuid, ní gá duit é sin a dhéanamh, ba cheart do do líonra é seo a fhoghlaim leis féin. Agus ina ionad sin, tháinig sé suas le modúil foghlama a réamhphróiseáil do shonraí. Chaith sé na sonraí bunaidh isteach iontu gan réamhphróiseáil - comhordanáidí pointí agus amanna.

Ansin ghlac sé an difríocht bunaithe ar na comhordanáidí, agus meánaigh sé go léir bunaithe ar na hamanna. Agus tháinig sé suas le maitrís sách fada. Chuir sé convolution 1D i bhfeidhm air arís agus arís eile chun maitrís de mhéid 64xn a fháil, áit a bhfuil n líon iomlán na bpointí, agus déantar 64 chun an maitrís mar thoradh air sin a bheathú go dtí ciseal aon líonra convolutional, a ghlacann leis an líon bealaí. - 64. fuair sé maitrís 64xn, ansin as seo bhí sé riachtanach teannasóir de mhéid áirithe a chruthú ionas go mbeadh líon na gcainéal cothrom le 64. Normalaigh sé na pointí go léir X, Y sa raon ó 0 go 32 chun a tensor méid 32x32. Níl a fhios agam cén fáth go raibh sé ag iarraidh 32x32, tharla sé mar sin. Agus ag an gcomhordanáid seo chuir sé blúire den mhaitrís seo de mhéid 64xn. Mar sin dar críoch sé suas le tensor 32x32x64 a d'fhéadfaí tú a chur níos faide isteach i do líonra convolutional neural. Sin go léir a theastaigh uaim a rá.

Foinse: will.com

Add a comment