Totes les lliçons

Curs

IA de 10è: Aprenentatge profund i IA multimodal

Construeix i entrena xarxes neuronals en PyTorch per a imatges, text i so.

Fes les lliçons en ordre. Al final pots calcular la sortida d’una neurona, comparar les activacions ReLU, sigmoide i softmax, i escriure el pas endavant d’una xarxa petita amb NumPy. Pots triar una pèrdua, explicar el descens del gradient i la retropropagació, i escriure un guió amb el bucle complet d’entrenament i prova en PyTorch. Pots entrenar un classificador d’imatges amb una CNN, entrenar un classificador de sentiment per distingir ressenyes positives de negatives, explicar com l’atenció pondera els altres tokens, i classificar clips de so curts. Pots reduir el sobreajust, ajustar un model preentrenat a classes noves, agrupar els errors i trobar-ne la causa, i presentar un monitor intel·ligent de fauna provat amb imatges no vistes.

Com fer servir aquestes lliçons

  • Comença a la lliçó que diu Fes això. Passa endavant quan puguis fer tu sol la línia de sota el títol.
  • Primer juga als Jocs. Després fes les Proves. 8 de 10 encerts per aprovar. Les Fitxes són en paper. Les respostes són a baix.
  • Cada lliçó es basa en l’anterior. Anota cada entrenament: els ajustos, la corba de pèrdua i la puntuació de la prova.
  • Les lliçons de codi fan servir Python i PyTorch en un quadern en línia gratuït amb una GPU. N’hi ha prou amb models petits i conjunts petits. Fes servir només conjunts oberts que tinguis permís d’usar, i no entrenis mai amb fotos de persones sense el seu permís.

Cada lliçó té jocs, proves i fitxes.

0 de 36

Fonaments de xarxes neuronals

  1. 1NeuronesCalcula la sortida d’una neurona a partir d’entrades, pesos i biaix.
    • Escriu la suma ponderada més el biaix.
    • Calcula-la a mà per a tres entrades.
    • Calcula-la en codi amb un producte escalar.
  2. 2ActivacionsCompara les activacions ReLU, sigmoide i softmax.
    • Dibuixa cada activació.
    • Explica per què una xarxa necessita una activació no lineal.
    • Fes servir softmax per convertir puntuacions en probabilitats.
  3. 3Capes i xarxesApila capes per formar una xarxa.
    • Escriu una capa com una multiplicació de matrius.
    • Segueix la forma de les dades a cada capa.
    • Compta els paràmetres d’una xarxa.
  4. 4Una xarxa petitaEscriu el pas endavant d’una xarxa petita amb NumPy.
    • Construeix una xarxa de dues capes en NumPy.
    • Passa un lot d’entrades per ella.
    • Comprova la forma de la sortida.

Entrenament de xarxes neuronals

  1. 5PèrduaTria una pèrdua per a una tasca i calcula-la.
    • Fes servir l’error quadràtic mitjà per a regressió.
    • Fes servir l’entropia creuada per a classificació.
    • Digues què vol dir que la pèrdua baixi.
  2. 6Descens del gradientExplica com el descens del gradient mou els pesos pendent avall.
    • Troba el pendent d’una corba de pèrdua.
    • Fes passos amb una taxa d’aprenentatge.
    • Mira què passa si la taxa és massa gran o massa petita.
  3. 7RetropropagacióSegueix la retropropagació de l’error enrere per la xarxa.
    • Fes servir la regla de la cadena en una xarxa minúscula.
    • Calcula un gradient a mà.
    • Comprova’l amb la diferenciació automàtica.
  4. 8Entrena una xarxaEntrena una xarxa petita i dibuixa la pèrdua.
    • Entrena amb mini-lots.
    • Dibuixa la pèrdua d’entrenament i de validació.
    • Atura’t quan la pèrdua de validació deixa de millorar.

Biblioteques d’aprenentatge profund

  1. 9TensorsCrea i canvia la forma de tensors de PyTorch.
    • Crea tensors i comprova’n la forma i el tipus.
    • Canvia’n la forma, apila’ls i talla’ls.
    • Mou tensors a una GPU.
  2. 10MòdulsConstrueix un model amb mòduls de torch.nn.
    • Crea una subclasse de nn.Module.
    • Fes servir capes Linear i d’activació.
    • Imprimeix el model i el seu nombre de paràmetres.
  3. 11OptimitzadorsEntrena amb els optimitzadors SGD i Adam.
    • Fes servir zero_grad, backward i step.
    • Compara SGD i Adam en una tasca.
    • Fes servir un calendari de taxa d’aprenentatge.
  4. 12Guió d’entrenamentEscriu un guió amb el bucle complet d’entrenament i prova.
    • Carrega dades amb un DataLoader.
    • Entrena, valida i prova.
    • Desa el millor model.

Visió per computador

  1. 13Imatges com a tensorsCarrega imatges com a tensors i normalitza-les.
    • Carrega una imatge com a canals, alçada i amplada.
    • Canvia’n la mida i normalitza-la.
    • Mostra un lot com una graella.
  2. 14ConvolucionsExplica com un filtre de convolució troba vores.
    • Llisca un filtre 3×3 sobre una imatge a mà.
    • Aplica filtres de vores en codi.
    • Explica stride, padding i pooling.
  3. 15CNNConstrueix una xarxa neuronal convolucional, una CNN.
    • Apila capes de convolució, activació i pooling.
    • Aplana i afegeix un cap classificador.
    • Segueix les formes per la xarxa.
  4. 16Classificador d’imatgesEntrena un classificador d’imatges amb una CNN.
    • Entrena amb un conjunt petit d’imatges.
    • Informa de l’exactitud a la prova.
    • Mostra imatges que ha classificat malament.

Processament del llenguatge natural

  1. 17TokenitzacióFes la tokenització: converteix el text en tokens i identificadors.
    • Compara tokens de paraula i de subparaula.
    • Construeix un vocabulari.
    • Omple les seqüències fins a la mateixa llargada.
  2. 18EmbeddingsExplica com els embeddings acosten les paraules semblants.
    • Fes servir una capa d’embedding.
    • Troba les paraules més properes a una paraula.
    • Dibuixa embeddings en dues dimensions.
  3. 19Models de textConstrueix un model de text que llegeix una seqüència de tokens.
    • Fes la mitjana d’embeddings en un sol vector.
    • Fes servir una capa recurrent simple.
    • Compara les dues.
  4. 20Classificador de sentimentEntrena un classificador de sentiment per distingir ressenyes positives de negatives.
    • Entrena amb un conjunt de ressenyes.
    • Informa d’exactitud, precisió i exhaustivitat.
    • Troba ressenyes que l’enganyen, com el sarcasme.

Transformers

  1. 21AtencióExplica com l’atenció pondera els altres tokens.
    • Explica les consultes, les claus i els valors.
    • Calcula els pesos d’atenció d’una frase curta.
    • Digues per què l’atenció ajuda amb el significat a llarga distància.
  2. 22Blocs transformerAnomena les parts d’un bloc transformer.
    • Anomena l’atenció multicap, la capa feed-forward i les capes de normalització.
    • Explica les connexions residuals.
    • Explica les codificacions de posició.
  3. 23Models preentrenatsFes servir un model preentrenat transformer per a una tasca.
    • Carrega un model preentrenat i un tokenitzador.
    • Classifica text amb ell.
    • Compara’l amb el teu propi model de sentiment.
  4. 24Mapes d’atencióLlegeix un mapa d’atenció.
    • Dibuixa els pesos d’atenció com un mapa de calor.
    • Troba a quines paraules atén un token.
    • Digues per què l’atenció no és una explicació completa.

Àudio i IA multimodal

  1. 25El so com a dadesConverteix el so en una forma d’ona i un espectrograma.
    • Carrega àudio i dibuixa’n la forma d’ona.
    • Explica la freqüència de mostreig.
    • Fes un espectrograma.
  2. 26Classificador d’àudioClassifica clips de so curts amb un classificador d’àudio.
    • Tracta els espectrogrames com imatges.
    • Entrena una CNN amb ells.
    • Prova amb soroll de fons.
  3. 27Entrades multimodalsExplica com un model combina entrades multimodals d’imatges i text.
    • Explica codificadors separats per a cada entrada.
    • Explica un espai d’embeddings compartit.
    • Anomena tres aplicacions multimodals.
  4. 28Imatge i textAparella imatge i text: uneix imatges amb peus de foto amb un model preentrenat.
    • Obtén embeddings d’imatges i de peus de foto.
    • Ordena els peus de foto de cada imatge.
    • Cerca imatges amb una consulta de text.

Millora del model

  1. 29RegularitzacióRedueix el sobreajust amb regularització: dropout i decaïment dels pesos.
    • Afegeix dropout.
    • Afegeix decaïment dels pesos.
    • Compara les corbes de validació.
  2. 30Augment de dadesFes augment de dades: afegeix imatges girades i retallades al conjunt d’entrenament.
    • Aplica girs, retalls i canvis de color.
    • Augmenta només el conjunt d’entrenament.
    • Mesura el canvi en l’exactitud de la prova.
  3. 31Aprenentatge per transferènciaFes servir l’aprenentatge per transferència per ajustar un model preentrenat a classes noves.
    • Congela les capes preentrenades.
    • Substitueix i entrena el cap.
    • Descongela i ajusta amb una taxa d’aprenentatge petita.
  4. 32Anàlisi d’errorsFes una anàlisi d’errors: agrupa els errors i troba’n la causa.
    • Llegeix una matriu de confusió de moltes classes.
    • Ordena els errors en grups.
    • Tria la correcció per al grup més gran.

Projecte d’aprenentatge profund

  1. 33Dades de faunaTria i divideix un conjunt obert d’imatges de fauna.
    • Tria un conjunt obert de càmeres trampa o de fauna.
    • Tria de cinc a deu espècies.
    • Divideix per lloc perquè la prova sigui justa.
  2. 34Ajusta el modelAjusta el model classificador d’imatges a classes de fauna.
    • Ajusta un model preentrenat.
    • Segueix l’exactitud de validació.
    • Desa el millor punt de control.
  3. 35Interfície de demostracióConstrueix una interfície de demostració que mostra prediccions d’imatges pujades.
    • Accepta una imatge pujada.
    • Mostra les tres espècies principals i les seves puntuacions.
    • Mostra «no n’estic segur» quan la confiança és baixa.
  4. 36Monitor intel·ligent de faunaPresenta un monitor intel·ligent de fauna: l’exactitud en imatges no vistes i els errors principals.
    • Informa de l’exactitud en imatges no vistes.
    • Mostra els errors principals i les seves causes.
    • Digues què canviaries després.