Klasifikasyon nan desen ekri alamen. Rapò nan Yandex

Kèk mwa de sa, kòlèg nou yo soti nan Google depanse sou Kaggle yon konpetisyon yo kreye yon klasifikasyon pou imaj yo jwenn nan sansasyonalis la jwèt la "Vit, trase!" Ekip la, ki gen ladan pwomotè Yandex Roman Vlasov, te pran katriyèm plas nan konpetisyon an. Nan fòmasyon aprantisaj machin janvye a, Roman te pataje lide ekip li a, aplikasyon final klasifikasyon an, ak pratik enteresan opozan li yo.


- Bonjou tout moun! Non mwen se Roma Vlasov, jodi a mwen pral pale ou sou Quick, Draw! Doodle Rekonesans defi.

Klasifikasyon nan desen ekri alamen. Rapò nan Yandex

Te gen senk moun nan ekip nou an. Mwen rantre nan dwa anvan dat limit la rantre. Nou pa t gen chans, nou te souke yon ti kras, men nou te souke nan pozisyon lajan an, epi yo te souke nan pozisyon an lò. Epi nou pran yon katriyèm plas onorab.

(Pandan konpetisyon an, ekip yo te obsève tèt yo nan yon evalyasyon, ki te fòme baze sou rezilta yo montre sou yon pati nan seri done yo pwopoze a. Rating final la, nan vire, te fòme sou yon lòt pati nan dataset la. Sa a se fè sa. ke patisipan yo konpetisyon pa ajiste algoritm yo nan done espesifik Se poutèt sa, nan final yo, lè chanje ant evalyasyon, pozisyon yo souke yon ti kras (soti nan angle a souke moute - melanje): sou lòt done, rezilta a ka vire soti. yo dwe diferan. Ekip Roman a te premye nan twa premye yo. Nan ka sa a, twa nan tèt yo se lajan, zòn Rating monetè, depi sèlman twa premye plas yo te akòde yon pri lajan kach. Apre souke-up la, ekip la te deja nan katriyèm plas. Nan menm fason an, lòt ekip la pèdi viktwa a, pozisyon an lò. - Ed.)

Klasifikasyon nan desen ekri alamen. Rapò nan Yandex

Konpetisyon an te enpòtan tou nan ke Evgeniy Babakhnin te resevwa yon gran mèt, Ivan Sosin te resevwa yon mèt, Roman Soloviev te rete yon granmèt, Alex Parinov te resevwa yon mèt, mwen te vin yon ekspè, e kounye a, mwen deja yon mèt.

Klasifikasyon nan desen ekri alamen. Rapò nan Yandex

Ki sa ki rapid sa a, trase? Sa a se yon sèvis Google. Google te gen objektif pou popilarize AI ak sèvis sa a te vle montre kouman rezo neral travay. Ou ale la, klike sou Ann trase, epi yon nouvo paj parèt kote yo di w la: trase yon zigzag, ou gen 20 segonn pou w fè sa. Ou ap eseye trase yon zigzag nan 20 segonn, tankou isit la, pou egzanp. Si w reyisi, rezo a di se yon zigzag epi w kontinye. Gen sèlman sis foto sa yo.

Si rezo Google la echwe pou pou rekonèt sa ou te trase, yo te mete yon kwa sou travay la. Pita mwen pral di w kisa sa pral vle di nan lavni si yon desen rekonèt pa rezo a oswa ou pa.

Sèvis sa a te rasanble yon nimewo jistis gwo itilizatè yo, epi tout foto itilizatè yo te trase yo te konekte.

Klasifikasyon nan desen ekri alamen. Rapò nan Yandex

Nou te rive kolekte prèske 50 milyon imaj. Apati sa a, yo te fòme tren ak dat tès pou konpetisyon nou an. By wout la, kantite done nan tès la ak kantite klas yo make an fonse pou yon rezon. Mwen pral pale w sou yo yon ti kras pita.

Fòma done a te jan sa a. Sa yo se pa sèlman imaj RGB, men, apeprè pale, yon boutèy demi lit tout sa itilizatè a te fè. Pawòl se sib nou, countrycode se kote otè doodle la soti, timestamp se tan. Etikèt la rekonèt jis montre si rezo a rekonèt imaj la soti nan Google oswa ou pa. Ak desen nan tèt li se yon sekans, yon apwoksimasyon nan yon koub ke itilizatè a trase ak pwen. Ak tan. Sa a se tan an depi nan kòmansman an nan desen foto a.

Klasifikasyon nan desen ekri alamen. Rapò nan Yandex

Done yo te prezante nan de fòma. Sa a se premye fòma a, epi dezyèm lan senplifye. Yo koupe tan yo soti nan la ak apwoksimatif seri pwen sa a ak yon seri pwen ki pi piti. Pou sa yo te itilize Algorithm Douglas-Pecker. Ou gen yon seri gwo pwen ki tou senpleman apwoksimatif yon liy dwat, men an reyalite ou ka apwoksimatif liy sa a ak jis de pwen. Sa a se lide nan algorithm la.

Done yo te distribye jan sa a. Tout bagay se inifòm, men gen kèk abitye. Lè nou rezoud pwoblèm nan, nou pa t gade li. Bagay pwensipal lan se ke pa te gen okenn klas ki te reyèlman kèk, nou pa t 'gen fè echantiyon filaplon ak done oversampling.

Klasifikasyon nan desen ekri alamen. Rapò nan Yandex

Ki jan foto yo te sanble? Sa a se klas la "avyon" ak egzanp nan li ak etikèt yo rekonèt epi yo pa rekonèt. Rapò yo te yon kote alantou 1 a 9. Kòm ou ka wè, done yo se byen fè bwi. Mwen ta devine se yon avyon. Si ou gade nan pa rekonèt, nan pifò ka li se jis bri. Yon moun menm te eseye ekri "avyon", men aparamman an franse.

Pifò patisipan yo tou senpleman te pran kadriyaj, te trase done ki soti nan sekans liy sa a kòm foto RGB, epi jete yo nan rezo a. Mwen te trase apeprè menm jan an: mwen te pran yon palèt koulè, mwen te trase premye liy lan ak yon koulè, ki te nan kòmansman palèt sa a, dènye liy lan ak yon lòt, ki te nan fen palèt la, ak ant yo. Mwen entèpole toupatou lè l sèvi avèk palèt sa a. By wout la, sa a te bay yon pi bon rezilta pase si ou trase tankou sou premye glise a - jis nan nwa.

Lòt manm ekip, tankou Ivan Sosin, te eseye yon ti kras diferan apwòch nan desen. Avèk yon kanal li tou senpleman trase yon foto gri, ak yon lòt kanal li te trase chak kou ak yon gradyan depi nan kòmansman rive nan fen, soti nan 32 a 255, ak ak twazyèm kanal la li te trase yon gradyan sou tout kou soti nan 32 a 255.

Yon lòt bagay enteresan se ke Alex Parinov telechaje enfòmasyon sou rezo a lè l sèvi avèk countrycode.

Klasifikasyon nan desen ekri alamen. Rapò nan Yandex

Metrik yo itilize nan konpetisyon an se Mean Average Precision. Ki sans nan metrik sa a pou konpetisyon? Ou ka bay twa predi, epi si pa gen okenn predi kòrèk nan twa sa yo, Lè sa a, ou jwenn 0. Si gen yon sèl ki kòrèk, Lè sa a, lòd li yo pran an kont. Epi rezilta sib la pral konte kòm 1 divize pa lòd prediksyon ou a. Pa egzanp, ou fè twa prediktè, epi youn ki kòrèk la se premye a, Lè sa a, ou divize 1 pa 1 epi jwenn 1. Si prediktè a kòrèk epi lòd li yo se 2, Lè sa a, divize 1 pa 2, ou jwenn 0,5. Oke, elatriye.

Klasifikasyon nan desen ekri alamen. Rapò nan Yandex

Avèk done preprocessing - ki jan yo desine foto ak sou sa - nou te deside yon ti kras. Ki achitekti nou te itilize? Nou te eseye sèvi ak achitekti gra tankou PNASNet, SENet, ak achitekti sa yo deja klasik tankou SE-Res-NeXt, yo de pli zan pli antre nan nouvo konpetisyon. Te gen ResNet ak DenseNet tou.

Klasifikasyon nan desen ekri alamen. Rapò nan Yandex

Klasifikasyon nan desen ekri alamen. Rapò nan Yandex

Klasifikasyon nan desen ekri alamen. Rapò nan Yandex

Ki jan nou te anseye sa? Tout modèl nou te pran yo te antrene davans sou imagenet. Malgre ke gen yon anpil nan done, 50 milyon imaj, men toujou, si ou pran yon rezo pre-antre sou imagenet, li te montre pi bon rezilta pase si ou tou senpleman fòme li nan grafouyen.

Ki teknik ansèyman nou te itilize? Sa a se Cosing Annealing ak rekòmanse cho, ki mwen pral pale sou yon ti kras pita. Sa a se yon teknik ke mwen itilize nan prèske tout konpetisyon ki sot pase mwen yo, ak ak yo li vire soti nan tren griy yo byen byen, reyalize yon bon minimòm.

Klasifikasyon nan desen ekri alamen. Rapò nan Yandex

Next Diminye Pousantaj Aprantisaj sou Plateau. Ou kòmanse fòmasyon rezo a, mete yon sèten pousantaj aprantisaj, kontinye anseye li, ak pèt ou piti piti konvèje nan yon sèten valè. Ou tcheke sa a, pou egzanp, pou dis epòk pèt la pa chanje ditou. Ou redui pousantaj aprantisaj ou a pa kèk valè epi kontinye aprann. Li tonbe yon ti kras ankò, konvèje nan kèk minimòm, epi ou ankò pi ba pousantaj aprantisaj la, ak sou sa, jiskaske rezo ou a finalman konvèje.

Next se yon teknik enteresan: pa pouri pousantaj aprantisaj la, ogmante gwosè a pakèt. Gen yon atik ki gen menm non. Lè ou fòme yon rezo, ou pa bezwen diminye pousantaj aprantisaj la, ou ka tou senpleman ogmante gwosè pakèt la.

Teknik sa a, nan chemen an, te itilize pa Alex Parinov. Li te kòmanse ak yon pakèt ki egal a 408, epi lè rezo li te rive nan kèk plato, li tou senpleman double gwosè pakèt la, elatriye.

An reyalite, mwen pa sonje ki valè gwosè pakèt li a te rive, men sa ki enteresan se ke te gen ekip sou Kaggle ki te itilize menm teknik la, gwosè pakèt yo te apeprè 10000 XNUMX. By wout la, kad modèn pou aprantisaj pwofon, tankou PyTorch, pou egzanp, pèmèt ou fè sa trè fasil. Ou jenere pakèt ou a epi soumèt li nan rezo a pa jan li ye a, an antye, men divize li an fragman pou li anfòm nan kat videyo ou a, kalkile gradyan yo, epi apre ou fin kalkile gradyan an pou tout pakèt la, mete ajou. pwa yo.

By wout la, gwosè pakèt gwo yo te toujou enkli nan konpetisyon sa a, paske done yo te byen fè bwi, ak yon gwosè pakèt gwo te ede ou pi byen apwoksimatif gradyan an.

Pseudo-etikèt te itilize tou, sitou itilize pa Roman Soloviev. Li pran echantiyon apeprè mwatye done ki soti nan tès la an pakèt, epi li fòme kadriyaj la sou lo sa yo.

Gwosè a nan foto yo enpòtan, men reyalite a se ke ou gen anpil done, ou bezwen antrene pou yon tan long, epi si gwosè foto ou a se byen gwo, Lè sa a, ou pral antrene pou yon tan trè lontan. Men, sa a pa t ajoute anpil nan kalite klasifikasyon final ou a, kidonk li te vo itilize kèk kalite komès-off. Epi nou te eseye sèlman foto ki pa t anpil nan gwosè.

Ki jan yo te aprann tout bagay? Premyèman, yo te pran foto ti gwosè, plizyè epòk yo te kouri sou yo, sa te pran anpil tan. Lè sa a, gwo-gwosè foto yo te bay, rezo a te resevwa fòmasyon, Lè sa a, menm plis, menm plis, se konsa yo pa fòme li nan grate epi yo pa gaspiye anpil tan.

Konsènan optimiseurs. Nou te itilize SGD ak Adan. Nan fason sa a li te posib jwenn yon modèl sèl, ki te bay yon vitès nan 0,941-0,946 sou klasman piblik la, ki se byen bon.

Si ou ansanbl modèl yo nan kèk fason, ou pral jwenn yon kote alantou 0,951. Si ou itilize yon lòt teknik, w ap jwenn yon nòt final 0,954 sou tablo piblik la, menm jan nou te resevwa. Men, plis sou sa pita. Apre sa, mwen pral di ou ki jan nou reyini modèl yo, ak ki jan nou jere yo reyalize tankou yon vitès final.

Apre sa, mwen ta renmen pale sou Cosing Annealing ak rekòmanse cho oswa desandan gradyan stochastic ak rekòmanse cho. Apeprè pale, nan prensip, ou ka itilize nenpòt optimiseur, men pwen an se sa a: si ou jis antrene yon rezo epi piti piti li konvèje nan kèk minimòm, Lè sa a, tout bagay se oke, ou pral jwenn yon sèl rezo, li fè sèten erè, men ou. ka antrene li yon ti jan diferan. Ou pral mete kèk pousantaj aprantisaj inisyal, epi piti piti diminye li dapre fòmil sa a. Ou bese li, rezo ou vini nan kèk minimòm, Lè sa a, ou sove pwa yo, epi ankò mete pousantaj aprantisaj la ki te nan kòmansman fòmasyon an, kidonk ale yon kote anwo nan minimòm sa a, epi ankò bese pousantaj aprantisaj ou.

Kidonk, ou ka vizite plizyè minimòm nan yon fwa, nan ki pèt ou yo pral, plis oswa mwens, menm bagay la. Men, reyalite a se ke rezo ak pwa sa yo pral bay erè diferan sou dat ou. Lè w fè mwayèn yo, w ap jwenn kèk kalite apwoksimasyon, epi vitès w ap pi wo.

Klasifikasyon nan desen ekri alamen. Rapò nan Yandex

Konsènan ki jan nou rasanble modèl nou yo. Nan kòmansman an nan prezantasyon an, mwen te di yo peye atansyon sou kantite done nan tès la ak kantite klas yo. Si ou ajoute 1 nan kantite sib nan seri tès la epi divize pa kantite klas, ou pral jwenn nimewo a 330, epi sa a te ekri sou fowòm nan - ke klas yo nan tès la balanse. Sa a ta ka itilize.

Baze sou sa a, Roman Soloviev te vini ak yon metrik, nou te rele li Proxy Score, ki te korelasyon byen ak Leaderboard la. Pwen an se: ou fè yon prediksyon, pran premye 1 nan prediktè ou yo epi konte kantite objè pou chak klas. Apre sa, soustraksyon 330 nan chak valè epi ajoute valè absoli ki kapab lakòz yo.

Yo te jwenn valè sa yo. Sa te ede nou pa kreye yon klasman sonde, men pou nou valide lokalman epi chwazi koyefisyan pou ansanbl nou yo.

Avèk yon ansanbl ou ka jwenn yon vitès konsa. Ki lòt bagay mwen ta ka fè? Sipoze ou te itilize enfòmasyon ke klas yo nan tès ou a ekilibre.

Balanse a te diferan. Yon egzanp youn nan yo — balanse soti nan mesye yo ki te pran premye plas.

Kisa nou te fè? Balanse nou an te byen senp, li te sijere pa Evgeny Babakhnin. Premye nou klase prediksyon nou yo pa pi gwo 1 epi chwazi kandida nan yo - pou kantite klas yo pa te depase 330. Men, pou kèk klas ou fini ak mwens pase prediktè 330. Oke, ann tou klase pa 2 pi wo ak 3 pi wo yo. , epi nou pral chwazi kandida tou.

Ki jan balans nou an te diferan ak balanse premye plas la? Yo te itilize yon apwòch iteratif, pran klas ki pi popilè a epi diminye pwobabilite pou klas sa a pa kèk ti kantite jiskaske klas sa a pa t pi popilè ankò. Nou te pran pwochen klas ki pi popilè a. Se konsa, yo te kontinye bese yo jiskaske kantite tout klas yo te vin egal.

Tout moun te itilize plis oswa mwens yon apwòch pou fòme rezo, men se pa tout moun ki te itilize balans. Sèvi ak balanse, ou ta ka ale nan lò, epi si ou te gen chans, Lè sa a, nan lajan.

Ki jan yo pretrete yon dat? Tout moun te pretrete dat la, plis oswa mwens, nan menm fason an - fè karakteristik atizanal, ap eseye kode distribisyon ak diferan koulè konjesyon serebral, elatriye Alexey Nozdrin-Plotnitsky, ki te pran 8yèm plas, te pale sou sa.

Klasifikasyon nan desen ekri alamen. Rapò nan Yandex

Li te fè li yon fason diferan. Li te di ke tout karakteristik atizanal sa yo pa travay, ou pa bezwen fè sa, rezo ou ta dwe aprann tout bagay sa yo poukont li. Ak olye de sa, li te vini ak modil aprantisaj ki pretrete done ou yo. Li jete done orijinal yo nan yo san yo pa preprocessing - kowòdone pwen ak tan.

Lè sa a, li te pran diferans lan ki baze sou kowòdone yo, ak mwayèn li tout ki baze sou tan yo. Apre sa, li te vini ak yon matris olye long. Li te aplike konvolusyon 1D sou li plizyè fwa pou jwenn yon matris ki gen gwosè 64xn, kote n se kantite total pwen, epi 64 fèt pou l manje matris ki kapab lakòz nan kouch nenpòt rezo konvolusyonèl, ki aksepte kantite chanèl. - 64. li te jwenn yon matris 64xn, Lè sa a, soti nan sa a li te nesesè yo kreye yon tensor nan kèk gwosè pou ke kantite chanèl yo te egal a 64. Li nòmalize tout pwen X, Y nan seri a soti nan 0 a 32 yo kreye yon tensor nan gwosè 32x32. Mwen pa konnen poukisa li te vle 32x32, li jis rive konsa. Ak nan kowòdone sa a li te mete yon fragman nan matris sa a ki gen gwosè 64xn. Se konsa, li jis te fini ak yon tensor 32x32x64 ke ou ta ka mete pi lwen nan rezo neral konvolisyon ou. Se tout sa mwen te vle di.

Sous: www.habr.com

Add nouvo kòmantè