Machine learning - Deep Learning

Il deep learning utilizza ANN. Per prima cosa esamineremo alcune applicazioni di deep learning che ti daranno un'idea della sua potenza.

Applicazioni

Il deep learning ha dimostrato molto successo in diverse aree delle applicazioni di machine learning.

Self-driving Cars- Le auto autonome a guida autonoma utilizzano tecniche di deep learning. In genere si adattano alle mutevoli situazioni del traffico e migliorano sempre di più nella guida per un periodo di tempo.

Speech Recognition- Un'altra interessante applicazione del Deep Learning è il riconoscimento vocale. Tutti noi oggi utilizziamo diverse app mobili in grado di riconoscere il nostro discorso. Siri di Apple, Alexa di Amazon, Cortena di Microsoft e Assistente di Google: tutti questi utilizzano tecniche di apprendimento profondo.

Mobile Apps- Utilizziamo diverse app web e mobili per organizzare le nostre foto. Rilevamento dei volti, ID dei volti, tagging dei volti, identificazione di oggetti in un'immagine: tutto questo utilizza il deep learning.

Opportunità inutilizzate di deep learning

Dopo aver esaminato il grande successo ottenuto dalle applicazioni di deep learning in molti domini, le persone hanno iniziato a esplorare altri domini in cui il machine learning non era finora applicato. Esistono diversi domini in cui le tecniche di deep learning vengono applicate con successo e ci sono molti altri domini che possono essere sfruttati. Alcuni di questi sono discussi qui.

  • L'agricoltura è uno di questi settori in cui le persone possono applicare tecniche di apprendimento profondo per migliorare la resa del raccolto.

  • Il credito al consumo è un'altra area in cui l'apprendimento automatico può essere di grande aiuto nel fornire un rilevamento precoce delle frodi e nell'analisi della capacità di pagamento dei clienti.

  • Le tecniche di deep learning vengono applicate anche al campo della medicina per creare nuovi farmaci e fornire una prescrizione personalizzata a un paziente.

Le possibilità sono infinite e bisogna continuare a guardare mentre le nuove idee e sviluppi compaiono frequentemente.

Cosa è necessario per ottenere di più utilizzando il deep learning

Per utilizzare il deep learning, la potenza del supercalcolo è un requisito obbligatorio. Hai bisogno sia della memoria che della CPU per sviluppare modelli di deep learning. Fortunatamente, oggi abbiamo una facile disponibilità di HPC - High Performance Computing. Per questo motivo, lo sviluppo delle applicazioni di deep learning che abbiamo menzionato sopra è diventato una realtà oggi e anche in futuro possiamo vedere le applicazioni in quelle aree non sfruttate di cui abbiamo discusso in precedenza.

Ora, esamineremo alcuni dei limiti del deep learning che dobbiamo considerare prima di utilizzarlo nella nostra applicazione di machine learning.

Svantaggi del deep learning

Di seguito sono elencati alcuni dei punti importanti che è necessario considerare prima di utilizzare il deep learning:

  • Approccio Black Box
  • Durata dello sviluppo
  • Quantità di dati
  • Computazionalmente costoso

Ora studieremo in dettaglio ognuna di queste limitazioni.

Approccio Black Box

Una ANN è come una scatola nera. Gli dai un certo input e ti fornirà un output specifico. Il diagramma seguente mostra una di queste applicazioni in cui si alimenta un'immagine animale a una rete neurale e ti dice che l'immagine è di un cane.

Il motivo per cui questo è chiamato approccio scatola nera è che non sai perché la rete ha ottenuto un certo risultato. Non sai come la rete ha concluso che si tratta di un cane? Consideriamo ora un'applicazione bancaria in cui la banca vuole decidere l'affidabilità creditizia di un cliente. La rete ti fornirà sicuramente una risposta a questa domanda. Tuttavia, sarai in grado di giustificarlo a un cliente? Le banche devono spiegare ai loro clienti perché il prestito non è sanzionato?

Durata dello sviluppo

Il processo di addestramento di una rete neurale è illustrato nel diagramma seguente:

Per prima cosa si definisce il problema che si desidera risolvere, si crea una specifica per esso, si decide sulle caratteristiche di input, si progetta una rete, si distribuisce e si verifica l'output. Se l'output non è come previsto, prendilo come feedback per ristrutturare la tua rete. Questo è un processo iterativo e può richiedere diverse iterazioni fino a quando la rete temporale non è completamente addestrata per produrre gli output desiderati.

Quantità di dati

Le reti di deep learning richiedono solitamente un'enorme quantità di dati per l'addestramento, mentre i tradizionali algoritmi di machine learning possono essere utilizzati con grande successo anche con poche migliaia di punti dati. Fortunatamente, l'abbondanza di dati sta crescendo del 40% all'anno e la potenza di elaborazione della CPU cresce del 20% all'anno, come si vede nel diagramma sotto riportato:

Computazionalmente costoso

L'addestramento di una rete neurale richiede una potenza di calcolo molte volte superiore a quella richiesta per eseguire algoritmi tradizionali. Il successo dell'addestramento delle reti neurali profonde può richiedere diverse settimane di addestramento.

Al contrario, i tradizionali algoritmi di apprendimento automatico richiedono solo pochi minuti / ore per essere addestrati. Inoltre, la quantità di potenza di calcolo necessaria per l'addestramento della rete neurale profonda dipende fortemente dalla dimensione dei dati e da quanto è profonda e complessa la rete?

Dopo aver avuto una panoramica di cosa sia l'apprendimento automatico, le sue capacità, i limiti e le applicazioni, passiamo ora all'apprendimento del "machine learning".