Mašīnmācīšanās attīstība - Datu analīzes skolas bezmaksas kurss, apmācība 4 semestri, datums: 2023. gada 2. decembris.
Literārs Mistrojums / / December 06, 2023
Šis virziens ir piemērots tiem, kam patīk programmēt un veidot pakalpojumus un lietojumprogrammas, kuras var izmantot tūkstošiem un miljoniem cilvēku.
Rakstiet efektīvu kodu, veidojiet un optimizējiet rūpnieciski efektīvas, uz datiem balstītas sistēmas.
Augsto tehnoloģiju produktu izstrādē, kuru pamatā ir mašīnmācīšanās.
Katram studentam semestra laikā sekmīgi jāapgūst vismaz trīs kursi. Piemēram, ja pamatprogrammā ir divi no tiem, tad jāizvēlas viens no īpašajiem kursiem.
Zināšanas galvenokārt tiek pārbaudītas mājasdarbos – eksāmeni un ieskaites tiek kārtoti tikai atsevišķos priekšmetos.
Pirmais semestris
Obligāts
Algoritmi un datu struktūras, 1. daļa
01 Sarežģītība un skaitļošanas modeļi. Grāmatvedības vērtību analīze (sākums)
02 Grāmatvedības vērtību analīze (beigas)
03 Apvienošanas un kārtošanas algoritmi
04 Kārtējā statistika. Kaudzes (sākums)
05Heaps (beigas)
06 Jaukšana
07 Meklēt kokus (sākums)
08Meklēt kokus (turpinājums)
09Meklēt kokus (beigas). Disjunktu kopu sistēma
10 RMQ un LCA problēmas
11Datu struktūras ģeometriskai meklēšanai
12Dinamiskas savienojamības problēma nevirzītā grafikā
C++ valodu apmācība, 1. daļa
C++ ir spēcīga valoda ar bagātīgu mantojumu. Tiem, kas tikko nostājušies šīs valodas apguves ceļā, ir ļoti viegli apmaldīties pēdējo 30 gadu laikā radīto paņēmienu un paņēmienu pārpilnībā. Kursā tiek mācīts "Modern C++" - mūsdienu valodas apakškopa (11., 14. un 17. standarts). Liela uzmanība tiek pievērsta rīkiem un bibliotēkām – lietām, kas neietilpst valodā, bet bez kurām nebūs iespējams uzbūvēt lielu un sarežģītu projektu.
01 Ievads C++.
02 Konstantes. Norādes un saites. Argumentu nodošana funkcijai.
03 Nodarbības.
04 Dinamiskā atmiņas pārvaldība.
05Mainīgie, norādes un atsauces.
06Atmiņas pārvaldība, viedās norādes, RAII.
07Standarta veidņu bibliotēka.
08 Mantojums un virtuālās funkcijas.
09 Kļūdu apstrāde.
10 Dizaina modeļi.
11Vārdtelpas Pārvietot semantiku Perfekta pārsūtīšana.
12Struktūru un klašu attēlojums atmiņā. Datu saskaņošana. Norādes uz klases dalībniekiem/metodēm. Variādas veidnes.
Mašīnmācība, 1. daļa
01Pamatjēdzieni un lietišķo problēmu piemēri
02Metriskās klasifikācijas metodes
03Loģiskās klasifikācijas metodes un lēmumu koki
04Gradientu lineārās klasifikācijas metodes
05 Atbalsta vektora mašīnu
06Daudzfaktoru lineārā regresija
07Nelineārā un neparametriskā regresija, nestandarta zudumu funkcijas
08Laika rindu prognozēšana
09Bayesian klasifikācijas metodes
10Loģistiskā regresija
11Meklējiet asociācijas noteikumus
Otrais termiņš
Obligāts
Mašīnmācība, 2. daļa
01Neironu tīklu klasifikācijas un regresijas metodes
02Klasifikācijas un regresijas kompozīcijas metodes
03 Modeļu atlases kritēriji un līdzekļu atlases metodes
04 Ranking
05 Pastiprināšanas mācības
06Mācīšanās bez skolotāja
07 Problēmas ar daļēju apmācību
08Sadarbības filtrēšana
09Tēmu modelēšana
Lai izvēlētos
Algoritmi un datu struktūras, 2. daļa
01 Apvedceļš platumā. Pirmā dziļuma šķērsošana (sākums)
02 Dziļuma pārmeklēšana (turpinājums)
03 Dziļuma rāpošana (beigas). 2-izgriezumi
04 Īsāko ceļu atrašana (sākums)
05 Īsāko ceļu atrašana (turpinājums)
06 Minimāli aptveroši koki
07 Minimāli griezumi. Meklēt apakšvirknes (sākt)
08Meklējiet apakšvirknes (turpinājums)
09 Meklēt apakšvirknes (beigas)
10 sufiksu koki (sākums)
11Piedēkļu koki (beidzas). Sufiksu masīvi (sākums)
12 Sufiksu masīvi (beidzas)
13 Garākās kopīgās apakšvirknes. Aptuvenā apakšvirknes meklēšana.
vai
Python valoda
01 Valodas pamati (1. daļa)
02 Valodas pamati (2. daļa)
03 Objektorientēta programmēšana
04 Kļūdu apstrāde
05Koda izstrāde un testēšana
06 Darbs ar stīgām
07 Atmiņas modelis
08Funkcionālā programmēšana
09 Bibliotēkas apskats (1. daļa)
10. Bibliotēkas apskats (2. daļa)
11 Paralēlā skaitļošana programmā Python
12Padziļināts darbs ar objektiem
vai
C++ valodu apmācība, 2.daļa
C++ kursa otrā daļa, kas aptver padziļinātas tēmas un valodas prasmes.
01 Daudzpavedienu programmēšana. Pavedienu sinhronizēšana, izmantojot mutexes un nosacījumu mainīgos.
02 Atomu mainīgie. C++ atmiņas modelis. Bezbloķēšanas datu struktūru piemēri.
03 Uzlabotas metaprogrammēšanas metodes C++ valodā. Metafunkcijas, SFINAE, jēdzieni.
04Konkurētspējīga programmēšana, mijiedarbība ar tīklu.
05llvm arhitektūra. Darbs ar C++ parsēšanas koku. Rīku izstrāde C++ koda analīzei.
Trešais semestris
Lai izvēlētos
Dabiskās valodas apstrāde
"NLP (dabiskās valodas apstrāde) ir plašākas AI jomas apakškopa, kas mēģina iemācīt datoram saprast un apstrādāt neapstrādātus datus dabiskā valodā. Lielākā daļa šodien pieejamās informācijas nav strukturēts teksts. Mums kā cilvēkiem, protams, nav grūti tos saprast (ja tie ir mūsu dzimtajā valodā), taču mēs nespējam apstrādāt tik daudz datu, cik spētu apstrādāt mašīna. Bet kā jūs varat likt mašīnai saprast šos datus un turklāt iegūt no tiem kādu informāciju? Pirms vairākiem gadiem ACL (vienas no galvenajām, ja ne vissvarīgākajām NLP konferencēm) atklāšanā savā Prezidenta runa Marti Hērsta atzina, ka vairs nevar dot studentiem savu favorītu vingrinājums. Izmantojot HAL 9000 kā piemēru (vienu no mākslīgā intelekta piemēriem zinātniskajā fantastikā), viņa jautāja skolēniem, ko šī iekārta varētu darīt tāpat kā HAL un ko tā vēl nevar. Mūsdienās tas vairs nav tik labs vingrinājums, jo gandrīz visu to tagad var paveikt ar datoru. Tas ir pārsteidzoši, cik ātri lauks aug un cik daudz esam sasnieguši. Kursā centīsimies likt saprast un sajust pasaulē notiekošo. Kādas problēmas tiek risinātas, kā tas notiek; kā dažas statistikas pieejas (kurām NLP kursi bija gandrīz pilnībā veltītas pirms dažiem gadiem) saņem jaunu dzīvi un jaunu interpretāciju neironu tīklos un kuras pamazām izmirst. Mēs parādīsim, ka NLP nav pāru kopums (problēma, risinājums), bet gan vispārīgas idejas, kas caurstrāvo dažādas problēmas un atspoguļo kādu kopīgu jēdzienu. Jūs arī uzzināsiet, kas notiek praksē un kad kuras pieejas ir piemērotākas. Tas ir tas, ko mēs darām, kas mums patīk, un esam gatavi ar jums dalīties :)"
01 https://lena-voita.github.io/nlp_course.html
02 https://github.com/yandexdataschool/nlp_course
vai
Datorredze
„Kurss ir veltīts datorredzes metodēm un algoritmiem, t.i., informācijas iegūšanai no attēliem un video. Apskatīsim attēlu apstrādes pamatus, attēlu klasifikāciju, attēlu meklēšanu pēc satura, seju atpazīšanu, attēlu segmentēšanu. Pēc tam mēs runāsim par video apstrādes un analīzes algoritmiem. Kursa pēdējā daļa ir veltīta 3D rekonstrukcijai. Lielākajai daļai problēmu mēs apspriedīsim esošos neironu tīklu modeļus. Kursā cenšamies pievērst uzmanību tikai modernākajām metodēm, kuras šobrīd tiek izmantotas praktisko un pētniecisko problēmu risināšanā. Kurss lielākoties ir praktisks, nevis teorētisks. Tāpēc visas lekcijas ir aprīkotas ar laboratorijas un mājas darbiem, kas ļauj praktiski izmēģināt lielāko daļu apspriesto metožu. Darbs tiek veikts Python, izmantojot dažādas bibliotēkas."
01Digitālā attēlveidošana un toņu korekcija
02Attēlu apstrādes pamati
03Attēlu sašūšana
04Attēlu klasifikācija un līdzīgu meklēšana
05 Konvolūcijas neironu tīkli līdzīgu attēlu klasifikācijai un meklēšanai
06 Objektu noteikšana
07Semantiskā segmentācija
08Stila pārsūtīšana un attēlu sintēze
09Video atpazīšana
10 Reta 3D rekonstrukcija
11Blīvā 3D rekonstrukcija
12Rekonstrukcija no viena kadra un punktu mākoņiem, parametriskie modeļi
vai
Bajesa metodes mašīnmācībā
01Bayesian pieeja varbūtību teorijai
02 Analītisks Bajesa secinājums
03Bayesian modeļu izvēle
04 Automātiska atbilstības noteikšana
05 Klasifikācijas problēmas atbilstības vektora metode
06 Varbūtības modeļi ar latentiem mainīgajiem
07 Variācijas Bajesa secinājums
08. Gausa Bajeza maisījuma atdalīšanas modelis
09Montekarlo metodes ar Markova ķēdēm
10 Latentā Dirihleta piešķiršana
11 Gausa procesi regresijai un klasifikācijai
12 Neparametriskās Bajesa metodes
Ceturtais semestris
Obligāts
ML inženieru prakse
Kurss ir projektu darbs pie ML projektu izstrādes komandās.
ML pētniecības prakse
Kurss atspoguļo darbu pie komandas pētniecības projektiem mašīnmācības jomā.
Ieteicamie speciālie kursi
Dziļa mācīšanās
01Kursa materiāls
Pastiprināšanas mācības
01Kursa materiāls
Pašbraucošas automašīnas
Kurss aptver pašbraukšanas tehnoloģiju galvenās sastāvdaļas: lokalizāciju, uztveri, prognozēšanu, uzvedības līmeni un kustību plānošanu. Katram komponentam tiks aprakstītas galvenās pieejas. Turklāt studenti iepazīs pašreizējos tirgus apstākļus un tehnoloģiskās problēmas.
01Pārskats par bezpilota transportlīdzekļa galvenajām sastāvdaļām un sensoriem. Autonomijas līmeņi. Drive by Wire. Pašbraucošās automašīnas kā biznesa produkts. Veidi, kā novērtēt progresu dronu radīšanā. Lokalizācijas pamati: gnss, riteņu odometrija, Bajesa filtri.
02Lidar lokalizācijas metodes: ICP, NDT, LOAM. Ievads vizuālajā SLAM, izmantojot ORB-SLAM kā piemēru. GraphSLAM problēmas izklāsts. GraphSLAM problēmas samazināšana uz nelineāru mazāko kvadrātu metodi. Pareiza parametru izvēle. Sistēmas ar īpašu GraphSLAM struktūru. Arhitektūras pieeja: frontend un backend.
03Atpazīšanas uzdevums pašbraucošā automašīnā. Statiski un dinamiski šķēršļi. Sensori atpazīšanas sistēmai. Statisku šķēršļu attēlojums. Statisko šķēršļu noteikšana, izmantojot lidar (VSCAN, neironu tīklu metodes). Lidar izmantošana kopā ar attēliem, lai noteiktu statiku (semantiskā attēla segmentācija, dziļuma pabeigšana). Stereo kamera un dziļuma iegūšana no attēla. Stixel pasaule.
04Dinamisko šķēršļu attēlojums pašbraucošā automašīnā. Neironu tīklu metodes objektu noteikšanai 2D formātā. Noteikšana, pamatojoties uz Lidara mākoņa attēlojumu no putna lidojuma. Lidara izmantošana ar attēliem, lai noteiktu dinamiskus šķēršļus. Automašīnu noteikšana 3D formātā, pamatojoties uz attēliem (3D kastu montāža, CAD modeļi). Uz radaru balstīta dinamiska šķēršļu noteikšana. Objektu izsekošana.
05Automobiļu braukšanas modeļi: aizmugurējais ritenis, priekšējais ritenis. Ceļu plānošana. Konfigurācijas telpas jēdziens. Grafu metodes trajektoriju konstruēšanai. Trajektorijas, kas samazina grūdienus. Optimizācijas metodes trajektoriju konstruēšanai.
06 Ātruma plānošana dinamiskā vidē. ST plānošana. Citu satiksmes dalībnieku uzvedības prognozēšana
Neiro-Bajeza metodes
Kurss ir vērsts uz Beijesa metožu pielietojumu dziļās mācībās. Lekcijās tiks runāts par varbūtības modelēšanas izmantošanu ģeneratīvo datu modeļu veidošanā, konkurējošo tīkli, lai veiktu aptuvenus secinājumus, modelētu neironu tīkla parametru nenoteiktību un dažas atklātas problēmas dziļi apmācību.
01Stohastisks variācijas secinājums
02 Divkārši stohastisks variācijas secinājums
03 Variāciju automātiskais kodētājs, kas normalizē plūsmas variāciju secinājumiem
04Latento mainīgo modeļu dispersijas samazināšanas metodes
05Izkliedes blīvumu attiecības novērtējums, pielietojums, izmantojot \alpha-GAN piemēru
06Bajeza neironu tīkli
07 Neironu tīklu Bajeza saspiešana
08 Daļēji netiešs variācijas secinājums