Învățarea automată (ML) este unul dintre domeniile cu cea mai rapidă creștere (dacă nu cel mai rapid) în tehnologie. Din ce în ce mai mulți oameni doresc să învețe ML și există o grămadă de resurse, care te-ar putea face confuz dacă ești nou în acest domeniu.

Învăț în mare parte ML pe cont propriu și am făcut o mulțime de cercetări pentru a găsi cele mai bune resurse de învățare. Cum aș învăța ML dacă aș avea șansa să-l învăț din nou de la zero în 2023?

Oamenii învață diferit. Prin urmare, acest articol nu este un ghid pentru învățarea ML pe care toată lumea ar trebui să-l urmeze, ci modul în care vreau să intru din nou în acest domeniu. Poate că este bine pentru tine să-mi cunoști trecutul, astfel încât să știi dacă recomandarea mea ți se potrivește.

Fondul meu

Nu sunt un expert ML. Sunt student la Universitatea Națională din Singapore, cu specializare în Inginerie Calculatoare.

Anterior, am lucrat ca stagiar ML Engineer la un startup din Singapore și mi-am asigurat un stagiar Data Science la un alt startup din Paris (am timp să scriu regulat, deoarece viza este în așteptare acum 😬).

Am fost introdus pentru prima dată în ML în vacanța de iarnă a anului în primul an, luând specializarea Coursera Deep Learning de Andrew Ng, unul dintre cei mai populari pionieri în AI. Înainte de a lua MOOC, am o pregătire decentă în calcul, algebră liniară, statistică și programare în C și Python.

Așadar, acest articol va fi cel mai potrivit pentru dvs. dacă aveți aceleași experiențe ca mine în perioada în care am învățat prima dată ML. Cu alte cuvinte, tu:

  • Nu ați luat nicio cauză majoră și nu ați citit nicio carte aprofundată despre ML
  • Aflați cum să codificați în Python: în afară de lucrurile de bază, ar trebui să cunoașteți câteva concepte de programare orientată pe obiecte (cum să proiectați clase, cum să implementați moștenirea în Python)
  • Sunteți oarecum familiarizați cu principalele biblioteci științifice ale lui Python: numpy, panda și matplotlib
  • Aveți cunoștințe de bază de matematică, în special algebra liniară (este bine dacă nu știți, dar înțelegerea operațiilor vectoriale și matricei vă va ajuta să înțelegeți mecanismele de bază ale algoritmilor ML). Dacă doriți să învățați algebră liniară, consultați „MIT 18.06 predat de profesorul Gilbert Strang”, probabil cel mai bun curs de algebră liniară vreodată.

Următoarele cărți și cursuri nu sunt listate în ordine secvențială. Le puteți învăța în ordinea preferințelor dvs. sau le puteți lua mai multe în același timp. Este foarte bine să omiteți unele, deoarece vă va lua mult timp să le învățați pe toate.

Introducerea lui CS50 în inteligența artificială cu Python

CS50 nu mai are nevoie de prezentare. Este un curs introductiv pe campus și online în domeniul informaticii, predat de profesorul David J Malan de la Universitatea Harvard. În afară de cursul original, CS50 oferă și alte piese de învățare. Una dintre ele este „Inteligenta artificiala sau CS50 AI”.

Stai ce? Ar trebui să învățăm ML în loc de AI?

Ai dreptate. Acest curs nu este în mod specific despre învățarea automată, dar a avea o privire de ansamblu asupra diferitelor subiecte ale inteligenței artificiale vă va ajuta pe termen lung.

CS50 AI acoperă o varietate de concepte și algoritmi la baza AI modernă. Cel mai bun lucru la acest curs este că veți avea șansa de a vă murdari mâinile. Trebuie să faceți 1–2 proiecte pe săptămână și 7 săptămâni în total, în care veți implementa anumiți algoritmi/concepte predate în prelegere pentru a construi motoare de joc, un rezolvator de cuvinte încrucișate sau un model de clasificare a imaginilor.

Mi-a luat ceva timp să rezolv toate proiectele, dar a meritat.

Și cursul este complet gratuit. Trebuie să plătiți pentru a obține o certificare Edx, dar tot conținutul este disponibil pe site-ul web al CS50.

Specializarea în învățarea automată a lui Andrew Ng (Coursera)

„Machine Learning Specialization” este o versiune extinsă a cursului Coursera Machine Learning, care a fost una dintre cele mai populare clase de ML online predate inițial la Stanford de Andrew Ng și compus din 3 cursuri:

  • Învățare automată supravegheată: regresie și clasificare
  • Algoritmi de învățare avansată
  • Învățare nesupravegheată, recomandări, învățare prin consolidare

De-a lungul acestei specializări, veți învăța elementele fundamentale ale ML și cum să construiți aplicații AI în lumea reală. În comparație cu alte resurse enumerate aici, această specializare este puțin teoretică, dar vă va ajuta nu numai să știți cum funcționează algoritmii, ci și de ce sunt implementați în acest fel.

Un lucru care îmi place în mod special la această specializare este laboratoarele opționale. Deși sunt opționale și chiar dacă le arunci o privire, nu sunt prea multe lucruri de făcut. Dar luați ceva timp pentru a vă uita la codul sursă pentru acele laboratoare. Îmi sunt extrem de utile.

Deoarece este găzduit pe Coursera, puteți accesa majoritatea conținutului prin modul de audit. Dacă doriți să aveți acces complet și să finalizați cursurile pentru a obține certificarea, dar nu aveți bani să plătiți pentru aceasta, este disponibil și ajutor financiar.

Învățare profundă practică pentru programatori de la fast.ai

Instruit de Jeremy Howard, fostul președinte al Kaggle și co-fondator al fast.ai, Practical Deep Learning for Coders este o introducere practică a modului de aplicare a învățării profunde și a învățării automate la problemele practice.

Cursul se bazează pe carteaDeep Learning for Coders with fastai & Pytorch, care este disponibilă gratuit online sub formă de Jupyter notebooks.

Fără a intra în teorie, Deep Learning for Coders vă prezintă modele de ultimă generație și vă învață cum să antrenezi modele cu cele mai recente tehnici de deep learning.

Cu un nivel bun de abstractizare, nu vei învăța doar cum să te antrenezi, ci și cum să implementezi și să transformi modelele în aplicații web, cum să îmbunătățești acuratețea, viteza și fiabilitatea modelelor tale și care sunt implicațiile etice atunci când lucrezi. în acest domeniu.

După cum a comentat Peter Norvig, director de cercetare la Google, „cartea prezintă mai întâi exemple și acoperă doar teoria în contextul exemplelor concrete. Pentru majoritatea oamenilor, acesta este cel mai bun mod de a învăța și este „una dintre cele mai bune surse pentru ca un programator să devină competent în învățarea profundă”.

Învățare automată practică cu Scikit-Learn, Keras și TensorFlow — Aurélien Géron

Dacă nu aveți timp să citiți mai multe cărți sau să vă înscrieți la mai multe cursuri online, aceasta este recomandarea mea pentru dvs.: citiți și urmați exemplele din această carte. Pentru mine, este cea mai bună introducere practică în ML.

Scrisă de Aurélien Géron, care a condus anterior echipa de clasificare a videoclipurilor de pe YouTube, „Hands-on Machine Learning” descrie o gamă largă de tehnici, de la simpla regresie liniară la rețele adverse generative complicate sau transformatoare.

Cartea începe cu o explicație la nivel înalt a domeniului. Apoi, introduce o modalitate structurată de a aborda majoritatea problemelor cu care te vei confrunta prin parcurgerea unui proiect end-to-end. Restul cărții intră în mai multe detalii despre diferite metode și modele de învățare pentru a rezolva diferite probleme. De asemenea, vă va învăța cum să instruiți și să implementați modele la scară folosind cele mai noi tehnologii.

A treia ediție a cărții a fost lansată în 2022, cu o mulțime de actualizări în comparație cu edițiile anterioare. Deci, dacă sunteți nou în ML, ridicați imediat o copie a acestei cărți.

În timp ce resursele menționate mai sus au acoperit aproape tot ce trebuie să știți pentru a intra în acest domeniu, majoritatea subiectelor sunt doar elaborate la suprafață.

Dacă doriți să aprofundați un subiect specific, cum ar fi viziunea computerizată, procesarea limbajului natural sau MLOps, va trebui să găsiți alte resurse pentru acele domenii.

Și din moment ce noi descoperiri în ML sunt publicate în fiecare lună sau încă în laboratoarele de cercetare, este foarte important să vă țineți la curent citind lucrări sau săpat în codurile sursă. Aruncă o privire la paperswithcode.com pentru cercetările de ML de ultimă oră și tendințe și codul de implementare.

Voi scrie mai multe.