Apprendimento efficace: il prossimo futuro dell'IA

Pubblicato: 2017-11-09

Queste tecniche di apprendimento efficaci non sono nuove tecniche di apprendimento profondo/apprendimento automatico, ma potenziano le tecniche esistenti come hack

Non c'è dubbio che il futuro ultimo dell'IA sia raggiungere e superare l'intelligenza umana. Ma questa è un'impresa inverosimile da raggiungere. Anche i più ottimisti tra noi scommettono che l'IA a livello umano (AGI o ASI) arriverà fino a 10-15 anni da oggi con gli scettici disposti anche a scommettere che ci vorranno secoli, se possibile. Bene, non è di questo che parla il post.

Qui parleremo di un futuro più tangibile e più vicino e discuteremo degli algoritmi e delle tecniche di IA emergenti e potenti che, a nostro avviso, daranno forma al prossimo futuro dell'IA.

L'IA ha iniziato a migliorare gli esseri umani in alcuni compiti selezionati e specifici. Ad esempio, battere i medici nella diagnosi di cancro della pelle e sconfiggere i giocatori di Go al campionato del mondo. Ma gli stessi sistemi e modelli non riusciranno a svolgere compiti diversi da quelli per cui sono stati addestrati a risolvere. Questo è il motivo per cui, a lungo termine, un sistema generalmente intelligente che esegue una serie di compiti in modo efficiente senza la necessità di una rivalutazione è soprannominato il futuro dell'IA.

Ma, nel prossimo futuro dell'IA, molto prima che esca l'AGI, come faranno gli scienziati a fare in modo che un algoritmo basato sull'IA superi i problemi che devono affrontare oggi per uscire dai laboratori e diventare oggetti di uso quotidiano?

Quando ti guardi intorno, l'IA sta vincendo un castello alla volta (leggi i nostri post su come l'IA sta superando gli umani, prima e seconda parte). Cosa potrebbe mai andare storto in un gioco vincente? Gli esseri umani stanno producendo sempre più dati (che è il foraggio che l'IA consuma) con il tempo e anche le nostre capacità hardware stanno migliorando. Dopotutto, i dati e un calcolo migliore sono i motivi per cui la rivoluzione del Deep Learning è iniziata nel 2012, giusto? La verità è che più veloce della crescita dei dati e del calcolo è la crescita delle aspettative umane. I data scientist dovrebbero pensare a soluzioni al di là di ciò che esiste in questo momento per risolvere i problemi del mondo reale. Ad esempio, la classificazione delle immagini, come la maggior parte delle persone penserebbe, è scientificamente un problema risolto (se resistiamo all'impulso di dire accuratezza del 100% o GTFO).

Possiamo classificare le immagini (diciamo in immagini di gatti o immagini di cani) che corrispondono alla capacità umana usando l'IA. Ma questo può essere già utilizzato per casi d'uso nel mondo reale? L'intelligenza artificiale può fornire una soluzione per problemi più pratici che gli esseri umani devono affrontare? In alcuni casi sì, ma in molti casi non ci siamo ancora.

Ti guideremo attraverso le sfide che sono i principali ostacoli allo sviluppo di una soluzione del mondo reale utilizzando l'IA. Diciamo che vuoi classificare le immagini di cani e gatti. Useremo questo esempio per tutto il post.

Il nostro algoritmo di esempio: Classificare le immagini di cani e gatti

Il grafico seguente riassume le sfide:

Sfide coinvolte nello sviluppo di un'IA del mondo reale

Parliamo di queste sfide in dettaglio:

Imparare con dati minori

  • I dati di addestramento utilizzati dagli algoritmi di Deep Learning di maggior successo richiedono che siano etichettati in base al contenuto/funzionalità che contiene. Questo processo è chiamato annotazione.
  • Gli algoritmi non possono utilizzare i dati trovati naturalmente intorno a te. L'annotazione di poche centinaia (o poche migliaia di punti dati) è facile, ma il nostro algoritmo di classificazione delle immagini a livello umano ha impiegato un milione di immagini annotate per imparare bene.
  • Quindi la domanda è: se è possibile annotare un milione di immagini? In caso negativo, come può l'IA scalare con una quantità minore di dati annotati?

Risolvere diversi problemi del mondo reale

  • Sebbene i set di dati siano fissi, l'utilizzo nel mondo reale è più vario (ad esempio, l'algoritmo addestrato su immagini a colori potrebbe fallire gravemente su immagini in scala di grigi a differenza degli umani).
  • Mentre abbiamo migliorato gli algoritmi di Computer Vision per rilevare gli oggetti in modo che corrispondano agli umani. Ma come accennato in precedenza, questi algoritmi risolvono un problema molto specifico rispetto all'intelligenza umana che è molto più generica in molti sensi.
  • Il nostro esempio di algoritmo di intelligenza artificiale, che classifica cani e gatti, non sarà in grado di identificare una specie di cane rara se non nutrito con immagini di quella specie.

Regolazione dei dati incrementali

  • Un'altra grande sfida sono i dati incrementali. Nel nostro esempio, se stiamo cercando di riconoscere cani e gatti, potremmo addestrare la nostra intelligenza artificiale per una serie di immagini di cani e gatti di specie diverse durante la prima implementazione. Ma alla scoperta di una nuova specie, dobbiamo addestrare l'algoritmo per riconoscere i "Kotpies" insieme alle specie precedenti.
  • Mentre la nuova specie potrebbe essere più simile ad altre di quanto pensiamo e possa essere facilmente addestrata per adattare l'algoritmo, ci sono punti in cui ciò è più difficile e richiede un riaddestramento e una rivalutazione completi.
  • La domanda è: possiamo rendere l'IA almeno adattabile a questi piccoli cambiamenti?

Per rendere l'IA immediatamente utilizzabile, l'idea è di risolvere le suddette sfide con un insieme di approcci chiamati Apprendimento efficace (si noti che non è un termine ufficiale, lo sto solo inventando per evitare di scrivere Meta-Learning, Transfer Learning, Pochi Shot Learning, Adversarial Learning e Multi-Task Learning ogni volta). Noi di ParallelDots stiamo ora utilizzando questi approcci per risolvere problemi ristretti con l'IA, vincendo piccole battaglie mentre ci prepariamo per un'IA più completa per conquistare guerre più grandi. Lascia che ti presentiamo queste tecniche una alla volta.

È evidente che la maggior parte di queste tecniche di apprendimento efficace non sono qualcosa di nuovo. Stanno solo vedendo una rinascita ora. I ricercatori SVM (Support Vector Machines) utilizzano queste tecniche da molto tempo. L'apprendimento contraddittorio, d'altra parte, è qualcosa che è emerso dal recente lavoro di Goodfellow sui GAN e il ragionamento neurale è un nuovo insieme di tecniche per le quali i set di dati sono diventati disponibili molto di recente. Diamo un'occhiata a come queste tecniche aiuteranno a plasmare il futuro dell'IA.

Trasferisci l'apprendimento

Che cos'è?

Come suggerisce il nome, l'apprendimento viene trasferito da un compito all'altro all'interno dello stesso algoritmo in Transfer Learning. Gli algoritmi addestrati su un'attività (attività di origine) con set di dati più grandi possono essere trasferiti con o senza modifiche come parte dell'algoritmo che tenta di apprendere un'attività diversa (attività di destinazione) su un set di dati (relativamente) più piccolo.

Qualche esempio

L'utilizzo dei parametri di un algoritmo di classificazione delle immagini come estrattore di funzionalità in diverse attività come il rilevamento di oggetti è una semplice applicazione di Transfer Learning. Al contrario, può anche essere utilizzato per eseguire compiti complessi. L'algoritmo sviluppato da Google per classificare la retinopatia diabetica meglio dei medici solo qualche tempo fa è stato realizzato utilizzando Transfer Learning. Sorprendentemente, il rilevatore di retinopatia diabetica era in realtà un classificatore di immagini del mondo reale (classificatore di immagini di cane/gatto) Transfer Learning per classificare le scansioni oculari.

Dimmi di più!

Troverai data scientist che chiamano tali parti trasferite di reti neurali dalla sorgente all'attività di destinazione come reti preaddestrate nella letteratura sull'apprendimento profondo. L'ottimizzazione fine si verifica quando gli errori dell'attività di destinazione vengono leggermente propagati nella rete pre-addestrata invece di utilizzare la rete pre-addestrata non modificata. Una buona introduzione tecnica al Transfer Learning in Computer Vision può essere vista qui. Questo semplice concetto di Transfer Learning è molto importante nel nostro insieme di metodologie di Apprendimento Efficace.

Raccomandato per te:

Come Metaverse trasformerà l'industria automobilistica indiana

Come Metaverse trasformerà l'industria automobilistica indiana

Cosa significa la disposizione anti-profitto per le startup indiane?

Cosa significa la disposizione anti-profitto per le startup indiane?

In che modo le startup Edtech stanno aiutando il potenziamento delle competenze e a rendere la forza lavoro pronta per il futuro

In che modo le startup Edtech stanno aiutando la forza lavoro indiana a migliorare le competenze e a diventare pronte per il futuro...

Azioni tecnologiche new-age questa settimana: i problemi di Zomato continuano, EaseMyTrip pubblica stro...

Le startup indiane prendono scorciatoie alla ricerca di finanziamenti

Le startup indiane prendono scorciatoie alla ricerca di finanziamenti

Secondo quanto riferito, la startup di marketing digitale Logicserve Digital ha raccolto INR 80 Cr in finanziamenti dalla società di gestione patrimoniale alternativa Florintree Advisors.

Piattaforma di marketing digitale Logicserve Borse INR 80 Cr Finanziamenti, rinomina come LS Dig...

Apprendimento multitasking

Che cos'è?

In Multi-Task Learning, più attività di apprendimento vengono risolte contemporaneamente, sfruttando al tempo stesso elementi comuni e differenze tra le attività. È sorprendente, ma a volte imparare due o più compiti insieme (chiamati anche compiti principali e compiti ausiliari) può migliorare i risultati per i compiti. Si noti che non tutte le coppie o terzine o quartetti di compiti possono essere considerati ausiliari. Ma quando funziona, è un incremento gratuito della precisione.

Qualche esempio

Ad esempio, in ParallelDots, i nostri classificatori di Sentiment, Intent ed Emotion Detection sono stati addestrati come Multi-Task Learning, il che ha aumentato la loro precisione rispetto a se li avessimo addestrati separatamente. Il miglior sistema di etichettatura semantica dei ruoli e di tagging POS in NLP che conosciamo è un sistema di apprendimento multitasking, quindi è uno dei migliori sistemi per la segmentazione semantica e delle istanze in Computer Vision. Google ha ideato Multi-Task Learners multimodali (un modello per dominarli tutti) in grado di imparare da set di dati visivi e testuali nella stessa ripresa.

Dimmi di più!

Un aspetto molto importante dell'apprendimento multitasking che si vede nelle applicazioni del mondo reale è dove addestrare qualsiasi attività per diventare a prova di proiettile, dobbiamo rispettare molti domini da cui provengono i dati (chiamato anche adattamento del dominio). Un esempio nei nostri casi d'uso di cani e gatti sarà un algoritmo in grado di riconoscere immagini di diverse fonti (ad esempio telecamere VGA e telecamere HD o persino telecamere a infrarossi). In questi casi una perdita ausiliaria di classificazione del dominio (da cui provengono le immagini) può essere aggiunta a qualsiasi attività e quindi la macchina apprende in modo tale che l'algoritmo continui a migliorare nel compito principale (classificare le immagini in immagini di gatto o cane), ma peggiorando di proposito l'attività ausiliaria (questo viene fatto retropropagando il gradiente di errore inverso dall'attività di classificazione del dominio). L'idea è che l'algoritmo apprenda le caratteristiche discriminanti per l'attività principale, ma dimentichi le caratteristiche che differenziano i domini e questo lo renderebbe migliore. L'apprendimento multitasking e i suoi cugini di adattamento del dominio sono una delle tecniche di apprendimento efficace di maggior successo che conosciamo e hanno un ruolo importante da svolgere nel plasmare il futuro dell'IA.

Apprendimento contraddittorio

Che cos'è?

L'apprendimento contraddittorio come campo si è evoluto dal lavoro di ricerca di Ian Goodfellow. Mentre le applicazioni più popolari dell'apprendimento contraddittorio sono senza dubbio le reti generative contraddittorio (GAN) che possono essere utilizzate per generare immagini straordinarie, ci sono molti altri modi in cui questo insieme di tecniche. Tipicamente questa tecnica ispirata alla teoria dei giochi ha due algoritmi, un generatore e un discriminatore, il cui scopo è ingannarsi a vicenda mentre si allenano. Il generatore può essere utilizzato per generare nuove nuove immagini come abbiamo discusso, ma può anche generare rappresentazioni di qualsiasi altro dato per nascondere i dettagli al discriminatore. Quest'ultimo è il motivo per cui questo concetto ci interessa così tanto.

Qualche esempio

Questo è un campo nuovo e la capacità di generazione di immagini è probabilmente ciò su cui si concentrano le persone più interessate come gli astronomi. Ma crediamo che questo evolverà anche nuovi casi d'uso, come diremo in seguito.

Dimmi di più!

Il gioco di adattamento del dominio può essere migliorato utilizzando la perdita di GAN. La perdita ausiliaria qui è un sistema GAN invece della pura classificazione del dominio, in cui un discriminatore cerca di classificare da quale dominio provengono i dati e un componente del generatore cerca di ingannarlo presentando rumore casuale come dati. Nella nostra esperienza, questo funziona meglio del semplice adattamento del dominio (che è anche più irregolare per il codice).

Pochi colpi di apprendimento

Che cos'è?

Few Shot Learning è uno studio di tecniche che consentono agli algoritmi di Deep Learning (o qualsiasi algoritmo di Machine Learning) di apprendere con un numero inferiore di esempi rispetto a quello che farebbe un algoritmo tradizionale. One Shot Learning è fondamentalmente imparare con un esempio di una categoria, induttivamente apprendimento k-shot significa imparare con k esempi di ciascuna categoria.

Qualche esempio

Pochi Shot Learning come campo stanno vedendo un afflusso di articoli in tutte le principali conferenze di Deep Learning e ora ci sono set di dati specifici su cui confrontare i risultati, proprio come MNIST e CIFAR sono per il normale machine learning. One-shot Learning sta vedendo una serie di applicazioni in alcune attività di classificazione delle immagini come il rilevamento e la rappresentazione di funzionalità.

Dimmi di più!

Esistono diversi metodi utilizzati per l'apprendimento Few Shot, inclusi Transfer Learning, Multi-Task Learning e Meta-Learning come tutto o parte dell'algoritmo. Ci sono altri modi come avere una funzione di perdita intelligente, usare architetture dinamiche o usare hack di ottimizzazione. Zero Shot Learning, una classe di algoritmi che pretendono di prevedere risposte per categorie che l'algoritmo non ha nemmeno visto, sono fondamentalmente algoritmi che possono scalare con un nuovo tipo di dati.

Meta-apprendimento

Che cos'è?

Il meta-apprendimento è esattamente quello che sembra, un algoritmo che si allena in modo tale che, vedendo un set di dati, produca un nuovo predittore di apprendimento automatico per quel particolare set di dati. La definizione è molto futuristica se gli dai una prima occhiata. Ti senti "Whoa! questo è ciò che fa un Data Scientist” e sta automatizzando il “lavoro più sexy del 21° secolo”, e in un certo senso i Meta-Learners hanno iniziato a farlo.

Qualche esempio

Il meta-apprendimento è diventato un argomento caldo nel Deep Learning di recente, con la pubblicazione di molti documenti di ricerca, che utilizzano più comunemente la tecnica per l'ottimizzazione degli iperparametri e della rete neurale, la ricerca di buone architetture di rete, il riconoscimento delle immagini a pochi colpi e l'apprendimento per rinforzo rapido.

Dimmi di più!

Alcune persone si riferiscono a questa automazione completa di decidere sia i parametri che gli iperparametri come l'architettura di rete come autoML e potresti trovare persone che si riferiscono a Meta Learning e AutoML come campi diversi. Nonostante tutto il clamore che li circonda, la verità è che i Meta Learners sono ancora algoritmi e percorsi per scalare l'apprendimento automatico con la complessità e la varietà dei dati in aumento.

La maggior parte dei documenti di Meta-Learning sono hack intelligenti, che secondo Wikipedia hanno le seguenti proprietà:

  • Il sistema deve includere un sottosistema di apprendimento, che si adatta all'esperienza.
  • L'esperienza viene acquisita sfruttando la meta-conoscenza estratta in un precedente episodio di apprendimento su un singolo set di dati o da domini o problemi diversi.
  • La distorsione dell'apprendimento deve essere scelta in modo dinamico.

Il sottosistema è fondamentalmente una configurazione che si adatta quando vengono introdotti i metadati di un dominio (o un dominio completamente nuovo). Questi metadati possono parlare di un numero crescente di classi, complessità, cambiamento di colori, trame e oggetti (nelle immagini), stili, modelli linguistici (linguaggio naturale) e altre caratteristiche simili. Dai un'occhiata ad alcuni fantastici documenti qui: Meta-apprendimento delle gerarchie condivise e Meta-apprendimento utilizzando le convoluzioni temporali. Puoi anche costruire algoritmi Few Shot o Zero Shot usando architetture di Meta-Learning. Il meta-apprendimento è una delle tecniche più promettenti che aiuterà a plasmare il futuro dell'IA.

Ragionamento neurale

Che cos'è?

Il ragionamento neurale è la prossima grande novità nei problemi di classificazione delle immagini. Il Ragionamento neurale è un gradino sopra il riconoscimento di schemi in cui gli algoritmi vanno oltre l'idea di identificare e classificare semplicemente testo o immagini. Il ragionamento neurale risolve domande più generiche nell'analisi del testo o nell'analisi visiva. Ad esempio, l'immagine seguente rappresenta una serie di domande a cui il Ragionamento neurale può rispondere da un'immagine.

Dimmi di più!

Questa nuova serie di tecniche è in arrivo dopo il rilascio del set di dati bAbi di Facebook o del recente set di dati CLEVR. Le tecniche in arrivo per decifrare le relazioni e non solo i modelli hanno un potenziale immenso per risolvere non solo il ragionamento neurale ma anche molti altri problemi difficili, inclusi i problemi di apprendimento con pochi colpi.

Tornare indietro

Ora che sappiamo quali sono le tecniche, torniamo indietro e vediamo come risolvono i problemi di base con cui abbiamo iniziato. La tabella seguente fornisce un'istantanea delle capacità delle tecniche di apprendimento efficace per affrontare le sfide:

Capacità di Tecniche di Apprendimento Efficace

  • Tutte le tecniche sopra menzionate aiutano a risolvere l'allenamento con una quantità minore di dati in un modo o nell'altro. Mentre il Meta-Learning darebbe architetture che si modellano semplicemente con i dati, Transfer Learning sta rendendo la conoscenza di qualche altro dominio utile per compensare un minor numero di dati. Few Shot Learning è dedicato al problema come disciplina scientifica. L'apprendimento contraddittorio può aiutare a migliorare i set di dati.
  • Le architetture Domain Adaptation (un tipo di Multi-Task Learning), Adversarial Learning e (a volte) Meta-Learning aiutano a risolvere i problemi derivanti dalla diversità dei dati.
  • Meta-Learning e Few Shot Learning aiutano a risolvere i problemi dei dati incrementali.
  • Gli algoritmi di ragionamento neurale hanno un potenziale immenso per risolvere i problemi del mondo reale se incorporati come Meta-Learners o Few Shot Learners.

Tieni presente che queste tecniche di apprendimento efficace non sono nuove tecniche di apprendimento profondo/apprendimento automatico, ma aumentano le tecniche esistenti come hack che le rendono più convenienti. Quindi, vedrai ancora i nostri strumenti regolari come le reti neurali convoluzionali e gli LSTM in azione, ma con le spezie aggiunte. Queste tecniche di apprendimento efficace, che funzionano con meno dati ed eseguono molte attività in una volta sola, possono aiutare a produrre e commercializzare più facilmente prodotti e servizi basati sull'intelligenza artificiale. In ParallelDots, riconosciamo il potere dell'apprendimento efficiente e lo incorporiamo come una delle caratteristiche principali della nostra filosofia di ricerca.


Questo post di Parth Shrivastava è apparso per la prima volta sul blog ParallelDots ed è stato riprodotto con il permesso.