Koneoppimisen kehittäminen - Data Analysis Schoolin ilmainen kurssi, koulutus 4 lukukautta, Päivämäärä: 2.12.2023.
Miscellanea / / December 06, 2023
Tämä suunta sopii niille, jotka haluavat ohjelmoida ja luoda palveluita ja sovelluksia, jotka ovat tuhansien ja miljoonien ihmisten käytössä.
Kirjoita tehokasta koodia, rakenna ja optimoi teollisesti tehokkaita dataohjattuja järjestelmiä.
Koneoppimiseen perustuvien korkean teknologian tuotteiden kehittämisessä.
Jokaisen opiskelijan tulee suorittaa vähintään kolme kurssia lukukauden aikana. Esimerkiksi, jos niitä on kaksi pääohjelmassa, sinun on valittava yksi erikoiskursseista.
Tietoa testataan ensisijaisesti kotitehtävien kautta - tentit ja kokeet suoritetaan vain joissakin aineissa.
Ensimmäinen lukukausi
Pakollinen
Algoritmit ja tietorakenteet, osa 1
01Monimutkaisuus ja laskennalliset mallit. Kirjanpitoarvojen analyysi (alku)
02Kirjanpitoarvojen analyysi (loppu)
03Yhdistä-lajittelu- ja pikalajittelualgoritmit
04 Tavallinen tilasto. Kasat (alku)
05Heaps (loppu)
06 Hashing
07Etsi puita (alku)
08Etsi puita (jatkuu)
09Etsi puita (loppu). Disjunktijoukkojen järjestelmä
10 RMQ- ja LCA-ongelmat
11Tietorakenteet geometriseen hakuun
12Dynaamisen liitettävyyden ongelma ohjaamattomassa graafissa
C++-kielikoulutus, osa 1
C++ on voimakas kieli, jolla on rikas perintö. Niiden, jotka ovat juuri lähteneet tämän kielen hallitsemisen tielle, on erittäin helppoa eksyä viimeisten 30 vuoden aikana luotujen tekniikoiden ja tekniikoiden runsaudessa. Kurssilla opetetaan "Modern C++" - kielen moderni osajoukko (standardit 11, 14 ja 17). Paljon huomiota kiinnitetään työkaluihin ja kirjastoihin - asioihin, jotka eivät kuulu kieleen, mutta joita ilman ei voida rakentaa suurta ja monimutkaista projektia.
01 Johdatus C++:aan.
02 Vakiot. Osoittimet ja linkit. Argumenttien välittäminen funktiolle.
03 Luokat.
04Dynaaminen muistinhallinta.
05Muuttujat, osoittimet ja viittaukset.
06Muistinhallinta, älykkäät osoittimet, RAII.
07 Vakiomallikirjasto.
08Perintö- ja virtuaalitoiminnot.
09 Virheiden käsittely.
10 Suunnittelukuvioita.
11Nimiavaruudet Siirrä semantiikkaa Täydellinen edelleenlähetys.
12 Rakenteiden ja luokkien esitys muistissa. Tietojen kohdistus. Viitteitä luokan jäseniin/menetelmiin. Vaihtelevia malleja.
Koneoppiminen, osa 1
01Peruskäsitteitä ja esimerkkejä sovellettavista ongelmista
02Metriset luokitusmenetelmät
03Loogiset luokitusmenetelmät ja päätöspuut
04Gradienttilineaariset luokitusmenetelmät
05Support Vector Machine
06 Monimuuttuja lineaarinen regressio
07Epälineaarinen ja ei-parametrinen regressio, ei-standardihäviöfunktiot
08 Aikasarjan ennustaminen
09Bayesilaiset luokitusmenetelmät
10 Logistinen regressio
11Etsi yhdistyksen säännöt
Toinen termi
Pakollinen
Koneoppiminen, osa 2
01Neuroverkkojen luokittelu- ja regressiomenetelmät
02Luokituksen ja regression koostemenetelmät
03Mallejen valintakriteerit ja ominaisuuksien valintamenetelmät
04 Ranking
05 Vahvistusoppiminen
06Oppiminen ilman opettajaa
07 Ongelmia osittaisen harjoittelun kanssa
08Yhteistyösuodatus
09Aihemallinnus
Mistä valita
Algoritmit ja tietorakenteet, osa 2
01 Ohitus leveydeltä. Syvyys ensimmäinen läpikulku (aloitus)
02 Syvyysindeksointi (jatkuu)
03 Syvyysindeksointi (loppu). 2-leikkaus
04Lyhimpien polkujen löytäminen (alku)
05Lyhimpien polkujen löytäminen (jatkuu)
06 Vähimmäisvälit
07 Minimaaliset leikkaukset. Etsi osamerkkijonoja (aloitus)
08Hae alimerkkijonoja (jatkuu)
09Etsi alimerkkijonoja (loppu)
10 päätepuuta (alku)
11Suffiksipuut (pääte). Suffiksitaulukot (alku)
12 päätetaulukkoa (pääte)
13 Pisin yhteinen osamerkkijono. Likimääräinen osamerkkijonohaku.
tai
Python kieli
01Kielen perusteet (Osa 1)
02Kielen perusteet (osa 2)
03 Olio-ohjelmointi
04 Virheiden käsittely
05Koodin suunnittelu ja testaus
06 Työskentely jousilla
07 Muistimalli
08 Toiminnallinen ohjelmointi
09Kirjastokatsaus (osa 1)
10Kirjastokatsaus (osa 2)
11Rinnakkaislaskenta Pythonissa
12 Edistynyt työskentely esineiden kanssa
tai
C++ kielikoulutus, osa 2
C++-kurssin toinen osa, joka kattaa edistyneet aiheet ja kielitaidot.
01 Monisäikeinen ohjelmointi. Synkronoi säikeitä käyttämällä mutexeja ja ehtomuuttujia.
02Atomic muuttujat. C++ muistimalli. Esimerkkejä lukitsemattomista tietorakenteista.
03 Edistyneet meta-ohjelmointitekniikat C++:ssa. Metafunktiot, SFINAE, käsitteet.
04Kilpaileva ohjelmointi, vuorovaikutus verkon kanssa.
05llvm arkkitehtuuri. Työskentely C++ jäsennyspuun kanssa. Työkalujen kehittäminen C++-koodin analysointiin.
Kolmas lukukausi
Mistä valita
Luonnollisen kielen käsittely
"NLP (Natural Language Processing) on osa laajempaa tekoälyä, joka yrittää opettaa tietokoneen ymmärtämään ja käsittelemään raakadataa luonnollisella kielellä. Suurin osa nykyään saatavilla olevista tiedoista ei ole jäsenneltyä tekstiä. Ihmisinä meidän ei tietenkään ole vaikea ymmärtää niitä (jos ne ovat äidinkielellämme), mutta emme pysty käsittelemään niin paljon dataa kuin kone voisi käsitellä. Mutta kuinka voit saada koneen ymmärtämään nämä tiedot ja lisäksi poimimaan niistä jotain tietoa? Useita vuosia sitten avajaisissa ACL (yksi tärkeimmistä, ellei tärkein NLP-konferenssi) sen Presidentin puhe Marti Hearst myönsi, ettei hän voi enää antaa opiskelijoille suosikkiaan Harjoittele. Hän käytti esimerkkinä HAL 9000:ta (yksi esimerkkejä tekoälystä tieteiskirjallisuudessa) ja kysyi opiskelijoilta, mitä kone voisi tehdä kuten HAL ja mitä se ei vielä. Nykyään tämä ei ole enää niin hyvä harjoitus, koska lähes kaikki tämä voidaan nyt tehdä tietokoneella. On hämmästyttävää, kuinka nopeasti ala kasvaa ja kuinka paljon olemme saavuttaneet. Kurssilla yritämme saada sinut ymmärtämään ja tuntemaan mitä maailmassa tapahtuu. Mitä ongelmia ratkaistaan, miten tämä tapahtuu; miten jotkin tilastolliset lähestymistavat (joille NLP-kurssit omistettiin muutama vuosi sitten lähes kokonaan) saavat uuden elämän ja uuden tulkinnan hermoverkoissa ja mitkä vähitellen kuolevat pois. Osoitamme, että NLP ei ole joukko pareja (ongelma, ratkaisu), vaan yleisiä ideoita, jotka tunkeutuvat erilaisiin ongelmiin ja heijastavat jotakin yhteistä käsitettä. Opit myös mitä käytännössä tapahtuu ja milloin mitkä lähestymistavat ovat soveltuvampia. Tätä me teemme, mitä rakastamme, ja olemme valmiita jakamaan sen kanssasi :)"
01 https://lena-voita.github.io/nlp_course.html
02 https://github.com/yandexdataschool/nlp_course
tai
Konenäkö
"Kurssi on omistettu tietokonenäön menetelmille ja algoritmeille eli kuvista ja videoista tiedon poimimiseen. Tutustutaan kuvankäsittelyn perusteisiin, kuvien luokitteluun, sisällön mukaan kuvahakuun, kasvojentunnistukseen, kuvien segmentointiin. Sitten puhumme videonkäsittely- ja analyysialgoritmeista. Kurssin viimeinen osa on omistettu 3D-rekonstruktiolle. Useimpien ongelmien osalta keskustelemme olemassa olevista neuroverkkomalleista. Kurssilla pyrimme kiinnittämään huomiota vain nykyaikaisimpiin menetelmiin, joita tällä hetkellä käytetään käytännön ja tutkimusongelmien ratkaisemisessa. Kurssi on pitkälti käytännöllinen kuin teoreettinen. Siksi kaikki luennot on varustettu laboratorio- ja kotitehtävillä, joiden avulla voit kokeilla useimpia käsiteltyjä menetelmiä käytännössä. Työ tehdään Pythonissa käyttämällä erilaisia kirjastoja."
01Digitaalinen kuvantaminen ja sävyn korjaus
02Kuvankäsittelyn perusteet
03Kuvien ompeleminen
04Kuvien luokittelu ja vastaavien etsiminen
05Konvoluutiohermoverkot samankaltaisten kuvien luokitteluun ja etsimiseen
06 Kohteen tunnistus
07Semanttinen segmentointi
08Tyylin siirto ja kuvan synteesi
09Videontunnistus
10 Harva 3D-rekonstruktio
11Tiheä 3D-rekonstruktio
12Rekonstruktio yhdestä kehyksestä ja pistepilvistä, parametriset mallit
tai
Bayesin menetelmät koneoppimisessa
01Bayesilainen lähestymistapa todennäköisyysteoriaan
02Analyyttinen Bayesin päättely
03Bayesian mallin valinta
04 Automaattinen merkityksen määritys
05 Relevanssivektorimenetelmä luokitteluongelmaan
06 Todennäköisyysmallit, joissa on piileviä muuttujia
07 Muunnelma Bayesin päättely
08 Gaussin bayesilainen seoserotusmalli
09Monte Carlo -menetelmät Markovin ketjuilla
10Latentti Dirichlet-allokaatio
11 Gaussin regressio- ja luokitteluprosessit
12 Ei-parametriset Bayesin menetelmät
Neljäs lukukausi
Pakollinen
ML Engineering Practice
Kurssi on projektityötä ML-projektien kehittämiseksi ryhmissä.
ML-tutkimuskäytäntö
Kurssi edustaa työtä ryhmätutkimusprojekteissa koneoppimisen alalla.
Suositeltavat erikoiskurssit
Syvä oppiminen
01 Kurssimateriaali
Vahvistusoppiminen
01 Kurssimateriaali
Itseajavat autot
Kurssi kattaa itseohjautuvan tekniikan ydinkomponentit: lokalisoinnin, havainnon, ennustamisen, käyttäytymisen tason ja liikkeen suunnittelun. Jokaisen komponentin osalta kuvataan tärkeimmät lähestymistavat. Lisäksi opiskelija perehtyy ajankohtaisiin markkinaolosuhteisiin ja teknologisiin haasteisiin.
01 Yleiskatsaus miehittämättömän ajoneuvon pääkomponenteista ja antureista. Autonomian tasot. Drive by Wire. Itseajavat autot yritystuotteena. Tapoja arvioida droonien luomisen edistymistä. Lokalisoinnin perusteet: gnss, pyörän matkamittari, Bayes-suodattimet.
02Lidar-lokalisointimenetelmät: ICP, NDT, LOAM. Johdatus visuaaliseen SLAM: iin käyttämällä esimerkkinä ORB-SLAM: ia. Ilmoitus GraphSLAM-ongelmasta. GraphSLAM-ongelman pelkistäminen epälineaariseksi pienimmän neliösumman menetelmäksi. Oikean parametroinnin valinta. Järjestelmät, joissa on erityinen rakenne GraphSLAMissa. Arkkitehtoninen lähestymistapa: frontend ja backend.
03Tunnistamistehtävä itseajavassa autossa. Staattiset ja dynaamiset esteet. Tunnistusjärjestelmän anturit. Staattisten esteiden esitys. Staattisten esteiden havaitseminen lidarin avulla (VSCAN, hermoverkkomenetelmät). Lidarin käyttö kuvien yhteydessä staattisen vaikutuksen havaitsemiseen (semanttinen kuvan segmentointi, syvyyden täydennys). Stereokamera ja syvyyden saaminen kuvasta. Stixel World.
04Dynaamisten esteiden esitys itseajavassa autossa. Hermoverkkomenetelmät kohteiden havaitsemiseen 2D: ssä. Havaitseminen perustuu lidar-pilviesityksen lintuperspektiiviin. Lidarin käyttäminen kuvien kanssa dynaamisten esteiden havaitsemiseen. Autontunnistus 3D: ssä kuvien perusteella (3D-laatikoiden asennus, CAD-mallit). Tutkapohjainen dynaaminen esteentunnistus. Objektin seuranta.
05Auton ajotavat: takapyörä, etupyörä. Reitin suunnittelu. Konfigurointitilan käsite. Graafiset menetelmät lentoratojen rakentamiseen. Liikeradat, jotka minimoivat nykimisen. Optimointimenetelmät lentoratojen rakentamiseen.
06 Nopeuden suunnittelu dynaamisessa ympäristössä. ST suunnittelu. Muiden tienkäyttäjien käyttäytymisen ennustaminen
Neurobayesilaiset menetelmät
Kurssi keskittyy Bayesin menetelmien soveltamiseen syväoppimisessa. Luennoilla puhutaan todennäköisyysmallinnuksen käytöstä generatiivisten tietomallien rakentamiseen, kilpailevien verkot likimääräisten päätelmien tekemiseen, hermoverkkoparametrien epävarmuuden mallintamiseen ja joitain avoimia ongelmia syvällä koulutusta.
01Stokastinen variaatiopäätelmä
02 Kaksoisstokastinen variaatiopäätelmä
03 Variaatioautoenkooderi, normalisoi virtaukset vaihtelupäätelmiä varten
04Menetelmät varianssin vähentämiseksi piilevässä muuttujamallissa
05 Jakaumatiheyksien suhteen arviointi, sovellus \alpha-GAN-esimerkillä
06 Bayesin neuroverkot
07 Neuroverkkojen Bayesin pakkaus
08Puoli-implisiittinen variaatiopäätelmä