A ka shpërthyer flluska e mësimit të makinerisë, apo fillimi i një agimi të ri?

Lëshuar së fundmi artikull, e cila tregon një prirje të mirë në mësimin e makinerive në vitet e fundit. Shkurtimisht: numri i startup-eve të mësimit të makinerive ka rënë në dy vitet e fundit.

A ka shpërthyer flluska e mësimit të makinerisë, apo fillimi i një agimi të ri?
Epo. Le të shohim "nëse flluska ka shpërthyer", "si të vazhdojmë të jetojmë" dhe të flasim fillimisht se nga vjen kjo rrëmujë.

Së pari, le të flasim për atë që ishte përforcuesi i kësaj kurbe. Nga erdhi ajo? Ata ndoshta do të mbajnë mend gjithçka një fitore mësimi i makinerisë në vitin 2012 në konkursin ImageNet. Në fund të fundit, kjo është ngjarja e parë globale! Por në realitet nuk është kështu. Dhe rritja e kurbës fillon pak më herët. Unë do ta zbërthej në disa pika.

  1. Në vitin 2008 u shfaq termi “big data”. Filluan produktet e vërteta shfaqen që nga viti 2010. Të dhënat e mëdha lidhen drejtpërdrejt me mësimin e makinerive. Pa të dhëna të mëdha, funksionimi i qëndrueshëm i algoritmeve që ekzistonin në atë kohë është i pamundur. Dhe këto nuk janë rrjete nervore. Deri në vitin 2012, rrjetet nervore ishin pronë e një pakice margjinale. Por më pas filluan të funksionojnë algoritme krejtësisht të ndryshme, të cilat kishin ekzistuar për vite, apo edhe dekada: SVM(1963,1993), Pylli i rastësishëm (1995), AdaBoost (2003),... Startup-et e atyre viteve lidhen kryesisht me përpunimin automatik të të dhënave të strukturuara: arkat, përdoruesit, reklamat, shumë më tepër.

    Një derivat i kësaj vale të parë është një grup kornizash si XGBoost, CatBoost, LightGBM, etj.

  2. Në vitin 2011-2012 rrjetet neurale konvolucionale fitoi një sërë konkurse për njohjen e imazheve. Përdorimi i tyre aktual u vonua disi. Unë do të thoja që startup-et dhe zgjidhjet me kuptim masiv filluan të shfaqen në vitin 2014. U deshën dy vjet për të tretur që neuronet ende funksionojnë, për të krijuar korniza të përshtatshme që mund të instaloheshin dhe lëshoheshin në një kohë të arsyeshme, për të zhvilluar metoda që do të stabilizonin dhe përshpejtonin kohën e konvergjencës.

    Rrjetet konvolucionale bënë të mundur zgjidhjen e problemeve të shikimit kompjuterik: klasifikimi i imazheve dhe objekteve në imazh, zbulimi i objekteve, njohja e objekteve dhe njerëzve, përmirësimi i imazhit, etj., etj.

  3. 2015-2017. Bumi i algoritmeve dhe projekteve të bazuara në rrjete të përsëritura ose analoge të tyre (LSTM, GRU, TransformerNet, etj.). Janë shfaqur algoritme që funksionojnë mirë nga fjalimi në tekst dhe sistemet e përkthimit me makinë. Ato bazohen pjesërisht në rrjete konvolucionale për nxjerrjen e veçorive themelore. Pjesërisht për faktin se mësuam të mbledhim grupe të dhënash vërtet të mëdha dhe të mira.

A ka shpërthyer flluska e mësimit të makinerisë, apo fillimi i një agimi të ri?

“A ka plasur flluska? A është mbinxehur hype? A vdiqën ata si një blockchain?”
Përndryshe! Nesër Siri do të ndalojë së punuari në telefonin tuaj dhe pasnesër Tesla nuk do të dijë dallimin midis një kthese dhe një kanguri.

Rrjetet nervore tashmë janë duke punuar. Ato janë në dhjetëra pajisje. Ata me të vërtetë ju lejojnë të fitoni para, të ndryshoni tregun dhe botën përreth jush. Hype duket pak më ndryshe:

A ka shpërthyer flluska e mësimit të makinerisë, apo fillimi i një agimi të ri?

Vetëm se rrjetet nervore nuk janë më diçka e re. Po, shumë njerëz kanë pritshmëri të mëdha. Por një numër i madh kompanish kanë mësuar të përdorin neurone dhe të bëjnë produkte në bazë të tyre. Neuronet ofrojnë funksionalitet të ri, ju lejojnë të shkurtoni vendet e punës dhe të ulni çmimin e shërbimeve:

  • Kompanitë prodhuese po integrojnë algoritme për të analizuar defektet në linjën e prodhimit.
  • Fermat blegtorale blejnë sisteme për të kontrolluar lopët.
  • Kombinat automatike.
  • Qendrat e automatizuara të thirrjeve.
  • Filtrat në SnapChat. (Epo, të paktën diçka e dobishme!)

Por gjëja kryesore, dhe jo më e dukshme: "Nuk ka më ide të reja, ose ato nuk do të sjellin kapital të menjëhershëm". Rrjetet nervore kanë zgjidhur dhjetëra probleme. Dhe ata do të vendosin edhe më shumë. Të gjitha idetë e dukshme që ekzistonin krijuan shumë startup. Por gjithçka që ishte në sipërfaqe ishte mbledhur tashmë. Gjatë dy viteve të fundit, nuk kam hasur në një ide të re të vetme për përdorimin e rrjeteve nervore. Asnjë qasje e re e vetme (epo, mirë, ka disa probleme me GAN-et).

Dhe çdo fillim i mëpasshëm është gjithnjë e më kompleks. Nuk kërkon më dy djem që trajnojnë një neuron duke përdorur të dhëna të hapura. Kërkon programues, një server, një ekip shënuesish, mbështetje komplekse, etj.

Si rezultat, ka më pak startup. Por ka më shumë prodhim. Duhet të shtoni njohjen e targave? Ka qindra specialistë me përvojë përkatëse në treg. Ju mund të punësoni dikë dhe në disa muaj punonjësi juaj do të bëjë sistemin. Ose blini të gatshme. Por duke bërë një startup të ri?.. E çmendur!

Ju duhet të krijoni një sistem gjurmimi të vizitorëve - pse të paguani për një sërë licencash kur mund t'i bëni tuajat në 3-4 muaj, t'i mprehni për biznesin tuaj.

Tani rrjetet nervore po kalojnë nëpër të njëjtën rrugë që kanë kaluar dhjetëra teknologji të tjera.

A ju kujtohet se si ka ndryshuar koncepti i "zhvilluesit të faqes në internet" që nga viti 1995? Tregu nuk është ende i ngopur me specialistë. Ka shumë pak profesionistë. Por mund të vë bast se në 5-10 vjet nuk do të ketë shumë ndryshim midis një programuesi Java dhe një zhvilluesi të rrjetit nervor. Në treg do të ketë mjaft nga të dy specialistët.

Thjesht do të ketë një klasë problemesh që mund të zgjidhen nga neuronet. Ka lindur një detyrë - punësoni një specialist.

"Ç'pritet më tej? Ku është inteligjenca artificiale e premtuar?”

Por këtu ka një keqkuptim të vogël por interesant :)

Skema e teknologjisë që ekziston sot, me sa duket, nuk do të na çojë në inteligjencën artificiale. Idetë dhe risia e tyre e kanë ezauruar kryesisht veten. Le të flasim për atë që mban nivelin aktual të zhvillimit.

Kufizimet

Le të fillojmë me makinat që drejtojnë vetë. Duket qartë se është e mundur të bëhen makina plotësisht autonome me teknologjinë e sotme. Por për sa vite do të ndodhë kjo nuk është e qartë. Tesla beson se kjo do të ndodhë pas disa vitesh -


Ka shumë të tjerë specialistë, të cilët e vlerësojnë të jetë 5-10 vjet.

Me shumë mundësi, për mendimin tim, në 15 vjet vetë infrastruktura e qyteteve do të ndryshojë në atë mënyrë që shfaqja e makinave autonome do të bëhet e pashmangshme dhe do të bëhet vazhdimi i saj. Por kjo nuk mund të konsiderohet inteligjencë. Tesla moderne është një tubacion shumë kompleks për filtrimin, kërkimin dhe rikualifikimin e të dhënave. Këto janë rregulla-rregulla-rregulla, grumbullimi i të dhënave dhe filtrat mbi to (këtu këtu Kam shkruar pak më shumë për këtë, ose të shikoj nga kjo shenja).

Problemi i parë

Dhe këtu shohim problemi i parë themelor. Të dhëna të mëdha. Kjo është pikërisht ajo që lindi valën aktuale të rrjeteve nervore dhe mësimit të makinerive. Në ditët e sotme, për të bërë diçka komplekse dhe automatike, ju duhen shumë të dhëna. Jo vetëm shumë, por shumë, shumë. Ne kemi nevojë për algoritme të automatizuara për mbledhjen, shënimin dhe përdorimin e tyre. Ne duam ta bëjmë makinën të shohë kamionët përballë diellit - së pari duhet të mbledhim një numër të mjaftueshëm prej tyre. Ne duam që makina të mos çmendet me një biçikletë të lidhur me bulona në bagazh - më shumë mostra.

Për më tepër, një shembull nuk mjafton. qindra? Mijera?

A ka shpërthyer flluska e mësimit të makinerisë, apo fillimi i një agimi të ri?

Problemi i dytë

Problemi i dytë — vizualizimi i asaj që rrjeti ynë nervor ka kuptuar. Kjo është një detyrë shumë jo e parëndësishme. Deri më tani, pak njerëz e kuptojnë se si ta vizualizojnë këtë. Këta artikuj janë shumë të fundit, këta janë vetëm disa shembuj, edhe nëse janë të largët:
Vizualizimi obsesioni me teksturat. Tregon mirë se çfarë ka tendencë të fiksojë neuroni + atë që ai percepton si informacion fillestar.

A ka shpërthyer flluska e mësimit të makinerisë, apo fillimi i një agimi të ri?
Vizualizimi Vëmendje në përkthimet. Në fakt, tërheqja shpesh mund të përdoret pikërisht për të treguar se çfarë e shkaktoi një reagim të tillë të rrjetit. Unë kam parë gjëra të tilla si për korrigjimin e gabimeve ashtu edhe për zgjidhjet e produkteve. Ka shumë artikuj mbi këtë temë. Por sa më komplekse të jenë të dhënat, aq më e vështirë është të kuptosh se si të arrihet vizualizimi i fortë.

A ka shpërthyer flluska e mësimit të makinerisë, apo fillimi i një agimi të ri?

Epo, po, grupi i mirë i vjetër i "shikoni se çfarë ka brenda rrjetës". filtra" Këto foto ishin të njohura 3-4 vjet më parë, por të gjithë e kuptuan shpejt se fotot ishin të bukura, por nuk kishin shumë kuptim.

A ka shpërthyer flluska e mësimit të makinerisë, apo fillimi i një agimi të ri?

Nuk përmenda dhjetëra vegla të tjera, metoda, hakime, kërkime se si të shfaqni pjesët e brendshme të rrjetit. A funksionojnë këto mjete? A ju ndihmojnë të kuptoni shpejt se cili është problemi dhe të korrigjoni rrjetin?.. Merrni përqindjen e fundit? Epo, është pothuajse e njëjta gjë:

A ka shpërthyer flluska e mësimit të makinerisë, apo fillimi i një agimi të ri?

Ju mund të shikoni çdo konkurs në Kaggle. Dhe një përshkrim se si njerëzit marrin vendimet përfundimtare. Ne grumbulluam 100-500-800 njësi modelesh dhe funksionoi!

Unë jam duke e ekzagjeruar, sigurisht. Por këto qasje nuk japin përgjigje të shpejta dhe të drejtpërdrejta.

Duke pasur përvojë të mjaftueshme, duke diskutuar rreth opsioneve të ndryshme, mund të jepni një verdikt se pse sistemi juaj mori një vendim të tillë. Por do të jetë e vështirë për të korrigjuar sjelljen e sistemit. Instaloni një patericë, lëvizni pragun, shtoni një grup të dhënash, merrni një rrjet tjetër mbështetës.

Problemi i tretë

Problemi i tretë themelor - rrjetet mësojnë statistikat, jo logjikën. Statistikisht kjo fytyrën:

A ka shpërthyer flluska e mësimit të makinerisë, apo fillimi i një agimi të ri?

Logjikisht, nuk është shumë e ngjashme. Rrjetet nervore nuk mësojnë asgjë komplekse nëse nuk detyrohen. Ata gjithmonë mësojnë shenjat më të thjeshta të mundshme. Keni sy, hundë, kokë? Pra, kjo është fytyra! Ose jepni një shembull ku sytë nuk nënkuptojnë një fytyrë. Dhe përsëri - miliona shembuj.

Ka shumë vend në fund

Do të thosha se janë këto tre probleme globale që aktualisht kufizojnë zhvillimin e rrjeteve nervore dhe mësimin e makinerive. Dhe aty ku këto probleme nuk e kufizuan, ajo tashmë përdoret në mënyrë aktive.

Ky eshte fundi? A janë ngritur rrjetet nervore?

E panjohur. Por, natyrisht, të gjithë nuk shpresojnë.

Ka shumë qasje dhe drejtime për zgjidhjen e problemeve themelore që theksova më lart. Por deri më tani, asnjë nga këto qasje nuk ka bërë të mundur që të bëhet diçka thelbësisht e re, për të zgjidhur diçka që ende nuk është zgjidhur. Deri më tani, të gjitha projektet themelore po bëhen në bazë të qasjeve të qëndrueshme (Tesla), ose mbeten projekte testimi të instituteve ose korporatave (Google Brain, OpenAI).

Përafërsisht, drejtimi kryesor është krijimi i njëfarë përfaqësimi të nivelit të lartë të të dhënave hyrëse. Në një farë kuptimi, "kujtesa". Shembulli më i thjeshtë i kujtesës është "Embedding" i ndryshëm - paraqitjet e imazheve. Epo, për shembull, të gjitha sistemet e njohjes së fytyrës. Rrjeti mëson të marrë nga një fytyrë një përfaqësim të qëndrueshëm që nuk varet nga rrotullimi, ndriçimi ose rezolucioni. Në thelb, rrjeti minimizon metrikën "fytyrat e ndryshme janë larg" dhe "fytyrat identike janë afër".

A ka shpërthyer flluska e mësimit të makinerisë, apo fillimi i një agimi të ri?

Për një trajnim të tillë nevojiten dhjetëra e qindra mijëra shembuj. Por rezultati përmban disa nga bazat e "Të mësuarit me një goditje". Tani nuk na duhen qindra fytyra për të kujtuar një person. Vetëm një fytyrë dhe kjo është gjithçka që jemi le ta zbulojmë!
Ka vetëm një problem... Rrjeti mund të mësojë vetëm objekte mjaft të thjeshta. Kur përpiqeni të dalloni jo fytyrat, por, për shembull, "njerëzit sipas rrobave" (detyrë Riidentifikimi) - cilësia bie me shumë rend të madhësisë. Dhe rrjeti nuk mund të mësojë më ndryshime mjaft të dukshme në kënde.

Dhe të mësuarit nga miliona shembuj është gjithashtu një lloj argëtimi.

Ka punë për të reduktuar ndjeshëm zgjedhjet. Për shembull, mund të kujtohet menjëherë një nga veprat e para OneShot Learning nga Google:

A ka shpërthyer flluska e mësimit të makinerisë, apo fillimi i një agimi të ri?

Ka shumë vepra të tilla p.sh 1 ose 2 ose 3.

Ekziston vetëm një minus - zakonisht trajnimi funksionon mirë në disa shembuj të thjeshtë "MNIST". Dhe kur kaloni në detyra komplekse, keni nevojë për një bazë të dhënash të madhe, një model objektesh ose një lloj magjie.
Në përgjithësi, puna në trajnimin One-Shot është një temë shumë interesante. Ju gjeni shumë ide. Por në pjesën më të madhe, dy problemet që rendita (paratrajnimi në një grup të madh të dhënash / paqëndrueshmëria në të dhëna komplekse) ndërhyjnë shumë në të mësuarit.

Nga ana tjetër, GAN-të - rrjetet kundërshtare gjeneruese - i afrohen temës së Embedding. Ju ndoshta keni lexuar një mori artikujsh në Habré për këtë temë. (1, 2,3)
Një tipar i GAN është formimi i një hapësire të brendshme të gjendjes (në thelb i njëjti Embedding), i cili ju lejon të vizatoni një imazh. Ajo mund të jetë лица, mund te jete aktivitet.

A ka shpërthyer flluska e mësimit të makinerisë, apo fillimi i një agimi të ri?

Problemi me GAN është se sa më i ndërlikuar të jetë objekti i krijuar, aq më e vështirë është për t'u përshkruar në logjikën "gjenerues-diskriminues". Si rezultat, të vetmet aplikacione reale të GAN për të cilat dëgjohet janë DeepFake, i cili, përsëri, manipulon paraqitjet e fytyrës (për të cilat ka një bazë të madhe).

Kam parë shumë pak përdorime të tjera të dobishme. Zakonisht një lloj mashtrimi që përfshin përfundimin e vizatimeve të fotografive.

Dhe perseri. Askush nuk e ka idenë se si kjo do të na lejojë të kalojmë në një të ardhme më të ndritur. Përfaqësimi i logjikës/hapësirës në një rrjet nervor është i mirë. Por ne kemi nevojë për një numër të madh shembujsh, ne nuk e kuptojmë se si neuroni e përfaqëson këtë në vetvete, ne nuk kuptojmë se si ta bëjmë neuronin të kujtojë një ide vërtet komplekse.

Të mësuarit e përforcimit - kjo është një qasje nga një drejtim krejtësisht tjetër. Me siguri ju kujtohet se si Google mundi të gjithë në Go. Fitoret e fundit në Starcraft dhe Dota. Por këtu gjithçka nuk është aq rozë dhe premtuese. Ai flet më së miri për RL dhe kompleksitetet e tij ky artikull.

Për të përmbledhur shkurtimisht atë që shkroi autori:

  • Modelet jashtë kutisë nuk përshtaten / funksionojnë dobët në shumicën e rasteve
  • Problemet praktike janë më të lehta për t'u zgjidhur në mënyra të tjera. Boston Dynamics nuk përdor RL për shkak të kompleksitetit / paparashikueshmërisë / kompleksitetit llogaritës
  • Që RL të funksionojë, ju duhet një funksion kompleks. Shpesh është e vështirë të krijosh/shkruaj
  • Vështirë për të trajnuar modele. Ju duhet të shpenzoni shumë kohë për të pompuar dhe për të dalë nga optima lokale
  • Si rezultat, është e vështirë të përsëritet modeli, modeli është i paqëndrueshëm me ndryshimet më të vogla
  • Shpesh përputhet me disa modele të rastësishme, madje edhe një gjenerues të numrave të rastësishëm

Pika kryesore është se RL nuk funksionon ende në prodhim. Google ka disa eksperimente ( 1, 2 ). Por unë nuk kam parë një sistem të vetëm produkti.

kujtim. Ana negative e gjithçkaje të përshkruar më sipër është mungesa e strukturës. Një nga mënyrat për t'u përpjekur për të rregulluar të gjithë këtë është t'i siguroni rrjetit nervor akses në memorie të veçantë. Në mënyrë që ajo të regjistrojë dhe të rishkruajë rezultatet e hapave të saj atje. Pastaj rrjeti nervor mund të përcaktohet nga gjendja aktuale e memories. Kjo është shumë e ngjashme me procesorët dhe kompjuterët klasikë.

Më i famshmi dhe më popullor artikull - nga DeepMind:

A ka shpërthyer flluska e mësimit të makinerisë, apo fillimi i një agimi të ri?

Duket se ky është çelësi për të kuptuar inteligjencën? Por ndoshta jo. Sistemi kërkon ende një sasi të madhe të dhënash për trajnim. Dhe funksionon kryesisht me të dhëna tabelare të strukturuara. Për më tepër, kur Facebook vendosi një problem i ngjashëm, më pas ata morën rrugën "vidhosni kujtesën, thjesht bëni neuronin më të komplikuar dhe keni më shumë shembuj - dhe ai do të mësojë vetë".

Shkëputja. Një mënyrë tjetër për të krijuar një kujtesë kuptimplote është të merrni të njëjtat ngulitje, por gjatë trajnimit, futni kritere shtesë që do t'ju lejojnë të nënvizoni "kuptimet" në to. Për shembull, ne duam të trajnojmë një rrjet nervor për të dalluar sjelljen njerëzore në një dyqan. Nëse do të ndiqnim rrugën standarde, do të duhej të bënim një duzinë rrjete. Njëri kërkon një person, i dyti është të përcaktojë se çfarë po bën, i treti është mosha e tij, i katërti është gjinia e tij. Logjika e veçantë shikon pjesën e dyqanit ku e bën/është trajnuar për ta bërë këtë. E treta përcakton trajektoren e saj, etj.

Ose, nëse do të kishte një sasi të pafundme të dhënash, atëherë do të ishte e mundur të trajnohej një rrjet për të gjitha rezultatet e mundshme (natyrisht, një grup i tillë të dhënash nuk mund të mblidhet).

Qasja e shkëputjes na thotë - le të trajnojmë rrjetin në mënyrë që ai vetë të mund të bëjë dallimin midis koncepteve. Kështu që do të formonte një ngulitje bazuar në video, ku një zonë do të përcaktonte veprimin, një do të përcaktonte pozicionin në dysheme në kohë, një do të përcaktonte gjatësinë e personit dhe një do të përcaktonte gjininë e personit. Në të njëjtën kohë, gjatë trajnimit, do të doja që pothuajse të mos e nxisja rrjetin me koncepte të tilla kyçe, por më tepër që ai të nënvizonte dhe gruponte fusha. Ka mjaft artikuj të tillë (disa prej tyre 1, 2, 3) dhe në përgjithësi janë mjaft teorike.

Por ky drejtim, të paktën teorikisht, duhet të mbulojë problemet e renditura në fillim.

A ka shpërthyer flluska e mësimit të makinerisë, apo fillimi i një agimi të ri?

Zbërthimi i imazhit sipas parametrave "ngjyra e murit / ngjyra e dyshemesë / forma e objektit / ngjyra e objektit / etj."

A ka shpërthyer flluska e mësimit të makinerisë, apo fillimi i një agimi të ri?

Zbërthimi i një fytyre sipas parametrave "madhësia, vetullat, orientimi, ngjyra e lëkurës, etj."

Tjetër

Ka shumë fusha të tjera, jo aq globale, që ju lejojnë të zvogëloni disi bazën e të dhënave, të punoni me të dhëna më heterogjene, etj.

Kujdes. Ndoshta nuk ka kuptim ta veçojmë këtë si një metodë më vete. Thjesht një qasje që përmirëson të tjerët. Shumë artikuj i kushtohen atij (1,2,3). Pika e vëmendjes është rritja e reagimit të rrjetit në mënyrë specifike ndaj objekteve të rëndësishme gjatë trajnimit. Shpesh nga një lloj përcaktimi i jashtëm i objektivit, ose një rrjet i vogël i jashtëm.

simulim 3D. Nëse bëni një motor të mirë 3D, shpesh mund të mbuloni 90% të të dhënave të trajnimit me të (madje pashë një shembull ku pothuajse 99% e të dhënave mbuloheshin nga një motor i mirë). Ka shumë ide dhe mashtrime se si të bëni një rrjet të trajnuar në një motor 3D të funksionojë duke përdorur të dhëna reale (akordim i mirë, transferim stili, etj.). Por shpesh, bërja e një motori të mirë është disa shkallë më e vështirë sesa mbledhja e të dhënave. Shembuj kur janë bërë motorët:
Trajnim robotik (Google, kopsht mendjesh)
stërvitje njohje mallrat në dyqan (por në dy projektet që bëmë, ne bëmë lehtësisht pa të).
Trajnimi në Tesla (përsëri, video më lart).

Gjetjet

I gjithë artikulli është, në një kuptim, përfundime. Ndoshta mesazhi kryesor që doja të bëja ishte "falastë kanë mbaruar, neuronet nuk ofrojnë më zgjidhje të thjeshta". Tani duhet të punojmë shumë për të marrë vendime komplekse. Ose punoni shumë duke bërë kërkime komplekse shkencore.

Në përgjithësi, tema është e diskutueshme. Ndoshta lexuesit kanë shembuj më interesantë?

Burimi: www.habr.com

Shto një koment