Isọri ti awọn iyaworan ọwọ kikọ. Iroyin ni Yandex

Ni oṣu diẹ sẹhin, awọn ẹlẹgbẹ wa lati Google lo on Kaggle a idije lati ṣẹda a classifier fun awọn aworan gba ni sensational ere naa "Ni kiakia, Fa!" Ẹgbẹ naa, eyiti o pẹlu Yandex developer Roman Vlasov, gba ipo kẹrin ni idije naa. Ni ikẹkọ ikẹkọ ẹrọ ti Oṣu Kini, Roman pin awọn imọran ẹgbẹ rẹ, imuse ikẹhin ti classifier, ati awọn iṣe iwunilori ti awọn alatako rẹ.


- Bawo ni gbogbo eniyan! Orukọ mi ni Roma Vlasov, loni Emi yoo sọ fun ọ nipa Quick, Fa! Ipenija idanimọ Doodle.

Isọri ti awọn iyaworan ọwọ kikọ. Iroyin ni Yandex

Eniyan marun wa ninu ẹgbẹ wa. Mo darapọ mọ ni kete ṣaaju akoko ipari apapọ. A ko ni orire, a ti mì diẹ, ṣugbọn a ti mì lati ipo owo, wọn si mì lati ipo goolu. A sì gba ipò kẹrin tí ó lọ́lá.

(Nigba idije naa, awọn ẹgbẹ ṣe akiyesi ara wọn ni idiyele kan, eyiti o da lori awọn abajade ti o han ni apakan kan ti eto data ti a pinnu. Idiwọn ikẹhin, lapapọ, ni a ṣẹda ni apakan miiran ti dataset. Eyi ni a ṣe bẹ bẹ. pe awọn olukopa idije ko ṣe atunṣe awọn algoridimu wọn si awọn data kan pato.Nitorina, ni awọn ipari ipari, nigbati o ba yipada laarin awọn iwọntunwọnsi, awọn ipo gbigbọn kekere kan (lati Gẹẹsi gbigbọn - lati dapọ): lori data miiran, abajade le tan jade. Ẹgbẹ Roman wa ni akọkọ ni awọn mẹta akọkọ. Ni idi eyi, awọn mẹta ti o ga julọ ni owo, agbegbe idiyele owo, niwon awọn aaye mẹta akọkọ nikan ni a fun ni ẹbun owo, lẹhin gbigbọn, ẹgbẹ naa ti wa tẹlẹ. ni ipo kẹrin.Ni ọna kanna, ẹgbẹ keji padanu iṣẹgun, ipo goolu. - Ed.)

Isọri ti awọn iyaworan ọwọ kikọ. Iroyin ni Yandex

Idije naa tun ṣe pataki ni pe Evgeniy Babakhnin gba oga-nla kan, Ivan Sosin gba oluwa kan, Roman Soloviev wa ni agba agba, Alex Parinov gba oluwa kan, Mo di alamọdaju, ati nisisiyi Mo ti di oga.

Isọri ti awọn iyaworan ọwọ kikọ. Iroyin ni Yandex

Kini Iyara yii, Fa? Eyi jẹ iṣẹ lati Google. Google ni ibi-afẹde ti olokiki AI ati pẹlu iṣẹ yii fẹ lati ṣafihan bii awọn nẹtiwọọki nkankikan ṣiṣẹ. O lọ sibẹ, tẹ Jẹ ki a fa, ati pe oju-iwe tuntun kan jade nibiti o ti sọ fun ọ: fa zigzag kan, o ni iṣẹju 20 lati ṣe eyi. O n gbiyanju lati fa zigzag kan ni iṣẹju-aaya 20, bii nibi, fun apẹẹrẹ. Ti o ba ṣaṣeyọri, nẹtiwọọki naa sọ pe o jẹ zigzag ati pe o tẹsiwaju. Awọn aworan bẹ mẹfa nikan lo wa.

Ti nẹtiwọọki Google kuna lati ṣe idanimọ ohun ti o ya, a gbe agbelebu kan sori iṣẹ naa. Nigbamii Emi yoo sọ fun ọ kini yoo tumọ si ni ọjọ iwaju boya iyaworan kan jẹ idanimọ nipasẹ nẹtiwọọki tabi rara.

Iṣẹ yii ṣajọ nọmba ti o tobi pupọ ti awọn olumulo, ati gbogbo awọn aworan ti awọn olumulo ya ni a wọle.

Isọri ti awọn iyaworan ọwọ kikọ. Iroyin ni Yandex

A ṣakoso lati gba awọn aworan ti o fẹrẹ to miliọnu 50. Lati eyi, ọkọ oju irin ati ọjọ idanwo fun idije wa ni a ṣẹda. Nipa ọna, iye data ninu idanwo ati nọmba awọn kilasi jẹ afihan ni igboya fun idi kan. Emi yoo so fun o nipa wọn kekere kan nigbamii.

Awọn data kika wà bi wọnyi. Iwọnyi kii ṣe awọn aworan RGB nikan, ṣugbọn, ni aijọju sisọ, akọọlẹ ohun gbogbo ti olumulo ṣe. Ọrọ jẹ ibi-afẹde wa, koodu orilẹ-ede ni ibiti onkọwe doodle ti wa, igba akoko jẹ akoko. Aami idanimọ kan fihan boya nẹtiwọọki naa mọ aworan lati Google tabi rara. Ati iyaworan funrararẹ jẹ ọkọọkan kan, isunmọ ti ọna ti olumulo n fa pẹlu awọn aaye. Ati awọn akoko. Eyi ni akoko lati ibẹrẹ yiya aworan naa.

Isọri ti awọn iyaworan ọwọ kikọ. Iroyin ni Yandex

A ṣe afihan data ni awọn ọna kika meji. Eyi ni ọna kika akọkọ, ati pe keji jẹ irọrun. Wọn ge awọn akoko kuro lati ibẹ ati isunmọ eto awọn aaye yii pẹlu eto awọn aaye kekere kan. Fun eyi wọn lo Douglas-Pecker alugoridimu. O ni awọn aaye nla kan ti o kan isunmọ laini taara, ṣugbọn ni otitọ o le isunmọ laini yii pẹlu awọn aaye meji kan. Eyi ni imọran ti algorithm.

A pin data naa gẹgẹbi atẹle. Ohun gbogbo ti jẹ aṣọ, ṣugbọn nibẹ ni o wa diẹ ninu awọn outliers. Nigba ti a ba yanju iṣoro naa, a ko wo. Ohun akọkọ ni pe ko si awọn kilasi ti o jẹ diẹ gaan, a ko ni lati ṣe awọn apẹẹrẹ iwuwo ati iṣamulo data.

Isọri ti awọn iyaworan ọwọ kikọ. Iroyin ni Yandex

Kini awọn aworan naa dabi? Eyi ni kilasi "ọkọ ofurufu" ati awọn apẹẹrẹ lati ọdọ rẹ pẹlu awọn aami ti a mọ ati ti a ko mọ. Wọn ratio wà ibikan ni ayika 1 to 9. Bi o ti le ri, awọn data jẹ ohun alariwo. Emi yoo gboju pe ọkọ ofurufu ni. Ti o ba wo ti ko mọ, ni ọpọlọpọ igba o jẹ ariwo nikan. Ẹnikan paapaa gbiyanju lati kọ “ọkọ ofurufu,” ṣugbọn o han gbangba ni Faranse.

Pupọ julọ awọn olukopa mu awọn akoj nirọrun, fa data lati ọna ti awọn laini yii bi awọn aworan RGB, ati sọ wọn sinu nẹtiwọọki. Mo fa ni isunmọ ni ọna kanna: Mo mu paleti ti awọn awọ, fa ila akọkọ pẹlu awọ kan, eyiti o wa ni ibẹrẹ ti paleti yii, laini ikẹhin pẹlu miiran, eyiti o wa ni ipari paleti, ati laarin wọn. Mo ti interpolated nibi gbogbo lilo yi paleti. Nipa ọna, eyi fun abajade ti o dara julọ ju ti o ba fa bi lori ifaworanhan akọkọ - o kan ni dudu.

Awọn ọmọ ẹgbẹ miiran, gẹgẹbi Ivan Sosin, gbiyanju awọn ọna ti o yatọ diẹ si iyaworan. Pẹlu ikanni kan o kan ya aworan grẹy, pẹlu ikanni miiran o fa ikọlu kọọkan pẹlu gradient lati ibẹrẹ si ipari, lati 32 si 255, ati pẹlu ikanni kẹta o fa gradient lori gbogbo awọn ikọlu lati 32 si 255.

Ohun miiran ti o nifẹ si ni pe Alex Parinov gbe alaye si nẹtiwọọki nipa lilo koodu orilẹ-ede.

Isọri ti awọn iyaworan ọwọ kikọ. Iroyin ni Yandex

Metiriki ti a lo ninu idije jẹ Itọkasi Ipari Itumọ. Kini pataki ti metiriki yii fun idije? O le fun awọn asọtẹlẹ mẹta, ati pe ti ko ba si asọtẹlẹ to pe ni awọn mẹta wọnyi, lẹhinna o gba 0. Ti o ba wa ni deede, lẹhinna aṣẹ rẹ ni a ṣe akiyesi. Ati pe abajade ibi-afẹde yoo ka bi 1 pin nipasẹ aṣẹ ti asọtẹlẹ rẹ. Fun apẹẹrẹ, o ṣe awọn asọtẹlẹ mẹta, ati pe eyi ti o pe ni akọkọ, lẹhinna o pin 1 nipasẹ 1 ati gba 1. Ti asọtẹlẹ ba jẹ deede ati pe aṣẹ rẹ jẹ 2, lẹhinna pin 1 nipasẹ 2, o gba 0,5. O dara, ati bẹbẹ lọ.

Isọri ti awọn iyaworan ọwọ kikọ. Iroyin ni Yandex

Pẹlu iṣaju data - bii o ṣe le fa awọn aworan ati bẹbẹ lọ - a ti pinnu diẹ. Ohun ti architectures ti a lo? A gbiyanju lati lo awọn ile-iṣẹ faaji ti o sanra gẹgẹbi PNASNet, SENet, ati iru awọn faaji ti aṣa tẹlẹ bi SE-Res-NeXt, wọn n wọle si awọn idije tuntun. ResNet ati DenseNet tun wa.

Isọri ti awọn iyaworan ọwọ kikọ. Iroyin ni Yandex

Isọri ti awọn iyaworan ọwọ kikọ. Iroyin ni Yandex

Isọri ti awọn iyaworan ọwọ kikọ. Iroyin ni Yandex

Bawo ni a ṣe kọ eyi? Gbogbo awọn awoṣe ti a mu ni a kọkọ-oṣiṣẹ lori imagenet. Botilẹjẹpe data pupọ wa, awọn aworan miliọnu 50, ṣugbọn sibẹ, ti o ba mu nẹtiwọọki kan ti o kọkọ tẹlẹ lori imagenet, o fihan awọn abajade to dara julọ ju ti o ba kọ ọ ni irọrun lati ibere.

Awọn ilana ikọni wo ni a lo? Eyi jẹ Annealing Cosing pẹlu Awọn atunbere Gbona, eyiti Emi yoo sọrọ nipa diẹ diẹ nigbamii. Eyi jẹ ilana ti Mo lo ni gbogbo awọn idije aipẹ mi, ati pẹlu wọn o wa lati kọ awọn grids daradara daradara, lati ṣaṣeyọri o kere ju.

Isọri ti awọn iyaworan ọwọ kikọ. Iroyin ni Yandex

Next Din Learning Rate on Plateau. O bẹrẹ ikẹkọ nẹtiwọọki, ṣeto oṣuwọn ikẹkọ kan, tẹsiwaju lati kọ ẹkọ, ati pe pipadanu rẹ di diẹdiẹ si iye kan. O ṣayẹwo eyi, fun apẹẹrẹ, fun awọn akoko mẹwa ti ipadanu ko yipada rara. O dinku oṣuwọn ẹkọ rẹ nipasẹ iye diẹ ki o tẹsiwaju ikẹkọ. O ṣubu diẹ sii lẹẹkansi, ṣajọpọ ni o kere ju, ati pe o tun dinku oṣuwọn ẹkọ, ati bẹbẹ lọ, titi ti nẹtiwọọki rẹ yoo fi pejọ nikẹhin.

Nigbamii jẹ ilana ti o nifẹ: Maṣe bajẹ oṣuwọn ikẹkọ, mu iwọn ipele pọ si. Nkan kan wa pẹlu orukọ kanna. Nigbati o ba kọ nẹtiwọọki kan, iwọ ko ni lati dinku oṣuwọn ikẹkọ, o le nirọrun mu iwọn ipele naa pọ si.

Ilana yii, nipasẹ ọna, Alex Parinov lo. O bẹrẹ pẹlu ipele ti o dọgba si 408, ati nigbati nẹtiwọki rẹ de diẹ ninu awọn pẹtẹlẹ, o kan ni ilọpo meji iwọn ipele, ati bẹbẹ lọ.

Ni otitọ, Emi ko ranti iye ti iwọn ipele rẹ ti de, ṣugbọn ohun ti o ni iyanilenu ni pe awọn ẹgbẹ wa lori Kaggle ti o lo ilana kanna, iwọn ipele wọn jẹ nipa 10000. Nipa ọna, awọn ilana ode oni fun ikẹkọ jinlẹ, gẹgẹbi PyTorch, fun apẹẹrẹ, gba ọ laaye lati ṣe eyi ni irọrun pupọ. O ṣe agbekalẹ ipele rẹ ki o fi silẹ si nẹtiwọọki kii ṣe bi o ti ri, ni gbogbo rẹ, ṣugbọn pin si awọn ege ki o baamu sinu kaadi fidio rẹ, ṣe iṣiro awọn gradients, ati lẹhin ti o ti ṣe iṣiro gradient fun gbogbo ipele, imudojuiwọn awọn òṣuwọn.

Nipa ọna, awọn iwọn ipele nla tun wa ninu idije yii, nitori data naa jẹ ariwo pupọ, ati pe iwọn ipele nla ṣe iranlọwọ fun ọ ni deede diẹ sii ni isunmọ gradient naa.

Wọ́n tún lo àmì àfọwọ́kọ, tí Roman Soloviev lò jù lọ. O ṣe ayẹwo nipa idaji data lati inu idanwo ni awọn ipele, o si kọ akoj lori iru awọn ipele.

Iwọn awọn aworan ṣe pataki, ṣugbọn otitọ ni pe o ni data pupọ, o nilo lati ṣe ikẹkọ fun igba pipẹ, ati pe ti iwọn aworan rẹ ba tobi pupọ, lẹhinna o yoo kọ ẹkọ fun igba pipẹ pupọ. Ṣugbọn eyi ko ṣafikun pupọ si didara classifier ikẹhin rẹ, nitorinaa o tọ lati lo iru iṣowo-pipa kan. Ati pe a gbiyanju awọn aworan nikan ti ko tobi pupọ ni iwọn.

Bawo ni a ṣe kọ gbogbo rẹ? Ni akọkọ, awọn aworan ti o ni iwọn kekere ti ya, ọpọlọpọ awọn epochs ti wa ni ṣiṣe lori wọn, eyi gba akoko pupọ. Lẹhinna awọn aworan ti o tobi ju ni a fun, nẹtiwọki ti kọ ẹkọ, lẹhinna paapaa diẹ sii, ani diẹ sii, ki o má ba ṣe ikẹkọ rẹ lati ibere ati ki o ko padanu akoko pupọ.

Nipa optimizers. A lo SGD ati Adam. Ni ọna yii o ṣee ṣe lati gba awoṣe kan, eyiti o fun ni iyara ti 0,941-0,946 lori igbimọ gbogbogbo, eyiti o dara pupọ.

Ti o ba ṣajọpọ awọn awoṣe ni ọna kan, iwọ yoo gba ibikan ni ayika 0,951. Ti o ba lo ilana kan diẹ sii, iwọ yoo gba Dimegilio ipari ti 0,954 lori igbimọ gbogbo eniyan, gẹgẹ bi a ti gba. Ṣugbọn diẹ sii lori iyẹn nigbamii. Nigbamii Emi yoo sọ fun ọ bi a ṣe pejọ awọn awoṣe, ati bii a ṣe ṣakoso lati ṣaṣeyọri iru iyara ikẹhin kan.

Nigbamii Emi yoo fẹ lati sọrọ nipa Cosing Annealing pẹlu Awọn atunbere Gbona tabi Ilọsiwaju Sitokasitik pẹlu Awọn atunbẹrẹ Gbona. Ni aijọju, ni ipilẹ, o le lo eyikeyi iṣapeye, ṣugbọn aaye naa ni eyi: ti o ba kan kọ nẹtiwọọki kan ati ni diėdiẹ o ṣajọpọ si o kere ju, lẹhinna ohun gbogbo dara, iwọ yoo gba nẹtiwọọki kan, o ṣe awọn aṣiṣe kan, ṣugbọn iwọ le irin ni kekere kan otooto. Iwọ yoo ṣeto diẹ ninu oṣuwọn ikẹkọ akọkọ, ati ni diėdiė rẹ silẹ ni ibamu si agbekalẹ yii. O sọ ọ silẹ, nẹtiwọọki rẹ wa si o kere ju, lẹhinna o ṣafipamọ awọn iwuwo, ati lẹẹkansi ṣeto oṣuwọn ikẹkọ ti o wa ni ibẹrẹ ikẹkọ, nitorinaa lọ si ibikan si oke lati o kere ju yii, ati tun dinku oṣuwọn ikẹkọ rẹ lẹẹkansi.

Nitorinaa, o le ṣabẹwo si awọn o kere pupọ ni ẹẹkan, ninu eyiti pipadanu rẹ yoo jẹ, pẹlu tabi iyokuro, kanna. Ṣugbọn otitọ ni pe awọn nẹtiwọọki pẹlu awọn iwuwo wọnyi yoo fun awọn aṣiṣe oriṣiriṣi lori ọjọ rẹ. Nipa aropin wọn, iwọ yoo gba diẹ ninu iru isunmọ, ati iyara rẹ yoo ga julọ.

Isọri ti awọn iyaworan ọwọ kikọ. Iroyin ni Yandex

Nipa bi a ṣe ṣajọpọ awọn awoṣe wa. Ni ibẹrẹ igbejade, Mo sọ lati san ifojusi si iye data ninu idanwo ati nọmba awọn kilasi. Ti o ba ṣafikun 1 si nọmba awọn ibi-afẹde ninu ṣeto idanwo ati pin nipasẹ nọmba awọn kilasi, iwọ yoo gba nọmba 330, ati pe eyi ni a kọ sori apejọ - pe awọn kilasi ninu idanwo naa jẹ iwọntunwọnsi. Eyi le ṣee lo.

Da lori eyi, Roman Soloviev wa pẹlu metric kan, a pe ni Score Proxy, eyiti o ni ibamu daradara daradara pẹlu igbimọ olori. Koko-ọrọ ni: o ṣe asọtẹlẹ kan, mu oke 1 ti awọn asọtẹlẹ rẹ ki o ka nọmba awọn nkan fun kilasi kọọkan. Nigbamii, yọkuro 330 kuro ninu iye kọọkan ki o si fi awọn iye idiyege ti o yọrisi pọ si.

Awọn iye wọnyi ni a gba. Eyi ṣe iranlọwọ fun wa kii ṣe lati ṣẹda igbimọ adari iwadii, ṣugbọn lati fọwọsi ni agbegbe ati yan awọn iye-iye fun awọn apejọ wa.

Pẹlu akojọpọ kan o le gba iru iyara kan. Kini ohun miiran ti mo le ṣe? Ṣebi o lo alaye ti awọn kilasi ninu idanwo rẹ jẹ iwọntunwọnsi.

Iwọntunwọnsi yatọ. Apeere ti ọkan ninu wọn - iwọntunwọnsi lati awọn enia buruku ti o mu akọkọ ibi.

Kí la ṣe? Iwọntunwọnsi wa jẹ ohun rọrun, o daba nipasẹ Evgeny Babakhnin. A kọkọ lẹsẹsẹ awọn asọtẹlẹ wa nipasẹ oke 1 ati awọn oludije ti a yan lati ọdọ wọn - ki nọmba awọn kilasi ko kọja 330. Ṣugbọn fun awọn kilasi kan o pari pẹlu awọn asọtẹlẹ ti o kere ju 330. O dara, jẹ ki a tun lẹsẹsẹ nipasẹ oke 2 ati oke 3 , ati pe a yoo tun yan awọn oludije.

Bawo ni iwọntunwọnsi wa ṣe yatọ si iwọntunwọnsi ti aaye akọkọ? Wọn lo ọna aṣetunṣe, mu kilasi olokiki julọ ati idinku awọn iṣeeṣe fun kilasi yẹn nipasẹ nọmba kekere diẹ titi ti kilasi yẹn ko jẹ olokiki julọ. A gba kilasi olokiki julọ ti o tẹle. Nitorinaa wọn tẹsiwaju lati sọ wọn silẹ titi nọmba gbogbo awọn kilasi fi dọgba.

Gbogbo eniyan lo pẹlu afikun tabi iyokuro ọna kan si awọn nẹtiwọọki ikẹkọ, ṣugbọn kii ṣe gbogbo eniyan lo iwọntunwọnsi. Lilo iwọntunwọnsi, o le lọ sinu wura, ati pe ti o ba ni orire, lẹhinna sinu owo.

Bawo ni lati ṣaju ọjọ kan tẹlẹ? Gbogbo eniyan ti ṣaju ọjọ naa, pẹlu tabi iyokuro, ni ọna kanna - ṣiṣe awọn ẹya ara ẹrọ ti a fi ọwọ ṣe, ngbiyanju lati ṣe koodu awọn akoko pẹlu awọn awọ ọpọlọ oriṣiriṣi, bbl Alexey Nozdrin-Plotnitsky, ti o gba ipo 8th, sọ nipa eyi.

Isọri ti awọn iyaworan ọwọ kikọ. Iroyin ni Yandex

O ṣe yatọ si. O sọ pe gbogbo awọn ẹya afọwọṣe ti tirẹ ko ṣiṣẹ, ko nilo lati ṣe bẹ, nẹtiwọki rẹ yẹ ki o kọ gbogbo eyi funrararẹ. Ati dipo, o wa pẹlu awọn modulu ikẹkọ ti o ṣaju data rẹ tẹlẹ. O ju awọn atilẹba data sinu wọn lai preprocessing - ojuami ipoidojuko ati timings.

Lẹhinna o mu iyatọ ti o da lori awọn ipoidojuko, ati aropin gbogbo rẹ da lori awọn akoko. Ati awọn ti o wá soke pẹlu kan kuku gun matrix. O lo 1D convolution si i ni ọpọlọpọ igba lati gba matrix ti iwọn 64xn, nibiti n jẹ nọmba lapapọ ti awọn aaye, ati pe 64 ni a ṣe lati jẹ ifunni matrix abajade si Layer ti eyikeyi nẹtiwọọki ariyanjiyan, eyiti o gba nọmba awọn ikanni. - 64. o gba matrix 64xn, lẹhinna lati eyi o jẹ dandan lati ṣẹda tensor ti iwọn diẹ ki nọmba awọn ikanni jẹ dogba si 64. O ṣe deede gbogbo awọn ojuami X, Y ni iwọn lati 0 si 32 lati ṣẹda kan tensor ti iwọn 32x32. Emi ko mọ idi ti o fi fẹ 32x32, o kan ṣẹlẹ ni ọna yẹn. Ati ni ipoidojuko yii o gbe ajẹkù ti matrix yii ti iwọn 64xn. Nitorinaa o kan pari pẹlu tensor 32x32x64 ti o le fi siwaju sii sinu nẹtiwọọki alaiṣedeede rẹ. Iyẹn ni gbogbo ohun ti Mo fẹ sọ.

orisun: www.habr.com

Fi ọrọìwòye kun