Perché è così importante avere teorie di principio e matematiche per l'apprendimento automatico?


25

Mi chiedevo, perché è così importante avere l'apprendimento automatico di principio / teorico? Da una prospettiva personale come essere umano, posso capire perché l'apprendimento automatico basato sui principi sarebbe importante:

  • agli umani piace capire cosa stanno facendo, troviamo bellezza e soddisfazione per la comprensione.
  • dal punto di vista della teoria, la matematica è divertente
  • quando ci sono principi che guidano la progettazione delle cose, c'è meno tempo speso per ipotesi casuali, strane prove ed errori. Se capissimo, diciamo, come funzionavano davvero le reti neurali, forse potremmo passare molto più tempo a progettarle piuttosto che alle enormi quantità di tentativi ed errori che si verificano proprio ora.
  • più recentemente, se i principi sono chiari e anche la teoria è chiara, allora dovrebbe esserci (si spera) una maggiore trasparenza del sistema. Questo è positivo perché se capiamo cosa sta funzionando il sistema, allora l'intelligenza artificiale rischia che molte persone chiedano a gran voce se ne va quasi immediatamente.
  • i principi sembrano essere un modo conciso per sintetizzare le strutture importanti che il mondo potrebbe avere e quando usare uno strumento piuttosto che un altro.

Tuttavia, questi motivi sono abbastanza forti da giustificare un intenso studio teorico dell'apprendimento automatico? Una delle maggiori critiche alla teoria è che, poiché è così difficile da fare, di solito finiscono per studiare un caso molto ristretto o le ipotesi che devono essere portate rendono essenzialmente i risultati inutili. Penso di averlo sentito una volta durante un discorso al MIT dal creatore di Tor. Il fatto che alcune delle critiche a Tor che ha ascoltato sia l'argomento teorico, ma essenzialmente le persone non sono mai in grado di provare cose sugli scenari reali della vita reale perché sono così complicate.

In questa nuova era con così tanta potenza e dati di elaborazione, possiamo testare i nostri modelli con set di dati e set di test reali. Possiamo vedere se le cose funzionano usando l'empirismo. Se possiamo invece ottenere AGI o sistemi che funzionano con ingegneria ed empirismo, vale comunque la pena perseguire una giustificazione di principio e teorica per l'apprendimento automatico, specialmente quando i limiti di quantificazione sono così difficili da raggiungere, ma intuizioni e risposte qualitative sono molto più facili da ottenere ottenere con un approccio basato sui dati? Questo approccio non era disponibile nelle statistiche classiche, motivo per cui penso che la teoria fosse così importante in quei tempi, perché la matematica era l'unico modo in cui potevamo essere sicuri che le cose fossero corrette o che funzionassero davvero come pensavamo che facessero.

Personalmente ho sempre amato e pensato la teoria e un approccio di principio era importante. Ma con il potere di provare semplicemente le cose con dati reali e la potenza di calcolo mi ha fatto domandare se valga ancora la pena lo sforzo elevato (e potenzialmente i bassi premi) della ricerca teorica.

La ricerca teorica e di principio dell'apprendimento automatico è davvero così importante?


"Senza teoria, fai affidamento sulla speranza che i risultati empirici si applichino a qualsiasi nuovo set di dati su cui applicherai i metodi ML. Tuttavia, alcune proprietà o ipotesi che si sono verificate quando hai osservato i tuoi risultati empirici potrebbero non essere necessariamente lì andando avanti su nuovi set di dati ".
Charlie Parker il

Risposte:


17

Non c'è una risposta giusta a questo, ma, forse, "tutto con moderazione". Mentre molti recenti miglioramenti nell'apprendimento automatico, come dropout, connessioni residue, connessioni dense, normalizzazione batch, non sono radicati in una teoria particolarmente profonda (la maggior parte può essere giustificata in alcuni paragrafi), penso che alla fine ci sia un collo di bottiglia per quanti tali risultati possono avere un impatto enorme. Ad un certo punto devi sederti e elaborare qualche teoria in più per fare il prossimo grande salto. Inoltre, la teoria può guidare l'intuizione perché può dimostrare entro un ragionevole dubbio la qualità o i limiti di un modello. Ciò è particolarmente importante per capire se dire che SGD è meglio di Momentum per un problema particolare. Questa è la cosa bella della teoria: ti costringe ad astrarre il problema che stai risolvendo,

Il grande esempio che viene in mente è il supporto di macchine vettoriali. Sono stati originariamente ideati da Vapnik e Chervonenkis nei primi anni '60, ma sono davvero decollati nei primi anni '90 quando Vapnik e altri hanno capito che puoi fare SVM non lineari usando il Kernel Trick. Vapnik e Chervonenkis hanno anche elaborato la teoria alla base della dimensione VC, che è un tentativo di elaborare una misura di complessità per l'apprendimento automatico. Non riesco a pensare a nessuna applicazione pratica della dimensione VC, ma penso che l'idea degli SVM sia stata probabilmente influenzata dal loro lavoro su questo. Lo stesso Kernel Trick proviene da una matematica senza senso sugli spazi di Hilbert. Potrebbe essere un po 'a dirsi che è necessario conoscere questa assurdità astratta per elaborare SVM, ma penso che probabilmente abbia aiutato un bel po', soprattutto perché molti matematici erano entusiasti dell'apprendimento automatico.

A proposito di ResNet, recentemente ci sono stati alcuni lavori davvero accurati che suggeriscono che le architetture residue non hanno davvero bisogno di essere profonde centinaia di strati. In effetti, alcuni lavori suggeriscono che le connessioni residue sono molto simili alle RNN, ad esempio colmare le lacune tra apprendimento residuo, reti neurali ricorrenti e Visual Cortex ", Liao et al. Penso che questo valga sicuramente la pena approfondire perché suggerisce che teoricamente, ResNet con molti livelli è incredibilmente inefficiente e gonfio.

Le idee per il clipping gradiente per gli RNN erano molto ben giustificate nell'ormai famoso articolo " Sulla difficoltà di formare reti neuronali ricorrenti " - Pascanu, et. al. Anche se probabilmente potresti trovare un gradiente di ritaglio senza tutta la teoria, penso che faccia molto per capire perché gli RNN sono così dannatamente difficili da addestrare senza fare qualcosa di stravagante, specialmente disegnando analogie con mappe di sistema dinamiche (come fa il documento sopra ).

C'è molta eccitazione per i metodi di discesa gradiente stocastica di Entropy . Questi sono derivati ​​dalla dinamica di Langevin e molti dei risultati teorici sono saldamente radicati nella teoria della PDE teorica classica e nella fisica statistica. I risultati sono promettenti perché gettano SGD sotto una nuova luce, in termini di come si blocca nelle fluttuazioni locali della funzione di perdita e come si può regolare localmente la funzione di perdita per rendere SGD molto più efficiente. Fa molto per capire quando SGD è utile e quando si comporta male. Questo non è qualcosa che puoi derivare empiricamente provando SGD su diversi tipi di modelli.

Nel documento Proprietà intriganti delle reti neuronali , gli autori riassumono che le reti neuronali sono sensibili agli esempi contraddittori (definiti come perturbazioni calcolate e di slittamento di un'immagine) a causa delle elevate costanti di Lipchitz tra gli strati. Questa è ancora un'area attiva di ricerca e può essere compresa meglio attraverso derivazioni più teoriche.

C'è anche l'esempio dell'analisi dei dati topologici , attorno al quale si è formata almeno un'azienda ( Ayasdi ). Questo è un esempio particolarmente interessante perché le tecniche utilizzate sono così specifiche e astratte che anche da oggi ci vorrà ancora molto tempo per vedere dove finiscono le idee di questa teoria. La mia comprensione è che la complessità computazionale degli algoritmi coinvolti tende ad essere piuttosto elevata (ma poi era altrettanto elevata per le reti neurali anche 20 anni fa).


7

La risposta a questa domanda è in realtà molto semplice. Con la giustificazione teorica alla base del modello di apprendimento automatico, possiamo almeno dimostrare che quando vengono soddisfatte alcune condizioni più o meno realistiche, ci sono alcune garanzie di ottimalità per la soluzione. Senza di essa, non abbiamo alcuna garanzia. Certo, puoi dire "controlliamo solo ciò che funziona e usiamolo per il problema specifico", ma questo non è fattibile poiché esiste un numero infinito di modi in cui puoi risolvere qualsiasi problema di apprendimento automatico.

Dire che si desidera prevedere qualche , dato un po ' . Come fai a sapere che non è un modo ottimale per risolverlo? Che dire di ? Oppure, ? Forse restituisci come tua previsione? O se è dispari usa e altrimenti restituisce ? Certo, tutti questi suggerimenti sembrano assurdi, ma come puoi essere sicuro, senza alcuna teoria, che uno di questi non sarebbe ottimale? Con un numero infinito di possibili soluzioni, anche il problema più semplice diventa irrisolvibile. La teoria limita il tuo "spazio di ricerca" dei modelli possibili per una certa classe di problemi (sai quali modelli vale la pena considerare e quali no).XYXX + 42,5 X+42X+42.5 42XX+420X4242XX+420


2
sta verificando se il modello addestrato funziona sulla convalida e i set di test non sono sufficienti? Come quali garanzie hanno i limiti teorici se i loro limiti non possono essere effettivamente utilizzati?
Charlie Parker,

6
@CharlieParker ok, quindi inizia con la validazione incrociata di tutti i modelli cui è , quanto tempo ci vorrebbe per trovare il migliore? Si noti che questo è solo un modello molto semplice e puoi fare molto di più aggiungendo la costante, quindi dopo aver verificato il numero infinito di tali modelli, dovrai controllare un numero infinito di classi di infiniti numeri di modelli ... Inoltre: come fai a sapere che la validazione incrociata "funziona"? Lo sai per motivi teorici . c ( - , )X+cc(,)
Tim

5

Basta guardare alla domanda: la ricerca teorica e di principio dell'apprendimento automatico è davvero così importante?

Definisci cosa vuoi dire con "importante". Venire da un punto di vista filosofico è una distinzione fondamentale se vuoi descrivere qualcosa o capire qualcosa. In una risposta un po 'rozza è la differenza tra essere scientifici o qualcos'altro. La parte pratica di ciò non riguarda la questione di fondo. Se qualcosa è troppo difficile da dimostrare, o addirittura impossibile da provare in sé, è una scoperta importante. (Enter Goedel et al.) Ma questo non significa che sia irrilevante. Può almeno sembrare irrilevante da un punto di vista pragmatico. Ma dovrebbe almeno essere riconosciuto come qualcosa di principale importanza e valore.

Considera un'analogia: la medicina nel suo insieme (e dal suo passato) non è scientifica. In un certo senso, in realtà non può mai essere. È una disciplina interamente governata dal suo esito. Nella maggior parte dei casi non esiste nulla di simile alla "verità". Ma si scopre che alcune parti possono effettivamente essere scientifiche - ed è qui che sta avvenendo la maggior parte dei progressi pianificati.

Un'altra descrizione estremamente breve potrebbe essere: senza teoria puoi fare molti soldi. Se è davvero utile per un "bene superiore", potresti persino ottenere un premio Nobel per questo. Ma non otterrai mai la medaglia Fields.


1
+1 Trovo che questa sia una risposta interessante al PO, ma ti chiederei di approfondire la medicina come non scientifica. Il processo diagnostico di ricerca di ciò che sta soffrendo non è forse un processo, in cui si suppone che le diagnosi differenziali (un concetto teorico di malattie sospette) e i dati vengano raccolti per prevedere quale malattia è la più probabile? ...
IWS,

(proseguendo) ... non ci sono prognosi, in cui i medici cercano di stimare il decorso futuro della malattia sulla base dei dati disponibili, che possono essere e di solito sono controllati da follow-up e risultati empirici? E infine, la scienza è alla ricerca di una verità superiore ma esistente, o approssimiamo un costrutto di verità che crediamo sia presente in questo momento?
IWS,

In realtà la questione della medicina è un po 'più profonda. La scienza è fondamentalmente solo un metodo o un processo. Affinché la scienza "funzioni" devi avere la capacità di testare le ipotesi su un piano di parità con la possibilità intrinseca di falsificazione. In breve: se non puoi dimostrare che una teoria è sbagliata, non è scientifica. Per la medicina questo ha troppe implicazioni etiche e dal momento che non è possibile trattare qualcuno nello stesso momento con opzioni diverse, il test delle ipotesi è davvero difficile. [...]
cherubino,

Per quanto riguarda la seconda parte (la scienza come ricerca della verità) - di nuovo, è solo un metodo. Sembra essere il metodo di maggior successo che l'umanità abbia escogitato. Ma non è basato su credere, è basato su fatti. E per certi versi è anche un sistema chiuso. Non esiste una distinzione (scientifica) tra la verità e una costruzione che sembra essere la stessa. L'accordo tra gli scienziati potrebbe darti alcune regole pratiche (ad esempio Occams Razor), ma la scienza non è una bussola nei mari della non scienza.
cherubino,

5

Gli umani sono stati in grado di costruire navi, carrozze ed edifici per secoli senza le leggi della fisica. Ma dalla scienza moderna, siamo stati in grado di portare queste tecnologie a un livello completamente nuovo. Una teoria comprovata consente di apportare miglioramenti in modo di principio. Non saremmo mai arrivati ​​sulla luna o avremmo avuto computer senza una teoria matematica della materia e del calcolo.

L'apprendimento automatico è solo un altro campo della scienza e dell'ingegneria come qualsiasi altro. Un approccio di principio all'apprendimento automatico ci ha fornito macchine kernel, apprendimento strutturato e metodi di ensemble (potenziamento, foreste casuali).


5

Ecco un semplice esempio dal mio stesso lavoro.

Adatto molte reti neurali a risultati continui. Uno determina i pesi mediante backpropagation. Alla fine, converge.

Ora, la funzione di attivazione del livello superiore è l'identità e la mia perdita è un errore al quadrato. A causa della teoria , so che il vettore di peso di livello superiore che minimizza la perdita dell'errore al quadrato è buono vecchio dove sono le attivazioni ai massimi livelli e sono i risultati. Quando corto circuito di backprop utilizzando una soluzione a forma chiusa per i pesi di livello superiore, ho solo bisogno di backprop per ottimizzare i pesi di livello inferiore. Ay

(ATA)1ATy
Ay

La mia rete converge molto più velocemente .

Grazie teoria.


3

Empirismo vs teoria

Hai scritto:

Una delle maggiori critiche alla teoria è che, poiché è così difficile da fare, di solito finiscono per studiare un caso molto ristretto o le ipotesi che devono essere portate rendono essenzialmente i risultati inutili.

Questo, a mio avviso, dimostra la principale divisione tra i due punti di vista che possiamo chiamare empirici e teorici .

Da un punto di vista empirico, come hai anche descritto, i teoremi sono inutili perché non sono mai abbastanza complessi da modellare il mondo reale. Parlano di scenari ideali semplificati che non si applicano in nessuna parte del mondo reale. Quindi qual è il punto nel fare la teoria.

Tuttavia da un punto di vista teorico è vero il contrario. Cosa può insegnarci l'empirismo oltre "Ho eseguito questo metodo su questo set di dati ed era meglio che eseguire quell'altro metodo su questo stesso set di dati". Questo è utile per un'istanza, ma dice poco sul problema.

Ciò che la teoria fa è fornire alcune garanzie. Ci consente inoltre di studiare esattamente gli scenari semplificati in modo da poter iniziare a capire cosa sta succedendo.

Esempio

Immagina un esempio reale: vuoi vedere come la deriva dei concetti (quando i dati cambiano nel tempo) influisce sulla tua capacità di apprendimento. In che modo un puro empirista dovrebbe affrontare questa domanda? Tutto quello che può fare è iniziare ad applicare metodi diversi e pensare ai trucchi che può fare. L'intera procedura potrebbe essere simile a questa:

  • Passa oltre 300 giorni e prova a rilevare se la media di quella variabile è cambiata. OK ha funzionato un po '.
  • E se provassimo invece 200 giorni?
  • OK meglio, proviamo a cambiare l'algoritmo una volta che si verifica la deriva.
  • Ottieni più set di dati e vedi quale metodo sviluppato finora funziona meglio.
  • I risultati non sono conclusivi, forse indovinate che ci sono più tipi di derapate in corso?
  • Prova le simulazioni. Che cosa succede se simuliamo un po 'di deriva dei concetti e quindi applichiamo metodi diversi utilizzando un numero diverso di giorni utilizzati per rilevare se si è verificato un cambiamento.

Ciò che abbiamo qui sono risultati abbastanza precisi su alcuni set di dati. Forse i dati erano in modo tale che l'aggiornamento dell'algoritmo di apprendimento basato sulle osservazioni dei 200 giorni precedenti ha dato la massima precisione. Ma lo stesso funzionerà con altri dati? Quanto è affidabile questa stima di 200 giorni? Le simulazioni aiutano, ma non riflettono il mondo reale, lo stesso problema teorico.

Ora immagina lo stesso da un punto di vista teorico:

  • Semplifica lo scenario a un livello assurdo. Forse usare una distribuzione normale a 2 variabili con una media che cambia improvvisamente nel tempo.
  • Scegli le condizioni in modo chiaro: scegli il modello ottimale per i dati normali. Supponiamo che tu sappia che i dati sono normali. Tutto quello che non sai è quando si verifica il cambiamento.
  • Dispositivo un metodo per rilevare quando si è verificato lo spostamento. Ancora una volta può iniziare con 200 osservazioni precedenti.
  • Sulla base di queste impostazioni dovremmo essere in grado di calcolare l'errore medio per il classificatore, il tempo medio impiegato dall'algoritmo rileva se si sono verificati cambiamenti e si aggiorna. Forse gli scenari peggiori e le garanzie con un livello di probabilità del 95%.

Ora questo scenario è più chiaro: siamo riusciti a isolare il problema correggendo tutti i dettagli. Conosciamo l'errore medio dei nostri classificatori. Probabilmente può stimare il numero di giorni necessari per rilevare che si è verificato un cambiamento. Riduci da quali parametri dipende (come forse la dimensione della modifica). E ora basato su qualcosa produce una soluzione pratica. Ma soprattutto: questo risultato (se calcolato correttamente) è invariato. È qui per sempre e chiunque può imparare da esso.

Come uno dei padri del moderno machine learning - a Jürgen Schmidhuber piace dire:

L'euristica va e viene: i teoremi sono per l'eternità.

Lezioni da altri campi

Volevo anche brevemente menzionare alcuni parallelismi con la fisica. Penso che anche loro avessero questo dilemma. I fisici studiavano oggetti senza attrito di massa infinita che si muovevano nello spazio infinito. A prima vista cosa ci può dire sulla realtà in cui vogliamo sapere come si muovono i fiocchi di neve nel vento. Ma sembra che la teoria li abbia portati molto lontano.


2

Hai citato alcuni motivi, di cui la capacità di interpretare i risultati ML è la più importante, secondo me. Supponiamo che la guardia della proprietà guidata dall'intelligenza artificiale abbia deciso di sparare al cane del vicino. Sarebbe importante capire perché lo ha fatto. Se non per impedire che ciò accada in futuro, almeno per capire chi è responsabile e chi pagherà il risarcimento del proprietario.

Tuttavia, per me il motivo più importante è che la comprensione dei principi su cui si basa l'algoritmo consente di comprenderne i limiti e migliorarne le prestazioni. Considera l'uso della distanza euclidea in ML. In molti algoritmi di clustering si inizia con la definizione della distanza tra esempio, quindi si procede alla ricerca dei limiti tra le caratteristiche degli esempi che li raggruppano in prossimità. Una volta aumentato il numero di funzioni, la distanza euclidea smette di funzionare ad un certo punto. Puoi passare molto tempo a cercare di farlo funzionare o, se sai che la distanza euclidea come misura di prossimità non funziona in un limite dimensionale infinito, passa semplicemente a qualche altra metrica di distanza, come Manhattan, quindi procedi al lavoro su problemi reali. Puoi trovare tantissimi esempi come questo,


2
Ho già sentito questa affermazione prima, ma non credo di essere a conoscenza di alcun esempio specifico che possa dimostrarlo: esiste un esempio di alcuni dati che non si raggruppano bene con le distanze euclidee ma si raggruppano bene con le distanze di Manhattan?
ameba dice di reintegrare Monica il

1
@amoeba ecco il riferimento comune, anche se mi sono imbattuto in questo in un contesto diverso. Se si osserva il rapporto tra il volume di un'ipersfera all'interno di un ipercubo unitario, esso si riduce a zero quando la dimensionalità dell'ipercubo va all'infinito. Fondamentalmente in dimensioni superiori tutti i corpi convessi collassano in punti - la mia interpretazione
Aksakal,

2

Penso che sia molto difficile non essere una discussione filosofica. La mia risposta è davvero una riformulazione di punti positivi già menzionati qui (+ 1s per tutti); Voglio solo indicare una citazione di Andrew Gelman che mi ha davvero parlato come qualcuno che ha studiato informatica. Ho l'impressione che molte delle persone che chiamano ciò che fanno l'apprendimento automatico provengano anche dall'informatica. La citazione è tratta da un discorso tenuto da Gelman alla conferenza R di New York del 2017 chiamata Theoretical Statistics is the Theory of Applied Statistics :

La teoria è scalabile.

La teoria ti dice cosa ha senso e cosa no in determinate condizioni. Vogliamo fare migliaia o decine di migliaia o milioni di simulazioni per avere un'idea della verità? Vogliamo fare confronti empirici su sempre più set di dati di riferimento? Ci vorrà del tempo e i nostri risultati potrebbero essere ancora fragili. Inoltre, come facciamo a sapere che i confronti che facciamo hanno senso? Come facciamo a sapere che il nostro nuovo Deep Learner con un'accuratezza del 99,5% è davvero migliore di quello precedente con un'accuratezza del 99,1%? Qualche teoria aiuterà qui.

Sono un grande fan delle simulazioni e le uso molto per dare un senso al mondo (o anche per dare un senso alla teoria), ma l'apprendimento automatico teorico è la teoria dell'apprendimento automatico applicato.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.