Utveckling av maskininlärning - gratis kurs från School of Data Analysis, utbildning 4 terminer, Datum: 2 december 2023.
Miscellanea / / December 06, 2023
Denna riktning är lämplig för dem som gillar att programmera och skapa tjänster och applikationer som kan användas av tusentals och miljoner människor.
Skriv effektiv kod, bygg och optimera industriellt effektiva datadrivna system.
I utvecklingen av högteknologiska produkter baserade på maskininlärning.
Varje student måste framgångsrikt genomföra minst tre kurser under terminen. Till exempel, om det finns två av dem i huvudprogrammet, måste du välja en av specialkurserna.
Kunskaper prövas i första hand genom läxor - tentor och prov genomförs endast i vissa ämnen.
Första terminen
Obligatorisk
Algoritmer och datastrukturer, del 1
01Komplexitet och beräkningsmodeller. Analys av redovisningsvärden (början)
02 Analys av redovisningsvärden (slut)
03Merge-Sort och Quick-Sort-algoritmer
04Ordinell statistik. Högar (början)
05 Högar (slut)
06Hashing
07Sök i träd (början)
08Sök i träd (fortsättning)
09Sök i träd (slut). System av osammanhängande uppsättningar
10 Problem med RMQ och LCA
11Datastrukturer för geometrisk sökning
12Problem med dynamisk anslutning i en oriktad graf
C++ språkträning, del 1
C++ är ett kraftfullt språk med ett rikt arv. För dem som precis har gett sig ut på vägen att bemästra detta språk är det mycket lätt att gå vilse i överflöd av tekniker och tekniker som skapats under de senaste 30 åren. Kursen lär ut "Modern C++" - en modern delmängd av språket (standard 11, 14 och 17). Mycket uppmärksamhet ägnas åt verktyg och bibliotek - sådant som inte är en del av språket, men utan vilka det inte kommer att vara möjligt att bygga ett stort och komplext projekt.
01Introduktion till C++.
02 Konstanter. Pekare och länkar. Skicka argument till en funktion.
03 Klasser.
04Dynamisk minneshantering.
05Variabler, pekare och referenser.
06Minneshantering, smarta pekare, RAII.
07Standard mallbibliotek.
08Arv och virtuella funktioner.
09Felhantering.
10 Designmönster.
11Namnutrymmen Flytta semantik Perfekt vidarebefordran.
12Representation av strukturer och klasser i minnet. Datajustering. Tips på klassmedlemmar/metoder. Variadiska mallar.
Maskininlärning, del 1
01Grundbegrepp och exempel på tillämpade problem
02Metriska klassificeringsmetoder
03Logiska klassificeringsmetoder och beslutsträd
04Gradient linjär klassificeringsmetoder
05Support Vector Machine
06Multivariat linjär regression
07Icke-linjär och icke-parametrisk regression, icke-standardiserade förlustfunktioner
08Tidsserieprognoser
09Bayesianska klassificeringsmetoder
10Logistisk regression
11Sök efter föreningens regler
Andra terminen
Obligatorisk
Maskininlärning, del 2
01 Neurala nätverksmetoder för klassificering och regression
02Kompositionsmetoder för klassificering och regression
03Kriterier för val av modeller och metoder för att välja funktioner
04Ranking
05 Förstärkningsinlärning
06Lärande utan lärare
07Problem med delträning
08Samverkande filtrering
09 Ämnesmodellering
Att välja ifrån
Algoritmer och datastrukturer, del 2
01 Förbigång i bredd. Depth First Traversal (start)
02 Djup genomsökning (fortsättning)
03 Djupkrypning (slut). 2-snitt
04Hitta kortaste vägarna (början)
05Hitta kortaste vägarna (fortsättning)
06Minst spännande träd
07 Minimala snitt. Sök efter delsträngar (start)
08Sök efter delsträngar (fortsättning)
09Sök efter delsträngar (slut)
10Suffixträd (början)
11Suffixträd (slutar). Suffixmatriser (start)
12Suffixmatriser (slutar)
13Längsta vanliga delsträngar. Ungefärlig delsträngsökning.
eller
Python språk
01Språkgrunderna (del 1)
02Grundläggande språk (del 2)
03Objektorienterad programmering
04Felhantering
05 Koddesign och testning
06Arbeta med strängar
07 Minnesmodell
08Funktionell programmering
09Bibliotek recension (del 1)
10Bibliotek recension (del 2)
11Parallell beräkning i Python
12Avancerat arbete med objekt
eller
C++ språkträning, del 2
Den andra delen av C++-kursen, som täcker avancerade ämnen och språkkunskaper.
01Multi-thread programmering. Synkronisera trådar med mutexes och villkorsvariabler.
02Atomvariabler. C++ minnesmodell. Exempel på låsfria datastrukturer.
03Avancerad metaprogrammeringsteknik i C++. Metafunktioner, SFINAE, koncept.
04Konkurrenskraftig programmering, interaktion med nätverket.
05llvm arkitektur. Arbeta med analysträdet C++. Utveckling av verktyg för att analysera C++-kod.
Tredje terminen
Att välja ifrån
Naturlig språkbehandling
"NLP (Natural Language Processing) är en delmängd av det bredare fältet av AI som försöker lära en dator att förstå och bearbeta rådata på naturligt språk. Merparten av den information som finns tillgänglig idag är inte strukturerad text. Som människor är det naturligtvis inte svårt för oss att förstå dem (om de är på vårt modersmål), men vi kan inte behandla så mycket data som en maskin skulle kunna bearbeta. Men hur kan man få en maskin att förstå dessa data och dessutom extrahera lite information från den? För flera år sedan, vid invigningen av ACL (en av de viktigaste, om inte den viktigaste NLP-konferensen) i dess Presidentens tal Marti Hearst erkände att hon inte längre kan ge eleverna sin favorit träning. Med hjälp av HAL 9000 som exempel (ett av exemplen på artificiell intelligens i science fiction) frågade hon eleverna vad maskinen kunde göra som HAL och vad den inte kunde göra ännu. Nuförtiden är detta inte längre en så bra övning, eftersom nästan allt detta nu kan göras av en dator. Det är otroligt hur snabbt fältet växer och hur mycket vi har uppnått. I kursen ska vi försöka få dig att förstå och känna vad som händer i världen. Vilka problem löses, hur detta händer; hur vissa statistiska tillvägagångssätt (som kurser i NLP nästan helt ägnades åt för några år sedan) får ett nytt liv och ny tolkning i neurala nätverk, och vilka som gradvis dör ut. Vi kommer att visa att NLP inte är en uppsättning par (problem, lösning), utan generella idéer som penetrerar olika problem och speglar något gemensamt koncept. Du kommer också att lära dig vad som händer i praktiken och när vilka tillvägagångssätt är mer tillämpliga. Det här är vad vi gör, vad vi älskar, och vi är redo att dela det med dig :)"
01 https://lena-voita.github.io/nlp_course.html
02 https://github.com/yandexdataschool/nlp_course
eller
Datorsyn
"Kursen ägnas åt metoder och algoritmer för datorseende, det vill säga att extrahera information från bilder och videor. Låt oss titta på grunderna för bildbehandling, bildklassificering, bildsökning efter innehåll, ansiktsigenkänning, bildsegmentering. Sedan ska vi prata om videobearbetning och analysalgoritmer. Den sista delen av kursen ägnas åt 3D-rekonstruktion. För de flesta problem kommer vi att diskutera befintliga neurala nätverksmodeller. I kursen försöker vi bara uppmärksamma de modernaste metoderna som för närvarande används för att lösa praktiska och forskningsmässiga problem. Kursen är till stor del praktisk snarare än teoretisk. Därför är alla föreläsningar utrustade med laborationer och hemuppgifter, vilket gör att du kan pröva de flesta av de metoder som diskuteras i praktiken. Arbetet utförs i Python med hjälp av olika bibliotek."
01Digital bildbehandling och tonkorrigering
02Grundläggande bildbehandling
03Sömnad av bilder
04Bildklassificering och sök efter liknande
05Konvolutionella neurala nätverk för klassificering och sökning efter liknande bilder
06Objektdetektering
07Semantisk segmentering
08Stilöverföring och bildsyntes
09 Videoigenkänning
10Gles 3D-rekonstruktion
11Tät 3D-rekonstruktion
12Rekonstruktion från en ram och punktmoln, parametriska modeller
eller
Bayesianska metoder i maskininlärning
01Bayesiansk syn på sannolikhetsteori
02Analytisk Bayesiansk slutledning
03Bayesian modellval
04Automatisk bestämning av relevans
05 Relevansvektormetod för klassificeringsproblem
06Probabilistiska modeller med latenta variabler
07 Variationell Bayesiansk slutledning
08Bayesisk blandningsseparationsmodell av Gausser
09Monte Carlo-metoder med Markov-kedjor
10Latent Dirichlet-tilldelning
11Gaussiska processer för regression och klassificering
12 Icke-parametriska Bayesianska metoder
Fjärde terminen
Obligatorisk
ML ingenjörspraktik
Kursen är projektarbete på att utveckla ML-projekt i team.
ML Research Practice
Kursen representerar arbete med teamforskningsprojekt inom området maskininlärning.
Rekommenderade specialkurser
Djup lärning
01Kursmaterial
Förstärkningsinlärning
01Kursmaterial
Självkörande bilar
Kursen täcker kärnkomponenterna i självkörande teknologi: lokalisering, perception, förutsägelse, beteendenivå och rörelseplanering. För varje komponent kommer de huvudsakliga tillvägagångssätten att beskrivas. Dessutom kommer studenterna att bli bekanta med nuvarande marknadsförhållanden och tekniska utmaningar.
01Översikt över huvudkomponenterna och sensorerna i ett obemannat fordon. Nivåer av autonomi. Drive by Wire. Självkörande bilar som företagsprodukt. Sätt att utvärdera framstegen med att skapa drönare. Grunderna för lokalisering: gnss, hjulodometri, Bayesiska filter.
02Lidar lokaliseringsmetoder: ICP, NDT, LOAM. Introduktion till visuell SLAM med ORB-SLAM som exempel. Redogörelse för GraphSLAM-problemet. Reducering av GraphSLAM-problemet till en olinjär minsta kvadratmetod. Att välja rätt parametrering. System med en speciell struktur i GraphSLAM. Arkitektoniskt tillvägagångssätt: frontend och backend.
03Igenkänningsuppgift i en självkörande bil. Statiska och dynamiska hinder. Sensorer för igenkänningssystemet. Representation av statiska hinder. Detektering av statiska hinder med hjälp av lidar (VSCAN, neurala nätverksmetoder). Användning av lidar i kombination med bilder för att upptäcka statik (semantisk bildsegmentering, djupkomplettering). Stereokamera och få djup från en bild. Stixel världen.
04Representation av dynamiska hinder i en självkörande bil. Neurala nätverksmetoder för att detektera objekt i 2D. Detektering baserad på fågelperspektiv av lidarmolnrepresentation. Använder lidar med bilder för att upptäcka dynamiska hinder. Bildetektering i 3D baserat på bilder (3D-boxar, CAD-modeller). Radarbaserad dynamisk hinderdetektering. Objektspårning.
05Bilkörningsmönster: bakhjul, framhjul. Vägplanering. Konceptet med konfigurationsutrymme. Grafiska metoder för att konstruera banor. Banor som minimerar ryck. Optimeringsmetoder för att konstruera banor.
06Hastighetsplanering i en dynamisk miljö. ST planering. Förutsäga andra trafikanters beteende
Neuro-bayesianska metoder
Kursen fokuserar på tillämpningen av Bayesianska metoder i djupinlärning. Föreläsningarna kommer att prata om användningen av probabilistisk modellering för att bygga generativa datamodeller, användningen av konkurrerande nätverk för ungefärlig slutledning, modelleringsosäkerhet i neurala nätverksparametrar och några öppna problem på djupet Träning.
01Stokastisk variationsslutledning
02Dubbelstokastisk variationsslutledning
03Variationsautokodare, normaliserar flöden för variationsslutledning
04Metoder för att minska variansen i latenta variabelmodeller
05Uppskattning av förhållandet mellan distributionstätheter, tillämpning med exemplet \alpha-GAN
06Bayesiska neurala nätverk
07Bayesiansk komprimering av neurala nätverk
08Halvimplicit variationsslutledning