Godendo di un'impennata nella ricerca e nell'industria, dovuta principalmente ai suoi incredibili successi in diverse aree, il deep learning è il processo di applicazione di tecnologie di reti neurali profonde, ovvero architetture di reti neurali con più livelli nascosti, per risolvere i problemi.
Il deep learning è un processo che utilizza architetture di reti neurali profonde.
Il deep learning ha accumulato un'impressionante collezione di risultati negli ultimi anni.
Alla luce di ciò, è importante tenere a mente alcune cose, almeno secondo noi:
Il deep learning non è è una soluzione adatta a ogni problema disponibile
Non è il leggendario algoritmo master : il deep learning non sostituirà tutti gli altri algoritmi di apprendimento automatico e le tecniche di scienza dei dati o, per lo meno, non lo è ancora stato dimostrato
È necessario moderare le aspettative : mentre recentemente sono stati fatti grandi passi avanti in tutti i tipi di problemi di classificazione, in particolare la visione artificiale e l'elaborazione del linguaggio naturale, così come l'apprendimento per rinforzo e altre aree, il deep learning contemporaneo non si adatta al lavoro su problemi molto complessi come "risolvere la pace nel mondo"
Deep learning e intelligenza artificiale non sono sinonimi
Il deep learning può fornire moltissimo alla scienza dei dati sotto forma di processi e strumenti aggiuntivi per aiutare a risolvere i problemi e, se osservato in questa luce, il deep learning è un'aggiunta molto preziosa al panorama della scienza dei dati
Quindi, con questo, diamo un'occhiata ad una terminologia relativa all'apprendimento profondo, concentrandoci su definizioni concise e senza fronzoli.
Deep Learning Definizioni Chiave 1.
Apprendimento profondo
Come definito sopra, il deep learning è il processo di applicazione delle tecnologie di rete neurale profonda per risolvere i problemi. Le reti neurali profonde sono reti neurali con un livello nascosto (vedi sotto). Il deep learning si riferisce a un processo che impiega architetture di reti neurali profonde, che sono particolari tipi di algoritmi di machine learning.
Deep Learning Definizioni Chiave 2.
Reti neurali artificiali
L'architettura dell'apprendimento automatico è stata originariamente ispirata dal cervello biologico (in particolare il neurone) mediante il quale viene effettuato l'apprendimento profondo. In realtà, le sole reti neurali artificiali (ANN) (la varietà non profonda) esistono da molto tempo e storicamente sono state in grado di risolvere determinati tipi di problemi. Tuttavia, relativamente di recente, sono state ideate architetture di reti neurali che includevano livelli di neuroni nascosti (oltre ai livelli di input e output) e questo ulteriore livello di complessità è ciò che consente il deep learning e fornisce un insieme più potente di strumenti per la risoluzione dei problemi.
Le RNA in realtà variano considerevolmente nelle loro architetture e quindi non esiste una definizione di rete neurale definitiva. Le 2 caratteristiche generalmente citate di tutte le reti neurali sono il possesso di insiemi di pesi adattivi e la capacità di approssimare le funzioni non lineari degli input ai neuroni.
Deep Learning Definizioni Chiave 3.
Neurone biologico
Si parla spesso della connessione definitiva tra reti neurali biologiche e artificiali. Pubblicazioni popolari diffondono l'idea che le RNA siano in qualche modo una replica esatta di ciò che sta accadendo nel cervello umano (o altro biologico). Questo è chiaramente impreciso; nella migliore delle ipotesi, le prime reti neurali artificiali furono ispirate dalla biologia. La relazione astratta tra i 2 non è più definitiva del confronto astratto tracciato tra la composizione e la funzionalità degli atomi e il sistema solare.
Detto questo, ci fa bene vedere come funzionano i neuroni biologici a un livello molto alto, se non altro per capire cosa ha ispirato la creazione di un neurone artificiale.
I principali componenti del neurone biologico che ci interessano sono:
Il nucleo contiene informazioni genetiche (es. DNA)
Il corpo cellulare elabora le attivazioni di input e le converte in attivazioni di output
I dendriti ricevono attivazioni da altri neuroni
Gli assoni trasmettono attivazioni ad altri neuroni
Le terminazioni degli assoni , insieme ai dendriti vicini, formano le sinapsi tra i neuroni
Le sostanze chimiche chiamate neurotrasmettitori si diffondono quindi attraverso la fessura sinaptica tra una terminazione assonale e un dendrite vicino, costituendo una neurotrasmissione. L'operazione essenziale del neurone è che un'attivazione fluisca in un neurone attraverso un dendrite, venga elaborata e quindi ritrasmessa da un assone, attraverso le sue terminazioni assoniche, dove attraversa la fessura sinaptica e raggiunge un certo numero di dendriti dei neuroni riceventi , dove il processo viene ripetuto.
Deep Learning Definizioni Chiave 4.
Perceptron
Un perceptron è un semplice classificatore binario lineare. I perceptron prendono input e pesi associati (che rappresentano l'importanza relativa dell'input) e li combinano per produrre un output, che viene quindi utilizzato per la classificazione. I perceptron esistono da molto tempo, con le prime implementazioni risalenti agli anni '50, la prima delle quali è stata coinvolta nelle prime implementazioni ANN.
Deep Learning Definizioni Chiave 5.
Perceptron multistrato
Un perceptron multistrato (MLP) è l'implementazione di diversi strati di perceptron completamente adiacenti collegati, che formano una semplice rete neurale feedforward (vedi sotto). Questo perceptron multistrato ha l'ulteriore vantaggio di funzioni di attivazione non lineare, che i singoli perceptron non possiedono.
Deep Learning Definizioni Chiave 6.
Rete neurale feedforward
Le reti neurali feedforward sono la forma più semplice di architettura di rete neurale, in cui le connessioni non sono cicliche. La rete neurale artificiale originale, le informazioni in una rete feedforward avanza in un'unica direzione dai nodi di input, attraverso qualsiasi livello nascosto, ai nodi di output; non sono presenti cicli. Le reti feedforward differiscono dalle architetture di rete successive e ricorrenti (vedi sotto), in cui le connessioni formano un ciclo diretto.
Deep Learning Definizioni Chiave 7.
Rete neurale ricorrente
In contrasto con le reti neurali feedforward di cui sopra, le connessioni delle reti neurali ricorrenti formano un ciclo diretto. Questo flusso bidirezionale consente la rappresentazione dello stato temporale interno, che, a sua volta, consente l'elaborazione della sequenza e, in particolare, fornisce le capacità necessarie per riconoscere il parlato e la scrittura a mano.
Deep Learning Definizioni Chiave 8.
Funzione di attivazione
Nelle reti neurali, la funzione di attivazione produce i limiti di decisione dell'output combinando gli input ponderati della rete. Le funzioni di attivazione vanno dall'identità (lineare) al sigmoide (logistico o passo morbido) all'iperbolico (tangente) e oltre. Per utilizzare la backpropagation (vedi sotto), la rete deve utilizzare funzioni di attivazione differenziabili.
Deep Learning Definizioni Chiave 9.
Backpropagation
La migliore definizione elementare e concisa di backpropagation che abbia mai incontrato è:
Si confrontano le previsioni della rete neurale con l'output desiderato e quindi si calcola il gradiente degli errori rispetto ai pesi della rete neurale. Questo ti dà una direzione nello spazio del peso del parametro in cui l'errore diventerebbe più piccolo.
Deep Learning Definizioni Chiave 10.
Funzione di costo
Quando si addestra una rete neurale, è necessario valutare la correttezza dell'output della rete. Poiché conosciamo l'output corretto previsto dei dati di addestramento, è possibile confrontare l'output di addestramento. La funzione di costo misura la differenza tra i risultati effettivi e di formazione. Un costo pari a zero tra i risultati effettivi e quelli previsti significherebbe che la rete si è allenata come sarebbe possibile; questo sarebbe chiaramente l'ideale.
Quindi, con quale meccanismo viene regolata la funzione di costo ?
Deep Learning Definizioni Chiave 11.
Discesa graduale
La discesa del gradiente è un algoritmo di ottimizzazione utilizzato per trovare i minimi locali di funzioni. Sebbene non garantisca un minimo globale, la discesa del gradiente è particolarmente utile per funzioni difficili da risolvere analiticamente per soluzioni precise, come l'impostazione di derivate a zero e la risoluzione.
Come accennato in precedenza, nel contesto delle reti neurali, la discesa stocastica del gradiente viene utilizzata per apportare modifiche informate ai parametri della rete con l'obiettivo di ridurre al minimo la funzione di costo, avvicinando così gli output effettivi della rete, in modo iterativo, agli output attesi durante il corso di formazione. Questa minimizzazione iterativa utilizza il calcolo, ovvero la differenziazione. Dopo una fase di addestramento, i pesi della rete ricevono aggiornamenti in base al gradiente della funzione di costo e ai pesi correnti della rete, in modo che i risultati della fase di addestramento successiva possano essere un po' più vicini alla correzione (misurata da una funzione di costo più piccola). La backpropagation (propagazione all'indietro degli errori) è il metodo utilizzato per distribuire questi aggiornamenti alla rete.
Deep Learning Definizioni Chiave 12.
Problema del gradiente di scomparsa
La backpropagation utilizza la regola della catena per calcolare i gradienti (mediante differenziazione), in quanto gli strati verso il "fronte" (input) di una rete neurale a n strati avrebbero il loro piccolo numero aggiornato il valore del gradiente moltiplicato n volte prima che questo valore stabilito fosse usato come un aggiornare. Ciò significa che il gradiente diminuirebbe in modo esponenziale, un problema con valori maggiori di n e gli strati frontali richiederebbero sempre più tempo per allenarsi in modo efficace.
Deep Learning Definizioni Chiave 13.
Rete neurale convoluzionale
Tipicamente associate alla visione artificiale e al riconoscimento delle immagini, le reti neurali convoluzionali (CNN) utilizzano il concetto matematico di convoluzione per imitare la rete di connettività neurale della corteccia visiva biologica.
In primo luogo, la convoluzione può essere pensata come una finestra scorrevole sopra una rappresentazione a matrice di un'immagine (vedi sotto). Ciò consente di imitare liberamente la piastrellatura sovrapposta del campo visivo biologico.
L'implementazione di questo concetto nell'architettura della rete neurale si traduce in raccolte di neuroni dedicati all'elaborazione di sezioni di immagini, almeno quando impiegati nella visione artificiale. Quando utilizzato in qualche altro dominio, come l'elaborazione del linguaggio naturale, può essere utilizzato lo stesso approccio, dato che l'input (parole, frasi, ecc.) Potrebbe essere organizzato in matrici ed elaborato in modo simile.
Deep Learning Definizioni Chiave 14.
Rete di memoria a lungo termine
Una rete di memoria a lungo termine (LSTM) è una rete neurale ricorrente ottimizzata per apprendere e agire su dati relativi al tempo che possono avere periodi di tempo indefiniti o sconosciuti tra eventi rilevanti. La loro particolare architettura consente la persistenza, dando all'ANN una "memoria". Le recenti scoperte nel riconoscimento della grafia e nel riconoscimento vocale automatico hanno beneficiato delle reti LSTM.
Questo è chiaramente solo un piccolo sottoinsieme della terminologia del deep learning e molti concetti aggiuntivi, da elementari a avanzati, attendono la tua esplorazione :
Cosa é Un Neurone Artificiale E La Storia Del Perceptron, Deep Learning
Chi ha inventato il Deep Learning ? Vediamo in breve la storia del Deep Learning
Computer Vision e Deep Learning - Visione Artificiale e cosa centra il Deep Learning
Gli Algoritmi di Deep Learning o Apprendimento profondo più diffusi e usati nel 2022
Semplici progetti di Deep Learning e Computer Vision Con Esempi pratici in Python
Come salvare e caricare il tuo modello di deep learning o apprendimento profondo
PyTorch vs TensorFlow quale è meglio per creare modelli di deep learning
Le Differenze tra Machine Learning (ML) e Deep Learning (DL) e Intelligenza Artificiale
Il tuo primo Programma di Deep Learning in Python con Keras Step-By-Step
Deep learnign e python : Object Recognition e Object Predict esempio pratico
Come implementare l'algoritmo Perceptron da zero in Python esempio pratico
Riconoscimento facciale con Python, in meno di 25 righe di codice.
Comments