Programma per l'avanzamento delle scienze dell'apprendimento: apprendimento computazionale, machine learning e neuroscienze
Lettera sulla philosophy-of-learning delle scienze dell'informazione, verso la loro trasformazione in scienze dell'apprendimento: philosophy-of-learning della matematica, philosophy-of-learning dell'informatica, philosophy-of-learning dell'apprendimento computazionale e philosophy-of-learning delle neuroscienze
Filosofia dell'apprendimento della matematica
Tu pensi che la philosophy-of-learning della matematica non sia interessante, ma è davvero la cosa più interessante che ci sia. Si sarebbe dovuto prendere l'apprendimento come fondamento della matematica. Non la scrittura delle dimostrazioni - ma l'apprendimento delle dimostrazioni, perché la costruzione matematica non è nel suo profondo una costruzione logica (questa è solo la sua superficie linguistica), ma una costruzione basata sull'apprendimento. Il problema centrale delle neuroscienze è pensare al cervello come a un singolo agente, invece di capire che c'è competizione nel cervello - tra pensieri, tra moduli (per esempio per l'attenzione e le decisioni), tra diverse memorie, tra neuroni, e tra diverse continuazioni di questa frase (e questa competizione è parallela alla competizione economica o politica, che costruisce sistemi che apprendono, come la democrazia o il capitalismo o la meritocrazia cinese, ed è la radice del loro successo). Così il problema centrale della matematica è che non concettualizza al suo interno i suoi molteplici agenti, i matematici, che la studiano, e non concettualizza affatto l'apprendimento che sta sotto la matematica (come in passato non concettualizzava la logica sotto la matematica, e poi Frege ha fatto della logica il fondamento della matematica, così sotto la logica - ciò che la fa funzionare, e che diventerà in seguito il fondamento della matematica - c'è l'apprendimento matematico). Non solo - l'apprendimento deve essere lo strumento per definire i concetti base della matematica, su cui tutto è costruito: limite, gruppo, topologia, spazio, dimostrazione, insieme, numeri primi, probabilità, funzione, continuità, ecc. E così bisogna fare alla matematica una ri-costruzione basata sull'apprendimento, una assiomatizzazione e interpretazione nuova (come una possibile interpretazione basata sull'apprendimento della teoria quantistica, tra le sue varie interpretazioni). La proprietà di composizione e costruzione della matematica - e in particolare dell'algebra - ha origine nell'apprendimento, e deve essere fondata su di esso. Supponiamo che tu abbia già imparato come fare a, b, come scatola nera. Cosa significa avere questa funzione? Cosa significa sapere, per esempio una dimostrazione? Come impari usando questo per arrivare a c? Arriverà un momento in cui non potrai più dire semplicemente ho una funzione, ma a differenza dell'intuizionismo di Brouwer o della costruzione assiomatico-computazionale del formalismo, la costruzione che dovrai fornire è basata sull'apprendimento: come hai imparato la funzione. E anche se la funzione esiste già in te (diciamo nella neurologia del tuo cervello), come scatola nera, conoscerla non significa usarla, cioè conoscere non è la capacità di dare la sua risposta agli input, ma il significato del conoscere è la capacità di imparare attraverso di essa, ovvero costruire da questa scatola nera (che non capisci) continuazioni di apprendimento appropriate. Come la conoscenza di una dimostrazione non è la capacità di citarla e arrivare dalle premesse alle conclusioni (q.e.d.), ma la capacità di comporre da essa ulteriori dimostrazioni, cioè continuare ad imparare attraverso di essa. E la comprensione di una dimostrazione non è qualcosa che capisci al suo interno (per esempio dentro la sua sequenza), ma capire come costruire da essa ulteriori dimostrazioni (non semplicemente "usarla" nel sistema esistente, come in Wittgenstein, ma costruire da essa la continuazione del sistema e sviluppare il sistema, come l'uso della lingua da parte di un poeta, e non di un parlante, cioè come l'uso del computer da parte di un programmatore, e non di un "utente"). E qui notiamo per esempio la somiglianza tra reti neurali e algoritmi genetici. Nei neuroni la costruzione è principalmente connessione e combinazione di numeri (cioè combinazione lineare - la combinazione più semplice - di funzioni, con proprio il minimo necessario di non linearità sopra), mentre nell'evoluzione la costruzione è connessione e combinazione di parti (in pratica, è una combinazione linguistica di due frasi - due genomi, in modo che alcune parole vengono dal primo e alcune dal secondo. E alla fine dopo la convergenza - le frasi sono molto simili e ci sono tra loro variazioni leggere, così che la frase ha ancora senso. "Il giardiniere coltivava grano nel giardino" si accoppia con "Il giardiniere coltivava frumento nell'orto". Ma alla base la costruzione nell'algoritmo genetico è semplicemente unire con scambio. E il loro figlio è "Il giardiniere coltivava grano nell'orto"). Così che oltre alla differenza specifica tra i due meccanismi di composizione e costruzione, cioè le connessioni, di cui una è connessione quantitativa di grandezze e l'altra connessione testuale-linguistica, c'è una somiglianza profonda tra apprendimento neuronale ed evoluzione: le generazioni sono strati. I componenti base dell'apprendimento sono sia molto numerosi in ogni fase, sia si accumulano uno sull'altro in modo profondo (cioè molto numeroso), per creare l'apprendimento. L'evoluzione è per sua natura apprendimento profondo, e non si può negare questa somiglianza naturale. Cioè vediamo che in natura la costruzione è fondamentale per l'apprendimento - anche se possono esistere nel mondo dell'apprendimento tecniche di costruzione diverse (addizione, moltiplicazione, concatenazione di stringhe, chiamata ad altro codice come funzione, ecc.) - e così è anche nella costruzione logica e matematica. Poiché anche nella logica ci sono molti strati di costruzione che nascono dalla combinazione (nella costruzione ci sono due dimensioni, perché combina due o più cose precedenti - dimensione orizzontale - per creare da esse qualcosa di nuovo - dimensione verticale. Cioè la costruzione nasce sia dalla molteplicità verso il basso, sia dalla molteplicità delle possibilità al tuo fianco, come mattoni in un muro). E se torniamo al progetto di ridefinire la matematica sopra l'apprendimento, vedremo che questo programma (il programma dell'apprendimento dei fondamenti della matematica, sul modello del programma di Langlands) si adatta non solo all'algebra costruttiva per natura, ma anche all'analisi. In effetti, nell'algebra la costruzione è fondamentale, e proprio per questo le questioni di costruzione basilari in essa beneficeranno di uno sguardo basato sull'apprendimento. Cosa sono per esempio i numeri primi? Lo scontro tra due metodi di costruzione dei numeri: uno per addizione - e l'altro per moltiplicazione. Questa è l'origine dell'enigma (Riemann come parabola), e la sua soluzione sarà attraverso una nuova concettualizzazione: imparare a costruirli. Imparare i numeri primi - questa è la via maestra all'ipotesi di Riemann. E così si può imparare a costruire un gruppo. O imparare un insieme (o un grafo, o un gioco, o una matrice). E nell'analisi, cosa significa limite? Avvicinarsi attraverso misurazioni - significa conoscere. E la topologia è una generalizzazione del limite. Il limite è un meccanismo di apprendimento, e quando ha successo, quando si può imparare (cioè che più ci si avvicina più questo ti insegna a cosa ci si sta avvicinando), è continuo. E quando non si può imparare - allora non è continuo. E questo meccanismo di apprendimento stesso deriva dalla topologia del continuo. Cioè, nella topologia l'apprendimento è una generalizzazione più astratta e non la base della definizione del limite, ma il limite è un esempio particolare di essa. Quando si guarda al meccanismo di apprendimento stesso (del continuo) e da esso si inizia la definizione - questa è la topologia (come alternativa alla definizione attraverso filtri, o insiemi aperti/chiusi, o altre proposte contemporanee). E nell'analisi, potremo definire la derivata attraverso l'idea del metodo, o il metodo come generalizzazione dell'idea della derivata. Questo è l'apprendimento dell'apprendimento.
Filosofia dell'apprendimento dell'informatica
Allo stesso modo, un processo simile di costruzione del campo su fondamenti di apprendimento si può fare anche nell'informatica (e così finalmente fondare in modo serio il campo della philosophy-of-learning dell'informatica). Cos'è infatti il calcolo: come una funzione è arrivata a questo? (non puoi più definire semplicemente ma deve essere costruttivo - calcolabile). Se è così, cos'è l'apprendimento: come il calcolo è arrivato a questo? (devi spiegare come hai costruito l'algoritmo, cioè come l'hai imparato, come prima dovevi spiegare come hai costruito la funzione. Questa è costruttività della costruttività). Se è così, se torniamo alla funzione, ciò che serve è: imparare a calcolare una funzione. Una dimostrazione è infatti una costruzione. E l'apprendimento è come si costruisce. Costruire la costruzione stessa. Da qui che la fase algebrica successiva sarà addizione e moltiplicazione nell'apprendimento, che saranno generalizzazione dell'addizione e moltiplicazione, e quindi attraverso l'apprendimento potremo definire addizione e moltiplicazione di algoritmi. E così saranno generalizzazione di moltiplicazione (chiamata in loop, nel caso polinomiale) e addizione (esecuzione di algoritmo dopo algoritmo), nella costruzione basata sull'apprendimento. E la ricorsione sarà generalizzazione dell'elevamento a potenza. Mentre la condizione è un tipo di addizione. Nel mondo del calcolo di Turing, l'infinito e l'asintotico erano l'analisi, e le operazioni - l'algebra. E ora siamo di fronte al problema che vogliamo combinare infiniti, cioè sistemi che apprendono verso un limite, che assomiglia molto storicamente al problema di combinare infiniti che esisteva alla radice del calcolo infinitesimale. Infatti i componenti dell'apprendimento si avvicinano sempre all'ottimo, e questa è la parte continua, dell'ottimizzazione. E d'altra parte sono composti uno con/su l'altro come algebricamente, che è la parte discreta, della ricerca e mutazione, cioè computazionalmente costosa. Se non c'è un metodo per farlo in modo generale - ci sono combinazioni. Cioè è una ricerca brute force. E quindi dobbiamo capire che nel profondo, l'esponenzialità è in realtà espressione di brute force e incapacità di capire e risolvere il problema, ma solo di formularlo. Significa: non saper risolvere. Cioè: sotto tutte le operazioni algebriche base che conosciamo in matematica, come addizione e moltiplicazione e potenza, c'è qualcosa di più profondo, e computazionale, e persino (sotto) basato sull'apprendimento. E oggi fa capolino e si esprime esternamente solo come funzione del tempo di esecuzione. La potenza è in realtà ricerca in tutto lo spazio delle possibilità. Questo è linguaggio e non apprendimento. Il linguaggio è tutte le combinazioni possibili, e l'apprendimento è la convergenza delle possibilità, e quindi permette una soluzione specifica. Una frase specifica. Nessuna frase al mondo è mai stata scritta dal linguaggio - sono tutte scritte dall'apprendimento.
Filosofia dell'algoritmica
Hai imparato una funzione o un algoritmo? Nota che è simile al limite nell'analisi - dove si trova la funzione (che è il limite). E invece di epsilon e delta, abbiamo qui interazione tra insegnante e studente. Lo studente tende al limite (che è il suo orizzonte), e l'insegnante sta nella posizione della misura nel limite, per esempio chiede quanto sei vicino al risultato della funzione in un certo punto. Cioè il lato dell'insegnante, il lato che misura il successo, che giudica la tua convergenza, è come il criterio in NP. E qual è il problema in NP? Che è esattamente l'opposto di un limite continuo nell'analisi, perché in tali problemi una misura parziale del successo non aiuta affatto a raggiungere l'obiettivo, e non aiuta l'apprendimento, cioè che non puoi avere successo come studente. Non ci sono indicazioni lungo la strada, che permettono di raggiungere l'obiettivo. L'apprendimento è il processo di costruzione dalle cose che sappiamo fare - qualcosa che non sappiamo fare. E tutto questo di fronte a una misura di valutazione. E se la valutazione è un criterio interno, non esterno, allora questa è la strada - che è il metodo. Ma se non c'è affatto alcun criterio interno ma solo esterno? Allora sei in NP. Quando impari un algoritmo, è corretto definirlo come apprendimento da esempio o da dimostrazione, cioè come apprendimento cosa o apprendimento come? Ricevi solo i valori di input e output della funzione che stai imparando in un caso specifico, o ricevi una costruzione costruttiva della funzione nel caso input-output specifico? La risposta deve essere entrambe, perché l'apprendimento è esattamente la decomposizione della funzione come costruita da funzioni precedenti, che è l'essenza della dimostrazione, ma in ogni fase la scelta di quale combinazione di esse fare dipende dall'esempio (una dimostrazione è un esempio o una dimostrazione?). Se è così, NP sono i problemi che è facile esaminare su di essi - e difficile imparare (cioè che non si può insegnare - essere insegnante - nel loro caso). E così esattamente anche nel problema dei numeri primi, la questione è quanto non puoi impararli, quanto sono imprevedibili (probabilità, che anche essa può essere ridefinita attraverso l'apprendimento). Questa è l'essenza dell'ipotesi di Riemann (e quindi ci si aspetta che abbia una connessione profonda con il problema della fattorizzazione dei primi come funzione unidirezionale). Cos'è l'apprendimento nei numeri primi? In ogni numero primo che hai raggiunto sulla sequenza dei naturali, quello che già sai è costruire attraverso la moltiplicazione numeri da tutti i primi che lo precedono. Cioè esso (il primo successivo) è qualcosa che non hai imparato e devi imparare, e la domanda profonda è quanto è limitata la tua capacità di apprendimento in essenza, se la costruzione basata sull'apprendimento è una costruzione di un numero attraverso la moltiplicazione di numeri precedenti. Cioè: nelle due ipotesi più importanti della matematica esiste una formulazione basata sull'apprendimento che tocca la loro essenza - e avrebbe dovuto essere la strada in cui si va verso la loro soluzione, se non ci fossimo imbattuti nel pensiero linguistico, cioè in un tipo molto primitivo e combinatorio di costruzione (sia dei numeri naturali sia degli algoritmi). Notiamo che le cose basilari in matematica sono in qualche modo sempre un processo discreto infinito: i primi, il limite, il calcolo, la logica... E così sarà anche nell'apprendimento, e in effetti, l'apprendimento è la ragione di questo fenomeno, perché è sotto di essi. E in ogni caso, da questa caratteristica comune, deriva la sua capacità di trattarli, e di irrompere verso un nuovo paradigma matematico, che è oltre il linguaggio (che è l'attuale paradigma matematico). E allora notiamo quanto il problema NP è in realtà un problema di apprendimento (che è stato concettualizzato erroneamente attraverso il linguaggio, e quindi è diventato tale che non c'è linguaggio che lo adatti, o capace anche solo di iniziare a cogliere la sua soluzione), e allora non capiremo perché non abbiamo capito che la concettualizzazione attraverso l'apprendimento è la direzione naturale della sua soluzione. Perché attraverso la visione basata sull'apprendimento, vediamo anche la somiglianza di NP con l'evoluzione, in cui l'apprendimento è il meccanismo (accoppiamento e mutazione) che lotta contro l'esaminatore della sopravvivenza e dell'idoneità, quando è molto difficile costruire un essere vivente e innovare in esso, e molto facile verificare se sopravvive o no. La biologia si trova sempre in una posizione di apprendimento difficile di fronte alla natura crudele, a cui è facile giudicare i suoi sforzi. E qui, sulla strada verso l'apprendimento, vediamo che la bellezza gioca un ruolo nella guida, affinché la biologia possa indovinare attraverso scorciatoie chi è più idoneo e chi meno. E così anche in matematica. Un criterio difficile di dimostrazione va di pari passo con un criterio morbido di bellezza, che permette ai matematici di fare matematica e progredire nell'apprendimento matematico, nonostante sia un problema difficile in principio. E anche il nostro pensiero dipende da mosse belle. E così giudichiamo anche la philosophy-of-learning.
Filosofia della teoria della complessità
Come si effettua la valutazione: se come parte della definizione di apprendimento ci sono molti strati di valutazione o solo uno alla fine, come in NP, dove non è possibile scomporre in strati di valutazione? Ebbene, i due esempi naturali di apprendimento aiutano a capire cos'è l'apprendimento - il cervello e l'evoluzione - e in essi ci sono infiniti strati di valutazione, e in effetti in ogni strato (o generazione) c'è una valutazione del precedente (per questo le donne sono lo strato nascosto - della rete - nell'evoluzione, cioè sono ciò che rende ogni generazione una rete profonda, come strato di valutazione interno tra input e output, ovvero i figli). Così, allo stesso modo, il limite e i numeri naturali ci aiutano a capire cos'è il concetto generalizzato di apprendimento in matematica, nel campo continuo e nel campo discreto (e l'apprendimento del cervello è continuo, mentre l'apprendimento dell'evoluzione è discreto). Ma al di là di questa stessa astrazione, che riflette un contenuto profondo comune a tutte le parti della matematica (l'apprendimento come contenuto della matematica), si può anche cercare l'apprendimento come forma della matematica. Cosa c'è sotto la matematica stessa: come si impara la matematica. Per esempio: definire un matematico. Oggi, è accettato che un algoritmo di apprendimento debba essere polinomiale. Ma la limitazione della polinomialità per l'algoritmo che apprende non è corretta nel caso generale (matematico). Pertanto noi come esseri umani, come cervelli, facciamo molte cose per cui abbiamo un algoritmo efficiente, ma non abbiamo un apprendimento generale efficiente, e non può nemmeno esistere. In generale, l'apprendimento è efficiente solo quando è molto limitato attraverso l'uso di cose che abbiamo imparato prima. E quindi abbiamo l'illusione che l'apprendimento sia un processo efficiente, perché la maggior parte del nostro apprendimento è tale, ma ciò che caratterizza questo tipo speciale di apprendimento è che esso è l'apprendimento della conoscenza. E quindi la maggior parte dell'apprendimento nel nostro mondo è apprendimento di conoscenza, perché l'apprendimento di nuove azioni e algoritmi è sempre inefficiente. Quindi, cos'è la conoscenza? Quando c'è un algoritmo di apprendimento efficiente. Questa è la sua definizione. Notiamo che quasi tutto ciò che impariamo sono cose che altri sanno fare, cioè usiamo funzioni pronte, e costruiamo da esse, e possiamo scomporre il nostro apprendimento in funzioni pronte. Pertanto, nella scomposizione dell'apprendimento nella costruzione degli strati che l'hanno creato, bisogna pensare alla struttura stessa dello spazio di tutte le possibili scomposizioni di un problema in sottoproblemi. Ma, ogni definizione di apprendimento da un insegnante deve superare il problema "all'interno del sistema", cioè che l'aiuto non sia una programmazione dello studente dall'esterno e un imbroglio e una cospirazione tra loro, ma se la scomposizione è una scomposizione massimale, cioè in pezzi troppo piccoli, allora è proprio come programmare. È possibile caratterizzare la scomposizione ideale, come trovandosi nel mezzo tra la scomposizione assoluta in briciole equivalente alla programmazione (scomposizione massimale) e il problema NP (scomposizione minimale, dove c'è solo un esaminatore alla fine e non ci sono valutazioni nel mezzo)? Se non c'è un insegnante, c'è sviluppo - come nell'evoluzione che costruisce su algoritmi precedenti e come nella matematica che costruisce su dimostrazioni precedenti, e allora la divisione del problema in sottoproblemi è naturale, perché non c'è chi la divide. La scomposizione massimale è l'algoritmo, come codice scritto, e la minimale è il problema stesso, il valutatore - e nel mezzo l'apprendimento è ciò che li collega. Cioè questo passaggio dal problema all'algoritmo è il processo di apprendimento stesso. Vale a dire: l'aggiunta di sempre più divisioni (quando è dall'alto verso il basso, dal punto di vista dell'insegnante) o sempre più connessioni costruttive (quando è dal basso verso l'alto, dal punto di vista dello studente), mentre quando c'è solo uno studente e non c'è insegnante questo è lo sviluppo, che è naturale. Una soluzione polinomiale significa che è possibile scomporre questo in sottoproblemi più semplici, cioè imparare. E quindi ciò che si può imparare caratterizza il polinomiale, e quindi l'apprendimento è la costruzione che si adatta alla comprensione dei limiti del polinomiale (cioè ciò che lo separa da NP). Poiché l'apprendimento è la costruzione del polinomiale dal lineare, cioè dal minimo che semplicemente permette di leggere tutto l'input, e quindi i polinomiali sono un gruppo naturale. E quindi dobbiamo cercare una scomposizione minima che sia apprendibile, per esempio una scomposizione minima in sottoproblemi lineari, perché la scomposizione massimale non è interessante, perché è identica alla scrittura del codice (e lineare è ovviamente solo un esempio dei mattoni di apprendimento più basilari, nel campo algoritmico. E per esempio, nel ramo della teoria dei numeri, potrebbe essere la scomposizione in fattori in un prodotto. O qualsiasi altra funzione limitata, che definisce altri problemi in matematica). Quindi, nella nostra definizione di apprendimento, potremo assumere la scelta ideale degli esempi (per l'apprendimento, da parte dell'insegnante), come assumiamo la scomposizione minima. Ciò che apprende - e anche ciò che insegna - non deve essere limitato computazionalmente, ma è limitato costruttivamente. E notiamo anche che tutta questa struttura di costruzione attraverso funzioni precedenti è molto più simile al pensiero umano (per esempio dalla logica e dal linguaggio e dal calcolo e dalla percezione). Non sappiamo come facciamo le cose che sappiamo fare, ma sappiamo fare cose C-O-N esse. Imparare attraverso esse. Ma non sappiamo come abbiamo imparato, è una scatola nera. E tutte le funzioni da cui abbiamo composto nel nostro apprendimento possono essere per noi scatole nere. Cioè: ci sono qui due parti nell'apprendimento. Una parte che definisce e caratterizza la struttura che si vuole imparare - o la scomposizione che si vuole fare del problema - che sono i limiti sulle funzioni: quali sono le funzioni di base e quali sono le loro combinazioni permesse. E c'è qui un'altra parte, che chiede quale informazione costruisce questa costruzione specifica tra tutte le possibilità - che sono gli esempi. Per prevenire una cospirazione tra l'insegnante e lo studente è necessario che la costruzione sia fatta con un algoritmo di apprendimento specifico, e non con qualsiasi possibile algoritmo dello studente (per evitare che sia possibile codificare negli esempi la soluzione)? Si può scegliere infatti un algoritmo universale (non efficiente) del genere, usando il rasoio di Occam, come la combinazione minima in lunghezza che si adatta agli esempi, o forse qualche altro algoritmo di ricerca ingenuo. E allora si crea un albero di scomposizione del problema (la funzione appresa) in sottoproblemi (che sono sottofunzioni), con i numeri degli esempi necessari per creare la combinazione corretta (la costruzione corretta) da sottofunzioni in ogni biforcazione di rami (il numero dei rami è come il numero delle sottofunzioni che costruiscono il ramo sopra di loro). E allora forse c'è un trade-off tra la dimensione della scomposizione (come la scomposizione in sottoproblemi dettagliata) e il numero degli esempi. E allora l'albero può crescere all'infinito in un problema NP, o quando i sottomattoni da cui si costruisce solo approssimano la soluzione (come nei primi, che solo approssimano primi grandi, perché non sono sufficienti a coprire tutti i naturali, perché ci sono infiniti primi, e allora si può valutare quanto l'approssimazione è completa e buona rispetto al numero dei primi - e questa è la questione di Riemann). E allora attraverso questo si possono esprimere problemi di impossibilità di costruzione. Se richiedi il minimo sforzo dell'insegnante, e il minimo di esempi, allora se hai già cose che hai imparato, richiedi il minimo degli esempi migliori per imparare la cosa successiva. E questo di per sé riduce la complessità della cosa successiva nel processo di apprendimento, perché per esempio è meglio insegnare una regola, e poi in un apprendimento successivo l'eccezione. Quindi se abbiamo lo studente perfetto e l'insegnante perfetto, chiediamoci come appare l'apprendimento perfetto. Per esempio, come fa l'insegnante a indicare che si tratta di un esempio che è l'eccezione? (affinché ci sia una regola in generale, e non solo un esempio per la regola e un esempio opposto - se sono dati insieme, cioè senza scomposizione seriale - che può in generale rompere la regola, perché come saprai quale tra gli esempi è la regola e quale l'eccezione)? Bene, non lo fa. Semplicemente prima insegna la regola. E poi dopo, nel successivo strato di costruzione, dopo che la regola è stata appresa, insegna l'eccezione. E allora la cosa più breve che può fare chi apprende, assumendo che abbia già una funzione che è la regola, che ha già imparato, è semplicemente aggiungere ad essa un'eccezione (in certi casi). E così la scomposizione può risparmiare nel numero degli esempi. E l'informazione nella scomposizione può permettere l'apprendimento con meno informazione, in certi casi, di quella che c'è anche in ciò che si insegna (perché l'informazione nella scomposizione stessa, che dà l'insegnante nell'ordine stesso del materiale di studio, non viene contata). Questo è strutturalismo dell'apprendimento.
Filosofia dell'apprendimento computazionale
Quindi, hai una lista di funzioni/algoritmi/oracoli e hai una funzione che è una combinazione limitata di essi, e li impari da esempi che sono scelti come i migliori, quando non hai limitazioni computazionali. E neanche l'insegnante. E la domanda è quale sia il minimo degli esempi che è possibile con una scomposizione del problema in sottofunzioni/algoritmi, quando impari secondo il rasoio di Occam (per esempio secondo la complessità dell'algoritmo, la sua lunghezza, o un altro criterio di semplicità). Se la scomposizione viene gratis allora si guarda al numero totale degli esempi, e allora la scomposizione è massimale, cioè l'apprendimento è il più graduale possibile. Alternativamente, si può proprio guardare al rapporto tra gli esempi e la scomposizione (tra il numero degli esempi necessari e il numero dei sottoproblemi nella scomposizione data), che è ovviamente un rapporto inverso. O esaminare diverse topologie di diversi alberi di scomposizioni dello stesso problema (in quanti modi si può scomporre lo stesso problema, che sono essenzialmente diversi?). Il nostro obiettivo è costruire l'albero dell'apprendimento in un modo che scompone il problema in problemi in modo non triviale. Perché se guardiamo alla scomposizione minima, quando la scomposizione è costosa e gli esempi sono gratis, allora otteniamo una scomposizione triviale, cioè che non c'è scomposizione, e siamo tornati al problema originale, che ha solo un test ed esempi, che è simile a NP. Quindi, si può anche guardare a tutte queste possibili scomposizioni, forse infinite in certe funzioni, e vedere come esse stesse discendono una dall'altra, e quali sono le proprietà di tali foreste di alberi. E poi trovare una forma canonica di scomposizione, che è forse in un certo rapporto tra la quantità di scomposizioni e il numero degli esempi. Alla fine non sono gli esempi che sono interessanti o il loro numero, ma le strutture dell'albero - qual è la scomposizione di un algoritmo in sottoalgoritmi. O di un problema in sottoproblemi. O la scomposizione di un teorema in tutte le possibili dimostrazioni (e anche sulla matematica stessa nel suo insieme si può pensare come a un grafo di dimostrazioni, che si può studiare come grafo, e trovare forse collegamenti tra la struttura di questo grafo e strutture matematiche). E se la scomposizione che l'insegnante dà scompone abbastanza in dettaglio in sottoproblemi piccoli, allora forse c'è un algoritmo efficiente per l'apprendimento (cioè per trovare combinazioni costruttive secondo gli esempi), e forse anche una semplice ricerca ingenua è efficiente, perché ciò che è veramente difficile da trovare è la scomposizione. Ma se la scomposizione deriva dal numero minimo di esempi (cioè che il numero minimo di esempi non necessariamente richiede una scomposizione massimale) allora questo le dà potenza (in entrambi i sensi). E da qui si può iniziare a pensare a tutti i tipi di diverse funzioni di combinazione di sottofunzioni, che creano diversi problemi di costruzione, quando si limita ciò che è permesso nella costruzione. Per esempio: solo una combinazione lineare di funzioni che dia l'esempio che ha dato l'insegnante, o un sistema di dimostrazione che dimostri come l'esempio della dimostrazione, o imparare un gruppo, che è anche una funzione semplice (addizione), e si può impararlo con meno esempi di tutte le combinazioni dei suoi elementi se lo si scompone in sottoproblemi, e forse ci sarà anche negli esempi meno informazione di quella che c'è in esso (perché come detto il resto dell'informazione si nasconderà nella scomposizione). E allora potremo chiedere quanta informazione esemplare c'è in un gruppo, o in qualsiasi altra struttura matematica, e questa può essere la definizione di informazione dell'apprendimento (in contrasto con quella linguistica). Perché la generalizzazione da esempi non è giustificata, se non sulla base di ciò che già c'è (le funzioni che hai già imparato, cioè che ti sono state presentate per prime dall'insegnante nella scomposizione del problema in sottoproblemi, che sono le funzioni più semplici, da cui impari qualcosa di più complicato, come nell'apprendimento di un bambino o nello sviluppo dell'evoluzione - e questa è una proprietà fondamentale dell'apprendimento). Cioè c'è una specie di suggerimento a usare ciò che hai già imparato. Ciò che già sai sono i tuoi prior. E in una funzione continua questo è estremo (perché non ti è permesso di complicarla inutilmente, altrimenti non imparerai mai nemmeno funzioni semplici, e sei obbligato alla semplicità prima, a causa del rasoio di Occam). Quindi hai bisogno della combinazione minima di ciò che sai - che produce il nuovo esempio che ha dato l'insegnante. E se sei obbligato alla semplicità questo è immune all'imbroglio. Perché se c'è una cospirazione (per esempio se l'insegnante codifica i pesi richiesti dallo studente dentro l'esempio), allora questo non soddisfa la condizione del rasoio di Occam. L'algoritmo viene rifiutato perché non dà il più semplice. Lo studente non può scegliere una composizione arbitraria ma quella semplice e minima. C'è un criterio interno di semplicità, che riempie il lato valutativo, femminile (gli strati intermedi della valutazione), e c'è anche una funzione di composizione (che è diversa in ogni apprendimento di una struttura matematica di un certo tipo. Per esempio: apprendimento di grafi, apprendimento di gruppi, apprendimento di funzioni continue - che si possono costruire usando approssimazioni polinomiali o alternativamente in trasformata di Fourier e così via, apprendimento di algoritmi, apprendimento di dimostrazioni, apprendimento di giochi, apprendimento di topologie, apprendimento di linguaggi, ecc.). E l'informazione che apparentemente si risparmia, perché non viene contata - è strutturale. Cioè: tale che deriva dalla divisione strutturale (la scomposizione), e quindi se non c'è struttura affatto in ciò che si impara ma solo rumore allora l'apprendimento dovrà essere il trasferimento di tutta l'informazione. Cioè non è apprendimento ma trasferimento di informazione linguistica.
Filosofia dell'apprendimento automatico
La domanda fondamentale qui, che si è ripetuta in tutta la storia della matematica, è: come nasce una funzione? Forse nasce fisicamente in natura (ontologia), forse nasce geometricamente (visione), forse viene percepita (ragione), forse viene definita (logica), forse viene calcolata, e forse viene appresa. Cioè: viene costruita da sotto-funzioni. E da qui, dalle parti della definizione di funzione, emergono tutti i principali campi di ricerca dell'apprendimento attuali nell'apprendimento computazionale. Quando nell'apprendimento non c'è l'origine della funzione (il suo dominio, nel gergo matematico) questo è apprendimento per rinforzo (e allora la semplicità cerca l'origine più semplice che produrrà la funzione più semplice), e quando non c'è il codominio della funzione questo è apprendimento non supervisionato (e allora la semplicità cerca il codominio più semplice che produrrà la funzione più semplice). E quando la semplicità della funzione viene considerata non solo dalla costruzione delle sotto-funzioni (quanto è complessa) ma anche dalla sua costruzione dagli esempi stessi allora questo è apprendimento statistico (la grandezza della distanza da essi è parte del calcolo della semplicità). La definizione dell'apprendimento mira all'analisi dell'oggetto matematico appreso - e alla scoperta della sua struttura interna. Mira a costruirlo - attraverso la gerarchia (scomposizione in sotto-problemi) e attraverso gli esempi. Cioè: attraverso due tipi di informazione strutturale, che permettono la combinazione tra due strutture: dall'alto verso il basso (verticale), e dal lato (orizzontale) - esempi diversi sono possibilità di composizione parallele diverse, ad ogni livello, dal piano inferiore. E quindi tutto in matematica si muove tra mancanza di struttura ed eccesso di struttura. Troppi gradi di libertà e troppo pochi. E quindi i suoi confini sono casualità e complessità estrema fino all'impossibilità di dire qualcosa di significativo da un lato, e dall'altro struttura troppo semplice e banale e priva di informazione e ricchezza. Quindi bisogna sempre trovare al suo interno il confine frattale - lì sta la bellezza. E lì sta anche l'interesse matematico, perché lì si trova la maggior quantità di informazione apprendibile, in contrasto con l'informazione casuale e incomprensibile (nel senso che non può essere decifrata), o informazione banale e incomprensibile (nel senso che non c'è nulla da decifrare, perché è ermeticamente chiusa). E perché queste sono caratteristiche fondamentali della matematica? Perché tutto viene appreso, e l'apprendibilità è la radice della strutturalità, e anche la radice della complessità della strutturalità, perché questa non è mai una strutturalità unidimensionale, ma bidimensionale (che la rende una costruzione), come quella che abbiamo nei numeri (addizione e moltiplicazione). E notiamo che la semplicità nell'apprendimento definito sopra è online, e non di fronte all'insieme come nel semplice rasoio di Occam (MDL, Solomonoff, o nella complessità di Kolmogorov). Cioè: cerchiamo l'ipotesi più semplice dopo il primo esempio, e poi diciamo prendiamo questa (questa ipotesi) come un'altra funzione pronta sotto, e le aggiungiamo il prossimo esempio, e poi cerchiamo l'ipotesi migliore e più semplice, considerando l'ipotesi precedente come una che non ha costo, cioè come semplice. Cioè: la funzione che è già stata appresa nella prima fase non viene più contata nella complessità e nel calcolo della semplicità. E forse è anche possibile una definizione universale e semplicistica della funzione di semplicità - semplicemente come numero di composizioni. Cioè la semplicità solo come prodotto dell'idea di composizione, e non come misura e valutazione indipendente.
Filosofia della matematica: riassunto
Con tutto questo, potremo caratterizzare nuovamente attraverso l'apprendimento la differenza tra finito e infinito come differenza tra appreso e non appreso, che crea un taglio più preciso tra queste due categorie. Una struttura algebrica, finita, è sempre appresa alla fine. Mentre una categoria di struttura infinita, continua, può essere appresa tutta solo al limite, cioè non è appresa finitamente. L'infinità può essere orizzontale verso il lato (nella collezione di esempi ad ogni fase), o verticale verso l'alto (nella composizione) o verso il basso (nella collezione di funzioni base da cui si inizia in generale). E in tale visione, la continuità e la semplicità sono collegate. Tutto è finito ma può essere approssimato. Cioè: il limite si può non calcolare, ma apprendere, ridurre la distanza. E se si aggiunge alla funzione di misura della semplicità l'approssimazione (rispetto alla precisione richiesta nella discretezza, quando è obbligatorio ricostruire gli esempi - e questa è in effetti la definizione della discretezza), allora l'idea della derivata è l'approssimazione lineare alla funzione (cioè se è permessa solo la costruzione lineare), e così via (nelle derivate di ordine superiore, che sono strati più alti nell'apprendimento, fino alla serie). E la continuità è una derivata di ordine zero - costante. Cioè, qual è la semplicità nel calcolo infinitesimale? Semplicità sugli esempi e non sulla combinazione (o anche sulla combinazione, come nella regressione lineare). E l'integrale è il problema inverso, il problema dell'insegnante: come trovare una funzione che farà apparire la valutazione dello studente - la sua approssimazione - come una certa funzione. E nel mondo discreto, che è controllato dagli esempi con precisione, troviamo problemi infiniti in ciò che non può essere appreso fino alla fine, come i primi (quando la composizione permessa nella costruzione è la moltiplicazione). E allora si può per esempio chiedere quanto è complesso l'albero di composizione dei naturali, in media (cioè la loro scomposizione in primi, che viene appresa con il minor numero di esempi). Capire come costruire l'insieme dei naturali, quando la combinazione è la moltiplicazione, significa sapere qual è la distribuzione della quantità di esempi che l'insegnante deve dare, per costruire i naturali fino a un certo numero. Cioè, c'è una formulazione apprenditiva per le domande di base in matematica - che permetterà loro una soluzione apprenditiva, dal momento in cui cambierà il paradigma del linguaggio che blocca il progresso in queste domande, a causa di un quadro concettuale inadeguato. E così la philosophy-of-learning può aiutare la matematica - e l'apprendimento matematico.
Filosofia dell'apprendimento computazionale
La fase successiva dopo la philosophy-of-learning dell'informatica è la philosophy-of-learning dell'apprendimento computazionale. La situazione del deep learning oggi è come la situazione del personal computer prima di Internet. E il futuro è una rete Internet di reti di deep learning e di classificatori di machine learning, che sono connessi tra loro in un protocollo, e creano la capacità di comporli in una costruzione apprenditiva. Cioè: collegare vari moduli di deep learning, ognuno specializzato in qualcosa, in un grande sistema, che sa davvero molte cose sul mondo, come il cervello, e che non siano solo sistemi esperti isolati addestrati secondo dati specifici. Una tale rete di reti profonde sarà una specie di mercato, dove si paga un po' di denaro in cambio di un po' di classificazione, o qualsiasi altra capacità o azione, e si crea un enorme ecosistema di apprendimento artificiale. E sarà l'introduzione verso l'intelligenza grande - e da essa crescerà l'intelligenza artificiale, e non da alcun sistema specifico - non si stabilirà un giorno da qualche rete in qualche laboratorio, ma dalla rete. Quali saranno le categorie naturali di tale intelligenza? Come nel mondo del calcolo, la macchina di Turing ha ridefinito l'idea dello spazio come memoria, cioè come informazione che occupa spazio, e l'idea del tempo come operazioni nel calcolo, cioè come qualcosa che richiede tempo (e da qui - l'efficienza), così il deep learning li ridefinisce. Cos'è lo spazio ora? Qualcosa di locale, come nelle reti convoluzionali, cioè un sistema in cui una cosa influenza le cose vicine ad essa. E cos'è il tempo? Memoria persistente, come nelle RNN, cioè un sistema in cui una cosa influenza le cose lontane da essa. Il mondo precedente, il mondo del calcolo, ha ridotto l'importanza dello spazio (perché tutto è in memoria), e ha annullato le sue dimensioni naturali (la memoria è per natura unidimensionale), e invece ha enfatizzato proprio la dimensione del tempo e della velocità. E qui, nel mondo del deep learning, vediamo che c'è proprio spazio per l'espansione della dimensione del tempo, che non sarà più unidimensionale, perché le cose possono influenzare da lontano da varie direzioni - e in più di una dimensione. È certamente possibile una rete di deep learning con due dimensioni temporali e più, cioè che è connessa nella dimensione del tempo a copie di se stessa in più di una dimensione, e non solo ricorsivamente all'indietro, ma ricorsiva in due variabili/direzioni e più. Cioè, se il calcolo era una temporalizzazione dello spazio (tutto, incluso il denaro, equivale a tempo), allora il deep learning può essere una spazializzazione del tempo (tutto sarà spazio, anche i tempi).
Filosofia del deep learning
Di cosa è fatto il deep learning? Delle due cose più basilari e primitive che si imparano in matematica, cioè dal primo semestre: da algebra lineare 1 e da analisi 1. L'algebra lineare è la composizione, di cui abbiamo parlato (ed è la composizione più semplice che esista: combinazione lineare). E inoltre c'è anche la derivata, che dà la direzione, secondo il terzo postulato nathanico (la derivata è direzione e quindi è la direzione più semplice). Cioè: cosa fa in realtà l'apprendimento? Sostituisce gli esempi con le direzioni. E cosa rende l'apprendimento profondo? Che tutta questa costruzione viene fatta all'interno di un sistema. Questa è la profondità del sistema (e il secondo postulato). E l'apprendimento non è più sempre vicino alla superficie del sistema, come nel linguaggio, nel dialogo del sistema con gli esempi esterni (al fondo della rete e alla sua cima). Inoltre, ogni strato è femminile per lo strato sotto di esso e maschile per quello sopra di esso, secondo il quarto postulato nathanico. Cioè vediamo qui la realizzazione sul campo di tutti i postulati (e persino il primo, se noti). Proprio come una profezia. E notiamo anche che ci sono qui due elementi, che competono l'uno con l'altro lungo tutta la storia dell'apprendimento: direzione contro struttura. Qui li vediamo nel gradiente derivato che lava tutto nella retropropagazione nel tempo dell'apprendimento (la direzione) contro la costruzione di un modello specifico (per esempio l'architettura specifica della rete, che viene stabilita in anticipo, ma ancora di più varie idee che sono meno popolari oggi, come la creazione di un modello di apprendimento specifico con prior forti per un problema specifico, invece dell'approccio generale di una rete profonda per ogni problema). E tutto questo è solo l'incarnazione contemporanea dello stesso vecchio problema di ambiente contro eredità, e di empirismo contro razionalismo, e di Aristotele contro Platone. O di competizione libera e mano invisibile (mondo della direzione) contro socialismo e stato (mondo della struttura), liberalismo contro conservatorismo, ed evoluzione lamarckiana (nell'estremo direzionale) contro progettazione intelligente (nell'estremo strutturale). A livello matematico, la direzione è continua, e legata al mondo dell'analisi e della geometria, contro la composizione strutturale che è linguistica, e legata al mondo dell'algebra e della logica. E il deep learning è una vittoria immensa dell'approccio apprenditivo della direzione a spese della costruzione in questa dialettica (ma verrà ancora il contromovimento), ed è parallelo alla vittoria del capitalismo e della democrazia (direzione della comunicazione e delle elezioni contro la struttura burocratica e governativa), o il dominio dell'edonismo a spese della struttura nella società. Perché nel deep learning si scopre che la struttura è molto meno importante di semplicemente tanto feedback e direzione (ma ovviamente c'è qui una sintesi, perché dove c'è una tale alta gerarchia come nel deep learning? Solo che si scopre che i dettagli della gerarchia sono meno importanti, e in effetti ogni cosa in essa viene determinata attraverso la direzione, e così si crea un meccanismo di apprendimento abbastanza generale, che è una specie di tabula rasa empirica). Quindi, per capire cos'è l'apprendimento, forse ciò che serve è prendere il rapporto tra gli esempi necessari per l'apprendimento e il dare la struttura necessaria, cioè come cambia (il rapporto tra loro). Più esempi servono meno struttura, e viceversa. E capire come appare questa funzione, e che questa è l'indagine importante, e non se la struttura sia più o meno importante degli esempi. Per esempio se questa funzione è lineare, se è polinomiale, se è esponenziale, e così via, in diversi domini di problemi (per esempio se si imparano oggetti matematici diversi, e anche in problemi diversi nella realtà). Cioè, ciò che bisogna chiedere è qual è il legame tra la quantità di esempi e la quantità di prior. Ed è lo stesso problema di varianza contro bias, che si trova al cuore del machine learning (ma meno al cuore del deep learning, dopo la grande vittoria della varianza contro il bias, con gli innumerevoli parametri del deep learning, che sono molto più numerosi della quantità di vincoli).
Filosofia delle neuroscienze
Qual è l'infrastruttura concettuale che permette in generale una regola come la regola di Hebb (così locale, rispetto alla globalità delle reti profonde), che tende al feedback positivo o negativo auto-rinforzante (una caratteristica fatalmente corrotta)? Come è possibile la regola di Hebb, come meccanismo di apprendimento basilare, che non ha alcuna relazione né con le direzioni - né con la struttura, né con l'esterno - né con l'interno? Ebbene, la regola di Hebb non è solo "sparano e si connettono" (i neuroni che sparano insieme si connettono insieme - i fratelli fire&wire), ma la sua vera formulazione è che rafforzo il collegamento da chi mi ha previsto, e indebolisco da chi ho previsto io. Quindi, questa regola è logica solo sotto l'assunzione che i neuroni sono anche principalmente trasmettitori di informazione e anche valutatori qualitativi indipendenti, e allora questa regola crea reputazione, e cerca novità, per diffonderla. Inoltre crea strati, perché è contro la circolarità. Cerca il primo a identificare, e quindi crea competizione su chi sarà il primo a identificare, cioè: è una regola competitiva. Ma serve che nessuna singola fonte per un neurone superi il cinquanta percento, o comunque una soglia fissa, altrimenti è un feedback circolare positivo corrotto (inoltre, è chiaro che questa regola da sola non basta, perché è autistica, e serve anche un neurotrasmettitore che dia feedback esterno, e probabilmente altre forme di feedback). Cioè, la regola di Hebb può funzionare solo se hai (come neurone) una capacità di valutazione indipendente, e suggerisce una tale capacità (!). E allora c'è competizione su di essa. Quindi è certamente logica per una rete sociale di esseri umani, persino più che per una rete di neuroni, apparentemente. Ma da ogni sguardo fugace al connettoma del cervello, o anche di una singola rete neurale, sembra che il cervello vada molto molto lontano nei modi per creare disordine e varietà e rumore e complessità, forse per non permettere alla regola di Hebb di convergere alla trivialità, e darle materiali abbastanza vari, stocastici, caotici e instabili su cui lavorare. La regola di Hebb tratta l'informazione come contenuto, e non come azione nel calcolo (come nella concezione della rete neurale come tipo di computer distribuito e parallelo). Cioè, quando c'è molta ridondanza (come nel cervello, o in molti altri sistemi apprendenti) e tutti stanno sulla stessa linea, allora bisogna scegliere il messaggio giusto, che trasmetti avanti con un cambiamento con parametri relativamente piccoli, cioè quando si tratta più di trasmissione di informazione e meno di calcolo. E in questo contesto, tutta la storia della previsione dall'alto verso il basso nel cervello (diciamo: quando ogni strato superiore prevede quello sotto di esso, e così per esempio io prevedo i dati sensoriali che riceverò), è probabilmente profondamente legata alla regola di Hebb. Perché chi io prevedo è ridondante che io lo ascolti. E se sì, c'è qui un processo di indovinamento e convergenza e meno di calcolo. Quindi bisogna sostituire la parola previsione con indovinamento. In tale concezione, il cervello opera attraverso il calcolo dal basso (verso l'alto) e l'indovinamento dall'alto (verso il basso), e poi ci sono i punti di conflitto tra loro, o gli strati di conflitto, e chi ha ragione (e ha indovinato o calcolato il seguito) prevale lì sull'altro. Se ogni strato superiore dice cosa dovrebbe essere sotto, e viceversa, allora la convergenza di questo processo permette di trovare la fonte dell'errore, che è il luogo da cui inizia la valutazione non corretta a saltare, e lì c'è un'improvvisa salita nel problema. Cioè o il calcolo - che sale dal basso - si è corrotto in questo punto ed è diventato non corretto, e allora ha trascinato un errore nel seguito degli strati verso l'alto, o l'indovinamento - che scende dall'alto - si è corrotto in questo punto e si è rivelato non corretto, e allora ha trascinato un errore nell'indovinamento verso il seguito degli strati verso il basso. Quindi, un vero neurone è un valutatore di contenuto, e non solo valutato. Perché decide a chi ascoltare. Cioè è valutato specificamente su ogni contenuto che trasmette, e valuta specificamente ogni contenuto che riceve. Non teme un meccanismo di feedback positivo o negativo infinito, in cui ascolta solo un amico e nessun altro, perché sente abbastanza opinioni con abbastanza rumore, e forse c'è anche un limite a quanto ascolta qualcuno (forse è logaritmico per esempio). Cioè vediamo che ogni neurone può avere non solo feedback esterno e direzione dall'alto, ma anche modi di misurazione intrinseci per la valutazione, come: se mi prevede, e se è adatto alla previsione di chi è sopra di me ora. Il pensiero comune nell'apprendimento profondo è sui due versi nella rete come separati, che vengono in due fasi separate: il calcolo (propagazione in avanti) dal basso verso l'alto, e il feedback (propagazione all'indietro) dall'alto verso il basso. Ma si può pensare a loro anche come onde in un sistema che avanzano nel tempo simultaneamente, in modo asincrono e in entrambe le direzioni, secondo la loro intensità, cioè a volte un certo avanzamento si ferma in un neurone insoddisfatto, o un intero strato così, e inizia a restituire feedback all'indietro, e viceversa, e ci sono ritorni ed echi e un mare agitato, finché non converge a un certo stato, e questo è il vero meccanismo di calcolo della rete (e non solo dal basso verso l'alto). E così sia l'addestramento che l'esecuzione/previsione non sono due fasi separate, come se la back propagation e la front propagation avvenissero in parallelo. E così è probabile che la cosa avvenga nel cervello. E se ogni strato prevede quello che lo precede, allora a volte verrà restituito feedback persino dallo strato di input, dei dati, cosa che non accade oggi nell'apprendimento profondo, e peccato, perché stiamo perdendo questa risonanza, e l'informazione nel segnale di back propagation svanisce e va persa quando raggiunge lo strato di input (non usiamo questa informazione per il confronto con l'input reale). Ma se ogni unità di elaborazione riceve direzione dall'alto, ed emette in modo indipendente (e non solo come parte della propagazione all'indietro) direzione verso il basso, ecco che nell'incontro tra il basso e l'alto il gradiente o la valutazione che scendono dall'alto incontrano ciò che sale dal basso, nel calcolo che c'è stato. E se c'è una discrepanza allora c'è un problema. Per entrambe le parti. E se non sono d'accordo su quale direzione il segnale debba cambiare, allora bisogna richiamare l'attenzione sulla discrepanza. E dirigere verso di essa le risorse del sistema, e così si può prestare attenzione alle novità, o alle sorprese, o ai problemi. Per esempio, a livello micro, se diciamo che c'è un neurone non accettato, i cui pesi verso l'esterno sono vicini allo zero, ecco che ha ricevuto in questo feedback negativo per diventare una funzione più utile e interessante. E se riceve costantemente feedback forti contrastanti, allora forse deve dividersi in due neuroni. E se i collegamenti di due neuroni sono troppo simili, allora forse devono unirsi in uno. Cioè possiamo modellare l'architettura in base ai feedback e alle discrepanze. E invece a livello macro, la cosa permette al sistema di cercare sorprese, ed esempi in cui ha sbagliato nel prevedere il futuro, e questa è la curiosità. Per esempio, se uno strato dall'alto ha sbagliato nel prevedere quello sotto, allora si continua a esplorare esempi simili, finché non si arriva a una soluzione. Perché il pensiero sistemico più corretto è su una rete che ha già imparato (molto). E poi continua a imparare un altro esempio, o si imbatte in un nuovo esempio che non si adatta al passato. Contrariamente al pensiero di oggi in cui la rete inizia a imparare dall'inizio tutti gli esempi (pensiero infantile). E quindi, quando abbiamo identificato un problema, lo spazio di ricerca dei parametri deve funzionare come una ricerca, e non solo come un'ottimizzazione - ma esplorazione. E proporre più innovazioni - nuove combinazioni. Nel momento in cui c'è una valutazione indipendente, in cui uno strato giudica quello sotto di esso usando una sua misura, e non solo secondo la direzione ricevuta da quello sopra (nella propagazione all'indietro), puoi anche eseguire una ricerca, e ridurre lo spazio di ricerca lungo tutto il percorso (cioè tra i vari strati, e così la ricerca non dovrà esplodere in infinite combinazioni in forza bruta). La prima generazione della ricerca sull'intelligenza artificiale era la ricerca (come paradigma algoritmico centrale, per esempio nell'inferenza logica), mentre oggi l'intelligenza artificiale fugge dalla ricerca come dal fuoco, e l'ha sostituita con l'ottimizzazione (nella regolazione di parametri continui e nella statistica), ma in futuro ci sarà una sintesi tra loro. Anche la ricerca ha qualcosa da offrire (e non solo da esplodere), se la si gestisce correttamente, e infatti molte volte nel cervello si esegue una ricerca, come anche nell'evoluzione, perché questo è un modo che permette innovazioni più creative - attraverso la combinazione e la sua valutazione. Dopotutto la philosophy-of-learning stessa sarebbe stata molto noiosa e adulatoria se fosse stata solo ottimizzazione di fronte alla sua funzione di valutazione, ed essere ricerca è ciò che la rende difficile e interessante - e creativa, nella sua lotta contro la sua valutazione. E perché l'evoluzione è più veloce della ricerca a forza bruta? Il successo dell'evoluzione deriva dalla capacità stessa di composizione, cioè all'inizio la ricerca è con combinazioni semplici, e poi, negli strati successivi, i passi di ricerca crescono, con combinazioni di parti complesse in sé stesse. E in ogni fase (cioè strato) c'è una valutazione indipendente della creatura. Così che non è forza bruta perché i passi precedenti nell'apprendimento influenzano i passi successivi, e li dirigono, e quindi la ricerca non è in tutto lo spazio delle possibilità, ma solo in un fascio progressivo. Se è così, il fenomeno della composizione e delle generazioni (=strati) è fondamentale nell'apprendimento. Cioè: sia nell'apprendimento profondo che nel cervello che nell'evoluzione che nella definizione dell'apprendimento generale, abbiamo una molteplicità di componenti che sono scatole nere, e ci sono tra loro collegamenti in costruzione (che bisogna caratterizzare in ogni caso particolare: nell'apprendimento profondo combinazioni lineari con un twist di non linearità, nell'evoluzione - accoppiamento, e così via in altri sistemi). Verso l'alto calcolano una funzione, con l'aiuto del basso. E verso il basso danno una valutazione (per esempio con l'aiuto del gradiente o forse scelta, per esempio nel partner, capisci?).
Filosofia dello studio delle reti
Cosa crea il feedback? In semplicità, equazioni differenziali parziali ed equazioni ricorsive, che sono in realtà meccanismi di feedback, e da qui i fenomeni della complessità e del caos. Quindi anche nel cervello, e nell'apprendimento in generale, i circuiti di feedback creeranno fenomeni simili, che sono quindi naturali per l'apprendimento, e non suoi difetti. Ma quali tipi di feedback ci sono? Ci sono meccanismi alternativi alla propagazione all'indietro del gradient descent (=discesa del gradiente, nell'ottimizzazione) nel trasferimento all'indietro della valutazione. Per esempio: aspirazione alla semplicità (la valutazione è secondo una misura di quanto è semplice, come secondo il rasoio di Occam). O aspirazione all'innovazione. O alla variabilità e alla diversità (una certa distribuzione). Ma la caratteristica più importante del feedback non è secondo cosa è, ma qual è la dimensione del circuito che crea, perché questa è una caratteristica sistemica. E qui spicca la debolezza della propagazione all'indietro, che crea un circuito di feedback enorme, che è molto artificiale in un sistema grande - e molto lento. Un'alternativa più ragionevole e quindi più comune sono i cicli di feedback brevi (non esiste alcun sistema di apprendimento al mondo al di fuori delle reti neurali artificiali che impara con la propagazione all'indietro). Per esempio nel cervello, ci sono molti collegamenti di ritorno tra gli strati dei neuroni, nella direzione opposta (che non esistono nell'apprendimento profondo). Ciò che manca oggi nella comprensione del cervello - e così anche nell'apprendimento profondo - è l'idea di competizione, e di diffusione di un'idea nella popolazione (che invece si adatta meglio alla regola b). Poiché in ogni fase, competono nel cervello diverse possibilità, diversi pensieri successivi, e ne viene scelto uno. Cioè c'è una competizione su qualche valutazione, che sceglie come continuare l'apprendimento. Cioè: l'importanza più grande del feedback è proprio nella competizione che crea (esattamente come nell'economia o nella democrazia, l'esistenza stessa del feedback è l'importante, anche se non è ideale). Ma in un circuito di feedback troppo grande tutto questo si perde o non è efficiente, rispetto alla competizione ravvicinata in circuiti piccoli. Anche nell'algoritmo PageRank di Google ci sono gli hub, che sono valutatori, e questa è in realtà la sua essenza - l'analisi del grafo in modo che parte dei vertici nella rete valutino altri (e a loro volta siano valutati da loro). Tutto questo è molto simile alle reti neurali, e così si crea competizione tra i siti sul ranking, e in generale competizione di qualità nella rete. E nella scienza? Ogni articolo cita altri, cioè questa è la valutazione nella rete, in cui non ci sono strati ma tutti sono collegati a tutti. E gli strati si creano secondo il tempo di pubblicazione (ogni articolo valuta quelli pubblicati prima di esso). Cioè abbiamo qui strati che valutano quelli prima di loro, e sono valutati da quelli dopo di loro, e così si crea la competizione, attraverso un meccanismo di rete molto semplice. In questi due casi non serve un grande circuito di feedback esterno dall'esterno per creare valutazione e competizione, ma la valutazione in essi si crea da sé stessi. Non serve necessariamente una forte valutazione esterna come nell'evoluzione per creare competizione, e questa è la chiave per l'apprendimento non supervisionato, che è l'apprendimento dominante nel cervello, e il grande difetto dell'apprendimento profondo, che ha bisogno di un'enorme quantità di esempi (tra l'altro, anche nell'evoluzione la principale competizione è per il partner, cioè sui piccoli circuiti di feedback, interni alla specie, e non contro la grande estinzione). Così vediamo che proprio nelle reti in cui non c'è una chiara valutazione esterna, per esempio in Facebook, nel mercato azionario, negli incontri, e negli articoli, è ancora possibile una forte competizione. In tali reti ricevi un numero, come prezzo o like o h-index o pagerank e ranking in Google, e la direzione su di te. Questo numero non ti dà alcuna direzione, ma solo una valutazione, e devi interpretarlo e capire da esso in quale direzione devi cambiare. E questo in contrasto con il gradiente che ti dirige nell'apprendimento profondo, che è una direzione che ti viene data dall'alto. E forse si può sostenere che il campo polinomiale è ciò che ha una direzione moderata, mentre NP è la classe dei problemi senza direzione, e non derivabile, ma caotica e non locale. Quindi bisogna imparare da NP che la valutazione non basta per l'apprendimento. Solo la direzione. Poiché NP è esattamente questo enorme circuito di feedback, dall'esterno, che si scopre non dare nulla all'apprendimento all'interno, che ci porterà alla soluzione. Non si può derivare da tale valutazione una direzione. Il polinomiale è il lamarckiano alternato, cioè decomponibile in ottimizzazione locale, cioè è costruzione+direzione? Nel cervello ancora non si sa come funziona l'apprendimento, ma nell'evoluzione sì, e vediamo che anche in essa c'è una caratteristica chiave: funzione di valutazione indipendente, che per questo ci sono due sessi. Cioè anche se c'è una forte valutazione esterna di vita e morte, perché l'apprendimento funzioni serve anche all'interno del sistema una valutazione interna indipendente, di sesso. Il grande circuito di feedback deve essere decomposto in circuiti di feedback più piccoli e più ravvicinati, che non sono solo una derivata, in entrambi i sensi, di esso. Anche in una rete culturale/politica/società per azioni/economia ci sono funzioni di valutazione indipendente. Ovvero: ci sono parti la cui unica funzione è questa. E allora c'è competizione su di essa, ovvero c'è duplicazione e ridondanza e varietà e diversità e confronto tra alternative (altrimenti perché esiste la ridondanza psichica in tutti i sistemi di apprendimento? perché ci sono così tanti neuroni nel cervello e geni nel genoma e organismi nella specie - e persone nello stato). Se è così, come funziona la valutazione interna? Come viene valutata essa stessa? Ebbene, ci sono semplicemente unità di valutazione indipendenti all'interno del sistema, che dirigono indipendentemente, e non solo un grande circuito complessivo di feedback. In generale, il feedback generale al sistema è raro e costoso, e quindi ci si affida a funzioni di valutazione secondarie. E semplicemente si imparano anche le funzioni di valutazione. E cosa succede in NP? Le valutazioni secondarie non hanno successo. In effetti, tutta l'idea dell'apprendimento per rinforzo dall'esterno del sistema come cosa che crea l'apprendimento del sistema (per esempio il comportamentismo) è un errore concettuale, la cui origine è in un'immagine filosofica semplicistica dell'apprendimento. Non abbiamo mai un feedback finale, tutto il conto non è ancora finito.
Filosofia delle reti neurali
Come aiutano ancora le valutazioni indipendenti, all'interno del sistema, in contrasto con la valutazione esterna, che viene dall'esterno del sistema per insegnare ad esso? Perché serve anche proteggere ciò che hai imparato prima da un nuovo apprendimento che lo cancella. E la valutazione interna protegge l'apprendimento che ha guidato dall'essere lavato via e eroso da direzioni esterne che lavano via tutto (come nella propagazione all'indietro). Così si può fare in modo che il nuovo feedback arrivi solo a qualcosa di nuovo, e sia incanalato nella sua direzione, e non nella direzione di tutto il vecchio, e aggiunga - e non cancelli. Ciò che permette la conservazione della memoria è proprio che non c'è apprendimento all'indietro. Per esempio che non è lamarckiano, ma apprendimento del DNA, cioè digitale e non solo analogico continuo (che viene tutto eroso con l'aiuto della derivata e convergenza nell'ottimizzazione). E questo permette anche la combinazione. Quando le valutazioni sono indipendenti, l'apprendimento va all'indietro solo uno strato alla volta. Lì avviene la magia, per esempio della complessità, semplicemente con l'aiuto di un altro strato. Anche nell'evoluzione - è sempre una generazione. La propagazione all'indietro (back-propagation) è la radice del male, che ha trasformato tutto il campo dell'apprendimento profondo in forza bruta, scatola nera e quindi in ingegneria e non scienza. Tutti i fenomeni problematici derivano da esso. E non esiste alcun sistema naturale che impara così. Il catastrophic forgetting (il fenomeno in cui una rete profonda dimentica ciò che ha imparato se le vengono dati ora esempi di un altro tipo) e l'incapacità di collegare blocchi di costruzione in modo buono nell'apprendimento profondo sarebbero stati evitati se avessimo scelto un modello come quello presentato qui all'inizio, di insegnante e di costruzione. La dimenticanza catastrofica è in realtà perché non c'è affatto memoria, ma solo azione o apprendimento. Quindi serve una memoria che sia resistente all'apprendimento, cioè: casi in cui la rete decide che ha imparato qualcosa di utile, o un certo concetto, e lo conserva separatamente dal continuo cambiamento (o rallenta molto rispetto ad esso la capacità di cambiamento). Quindi serve un modo per rafforzare ciò che hai fatto e non solo non cambiarlo, ma che ci sia un parametro di fiducia per ogni parametro, che si rafforza ogni volta che hai avuto successo (cioè quando non c'è quasi derivata di cambiamento per la direzione del parametro, che anche questa è un'informazione di valore, che oggi va più o meno persa, anche se influenza parzialmente negli algoritmi di ottimizzazione del gradient descent, per esempio nel momentum). Ricordare è la capacità di non imparare. Per imparare qualcosa qualsiasi che persista serve la capacità di non imparare, e di non essere influenzato da ogni nuova informazione come una banderuola di direzioni. Ogni cambiamento nel meccanismo della propagazione all'indietro è molto più fondamentale di altri cambiamenti nell'apprendimento profondo, perché questo è il metodo, il meccanismo di apprendimento. E lì si può correggerlo. E il ruolo della philosophy-of-learning è analizzare questa analisi concettuale profonda (cosa che quasi non fa oggi, e quindi nessuno paga i filosofi, nonostante l'enorme valore che possono fornire).
La philosophy-of-learning dell'apprendimento profondo: riassunto
Quindi, ciò che serve è un modello in cui tutto ciò che scende verso il basso (le valutazioni) è collegato in una rete di valutazione profonda, e ogni strato in essa ha uscite e entrate verso ciò che accade nella rete profonda normale, cioè allo strato parallelo nella rete calcolante, che sale verso l'alto. L'ingresso alla rete di valutazione dalla rete calcolante è l'output di uno strato della rete calcolante, che viene trasferito alla rete di valutazione - per la sua valutazione. E invece l'uscita dalla rete valutatrice verso la rete calcolante è l'output della sua valutazione - che è direzione. Sì, è completamente simmetrico da entrambe le direzioni. E quindi molto più generale. Una rete che sale verso l'alto e di fronte ad essa una rete parallela completamente che scende verso il basso. E nel caso particolare in cui hanno esattamente la stessa struttura, allora in effetti ogni neurone ha pesi doppi, verso il basso e verso l'alto, per il loro aggiornamento. Cioè si può pensare a questo come a una rete unica (doppia azione), ma forse è meglio dare alla rete valutatrice indipendenza nell'architettura, cioè due reti che fanno controllo una sull'altra. E cosa significa tutto questo per NP? La definizione dell'apprendimento qui è come decomposizione in strati di valutatore e valutati, insegnante e studenti. E la domanda è se esiste tale decomposizione, o no, per un problema, dove ogni algoritmo polinomiale è tale decomposizione. Cioè, questa è una definizione diversa per l'apprendimento rispetto a quella che abbiamo visto nella philosophy-of-learning dell'informatica, e forse è più adatta per trattare il problema fondamentale di queste scienze. E io, ho già superato la fase della mia vita in cui sono in grado di prendere questi pensieri e renderli formali - ma forse tu sarai in grado.