Risultati teorici dietro le reti neurali artificiali


13

Ho appena coperto reti neurali artificiali nel corso di Machine Learning di Coursera e mi piacerebbe conoscere più teoria dietro di loro. Trovo la motivazione che imitano la biologia un po 'insoddisfacente.

In superficie sembra che ad ogni livello sostituiamo le covariate con una loro combinazione lineare. Facendolo ripetutamente, consentiamo l'adattamento del modello non lineare. Ciò pone la domanda: perché le reti neurali a volte sono preferite solo per adattarsi a un modello non lineare.

Più in generale, vorrei sapere come le reti neurali artificiali si adattano al quadro di inferenza bayesiana che è descritto in dettaglio nel libro di ET Jaynes "Probability Theory: The Logic Of Science". O, per dirla semplicemente, perché le reti neurali artificiali funzionano quando funzionano? E, naturalmente, il fatto che facciano previsioni di successo implica che seguono il quadro sopra menzionato.

Risposte:


16

Ecco una citazione da " A Backward Look to the Future ", di ET Jaynes.

Nuovi annunci pubblicitari

Negli ultimi anni l'abitudine ortodossa di inventare dispositivi intuitivi piuttosto che fare appello a qualsiasi principio teorico connesso è stata estesa a nuovi problemi in un modo che fa sembrare inizialmente che siano stati creati diversi nuovi campi della scienza. Eppure tutti sono interessati al ragionamento da informazioni incomplete; e crediamo di avere teoremi che stabiliscono che la teoria della probabilità come logica è il mezzo generale per affrontare tutti questi problemi. Notiamo tre esempi.

I set fuzzy sono - ovviamente, per chiunque sia addestrato nell'inferenza bayesiana - approssimazioni grossolane alle precedenti probabilità bayesiane. Sono stati creati solo perché i loro praticanti hanno continuato a pensare alla probabilità in termini di "casualità" che si suppone esistesse in Natura ma mai ben definita; e così concluso che la teoria della probabilità non è applicabile a tali problemi. Non appena si riconosce la probabilità come modo generale per specificare informazioni incomplete , il motivo dell'introduzione dei Fuzzy Set scompare.

Allo stesso modo, gran parte dell'Intelligenza Artificiale (AI) è una raccolta di dispositivi intuitivi per il ragionamento da informazioni incomplete che, come i più vecchi delle statistiche ortodosse, sono approssimazioni ai metodi bayesiani e utilizzabili in alcune classi ristrette di problemi; ma che danno conclusioni assurde quando proviamo ad applicarle a problemi al di fuori di quella classe. Ancora una volta, i suoi praticanti sono coinvolti in questo solo perché continuano a pensare alla probabilità come a una "casualità" fisica anziché a informazioni incomplete. Nell'inferenza bayesiana tutti questi risultati sono contenuti automaticamente - e piuttosto banalmente - senza alcuna limitazione a una classe ristretta di problemi.

Il grande nuovo sviluppo è Neural Nets, che significa un sistema di algoritmi con la meravigliosa nuova proprietà che sono, come il cervello umano, adattivi in ​​modo che possano imparare dagli errori del passato e correggersi automaticamente (WOW! Che grande nuova idea!) . In effetti, non siamo sorpresi di vedere che le reti neurali sono in realtà molto utili in molte applicazioni; più di Fuzzy Sets o AI. Tuttavia, le attuali reti neurali presentano due carenze pratiche; (a) Forniscono un output determinato dal presente input più le informazioni di addestramento precedenti. Questo risultato è davvero una stimadella risposta corretta, basata su tutte le informazioni a portata di mano, ma non fornisce alcuna indicazione della sua precisione, e quindi non ci dice quanto siamo vicini all'obiettivo (cioè, quanto più addestramento è necessario); (b) Quando si richiede una risposta non lineare, si fa appello a una funzione non lineare "sigmoide" standard memorizzata internamente, che con varie amplificazioni e miscele lineari può essere fatta per approssimare, in una certa misura, la vera funzione non lineare. (Nota: enfatizzare il mio.)

Ma dobbiamo davvero sottolineare che (1) qualsiasi procedura adattiva è, per definizione, un mezzo per tenere conto di informazioni incomplete; (2) Il teorema di Bayes è precisamente la madre di tutte le procedure adattive; la regola generale per l'aggiornamento di qualsiasi stato di conoscenza per tener conto di nuove informazioni; (3) Quando questi problemi sono formulati in termini bayesiani, un singolo calcolo fornisce automaticamente sia la migliore stima che la sua accuratezza; (4) Se viene richiesta la non linearità, il teorema di Bayes genera automaticamente l'esatta funzione non lineare richiesta dal problema, invece di provare a costruirne un'approssimazione da un altro dispositivo ad hoc .

In altre parole, sosteniamo che questi non sono affatto nuovi campi; solo false inizia. Se si formulano tutti questi problemi con la prescrizione standard bayesiana, si ottengono automaticamente tutti i risultati utili in forma migliorata. Le difficoltà che le persone sembrano avere nel comprendere questo sono tutti esempi dello stesso fallimento nel concettualizzare la relazione tra la matematica astratta e il mondo reale. Non appena riconosciamo che le probabilità non descrivono la realtà - solo le nostre informazioni sulla realtà - le porte sono spalancate alla soluzione ottimale dei problemi di ragionamento da quella informazione.

Alcuni commenti:

  1. La lettera a) ignora gli sviluppi delle reti neurali bayesiane, iniziate tra la fine degli anni ottanta e l'inizio degli anni novanta (ma si noti che l'articolo di Jaynes è stato scritto nel 1993). Dai un'occhiata a questo post . Inoltre, considera di leggere la bellissima tesi di dottorato di Yarin Gal e di guardare questa fantastica presentazione di Zoubin Ghahramani.

  2. Non vedo come la lettera b) possa essere un "difetto". In effetti, è l'essenza del motivo per cui le reti neurali possono approssimare bene una grande classe di funzioni. Si noti che le recenti architetture di successo sono passate dalle attivazioni sigmoid a ReLU negli strati interni, favorendo la "profondità" piuttosto che la "ampiezza". Teoremi di approssimazione sono stati recentemente dimostrati per le reti ReLU.


2
+1 Niente è più soddisfacente di sapere esattamente dove si trova il riferimento esatto per una risposta.
Sycorax dice di reintegrare Monica il

5
Dato che i dispositivi ad hoc hanno dimostrato di funzionare in molte situazioni, sarebbe produttivo mostrare (o confutare) che si adattano semplicemente al framework bayesiano e, quindi, ottenere una comprensione più profonda degli adhockeries, che sono così ampiamente utilizzati giorni. Questo è il tipo di lavoro che mi interessa.
Tom Artiom Fiodorov,

1

Prima di tutto non impiliamo le funzioni lineari l'una nell'altra per ottenere una funzione non lineare. C'è un chiaro motivo per cui gli NN non potrebbero mai funzionare in questo modo: impilare le funzioni lineari tra loro produrrebbe di nuovo una funzione lineare.

Ciò che rende gli NN non lineari è la funzione di attivazione che sta dietro la funzione lineare! Tuttavia, in linea di principio hai ragione: impiliamo semplicemente molte regressioni logistiche (non lineari però!) L'una nell'altra e ... tadaa: ne ricaviamo qualcosa di buono ... è giusto? Si scopre che (da un punto di vista teorico) in realtà è giusto. Ancora peggio: usando il celebre e noto Teorema di Stone-Weierstrass dimostriamo semplicemente che le reti neurali con un solo strato nascosto e nessuna funzione di output nel nodo finale sono sufficienti per approssimare qualsiasi funzione continua (e credermi, le funzioni continue possono essere brutte bestie, vedi la "scala dei diavoli": https://en.wikipedia.org/wiki/Cantor_distribution[a,b]x↦=b+a1ϕ1(x)+...+alϕl(x)l

Perché allora usiamo NN profonde? Il motivo è che il teorema SW sopra garantisce solo che vi è una dimensione del layer sufficientemente grande in modo che possiamo avvicinarci alla nostra funzione target (si spera continua). Tuttavia, la dimensione del layer necessaria potrebbe essere così grande che nessun computer potrebbe mai gestire matrici di peso di tale dimensione. Le NN con livelli più nascosti sembrano essere un buon compromesso tra "accuratezza" e calcolabilità. Non conosco alcun risultato teorico che indichi la direzione di "quanto" aumenta l'espressività delle NN quando si inseriscono più livelli nascosti rispetto all'aumento delle dimensioni del singolo livello nascosto ma forse ci sono alcune risorse sul web ...

Possiamo veramente capire le NN profonde? Domande di esempio: Perché l'NN prevede esattamente che questo caso sia VERO mentre prevede l'altro caso simile come FALSO? Perché valuta questo cliente esattamente più prezioso dell'altro? Non ci credo proprio. Viene con la complicità del modello che non puoi più spiegarlo ragionevolmente bene ... Ho solo sentito che questa è ancora un'area attiva di ricerca ma non conosco alcuna risorsa ...

Cosa rende gli NN così unici tra tutti i modelli? La vera ragione per cui usiamo così tanto le NN in questi giorni è per i seguenti due motivi:

  1. Vengono forniti con una proprietà "streaming" naturale.
  2. Possiamo sfruttarli al massimo in molte direzioni.

TfTTT, ecc.) si basa su questa proprietà. Le persone hanno tentato di infondere questa proprietà di streaming ad altri modelli (ad esempio il Gradient Boosting) ma non è così naturale e non è così economico dal punto di vista computazionale come nell'impostazione NN.

Per 2. Voglio dire che le persone hanno addestrato le NN a fare le cose più strane ma in linea di principio hanno usato lo stesso framework: impilando funzioni lisce l'una nell'altra e poi lascia che il computer (ad esempio PyTorch / Tensorflow) faccia la matematica sporca per te come il computer il derivato della funzione di perdita ha contrapposto i pesi. Un esempio sarebbe questo documentodove le persone hanno usato l'approccio RL e hanno anche sfruttato l'architettura della NN per imparare il linguaggio complesso delle sostanze chimiche insegnandogli come operare su uno stack di memoria (!). Prova a farlo con il potenziamento del gradiente ;-) Il motivo per cui devono farlo è che il linguaggio dei prodotti chimici è almeno "difficile da imparare" come il linguaggio delle parentesi (cioè ogni parentesi aperta ha una chiusura più avanti nella parola ) perché il linguaggio SMILES utilizzato per descrivere le molecole contiene i simboli "(" e ")". Dall'informatica teorica (gerarchia di Chomsky) si sa che non si può descrivere questo linguaggio con automi regolari ma si ha bisogno di automi push down (cioè automi con memoria stack). Questa era la motivazione per loro (immagino) di insegnare questa cosa strana alla NN.


-1

"Perché funziona quando funziona?"

n

Quindi, tutto l'apprendimento automatico è similmente ad hoc.

L'apprendimento automatico è simile all'alchimia: ci sono molte ricette enigmatiche, ne applichi una e potresti ottenere l'oro. In caso contrario, basta applicare un'altra ricetta.

Nessuno fa la domanda che hai posto, almeno non nelle pubblicazioni che conosco.

Inoltre, esiste una teoria dell'apprendimento statistico. La teoria dell'apprendimento statistico presuppone che la dimensione dell'insieme di addestramento vada all'infinito. La maggior parte dei risultati che conosco hanno la forma: "in determinate condizioni, se si dispone di un set di allenamento sufficientemente ampio, è possibile ottenere quasi il miglior risultato possibile utilizzando questa procedura". Le stime di ciò che è "abbastanza grande" vanno oltre l'immaginazione.

Naturalmente, il problema è che le dimensioni del set di allenamento non vanno da nessuna parte, figuriamoci all'infinito.

Quindi, penso, sia un buon momento per (1) porre questa domanda, (2) sviluppare un apparato matematico per rispondere alla domanda su tutti i possibili algoritmi di apprendimento automatico e (3) rispondere a questa domanda.

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.