Deep learning

Book description

Negli ultimi dieci anni, con il ritorno delle reti neurali, la comprensione del Deep Learning è diventata essenziale e questo manuale fornisce un’introduzione approfondita per i data scientist e gli ingegneri del software con precedenti esperienze nel machine learning. Inizierete con le basi del Deep Learning e passerete rapidamente ai dettagli di importanti architetture avanzate, implementando tutto da zero. L’autore Seth Weidman vi mostra come funzionano le reti neurali usando un approccio basato su principi primi. Imparerete come applicare da zero le reti neurali multistrato, le reti neurali convoluzionali e quelle ricorrenti. Acquisendo una comprensione dettagliata di come queste reti funzionino matematicamente, computazionalmente e concettualmente, porterete a termine con successo i vostri futuri progetti di Deep Learning.

Table of contents

  1. Copertina
    1. Descrizione e Biografia
  2. Frontespizio
  3. Copyright
  4. Sommario
  5. Introduzione
  6. Capitolo 1 - Fondamenti
    1. Funzioni
      1. Matematica
      2. Diagramma
      3. Codice
    2. Derivate
      1. Matematica
      2. Diagramma
      3. Codice
    3. Funzioni annidate
      1. Diagramma
      2. Matematica
      3. Codice
      4. Un altro diagramma
    4. La regola della catena
      1. Matematica
      2. Diagramma
      3. Codice
    5. Un esempio un po’ più lungo
      1. Matematica
      2. Diagramma
      3. Codice
    6. Funzioni con molteplici input
      1. Matematica
      2. Diagramma
      3. Codice
    7. Derivate di funzioni con molteplici input
      1. Diagramma
      2. Matematica
      3. Codice
    8. Funzioni con molteplici input vettoriali
      1. Matematica
    9. Creare nuove caratteristiche da caratteristiche esistenti
      1. Matematica
      2. Diagramma
      3. Codice
    10. Derivate di funzioni con molteplici input vettoriali
      1. Diagramma
      2. Matematica
      3. Codice
    11. Funzioni vettoriali e loro derivate: un passo in più
      1. Diagramma
      2. Matematica
      3. Codice
    12. Funzioni vettoriali e loro derivate: il passaggio a ritroso
      1. Matematica
      2. Diagramma
      3. Codice
    13. Grafo computazionale con due matrici bidimensionali in input
      1. Matematica
      2. Diagramma
      3. Codice
    14. La parte divertente: il passaggio a ritroso
      1. Diagramma
      2. Matematica
      3. Codice
    15. Conclusione
  7. Capitolo 2 - Principi fondamentali
    1. Apprendimento supervisionato
    2. Modelli di apprendimento supervisionato
    3. Regressione lineare
      1. Regressione lineare: diagramma
      2. Regressione lineare: un diagramma più utile (e la parte matematica)
      3. Aggiungere l’intercetta
      4. Regressione lineare: il codice
    4. Addestrare il modello
      1. Calcolo dei gradienti: il diagramma
      2. Calcolo dei gradienti: la parte matematica (e un po’ di codice)
      3. Calcolo dei gradienti: il codice (completo)
      4. Usare questi gradienti per addestrare il modello
    5. Verifica del modello: serie di addestramento e serie di prova
    6. Valutazione del modello: il codice
      1. Analisi della caratteristica più importante
    7. Le reti neurali da zero
      1. Passo 1: un po’ di regressioni lineari
      2. Passo 2: una funzione non lineare
      3. Passo 3: un’altra regressione lineare
      4. Diagrammi
      5. Codice
      6. Reti neurali: il passaggio a ritroso
    8. Addestramento e valutazione della prima rete neurale
      1. Due motivi per cui sta accadendo
    9. Conclusione
  8. Capitolo 3 - Deep Learning da zero
    1. Definizione di Deep Learning: un primo passo
    2. Gli elementi fondamentali delle reti neurali: le operazioni
      1. Diagramma
      2. Codice
    3. Gli elementi fondamentali delle reti neurali: gli strati
      1. Diagrammi
    4. Componenti fondamentali su componenti fondamentali
      1. Il modello di Layer
      2. Lo strato Dense
    5. NeuralNetwork e qualche altra classe
      1. Diagramma
      2. Codice
      3. La classe Loss
    6. Deep Learning da zero
      1. Implementazione dell’addestramento di gruppo
      2. NeuralNetwork: il codice
    7. Trainer e Optimizer
      1. Optimizer
      2. Trainer
    8. Assemblare il tutto
    9. Il primo modello di Deep Learning (da zero)
    10. Conclusione e passi successivi
  9. Capitolo 4 - Extensions
    1. Alcune intuizioni sulle reti neurali
    2. La funzione di scarto entropia incrociata softmax
      1. Componente 1: la funzione softmax
      2. Componente 2: lo scarto a entropia incrociata
      3. Una nota sulle funzioni di attivazione
    3. Esperimenti
      1. Elaborazione dei dati
      2. Modello
      3. Esperimento: lo scarto a entropia incrociata softmax
    4. Momentum
      1. Intuizione sul momentum
      2. Implementare il momentum nella classe Optimizer
      3. Esperimento: discesa stocastica del gradiente con momentum
    5. Decadimento della frequenza di aggiornamento
      1. Tipi di decadimento della frequenza di apprendimento
      2. Esperimenti: decadimento della frequenza di addestramento
    6. Inizializzazione dei pesi
      1. Matematica e codice
      2. Esperimenti: inizializzazione dei pesi
    7. Dropout
      1. Definizione
      2. Implementazione
      3. Adeguare il resto della struttura per adattarla al dropout
      4. Esperimenti: dropout
    8. Conclusione
  10. Capitolo 5 - Reti neurali convoluzionali
    1. Reti neurali e l’apprendimento della rappresentazione
      1. Una diversa architettura per i dati delle immagini
    2. L’operazione di convoluzione
      1. L’operazione di convoluzione multicanale
    3. Strati convoluzionali
      1. Conseguenze dell’implementazione
      2. Le differenze tra strati convoluzionali e strati totalmente connessi
      3. Fare previsioni con gli strati convoluzionali: lo strato appiattito
      4. Gli strati di raggruppamento
    4. Implementazione dell’operazione di convoluzione multicanale
      1. Il passaggio in avanti
      2. Convoluzioni: il passaggio a ritroso
      3. Gruppi, convoluzioni 2D e canali multipli
      4. Convoluzioni 2D
      5. L’ultimo elemento: l’aggiunta dei “canali”
    5. Utilizzare questa operazione per addestrare una CNN
      1. L’operazione Flatten
      2. Lo strato completo Conv2D
      3. Esperimenti
    6. Conclusione
  11. Capitolo 6 - Reti neurali ricorrenti
    1. La limitazione fondamentale: la gestione delle ramificazioni
    2. Differenziazione automatica
      1. Accumulo dei gradienti di codifica
    3. L’origine delle reti neurali ricorrenti
    4. Introduzione alle reti neurali ricorrenti
      1. La prima classe delle RNN: RNNLayer
      2. La seconda classe delle RNN: RNNNode
      3. Assemblare le due classi
      4. Il passaggio a ritroso
    5. RNN: il codice
      1. La classe RNNLayer
      2. Gli elementi essenziali degli RNNNode
      3. Gli RNNNode “alla vaniglia”
      4. Limitazioni degli RNNNode “alla vaniglia”
      5. Una soluzione: GRUNode
      6. LSTMNode
      7. Rappresentazione dei dati per un modello linguistico basato su RNN a livello di carattere
      8. Altre attività di modellazione linguistica
      9. Abbinare le varianti di RNNLayer
    6. Riassumendo il tutto
    7. Conclusione
  12. Capitolo 7 - PyTorch
    1. I Tensor di PyTorch
    2. Deep Learning con PyTorch
      1. Gli elementi di PyTorch: Model, Layer, Optimizer e Loss
      2. Implementare gli elementi fondamentali di una rete neurale usando PyTorch: DenseLayer
      3. Esempio: il modello dei prezzi delle case di Boston in PyTorch
      4. Gli elementi di PyTorch: Optimizer e Loss
      5. Gli elementi di PyTorch: Trainer
      6. Trucchi per ottimizzare l’addestramento in PyTorch
      7. Reti neurali convoluzionali in PyTorch
      8. DataLoader e trasformazioni
      9. LSTM in PyTorch
    3. Post scriptum: apprendimento non supervisionato via Autoencoder
      1. Apprendimento della rappresentazione
      2. Un approccio per situazioni senza etichetta di sorta
      3. Implementare un auto decoder in PyTorch
      4. Un test più forte per l’apprendimento non supervisionato e una soluzione
    4. Conclusione
  13. Appendice A - Discussioni
    1. Regola della catena delle matrici
    2. Gradiente dello scarto rispetto ai termini bias
    3. Convoluzioni attraverso moltiplicazioni di matrici

Product information

  • Title: Deep learning
  • Author(s): Seth Weidman
  • Release date: September 2023
  • Publisher(s): Tecniche Nuove
  • ISBN: 9788848141130