Ontwikkeling van machine learning - gratis cursus van de School of Data Analysis, training 4 semesters, Datum: 2 december 2023.
Gemengde Berichten / / December 06, 2023
Deze richting is geschikt voor degenen die graag diensten en applicaties programmeren en creëren die door duizenden en miljoenen mensen kunnen worden gebruikt.
Schrijf effectieve code, bouw en optimaliseer industrieel efficiënte datagestuurde systemen.
In de ontwikkeling van hightech producten op basis van machine learning.
Elke student moet tijdens het semester ten minste drie cursussen met succes voltooien. Als er bijvoorbeeld twee in het hoofdprogramma staan, moet je een van de speciale cursussen kiezen.
Kennis wordt voornamelijk getest door middel van huiswerk - examens en tests worden slechts bij sommige vakken afgenomen.
Eerste semester
Verplicht
Algoritmen en datastructuren, deel 1
01Complexiteit en rekenmodellen. Analyse van boekhoudkundige waarden (begin)
02Analyse van boekhoudkundige waarden (einde)
03Algoritmen samenvoegen en snel sorteren
04Ordinale statistieken. Hopen (begin)
05Hopen (einde)
06 Hashing
07Bomen zoeken (begin)
08Bomen zoeken (vervolg)
09Bomen zoeken (einde). Systeem van onsamenhangende verzamelingen
10Problemen met RMQ en LCA
11Datastructuren voor geometrisch zoeken
12Probleem van dynamische connectiviteit in een ongerichte grafiek
Taaltraining C++, deel 1
C++ is een krachtige taal met een rijk erfgoed. Voor degenen die net het pad zijn ingeslagen om deze taal onder de knie te krijgen, is het heel gemakkelijk om te verdwalen in de overvloed aan technieken en technieken die de afgelopen 30 jaar zijn gecreëerd. De cursus leert "Modern C++" - een moderne subset van de taal (standaarden 11, 14 en 17). Er wordt veel aandacht besteed aan tools en bibliotheken - dingen die geen deel uitmaken van de taal, maar zonder welke het niet mogelijk zal zijn om een groot en complex project te bouwen.
01Inleiding tot C++.
02Constanten. Aanwijzingen en links. Argumenten doorgeven aan een functie.
03Klassen.
04Dynamisch geheugenbeheer.
05Variabelen, aanwijzingen en referenties.
06Geheugenbeheer, slimme wijzers, RAII.
07Standaardsjabloonbibliotheek.
08Overerving en virtuele functies.
09Foutafhandeling.
10Ontwerppatronen.
11Namespaces Verplaats semantiek Perfecte doorsturing.
12Representatie van structuren en klassen in het geheugen. Uitlijning van gegevens. Verwijzingen naar klasseleden/methoden. Variadische sjablonen.
Machine learning, deel 1
01Basisconcepten en voorbeelden van toegepaste problemen
02Metrische classificatiemethoden
03Logische classificatiemethoden en beslisbomen
04Gradient lineaire classificatiemethoden
05Ondersteun vectormachine
06Multivariate lineaire regressie
07Niet-lineaire en niet-parametrische regressie, niet-standaard verliesfuncties
08Tijdreeksvoorspellingen
09Bayesiaanse classificatiemethoden
10Logistische regressie
11Zoek naar associatieregels
Tweede semester
Verplicht
Machine learning, deel 2
01Neurale netwerkmethoden voor classificatie en regressie
02Compositionele methoden voor classificatie en regressie
03Criteria voor het selecteren van modellen en methoden voor het selecteren van kenmerken
04Ranglijst
05Versterkend leren
06Leren zonder leraar
07Problemen met gedeeltelijke training
08Samenwerkingsfiltering
09Onderwerpmodellering
Kiezen uit
Algoritmen en datastructuren, deel 2
01Bypass in de breedte. Diepte Eerste Traversal (start)
02 Dieptekruip (vervolg)
03 Dieptekruip (einde). 2-sneden
04De kortste paden vinden (begin)
05De kortste paden vinden (vervolg)
06Minimaal overspannende bomen
07Minimale sneden. Zoeken naar substrings (start)
08Zoeken naar substrings (vervolg)
09Zoeken naar substrings (einde)
10 Achtervoegselbomen (begin)
11 Achtervoegselbomen (einde). Achtervoegselarrays (start)
12 Achtervoegselarrays (eind)
13Langste gemeenschappelijke subreeksen. Zoeken naar geschatte subtekenreeksen.
of
Python-taal
01Taalbasis (deel 1)
02Taalbasis (deel 2)
03Objectgeoriënteerd programmeren
04Foutafhandeling
05Codeontwerp en testen
06Werken met snaren
07Geheugenmodel
08Functioneel programmeren
09Bibliotheekoverzicht (deel 1)
10Bibliotheekoverzicht (deel 2)
11Parallel computergebruik in Python
12Geavanceerd werken met objecten
of
Taaltraining C++, deel 2
Het tweede deel van de C++-cursus, waarin geavanceerde onderwerpen en taalmogelijkheden worden behandeld.
01Multi-threaded programmeren. Synchroniseren van threads met behulp van mutexen en conditievariabelen.
02Atomische variabelen. C++ geheugenmodel. Voorbeelden van slotvrije datastructuren.
03Geavanceerde metaprogrammeertechnieken in C++. Metafuncties, SFINAE, concepten.
04Competitieve programmering, interactie met het netwerk.
05llvm-architectuur. Werken met de C++ parseerboom. Ontwikkeling van tools voor het analyseren van C++-code.
Derde semester
Kiezen uit
Natuurlijke taalverwerking
“NLP (Natural Language Processing) is een subset van het bredere veld van AI dat probeert een computer te leren ruwe gegevens in natuurlijke taal te begrijpen en te verwerken. De meeste informatie die vandaag de dag beschikbaar is, bestaat niet uit gestructureerde tekst. Als mensen is het natuurlijk niet moeilijk voor ons om ze te begrijpen (als ze in onze moedertaal zijn), maar we kunnen niet zoveel gegevens verwerken als een machine zou kunnen verwerken. Maar hoe kun je een machine deze gegevens laten begrijpen en er bovendien informatie uit halen? Enkele jaren geleden, bij de opening van ACL (een van de belangrijkste, zo niet de belangrijkste NLP-conferentie) in zijn Presidentiële toespraak Marti Hearst gaf toe dat ze studenten niet langer haar favoriet kan geven oefening. Met HAL 9000 als voorbeeld (een van de voorbeelden van kunstmatige intelligentie in sciencefiction) vroeg ze studenten wat de machine net als HAL kon doen en wat hij nog niet kon. Tegenwoordig is dit niet meer zo’n goede oefening, omdat dit tegenwoordig bijna allemaal via een computer kan. Het is verbazingwekkend hoe snel het veld groeit en hoeveel we hebben bereikt. In de cursus proberen we je te laten begrijpen en voelen wat er in de wereld gebeurt. Welke problemen worden opgelost, hoe dit gebeurt; hoe sommige statistische benaderingen (waaraan de NLP-cursussen een paar jaar geleden vrijwel volledig gewijd waren) een nieuw leven en een nieuwe interpretatie krijgen in neurale netwerken, en welke geleidelijk uitsterven. We zullen laten zien dat NLP geen stel paren is (probleem, oplossing), maar algemene ideeën die verschillende problemen doordringen en een gemeenschappelijk concept weerspiegelen. Ook leer je wat er in de praktijk gebeurt en wanneer welke aanpak meer toepasbaar is. Dit is wat we doen, waar we van houden, en we zijn klaar om het met jullie te delen :)"
01 https://lena-voita.github.io/nlp_course.html
02 https://github.com/yandexdataschool/nlp_course
of
Computer visie
"De cursus is gewijd aan methoden en algoritmen van computer vision, dat wil zeggen het extraheren van informatie uit afbeeldingen en video's. Laten we eens kijken naar de basisprincipes van beeldverwerking, beeldclassificatie, zoeken naar afbeeldingen op inhoud, gezichtsherkenning, beeldsegmentatie. Daarna zullen we het hebben over videoverwerkings- en analyse-algoritmen. Het laatste deel van de cursus is gewijd aan 3D-reconstructie. Voor de meeste problemen zullen we bestaande neurale netwerkmodellen bespreken. In de cursus proberen we alleen aandacht te besteden aan de modernste methoden die momenteel worden gebruikt bij het oplossen van praktijk- en onderzoeksproblemen. De cursus is grotendeels praktisch en niet theoretisch. Daarom zijn alle hoorcolleges uitgerust met laboratoriumwerk en huiswerk, waardoor je de meeste van de besproken methoden in de praktijk kunt uitproberen. Het werk wordt uitgevoerd in Python met behulp van verschillende bibliotheken."
01Digitale beeldvorming en tooncorrectie
02Basisprincipes van beeldverwerking
03Beelden naaien
04Beeldclassificatie en zoek naar soortgelijke
05Convolutionele neurale netwerken voor classificatie en zoeken naar vergelijkbare afbeeldingen
06Objectdetectie
07Semantische segmentatie
08Stijloverdracht en beeldsynthese
09Videoherkenning
10Spaarzame 3D-reconstructie
11Dense 3D-reconstructie
12Reconstructie vanuit één frame en puntenwolken, parametrische modellen
of
Bayesiaanse methoden in machine learning
01Bayesiaanse benadering van de waarschijnlijkheidstheorie
02Analytische Bayesiaanse gevolgtrekking
03Bayesiaanse modelselectie
04Automatische bepaling van relevantie
05 Relevantievectormethode voor classificatieprobleem
06Probabilistische modellen met latente variabelen
07Variationele Bayesiaanse gevolgtrekking
08Bayesiaans mengselscheidingsmodel van Gaussianen
09Monte Carlo-methoden met Markov-ketens
10Latent Dirichlet-toewijzing
11Gaussiaanse processen voor regressie en classificatie
12Niet-parametrische Bayesiaanse methoden
Vierde semester
Verplicht
ML-ingenieurspraktijk
De cursus is projectwerk over het ontwikkelen van ML-projecten in teams.
ML-onderzoekspraktijk
De cursus vertegenwoordigt werk aan teamonderzoeksprojecten op het gebied van machine learning.
Aanbevolen speciale cursussen
Diep leren
01Cursusmateriaal
Versterkend leren
01Cursusmateriaal
Zelfrijdende auto's
De cursus behandelt de kerncomponenten van zelfrijdende technologie: lokalisatie, perceptie, voorspelling, gedragsniveau en bewegingsplanning. Voor elk onderdeel worden de belangrijkste benaderingen beschreven. Bovendien zullen studenten vertrouwd raken met de huidige marktomstandigheden en technologische uitdagingen.
01Overzicht van de belangrijkste componenten en sensoren van een onbemand voertuig. Niveaus van autonomie. Rijd per draad. Zelfrijdende auto’s als zakelijk product. Manieren om de voortgang bij het maken van drones te evalueren. Basisbeginselen van lokalisatie: GPS, wielodometrie, Bayesiaanse filters.
02Lidar-lokalisatiemethoden: ICP, NDT, LOAM. Inleiding tot visuele SLAM met ORB-SLAM als voorbeeld. Verklaring van het GraphSLAM-probleem. Het GraphSLAM-probleem reduceren tot een niet-lineaire kleinste kwadratenmethode. Het selecteren van de juiste parametrering. Systemen met een speciale structuur in GraphSLAM. Architecturale aanpak: frontend en backend.
03Herkenningstaak in een zelfrijdende auto. Statische en dynamische obstakels. Sensoren voor het herkenningssysteem. Weergave van statische obstakels. Detectie van statische obstakels met behulp van lidar (VSCAN, neurale netwerkmethoden). Lidar gebruiken in combinatie met afbeeldingen om statische gegevens te detecteren (semantische beeldsegmentatie, diepteaanvulling). Stereocamera en diepte uit een foto halen. Stixel-wereld.
04Representatie van dynamische obstakels in een zelfrijdende auto. Neurale netwerkmethoden voor het detecteren van objecten in 2D. Detectie op basis van vogelperspectief van de weergave van lidarwolken. Lidar gebruiken met beelden om dynamische obstakels te detecteren. Autodetectie in 3D op basis van foto's (3D-boxen passen, CAD-modellen). Radargebaseerde dynamische obstakeldetectie. Object volgen.
05Auto-rijpatronen: achterwiel, voorwiel. Padplanning. Het concept van configuratieruimte. Grafiekmethoden voor het construeren van trajecten. Trajecten die schokken minimaliseren. Optimalisatiemethoden voor het construeren van trajecten.
06Snelplanning in een dynamische omgeving. ST-planning. Het voorspellen van het gedrag van andere weggebruikers
Neuro-Bayesiaanse methoden
De cursus richt zich op de toepassing van Bayesiaanse methoden in deep learning. In de lezingen zal worden gesproken over het gebruik van probabilistische modellering om generatieve datamodellen te bouwen, en het gebruik van concurrentie netwerken voor benaderende gevolgtrekkingen, het modelleren van onzekerheid in neurale netwerkparameters, en enkele openstaande problemen in de diepte opleiding.
01Stochastische variatie-inferentie
02Dubbel stochastische variatie-gevolgtrekking
03Variationele autoencoder, normaliseert stromen voor variatie-inferentie
04Methoden voor het verminderen van variantie in latente variabele modellen
05Schatting van de verhouding van distributiedichtheden, toepassing met behulp van het voorbeeld van \alpha-GAN
06Bayesiaanse neurale netwerken
07Bayesiaanse compressie van neurale netwerken
08Semi-impliciete variatie-gevolgtrekking