Connect with us

Recenzii de cărți

Recenzie de carte: Deep Learning Crash Course: O introducere practică, bazată pe proiecte, în inteligența artificială

mm

Deep Learning Crash Course: O introducere practică, bazată pe proiecte, în inteligența artificială este scrisă de Giovanni Volpe, Benjamin Midtvedt, Jesús Pineda, Henrik Klein Moberg, Harshith Bachimanchi, Joana B. Pereira și Carlo Manzo, un grup de cercetători și educatori cu o experiență profundă în fizică, învățare automată și cercetare aplicată în inteligență artificială.

Înainte de a intra în detalii despre ce oferă cartea, vreau să încep cu o mărturisire personală, deoarece aceasta a influențat modul în care am experimentat cartea. Aceasta este prima carte pe care am citit-o de la No Starch Press, și, la început, nu știam ce să aștept. În ciuda faptului că administrez un site web mare axat pe inteligență artificială, sunt, în mod evident, un programator foarte slab după standardele moderne de inteligență artificială. Înțeleg bazele HTML, CSS, JavaScript și PHP suficient de bine, dar, atunci când vine vorba de Python, abilitățile mele se situează ferm în zona medie. Acest lucru a contat aici, deoarece Python este limbajul folosit pe tot parcursul cărții și joacă un rol central în aproape fiecare proiect.

Ce am găsit în schimb a fost ceva mult mai valoros. Cartea este răbdătoare fără a fi simplistă, profundă fără a fi copleșitoare și practică într-un mod în care foarte puține cărți despre inteligență artificială reușesc să o facă. Nu presupune că sunteți deja fluent în cultura, terminologia sau fluxurile de lucru ale învățării automate. În schimb, construiește încredere treptat, capitol după capitol, prin explicații pereche direct cu lucrul practic.

O impresie inițială care setează tonul

Acesta este un volum substanțial, cu peste șase sute de pagini, și folosește acest spațiu în mod eficient. Un detaliu care mi-a atras imediat atenția este că autorii au decis să schimbe întreaga bază de cod de la TensorFlow la PyTorch după ce primul draft era deja complet. Acesta nu este un schimbare mică, especially pentru o carte de această dimensiune. Semnalează ceva important: această carte nu este înghețată în timp sau scrisă pentru a bifa cutii. Este o carte proiectată pentru a rămâne relevantă și aliniată cu modul în care învățarea profundă este practicată în prezent.

De la început, tonul este practic și ancorat în realitate. Cartea nu începe cu filozofie abstractă sau matematică densă. Începe cu mecanica construirii de modele, rulării de experimente și înțelegerii a ceea ce face codul și de ce. Abordarea aceasta face o diferență uriașă, în special pentru cititorii care înțeleg conceptele la un nivel înalt, dar luptă să le traducă în implementări funcționale.

Învățarea prin construire, nu prin memorare

Una dintre cele mai puternice aspecte ale Cursului de coliziune de învățare profundă este structura sa bazată pe proiecte. Această carte nu este una în care citiți ore în șir și apoi, poate, încercați ceva mai târziu. Sunteți în permanență construind lucruri. Fiecare concept major este legat de un proiect concret, iar aceste proiecte cresc în complexitate pe măsură ce înțelegerea dvs. crește.

Începeți prin a construi și a antrena prima dvs. rețea neurală de la zero, folosind PyTorch. Aceste capitole inițiale introduc ideile de bază din spatele rețelelor neurale, incluzând straturi, greutăți, funcții de activare, funcții de pierdere și optimizare. Important, aceste idei nu sunt tratate ca probleme abstracte de matematică. Sunt introduse ca unelte care rezolvă probleme specifice, și vedeți impactul fiecărui alegere de proiectare direct în rezultate.

Ca persoană care nu scrie Python în fiecare zi, am apreciat modul în care autorii explică cu atenție codul. Niciodată nu sunteți așteptați să înțelegeți magic ce se întâmplă. Explicațiile sunt detaliate, dar rămân lizibile, și se concentrează pe intuiție la fel de mult ca și pe corectitudine.

Prinderea modelelor și înțelegerea datelor

Odată ce fundamentele sunt stabilite, cartea se mută spre capturarea tendințelor și a modelelor în date. Acesta este locul în care rețelele neurale dense sunt aplicate la sarcini mai realiste, cum ar fi regresia și probleme de clasificare. Înveți cum modelele generalizează, cum eşuează, și cum să diagnosticați aceste eşecuri.

Această secțiune învață în mod tacit unele dintre cele mai importante abilități practice din învățarea automată. Subiecte precum validarea, supraajustarea, subajustarea și evaluarea performanței sunt introduse în mod natural prin experimentare, mai degrabă decât prin teorii. Înveți cum să interpretați curbele de învățare, cum să ajustați hiperparametrii și cum să raționați despre comportamentul modelului, în loc să aveți încredere oarbă în ieșiri.

Pentru cititorii care au interacționat cu inteligența artificială doar prin API-uri sau unelte preconstruite, această secțiune singură este valoroasă.

Lucrul cu imagini folosind rețele neurale

Una dintre cele mai interesante secțiuni ale cărții se concentrează pe prelucrarea imaginilor și viziunea computerizată. Acesta este locul în care rețelele neurale convolutive intră în joc. În loc să trateze rețelele neurale convolutive ca cutii negre misterioase, cartea le descompune în componente inteligibile.

Înveți ce face de fapt convoluția, de ce straturile de poolare contează și cum funcționează extragerea caracteristicilor pe straturi. Mai important, aplicați aceste idei la seturi de date reale de imagini. Proiectele includ clasificarea imaginilor, transformarea și experimente vizuale creative, cum ar fi transferul de stil și efecte similare cu DeepDream.

Această secțiune beneficiază mult de ilustrațiile cărții. Explicațiile vizuale însoțesc codul, făcându-l mai ușor să conectați ceea ce face modelul din punct de vedere matematic cu ceea ce produce din punct de vedere vizual. Pentru învățătorii vizuali, această parte a cărții este deosebit de satisfăcătoare.

De la comprimare la generare

Cartea se extinde apoi la autoencoderi și arhitecturi encoder-decoder, incluzând U-Nets. Aceste modele introduc idei precum reducerea dimensionalității, reprezentări latente și generarea de ieșiri structurate. Vezi cum modelele pot învăța reprezentări compacte ale datelor complexe și cum aceste reprezentări pot fi utilizate pentru sarcini precum denoising și segmentare.

De acolo, domeniul de aplicare se lărgește din nou în modelarea generativă. Acesta include rețelele neurale generative adverse și modelele de difuzie, care formează coloana vertebrală a multor sisteme moderne de inteligență artificială generativă. Aceste capitole nu se feresc să abordeze provocările antrenării modelelor generative. Instabilitatea, problemele de convergență și evaluarea sunt discutate deschis.

Ce am apreciat cel mai mult aici este că cartea nu exagerează puterea acestor modele. Arată atât puterea, cât și limitările lor, ceea ce este reconfortant într-un spațiu adesea dominat de hype.

Secvențe, limbaj și atenție

O altă puternică parte a cărții este modul în care abordează datele secvențiale și limbajul. Rețelele neurale recurente sunt introduse ca o piatră de temelie, ajutând cititorii să înțeleagă cum modelele gestionează serii de timp și intrări ordonate.

De acolo, cartea se mută spre mecanismele de atenție și arhitecturile transformer. Aceste capitole oferă o bază conceptuală solidă pentru înțelegerea modelului modern de limbaj fără a cere cititorului să fie deja fluent în domeniu. Explicațiile se concentrează pe de ce atenția contează, cum schimbă dinamica învățării și cum permite modelelor să scaleze.

Pentru cititorii care încearcă să înțeleagă cum funcționează sistemele de inteligență artificială de astăzi la un nivel mai profund, această secțiune conectează multe puncte.

Grafuri, decizii și învățarea din interacțiune

Capitolele ulterioare explorează rețelele neurale de grafuri, care sunt utilizate pentru a modela date relationale în care conexiunile contează la fel de mult ca și valorile individuale. Acesta include exemple relevante pentru date științifice, rețele și sisteme structurate.

Cartea introduce, de asemenea, învățarea activă și învățarea prin întărire profundă, în care modelele învață prin interacțiunea cu mediul și luarea deciziilor. Aceste secțiuni merg dincolo de seturile de date statice și în sistemele dinamice, arătând cum învățarea poate adapta în funcție de feedback și rezultate.

Până la sfârșitul cărții, cititorii sunt expuși la întregul ciclu de viață al sistemelor de învățare profundă, de la ingestia datelor la agenții de decizie.

Abilități practice care durează dincolo de carte

Pe tot parcursul cărții, există un accent puternic pe obiceiurile practice. Înveți cum să structurați experimente, să depanați modele, să visualizați rezultate și să gândiți critic despre performanță. Acestea sunt abilitățile care contează cel mai mult odată ce treceți dincolo de tutoriale și în aplicații reale.

Caietul de lucru și seturile de date incluse fac ușor să experimentați, să modificați proiecte și să explorați idei mai departe. Această flexibilitate face cartea valoroasă nu doar ca o citire unică, ci și ca o referință pe termen lung.

Pentru cine este această carte

Această carte este ideală pentru programatori, ingineri, cercetători și profesioniști curioși din punct de vedere tehnic care doresc să înțeleagă învățarea profundă prin construirea ei. Nu trebuie să fiți un dezvoltator expert Python pentru a începe, și nu aveți nevoie de o bază matematică avansată pentru a face progrese. Ce aveți nevoie este curiozitate și disponibilitatea de a lucra cu atenție prin proiecte.

Funcționează, de asemenea, extrem de bine ca ghid de referință, și acesta este exact modul în care intenționez să folosesc cartea în continuare. Ca persoană din ce în ce mai concentrată pe vibe coding și proiectarea sistemelor la nivel înalt, mai degrabă decât executarea fiecărei linii de cod de la capăt la capăt, văd această carte ca pe ceva la care voi reveni în mod regulat pentru a-mi adânci înțelegerea conceptuală. Explicațiile, diagramele și descompunerea arhitecturală fac posibilă înțelegerea modului în care sunt structurate modelele, de ce anumite abordări sunt alese și care sunt compromisurile. În acest sens, cartea reușește nu doar ca un curs pas cu pas, ci și ca un companion pe termen lung pentru cititorii care doresc să înțeleagă ce fac sistemele moderne de inteligență artificială sub capotă, în timp ce experimentează, prototipează sau raționează la un nivel mai înalt.

Gânduri finale

Cursul de coliziune de învățare profundăa depășit așteptările mele într-un mod foarte real. Nu doar a explicat învățarea profundă, dar a făcut-o să pară accesibilă și realizabilă. Până la sfârșit, m-am simțit mult mai confortabil citind, modificând și scriind modele bazate pe PyTorch decât atunci când am început.

Această carte răsplătește efortul. Respectă inteligența cititorului fără a presupune expertiză, și oferă una dintre cele mai practice experiențe de învățare pe care le-am întâlnit în educația inteligenței artificiale. Pentru oricine este serios în a trece de la observator de inteligență artificială la constructor de inteligență artificială, această carte este o recomandare puternică.

Antoine este un lider vizionar și partener fondator al Unite.AI, condus de o pasiune neclintita pentru a da forma și a promova viitorul inteligenței artificiale și al roboticii. Un antreprenor serial, el crede că inteligența artificială va fi la fel de disruptivă pentru societate ca și electricitatea, și este adesea prins vorbind cu entuziasm despre potențialul tehnologiilor disruptive și al inteligenței artificiale generale.

Ca futurist, el este dedicat explorării modului în care aceste inovații vor modela lumea noastră. În plus, el este fondatorul Securities.io, o platformă axată pe investiții în tehnologii de ultimă generație care redefinesc viitorul și reshapă întregi sectoare.