Acasă Ciuperci „Un mare om de știință a datelor este plătit ca director general al unei companii obișnuite.” Yandex.Taxi expert în învățarea automată a modului în care datele prezic viitorul și modelează lumea. ABC-ul AI: „Învățare automată Chiar și astfel de subtilități

„Un mare om de știință a datelor este plătit ca director general al unei companii obișnuite.” Yandex.Taxi expert în învățarea automată a modului în care datele prezic viitorul și modelează lumea. ABC-ul AI: „Învățare automată Chiar și astfel de subtilități

Ca parte a proiectului ABC AI împreună cu MIPT, am scris deja despre așa-zisele, care vă permit să „dezvoltați” programe după principiile și legile evoluției darwiniste. Cu toate acestea, în timp ce o astfel de abordare a inteligenței artificiale este, desigur, un „oaspete din viitor”. Dar cum sunt create sistemele de inteligență artificială astăzi? Cum sunt ei instruiți? Viktor Kantor, profesor principal la Departamentul de Algoritmi și Tehnologii de Programare de la Institutul de Fizică și Tehnologie din Moscova, șeful Grupului de analiză a comportamentului utilizatorilor Yandex Data Factory, ne-a ajutat să înțelegem acest lucru.

Potrivit unui raport recent al companiei de cercetare Gartner, care își actualizează în mod regulat ciclul de maturitate tehnologică, din toate domeniile IT, învățarea automată se află la vârful așteptărilor astăzi. Acest lucru nu este surprinzător: în ultimii câțiva ani, învățarea automată a ieșit din sfera de interes a unui cerc restrâns de matematicieni și specialiști în teoria algoritmilor și a pătruns mai întâi în vocabularul oamenilor de afaceri din IT, iar apoi în lume. a oamenilor obișnuiți. Acum că există rețele neuronale cu „magia” lor specială, oricine a folosit aplicația Prisma, a căutat melodii folosind Shazam sau a văzut imagini transmise prin DeepDream știe.

Cu toate acestea, una este să folosești tehnologia și alta să înțelegi cum funcționează. Cuvintele uzuale precum „un computer poate învăța dacă îi dai un indiciu” sau „o rețea neuronală este formată din neuroni digitali și este aranjată ca un creier uman” pot ajuta pe cineva, dar de cele mai multe ori nu fac decât să încurce situația. Cei care urmează să se angajeze serios în învățarea matematicii nu au nevoie de texte populare: există manuale și cursuri online excelente pentru ei. Vom încerca să mergem pe calea de mijloc: să explicăm cum se întâmplă de fapt învățarea la cea mai simplă sarcină posibilă și apoi să arătăm cum aceeași abordare poate fi aplicată pentru a rezolva probleme reale interesante.

Cum învață mașinile

Pentru început, pentru a înțelege exact cum se întâmplă învățarea automată, să definim conceptele. După cum a definit unul dintre pionierii în domeniu, Arthur Samuel, învățarea automată se referă la metode care „permit computerelor să învețe fără a fi programate direct”. Există două clase mari de metode de învățare automată: învățarea supravegheată și învățarea nesupravegheată. Primul este folosit atunci când, de exemplu, trebuie să învățăm computerul să caute fotografii cu imaginea pisicilor, al doilea - când avem nevoie de mașină, de exemplu, pentru a putea grupa independent știrile în povești, așa cum se întâmplă în servicii precum Yandex.News sau Google News. Adică, în primul caz, avem de-a face cu o sarcină care presupune existența unui răspuns corect (pisica din fotografie fie este acolo, fie nu), în al doilea, nu există un singur răspuns corect, dar există diferite modalități de a rezolva problema. Ne vom concentra asupra primei clase de probleme ca fiind cele mai interesante.

Deci, trebuie să învățăm computerul să facă niște predicții. Și, de preferință, cât mai precis posibil. Predicțiile pot fi de două tipuri: fie trebuie să alegeți între mai multe opțiuni de răspuns (există o pisică în imagine sau nu - aceasta este alegerea unei opțiuni din două, capacitatea de a recunoaște literele din imagini este alegerea uneia opțiunea din câteva zeci și așa mai departe) sau faceți o predicție numerică. De exemplu, preziceți greutatea unei persoane pe baza înălțimii, vârstei, mărimii pantofilor și așa mai departe. Aceste două tipuri de probleme arată doar diferit; de fapt, ele sunt rezolvate aproape în același mod. Să încercăm să înțelegem cum.

Primul lucru de care trebuie să facem un sistem de predicție este să colectăm așa-numitul eșantion de antrenament, adică date despre ponderea oamenilor în populație. Al doilea este să decidem asupra unui set de caracteristici, pe baza cărora putem trage concluzii despre greutate. Este clar că unul dintre cele mai „puternice” dintre aceste semne va fi creșterea unei persoane, prin urmare, ca primă aproximare, este suficient să o luați doar pe ea. Dacă greutatea depinde liniar de înălțime, atunci predicția noastră va fi foarte simplă: greutatea unei persoane va fi egală cu înălțimea sa înmulțită cu un coeficient, plus o valoare constantă, care este scrisă cu cea mai simplă formulă y \u003d kx + b. Tot ce trebuie să facem pentru a pregăti o mașină pentru a prezice greutatea unei persoane este să găsim cumva valorile potrivite pentru k și b.

Frumusețea învățării automate este că, chiar dacă dependența pe care o studiem este foarte complexă, este, în esență, puțin de schimbat în abordarea noastră în sine. Vom avea în continuare de-a face cu aceeași regresie.

Să presupunem că înălțimea unei persoane nu afectează liniar greutatea unei persoane, ci la gradul al treilea (ceea ce este de așteptat în general, deoarece greutatea depinde de volumul corpului). Pentru a ține cont de această dependență, introducem pur și simplu încă un termen în ecuația noastră, și anume al treilea grad de creștere cu propriul coeficient, obținând în același timp y=k 1 x+k 2 x 3 +b. Acum, pentru a antrena mașina, va trebui să găsim nu două, ci trei valori (k 1, k 2 și b). Să presupunem că vrem să ținem cont și de mărimea pantofilor unei persoane, de vârsta acesteia, de timpul petrecut uitându-se la televizor și de distanța de la apartamentul său până la cel mai apropiat fast-food în predicția noastră. Nicio problemă: punem aceste caracteristici ca termeni separați în aceeași ecuație.

Cel mai important lucru este de a crea o modalitate universală de a găsi coeficienții necesari (k 1 , k 2 , … k n). Dacă este, ne va fi aproape indiferent ce caracteristici să folosim pentru predicție, deoarece mașina în sine va învăța să acorde multă greutate celor importante, iar una mică caracteristicilor neimportante. Din fericire, o astfel de metodă a fost deja inventată și aproape toată învățarea automată funcționează cu succes pe ea: de la cele mai simple modele liniare până la sisteme de recunoaștere a fețelor și analizoare de vorbire. Această metodă se numește coborâre în gradient. Dar înainte de a explica cum funcționează, trebuie să facem o mică digresiune și să vorbim despre rețelele neuronale.

Rețele neuronale

În 2016, rețelele neuronale au intrat atât de strâns în agenda informațiilor încât aproape s-au identificat cu orice învățare automată și IT avansat în general. Din punct de vedere formal, acest lucru nu este adevărat: rețelele neuronale nu sunt întotdeauna folosite în învățarea matematicii, există și alte tehnologii. Dar, în general, desigur, o astfel de asociere este de înțeles, deoarece este vorba de sisteme bazate pe rețele neuronale care dau acum cele mai „magice” rezultate, cum ar fi capacitatea de a căuta o persoană după fotografie, apariția aplicațiilor care transferă stilul unei imagini la alta, sau sisteme de generare de texte în maniera de vorbire a unei anumite persoane.

Modul în care sunt aranjate rețelele neuronale, noi deja. Aici vreau doar să subliniez că puterea rețelelor neuronale în comparație cu alte sisteme de învățare automată constă în straturile lor multiple, dar acest lucru nu le face ceva fundamental diferite în ceea ce privește modul în care funcționează. Stratificarea vă permite într-adevăr să găsiți caracteristici și dependențe comune foarte abstracte în seturi complexe de caracteristici, cum ar fi pixelii dintr-o imagine. Dar este important de înțeles că în ceea ce privește principiile de învățare, o rețea neuronală nu este radical diferită de un set de formule convenționale de regresie liniară, așa că aceeași metodă de coborâre a gradientului funcționează excelent și aici.

„Puterea” rețelei neuronale constă în prezența unui strat intermediar de neuroni care combină valorile stratului de intrare în rezumat. Din acest motiv, rețelele neuronale pot găsi caracteristici de date foarte abstracte care sunt greu de redus la formule simple, cum ar fi o relație liniară sau pătratică.

Să explicăm cu un exemplu. Ne-am stabilit pe o predicție în care greutatea unei persoane depinde de înălțimea și înălțimea cubului, care este exprimată prin formula y=k 1 x+k 2 x 3 +b. Cu ceva întindere, dar de fapt, chiar și o astfel de formulă poate fi numită o rețea neuronală. În ea, ca și într-o rețea neuronală convențională, există un prim strat de „neuroni”, care este, de asemenea, un strat de caracteristici: acestea sunt x și x 3 (ei bine, „neuronul unic” pe care îl avem în vedere și pentru care coeficientul b este responsabil). Stratul superior, sau rezultatul, este reprezentat de un singur „neuron” y, adică greutatea prezisă a persoanei. Și între primul și ultimul strat de „neuroni” există conexiuni, a căror putere sau greutate este determinată de coeficienții k 1 , k 2 și b. A antrena această „rețea neuronală” înseamnă pur și simplu a găsi aceiași coeficienți.

Singura diferență față de rețelele neuronale „reale” de aici este că nu avem un singur strat intermediar (sau ascuns) de neuroni, a cărui sarcină este să combine caracteristicile de intrare. Introducerea unor astfel de straturi face posibil să nu se inventeze posibile dependențe între caracteristicile disponibile, ci să se bazeze pe combinațiile lor deja existente în rețeaua neuronală. De exemplu, vârsta și timpul mediu TV pot avea un efect sinergic asupra greutății unei persoane, dar, având o rețea neuronală, nu trebuie să știm acest lucru dinainte și să introducem produsul său în formulă. Cu siguranță va exista un neuron în rețeaua neuronală care combină influența oricăror două caracteristici, iar dacă această influență este cu adevărat vizibilă pe eșantion, atunci după antrenament acest neuron va primi automat o greutate mare.

coborâre în gradient

Deci, avem un set de antrenament de exemple cu date cunoscute, adică un tabel cu greutatea umană măsurată cu precizie și unele ipoteze de dependență, în acest caz, regresia liniară y=kx+b. Sarcina noastră este să găsim valorile corecte ale lui k și b, și nu manual, ci automat. Și, de preferință, o metodă universală care nu depinde de numărul de parametri incluși în formulă.

Pentru a face acest lucru, în general, este ușor. Ideea principală este de a crea o funcție care să măsoare nivelul de eroare total curent și să „ajusteze” coeficienții astfel încât nivelul de eroare total să scadă treptat. Cum să scadă nivelul de eroare? Trebuie să ne modificăm parametrii în direcția corectă.

Imaginați-vă cei doi parametri ai noștri pe care îi căutăm, aceleași k și b, ca două direcții pe plan, ca axele nord-sud și vest-est. Fiecare punct dintr-un astfel de plan va corespunde unei anumite valori a coeficienților, unei anumite relații specifice între înălțime și greutate. Și pentru fiecare astfel de punct din plan, putem calcula nivelul total de erori pe care această predicție îl oferă pentru fiecare dintre exemplele din eșantionul nostru.

Se dovedește ceva ca o înălțime specifică în avion, iar întregul spațiu din jur începe să semene cu un peisaj montan. Munții sunt puncte în care rata de eroare este foarte mare, văile sunt locuri în care există mai puține erori. Este clar că a ne antrena sistemul înseamnă a găsi cel mai jos punct de pe sol, punctul în care rata de eroare este minimă.

Cum poți găsi acest punct? Cea mai corectă modalitate este să vă deplasați în jos tot timpul din punctul în care am ajuns inițial. Deci, mai devreme sau mai târziu, vom ajunge la un minim local - un punct sub care nu este nimic în imediata vecinătate. Mai mult, este de dorit să faceți pași de diferite dimensiuni: atunci când panta este abruptă, puteți păși mai larg, când panta este mică, este mai bine să vă strecurați până la minimul local „în vârful picioarelor”, altfel vă puteți strecura.

Așa funcționează coborârea gradientului: modificăm ponderile caracteristicilor în direcția celei mai mari căderi a funcției de eroare. Le schimbăm iterativ, adică cu un anumit pas, a cărui valoare este proporțională cu abruptul pantei. Interesant este că odată cu creșterea numărului de caracteristici (adăugarea unui cub cu înălțimea unei persoane, vârsta, mărimea pantofilor și așa mai departe), de fapt, nimic nu se schimbă, doar că peisajul nostru nu devine bidimensional, ci multidimensional.

Funcția de eroare poate fi definită ca suma pătratelor tuturor abaterilor pe care formula curentă le permite persoanelor a căror greutate o cunoaștem deja exact. Să luăm câteva variabile aleatoare k și b, de exemplu 0 și 50. Apoi sistemul ne va prezice că greutatea fiecărei persoane din eșantion este întotdeauna de 50 de kilograme y=0×x+50 Pe grafic, o astfel de dependență va arată ca o linie dreaptă paralelă cu orizontală. Este clar că aceasta nu este o predicție foarte bună. Acum să luăm abaterea în greutate de la această valoare prezisă, să o pătram (astfel încât să fie luate în considerare și valorile negative) și să o însumăm - aceasta va fi eroarea în acest moment. Dacă sunteți familiarizat cu începutul analizei, atunci puteți chiar să clarificați că direcția celei mai mari căderi este dată de derivata parțială a funcției de eroare în raport cu k și b, iar pasul este o valoare care este aleasă dintre considerații practice: pașii mici necesită mult timp pentru a calcula, iar cei mari pot duce la faptul că vom rata minimumul.

Bine, dar dacă nu avem doar o regresie complexă cu multe caracteristici, ci o rețea neuronală reală? Cum aplicăm coborârea în gradient în acest caz? Se pare că coborârea gradientului funcționează exact la fel cu o rețea neuronală, doar antrenamentul are loc 1) în etape, de la strat la strat și 2) treptat, de la un exemplu din eșantion la altul. Metoda folosită aici se numește backpropagation și a fost descrisă independent în 1974 de matematicianul sovietic Alexander Galushkin și de matematicianul de la Universitatea Harvard Paul John Webros.

Deși pentru o prezentare riguroasă a algoritmului va fi necesar să scriem derivate parțiale (ca, de exemplu,), la nivel intuitiv, totul se întâmplă destul de simplu: pentru fiecare dintre exemplele din eșantion, avem o anumită predicție la ieșirea rețelei neuronale. Având răspunsul corect, putem scădea răspunsul corect din predicție și astfel obținem o eroare (mai precis, un set de erori pentru fiecare neuron al stratului de ieșire). Acum trebuie să transferăm această eroare în stratul anterior de neuroni și, cu cât acest neuron particular al acestui strat a contribuit mai mult la eroare, cu atât mai mult trebuie să-i reducem greutatea (de fapt, vorbim din nou despre luarea unei derivate parțiale, despre deplasarea de-a lungul abruptului maxim al peisajului nostru imaginar) . Când am făcut acest lucru, aceeași procedură trebuie repetată pentru următorul strat, deplasându-se în direcția opusă, adică de la ieșirea rețelei neuronale la intrare.

Trecând prin rețeaua neuronală în acest fel cu fiecare exemplu al eșantionului de antrenament și „răsucind” greutățile neuronilor în direcția corectă, ar trebui în cele din urmă să obținem o rețea neuronală antrenată. Metoda de retropropagare este o modificare simplă a metodei de coborâre a gradientului pentru rețelele neuronale multistrat și, prin urmare, ar trebui să funcționeze pentru rețelele neuronale de orice complexitate. Spunem „ar trebui” aici pentru că de fapt există cazuri când coborârea gradientului eșuează și nu vă permite să faceți o regresie bună sau să antrenați o rețea neuronală. Este util să știm ce cauzează astfel de dificultăți.

Dificultăți de coborâre în gradient

Alegerea greșită a minimului absolut. Metoda coborârii în gradient ajută la găsirea unui extremum local. Dar nu îl putem folosi întotdeauna pentru a atinge minimul sau maximul global absolut al funcției. Acest lucru se întâmplă deoarece atunci când ne deplasăm de-a lungul antigradientului, ne oprim în momentul în care atingem primul minim local pe care îl întâlnim, iar algoritmul își oprește activitatea.

Imaginează-ți că stai în vârful unui munte. Dacă vrei să cobori pe cea mai joasă suprafață din zonă, metoda de coborâre în pante nu te va ajuta întotdeauna, deoarece primul punct coborât pe drum nu va fi neapărat cel mai jos punct. Și dacă în viață poți vedea că merită să urci puțin și apoi poți merge și mai jos, atunci algoritmul se va opri pur și simplu într-o astfel de situație. Adesea, această situație poate fi evitată prin alegerea pasului potrivit.

Alegere greșită de pas. Metoda coborârii gradientului este o metodă iterativă. Adică trebuie să alegem noi înșine dimensiunea pasului - viteza cu care coborâm. Alegând un pas prea mare, putem zbura dincolo de extremul de care avem nevoie și să nu găsim minimul. Acest lucru se poate întâmpla dacă vă confruntați cu o coborâre foarte bruscă. Și alegerea unui pas prea mic amenință cu funcționarea extrem de lentă a algoritmului dacă ne aflăm pe o suprafață relativ plană. Dacă ne imaginăm din nou că suntem în vârful unui munte abrupt, atunci se poate întâmpla o situație când, din cauza unei coborâri foarte abrupte aproape de minim, pur și simplu vom zbura peste el.

Paralizia rețelei. Uneori se întâmplă ca metoda de coborâre a gradientului să nu găsească deloc un minim. Acest lucru se poate întâmpla dacă există zone plane de ambele părți ale minimului - algoritmul, care a lovit o zonă plată, reduce pasul și în cele din urmă se oprește. Dacă, stând pe vârful unui munte, te hotărăști să te muți în casa ta din zonele joase, calea poate fi prea lungă dacă rătăciți accidental pe o zonă foarte plată. Sau, dacă la marginile zonelor plane există practic „pante” abrupte, algoritmul, alegând o treaptă foarte mare, va sări de la o pantă la alta, practic fără a se deplasa la minim.

Toate aceste puncte complexe trebuie luate în considerare la proiectarea unui sistem de învățare automată. De exemplu, este întotdeauna util să urmăriți exact modul în care funcția de eroare se schimbă în timp - dacă scade cu fiecare nou ciclu sau marchează timpul, cum se schimbă natura acestei căderi în funcție de modificarea mărimii pasului. Pentru a evita atingerea unui minim local prost, poate fi util să începeți din diferite puncte alese aleatoriu din peisaj - atunci probabilitatea de a rămâne blocat este mult mai mică. Există multe mai multe secrete mari și mici de a face față coborârii gradientului și există moduri mai exotice de învățare care seamănă puțin cu coborârea gradientului. Acesta, însă, este deja un subiect pentru o altă conversație și un articol separat în cadrul proiectului AI ​​ABC.

Pregătit de Alexander Ershov

- Puteți folosi un exemplu complet primitiv pentru a spune cum funcționează învățarea automată?

Poate sa. Există un exemplu de metodă de învățare automată numită Decision Tree, unul dintre cele mai vechi lucruri. Hai sa o facem acum. Să presupunem că o persoană abstractă te invită la o întâlnire. Ce este important pentru tine?

În primul rând, indiferent dacă îl cunosc sau nu...

(Victor scrie asta pe tablă.)

…Dacă nu știu, atunci trebuie să răspund la întrebarea dacă este atractiv sau nu.

Și dacă știi, nu contează? Cred că mi-am dat seama, este o ramură a zonei de prieteni! În general, scriu, dacă nu știi și neatrăgător, atunci răspunsul este „da, nu, probabil”. Dacă știi, răspunsul este da.

- Dacă știu, este și important!

Nu, va fi o sucursală a zonei de prieteni.

Bine, atunci haideți să subliniem aici dacă este interesant sau nu. Cu toate acestea, atunci când nu cunoști o persoană, prima reacție este la apariție, cu un prieten deja ne uităm la ce gândește și cum.

Să o facem altfel. Ambițios sau nu. Dacă este ambițios, atunci va fi greu să-l împrietenești, își va dori mai mult. Iar cei lipsiți de ambiție vor avea de suferit.

(Victor completează arborele de decizie.)

Gata. Acum poți prezice cu ce tip ai cel mai probabil să mergi la o întâlnire. Apropo, unele servicii de întâlniri prevăd astfel de lucruri. Prin analogie, puteți prezice câte bunuri vor cumpăra clienții și unde vor fi oamenii în acest moment al zilei.

Răspunsurile pot fi nu numai „da” și „nu”, ci și sub formă de numere. Dacă doriți o prognoză mai precisă, puteți face mai mulți astfel de copaci și puteți face o medie peste ei. Și cu un lucru atât de simplu, poți de fapt prezice viitorul.

Acum, imaginați-vă cât de greu a fost pentru oameni să vină cu o astfel de schemă în urmă cu două sute de ani? Absolut nu! Această schemă nu conține nicio știință rachetă. Ca fenomen, învățarea automată există de aproximativ o jumătate de secol. Ronald Fisher a început să prezică pe baza datelor la începutul secolului al XX-lea. A luat irisi și i-a distribuit pe lungimea și lățimea sepalelor și petalelor, prin acești parametri a determinat tipul de plantă.

Industria învățării automate a fost folosită activ în ultimele decenii: mașini puternice și relativ ieftine, care sunt necesare pentru a procesa cantități mari de date, de exemplu, pentru astfel de arbori de decizie, au apărut nu cu mult timp în urmă. Dar este încă uluitor: desenăm aceste lucruri pentru fiecare sarcină și le folosim pentru a prezice viitorul.

- Ei bine, cu siguranță nu este mai bun decât orice predictor de caracatiță a meciurilor de fotbal...

Nu, ei bine, unde ne pasă de caracatițe. Deși avem mai multă variabilitate. Acum, cu ajutorul învățării automate, puteți economisi timp, bani și puteți îmbunătăți confortul vieții. Învățarea automată l-a învins pe om în urmă cu câțiva ani când a fost vorba de clasificarea imaginilor. De exemplu, un computer poate recunoaște 20 de rase de terieri, dar o persoană obișnuită nu poate.

- Și când analizezi utilizatori, fiecare persoană este un set de numere pentru tine?

În linii mari, da. Când lucrăm cu date, descriem toate obiectele, inclusiv comportamentul utilizatorului, cu un anumit set de numere. Și aceste cifre reflectă particularitățile comportamentului oamenilor: cât de des iau un taxi, ce clasă de taxi folosesc, în ce locuri merg de obicei.

Acum construim în mod activ modele asemănătoare pentru a identifica grupuri de oameni cu comportament similar. Când introducem un serviciu nou sau dorim să promovăm unul vechi, îl oferim celor interesați.

De exemplu, aici avem un service - două scaune pentru copii într-un taxi. Putem trimite spam pe toată lumea cu această știre sau o putem adresa doar unui anumit cerc de oameni. Pe parcursul anului am acumulat un anumit număr de utilizatori care au scris în comentarii că au nevoie de două scaune pentru copii. I-am găsit și oameni ca ei. În mod convențional, aceștia sunt oameni de peste 30 de ani care călătoresc în mod regulat și iubesc bucătăria mediteraneană. Deși, desigur, există mult mai multe semne, acesta sunt eu ca exemplu.

- Chiar și astfel de subtilități?

Aceasta este o chestiune simplă. Totul este calculat folosind interogări de căutare.

Și în aplicație poate funcționa cumva? De exemplu, știi că sunt un cerșetor și mă abonez la grupuri precum „Cum să supraviețuiești cu 500 de ruble pe lună” - îmi oferă doar mașini ieftine stricate, mă abonez la știrile SpaceX - și primesc Tesla din când în când?

Poate funcționa în acest fel, dar astfel de lucruri nu sunt aprobate în Yandex, deoarece aceasta este discriminare. Când personalizați un serviciu, este mai bine să oferiți nu cel mai acceptabil, ci cel mai bun disponibil și ceea ce îi place persoanei. Iar distribuția după logica „acesta are nevoie de o mașină mai bună, iar ăsta are nevoie de una mai puțin bună” este rea.


Toată lumea are dorințe pervertite și, uneori, trebuie să găsești nu o rețetă pentru un fel de mâncare mediteranean, ci, de exemplu, imagini despre coprofilie. Personalizarea va funcționa și în acest caz?

Există întotdeauna un mod privat.

Dacă nu vreau ca nimeni să știe despre interesele mele sau, să spunem, prietenii vin la mine și vor să se uite la gunoi, atunci este mai bine să folosești modul incognito.

De asemenea, puteți decide ce serviciu al companiei să utilizați, de exemplu, Yandex sau Google.

- Există vreo diferență?

Întrebare dificilă. Nu știu despre alții, dar Yandex este strict în ceea ce privește protecția datelor personale. În special supravegheați angajații.

- Adică dacă m-am despărțit de un tip, nu voi putea să aflu dacă a mers la această dacha sau nu?

Chiar dacă lucrezi pentru Yandex. Acest lucru, desigur, este trist, dar da, nu se va putea afla. Majoritatea angajaților nici măcar nu au acces la aceste date. Totul este criptat. Este simplu: nu poți spiona oamenii, sunt informații personale.

Apropo, am avut un caz interesant pe tema despărțirii de băieți. Când am făcut predicția punctului „B” - punctul de destinație într-un taxi, am introdus indicii. Uite aici.

(Victor intră în aplicația Yandex.Taxi.)

De exemplu, taxiul crede că sunt acasă. Îmi propune să merg fie la serviciu, fie la Universitatea RUDN (sunt prelegeri acolo, ca parte a cursului despre învățarea automată a minării datelor în acțiune). Și la un moment dat, în timp ce dezvoltăm aceste indicii, ne-am dat seama că nu trebuie să compromitem utilizatorul. Punctul „B” poate vedea oricine. Din aceste motive, am refuzat să oferim locuri prin asemănare. Și apoi stai într-un loc decent cu oameni cumsecade, comanzi un taxi și îți scriu acolo: „Uite, încă nu ai fost la acest bar!”

- Ce sunt punctele albastre care clipesc pe harta ta?

Acestea sunt puncte de preluare. Aceste puncte arată unde este cel mai convenabil să apelați un taxi. La urma urmei, puteți suna într-un loc unde va fi destul de incomod să sunați. Dar, în general, poți suna oriunde.

- Da, în oricare. Am zburat cumva cu el două blocuri.

Recent, au apărut diverse dificultăți cu GPS-ul, care au dus la diverse situații amuzante. Oamenii, de exemplu, pe Tverskaya, au fost transferați prin navigație peste Oceanul Pacific. După cum puteți vedea, uneori există rateuri și mai mult de două blocuri.

- Și dacă reporniți aplicația și băgați din nou, prețul se schimbă cu câteva ruble. De ce?

Dacă cererea depășește oferta, atunci algoritmul generează automat un multiplicator - acest lucru îi ajută pe cei care trebuie să plece cât mai curând posibil să folosească un taxi, chiar și în perioadele de cerere mare. Apropo, folosind învățarea automată, puteți prezice unde va fi mai multă cerere în, de exemplu, o oră. Acest lucru ne ajută să spunem șoferilor unde vor fi mai multe comenzi, astfel încât oferta să corespundă cererii.

- Nu crezi că Yandex.Taxi va ucide în curând toată piața de taxiuri?

Cred că nu. Suntem pentru o competiție sănătoasă și nu ne este frică de ea.

Eu, de exemplu, folosesc diferite servicii de taxi. Timpul de așteptare este important pentru mine, așa că mă uit la mai multe aplicații care taxi va ajunge mai repede.


- Ai făcut echipă cu Uber. Pentru ce?

Nu e locul meu să comentez. Cred că unirea este o decizie profund sensibilă.

În Germania, un tip a instalat o cadă pe drone și așa a zburat pentru un burger. Te-ai gândit că este timpul să stăpânești spațiul aerian?

Nu știu despre spațiile aeriene. Urmărim știrile în spiritul „Uber a lansat bărci taxi”, dar nu pot spune nimic despre aer.

Dar taxiurile cu drone?

Iată un punct interesant. Le dezvoltăm, dar trebuie să ne gândim cum să le folosim exact. Este încă prea devreme pentru a prezice cum și când vor apărea pe străzi, dar muncim din greu pentru a dezvolta o tehnologie pentru o mașină complet autonomă, unde un șofer uman nu este deloc necesar.

- Există vreo îngrijorare că software-ul dronelor poate fi spart pentru a controla mașina de la distanță?

Riscurile sunt întotdeauna și peste tot acolo unde există tehnologii și gadgeturi. Dar, odată cu dezvoltarea tehnologiei, se dezvoltă o altă direcție - protecția și siguranța lor. Toți cei care sunt implicați într-un fel sau altul în dezvoltarea tehnologiei lucrează la sisteme de protecție.

- Ce date de utilizator colectați și cum le protejați?

Colectăm date de utilizare neidentificate, cum ar fi unde, când și unde ați călătorit. Tot ceea ce este important este hashing.

- Crezi că dronele vor reduce numărul de locuri de muncă?

Cred că va deveni doar mai mare. Totuși, aceste drone trebuie să fie întreținute cumva. Aceasta, desigur, este o situație puțin stresantă, schimbându-ți specialitatea, dar ce poți face.

- Gref spune la fiecare dintre prelegerile sale că o persoană își va schimba profesia de cel puțin trei ori în mod dramatic.

Nu pot numi nicio specialitate care să dureze pentru totdeauna. Un dezvoltator nu lucrează în aceeași limbă și cu aceleași tehnologii toată viața. Peste tot trebuie reconstruit. Cu învățarea automată, pot simți clar cum băieții care sunt cu șase ani mai tineri decât mine sunt mult mai rapizi decât mine. În același timp, oamenii de 40 sau 45 de ani o simt și mai puternic.

Experiența nu mai contează?

Joacă. Dar metodele se schimbă, poți ajunge într-o zonă în care, de exemplu, învățarea profundă nu a fost folosită, lucrezi acolo o perioadă, apoi metodele de învățare profundă sunt introduse peste tot și nu înțelegi nimic despre asta. Și asta e tot. Experiența ta poate fi utilă doar în materie de planificare a echipei, și nu întotdeauna.

- Și profesia ta este un data scientist, este solicitată?

Cererea de oameni de știință a datelor crește vertiginos. Este evident că acum este o perioadă de hype nebunește. Slavă Domnului, blockchain-ul a ajutat puțin la atenuarea acestui hype. Specialiștii în blockchain sunt demontați și mai repede.

Dar multe companii cred acum că dacă investesc în învățarea automată, grădinile lor vor înflori imediat. Nu este adevarat. Învățarea automată ar trebui să rezolve probleme specifice și nu doar să existe.

Sunt momente când o bancă dorește să realizeze un sistem de servicii de recomandare pentru utilizatori. Întrebăm: „Credeți că va fi justificat din punct de vedere economic?” Ei răspund: „Da, nu ne pasă. Fă-o. Toată lumea are sisteme de recomandare, vom fi în tendințe.”

Durerea este că ceva cu adevărat util pentru afaceri nu se poate face într-o singură zi. Trebuie să vedem cum va fi antrenat sistemul. Și lucrează mereu cu erori la început, poate să îi lipsească unele date în timpul antrenamentului. Remediați greșelile, apoi le remediați din nou și chiar refaceți totul. După aceea, trebuie să-l configurați astfel încât sistemul să funcționeze în producție, astfel încât să fie stabil și scalabil, acesta este încă timp. Ca rezultat, un proiect durează șase luni, un an sau mai mult.


Dacă priviți metodele de învățare automată ca pe o cutie neagră, atunci puteți rata cu ușurință cum încep să se întâmple unele prostii. Există o poveste cu barbă. Armata a cerut să dezvolte un algoritm care să poată fi folosit pentru a analiza dacă există sau nu un tanc în imagine. Cercetătorii au făcut, au testat, calitatea este excelentă, totul este grozav, l-au dat militarilor. Vin militarii și spun că nimic nu funcționează. Oamenii de știință încep să înțeleagă nervoși. Se dovedește că în toate pozele cu tancul, pe care le-au adus militarii, era o bifă în colțul cu pix. Algoritmul a învățat perfect să găsească o căpușă, nu știa nimic despre rezervor. Desigur, nu au existat bife pe noile imagini.

Am întâlnit copii care își dezvoltă propriile sisteme de dialog. Te-ai gândit vreodată că trebuie să cooperezi cu copiii?

Merg de mult timp la tot felul de evenimente pentru școlari, ținând prelegeri despre învățarea automată. Și apropo, una dintre subiecte mi-a fost predată de un elev de clasa a zecea. Eram absolut sigur că povestea mea va fi bună și interesantă, mândru de mine, am început să transmit, iar fata a spus: „Ah, vrem să minimizăm chestia asta”. Mă uit și mă gândesc, dar într-adevăr, de ce și adevărul poate fi minimizat și nu este nimic special de dovedit aici. Au trecut deja câțiva ani, acum ea ne ascultă prelegerile ca studentă la Phystech. Yandex, apropo, are un Yandex.Lyceum, unde școlarii pot obține gratuit cunoștințe de bază de programare.

- Consiliază universitățile și facultățile în care se predă acum învățarea automată.

Există Institutul de Fizică și Tehnologie din Moscova, facultăți ale FIVT și FUPM. Există, de asemenea, un departament minunat de informatică la HSE și învățarea automată la Universitatea de Stat din Moscova. Ei bine, acum puteți asculta cursul nostru de la Universitatea RUDN.

După cum am spus, această profesie este solicitată. De foarte mult timp, oamenii care au primit educație tehnică s-au angajat în lucruri complet diferite. Învățarea automată este un exemplu grozav, când toate lucrurile pe care le-au învățat oamenii cu experiență tehnică sunt acum necesare direct, utile și bine plătite.

- Cat de bine?

Denumiți suma.

- 500 mii pe lună.

Poți, pur și simplu nu fiind un om de știință de date obișnuit. Dar în unele companii, un foarte, foarte stagiar poate primi 50 de mii pentru un loc de muncă simplu. Există o răspândire foarte largă. În general, salariul unui cercetător de date cool poate fi comparat cu salariul directorului general al unei companii medii. În multe companii, pe lângă salariu, o mulțime de bunătăți cad asupra angajatului, iar dacă este clar că persoana nu a venit să scrie o marcă bună în CV, ci să lucreze cu adevărat, atunci totul va fi bine cu l.

A trecut aproape un an de când FIFT a început un subiect neobișnuit - un atelier inovator. Esența sa este crearea de startup-uri IT de către echipe de studenți sub îndrumarea unor mentori cu experiență. Sa dovedit a nu-i rău: datorită cursului, cineva a petrecut o parte a verii în Valea Kremieva, cineva a primit un grant în valoare de 800.000 de ruble pentru dezvoltarea proiectului, iar ABBYY este gata să cumpere complet proiectul de la altcineva. . Și acestea nu sunt toate rezultatele atelierului!

La începutul anului 2011, studenții din anul III de la FIVT au fost adunați în Sala de Adunări și au spus că în anul următor va trebui să-ți creezi propriul startup. Elevii au luat această idee în mod ambiguu: nu era deloc clar cum să o facă, iar responsabilitatea era neobișnuită - la urma urmei, era necesar să se creeze o afacere de tehnologie, și nu doar un alt proiect educațional. Iată ce crede Victor Kantor, câștigătorul Olimpiadei Studenților MIPT la Fizică, student la Departamentul Yandeska:

Când am ales FIVT la admitere, am sperat că vom avea ceva asemănător. Așa că mă bucur că am sperat că nu degeaba. Pe parcursul anului, s-a simțit că cursul încă se formează, multe lucruri în el sunt noi, multe probleme se dovedesc a fi controversate nu numai pentru studenți, ci și pentru organizatori, dar în general, cred, tendințele sunt pozitive. Mi-a placut acest curs.

Pentru a facilita munca studenților, diverși curatori au fost invitați să își ofere ideile pentru construirea de afaceri inovatoare. Printre aceștia au fost oameni complet diferiți: de la studenți seniori și absolvenți ai Institutului de Fizică și Tehnologie din Moscova până la consilierul pentru inovare al lui Ernst & Young, Yuri Pavlovich Ammosov (a fost șeful întregului curs) și Mihail Batin, implicat în medicina regenerativă și viață probleme de extensie. Drept urmare, fizicienii au ales ideile care erau cele mai interesante pentru ei, curatorii s-au atașat echipelor și a început munca grea, dar incitantă.

În aproape un an care a trecut de atunci, băieții s-au confruntat cu multe probleme, dintre care unele au fost rezolvate. Acum le puteți evalua rezultatele - în ciuda dificultăților, băieții s-au descurcat. Studenții MIPT (în afară de Facultatea de Fizică, unii studenți ai FAPF și ai altor facultăți s-au alăturat procesului) au reușit să pregătească câteva proiecte destul de interesante și viabile:

Askeroid (fost Ask Droid) - căutați smartphone-uri ( Anastasia Uryasheva)

O aplicație Android care vă permite să căutați convenabil într-un număr mare de motoare de căutare. Unii experți și-au arătat interesul pentru dezvoltare și, drept urmare, Anastasia și-a petrecut toată vara trecută într-unul dintre cele mai cunoscute incubatoare din Silicon Valley - Plug&Play. învățând elementele de bază ale antreprenoriatului tehnologic și discutând cu experți internaționali în capital de risc.

1minute.ru - un minut pentru totdeauna (Lev Grunin)

Acest proiect permite oricui să facă lucrări de caritate pur și simplu, rapid și complet gratuit. Modelul este simplu: agenții de publicitate oferă un set de activități pe site, utilizatorii participă voluntar la acestea, iar toți banii publicitari sunt transferați unei fundații caritabile. La o săptămână de la lansare, proiectul a strâns peste 6.500 de utilizatori și nu se va opri aici. Drept urmare, datorită lui Lev și echipei sale, 600 de copii din orfelinate vor primi cadouri prețuite de la Moș Crăciun de Anul Nou. Ai petrecut deja un minut pentru o faptă bună?!

Desktop încorporat - un computer în telefon (Alexey Vukolov)

O aplicație care vă permite să combinați capacitățile unui computer și mobilitatea unui telefon într-o singură carcasă este un produs extrem de util pentru persoanele ocupate care pleacă adesea în călătorii de afaceri. Este suficient să-l instalați pe un smartphone, iar utilizatorul își va putea „obține” propriul computer în orice hotel, birou și, într-adevăr, oriunde puteți găsi un monitor (un televizor este, de asemenea, potrivit), o tastatură și un mouse . Proiectul a primit un grant pentru dezvoltarea ideii și a fost prezentat la expoziția Technovation Cup, iar echipa achiziționează deja în mod activ echipamente cu banii primiți. Producătorul american de procesoare MIPS este extrem de interesat de dezvoltare.

Smart Tagger - căutare semantică prin documente (Viktor Kantor)

Dacă vă amintiți că undeva în cutia poștală era o scrisoare foarte importantă care vorbea despre cel mai recent episod din Big Bang Theory, dar nu vă amintiți niciunul dintre cuvintele cheie din text? Căutarea Yandex și Google este neputincioasă. Dezvoltarea Smart Tagger va veni în ajutor - un program „inteligent” care utilizează căutarea semantică vă va oferi toate textele, al căror sens este împletit cu seria populară. Proiectul a câștigat un grant la U.M.N.I.K. suma totală de 400.000 de ruble!

MathOcr - recunoaștere formule (Viktor Prun)

ABBYY a propus o sarcină interesantă pentru implementare - să creeze un program care să recunoască formule matematice de orice complexitate. Studenții FIVT, după ce au cooperat cu fopf-urile interesate, au finalizat sarcina - modulul recunoaște cu adevărat formulele scanate din manualele de matan sau fizică. Rezultat: ABBYY este gata să cumpere acest produs pentru bani mari.

Nou pe site

>

Cel mai popular