Inovativna radionica fizike i tehnologije: stvarne priče o uspjehu fizike i tehnologije. Koje su to plave tačke koje trepere na vašoj mapi?

Dom

VAN HELMONT, Jan Baptist Holandski prirodnjak, liječnik i mistik teozof Jan Baptist van Helmont rođen je u Briselu; u Louvainu je primio teološki i medicinsko obrazovanje

a posebno je proučavao "Kabalu". Pošto je postao doktor i pažljivo proučio radove Paracelzusa i drugih atrohemičara, Van Helmont je krenuo na desetogodišnje putovanje Evropom kako bi unapredio svoje znanje u medicini. Posjetio je Alpe, Švicarsku, Španiju, Francusku i Englesku i 1609. godine stekao zvanje doktora medicine. Potom se nastanio u Vilvordeu kod Brisela i do kraja života se bavio istraživanjima u sopstvenoj kućnoj laboratoriji. Van Helmont posjeduje mnoga djela. Glavne je objavio njegov sin Francis-Mercury tek nakon smrti naučnika 1646. godine, a kasnije, 1682. godine, objavljena je kompletna sabrana djela Van Helmonta („Opera omnia“). Van Helmont je jedan od glavni predstavnici jatrohemija. Bio je jedan od prvih naučnika koji je postavio pitanje pravih jednostavnih komponenti složenih tela. Dovodeći u pitanje aristotelovske elemente i principe alhemičara na osnovu toga da se njihovo prisustvo ne može otkriti u sastavu većine tijela, Van Helmont je predložio da se jednostavnim tijelima smatraju samo ona koja se mogu izolovati tokom razgradnje složenih tijela. Dakle, budući da se voda uvijek oslobađala prilikom raspadanja biljnih i životinjskih tvari, Van Helmont ju je smatrao jednostavnim tijelom i glavnom komponentom složenih tijela. U potrazi za drugim jednostavnim telima, Van Helmont je mnogo eksperimentisao sa metalima. Van Helmontov eksperiment sa srebrom je vrlo izvanredan: precizno odmjerena količina srebra je otopljena u jakoj votki (azotnoj kiselini), otopina je uparena, ostatak je kalciniran i fuzioniran. Ispostavilo se da je težina dobivenog srebra potpuno jednaka originalu.

“Srebro ne gubi svoju suštinu jer je rastvoreno u jakoj votki, iako je nestalo iz vidokruga i postalo potpuno providno.” – napisao je Van Helmont. Ovaj eksperiment je također zanimljiv kao jedan od prvih primjera kvantitativnog proučavanja fenomena. proces ishrane biljaka, koji je postao osnova za tzv. vodena teorija ishrane biljaka. Uzgajavši granu vrbe u buretu, otkrio je da njeno skoro 40-struko povećanje težine tijekom 5 godina nije bilo praćeno značajnim smanjenjem težine zemlje. Uprkos zabludi, ova teorija, koja je biljni život posmatrala kao proces koji se odvija samo pod uticajem materijalnih sila, zadala je udarac religiozno-idealističkom pogledu na svet.

Van Helmont je bio jedan od prvih koji je koristio srebrni nitrat (lapis) za kauterizaciju rana, upala i bradavica. Smatrao je da želučana kiselina igra odlučujuću ulogu u probavi, te je stoga predložio liječenje bolesti uzrokovanih viškom kiseline u želucu alkalijama. On je u hemiju uveo pojam "gas". U nizu pitanja stajao je na klasičnim pozicijama alhemije, vjerujući, na primjer, da je moguće pretvoriti bazne metale (živu, olovo itd.) u zlato pomoću tzv. kamen filozofa. Van Helmont se držao vitalističkih ideja da životne procese navodno regulišu posebni „duhovi života“ („archaea“); prepoznala mogućnost spontanog generisanja.

U sklopu zajedničkog projekta “ABC AI” sa MIPT-om, već smo pisali o takozvanim, koji vam omogućavaju da “razvijate” programe prema principima i zakonima darvinističke evolucije. Međutim, za sada je ovakav pristup vještačkoj inteligenciji svakako „gost iz budućnosti“. Ali kako sistemi umjetna inteligencija kreirati danas? Kako su obučeni? Victor Kantor, viši predavač na Odsjeku za algoritme i programske tehnologije na MIPT-u, i šef grupe za analizu ponašanja korisnika u Yandex Data Factory, pomogao nam je da to shvatimo.

Prema nedavnom izvještaju istraživačke firme Gartner, koja redovno ažurira svoj „ciklus zrelosti tehnologije“, mašinsko učenje je trenutno na vrhuncu očekivanja u svim IT-ima. To nije iznenađujuće: u proteklih nekoliko godina, mašinsko učenje je izašlo iz sfere interesovanja uskog kruga matematičara i stručnjaka za teoriju algoritama i prodrlo je prvo u rečnik IT biznismena, a potom i u svet. običnih ljudi. Sada, svako ko je koristio aplikaciju Prisma, tražio pjesme koristeći Shazam ili vidio slike koje se prolaze kroz DeepDream zna da postoji takva stvar kao što su neuronske mreže sa njihovom posebnom "magijom".

Međutim, jedno je koristiti tehnologiju, a drugo razumjeti kako ona funkcionira. Opšte riječi poput "kompjuter može naučiti ako mu date nagovještaj" ili "neuronska mreža se sastoji od digitalnih neurona i strukturirana je poput ljudskog mozga" mogu nekome pomoći, ali češće samo zbunjuju situaciju. Onima koji će ozbiljno studirati matematiku nisu potrebni popularni tekstovi: za njih postoje udžbenici i odlični online kursevi. Pokušat ćemo uzeti srednji put: objasniti kako se učenje zapravo događa na vrlo jednostavnom zadatku, a zatim pokazati kako se isti pristup može primijeniti za rješavanje stvarno zanimljivih problema.

Kako mašine uče

Za početak, da bismo razumjeli kako se točno događa mašinsko učenje, hajde da definišemo koncepte. Kako je definisao jedan od pionira ove oblasti, Arthur Samuel, mašinsko učenje se odnosi na metode koje „omogućavaju računarima da uče bez direktnog programiranja“. Postoje dvije široke klase metoda mašinskog učenja: učenje pod nadzorom i učenje bez nadzora. Prvi se koristi kada, na primjer, trebamo naučiti kompjuter da traži fotografije sa slikama mačaka, drugi je kada nam je potrebna mašina, na primjer, da može samostalno grupirati vijesti u priče, kao što se dešava u servisima kao što su Yandex.News ili Google News. Odnosno, u prvom slučaju imamo posla sa zadatkom koji podrazumijeva postojanje tačnog odgovora (mačka na fotografiji ili je tu ili ne), u drugom slučaju nema jedinstvenog tačnog odgovora, ali postoji različite načine rješavanje problema. Posebno ćemo se fokusirati na prvu klasu problema kao najzanimljivije.

Dakle, moramo naučiti kompjuter da pravi neka predviđanja. Štaviše, poželjno je biti što precizniji. Predviđanja mogu biti dva tipa: ili trebate izabrati između nekoliko opcija odgovora (da li je mačka na slici ili ne je izbor jedne od dvije opcije, mogućnost prepoznavanja slova na slikama je izbor jedne opcije od nekoliko desetina i tako dalje), ili napraviti numeričko predviđanje . Na primjer, predvidite težinu osobe na osnovu njene visine, starosti, veličine cipela itd. Ove dvije vrste problema samo izgledaju drugačije, ali se u stvari rješavaju gotovo identično. Pokušajmo da shvatimo kako tačno.

Prvo što nam je potrebno da napravimo sistem predviđanja je da prikupimo takozvani trening uzorak, odnosno podatke o težini ljudi u populaciji. Drugi je da se odlučimo za skup znakova na osnovu kojih možemo izvući zaključke o težini. Jasno je da će jedan od "najjačih" takvih znakova biti visina osobe, pa je kao prvu aproksimaciju dovoljno uzeti samo ovo. Ako težina linearno ovisi o visini, onda će naše predviđanje biti vrlo jednostavno: težina osobe će biti jednaka njegovoj visini pomnoženoj s nekim koeficijentom, plus nekom konstantnom vrijednošću, koja je zapisana najjednostavnijom formulom y=kx+b. Sve što treba da uradimo da obučimo mašinu da predvidi nečiju težinu je da nekako pronađemo ispravne vrednosti za k i b.

Ljepota mašinskog učenja je u tome što čak i ako je odnos koji proučavamo vrlo složen, u suštini se ništa neće promijeniti u našem pristupu. I dalje ćemo se baviti istom regresijom.

Recimo da na težinu osobe utiče njegova visina ne linearno, već u trećem stepenu (što je uglavnom očekivano, jer težina zavisi od zapremine tela). Da bismo ovu zavisnost uzeli u obzir, jednostavno uvodimo još jedan član u našu jednačinu, odnosno treću stepen rasta sa sopstvenim koeficijentom, čime dobijamo y=k 1 x+k 2 x 3 +b. Sada, da bismo trenirali mašinu, moraćemo da pronađemo ne dve, već tri veličine (k 1, k 2 i b). Recimo da u našem predviđanju želimo uzeti u obzir i veličinu cipela neke osobe, godine, vrijeme koje je proveo gledajući TV i udaljenost od njegovog stana do najbližeg lokala brze hrane. Nema problema: jednostavno dodajemo ove karakteristike kao zasebne pojmove u istu jednačinu.

Najvažnije je stvarati univerzalna metoda naći tražene koeficijente (k 1, k 2, ... k n). Ako postoji, biće nam gotovo svejedno koje karakteristike koristiti za predviđanje, jer će mašina sama naučiti da daje veliku težinu važnim, a malu težinu nevažnim karakteristikama. Srećom, takva metoda je već izmišljena i gotovo svo mašinsko učenje uspješno radi na njoj: od najjednostavnijih linearnih modela do sistema za prepoznavanje lica i analizatora govora. Ova metoda se naziva gradijentno spuštanje. Ali prije nego što objasnimo kako to funkcionira, moramo napraviti malu digresiju i govoriti o neuronskim mrežama.

Neuralne mreže

U 2016. godini, neuronske mreže su ušle u informatičku agendu tako čvrsto da su postale gotovo poistovjećene s bilo kojim mašinskim učenjem i naprednim IT općenito. Formalno gledano, to nije tačno: neuronske mreže se ne koriste uvijek u matematičkom učenju; Ali generalno, naravno, takva asocijacija je razumljiva, jer upravo sistemi zasnovani na neuronskim mrežama sada daju „najmagičnije“ rezultate, kao što je mogućnost traženja osobe na fotografiji, pojava aplikacija koje prenose stil jedne slike drugoj, ili sistemi za generisanje tekstova na način govora određene osobe.

Način na koji su neuronske mreže strukturirane, mi već... Ovdje samo želim da naglasim da snaga neuronskih mreža u odnosu na druge sisteme mašinskog učenja leži u njihovoj višeslojnoj prirodi, ali to ih ne čini nečim suštinski drugačijim u načinu na koji rade. Višeslojnost vam zaista omogućava da pronađete vrlo apstraktno opšte karakteristike i zavisnosti u složenim skupovima karakteristika, poput piksela na slici. Ali važno je shvatiti da se sa stanovišta principa učenja neuronska mreža ne razlikuje radikalno od skupa konvencionalnih formula linearne regresije, tako da ista metoda gradijentnog spuštanja odlično funkcionira i ovdje.

"Moć" neuronske mreže leži u prisustvu srednjeg sloja neurona, koji sumarno kombinuju vrijednosti ulaznog sloja. Zbog toga, neuronske mreže mogu pronaći vrlo apstraktne karakteristike u podacima koje je teško svesti na jednostavne formule poput linearnog ili kvadratnog odnosa.

Objasnimo na primjeru. Odlučili smo se o predviđanju u kojem težina osobe ovisi o njegovoj visini i kubnoj visini, što se izražava formulom y=k 1 x+k 2 x 3 +b. Uz malo natezanja, ali zapravo se čak i takva formula može nazvati neuronskom mrežom. U njoj, kao iu običnoj neuronskoj mreži, postoji prvi sloj „neurona“, koji je takođe sloj karakteristika: to su x i x 3 (pa, „jedinični neuron“ koji imamo na umu i za koji koeficijent b je odgovoran). Gornji ili rezultirajući sloj je predstavljen jednim „neuronom“ y, odnosno predviđenom težinom osobe. A između prvog i posljednjeg sloja "neurona" postoje veze, čija je snaga ili težina određena koeficijentima k 1, k 2 i b. Obuka ove "neuralne mreže" jednostavno znači pronalaženje ovih istih koeficijenata.

Jedina razlika od “pravih” neuronskih mreža ovdje je u tome što nemamo niti jedan srednji (ili skriveni) sloj neurona, čiji je zadatak kombinirati ulazne karakteristike. Uvođenje ovakvih slojeva omogućava vam da ne izmišljate moguće zavisnosti između postojećih karakteristika „iz glave“, već da se oslonite na njihove već postojeće kombinacije u neuronskoj mreži. Na primjer, godine i prosječno vrijeme pred TV-om mogu imati sinergijski učinak na težinu osobe, ali, budući da imamo neuronsku mrežu, ne moramo to znati unaprijed i unositi njihov proizvod u formulu. U neuronskoj mreži sigurno će postojati neuron koji kombinuje uticaj bilo koje dve karakteristike, a ako je taj uticaj zaista primetan u uzorku, onda će posle treninga ovaj neuron automatski dobiti veliku težinu.

Gradient Descent

Dakle, imamo skup primjera za obuku sa poznatim podacima, odnosno tabelu sa tačno izmjerenom težinom osobe, i neku hipotezu o odnosu, u ovom slučaju linearnu regresiju y=kx+b. Naš zadatak je pronaći ispravne vrijednosti k i b, ne ručno, već automatski. I po mogućnosti, univerzalna metoda koja ne ovisi o broju parametara uključenih u formulu.

Općenito, ovo nije teško učiniti. Glavna ideja je kreirati funkciju koja će mjeriti trenutni ukupni nivo greške i "podešavati" koeficijente tako da ukupni nivo greške postepeno pada. Kako mogu smanjiti nivo greške? Moramo podesiti naše parametre u pravom smjeru.

Zamislite naša dva parametra koja tražimo, isti k i b, kao dva pravca na ravni, poput ose sjever-jug i zapad-istok. Svaka tačka na takvoj ravni će odgovarati određenoj vrijednosti koeficijenata, određenom specifičnom odnosu između visine i težine. I za svaku takvu tačku na ravni možemo izračunati ukupan nivo grešaka koje ovo predviđanje daje za svaki od primjera u našem uzorku.

Ispada nešto poput određene visine na avionu, a cijeli okolni prostor počinje nalikovati planinskom pejzažu. Planine su tačke gde je stopa grešaka veoma visoka, doline su mesta gde ima manje grešaka. Jasno je da obuka našeg sistema znači pronaći najviše niska tačka na terenu, tačka u kojoj je nivo grešaka minimalan.

Kako možete pronaći ovu tačku? Većina na pravi način- kretati se sve vreme naniže od tačke na kojoj smo se u početku našli. Tako ćemo prije ili kasnije doći do lokalnog minimuma - tačke ispod koje nema ničega u neposrednoj blizini. Štaviše, preporučljivo je poduzeti korake različitih veličina: kada je strm, možete ići šire korake kada je nagib mali, bolje je prišuljati se lokalnom minimumu „na prstima“, inače možete preskočiti.

Upravo ovako radi metoda gradijentnog spuštanja: mijenjamo težine karakteristika u smjeru najveći pad funkcije greške. Mijenjamo ih iterativno, odnosno određenim korakom čija je vrijednost proporcionalna strmini padine. Ono što je interesantno jeste da kada se broj karakteristika poveća (dodavanje kocke visine osobe, njenih godina, veličine cipela i tako dalje), u suštini se ništa ne menja, samo naš pejzaž postaje ne dvodimenzionalan, već višedimenzionalan.

Funkcija greške može se definirati kao zbir kvadrata svih odstupanja koje trenutna formula dozvoljava za ljude čiju težinu već točno znamo. Uzmimo neke slučajne varijable k i b, na primjer 0 i 50. Tada će nam sistem predvidjeti da je težina svake osobe u uzorku uvijek jednaka 50 kilograma y=0×x+50 Na grafu je npr. zavisnost će izgledati kao prava linija paralelna sa horizontalom. Jasno je da ovo nije baš dobra prognoza. Sada uzmite odstupanje u težini od ove predviđene vrijednosti, kvadratirajte je (tako da negativne vrijednosti su također uzeti u obzir) i sumirati - ovo će biti greška u ovom trenutku. Ako ste upoznati s počecima analize, onda možete čak i pojasniti da je smjer najvećeg pada zadan parcijalnim izvodom funkcije greške u odnosu na k i b, a korak je vrijednost koja se bira za praktični razlozi: malim koracima je potrebno mnogo vremena za izračunavanje, a veliki mogu dovesti do toga da ćemo skliznuti preko minimuma.

U redu, što ako nemamo samo složenu regresiju s mnogo karakteristika, već pravu neuronsku mrežu? Kako primijeniti gradijentni pad u ovom slučaju? Ispostavilo se da gradijentni spuštanje funkcionira na potpuno isti način sa neuronskom mrežom, samo što se obuka odvija 1) korak po korak, od sloja do sloja i 2) postepeno, od jednog primjera u uzorku do drugog. Metoda koja se ovdje koristi naziva se propagacija unazad, a neovisno su je opisali 1974. sovjetski matematičar Aleksandar Galuškin i matematičar sa Univerziteta Harvard Paul John Webros.

Iako će za striktnu prezentaciju algoritma biti potrebno zapisati parcijalne izvode (kao, na primjer), na intuitivnom nivou sve se događa prilično jednostavno: za svaki od primjera u uzorku imamo određeno predviđanje na izlazu neuronske mreže. Imajući tačan odgovor, možemo oduzeti tačan odgovor od predviđanja i tako dobiti grešku (tačnije, skup grešaka za svaki neuron izlaznog sloja). Sada trebamo prenijeti ovu grešku na prethodni sloj neurona, i što je ovaj određeni neuron ovog sloja više doprinio grešci, to više trebamo smanjiti njegovu težinu (zapravo, opet govorimo o uzimanju parcijalnog izvoda, o kretanju po maksimalnoj strmini našeg zamišljenog krajolika) . Kada smo to učinili, istu proceduru moramo ponoviti za sljedeći sloj, krećući se u suprotnom smjeru, odnosno od izlaza neuronske mreže do ulaza.

Prolaskom kroz neuronsku mrežu na ovaj način sa svakim primjerom uzorka za obuku i “uvijanjem” težine neurona u željenom smjeru, na kraju bismo trebali dobiti istreniranu neuronsku mrežu. Metoda povratnog širenja je jednostavna modifikacija metode gradijentnog spuštanja za višeslojne neuronske mreže i stoga bi trebala raditi za neuronske mreže bilo koje složenosti. Ovdje kažemo "trebalo bi" jer u stvari postoje slučajevi kada gradijentni spuštanje ne uspije i ne dozvoljava vam da napravite dobru regresiju ili trenirate neuronsku mrežu. Može biti korisno znati zašto nastaju takve poteškoće.

Poteškoće gradijentnog spuštanja

Pogrešan izbor apsolutnog minimuma. Metoda gradijentnog spuštanja pomaže u potrazi za lokalnim ekstremom. Ali ne možemo ga uvijek koristiti za postizanje apsolutnog globalnog minimuma ili maksimuma funkcije. To se događa zato što se pri kretanju po antigradijentu zaustavljamo u trenutku kada dostignemo prvi lokalni minimum na koji naiđemo, a algoritam prestaje raditi.

Zamislite da stojite na vrhu planine. Ako se želite spustiti na najnižu površinu u tom području, metoda gradijentnog spuštanja neće vam uvijek pomoći, jer prva niska tačka na vašem putu neće nužno biti najniža tačka. A ako ste u životu u stanju da vidite da ako se malo podignete i možete onda ići još niže, onda će algoritam u takvoj situaciji jednostavno stati. Često se ova situacija može izbjeći ako odaberete pravi korak.

Pogrešan odabir koraka. Metoda gradijentnog spuštanja je iterativna metoda. Odnosno, mi sami trebamo odabrati veličinu koraka - brzinu kojom se spuštamo. Odabirom prevelikog koraka možemo preletjeti preko potrebnog ekstremuma i ne pronaći minimum. Ovo se može dogoditi ako se nađete pred vrlo oštrim spuštanjem. A odabir koraka koji je premali riskira da algoritam bude izuzetno spor ako se nađemo na relativno ravnoj površini. Ako opet zamislimo da smo na vrhu strme planine, onda može nastati situacija da zbog vrlo strmog spuštanja blizu minimuma jednostavno preletimo preko nje.

Mrežna paraliza. Ponekad se desi da metoda gradijentnog spuštanja uopšte ne uspe da pronađe minimum. To se može dogoditi ako postoje ravne površine s obje strane minimuma - algoritam, kada udari u ravnu površinu, smanjuje korak i na kraju se zaustavlja. Ako, dok stojite na vrhu planine, odlučite krenuti prema svojoj kući u nizini, putovanje može biti predugo ako slučajno zalutate na vrlo ravno područje. Ili, ako uz rubove ravnih područja postoje gotovo okomite "nagibe", algoritam će, nakon odabira vrlo velikog koraka, skočiti s jedne padine na drugu, praktički se ne krećući prema minimumu.

Sva ova složena pitanja moraju se uzeti u obzir prilikom dizajniranja sistema mašinskog učenja. Na primjer, uvijek je korisno pratiti tačno kako se funkcija greške mijenja tokom vremena - pada li sa svakim novim ciklusom ili vremenom obilježavanja, kako se priroda ovog pada mijenja ovisno o promjeni veličine koraka. Kako biste izbjegli pad u loš lokalni minimum, može biti korisno krenuti od različitih nasumično odabranih tačaka krajolika - tada je vjerovatnoća zaglavljivanja mnogo manja. Postoji mnogo više velikih i malih tajni korištenja gradijentnog spuštanja, a postoje i egzotičniji načini učenja koji su pomalo slični gradijentnom spuštanju. Ovo je, međutim, tema za drugi razgovor i poseban članak u okviru ABC AI projekta.

Priredio Aleksandar Eršov

Prošlo je skoro godinu dana od trenutka kada je na FIVT-u započela neobična tema – inovativna radionica. Njegova suština je stvaranje IT startupa od strane studentskih timova pod vodstvom iskusnih mentora. Ispalo je dobro: zahvaljujući kursu, neko je proveo deo leta u Cream Valley, neko je dobio grant u iznosu od 800.000 rubalja za razvoj projekta, a ABBYY je spreman da u potpunosti otkupi projekat od nekoga. I ovo nisu svi rezultati radionice!

Početkom 2011. godine studenti treće godine FIVT-a su se okupili u sali Skupštine i poručili: u narednoj godini moraćete da kreirate svoj startap. Studenti su ovu ideju shvatili dvosmisleno: uopće nije bilo jasno kako to učiniti, a odgovornost je bila neobična - na kraju krajeva, bilo je potrebno stvoriti tehnološki posao, a ne samo još jedan edukativni projekat. Evo šta o tome misli pobjednik studentske olimpijade MIPT iz fizike, student odsjeka Yandeska, Viktor Kantor:

Kada sam na prijemnom odabrao FIVT, nadao sam se da ćemo imati nešto slično. Tako da mi je drago da moje nade nisu bile uzaludne. Tokom godine osjetilo se da se kurs tek formira, mnogo je novog u njemu, mnoga pitanja su bila kontroverzna ne samo za studente, već i za organizatore, ali generalno, mislim da su trendovi pozitivni. Svidio mi se ovaj kurs.

Kako bi studentima olakšali rad, pozvani su različiti kustosi da ponude svoje ideje za izgradnju inovativnog poslovanja. Među njima je bilo potpuno različiti ljudi: od studenata osnovnih i postdiplomskih studija MIPT-a do savetnika za inovacije Ernst&Younga Jurija Pavloviča Ammosova (on je vodio čitav kurs) i Mihaila Batina, koji se bavi regenerativnom medicinom i pitanjima produženja života. Kao rezultat toga, studenti fizike i tehnologije su odabrali ideje koje su im bile najzanimljivije, kustosi su se pridružili timovima i započeo je naporan, ali uzbudljiv posao.

U skoro godinu dana, koliko je prošlo od tada, momci su se suočili sa brojnim problemima, od kojih su neki i rešeni. Sada možemo procijeniti njihove rezultate - uprkos poteškoćama, momci su se snašli. Studenti MIPT-a (pored Filozofskog, u proces su se uključili i neki studenti Filološkog i drugih fakulteta) uspjeli su pripremiti nekoliko zanimljivih i isplativih projekata:

Askeroid (ranije Ask Droid) – traži pametne telefone ( Anastasia Uryasheva)

Android aplikacija koja vam omogućava praktičnu pretragu u velikom broju pretraživača. Neki stručnjaci su pokazali interesovanje za razvoj, pa je kao rezultat toga Anastasija provela celo proteklo leto u jednom od najpoznatijih inkubatora u Silicijumskoj dolini – Plug&Play. učenje osnova tehnološkog preduzetništva i razgovor sa međunarodnim stručnjacima za poduhvat.

1minute.ru – jedan minut zauvek (Lev Grunin)

Ovaj projekat svakome daje priliku da se dobrotvornim radom bavi jednostavno, brzo i potpuno besplatno. Model je jednostavan: oglašivači nude određeni skup aktivnosti na stranici, korisnici dobrovoljno sudjeluju u njima, sav novac od oglašavanja se prenosi na dobrotvorna fondacija. U roku od nedelju dana od pokretanja, projekat je okupio više od 6.500 korisnika i tu se neće zaustaviti. Kao rezultat toga, zahvaljujući Levu i njegovom timu, primiće 600 djece iz sirotišta Nova godina dragocjeni pokloni od Djeda Mraza. Jeste li već potrošili jedan minut na dobro djelo?!

Embedded Desktop - računar u vašem telefonu (Alexey Vukolov)

Aplikacija koja vam omogućava da kombinujete mogućnosti računara i mobilnost telefona u jednom paketu - izuzetno koristan proizvod Za zauzeti ljudi koji često putuju na poslovna putovanja. Dovoljno je da ga instalirate na pametni telefon, a korisnik će moći da „nabavi“ sopstveni računar u bilo kom hotelu, kancelariji, pa i bilo gde gde može da nađe monitor (prikladan je i televizor), tastaturu i miš. Projekat je dobio grant za razvoj ideje i predstavljen je na izložbi Technovation Cup, a od dobijenog novca tim već aktivno kupuje opremu. Američki proizvođač procesora MIPS izuzetno je zainteresiran za razvoj.

Smart Tagger – semantičko pretraživanje kroz dokumente (Victor Kantor)

Šta da radite ako se sećate da je negde u vašem sandučetu bilo veoma važno pismo koje govori o najnovijoj epizodi Teorije velikog praska, ali se ne sećate nijednog ključne riječi iz teksta? Yandex i Google pretraga su nemoćni. On pomoć će doći razvoj Smart Taggera - “pametnog” programa koji koristi semantičku pretragu i koji će vam dati sve tekstove čije je značenje isprepleteno sa popularnim TV serijama. Projekat je dobio grant na konkursu U.M.N.I.K. ukupno 400.000 rubalja!

MathOcr – prepoznavanje formule (Viktor Prun)

ABBYY je predložio zanimljiv zadatak za implementaciju - kreiranje programa koji bi prepoznao matematičke formule bilo koje složenosti. Studenti FIVT-a su u saradnji sa zainteresovanim studentima završili zadatak - modul zapravo prepoznaje formule skenirane iz udžbenika matematike ili fizike. Rezultat: ABBYY je spreman kupiti ovaj proizvod za mnogo novca.

- Možete li koristiti potpuno primitivan primjer da nam kažete kako funkcionira strojno učenje?

Može. Postoji primjer tehnike mašinskog učenja koja se zove Decision Tree, koja je jedna od najstarijih stvari. Uradimo to sada. Recimo da vas apstraktna osoba pozove na sastanak. Šta je vama važno?

- Pre svega, da li ga poznajem ili ne...

(Viktor to piše na tabli.)

...Ako ne znam, onda moram da odgovorim na pitanje da li je privlačan ili nije.

A ako znaš, onda nije bitno? Mislim da shvatam, ovo je tema o frendzonskoj zoni! Generalno, pišem, ako ne znate i nije privlačno, onda je odgovor „ne, verovatno“. Ako znate, odgovor je „da“.

- Ako znam, i to je važno!

Ne, ovo će biti ogranak prijateljske zone.

U redu, hajde da naznačimo ovdje da li je zanimljivo ili ne. Ipak, kada ne poznajete osobu, prva reakcija je na izgled kod poznanika, već gledamo šta on misli i kako.

Učinimo to drugačije. Bez obzira da li je ambiciozan ili ne. Ako je ambiciozan, biće mu teško pridružiti ga u zonu prijatelja, jer će želeti više. Ali neambiciozni će izdržati.

(Viktor završava crtanje odlučujućeg stabla.)

Spreman. Sada možete predvidjeti s kojim tipom ćete najvjerovatnije izaći na spoj. Inače, neki servisi za upoznavanje predviđaju takve stvari. Po analogiji, možete predvidjeti koliko će robe kupci kupiti i gdje će ljudi biti u to doba dana.

Odgovori mogu biti ne samo "da" i "ne", već i u obliku brojeva. Ako želite precizniju prognozu, možete napraviti nekoliko takvih stabala i prosječiti ih. A uz pomoć tako jednostavne stvari zapravo možete predvidjeti budućnost.

Zamislite, da li je ljudima bilo teško da smisle takvu šemu prije dvije stotine godina? Nikako! Ova šema ne nosi nikakvu raketnu nauku. Kao fenomen, mašinsko učenje postoji oko pola veka. Ronald Fisher je počeo da predviđa predviđanja na osnovu podataka početkom 20. veka. Uzeo je perunike i rasporedio ih prema dužini i širini listova i latica, koristeći te parametre odredio je vrstu biljke.

U industriji se posljednjih desetljeća aktivno koristi strojno učenje: moćne i relativno jeftine mašine koje su potrebne za obradu velike količine podaci, na primjer za takva stabla odlučivanja, tek su nedavno postali dostupni. Ali i dalje je uzbudljivo: ove stvari crtamo za svaki zadatak i koristimo ih za predviđanje budućnosti.

- Pa definitivno ništa bolje od bilo koje hobotnice prediktora fudbalskih utakmica...

Ne, šta nas briga za hobotnice? Iako imamo više varijabilnosti. Sada, uz pomoć mašinskog učenja, možete uštedjeti vrijeme, novac i poboljšati udobnost života. Mašinsko učenje je pobijedilo ljude prije nekoliko godina kada je u pitanju klasifikacija slika. Na primjer, kompjuter može prepoznati 20 rasa terijera i obicna osoba br.

- A kada analizirate korisnike, da li je svaka osoba za vas skup brojeva?

Grubo govoreći, da. Kada radimo s podacima, svi objekti, uključujući ponašanje korisnika, opisuju se određenim skupom brojeva. A ovi brojevi odražavaju karakteristike ponašanja ljudi: koliko često voze taksi, koju klasu taksija koriste, na koja mjesta obično idu.

Sada aktivno gradimo slične modele kako bismo ih koristili za identifikaciju grupa ljudi sa sličnim ponašanjem. Kada uvodimo novu uslugu ili želimo da promovišemo staru, nudimo je onima koji bi bili zainteresovani.

Na primjer, sada imamo uslugu - dva dječja sjedišta u taksiju. Sa ovom viješću možemo poslati spam svima, ili možemo o tome posebno obavijestiti samo određeni krug ljudi. Tokom godine skupili smo se broj korisnika koji su u komentarima napisali da im trebaju dva dječja sjedišta. Pronašli smo njih i ljude slične njima. Uobičajeno, to su ljudi stariji od 30 godina koji redovno putuju i vole mediteransku kuhinju. Iako, naravno, ima mnogo više znakova, ovo je samo primjer.

- Čak i takve suptilnosti?

Ovo je jednostavna stvar. Sve se izračunava pomoću upita za pretraživanje.

Može li ovo nekako funkcionirati u aplikaciji? Na primjer, da li znate da sam prosjak i pretplatio sam se na grupe poput "Kako preživjeti sa 500 rubalja mjesečno" - nude mi samo isprebijane jeftine automobile, pretplatim se na vijesti SpaceX-a - i s vremena na vrijeme me prodaju a Tesla?

To može funkcionirati na ovaj način, ali takve stvari nisu odobrene u Yandexu, jer je to diskriminacija. Kada personalizujete uslugu, bolje je ponuditi ne najprihvatljiviju, već najbolju dostupnu i ono što se osobi sviđa. A distribucija po logici "ovom treba bolji auto, a ovom manje dobar" je zla.


Svi imaju izopačene želje, a ponekad ne morate pronaći recept za mediteransko jelo, već, na primjer, slike o koprofiliji. Hoće li personalizacija i dalje funkcionirati u ovom slučaju?

Uvijek postoji privatni način rada.

Ako ne želim da iko zna za moja interesovanja ili, recimo, prijatelji dođu kod mene i žele da gledaju smeće, onda je bolje koristiti anonimni način rada.

Također možete odlučiti koju uslugu kompanije ćete koristiti, na primjer Yandex ili Google.

- Ima li razlike?

To je teško pitanje. Ne znam za druge, ali Yandex je strog u pogledu zaštite ličnih podataka. Posebno se prate zaposleni.

- Odnosno, ako raskinem s nekim tipom, neću moći da saznam da li je otišao u ovu daču ili ne?

Čak i ako radite u Yandexu. Ovo je, naravno, tužno, ali da, ne postoji način da se sazna. Većina zaposlenih nema ni pristup ovim podacima. Sve je šifrovano. Jednostavno je: ne možete špijunirati ljude, ovo su lični podaci.

Inače, imali smo zanimljiv slučaj na temu raskida sa momcima. Kada smo pravili prognozu za tačku “B” - odredišnu tačku u taksiju, uveli smo nagoveštaje. Evo, vidi.

(Victor se prijavljuje u aplikaciju Yandex.Taxi.)

Na primjer, taksi misli da sam kod kuće. Predlaže da idem ili da radim ili na RUDN univerzitet (tamo držim predavanja u sklopu kursa mašinskog učenja Data Mining in Action). I u nekom trenutku, dok smo razvijali ove savjete, shvatili smo da moramo izbjeći kompromitovanje korisnika. Svako može vidjeti tačku B. Iz ovih razloga, odbili smo predložiti mjesta na osnovu sličnosti. Inače, sjedite na pristojnom mjestu sa pristojnim ljudima, naručite taksi, a oni vam napišu: „Vidi, još nisi bio u ovom baru!“

- Koje te plave tačke trepere na vašoj mapi?

Ovo su mesta preuzimanja. Ove tačke pokazuju gdje je najpovoljnije pozvati taksi. Uostalom, možete pozvati na mjesto gdje bi bilo potpuno nezgodno ići. Ali općenito, možete nazvati bilo gdje.

- Da, bilo kada. Nekako sam preletio dva bloka sa ovim.

IN u poslednje vreme Bilo je raznih poteškoća s GPS-om, što je dovelo do raznih smiješnih situacija. Ljudi, na primjer, na Tverskoj, navigacija je prošla Pacific Ocean. Kao što vidite, ponekad ima promašaja i više od dva bloka.

- A ako ponovo pokrenete aplikaciju i ponovo kliknete, cijena se mijenja za nekoliko rubalja. Zašto?

Ako potražnja premašuje ponudu, algoritam automatski generiše rastući koeficijent - to pomaže onima koji moraju da napuste što je brže moguće da koriste taksi, čak i tokom perioda velike potražnje. Inače, uz pomoć mašinskog učenja možete predvideti gde će biti veća potražnja za, na primer, sat vremena. Ovo nam pomaže da kažemo vozačima gdje će biti više narudžbi, tako da ponuda odgovara potražnji.

- Ne mislite li da će Yandex.Taxi uskoro ubiti cijelo tržište taksija?

Mislim da ne. Mi smo za zdravu konkurenciju i ne plašimo je se.

Na primjer, i sam koristim različite taksi usluge. Vrijeme čekanja mi je važno, pa gledam nekoliko aplikacija da vidim koji će taksi stići brže.


- Udružili ste se sa Uberom. Za šta?

Nije moje da komentarišem. Mislim da je ujedinjenje duboko razumna odluka.

U Njemačkoj je jedan tip ugradio kadu na dronove i odletio po pljeskavicu. Da li ste mislili da je došlo vrijeme da ovladate vazdušnim prostorom?

O vazdušni prostori Ne znam. Pratimo vijesti poput "Uber je pokrenuo taksije na brodove", ali ne mogu reći ništa o zraku.

- Šta je sa samovozećim taksijima?

Ovdje je zanimljiva stvar. Mi ih razvijamo, ali moramo razmisliti kako ih tačno koristiti. Prerano je prognozirati u kom obliku i kada će se pojaviti na ulicama, ali činimo sve da razvijemo tehnologiju za potpuno autonomni automobil, gdje ljudski vozač uopće neće biti potreban.

- Postoji li bojazan da će softver dronova biti hakovan kako bi se automobilom upravljalo na daljinu?

Rizici postoje uvijek i svuda gdje postoje tehnologije i uređaji. Ali zajedno s razvojem tehnologije, razvija se i drugi smjer - njihova zaštita i sigurnost. Svi koji su na ovaj ili onaj način uključeni u razvoj tehnologije rade na sigurnosnim sistemima.

- Koje korisničke podatke prikupljate i kako ih štitite?

Prikupljamo anonimne podatke o korištenju, kao što su gdje, kada i gdje je putovanje napravljeno. Sve bitno je heširano.

- Mislite li da će se broj radnih mjesta smanjiti zbog dronova?

Mislim da će se samo povećati. Ipak, i ove dronove je potrebno nekako održavati. Ovo je, naravno, malo stresna situacija, promijenite svoju specijalnost, ali šta možete učiniti?

- Na svakom svom predavanju Gref kaže da će čovjek barem tri puta radikalno promijeniti profesiju.

Ne mogu navesti nijednu specijalnost koja će trajati vječno. Programer ne radi na istom jeziku i sa istim tehnologijama cijeli život. Svuda treba da se obnovimo. Sa mašinskim učenjem mogu jasno da osetim kako momci koji su šest godina mlađi od mene mogu da razmišljaju mnogo brže od mene. U isto vrijeme, ljudi sa 40 ili 45 godina to još jače osjećaju.

- Iskustvo više ne igra ulogu?

Igranje. Ali metode se mijenjaju, možete doći u oblast u kojoj se, na primjer, duboko učenje nije koristilo, radite tamo neko vrijeme, onda se metode dubokog učenja uvode svuda, a vi ništa o tome ne razumijete. To je sve. Vaše iskustvo može biti korisno samo u planiranju rada tima, a ni tada ne uvijek.

- A vaša profesija je data science, da li je tražena?

Potražnja za stručnjacima za nauku podataka jednostavno je van granica. Očigledno, ovo je period ludog hypea. Hvala Bogu, blockchain je pomogao da se ova pompa malo smiri. Blockchain stručnjaci se još brže preuzimaju.

Ali mnoge kompanije sada misle da će im bašte, ako ulože novac u mašinsko učenje, odmah procvjetati. Ovo nije u redu. Mašinsko učenje treba da rješava specifične probleme, a ne samo da postoji.

Postoje slučajevi kada banka želi da napravi sistem preporuka za usluge za korisnike. Pitamo: “Mislite li da će to biti ekonomski opravdano?” Oni odgovaraju: „Nije nas briga. Uradi to. Svi imaju sisteme preporuka, bićemo u trendu.”

Muka je što se nešto zaista korisno za posao ne može uraditi u jednom danu. Moramo paziti kako će sistem naučiti. Ali uvijek griješi na početku; možda mu nedostaju neki podaci tokom treninga. Ispravljaš greške, pa ih ponovo ispravljaš, pa čak i sve ponavljaš. Nakon ovoga potrebno je konfigurirati sistem tako da radi u proizvodnji, da bude stabilan i skalabilan, još je vrijeme. Kao rezultat, jedan projekat traje šest mjeseci, godinu ili više.


Ako metode mašinskog učenja posmatrate kao crnu kutiju, lako možete propustiti kada počnu da se dešavaju neke lude stvari. Jedi bradata priča. Vojska je zatražila da se razvije algoritam koji se može koristiti za analizu da li se na slici nalazi tenk ili ne. Istraživači su ga napravili, testirali, kvalitet je odličan, sve je odlično, dali su vojsci. Dolazi vojska i kaže da ništa ne radi. Naučnici počinju nervozno da shvataju. Ispostavilo se da je na svim fotografijama sa tenkom koje je vojska donela olovkom u uglu stavljena kvačica. Algoritam je besprijekorno naučio da pronađe kvačicu; Naravno, na novim slikama nije bilo kvačica.

Upoznala sam djecu koja razvijaju vlastite sisteme dijaloga. Da li ste ikada pomislili da treba da sarađujete sa decom?

Već neko vrijeme idem na razne događaje za školarce, držim predavanja o mašinskom učenju. I, inače, jednu od tema mi je predavao učenik desetog razreda. Bio sam potpuno siguran da će moja priča biti dobra i zanimljiva, bio sam ponosan na sebe, počeo sam da emitujem, a devojka je rekla: „Oh, želimo da minimiziramo ovu stvar.” Gledam i razmišljam, zaista, zašto, a istina se može umanjiti, a tu se nema šta posebno dokazivati. Prošlo je već nekoliko godina, sada sluša naša predavanja kao student na Fizičko-tehnološkom institutu. Yandex, inače, ima Yandex.Lyceum, gdje školarci mogu besplatno dobiti osnovna znanja iz programiranja.

- Preporučite univerzitete i fakultete na kojima trenutno predaju mašinsko učenje.

Postoje MIPT, fakulteti FIVT i FUPM. HSE takođe ima divan odsek za informatiku, a na Moskovskom državnom univerzitetu postoji mašinsko učenje u računarskom kompleksu. Pa, sada možete slušati naš kurs na Univerzitetu RUDN.

Kao što sam već rekao, ovo zanimanje je traženo. Veoma dugo vremena ljudi koji su dobili tehničko obrazovanje radili su sasvim druge stvari. Mašinsko učenje je odličan primjer gdje su sve stvari s kojima su ljudi naučili tehničko obrazovanje, sada su zaista potrebni, korisni i dobro plaćeni.

- Koliko dobro?

Navedite iznos.

- 500 hiljada mesečno.

Možete, samo a da niste običan naučnik podataka. Ali u nekim kompanijama pripravnik može zaraditi 50 hiljada za jednostavan rad. Generalno, plata cool data naučnika može se uporediti sa platom generalnog direktora neke srednje kompanije. U mnogim kompanijama, pored plate, zaposlenik ima i mnoge druge beneficije, a ako je jasno da osoba nije došla da doda dobar brend u svoj životopis, već da stvarno radi, onda će mu sve biti u redu.



Šta još čitati