Units in neural networks Flashcards
Come funziona una unità neurale
Un’unità neurale, o neurone artificiale, è l’unità di base di una rete neurale artificiale. Funziona mediante l’applicazione di una funzione di attivazione a una combinazione lineare dei suoi input. Ecco una descrizione dettagliata del funzionamento di un’unità neurale:
- Input: Un’unità neurale riceve input da altre unità o direttamente dall’esterno. Questi input possono essere rappresentati come un vettore di valori ( x_1, x_2, \ldots, x_n ), dove ( n ) è il numero di input.
- Pesi: Ogni input è associato a un peso ( w_i ), che rappresenta l’importanza dell’input per l’unità neurale. I pesi sono parametri che vengono imparati durante il processo di addestramento della rete neurale.
- Combinazione lineare: Gli input vengono moltiplicati per i rispettivi pesi e poi sommati:[ z = \sum_{i=1}^{n} w_i \cdot x_i + b ]Dove ( b ) è il termine di bias, che può essere visto come un offset che regola quanto facilmente l’unità neurale viene attivata.
-
Funzione di attivazione: Il risultato della combinazione lineare viene quindi passato attraverso una funzione di attivazione, che introduce non linearità nel modello. Questa funzione decide se l’unità neurale dovrebbe “accendersi” o meno in base al valore del risultato. Alcune funzioni di attivazione comuni includono:
- Funzione sigmoidea:[ \sigma(z) = \frac{1}{1 + e^{-z}} ]
- Funzione tangente iperbolica (tanh):[ \tanh(z) = \frac{e^z - e^{-z}}{e^z + e^{-z}} ]
- ReLU (Rectified Linear Unit):[ \text{ReLU}(z) = \max(0, z) ]
- Leaky ReLU:[ \text{LeakyReLU}(z) = \begin{cases} z & \text{se } z > 0 \ \alpha z & \text{altrimenti} \end{cases} ]
- Funzione lineare:[ f(z) = z ]
- Output: L’output dell’unità neurale è il risultato della funzione di attivazione applicata alla combinazione lineare dei suoi input.
Questo processo è iterato attraverso tutti i neuroni in una rete neurale, passando l’output di ciascuno come input ai neuroni successivi. In questo modo, la rete neurale può modellare relazioni complesse tra i dati di input e output. Durante l’addestramento, i pesi e i termini di bias vengono regolati attraverso l’ottimizzazione per ridurre l’errore tra l’output previsto e l’output desiderato.
**
Cos’è una neural network e una feedforward neural network
Una rete neurale, o neural network in inglese, è un modello computazionale ispirato al funzionamento del cervello umano, composto da un insieme di unità di base chiamate neuroni artificiali o nodi. Questi neuroni sono organizzati in strati e collegati tra loro attraverso connessioni pesate. Le reti neurali sono utilizzate per apprendere modelli complessi dai dati e sono ampiamente utilizzate in molte applicazioni di intelligenza artificiale, compresi il riconoscimento di immagini, il riconoscimento del linguaggio naturale, la classificazione di dati e molto altro.
Una feedforward neural network (FFNN), o rete neurale feedforward, è un tipo comune di rete neurale in cui l’informazione viaggia in una sola direzione, in avanti, senza cicli o loop. Questo significa che non ci sono feedback dai nodi successivi ai nodi precedenti. In una FFNN, gli input vengono forniti alla rete e passano attraverso uno o più strati nascosti prima di raggiungere lo strato di output. Ogni nodo in uno strato è collegato a tutti i nodi dello strato successivo, ma non ci sono connessioni all’indietro o ricorrenti.
Le reti feedforward possono avere diversi strati nascosti tra lo strato di input e lo strato di output e vengono chiamate “profonde” quando hanno più di un solo strato nascosto. Le reti neurali profonde sono spesso chiamate deep neural networks (DNN). Le feedforward neural network sono tra le architetture più semplici e tradizionali delle reti neurali, ma sono ancora molto utilizzate e costituiscono la base per molti modelli più complessi, come le reti neurali convoluzionali (CNN) e le reti neurali ricorrenti (RNN).
Come facciamo a fare il training di una rete feedforward? Usiamo sempre la discesa del gradiente: quindi facciamo il passo forward per andare a predire y stimato a questo punto durante il train avendo la risposta esatta li andiamo a mettere a confronto e ci andiamo a calcolare la funzione di loss a questo punto dobbiamo andare a ridurre l’errore aggiornando i pesi e quindi ci sta una base che si chiama backward.
Cosa sono i neural language models?
I neural language models (modelli linguistici neurali) sono modelli basati su reti neurali artificiali che sono progettati per comprendere e generare linguaggio naturale. Questi modelli sono in grado di apprendere la struttura e le caratteristiche del linguaggio umano attraverso l’analisi di grandi quantità di testo.
Predizione di parole successive: Questo è il compito principale di molti modelli linguistici neurali. Data una sequenza di parole precedenti, il modello prevede la parola successiva più probabile.