Cos'è l'IA?
L'intelligenza artificiale (intelligenza artificiale) è una branca dell'informatica in cui le macchine sono programmate e dotate di una capacità cognitiva di pensare e imitare azioni come esseri umani e animali. Il punto di riferimento per l'intelligenza artificiale è l'intelligenza umana per quanto riguarda il ragionamento, la parola, l'apprendimento, la visione e la risoluzione dei problemi, che è molto lontana nel futuro.
L'IA ha tre diversi livelli:
- AI ristretta : si dice che un'intelligenza artificiale sia ristretta quando la macchina può eseguire un compito specifico meglio di un essere umano. L'attuale ricerca sull'intelligenza artificiale è qui ora
- IA generale : un'intelligenza artificiale raggiunge lo stato generale quando può eseguire qualsiasi compito intellettuale con lo stesso livello di precisione di un essere umano
- AI attiva : un'IA è attiva quando può battere gli umani in molte attività
I primi sistemi di intelligenza artificiale utilizzavano il pattern matching e sistemi esperti.

In questo tutorial imparerai-
- Cos'è l'IA?
- Cos'è il ML?
- Cos'è il deep learning?
- Processo di apprendimento automatico
- Processo di deep learning
- Automatizza l'estrazione delle caratteristiche utilizzando DL
- Differenza tra machine learning e deep learning
- Quando utilizzare ML o DL?
Cos'è il ML?
ML (Machine Learning) è un tipo di intelligenza artificiale in cui un computer è addestrato per automatizzare attività che sono esaustive o impossibili per gli esseri umani. È lo strumento migliore per analizzare, comprendere e identificare i modelli nei dati basati sullo studio di algoritmi informatici. L'apprendimento automatico può prendere decisioni con un intervento umano minimo.
Confrontando l'intelligenza artificiale con l'apprendimento automatico, l'apprendimento automatico utilizza i dati per alimentare un algoritmo in grado di comprendere la relazione tra l'input e l'output. Quando la macchina ha terminato l'apprendimento, può prevedere il valore o la classe di un nuovo punto dati.
Cos'è il deep learning?
L'apprendimento profondo è un software per computer che imita la rete di neuroni in un cervello. È un sottoinsieme dell'apprendimento automatico ed è chiamato apprendimento profondo perché utilizza reti neurali profonde. La macchina utilizza diversi livelli per apprendere dai dati. La profondità del modello è rappresentata dal numero di strati nel modello. Il deep learning è il nuovo stato dell'arte in termini di AI. Nell'apprendimento profondo, la fase di apprendimento avviene tramite una rete neurale. Una rete neurale è un'architettura in cui i livelli sono impilati uno sopra l'altro
Processo di apprendimento automatico
Immagina di dover costruire un programma che riconosca gli oggetti. Per addestrare il modello, utilizzerai un classificatore . Un classificatore utilizza le caratteristiche di un oggetto per provare a identificare la classe a cui appartiene.
Nell'esempio, il classificatore verrà addestrato a rilevare se l'immagine è:
- Bicicletta
- Barca
- Macchina
- Aereo
I quattro oggetti sopra sono la classe che il classificatore deve riconoscere. Per costruire un classificatore, è necessario disporre di alcuni dati come input e assegnargli un'etichetta. L'algoritmo prenderà questi dati, troverà un pattern e quindi lo classificherà nella classe corrispondente.
Questa attività è chiamata apprendimento supervisionato. Nell'apprendimento supervisionato, i dati di addestramento forniti all'algoritmo includono un'etichetta.
L'addestramento di un algoritmo richiede di seguire alcuni passaggi standard:
- Raccogli i dati
- Addestra il classificatore
- Fare previsioni
Il primo passo è necessario, la scelta dei dati giusti renderà l'algoritmo un successo o un fallimento. I dati che scegli per addestrare il modello sono chiamati feature. Nell'esempio dell'oggetto, le caratteristiche sono i pixel delle immagini.
Ogni immagine è una riga nei dati mentre ogni pixel è una colonna. Se l'immagine ha una dimensione di 28 x 28, il set di dati contiene 784 colonne (28 x 28). Nell'immagine sottostante, ogni immagine è stata trasformata in un vettore di caratteristiche. L'etichetta dice al computer quale oggetto si trova nell'immagine.

L'obiettivo è utilizzare questi dati di addestramento per classificare il tipo di oggetto. Il primo passaggio consiste nel creare le colonne delle caratteristiche. Quindi, il secondo passaggio prevede la scelta di un algoritmo per addestrare il modello. Al termine dell'addestramento, il modello predice quale immagine corrisponde a quale oggetto.
Dopodiché, è facile utilizzare il modello per prevedere nuove immagini. Per ogni nuova immagine inserita nel modello, la macchina predice la classe a cui appartiene. Ad esempio, un'immagine completamente nuova senza etichetta sta attraversando il modello. Per un essere umano, è banale visualizzare l'immagine come un'auto. La macchina utilizza le sue conoscenze precedenti per prevedere anche che l'immagine è un'auto.
Processo di deep learning
Nell'apprendimento profondo, la fase di apprendimento avviene tramite una rete neurale. Una rete neurale è un'architettura in cui i livelli sono impilati uno sopra l'altro.
Considera lo stesso esempio di immagine sopra. Il set di addestramento verrebbe inviato a una rete neurale
Ogni input entra in un neurone e viene moltiplicato per un peso. Il risultato della moltiplicazione fluisce al livello successivo e diventa l'input. Questo processo viene ripetuto per ogni livello della rete. Il livello finale è denominato livello di output; fornisce un valore effettivo per l'attività di regressione e una probabilità di ciascuna classe per l'attività di classificazione. La rete neurale utilizza un algoritmo matematico per aggiornare i pesi di tutti i neuroni. La rete neurale è completamente addestrata quando il valore dei pesi fornisce un output vicino alla realtà. Ad esempio, una rete neurale ben addestrata può riconoscere l'oggetto su un'immagine con una precisione maggiore rispetto alla rete neurale tradizionale.

Automatizza l'estrazione delle caratteristiche utilizzando DL
Un set di dati può contenere da una dozzina a centinaia di funzionalità. Il sistema imparerà dalla rilevanza di queste caratteristiche. Tuttavia, non tutte le funzionalità sono significative per l'algoritmo. Una parte cruciale dell'apprendimento automatico è trovare un insieme pertinente di funzionalità per far sì che il sistema impari qualcosa.
Un modo per eseguire questa parte nell'apprendimento automatico è utilizzare l'estrazione delle funzionalità. L'estrazione delle funzionalità combina le funzionalità esistenti per creare un set di funzionalità più pertinente. Può essere eseguito con PCA, T-SNE o qualsiasi altro algoritmo di riduzione della dimensionalità.
Ad esempio, un'elaborazione dell'immagine, il professionista deve estrarre manualmente la caratteristica nell'immagine come gli occhi, il naso, le labbra e così via. Quelle caratteristiche estratte vengono inserite nel modello di classificazione.
L'apprendimento profondo risolve questo problema, soprattutto per una rete neurale convoluzionale. Il primo strato di una rete neurale apprenderà piccoli dettagli dall'immagine; i livelli successivi combineranno la conoscenza precedente per creare informazioni più complesse. Nella rete neurale convoluzionale, l'estrazione delle caratteristiche viene eseguita con l'uso del filtro. La rete applica un filtro all'immagine per vedere se esiste una corrispondenza, ovvero la forma dell'elemento è identica a una parte dell'immagine. Se c'è una corrispondenza, la rete utilizzerà questo filtro. Il processo di estrazione delle caratteristiche viene quindi eseguito automaticamente.

Differenza tra machine learning e deep learning
Di seguito è riportata una differenza fondamentale tra Deep Learning e Machine Learning
Apprendimento automatico |
Apprendimento profondo |
|
Dipendenze dei dati |
Prestazioni eccellenti su un set di dati medio / piccolo |
Prestazioni eccellenti su un grande set di dati |
Dipendenze hardware |
Lavora su una macchina di fascia bassa. |
Richiede una macchina potente, preferibilmente con GPU: DL esegue una quantità significativa di moltiplicazione di matrici |
Ingegneria delle funzionalità |
Necessità di comprendere le caratteristiche che rappresentano i dati |
Non c'è bisogno di capire la migliore caratteristica che rappresenta i dati |
Tempo di esecuzione |
Da pochi minuti a ore |
Fino a settimane. La rete neurale deve calcolare un numero significativo di pesi |
Interpretabilità |
Alcuni algoritmi sono facili da interpretare (logistico, albero decisionale), altri sono quasi impossibili (SVM, XGBoost) |
Da difficile a impossibile |
Quando utilizzare ML o DL?
Nella tabella seguente, riassumiamo la differenza tra machine learning e deep learning con esempi.
Apprendimento automatico | Apprendimento profondo | |
Set di dati di formazione | Piccolo | Grande |
Scegli le funzionalità | sì | No |
Numero di algoritmi | Molti | Pochi |
Tempo di allenamento | Corto | Lungo |
Con il machine learning, hai bisogno di meno dati per addestrare l'algoritmo rispetto al deep learning. L'apprendimento profondo richiede un insieme ampio e diversificato di dati per identificare la struttura sottostante. Inoltre, l'apprendimento automatico fornisce un modello addestrato più rapidamente. L'architettura di deep learning più avanzata può richiedere da giorni a una settimana per la formazione. Il vantaggio del deep learning rispetto al machine learning è che è estremamente accurato. Non è necessario capire quali sono le caratteristiche che rappresentano la migliore rappresentazione dei dati; la rete neurale ha imparato a selezionare le caratteristiche critiche. Nell'apprendimento automatico, devi scegliere autonomamente quali funzionalità includere nel modello.
Sommario
L'intelligenza artificiale sta impartendo un'abilità cognitiva a una macchina. Confrontando l'IA e l'apprendimento automatico, i primi sistemi di intelligenza artificiale utilizzavano il pattern matching e sistemi esperti.
L'idea alla base del machine learning è che la macchina può apprendere senza l'intervento umano. La macchina deve trovare un modo per imparare a risolvere un compito dati i dati.
Il deep learning è la svolta nel campo dell'intelligenza artificiale. Quando i dati sono sufficienti per la formazione, il deep learning raggiunge risultati impressionanti, soprattutto per il riconoscimento delle immagini e la traduzione del testo. Il motivo principale è che l'estrazione delle funzionalità viene eseguita automaticamente nei diversi livelli della rete.