Introduzione

Completato

Il Deep Learning è una forma avanzata di Machine Learning che cerca di emulare il modo in cui il cervello umano apprende.

Nel cervello sono presenti cellule nervose chiamate neuroni, connesse tra loro attraverso estensioni nervose che trasmettono segnali elettrochimici attraverso la rete.

A human brain with a network of neurons

Quando si stimola il primo neurone della rete, il segnale di input viene elaborato e, se supera una determinata soglia, il neurone viene attivato e trasmette il segnale ai neuroni a cui è connesso. Questi neuroni a loro volta possono essere attivati e trasmettere il segnale al resto della rete. Con il passare del tempo, le connessioni tra i neuroni si rafforzano con l'uso frequente di pari passo con la capacità di imparare a rispondere in modo efficace. Ad esempio, se una persona lancia una palla a un'altra, le connessioni neurali di quest'ultima consentono di elaborare le informazioni visive e di coordinare i propri movimenti per prendere la palla. Se si esegue questa azione ripetutamente, la rete di neuroni coinvolti nell'azione di afferrare la palla si rafforzerà mentre la persona in questione imparerà a migliorare la presa sulla palla.

Il Deep Learning emula questo processo biologico usando reti neurali artificiali che elaborano gli input numerici invece degli stimoli elettrochimici.

An artificial neural network

Le connessioni nervose in ingresso sono sostituite da input numerici che sono generalmente identificati come x. Quando sono presenti più valori di input, x viene considerato un vettore con elementi denominati x1, x2 e così via.

A ogni valore x è associato un peso (w), che viene usato per rafforzare o indebolire l'effetto del valore x per simulare l'apprendimento. Viene inoltre aggiunto un input di distorsione (b) per consentire un controllo con granularità fine sulla rete. Durante il processo di training, i valori w e b verranno rettificati per ottimizzare la rete in modo che "impari" a produrre output corretti.

Il neurone stesso incapsula una funzione che calcola una somma ponderata di x, w e b. Questa funzione è a sua volta racchiusa in una funzione di attivazione che vincola il risultato (spesso a un valore compreso tra 0 e 1) per determinare se il neurone trasmette o meno un output al livello successivo di neuroni nella rete.