Tutorial sul deep learning: intelligenza artificiale che utilizza il deep learning

Questo blog sul Deep Learning Tutorial ti aiuterà a capire tutto sul Deep Learning e il suo rapporto con il Machine Learning e l'Intelligenza Artificiale.

Essendo un importante sottoinsieme di Machine Learning, la domanda di ha visto un enorme aumento, specialmente tra coloro che sono interessati a sbloccare le possibilità illimitate dell'IA.Ispirato dalla crescente popolarità del Deep Learning, ho pensato di creare una serie di blog che ti istruissero su questa nuova tendenza nel campo dell'Intelligenza Artificiale e ti aiutassero a capire di cosa si tratta. Questo è il primo dei tanti blog della serie chiamata come - Tutorial sul deep learning .

Il tutorial sul deep learning

In questo blog di tutorial sul deep learning, ti guiderò attraverso le seguenti cose, che serviranno come fondamenti per i prossimi blog:





  • Cosa ha fatto nascere il Deep Learning
  • Cos'è il Deep Learning e come funziona?

Puoi passare attraverso questa registrazione del Deep Learning Tutorial in cui il nostro istruttore ha spiegato gli argomenti in modo dettagliato con esempi che ti aiuteranno a comprendere meglio questo concetto.

Tutorial sul deep learning | Reti neurali di deep learning | Edureka

Applicazioni dell'intelligenza artificiale e del deep learning

Ora pensa a questo, invece di fare tutto il tuo lavoro, hai una macchina per finirlo per te o può fare qualcosa che pensavi non fosse affatto possibile. Per esempio:



Predire il futuro - Tutorial sul deep learning - Edureka

Predire il futuro: Può aiutarci a prevedere in anticipo terremoti, tsunami, ecc. In modo che possano essere prese misure preventive per salvare molte vite dal cadere nelle grinfie di calamità naturali.

Bot di chat: Tutti voi avreste sentito parlare di Siri, che è l'assistente virtuale a controllo vocale di Apple. Credimi, con l'aiuto del Deep Learning questa assistenza virtuale sta diventando più intelligente di giorno in giorno. Siri, infatti, può adattarsi a seconda dell'utente e fornire una migliore assistenza personalizzata.
Auto a guida autonoma: Immagina, quanto sarebbe incredibile per i disabili fisici e gli anziani che hanno difficoltà a guidare da soli. Oltre a questo, salverà milioni di vite innocenti che ogni anno incontrano incidenti stradali a causa di errori umani.

Google AI Eye Doctor: Si tratta di una recente iniziativa presa da Google dove stanno lavorando con una Indian Eye Care Chain per sviluppare un software di intelligenza artificiale in grado di esaminare le scansioni della retina e identificare una condizione chiamata retinopatia diabetica, che può causare cecità.

Compositore musicale AI: Bene, chi pensava che potessimo avere un compositore musicale AI usando il Deep Learning. Quindi, non sarei sorpreso di sentire che la prossima migliore musica è data da una macchina.
Una macchina da lettura da sogno: Questa è una delle mie preferite, una macchina in grado di catturare i tuoi sogni sotto forma di video o qualcosa del genere. Con così tante applicazioni non realistiche di AI e Deep Learning che abbiamo visto finora, non sono stato sorpreso di scoprire che questo è stato provato in Giappone alcuni anni fa su tre soggetti di prova e sono stati in grado di raggiungere una precisione prossima al 60%. Questo è qualcosa di abbastanza incredibile, ma vero.


Sono abbastanza sicuro che alcune di queste applicazioni reali di AI e Deep Learning ti avrebbero fatto venire la pelle d'oca. Va bene allora, questo pone le basi per te e ora, siamo pronti per procedere ulteriormente in questo tutorial sul deep learning e capire cos'è l'intelligenza artificiale.



Cos'è l'intelligenza artificiale?

L'intelligenza artificiale non è altro che la capacità di una macchina di imitare il comportamento umano intelligente. L'intelligenza artificiale si ottiene imitando un cervello umano, comprendendo come pensa, come apprende, decide e lavora mentre cerca di risolvere un problema.

Per esempio: Una macchina che gioca a scacchi o un software ad attivazione vocale che ti aiuta con varie cose nel tuo iPhone o un sistema di riconoscimento della targa che cattura la targa di un'auto in corsa e la elabora per estrarre il numero di targa e identificare il proprietario dell'auto . Tutto ciò non era molto facile da implementare prima Apprendimento approfondito . Ora, vediamo i vari sottoinsiemi dell'intelligenza artificiale.

Sottoinsiemi di intelligenza artificiale

Fino ad ora, avresti sentito parlare molto di intelligenza artificiale, machine learning e deep learning. Tuttavia, conosci la relazione tra tutti e tre? Fondamentalmente, il deep learning è un sottocampo del Machine Learning e il Machine Learning è un sottocampo dell'Intelligenza Artificiale come mostrato nell'immagine seguente:

Quando guardiamo qualcosa di simile AlphaGo , è spesso descritto come un grande successo per il deep learning, ma in realtà è una combinazione di idee provenienti da diversi campi dell'IA e del machine learning. In effetti, saresti sorpreso di sentire che l'idea alla base delle reti neurali profonde non è nuova ma risale agli anni '50. Tuttavia, è diventato possibile implementarlo praticamente a causa della capacità di risorse di fascia alta disponibile al giorno d'oggi.

programma java per controllare palindromo

Quindi, andando avanti in questo blog tutorial sul deep learning, esploriamo l'apprendimento automatico seguito dai suoi limiti.

Cos'è l'apprendimento automatico?

L'apprendimento automatico è un sottoinsieme dell'intelligenza artificiale che fornisce ai computer la capacità di apprendere senza essere programmati esplicitamente. Nell'apprendimento automatico, non dobbiamo definire esplicitamente tutti i passaggi o le condizioni come qualsiasi altra applicazione di programmazione. Al contrario, la macchina viene addestrata su un set di dati di addestramento, abbastanza grande da creare un modello, che aiuta la macchina a prendere decisioni in base al suo apprendimento.

Per esempio: Vogliamo determinare la specie di un fiore in base alla lunghezza dei suoi petali e sepali (foglie di un fiore) utilizzando l'apprendimento automatico. Allora, come lo faremo?

Alimenteremo il set di dati sui fiori che contiene varie caratteristiche di fiori diversi insieme alle rispettive specie nella nostra macchina, come puoi vedere nell'immagine sopra. Utilizzando questo set di dati di input, la macchina creerà e addestrerà un modello che può essere utilizzato per classificare i fiori in diverse categorie.
Una volta che il nostro modello è stato addestrato, trasmetteremo una serie di caratteristiche come input al modello.
Infine, il nostro modello produrrà le specie del fiore presenti nel nuovo set di dati di input. Viene chiamato questo processo di addestramento di una macchina per creare un modello e utilizzarlo per il processo decisionale Apprendimento automatico . Tuttavia questo processo ha alcune limitazioni.

Limitazioni dell'apprendimento automatico

L'apprendimento automatico non è in grado di gestire dati ad alta dimensione, dove l'input e l'output sono piuttosto grandi. La gestione e l'elaborazione di questo tipo di dati diventa molto complessa e le risorse esauriscono. Questo è definito come Maledizione della dimensionalità . Per capire questo in termini più semplici, consideriamo la seguente immagine:

Considera una linea di 100 yard e hai lasciato cadere una moneta da qualche parte sulla linea. Ora, è abbastanza conveniente per te trovare la moneta semplicemente camminando sulla linea. Questa stessa linea è un'entità monodimensionale.
Quindi, considera di avere un quadrato di lato di 100 metri ciascuno come mostrato nell'immagine sopra e ancora una volta, hai lasciato cadere una moneta da qualche parte nel mezzo. Ora, è abbastanza evidente che impiegherai più tempo per trovare la moneta all'interno di quella casella rispetto allo scenario precedente. Questo quadrato è un'entità bidimensionale.
Facciamo un passo avanti considerando un cubo di lato di 100 yard ciascuno e hai lasciato cadere una moneta da qualche parte nel mezzo. Ora, questa volta è ancora più difficile trovare la moneta. Questo cubo è un'entità tridimensionale.

Quindi, puoi osservare che la complessità aumenta con l'aumentare delle dimensioni.E nella vita reale, i dati ad alta dimensione di cui stavamo parlando hanno migliaia di dimensioni che lo rendono molto complesso da gestire ed elaborare. I dati ad alta dimensione possono essere facilmente trovati in casi d'uso come elaborazione di immagini, PNL, traduzione di immagini ecc.

L'apprendimento automatico non era in grado di risolvere questi casi d'uso e quindi l'apprendimento profondo è venuto in soccorso. Il deep learning è in grado di gestire i dati ad alta dimensione ed è anche efficiente nel concentrarsi da solo sulle giuste funzionalità. Questo processo è chiamato estrazione delle caratteristiche. Ora andiamo avanti con questo tutorial sul deep learning e capiamo come funziona il deep learning.

Come funziona il deep learning?

Nel tentativo di riprogettare un cervello umano, Deep Learning studia l'unità di base di un cervello chiamata cellula cerebrale o neurone. Ispirato da un neurone è stato sviluppato un neurone artificiale o un perceptron. Ora, comprendiamo la funzionalità dei neuroni biologici e come imitiamo questa funzionalità nel perceptron o in un neurone artificiale:

  • Se ci concentriamo sulla struttura di un neurone biologico, ha dei dendriti che vengono utilizzati per ricevere input. Questi input vengono sommati nel corpo cellulare e utilizzando l'Axon vengono trasmessi al successivo neurone biologico come mostrato nell'immagine sopra.

  • Allo stesso modo, un perceptron riceve più input, applica varie trasformazioni e funzioni e fornisce un output.

  • Poiché sappiamo che il nostro cervello è costituito da più neuroni connessi chiamati rete neurale, possiamo anche avere una rete di neuroni artificiali chiamati perceptrons per formare una rete neurale profonda. Quindi, andiamo avanti in questo tutorial di deep learning per capire come appare una rete neurale profonda.

Tutorial sul deep learning: che cos'è il deep learning?

  • Qualsiasi rete neurale profonda sarà composta da tre tipi di livelli:
    • Il livello di input
    • Lo strato nascosto
    • Il livello di output
Nel diagramma sopra, il primo livello è il livello di input che riceve tutti gli input e l'ultimo livello è il livello di output che fornisce l'output desiderato.
Tutti gli strati tra questi strati sono chiamati strati nascosti. Ci può essere un numero n di livelli nascosti grazie alle risorse di fascia alta disponibili in questi giorni.
Il numero di strati nascosti e il numero di perceptrons in ogni strato dipenderà interamente dal caso d'uso che stai cercando di risolvere.

Ora che hai un'immagine di reti neurali profonde, andiamo avanti in questo tutorial sul deep learning per ottenere una visione di alto livello di come le reti neurali profonde risolvono un problema di riconoscimento delle immagini.

Utilizzo del deep learning - Caso

Vogliamo eseguire il riconoscimento delle immagini utilizzando Deep Networks:

Qui stiamo passando i dati ad alta dimensione al livello di input. Per abbinare la dimensionalità dei dati di input, il livello di input conterrà più sottolivelli di perceptrons in modo che possa consumare l'intero input.
L'output ricevuto dal livello di input conterrà modelli e sarà in grado di identificare solo i bordi delle immagini in base ai livelli di contrasto.
Questo output verrà inviato al livello nascosto 1 dove sarà in grado di identificare varie caratteristiche del viso come occhi, naso, orecchie ecc.
Ora, questo verrà inviato allo strato nascosto 2 dove sarà in grado di formare le facce intere. Quindi, l'output del livello 2 viene inviato al livello di output.
Infine, il livello di output esegue la classificazione in base al risultato ottenuto dal precedente e prevede il nome.

Permettimi di farti una domanda, cosa succederà se uno di questi strati manca o la rete neurale non è abbastanza profonda? Semplice, non saremo in grado di identificare con precisione le immagini. Questo è il vero motivo per cui questi casi d'uso non hanno avuto una soluzione per tutti questi anni prima del Deep Learning. Giusto per andare oltre, proveremo ad applicare reti profonde su un set di dati MNIST.

come invertire un numero in python
  • Il set di dati Mnist è costituito da 60.000 campioni di addestramento e 10.000 campioni di prova di immagini di cifre scritte a mano. Il compito qui è addestrare un modello in grado di identificare con precisione la cifra presente sull'immagine.

  • Per risolvere questo caso d'uso verrà creata una rete Deep con più livelli nascosti per elaborare tutte le 60.000 immagini pixel per pixel e infine riceveremo un livello di output.
  • Il livello di output sarà un array di indici da 0 a 9, dove ogni indice corrisponde alla rispettiva cifra. L'indice 0 contiene la probabilità che 0 sia la cifra presente nell'immagine in ingresso.
  • Allo stesso modo, l'indice 2 che ha un valore di 0.1, rappresenta effettivamente la probabilità che 2 sia la cifra presente nell'immagine in ingresso. Quindi, se vediamo la probabilità più alta in questo array è 0,8 che è presente all'indice 7 dell'array. Quindi il numero presente sull'immagine è 7.

Conclusione

Quindi ragazzi, in poche parole si trattava di deep learning. In questo tutorial sul deep learning, abbiamo visto varie applicazioni del deep learning e ne abbiamo compreso la relazione con AI e Machine Learning. Quindi, abbiamo capito come possiamo usare il perceptron o un neurone artificiale di base per creare una rete neurale profonda in grado di eseguire compiti complessi come. Alla fine, siamo passati attraverso uno dei casi d'uso del deep learning in cui abbiamo eseguito il riconoscimento delle immagini utilizzando reti neurali profonde e abbiamo compreso tutti i passaggi che avvengono dietro le quinte. Ora, nel prossimo blog di questa serie di tutorial sul deep learning, impareremo come implementare un perceptron utilizzando TensorFlow, una libreria basata su Python per il deep learning.

Ora che conosci il Deep Learning, dai un'occhiata al da Edureka, una società di formazione online affidabile con una rete di oltre 250.000 studenti soddisfatti sparsi in tutto il mondo. Il corso di formazione sulla certificazione Edureka Deep Learning con TensorFlow aiuta gli studenti a diventare esperti nella formazione e nell'ottimizzazione delle reti neurali di base e convoluzionali utilizzando progetti e incarichi in tempo reale insieme a concetti come la funzione SoftMax, le reti neurali con codificatore automatico, la macchina Boltzmann ristretta (RBM).

Hai domande per noi? Per favore menzionalo nella sezione commenti e ti risponderemo.