Utvikling av maskinlæring - gratis kurs fra School of Data Analysis, opplæring 4 semestre, Dato: 2. desember 2023.
Miscellanea / / December 06, 2023
Denne retningen passer for de som liker å programmere og lage tjenester og applikasjoner som kan brukes av tusenvis og millioner av mennesker.
Skriv effektiv kode, bygg og optimer industrielt effektive datadrevne systemer.
I utviklingen av høyteknologiske produkter basert på maskinlæring.
Hver student må fullføre minst tre emner i løpet av semesteret. For eksempel, hvis det er to av dem i hovedprogrammet, må du velge ett av spesialkursene.
Kunnskap testes først og fremst gjennom lekser - eksamener og prøver gjennomføres kun i enkelte fag.
Første semester
Påbudt, bindende
Algoritmer og datastrukturer, del 1
01Kompleksitet og beregningsmodeller. Analyse av regnskapsverdier (begynnelse)
02 Analyse av regnskapsverdier (slutt)
03Merge-Sort og Quick-Sort-algoritmer
04 Ordinær statistikk. Heaps (begynnelse)
05 Heaps (slutt)
06Hashing
07Søk i trær (begynnelse)
08Søk i trær (fortsettelse)
09Søk i trær (slutt). System av usammenhengende sett
10 Problemer med RMQ og LCA
11Datastrukturer for geometrisk søk
12Problem med dynamisk tilkobling i en urettet graf
C++ språkopplæring, del 1
C++ er et kraftig språk med en rik arv. For de som nettopp har lagt ut på veien for å mestre dette språket, er det veldig lett å gå seg vill i overfloden av teknikker og teknikker som er laget de siste 30 årene. Kurset lærer "Modern C++" - en moderne delmengde av språket (standard 11, 14 og 17). Det rettes mye oppmerksomhet mot verktøy og biblioteker – ting som ikke er en del av språket, men uten hvilke det ikke vil være mulig å bygge et stort og komplekst prosjekt.
01Introduksjon til C++.
02 Konstanter. Pekere og lenker. Sende argumenter til en funksjon.
03 Klasser.
04Dynamisk minnehåndtering.
05Variabler, pekepinner og referanser.
06Minnehåndtering, smarte pekere, RAII.
07Standard malbibliotek.
08Arv og virtuelle funksjoner.
09Feilhåndtering.
10 Designmønstre.
11Navnerom Flytte semantikk Perfekt videresending.
12Representasjon av strukturer og klasser i minnet. Datajustering. Tips til klassemedlemmer/metoder. Variadiske maler.
Maskinlæring, del 1
01Grunnleggende begreper og eksempler på anvendte problemer
02Metriske klassifiseringsmetoder
03Logiske klassifiseringsmetoder og beslutningstrær
04 Gradient lineære klassifiseringsmetoder
05Support Vector Machine
06Multivariat lineær regresjon
07Ikke-lineær og ikke-parametrisk regresjon, ikke-standard tapsfunksjoner
08Tidsserieprognoser
09Bayesianske klassifiseringsmetoder
10Logistisk regresjon
11Søk etter foreningens regler
Andre termin
Påbudt, bindende
Maskinlæring, del 2
01 Nevrale nettverksmetoder for klassifisering og regresjon
02Komposisjonelle metoder for klassifisering og regresjon
03Kriterier for valg av modeller og metoder for valg av funksjoner
04 Rangering
05Forsterkende læring
06Lære uten lærer
07Problemer med delvis trening
08Samarbeidsfiltrering
09Emnemodellering
Å velge fra
Algoritmer og datastrukturer, del 2
01 Bypass i bredden. Dybde First Traversal (start)
02 Dybdekryp (fortsettelse)
03 Dybdekryp (slutt). 2-kutt
04Finne korteste veier (begynnelse)
05Finne korteste veier (fortsettelse)
06Minimumsspennende trær
07Minimale kutt. Søk etter understrenger (start)
08Søk etter understrenger (fortsettelse)
09Søk etter understrenger (slutt)
10Suffiksetrær (begynnelse)
11Suffiksetrær (avslutning). Suffiksmatriser (start)
12Suffiksmatriser (slutt)
13Lengste vanlige delstrenger. Omtrentlig understrengsøk.
eller
Python språk
01 Grunnleggende språk (del 1)
02 Grunnleggende språk (del 2)
03Objektorientert programmering
04Feilhåndtering
05 Kodedesign og testing
06Arbeid med strenger
07Minnemodell
08Funksjonell programmering
09Bibliotekanmeldelse (del 1)
10Bibliotek anmeldelse (del 2)
11Parallell databehandling i Python
12Avansert arbeid med objekter
eller
C++ språkopplæring, del 2
Den andre delen av C++-kurset, som dekker avanserte emner og språkkunnskaper.
01Multi-thread programmering. Synkronisering av tråder ved hjelp av mutexes og tilstandsvariabler.
02 Atomvariabler. C++ minnemodell. Eksempler på låsfrie datastrukturer.
03Avanserte metaprogrammeringsteknikker i C++. Metafunksjoner, SFINAE, konsepter.
04Konkurransedyktig programmering, interaksjon med nettverket.
05llvm arkitektur. Arbeide med C++-analysetreet. Utvikling av verktøy for å analysere C++ kode.
Tredje semester
Å velge fra
Naturlig språkbehandling
"NLP (Natural Language Processing) er en undergruppe av det bredere feltet av AI som prøver å lære en datamaskin å forstå og behandle rådata på naturlig språk. Det meste av informasjonen som er tilgjengelig i dag er ikke strukturert tekst. Som mennesker er det selvfølgelig ikke vanskelig for oss å forstå dem (hvis de er på vårt morsmål), men vi er ikke i stand til å behandle så mye data som en maskin kan behandle. Men hvordan kan du få en maskin til å forstå disse dataene og dessuten trekke ut noe informasjon fra dem? For flere år siden, ved åpningen av ACL (en av de viktigste, om ikke den viktigste NLP-konferansen) i sin Presidenttalen Marti Hearst innrømmet at hun ikke lenger kan gi elevene sin favoritt trening. Ved å bruke HAL 9000 som eksempel (et av eksemplene på kunstig intelligens i science fiction), spurte hun elevene hva maskinen kunne gjøre som HAL og hva den ikke kunne gjøre ennå. Nå for tiden er ikke dette lenger en så god øvelse, siden nesten alt dette nå kan gjøres av en datamaskin. Det er utrolig hvor raskt feltet vokser og hvor mye vi har oppnådd. På kurset skal vi prøve å få deg til å forstå og føle hva som skjer i verden. Hvilke problemer løses, hvordan skjer dette; hvordan noen statistiske tilnærminger (som kurs i NLP nesten utelukkende ble viet for noen år siden) får et nytt liv og ny tolkning i nevrale nettverk, og hvilke som gradvis dør ut. Vi vil vise at NLP ikke er et sett av par (problem, løsning), men generelle ideer som trenger inn i ulike problemer og reflekterer et eller annet felles konsept. Du vil også lære hva som skjer i praksis og når hvilke tilnærminger som er mer anvendelige. Dette er hva vi gjør, det vi elsker, og vi er klare til å dele det med deg :)"
01 https://lena-voita.github.io/nlp_course.html
02 https://github.com/yandexdataschool/nlp_course
eller
Datamaskin syn
"Kurset er viet metoder og algoritmer for datasyn, det vil si å trekke ut informasjon fra bilder og videoer. La oss se på det grunnleggende om bildebehandling, bildeklassifisering, bildesøk etter innhold, ansiktsgjenkjenning, bildesegmentering. Deretter skal vi snakke om videobehandling og analysealgoritmer. Den siste delen av kurset er viet 3D-rekonstruksjon. For de fleste problemer vil vi diskutere eksisterende nevrale nettverksmodeller. I kurset prøver vi kun å ta hensyn til de mest moderne metodene som for tiden brukes for å løse praktiske og forskningsmessige problemer. Kurset er stort sett praktisk fremfor teoretisk. Derfor er alle forelesninger utstyrt med laboratorie- og lekser, som lar deg prøve de fleste metodene som diskuteres i praksis. Arbeidet utføres i Python ved hjelp av forskjellige biblioteker."
01Digital bildebehandling og tonekorreksjon
02 Grunnleggende om bildebehandling
03Bildesøm
04Bildeklassifisering og søk etter lignende
05Konvolusjonelle nevrale nettverk for klassifisering og søk etter lignende bilder
06Objektdeteksjon
07Semantisk segmentering
08Stiloverføring og bildesyntese
09 Videogjenkjenning
10 Sparsom 3D-rekonstruksjon
11Tett 3D-rekonstruksjon
12Rekonstruksjon fra én ramme og punktskyer, parametriske modeller
eller
Bayesianske metoder i maskinlæring
01Bayesiansk tilnærming til sannsynlighetsteori
02Analytisk Bayesiansk slutning
03Bayesiansk modellvalg
04Automatisk fastsettelse av relevans
05 Relevansvektormetode for klassifiseringsproblem
06Sannsynlighetsmodeller med latente variabler
07 Variasjonell Bayesiansk slutning
08Bayesiansk blandingsseparasjonsmodell av gaussere
09Monte Carlo-metoder med Markov-kjeder
10Latent Dirichlet tildeling
11 Gaussiske prosesser for regresjon og klassifisering
12 Ikke-parametriske Bayesianske metoder
Fjerde semester
Påbudt, bindende
ML Ingeniørpraksis
Emnet er prosjektarbeid på utvikling av ML-prosjekter i team.
ML forskningspraksis
Emnet representerer arbeid med teamforskningsprosjekter innen maskinlæring.
Anbefalte spesialkurs
Dyp læring
01Kursmateriell
Forsterkende læring
01Kursmateriell
Selvkjørende biler
Kurset dekker kjernekomponentene i selvkjørende teknologi: lokalisering, persepsjon, prediksjon, atferdsnivå og bevegelsesplanlegging. For hver komponent vil hovedtilnærmingene bli beskrevet. I tillegg vil studentene bli kjent med gjeldende markedsforhold og teknologiske utfordringer.
01Oversikt over hovedkomponentene og sensorene til et ubemannet kjøretøy. Nivåer av autonomi. Drive by Wire. Selvkjørende biler som bedriftsprodukt. Måter å evaluere fremgang i å lage droner. Grunnleggende om lokalisering: gnss, hjulodometri, Bayesianske filtre.
02Lidar lokaliseringsmetoder: ICP, NDT, LOAM. Introduksjon til visuell SLAM med ORB-SLAM som eksempel. Uttalelse av GraphSLAM-problemet. Redusere GraphSLAM-problemet til en ikke-lineær minste kvadraters metode. Velge riktig parameterisering. Systemer med en spesiell struktur i GraphSLAM. Arkitektonisk tilnærming: frontend og backend.
03Gjenkjenningsoppgave i en selvkjørende bil. Statiske og dynamiske hindringer. Sensorer for gjenkjenningssystemet. Representasjon av statiske hindringer. Deteksjon av statiske hindringer ved hjelp av lidar (VSCAN, nevrale nettverksmetoder). Bruk av lidar i forbindelse med bilder for å oppdage statikk (semantisk bildesegmentering, dybdefullføring). Stereokamera og få dybde fra et bilde. Stixel verden.
04Representasjon av dynamiske hindringer i en selvkjørende bil. Nevrale nettverksmetoder for å oppdage objekter i 2D. Deteksjon basert på fugleperspektiv av lidar-skyrepresentasjon. Bruke lidar med bilder for å oppdage dynamiske hindringer. Bildeteksjon i 3D basert på bilder (3D-boksmontering, CAD-modeller). Radarbasert dynamisk hindringsdeteksjon. Objektsporing.
05Bilkjøringsmønstre: bakhjul, forhjul. Veiplanlegging. Konseptet med konfigurasjonsrom. Grafiske metoder for å konstruere baner. Baner som minimerer rykk. Optimaliseringsmetoder for å konstruere baner.
06Hastighetsplanlegging i et dynamisk miljø. ST planlegging. Forutsi adferden til andre trafikanter
Nevro-bayesianske metoder
Kurset fokuserer på anvendelse av Bayesianske metoder i dyp læring. Forelesningene vil snakke om bruk av probabilistisk modellering for å bygge generative datamodeller, bruk av konkurrerende nettverk for omtrentlig inferens, modelleringsusikkerhet i nevrale nettverksparametere og noen åpne problemer i dyp opplæring.
01Stokastisk variasjonsslutning
02Dobbelt stokastisk variasjonsslutning
03Variasjonsautokoder, normaliserer flyter for variasjonsinferens
04Metoder for å redusere varians i latente variabelmodeller
05Estimering av forholdet mellom distribusjonstettheter, applikasjon ved hjelp av eksempelet \alpha-GAN
06Bayesianske nevrale nettverk
07Bayesiansk komprimering av nevrale nettverk
08Semi-implisitt variasjonsslutning